$F92C/63788: Read Tape Bits Jump from $F938: F92C: AE 07 DC LDX $DC07 ; CIA1: Timer B High-Byte (Tape, Serial Port) F92F: A0 FF LDY #$FF F931: 98 TYA F932: ED 06 DC SBC $DC06 ; CIA1: Timer B Low-Byte (Tape, Serial Port) F935: EC 07 DC CPX $DC07 ; CIA1: Timer B High-Byte (Tape, Serial Port) F938: D0 F2 BNE $F92C F93A: 86 B1 STX $B1 ; Tape timing Constants F93C: AA TAX F93D: 8C 06 DC STY $DC06 ; CIA1: Timer B Low-Byte (Tape, Serial Port) F940: 8C 07 DC STY $DC07 ; CIA1: Timer B High-Byte (Tape, Serial Port) F943: A9 19 LDA #$19 F945: 8D 0F DC STA $DC0F ; CIA1: Control Register B F948: AD 0D DC LDA $DC0D ; CIA1: Interrupt (IRQ) Control Register F94B: 8D A3 02 STA $02A3 ; Temporary storage during Tape READ F94E: 98 TYA F94F: E5 B1 SBC $B1 ; Tape timing Constants F951: 86 B1 STX $B1 ; Tape timing Constants F953: 4A LSR F954: 66 B1 ROR $B1 ; Tape timing Constants F956: 4A LSR F957: 66 B1 ROR $B1 ; Tape timing Constants F959: A5 B0 LDA $B0 ; Tape timing Constants F95B: 18 CLC F95C: 69 3C ADC #$3C F95E: C5 B1 CMP $B1 ; Tape timing Constants F960: B0 4A BCS $F9AC F962: A6 9C LDX $9C ; Flag: Byte received from Tape F964: F0 03 BEQ $F969 F966: 4C 60 FA JMP $FA60 ; Store Tape Characters Jump from $F964: F969: A6 A3 LDX $A3 ; Serial Bus EOI (End Of Input) Flag F96B: 30 1B BMI $F988 F96D: A2 00 LDX #$00 F96F: 69 30 ADC #$30 F971: 65 B0 ADC $B0 ; Tape timing Constants F973: C5 B1 CMP $B1 ; Tape timing Constants F975: B0 1C BCS $F993 F977: E8 INX F978: 69 26 ADC #$26 F97A: 65 B0 ADC $B0 ; Tape timing Constants F97C: C5 B1 CMP $B1 ; Tape timing Constants F97E: B0 17 BCS $F997 F980: 69 2C ADC #$2C F982: 65 B0 ADC $B0 ; Tape timing Constants F984: C5 B1 CMP $B1 ; Tape timing Constants F986: 90 03 BCC $F98B Jump from $F96B, $F9C7: F988: 4C 10 FA JMP $FA10 Jump from $F986, $F9D0, $F9E9: F98B: A5 B4 LDA $B4 ; RS232 Write bit count/Tape Read timing Flag F98D: F0 1D BEQ $F9AC F98F: 85 A8 STA $A8 ; RS232 Input Bit count/Tape temporary F991: D0 19 BNE $F9AC Jump from $F975: F993: E6 A9 INC $A9 ; RS232 Flag: Start Bit check/Tape temporary F995: B0 02 BCS $F999 Jump from $F97E, $FA1C: F997: C6 A9 DEC $A9 ; RS232 Flag: Start Bit check/Tape temporary Jump from $F995: F999: 38 SEC F99A: E9 13 SBC #$13 F99C: E5 B1 SBC $B1 ; Tape timing Constants F99E: 65 92 ADC $92 ; Timing Constant for Tape F9A0: 85 92 STA $92 ; Timing Constant for Tape F9A2: A5 A4 LDA $A4 ; Serial Bus shift Counter F9A4: 49 01 EOR #$01 F9A6: 85 A4 STA $A4 ; Serial Bus shift Counter F9A8: F0 2B BEQ $F9D5 F9AA: 86 D7 STX $D7 ; Current Input Character/Last Character Output Jump from $F960, $F98D, $F991, $F9ED, $F9F1, $F9F5: F9AC: A5 B4 LDA $B4 ; RS232 Write bit count/Tape Read timing Flag F9AE: F0 22 BEQ $F9D2 F9B0: AD A3 02 LDA $02A3 ; Temporary storage during Tape READ F9B3: 29 01 AND #$01 F9B5: D0 05 BNE $F9BC F9B7: AD A4 02 LDA $02A4 ; Temporary D1IRQ Indicator during Tape READ F9BA: D0 16 BNE $F9D2 Jump from $F9B5: F9BC: A9 00 LDA #$00 F9BE: 85 A4 STA $A4 ; Serial Bus shift Counter F9C0: 8D A4 02 STA $02A4 ; Temporary D1IRQ Indicator during Tape READ F9C3: A5 A3 LDA $A3 ; Serial Bus EOI (End Of Input) Flag F9C5: 10 30 BPL $F9F7 F9C7: 30 BF BMI $F988 Jump from $FA02: F9C9: A2 A6 LDX #$A6 F9CB: 20 E2 F8 JSR $F8E2 ; Set Read Timing F9CE: A5 9B LDA $9B ; Parity of Byte Output to Tape F9D0: D0 B9 BNE $F98B Jump from $F9AE, $F9BA, $F9FE: F9D2: 4C BC FE JMP $FEBC ; Exit Interrupt Jump from $F9A8: F9D5: A5 92 LDA $92 ; Timing Constant for Tape F9D7: F0 07 BEQ $F9E0 F9D9: 30 03 BMI $F9DE F9DB: C6 B0 DEC $B0 ; Tape timing Constants F9DD: 2C .BYTE $2C Jump from $F9D9: F9DE: E6 B0 INC $B0 ; Tape timing Constants Jump from $F9D7: F9E0: A9 00 LDA #$00 F9E2: 85 92 STA $92 ; Timing Constant for Tape F9E4: E4 D7 CPX $D7 ; Current Input Character/Last Character Output F9E6: D0 0F BNE $F9F7 F9E8: 8A TXA F9E9: D0 A0 BNE $F98B F9EB: A5 A9 LDA $A9 ; RS232 Flag: Start Bit check/Tape temporary F9ED: 30 BD BMI $F9AC F9EF: C9 10 CMP #$10 F9F1: 90 B9 BCC $F9AC F9F3: 85 96 STA $96 ; Cassette Sync number F9F5: B0 B5 BCS $F9AC Jump from $F9C5, $F9E6: F9F7: 8A TXA F9F8: 45 9B EOR $9B ; Parity of Byte Output to Tape F9FA: 85 9B STA $9B ; Parity of Byte Output to Tape F9FC: A5 B4 LDA $B4 ; RS232 Write bit count/Tape Read timing Flag F9FE: F0 D2 BEQ $F9D2 FA00: C6 A3 DEC $A3 ; Serial Bus EOI (End Of Input) Flag FA02: 30 C5 BMI $F9C9 FA04: 46 D7 LSR $D7 ; Current Input Character/Last Character Output FA06: 66 BF ROR $BF ; Serial Word Buffer FA08: A2 DA LDX #$DA FA0A: 20 E2 F8 JSR $F8E2 ; Set Read Timing FA0D: 4C BC FE JMP $FEBC ; Exit Interrupt Jump from $F988: FA10: A5 96 LDA $96 ; Cassette Sync number FA12: F0 04 BEQ $FA18 FA14: A5 B4 LDA $B4 ; RS232 Write bit count/Tape Read timing Flag FA16: F0 07 BEQ $FA1F Jump from $FA12: FA18: A5 A3 LDA $A3 ; Serial Bus EOI (End Of Input) Flag FA1A: 30 03 BMI $FA1F FA1C: 4C 97 F9 JMP $F997 Jump from $FA16, $FA1A: FA1F: 46 B1 LSR $B1 ; Tape timing Constants FA21: A9 93 LDA #$93 FA23: 38 SEC FA24: E5 B1 SBC $B1 ; Tape timing Constants FA26: 65 B0 ADC $B0 ; Tape timing Constants FA28: 0A ASL FA29: AA TAX FA2A: 20 E2 F8 JSR $F8E2 ; Set Read Timing FA2D: E6 9C INC $9C ; Flag: Byte received from Tape FA2F: A5 B4 LDA $B4 ; RS232 Write bit count/Tape Read timing Flag FA31: D0 11 BNE $FA44 FA33: A5 96 LDA $96 ; Cassette Sync number FA35: F0 26 BEQ $FA5D FA37: 85 A8 STA $A8 ; RS232 Input Bit count/Tape temporary FA39: A9 00 LDA #$00 FA3B: 85 96 STA $96 ; Cassette Sync number FA3D: A9 81 LDA #$81 FA3F: 8D 0D DC STA $DC0D ; CIA1: Interrupt (IRQ) Control Register FA42: 85 B4 STA $B4 ; RS232 Write bit count/Tape Read timing Flag Jump from $FA31: FA44: A5 96 LDA $96 ; Cassette Sync number FA46: 85 B5 STA $B5 ; RS232 Next Bit to send/Tape Read - End of Tape FA48: F0 09 BEQ $FA53 FA4A: A9 00 LDA #$00 FA4C: 85 B4 STA $B4 ; RS232 Write bit count/Tape Read timing Flag FA4E: A9 01 LDA #$01 FA50: 8D 0D DC STA $DC0D ; CIA1: Interrupt (IRQ) Control Register Jump from $FA48: FA53: A5 BF LDA $BF ; Serial Word Buffer FA55: 85 BD STA $BD ; RS232 Output Parity/Tape Byte temporary FA57: A5 A8 LDA $A8 ; RS232 Input Bit count/Tape temporary FA59: 05 A9 ORA $A9 ; RS232 Flag: Start Bit check/Tape temporary FA5B: 85 B6 STA $B6 ; RS232 Output Byte Buffer/Tape Read Error Flag Jump from $FA35: FA5D: 4C BC FE JMP $FEBC ; Exit Interrupt Previous Page / Next Page |