     $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