C64 ROM | Routines |
Prev: ABB5 | Up: Map | Next: ABF9 |
|
||||
ABBF | C9 22 | CMP #$22 | compare next byte with open quote | |
ABC1 | D0 0B | BNE $ABCE | if no prompt string just do INPUT | |
ABC3 | 20 BD AE | JSR $AEBD | print "..." string | |
ABC6 | A9 3B | LDA #";" | load A with ";" | |
ABC8 | 20 FF AE | JSR $AEFF | scan for CHR$(A), else do syntax error then warm start | |
ABCB | 20 21 AB | JSR $AB21 | print string from utility pointer | |
This entry point is used by the routine at ABA5.
done with prompt, now get data
|
||||
ABCE | 20 A6 B3 | JSR $B3A6 | check not Direct, back here if ok | |
ABD1 | A9 2C | LDA #"," | set "," | |
ABD3 | 8D FF 01 | STA $01FF | save to start of buffer - 1 | |
ABD6 | 20 F9 AB | JSR $ABF9 | print "? " and get BASIC input | |
ABD9 | A5 13 | LDA $13 | get current I/O channel | |
ABDB | F0 0D | BEQ $ABEA | branch if default I/O channel | |
ABDD | 20 B7 FF | JSR $FFB7 | read I/O status word | |
ABE0 | 29 02 | AND #%00000010 | mask no DSR/timeout | |
ABE2 | F0 06 | BEQ $ABEA | branch if not error | |
ABE4 | 20 B5 AB | JSR $ABB5 | close input and output channels | |
ABE7 | 4C F8 A8 | JMP $A8F8 | perform DATA | |
ABEA | AD 00 02 | LDA $0200 | get first byte in input buffer | |
ABED | D0 1E | BNE $AC0D | branch if not null | |
else ..
|
||||
ABEF | A5 13 | LDA $13 | get current I/O channel | |
ABF1 | D0 E3 | BNE $ABD6 | if not default channel go get BASIC input | |
ABF3 | 20 06 A9 | JSR $A906 | scan for next BASIC statement ([:] or [EOL]) | |
ABF6 | 4C FB A8 | JMP $A8FB | add Y to the BASIC execute pointer and return |
Prev: ABB5 | Up: Map | Next: ABF9 |