C64 ROM | Routines |
Prev: A435 | Up: Map | Next: A469 |
Used by the routine at E37B.
the error message vector is initialised to point here
|
||||
A43A | 8A | TXA | copy error number | |
A43B | 0A | ASL A | *2 | |
A43C | AA | TAX | copy to index | |
A43D | BD 26 A3 | LDA $A326,X | get error message pointer low byte | |
A440 | 85 22 | STA $22 | save it | |
A442 | BD 27 A3 | LDA $A327,X | get error message pointer high byte | |
A445 | 85 23 | STA $23 | save it | |
A447 | 20 CC FF | JSR $FFCC | close input and output channels | |
A44A | A9 00 | LDA #$00 | clear A | |
A44C | 85 13 | STA $13 | clear current I/O channel, flag default | |
A44E | 20 D7 AA | JSR $AAD7 | print CR/LF | |
A451 | 20 45 AB | JSR $AB45 | print "?" | |
A454 | A0 00 | LDY #$00 | clear index | |
A456 | B1 22 | LDA ($22),Y | get byte from message | |
A458 | 48 | PHA | save status | |
A459 | 29 7F | AND #%01111111 | mask 0xxx xxxx, clear b7 | |
A45B | 20 47 AB | JSR $AB47 | output character | |
A45E | C8 | INY | increment index | |
A45F | 68 | PLA | restore status | |
A460 | 10 F4 | BPL $A456 | loop if character was not end marker | |
A462 | 20 7A A6 | JSR $A67A | flush BASIC stack and clear continue pointer | |
A465 | A9 69 | LDA #$69 | set " ERROR" pointer low byte | |
A467 | A0 A3 | LDY #$A3 | set " ERROR" pointer high byte |
Prev: A435 | Up: Map | Next: A469 |