$FA60/64096: Store Tape Characters Jump from $F966: FA60: 20 97 FB JSR $FB97 ; New Character Setup FA63: 85 9C STA $9C ; Flag: Byte received from Tape FA65: A2 DA LDX #$DA FA67: 20 E2 F8 JSR $F8E2 ; Set Read Timing FA6A: A5 BE LDA $BE ; Tape Input/Output Block count FA6C: F0 02 BEQ $FA70 FA6E: 85 A7 STA $A7 ; Tape temporary Jump from $FA6C: FA70: A9 0F LDA #$0F FA72: 24 AA BIT $AA ; RS232 Input Byte Buffer/Tape temporary FA74: 10 17 BPL $FA8D FA76: A5 B5 LDA $B5 ; RS232 Next Bit to send/Tape Read - End of Tape FA78: D0 0C BNE $FA86 FA7A: A6 BE LDX $BE ; Tape Input/Output Block count FA7C: CA DEX FA7D: D0 0B BNE $FA8A FA7F: A9 08 LDA #$08 FA81: 20 1C FE JSR $FE1C ; Control OS Messages FA84: D0 04 BNE $FA8A Jump from $FA78: FA86: A9 00 LDA #$00 FA88: 85 AA STA $AA ; RS232 Input Byte Buffer/Tape temporary Jump from $FA7D, $FA84, $FA93, $FA97, $FAAB, $FAB8, $FABE: FA8A: 4C BC FE JMP $FEBC ; Exit Interrupt Jump from $FA74: FA8D: 70 31 BVS $FAC0 FA8F: D0 18 BNE $FAA9 FA91: A5 B5 LDA $B5 ; RS232 Next Bit to send/Tape Read - End of Tape FA93: D0 F5 BNE $FA8A FA95: A5 B6 LDA $B6 ; RS232 Output Byte Buffer/Tape Read Error Flag FA97: D0 F1 BNE $FA8A FA99: A5 A7 LDA $A7 ; Tape temporary FA9B: 4A LSR FA9C: A5 BD LDA $BD ; RS232 Output Parity/Tape Byte temporary FA9E: 30 03 BMI $FAA3 FAA0: 90 18 BCC $FABA FAA2: 18 CLC Jump from $FA9E: FAA3: B0 15 BCS $FABA FAA5: 29 0F AND #$0F FAA7: 85 AA STA $AA ; RS232 Input Byte Buffer/Tape temporary Jump from $FA8F: FAA9: C6 AA DEC $AA ; RS232 Input Byte Buffer/Tape temporary FAAB: D0 DD BNE $FA8A FAAD: A9 40 LDA #$40 FAAF: 85 AA STA $AA ; RS232 Input Byte Buffer/Tape temporary FAB1: 20 8E FB JSR $FB8E ; Reset Tape Pointer FAB4: A9 00 LDA #$00 FAB6: 85 AB STA $AB ; RS232 Input parity/Tape temporary FAB8: F0 D0 BEQ $FA8A Jump from $FAA0, $FAA3: FABA: A9 80 LDA #$80 FABC: 85 AA STA $AA ; RS232 Input Byte Buffer/Tape temporary FABE: D0 CA BNE $FA8A Jump from $FA8D: FAC0: A5 B5 LDA $B5 ; RS232 Next Bit to send/Tape Read - End of Tape FAC2: F0 0A BEQ $FACE FAC4: A9 04 LDA #$04 FAC6: 20 1C FE JSR $FE1C ; Control OS Messages FAC9: A9 00 LDA #$00 FACB: 4C 4A FB JMP $FB4A Jump from $FAC2: FACE: 20 D1 FC JSR $FCD1 ; Check Read / Write Pointer FAD1: 90 03 BCC $FAD6 FAD3: 4C 48 FB JMP $FB48 Jump from $FAD1: FAD6: A6 A7 LDX $A7 ; Tape temporary FAD8: CA DEX FAD9: F0 2D BEQ $FB08 FADB: A5 93 LDA $93 ; Flag: 0 = Load, 1 = Verify FADD: F0 0C BEQ $FAEB FADF: A0 00 LDY #$00 FAE1: A5 BD LDA $BD ; RS232 Output Parity/Tape Byte temporary FAE3: D1 AC CMP ($AC),Y ; Pointer: Tape Buffer/Screen scrolling FAE5: F0 04 BEQ $FAEB FAE7: A9 01 LDA #$01 FAE9: 85 B6 STA $B6 ; RS232 Output Byte Buffer/Tape Read Error Flag Jump from $FADD, $FAE5: FAEB: A5 B6 LDA $B6 ; RS232 Output Byte Buffer/Tape Read Error Flag FAED: F0 4B BEQ $FB3A FAEF: A2 3D LDX #$3D FAF1: E4 9E CPX $9E ; Tape Error log pass 1 FAF3: 90 3E BCC $FB33 FAF5: A6 9E LDX $9E ; Tape Error log pass 1 FAF7: A5 AD LDA $AD ; Pointer: Tape Buffer/Screen scrolling FAF9: 9D 01 01 STA $0101,X ; 6510 Hardware Stack Area FAFC: A5 AC LDA $AC ; Pointer: Tape Buffer/Screen scrolling FAFE: 9D 00 01 STA $0100,X ; 6510 Hardware Stack Area FB01: E8 INX FB02: E8 INX FB03: 86 9E STX $9E ; Tape Error log pass 1 FB05: 4C 3A FB JMP $FB3A Jump from $FAD9: FB08: A6 9F LDX $9F ; Tape Error log pass 2 FB0A: E4 9E CPX $9E ; Tape Error log pass 1 FB0C: F0 35 BEQ $FB43 FB0E: A5 AC LDA $AC ; Pointer: Tape Buffer/Screen scrolling FB10: DD 00 01 CMP $0100,X ; 6510 Hardware Stack Area FB13: D0 2E BNE $FB43 FB15: A5 AD LDA $AD ; Pointer: Tape Buffer/Screen scrolling FB17: DD 01 01 CMP $0101,X ; 6510 Hardware Stack Area FB1A: D0 27 BNE $FB43 FB1C: E6 9F INC $9F ; Tape Error log pass 2 FB1E: E6 9F INC $9F ; Tape Error log pass 2 FB20: A5 93 LDA $93 ; Flag: 0 = Load, 1 = Verify FB22: F0 0B BEQ $FB2F FB24: A5 BD LDA $BD ; RS232 Output Parity/Tape Byte temporary FB26: A0 00 LDY #$00 FB28: D1 AC CMP ($AC),Y ; Pointer: Tape Buffer/Screen scrolling FB2A: F0 17 BEQ $FB43 FB2C: C8 INY FB2D: 84 B6 STY $B6 ; RS232 Output Byte Buffer/Tape Read Error Flag Jump from $FB22: FB2F: A5 B6 LDA $B6 ; RS232 Output Byte Buffer/Tape Read Error Flag FB31: F0 07 BEQ $FB3A Jump from $FAF3: FB33: A9 10 LDA #$10 FB35: 20 1C FE JSR $FE1C ; Control OS Messages FB38: D0 09 BNE $FB43 Jump from $FAED, $FB05, $FB31: FB3A: A5 93 LDA $93 ; Flag: 0 = Load, 1 = Verify FB3C: D0 05 BNE $FB43 FB3E: A8 TAY FB3F: A5 BD LDA $BD ; RS232 Output Parity/Tape Byte temporary FB41: 91 AC STA ($AC),Y ; Pointer: Tape Buffer/Screen scrolling Jump from $FB0C, $FB13, $FB1A, $FB2A, $FB38, $FB3C: FB43: 20 DB FC JSR $FCDB ; Bump Read / Write Pointer FB46: D0 43 BNE $FB8B Jump from $FAD3: FB48: A9 80 LDA #$80 Jump from $FACB: FB4A: 85 AA STA $AA ; RS232 Input Byte Buffer/Tape temporary FB4C: 78 SEI FB4D: A2 01 LDX #$01 FB4F: 8E 0D DC STX $DC0D ; CIA1: Interrupt (IRQ) Control Register FB52: AE 0D DC LDX $DC0D ; CIA1: Interrupt (IRQ) Control Register FB55: A6 BE LDX $BE ; Tape Input/Output Block count FB57: CA DEX FB58: 30 02 BMI $FB5C FB5A: 86 BE STX $BE ; Tape Input/Output Block count Jump from $FB58: FB5C: C6 A7 DEC $A7 ; Tape temporary FB5E: F0 08 BEQ $FB68 FB60: A5 9E LDA $9E ; Tape Error log pass 1 FB62: D0 27 BNE $FB8B FB64: 85 BE STA $BE ; Tape Input/Output Block count FB66: F0 23 BEQ $FB8B Jump from $FB5E: FB68: 20 93 FC JSR $FC93 ; Restore Normal IRQ FB6B: 20 8E FB JSR $FB8E ; Reset Tape Pointer FB6E: A0 00 LDY #$00 FB70: 84 AB STY $AB ; RS232 Input parity/Tape temporary Jump from $FB7E: FB72: B1 AC LDA ($AC),Y ; Pointer: Tape Buffer/Screen scrolling FB74: 45 AB EOR $AB ; RS232 Input parity/Tape temporary FB76: 85 AB STA $AB ; RS232 Input parity/Tape temporary FB78: 20 DB FC JSR $FCDB ; Bump Read / Write Pointer FB7B: 20 D1 FC JSR $FCD1 ; Check Read / Write Pointer FB7E: 90 F2 BCC $FB72 FB80: A5 AB LDA $AB ; RS232 Input parity/Tape temporary FB82: 45 BD EOR $BD ; RS232 Output Parity/Tape Byte temporary FB84: F0 05 BEQ $FB8B FB86: A9 20 LDA #$20 FB88: 20 1C FE JSR $FE1C ; Control OS Messages Jump from $FB46, $FB62, $FB66, $FB84: FB8B: 4C BC FE JMP $FEBC ; Exit Interrupt Previous Page / Next Page |