From 93dd3e1ecd4704b48cbf6e61d8f0596292ccce06 Mon Sep 17 00:00:00 2001 From: "T. Joseph Carter" Date: Thu, 20 Jul 2017 15:10:56 -0700 Subject: [PATCH] Add the .s files (may be broken) I would not swear these dumped correctly using the procedure described in the README files. --- D2S1/COPY.S#040000.s | 393 +++++++++++++++++++++++++++++++++++++++++++ D2S1/DUMP.S#040000.s | 159 +++++++++++++++++ D2S1/FTS.S#040000.s | 195 +++++++++++++++++++++ D2S1/INIT.S#040000.s | 172 +++++++++++++++++++ D2S1/ZAP.S#040000.s | 138 +++++++++++++++ 5 files changed, 1057 insertions(+) create mode 100644 D2S1/COPY.S#040000.s create mode 100644 D2S1/DUMP.S#040000.s create mode 100644 D2S1/FTS.S#040000.s create mode 100644 D2S1/INIT.S#040000.s create mode 100644 D2S1/ZAP.S#040000.s diff --git a/D2S1/COPY.S#040000.s b/D2S1/COPY.S#040000.s new file mode 100644 index 0000000..2ca1b31 --- /dev/null +++ b/D2S1/COPY.S#040000.s @@ -0,0 +1,393 @@ + SBTL 'C O P Y -- CONVERT FILES' + ORG $800 + SKP 1 +*********************************************************** +* * +* COPY:THIS PROGRAM DEMONSTRATES THE USE OF THE DOS FILE * +* MANAGER BY COPYING A BINARY FILE TO A TEXT FILE. * +* * +* INPUT: INPUT FILE NAME IS "INPUT" * +* OUTPUT FILE NAME IS "OUTPUT" * +* * +* ENTRY POINT: $800 * +* * +* PROGRAMMER: DON D WORTH 2/19/81 * +* * +*********************************************************** + SKP 2 +BELL EQU $87 BELL CHARACTER + SKP 1 +* ZPAGE DEFINITIONS + SKP 1 +PTR EQU $0 WORK POINTER +BUFP EQU $2 BUFFER POINTER +EBYTE EQU $4 +A1L EQU $3C MONITOR POINTER +A2L EQU $3E MONITOR POINTER + SKP 1 +* OTHER ADDRESSES + SKP 1 +BUFFER EQU $1000 DATA BUFFER +DOSWRM EQU $3D0 DOS WARMSTART ADDRESS +LOCRPL EQU $3E3 LOCATE RWTS PARMLIST SUBRTN +LOCFPL EQU $3DC LOCATE FILE MGR PARMLIST SUB +FM EQU $3D6 FILE MANAGER ENTRY POINT +COUT EQU $FDED PRINT ONE CHAR SUBROUTINE +PRBYTE EQU $FDDA PRINT ONE HEX BYTE SUBRTN + SKP 1 +* FILE MANAGER PARMLIST DEFINITION + SKP 1 + DSECT +FMOCOD DS 1 OPERATION CODE +FMOCOP EQU $01 OPEN +FMOCCL EQU $02 CLOSE +FMOCRD EQU $03 READ +FMOCWR EQU $04 WRITE +FMOCDE EQU $05 DELETE +FMOCCA EQU $06 CATALOG +FMOCLO EQU $07 LOCK +FMOCUN EQU $08 UNLOCK +FMOCRE EQU $09 RENAME +FMOCPO EQU $0A POSITION +FMOCIN EQU $0B INIT +FMOCVE EQU $0C VERIFY +FMSBCD DS 1 SUBCODE +FMSBNO EQU $00 NO OPERATION +FMSBON EQU $01 READ/WRITE ONE BYTE +FMSBRA EQU $02 READ/WRITE RANGE OF BYTES +FMSBPO EQU $03 POSITION AND DO ONE BYTE +FMSBPR EQU $04 POSITION AND DO RANGE +FMPRMS DS 8 SPECIFIC PARAMETERS + SKP 1 +* OPEN PARMS + ORG FMPRMS +FMRCLN DS 2 RECORD LENGTH +FMVOL DS 1 VOLUME +FMDRV DS 1 DRIVE +FMSLT DS 1 SLOT +FMTYPE DS 1 TYPE +FMTYPT EQU 0 TEXT +FMTYPI EQU 1 INTEGER +FMTYPA EQU 2 APPLESOFT +FMTYPB EQU 4 BINARY +FMNAME DS 2 ADDRESS OF FILE NAME + SKP 1 +* READ/WRITE PARMS + ORG FMPRMS +FMRCNM DS 2 RECORD NUMBER +FMOFFS DS 2 BYTE OFFSET +FMRALN DS 2 RANGE LENGTH +FMRAAD DS 2 RANGE ADDRESS +FMDATA EQU FMRAAD DATA BYTE READ/WRITTEN + SKP 1 +* RENAME PARMS + ORG FMPRMS +FMNNAM DS 2 ADDRESS OF NEW NAME + SKP 1 +* INIT PARMS + ORG FMPRMS +FMPAGE EQU FMSBCD FIRST PAGE OF DOS IMAGE + SKP 1 +* COMMON PARMS + ORG FMPRMS+8 +FMRC DS 1 RETURN CODE +FMRCOK EQU 0 NO ERRORS +FMRCBO EQU 2 BAD OPCODE +FMRCBS EQU 3 BAD SUBCODE +FMRCWP EQU 4 WRITE PROTECTED +FMRCED EQU 5 END OF DATA +FMRCNF EQU 6 FILE NOT FOUND +FMRCBV EQU 7 BAD VOLUME +FMRCIO EQU 8 I/O ERROR +FMRCDF EQU 9 DISK FULL +FMRCLK EQU 10 FILE LOCKED + DS 1 NOT USED +FMFMWA DS 2 FILE MANAGER WORKAREA PTR +FMTSL DS 2 T/S LIST PTR +FMBUFF DS 2 DATA BUFFER PTR + DEND + PAGE +* LOCATE FM PARMLIST + SKP 1 +COPY JSR LOCFPL FIND PARMLIST + STY PTR SET UP POINTER TO IT + STA PTR+1 + SKP 1 +* OPEN INPUT FILE + SKP 1 + LDY #FMNAME STORE INPUT FILE NAME + LDA #>INAME PTR IN LIST + STA (PTR),Y + INY + LDA #ONAME PTR IN LIST + STA (PTR),Y + INY + LDA #BUFFER + STA EBYTE + LDA BUFFER+3 + PHA + ADC #BUFFER + STA (PTR),Y RANGE ADDRESS=$1000 + INY + LDA #BUFFER POINT AT DATA + STA PTR + LDA #BUFFER DUMP 800.8AF + STA A1L + LDA #BUFFER+$AF + STA A2L + LDA #BUFFER STORE BUFFER PTR IN LIST + STA (PTR),Y + INY + LDA #