$FBCD/64461:   IRQ Entry Point

FBCD: A5 A8     LDA $A8       ; RS232 Input Bit count/Tape temporary
FBCF: D0 12     BNE $FBE3
FBD1: A9 10     LDA #$10
FBD3: A2 01     LDX #$01
FBD5: 20 B1 FB  JSR $FBB1     ; Send Tone to Tape
FBD8: D0 2F     BNE $FC09
FBDA: E6 A8     INC $A8       ; RS232 Input Bit count/Tape temporary
FBDC: A5 B6     LDA $B6       ; RS232 Output Byte Buffer/Tape Read Error Flag
FBDE: 10 29     BPL $FC09
FBE0: 4C 57 FC  JMP $FC57     ; Write Tape Leader

Jump from $FBCF:

FBE3: A5 A9     LDA $A9       ; RS232 Flag: Start Bit check/Tape temporary
FBE5: D0 09     BNE $FBF0
FBE7: 20 AD FB  JSR $FBAD     ; Send Tone to Tape
FBEA: D0 1D     BNE $FC09
FBEC: E6 A9     INC $A9       ; RS232 Flag: Start Bit check/Tape temporary
FBEE: D0 19     BNE $FC09

Jump from $FBE5:

FBF0: 20 A6 FB  JSR $FBA6     ; Send Tone to Tape
FBF3: D0 14     BNE $FC09
FBF5: A5 A4     LDA $A4       ; Serial Bus shift Counter
FBF7: 49 01     EOR #$01
FBF9: 85 A4     STA $A4       ; Serial Bus shift Counter
FBFB: F0 0F     BEQ $FC0C
FBFD: A5 BD     LDA $BD       ; RS232 Output Parity/Tape Byte temporary
FBFF: 49 01     EOR #$01
FC01: 85 BD     STA $BD       ; RS232 Output Parity/Tape Byte temporary
FC03: 29 01     AND #$01
FC05: 45 9B     EOR $9B       ; Parity of Byte Output to Tape
FC07: 85 9B     STA $9B       ; Parity of Byte Output to Tape

Jump from $FBD8, $FBDE, $FBEA, $FBEE, $FBF3, $FC14, $FC2E, $FC3D, $FC4C, $FBCB:

FC09: 4C BC FE  JMP $FEBC     ; Exit Interrupt

Jump from $FBFB:

FC0C: 46 BD     LSR $BD       ; RS232 Output Parity/Tape Byte temporary
FC0E: C6 A3     DEC $A3       ; Serial Bus EOI (End Of Input) Flag
FC10: A5 A3     LDA $A3       ; Serial Bus EOI (End Of Input) Flag
FC12: F0 3A     BEQ $FC4E
FC14: 10 F3     BPL $FC09

Jump from $FC91:

FC16: 20 97 FB  JSR $FB97     ; New Character Setup
FC19: 58        CLI
FC1A: A5 A5     LDA $A5       ; Tape Synchronising count down
FC1C: F0 12     BEQ $FC30
FC1E: A2 00     LDX #$00
FC20: 86 D7     STX $D7       ; Current Input Character/Last Character Output
FC22: C6 A5     DEC $A5       ; Tape Synchronising count down
FC24: A6 BE     LDX $BE       ; Tape Input/Output Block count
FC26: E0 02     CPX #$02
FC28: D0 02     BNE $FC2C
FC2A: 09 80     ORA #$80

Jump from $FC28:

FC2C: 85 BD     STA $BD       ; RS232 Output Parity/Tape Byte temporary
FC2E: D0 D9     BNE $FC09

Jump from $FC1C:

FC30: 20 D1 FC  JSR $FCD1     ; Check Read / Write Pointer
FC33: 90 0A     BCC $FC3F
FC35: D0 91     BNE $FBC8     ; Write Data to Tape
FC37: E6 AD     INC $AD       ; Pointer: Tape Buffer/Screen scrolling
FC39: A5 D7     LDA $D7       ; Current Input Character/Last Character Output
FC3B: 85 BD     STA $BD       ; RS232 Output Parity/Tape Byte temporary
FC3D: B0 CA     BCS $FC09

Jump from $FC33:

FC3F: A0 00     LDY #$00
FC41: B1 AC     LDA ($AC),Y   ; Pointer: Tape Buffer/Screen scrolling
FC43: 85 BD     STA $BD       ; RS232 Output Parity/Tape Byte temporary
FC45: 45 D7     EOR $D7       ; Current Input Character/Last Character Output
FC47: 85 D7     STA $D7       ; Current Input Character/Last Character Output
FC49: 20 DB FC  JSR $FCDB     ; Bump Read / Write Pointer
FC4C: D0 BB     BNE $FC09

Jump from $FC12:

FC4E: A5 9B     LDA $9B       ; Parity of Byte Output to Tape
FC50: 49 01     EOR #$01
FC52: 85 BD     STA $BD       ; RS232 Output Parity/Tape Byte temporary

Jump from $FC68, $FC6F, $FC73, $FC7A, $FCBB:

FC54: 4C BC FE  JMP $FEBC     ; Exit Interrupt

    Previous Page / Next Page