; PPIP-9.Z80 ; <<9>> Data Area ;----------------------------------------------------------------------- ; Initialized data CONNAM: DB 'CON:' ; "file name" for system console ; ;----------------------------------------------------------------------- ; Local stack VERS: DB 'PPIP v',VTENS,'.',VUNITS,' 7 SEP 87 ',13,10 DB 'Copyright (C) David Jewett,III - 1986' DS VERS + 128 - $ STACK EQU $ ;----------------------------------------------------------------------- ; Uninitialized data DATA: DS 0 DRIVE: DS 1 ; Current drive USER: DS 1 ; Current user OLDSP: DS 2 ; System's old stack pointer MEMTOP: DS 2 ; Address of top of memory BUFRECS: DS 2 ; No. of RECORDS that will fit in buffer EXISTS: DS 1 ; "ON" if destination file exists RO: DS 1 ; "ON" if destination file is read-only ATTMPT: DS 1 ; Number of retry attempts EOFLAG: DS 1 ; End-of-file flag CONOP: DS 1 ; Flag, non-zero if console operation OPTIONS: DS 1 ; Do CRC Verification VERIFY: DS 1 DS 1 ; Print the CRC value REPORT: DS 1 DS 1 ; Do not copy Archived files ARCHIV: DS 1 DS 1 ; Delete (Emend) R/W files without asking EMEND: DS 1 DS 1 ; Delete (Wipe) R/W and R/O files not asking WIPE: DS 1 DS 1 ; MOVE FILES (COPY, THEN DELETE SOURCE) MOVF: DS 1 DS 2 ; Zeros mark end of table IF ZCPR3 ZSWID: DS 1 ; screen width here DUOKFL: DS 1 ; if du: is permitted: =1 DIRBUF: ; Used by DIRTDU routine DS 8 ; 8 chars for directory name ENDIF ; ZCPR3 IF DATESTAMP TEMPUSER: DS 1 ; Place to save current user number RWFLAG: DS 1 ; Read/write status flag TDSECTOR: DS 2 ; Sector offset in T&D file TDINDEX: DS 1 ; File entry index in sector SSECTOR: DS 2 ; Sector number for source file SINDEX: DS 1 ; Directory offset for source file DSECTOR: DS 2 ; Sector number for destination file DINDEX: DS 1 ; Directory offset for destination file BDOSDE: DS 2 ; Value returned by DS in registers DE TDFCB: DS 36 ; FCB for time and date file TIMESTR: DS 15 TDBUFF: DS 128 ; DMA buffer for T&D file ENDIF ; DATESTAMP IF Z80DOS CPYING: DS 1 ; If doing a file copy, this will be non-zero ENDIF ; Z80DOS IOBUF: DS 2 ; Beginning of disk I/O buffer FERROR: DS 1 ; "ON" if File Error occurred ARGC: DS 1 ; Original command argument count NARGC: DS 2 ; New argument count after expand ARGV: DS 2 ; ARGV[0] = ARGBUF DS MAXARG * 2 ; Storage for pointers to arguments ;----------------------------------------------------------------------- ; File control blocks. You will note that our file control blocks are ; a little different: FCB - 1 = user number. To avoid confusion it is ; always referenced as FCB[-1], not FCB[0]. DS 1 ; User number for source file SOURCE: DS FCBSZ ; File control block for source file DS 1 ; User for destination file DEST: DS FCBSZ ; FCB for destination file DS 1 ; User for temporary file TEMP: DS FCBSZ ; FCB for temporary file LAST: DS FNAMSZ ; Name of last file copied (FCB image) FNBUF: DS NAMESZ ; Buffer to hold a complete file name DS 1 ; Plus space for a string terminator ;---------------------------------------------------------------------- ; CRC verification support CRCTBL: DS 512 ; Tables for crc calculations CRCVAL: DS 2 ; 2-byte crc value of working file and CRCVAL2: DS 2 ; Of finished source read-file. ;----------------------------------------------------------------------- ; Argument buffers follow ; ARGBUF: DS 128 ; FIXED storage for arguments NARGBUF EQU $ ; Beginning of expanded arguments ; ;----------------------------------------------------------------------- ; Note: File I/O buffer goes from the end of NARGBUF to the top of ; available memory (CCP - 128). ; end of routine ;-----------------------------------------------------------------------