From 1440c42c268bb6a09282c76548d7ea3a4c95eedc Mon Sep 17 00:00:00 2001 From: Curtis F Kaylor Date: Fri, 29 Mar 2019 15:58:58 -0400 Subject: [PATCH] Removed include/vic/fileio.a02 from tracking --- include/vic/fileio.a02 | 155 ----------------------------------------- 1 file changed, 155 deletions(-) delete mode 100644 include/vic/fileio.a02 diff --git a/include/vic/fileio.a02 b/include/vic/fileio.a02 deleted file mode 100644 index 0362f9c..0000000 --- a/include/vic/fileio.a02 +++ /dev/null @@ -1,155 +0,0 @@ -; Requires external routines SETSRC and SETDST -; Requires the following RAM locations be defined -; external zero page byte pairs SRCLO,SRCHI and DSTLO,DSTHI -; and external bytes TEMP0 and TEMP1 - -;fsetup(fn, fs, fd) - Set Parameters for fsopen() -;Args: A = Logical file number -; Y = Secondary address (255 for None) -; X = Device 0=Keyboard, 1=Cassette, 2=RS232, 3=Screen -; 4-7=Printers, 8-15=Disks, 31=All Devices -;Affects None -FSETUP EQU SETLFS ;Set up a logical file - -;fsname(n, &s) - Set Filename for Load, Open, Save -;Args: A = Length of filename string -; X,Y = Pointer to string containing filename -;Affects: A,X,Y -;Returns: A = 1,2,3,4,6,240 (see FERROR) - -;fsload(v, &a) - Load Memory from File -;Prereqs: fsetup(), fsname() -;Args: A = Mode 0=Load, 1=Verify -; Y,X = Address to Load File -;Stack: 9 -;Affects: A,X,Y -;Sets: STATUS = 0,4,5,8,9 (see FERROR) -FSLOAD EQU LOAD ;Load RAM from device - -;fssave(v, &a) - Save Memory to File -;Prereqs: fsdst fsetup(), fsname() -;Requires: DSTLO, DSTHI - Start Address -;Args: Y,X = End Address -;Stack: 9 -;Affects: A,X,Y -;Sets: STATUS = 0,4,5,8,9 (see FERROR) -FSSAVE: LDA #SRCLO ;Load Pointer to Start Address - JMP SAVE ;Save memory to device - -;fsopen() - Open -;Prereqs: fsetup(), fsname() -;Affects: A,X,Y -;Sets: STATUS = 1,2,3,4,6,240 (see FERROR) -STRCHR: JSR SETNAM ;Set file name - JMP OPEN ;Open File - -;fopen(n, &s) - Open File with Specified Name -;Not Implemented - -;fclose(fn) - Close File -;Args: A = Logical file number -;Returns: A = 0,240 (see FERROR) -FCLOSE EQU CLOSE ;Close a logical file - -;feof(fn) - Check for End of File -;Args: A = Logical file number -;Affects: A,X -;Returns: A = 0,240 (see FERROR) -FEOF: JSR READST ;Read status word - AND #$C0 ;$40=End of File, $80 End of Tape - BEQ FRTS ;If Not 0 -FERR: LDA #$FF ; Set Generic Error Condition -FRTS: RTS ;Return from Subroutine - -;ferror(fn) - Check for Error -;Args: A = Logical file number -;Affects: A,X -;Returns: A = Error Bit Mask -; Bit Cassette Read Serial Bus I/O Tape Load/Verify -; $01 Write Timeout -; $02 Read Timeout -; $04 Short Block Short Block -; $08 Long Block Long Block -; $10 Read Error Any Mismatch -; $20 Checksum Err Checksum Err -; $40 End of File EOI Line -; $80 End of Tape Device Not Present End of Tape -FERROR EQU READST ;Read status word - -;fflush() - Flush file buffer -; No-Op - Not Needed -FFLUSH: RTS - -;fgetc(fn) - Read character from file -;Args: A = Logical file number -;Stack: 9 -;Affects: A,X -;Returns: A = 0,240 (see FERROR) -FGETC: TAX ;Move logical file number to X register - JSR CHKIN ;Open channel for input - JSR CHRIN ;Get character from input channel - PHA ;Save read character - JSR CLRCHN ;Clear I/O channels - PLA ;Retrieve read Character - RTS - -;fputc(fn) - Write character from file -;Args: A = Logical file number -; Y = Character to Write -;Stack: 9 -;Affects: A,X -;Returns: A = 0,240 (see FERROR) -FPUTC: TAX ;Move logical file number to X register - JSR CHKOUT ;Open channel for input - TYA ;Move character to accumulator -FPUTCH: JSR CHROUT ;Output a character - JMP CLRCHN ;Clear I/O channels and return - -;fgets(fn, &s) - Read string from file -;Requires: DSTLO, DSTHI - Pointer to destination string -;Args: A = Logical file number -; Y,X = Pointer to String -;Stack: 9 -;Affects: X,Y -;Returns: A = Number of bytes read -FGETS: JSR SETDST ;Save string address & initialize pointer - TAX ;Move logical file number to X register - JSR CHKIN ;Open channel for input -FGETSL: JSR CHRIN ;Get character from input channel - PHA ;Save read character - JSR READST ;Read status word - BNE FGETSX ;If Not 0, Exit - PLA ;Retrieve read character - STA SRCLO,Y ;Store character in string - CMP $0D ;If Carriage Return - BEQ FGETSX ; Then Exit - INY ;Increment pointer - BPL FGETSL ;and loop if less than 128 -FGETSX: LDA #$00 ;Terminate String - STA (SRCLO),Y ; -FGETSY: JSR CLRCHN ;Clear I/O channels - TYA ;Return string length - RTS - -;fputs(fn, &s) - Write String to File -;Requires: DSTLO, DSTHI - Pointer to source string -;Args: A = Logical file number -; Y,X = Pointer to String -;Stack: 9 -;Affects: X,Y -;Returns: A = Number of bytes written -FPUTS: JSR SETDST ;Save string address & initialize pointer - TAX ;Move logical file number to X register - JSR CHKIN ;Open channel for input -FPUTSL: LDA SRCLO,Y ;Load next character - PHA ;Save write character - JSR CHROUT ;Write character to output channel - PLA ;Retrieve write character - CMP $0D ;If Carriage Return - BEQ FGETSY ; Then Exit - JSR READST ;Read status word - BNE FGETSY ;If Not 0, Exit - INY ;Increment pointer - BPL FPUTSL ;If less than 128 then loop - BMI FGESTY ;Else exit -