; This configuration file is included to show you where in the code various ; configuration bytes are. YOU CAN CHANGE ONLY THOSE OPTIONS THAT ARE ; CONTROLLED BY DATA BYTES. Options controlled by assembly equates only can ; only be changed by reassembling the full source code. Note that I have ; placed ascii headers in the file with 'CONFIG' and 'OPT' to make it easy to ; locate the beginnings of these option areas with ZPATCH for quick manual ; patching. You can also edit this file, assemble it to a HEX file, and ; overlay it using the command line ; ; MLOAD ZFNEW=ZFILER.COM,ZFCNFI ; ; Be sure to test the new version. Invoke the 'O' option to see if the ; default configuration has been changed as desired. ;=========================================================================== ; ; ZFHDR.Z80 - General Equates, Configuration Information, External ; Declarations ; ;=========================================================================== vers equ 10 ; Version number subvers equ 'j' ; Use ' ' for none ; Basic Definitions false equ 0 true equ not false no equ false yes equ true dim equ 1 ; Goto dim bright equ 2 ; Goto bright ; User-Customized Definitions zfname macro ; Default name of ZFILER db 'ZFILER' endm zfnfill macro ; Spaces to fill out name to 8 chars db ' ' endm ; User-Customized Options ; Default value for options settable by 'O' command qryarc equ false ; true to query file replace on group archiving qrygrp equ true ; True to query file replace on group copy/usq qryrep equ true ; Set true to query replace on single copy/usq qryvfy equ true ; Ask whether to verify copy/usq vfydflt equ true ; Verify default if no query nosys equ true ; True to not display $SYS files defalpha equ false ; Set true to alpha by name and type, attrfl equ true ; Set attributes on copied files destfl equ true ; Use attributes of destination if it exists arcfl equ true ; ARC attribute always set for destination file cmdpathfl equ false ; Search path for CMD macro file ; Configuration choices cmdroot equ yes ; If not using path to find CMD file, use root cmduser equ 0 ; If not cmdroot, fixed user area for CMD file cmddrv equ 'A' ; If not cmdroot, fixed drive for CMD file novid equ false ; True if reverse/low video not avail. upcase equ no ; Display file names in upper case (if CASEOPT) usedseg equ true ; True for separate DSEG for data bihelp equ true ; True to provide built-in help info optcmd equ true ; True to provide the (O)ption command usestk equ true ; File mask on shell stk (true) or fn4 (false) macflag equ true ; True to allow immediate 0..9 macro invocation instmsg equ false ; True to allow "Shell Installed" message logfl equ true ; True to log in current dir with "Z" command warmboot equ false ; Set true to warmboot on exit exitcls equ false ; True to clear screen on exit. exptab equ true ; Set true to expand tabs on view, print .accept ' DateStamper code ("yes" or "no")? ',datestamp ; SLR pseudo-op .accept ' Use reverse video ("yes" or "no")? ',revvideo ; SLR pseudo-op .accept ' Number of columns ("4" or "5")? ',fcols ; SLR pseudo-op remote equ true ; True to enforce wheel verification. dupswd equ true ; True to enforce du: passwords tagch equ '#' ; Character used to mark tagged files stagch equ 39 ; Soft tag character (') tdelay equ 10 ; Delay from error report to refresh (0.1s) dircmd equ 'L' ; New directory (N) command alias mleadin equ esc ; Macro leadin character skipch defl 'Z' ; Control char for skip-to-end-of-file ; ..command while viewing skipch defl skipch and 1fh ; Do not change this (forces control char) z3env equ 0fe00h ; ZCPR3 environment location (no longer ; ..needed except for debugging) ; Command Line Builder Constants fpesc equ '$' ; Macro parameter lead-in char fpwait equ '!' ; Shell wait indicator fpgo equ '!' ; Parameter to indicate 'GO' substitution fpcdir equ 'C' ; Current display directory (DIR form) fpdisk equ 'D' ; Current drive letter fphdu equ 'H' ; Home DU (see fphdir for DIR form) fpuser equ 'U' ; Current user number fpfile equ 'F' ; Filename.typ fpname equ 'N' ; File name only fptype equ 'T' ; File type only fpptr equ 'P' ; File entry being pointed to (du:fn.ft) fphdir equ 'R' ; Home DIR (see fphdu for DU form) mnote equ '#' ; Denotes comment area in macro file uin1 equ "'" ; Single quote for user input uin2 equ '"' ; Double quote for user input ; Screen Position Constants frow equ 3 ; First row of files display (3-21) frows equ 21-frow ; Rows of the file screen eltsiz equ 13 ; Size of drive, filename and tag element entsiz equ 79/fcols ; Screen columns per file entry eps equ frows*fcols ; Eps = entries per screen epsline equ frow+frows+1 ; Position of last line of eps cpmadr equ epsline*256+1 ; Command prompt message cpadr equ epsline*256+29 ; Command prompt eradr equ [epsline+1]*256+15 ; Error message fsadr equ eradr ; File size message ; Values below for fcols=5 -- automatically ; ..adjusted for fcols=4 in the code banadr equ 1*256+33 ; Banner address curhome equ frow*256+1 ; Home address of cursor botadr equ 24*256+1 ; Bottom of screen fnadr equ 1*256+63 ; Address of current file name duadr equ 1*256+3 ; Address of current du moreadr equ 2*256+63 ; Address of '[more files]' message ; JAYLIBS References extrn getname ; Z34LIB References extrn z33chk,getccp,gcmddu extrn highuser,getsrun ; VLIB References extrn z3vinit,tinit,cls,ereol extrn at,gotoxy,gxymsg,vprint,stndout,stndend ; Z3LIB References extrn envptr,getcrt,getprt extrn getzrun,getmsg extrn dutdir,z3log,putcl,getmdisk,getmuser extrn qshell,shpush,shpop,getsh2,getspeed,getduok extrn getcl1,getcl2,putcst extrn getefcb,getfn2 extrn logud,retud,fname,initfcb extrn pfind,dnscan,root extrn getwhl ; SYSLIB References extrn fi0$open,f0$get,fi0$close,f$exist extrn fo0$open,f0$put,fo0$close,f$make extrn condin,cin,cout,caps,crlf,pafdc,mafdc,acase1 extrn sksp,lout,lcrlf,sout,shlfdc,sctlfl extrn codend,pause,shftrh ;=========================================================================== ; ; ZFMAIN.Z80 - Main Code Block ; ;=========================================================================== ; ZCPR3 Program Header (external environment only) entry: jp start db 'Z3ENV' ; This is a zcpr3 utility db 1 ; External environment descriptor z3eadr: dw z3env ;--------------------------------------------------------------------------- ; Configuration and reference data dw ctab1 ; Addresses of command tables for reference dw ctab2 dw gtable db 'CONFIG:' ; Marker in code logfladr: db logfl ; Log in current directory with "Z" command leadadr: db mleadin ; Macro leadin character here npause: db tdelay ; Delay time on screen refresh after macro error macfladr: db macflag ; Allow immediate execution of macros 0..9 cmdrootadr: db cmdroot ; Use root if no path search for CMD file cmddu: db cmduser ; Fixed user area for CMD file db cmddrv-'A' ; Fixed drive for CMD file (A=0) caseflag: db upcase ; Case for display of file names db 'OPT:' OPTIONS: ; Begin options configurable with 'O' cmd ; DO NOT CHANGE ORDER qryrepa: ; #1 db qryrep ; Single file replace query option qrygrpa: ; #2 db qrygrp ; Multiple file replace query option qryarca: ; #3 db qryarc ; Query on archive replacement qryvfya: ; #4 db qryvfy ; Verify query option vflag: ; #5 db vfydflt ; Verify default if no query or no answer nosysa: ; #6 db nosys ; Supress display of SYS files defalfa: ; #7 db defalpha ; Initial file sorting mode (FF for name) attrfla: ; #8 db attrfl ; Set attributes in copied files destfla: ; #9 db destfl ; Use attributes of dest file (if exists) arcfla: ; #10 db arcfl ; Set ARC attribute in destination file cmdpatha: ; #11 db cmdpathfl ; Use path to search for CMD file shwait: ; Flag also saved on stack with options db 0 nopt equ $ - options ; Number of option flags to save/restore defb 'MACROCMD:' gmacrocmd: db 'ZEX ZFILER' ds 16 + gmacrocmd - $ , 0 defb 'LEADIN:' macleadstr: defb '^|^<* * * ZFILER Group Macro * * *^|^>' defb 64 + macleadstr - $ , 0 defb 'MACROFCB:' gmacrofcb: db 0 ; Drive db 'ZFILER ' ; File name db 'ZEX' ; File type ds 36 + gmacrofcb - $ defb 'Z33OPT:' z33opt: db 0 db 0 ; Bit 7 controls access to users > 15 db 10100000B ; Bit 7 for password checking, bit 5 to ; ..skip checking when wheel is set db 0 ;--------------------------------------------------------------------------- ; Initialization Code start: call zsyschk ; Make sure we have a Z System ret nz ; If not, quit now call z3vinit ; Initialize the zcpr3 env and the vlib env call tinit ; Initialize the terminal.