$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