| C64 ROM | Routines |
| Prev: AAD7 | Up: Map | Next: AB1E |
|
Used by the routine at AAA0.
|
||||
| AAE8 | 38 | SEC | set Cb for read cursor position | |
| AAE9 | 20 F0 FF | JSR $FFF0 | read/set X,Y cursor position | |
| AAEC | 98 | TYA | copy cursor Y | |
| AAED | 38 | SEC | set carry for subtract | |
| AAEE | E9 0A | SBC #$0A | subtract one TAB length | |
| AAF0 | B0 FC | BCS $AAEE | loop if result was +ve | |
| AAF2 | 49 FF | EOR #$FF | complement it | |
| AAF4 | 69 01 | ADC #$01 | +1, twos complement | |
| AAF6 | D0 16 | BNE $AB0E | always print A spaces, result is never $00 | |
|
This entry point is used by the routine at AAA0.
|
||||
| AAF8 | 08 | PHP | save TAB( or SPC( status | |
| AAF9 | 38 | SEC | set Cb for read cursor position | |
| AAFA | 20 F0 FF | JSR $FFF0 | read/set X,Y cursor position | |
| AAFD | 84 09 | STY $09 | save current cursor position | |
| AAFF | 20 9B B7 | JSR $B79B | scan and get byte parameter | |
| AB02 | C9 29 | CMP #")" | compare with ")" | |
| AB04 | D0 59 | BNE $AB5F | if not ")" do syntax error | |
| AB06 | 28 | PLP | restore TAB( or SPC( status | |
| AB07 | 90 06 | BCC $AB0F | branch if was SPC( | |
|
else was TAB(
|
||||
| AB09 | 8A | TXA | copy TAB() byte to A | |
| AB0A | E5 09 | SBC $09 | subtract current cursor position | |
| AB0C | 90 05 | BCC $AB13 | go loop for next if already past requited position | |
| AB0E | AA | TAX | copy [SPACE] count to X | |
| AB0F | E8 | INX | increment count | |
| AB10 | CA | DEX | decrement count | |
| AB11 | D0 06 | BNE $AB19 | branch if count was not zero | |
|
This entry point is used by the routine at AAA0.
was ";" or [SPACES] printed
|
||||
| AB13 | 20 73 00 | JSR $0073 | increment and scan memory | |
| AB16 | 4C A2 AA | JMP $AAA2 | continue print loop | |
| AB19 | 20 3B AB | JSR $AB3B | print [SPACE] or [CURSOR RIGHT] | |
| AB1C | D0 F2 | BNE $AB10 | loop, branch always | |
| Prev: AAD7 | Up: Map | Next: AB1E |