$F34A/62282: Open File F34A: A6 B8 LDX $B8 ; Current File - Logical File number F34C: D0 03 BNE $F351 F34E: 4C 0A F7 JMP $F70A ; Output I/O Error Messages: 'NOT INPUT FILE' Jump from $F34C: F351: 20 0F F3 JSR $F30F ; Find File F354: D0 03 BNE $F359 F356: 4C FE F6 JMP $F6FE ; Output I/O Error Messages: 'FILE OPEN' Jump from $F354: F359: A6 98 LDX $98 ; Number of Open Files/Index to File Table F35B: E0 0A CPX #$0A F35D: 90 03 BCC $F362 F35F: 4C FB F6 JMP $F6FB ; Output I/O Error Messages: 'TOO MANY FILES' Jump from $F35D: F362: E6 98 INC $98 ; Number of Open Files/Index to File Table F364: A5 B8 LDA $B8 ; Current File - Logical File number F366: 9D 59 02 STA $0259,X ; Active logical File numbers F369: A5 B9 LDA $B9 ; Current File - Secondary Address F36B: 09 60 ORA #$60 F36D: 85 B9 STA $B9 ; Current File - Secondary Address F36F: 9D 6D 02 STA $026D,X ; Active File Secondary Addresses F372: A5 BA LDA $BA ; Current File - First Address (Device number) F374: 9D 63 02 STA $0263,X ; Active File First Addresses (Device numbers) F377: F0 5A BEQ $F3D3 F379: C9 03 CMP #$03 F37B: F0 56 BEQ $F3D3 F37D: 90 05 BCC $F384 F37F: 20 D5 F3 JSR $F3D5 ; Send Secondary Address F382: 90 4F BCC $F3D3 Jump from $F37D: F384: C9 02 CMP #$02 F386: D0 03 BNE $F38B * SX64: F386: D0 08 BNE $F390 F388: 4C 09 F4 JMP $F409 ; Open RS232 Jump from $F386: F38B: 20 D0 F7 JSR $F7D0 ; Get Buffer Address F38E: B0 03 BCS $F393 Jump from $F386 (SX64): F390: 4C 13 F7 JMP $F713 ; Output I/O Error Messages: 'ILLEGAL DEVICE NUMBER' Jump from $F38E: F393: A5 B9 LDA $B9 ; Current File - Secondary Address F395: 29 0F AND #$0F F397: D0 1F BNE $F3B8 F399: 20 17 F8 JSR $F817 ; Print "PRESS PLAY ON TAPE" F39C: B0 36 BCS $F3D4 F39E: 20 AF F5 JSR $F5AF ; Print "SEARCHING" F3A1: A5 B7 LDA $B7 ; Number of Characters in Filename F3A3: F0 0A BEQ $F3AF F3A5: 20 EA F7 JSR $F7EA ; Find Specific Tape Header F3A8: 90 18 BCC $F3C2 F3AA: F0 28 BEQ $F3D4 Jump from $F3B6: F3AC: 4C 04 F7 JMP $F704 ; Output I/O Error Messages: 'FILE NOT FOUND' Jump from $F3A3: F3AF: 20 2C F7 JSR $F72C ; Find Any Tape Header F3B2: F0 20 BEQ $F3D4 F3B4: 90 0C BCC $F3C2 F3B6: B0 F4 BCS $F3AC Jump from $F397: F3B8: 20 38 F8 JSR $F838 ; Print "PRESS RECORD..." F3BB: B0 17 BCS $F3D4 F3BD: A9 04 LDA #$04 F3BF: 20 6A F7 JSR $F76A ; Write Tape Header Jump from $F3A8, $F3B4: F3C2: A9 BF LDA #$BF F3C4: A4 B9 LDY $B9 ; Current File - Secondary Address F3C6: C0 60 CPY #$60 F3C8: F0 07 BEQ $F3D1 F3CA: A0 00 LDY #$00 F3CC: A9 02 LDA #$02 F3CE: 91 B2 STA ($B2),Y ; Pointer: Start Address of Tape Buffer F3D0: 98 TYA Jump from $F3C8: F3D1: 85 A6 STA $A6 ; Pointer: Tape I/O buffer Jump from $F377, $F37B, $F382, $F3D7, $F3DB: F3D3: 18 CLC Jump from $F39C, $F3AA, $F3B2, $F3BB: F3D4: 60 RTS Previous Page / Next Page |