$E706/59142: Write error message string to buffer
Jump from $E6E0, $E75F:
E706: AA TAX ; error code to X
E707: A5 86 LDA $86
E709: 48 PHA ; preserve pointer $86/$87
E70A: A5 87 LDA $87
E70C: 48 PHA
E70D: A9 FC LDA #$FC
E70F: 85 86 STA $86
E711: A9 E4 LDA #$E4 ; start of the error messages
E713: 85 87 STA $87 ; E4FC
E715: 8A TXA ; error number in accumulator
E716: A2 00 LDX #$00
Jump from $E736:
E718: C1 86 CMP ($86,X) ; compare with error number in table
E71A: F0 21 BEQ $E73D
E71C: 48 PHA
E71D: 20 75 E7 JSR $E775 ; bit 7 into carry and erase
E720: 90 05 BCC $E727 ; not set?
Jump from $E725:
E722: 20 75 E7 JSR $E775 ; bit 7 into carry
E725: 90 FB BCC $E722 ; wait for character with bit 7 set
Jump from $E720:
E727: A5 87 LDA $87
E729: C9 E6 CMP #$E6
E72B: 90 08 BCC $E735 ; $E60A, check to end of table
E72D: D0 0A BNE $E739
E72F: A9 0A LDA #$0A
E731: C5 86 CMP $86
E733: 90 04 BCC $E739
Jump from $E72B:
E735: 68 PLA
E736: 4C 18 E7 JMP $E718 ; no, continue
Jump from $E72D, $E733:
E739: 68 PLA
E73A: 4C 4D E7 JMP $E74D ; done
Jump from $E71A, $E740:
E73D: 20 67 E7 JSR $E767 ; get a character, bit 7 in carry
E740: 90 FB BCC $E73D ; wait for character with bit 7 set
Jump from $E748:
E742: 20 54 E7 JSR $E754 ; and write in buffer
E745: 20 67 E7 JSR $E767 ; get next character
E748: 90 F8 BCC $E742 ; wait for character with bit 7 set
E74A: 20 54 E7 JSR $E754 ; put character in buffer
Jump from $E73A:
E74D: 68 PLA
E74E: 85 87 STA $87
E750: 68 PLA ; get pointer $86/$87 back
E751: 85 86 STA $86
E753: 60 RTS
Previous Page / Next Page