$F875/63605:   Common Tape Code

Jump from $F862:

F875: A0 7F     LDY #$7F
F877: 8C 0D DC  STY $DC0D     ; CIA1: Interrupt (IRQ) Control Register
F87A: 8D 0D DC  STA $DC0D     ; CIA1: Interrupt (IRQ) Control Register
F87D: AD 0E DC  LDA $DC0E     ; CIA1: Control Register A
F880: 09 19     ORA #$19
F882: 8D 0F DC  STA $DC0F     ; CIA1: Control Register B
F885: 29 91     AND #$91
F887: 8D A2 02  STA $02A2     ; TOD sense during Tape I/O
F88A: 20 A4 F0  JSR $F0A4     ; Serial Bus Idle
F88D: AD 11 D0  LDA $D011     ; VIC: Control Register 1
F890: 29 EF     AND #$EF
F892: 8D 11 D0  STA $D011     ; VIC: Control Register 1
F895: AD 14 03  LDA $0314     ; Vector: Hardware IRQ Interrupt Address
F898: 8D 9F 02  STA $029F     ; Temp. store for IRQ Vector during Tape I/O
F89B: AD 15 03  LDA $0315     ; Vector: Hardware IRQ Interrupt Address
F89E: 8D A0 02  STA $02A0     ; Temp. store for IRQ Vector during Tape I/O
F8A1: 20 BD FC  JSR $FCBD     ; Set IRQ Vector
F8A4: A9 02     LDA #$02
F8A6: 85 BE     STA $BE       ; Tape Input/Output Block count
F8A8: 20 97 FB  JSR $FB97     ; New Character Setup
F8AB: A5 01     LDA $01       ; 6510 On-chip 8-bit Input/Output Register
F8AD: 29 1F     AND #$1F
F8AF: 85 01     STA $01       ; 6510 On-chip 8-bit Input/Output Register
F8B1: 85 C0     STA $C0       ; Tape Motor Switch
F8B3: A2 FF     LDX #$FF

Jump from $F8BB:

F8B5: A0 FF     LDY #$FF

Jump from $F8B8:

F8B7: 88        DEY
F8B8: D0 FD     BNE $F8B7
F8BA: CA        DEX
F8BB: D0 F8     BNE $F8B5
F8BD: 58        CLI

Jump from $F8CD:

F8BE: AD A0 02  LDA $02A0     ; Temp. store for IRQ Vector during Tape I/O
F8C1: CD 15 03  CMP $0315     ; Vector: Hardware IRQ Interrupt Address
F8C4: 18        CLC
F8C5: F0 15     BEQ $F8DC     ; Check Tape Stop
F8C7: 20 D0 F8  JSR $F8D0     ; Check Tape Stop
F8CA: 20 BC F6  JSR $F6BC     ; Bump Clock
F8CD: 4C BE F8  JMP $F8BE

    Previous Page / Next Page