$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 |