Prev: ABB5 Up: Map Next: ABF9
ABBF: perform INPUT
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