C64 ROM | Routines |
Prev: E566 | Up: Map | Next: E591 |
E56C | A6 D6 | LDX $D6 | get the cursor row | |
E56E | A5 D3 | LDA $D3 | get the cursor column | |
E570 | B4 D9 | LDY $D9,X | get start of line X pointer high byte | |
E572 | 30 08 | BMI $E57C | if it is the logical line start continue | |
E574 | 18 | CLC | else clear carry for add | |
E575 | 69 28 | ADC #$28 | add one line length | |
E577 | 85 D3 | STA $D3 | save the cursor column | |
E579 | CA | DEX | decrement the cursor row | |
E57A | 10 F4 | BPL $E570 | loop, branch always | |
E57C | 20 F0 E9 | JSR $E9F0 | fetch a screen address | |
E57F | A9 27 | LDA #$27 | set the line length | |
E581 | E8 | INX | increment the cursor row | |
E582 | B4 D9 | LDY $D9,X | get the start of line X pointer high byte | |
E584 | 30 06 | BMI $E58C | if logical line start exit | |
E586 | 18 | CLC | else clear carry for add | |
E587 | 69 28 | ADC #$28 | add one line length to the current line length | |
E589 | E8 | INX | increment the cursor row | |
E58A | 10 F6 | BPL $E582 | loop, branch always | |
E58C | 85 D5 | STA $D5 | save current screen line length | |
E58E | 4C 24 EA | JMP $EA24 | calculate the pointer to colour RAM and return |
Prev: E566 | Up: Map | Next: E591 |