$F533/62771:   Load File From Tape

Jump from $F4B6:

F533: 4A        LSR
F534: B0 03     BCS $F539
F536: 4C 13 F7  JMP $F713     ; Output I/O Error Messages: 'ILLEGAL DEVICE NUMBER'

Jump from $F534:

F539: 20 D0 F7  JSR $F7D0     ; Get Buffer Address
F53C: B0 03     BCS $F541
F53E: 4C 13 F7  JMP $F713     ; Output I/O Error Messages: 'ILLEGAL DEVICE NUMBER'

Jump from $F53C:

F541: 20 17 F8  JSR $F817     ; Print "PRESS PLAY ON TAPE"
F544: B0 68     BCS $F5AE
F546: 20 AF F5  JSR $F5AF     ; Print "SEARCHING"

Jump from $F56A:

F549: A5 B7     LDA $B7       ; Number of Characters in Filename
F54B: F0 09     BEQ $F556
F54D: 20 EA F7  JSR $F7EA     ; Find Specific Tape Header
F550: 90 0B     BCC $F55D
F552: F0 5A     BEQ $F5AE
F554: B0 DA     BCS $F530     ; Load File From Serial Bus

Jump from $F54B:

F556: 20 2C F7  JSR $F72C     ; Find Any Tape Header
F559: F0 53     BEQ $F5AE
F55B: B0 D3     BCS $F530     ; Load File From Serial Bus

Jump from $F550:

F55D: A5 90     LDA $90       ; Kernal I/O Status Word ST
F55F: 29 10     AND #$10
F561: 38        SEC
F562: D0 4A     BNE $F5AE
F564: E0 01     CPX #$01
F566: F0 11     BEQ $F579
F568: E0 03     CPX #$03
F56A: D0 DD     BNE $F549

Jump from $F57B:

F56C: A0 01     LDY #$01
F56E: B1 B2     LDA ($B2),Y   ; Pointer: Start Address of Tape Buffer
F570: 85 C3     STA $C3       ; Pointer: Type 3 Tape LOAD and general use
F572: C8        INY
F573: B1 B2     LDA ($B2),Y   ; Pointer: Start Address of Tape Buffer
F575: 85 C4     STA $C4       ; Pointer: Type 3 Tape LOAD and general use
F577: B0 04     BCS $F57D

Jump from $F566:

F579: A5 B9     LDA $B9       ; Current File - Secondary Address
F57B: D0 EF     BNE $F56C

Jump from $F577:

F57D: A0 03     LDY #$03
F57F: B1 B2     LDA ($B2),Y   ; Pointer: Start Address of Tape Buffer
F581: A0 01     LDY #$01
F583: F1 B2     SBC ($B2),Y   ; Pointer: Start Address of Tape Buffer
F585: AA        TAX
F586: A0 04     LDY #$04
F588: B1 B2     LDA ($B2),Y   ; Pointer: Start Address of Tape Buffer
F58A: A0 02     LDY #$02
F58C: F1 B2     SBC ($B2),Y   ; Pointer: Start Address of Tape Buffer
F58E: A8        TAY
F58F: 18        CLC
F590: 8A        TXA
F591: 65 C3     ADC $C3       ; Pointer: Type 3 Tape LOAD and general use
F593: 85 AE     STA $AE       ; Tape End Address/End of Program
F595: 98        TYA
F596: 65 C4     ADC $C4       ; Pointer: Type 3 Tape LOAD and general use
F598: 85 AF     STA $AF       ; Tape End Address/End of Program
F59A: A5 C3     LDA $C3       ; Pointer: Type 3 Tape LOAD and general use
F59C: 85 C1     STA $C1       ; Start Address for LOAD and Cassette Write
F59E: A5 C4     LDA $C4       ; Pointer: Type 3 Tape LOAD and general use
F5A0: 85 C2     STA $C2       ; Start Address for LOAD and Cassette Write
F5A2: 20 D2 F5  JSR $F5D2     ; Print "LOADING / VERIFYING"
F5A5: 20 4A F8  JSR $F84A     ; Initiate Tape Read
F5A8: 24        .BYTE $24

Jump from $F52E:

F5A9: 18        CLC
F5AA: A6 AE     LDX $AE       ; Tape End Address/End of Program
F5AC: A4 AF     LDY $AF       ; Tape End Address/End of Program

Jump from $F544, $F552, $F559, $F562:

F5AE: 60        RTS

    Previous Page / Next Page