home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / ZCPR33 / S-Z / ZF10J.LBR / ZFCNFJ.ZZ0 / ZFCNFJ.Z80
Text File  |  2000-06-30  |  9KB  |  291 lines

  1. ; This configuration file is included to show you where in the code various
  2. ; configuration bytes are.  YOU CAN CHANGE ONLY THOSE OPTIONS THAT ARE
  3. ; CONTROLLED BY DATA BYTES.  Options controlled by assembly equates only can
  4. ; only be changed by reassembling the full source code.  Note that I have
  5. ; placed ascii headers in the file with 'CONFIG' and 'OPT' to make it easy to
  6. ; locate the beginnings of these option areas with ZPATCH for quick manual
  7. ; patching.  You can also edit this file, assemble it to a HEX file, and
  8. ; overlay it using the command line
  9. ;
  10. ;        MLOAD ZFNEW=ZFILER.COM,ZFCNFI    
  11. ;
  12. ; Be sure to test the new version.  Invoke the 'O' option to see if the
  13. ; default configuration has been changed as desired.
  14.  
  15.  
  16. ;===========================================================================
  17. ;
  18. ; ZFHDR.Z80 - General Equates, Configuration Information, External
  19. ;          Declarations
  20. ;
  21. ;===========================================================================
  22.  
  23. vers    equ    10        ; Version number
  24. subvers    equ    'j'        ; Use ' ' for none 
  25.  
  26.  
  27. ; Basic Definitions
  28.  
  29. false    equ    0
  30. true    equ    not false
  31. no    equ    false
  32. yes    equ    true
  33.  
  34. dim    equ    1        ; Goto dim
  35. bright    equ    2        ; Goto bright
  36.  
  37.  
  38. ; User-Customized Definitions
  39.  
  40. zfname     macro            ; Default name of ZFILER
  41.     db    'ZFILER'
  42.      endm
  43. zfnfill     macro            ; Spaces to fill out name to 8 chars
  44.     db    '  '
  45.      endm
  46.  
  47.  
  48. ; User-Customized Options
  49.  
  50.     ; Default value for options settable by 'O' command
  51.  
  52. qryarc    equ    false        ; true to query file replace on group archiving
  53. qrygrp    equ    true        ; True to query file replace on group copy/usq
  54. qryrep    equ    true        ; Set true to query replace on single copy/usq
  55. qryvfy    equ    true        ; Ask whether to verify copy/usq
  56. vfydflt    equ    true        ; Verify default if no query
  57. nosys    equ    true        ; True to not display $SYS files
  58. defalpha equ    false        ; Set true to alpha by name and type, 
  59. attrfl    equ    true        ; Set attributes on copied files
  60. destfl    equ    true        ; Use attributes of destination if it exists
  61. arcfl    equ    true        ; ARC attribute always set for destination file
  62. cmdpathfl equ    false        ; Search path for CMD macro file
  63.  
  64.     ; Configuration choices
  65.  
  66. cmdroot    equ    yes        ; If not using path to find CMD file, use root
  67. cmduser    equ    0        ; If not cmdroot, fixed user area for CMD file
  68. cmddrv    equ    'A'        ; If not cmdroot, fixed drive for CMD file
  69. novid    equ    false        ; True if reverse/low video not avail. <crw>
  70. upcase    equ    no        ; Display file names in upper case (if CASEOPT)
  71. usedseg    equ    true        ; True for separate DSEG for data
  72. bihelp    equ    true        ; True to provide built-in help info
  73. optcmd    equ    true        ; True to provide the (O)ption command
  74. usestk    equ    true        ; File mask on shell stk (true) or fn4 (false)
  75. macflag    equ    true        ; True to allow immediate 0..9 macro invocation
  76. instmsg    equ    false        ; True to allow "Shell Installed" message
  77. logfl    equ    true        ; True to log in current dir with "Z" command
  78. warmboot equ    false        ; Set true to warmboot on exit
  79. exitcls    equ    false        ; True to clear screen on exit.
  80. exptab    equ    true        ; Set true to expand tabs on view, print
  81.  
  82. .accept ' DateStamper code ("yes" or "no")?  ',datestamp    ; SLR pseudo-op
  83. .accept ' Use reverse video ("yes" or "no")? ',revvideo    ; SLR pseudo-op
  84. .accept ' Number of columns ("4" or "5")?    ',fcols    ; SLR pseudo-op
  85.  
  86. remote    equ    true        ; True to enforce wheel verification.
  87. dupswd    equ    true        ; True to enforce du: passwords
  88.  
  89. tagch    equ    '#'        ; Character used to mark tagged files
  90. stagch    equ    39        ; Soft tag character (')
  91.  
  92. tdelay    equ    10        ; Delay from error report to refresh (0.1s)
  93. dircmd    equ    'L'        ; New directory (N) command alias
  94. mleadin    equ    esc        ; Macro leadin character
  95. skipch    defl    'Z'        ; Control char for skip-to-end-of-file
  96.                 ; ..command while viewing
  97.  
  98. skipch    defl    skipch and 1fh    ; Do not change this (forces control char)
  99.  
  100. z3env    equ    0fe00h        ; ZCPR3 environment location (no longer
  101.                 ; ..needed except for debugging)
  102.  
  103.     ;  Command Line Builder Constants
  104.  
  105. fpesc    equ    '$'        ; Macro parameter lead-in char
  106. fpwait    equ    '!'        ; Shell wait indicator
  107. fpgo    equ    '!'        ; Parameter to indicate 'GO' substitution
  108. fpcdir    equ    'C'        ; Current display directory (DIR form)
  109. fpdisk    equ    'D'        ; Current drive letter
  110. fphdu    equ    'H'        ; Home DU (see fphdir for DIR form)
  111. fpuser    equ    'U'        ; Current user number
  112. fpfile    equ    'F'        ; Filename.typ
  113. fpname    equ    'N'        ; File name only
  114. fptype    equ    'T'        ; File type only
  115. fpptr    equ    'P'        ; File entry being pointed to (du:fn.ft)
  116. fphdir    equ    'R'        ; Home DIR (see fphdu for DU form)
  117. mnote    equ    '#'        ; Denotes comment area in macro file
  118. uin1    equ    "'"             ; Single quote for user input
  119. uin2    equ    '"'        ; Double quote for user input
  120.  
  121.     ; Screen Position Constants
  122.  
  123. frow    equ    3        ; First row of files display (3-21)
  124. frows    equ    21-frow        ; Rows of the file screen
  125.  
  126. eltsiz    equ    13        ; Size of drive, filename and tag element
  127. entsiz    equ    79/fcols    ; Screen columns per file entry
  128. eps    equ    frows*fcols    ; Eps = entries per screen
  129. epsline    equ    frow+frows+1    ; Position of last line of eps
  130.  
  131. cpmadr    equ    epsline*256+1    ; Command prompt message
  132. cpadr    equ    epsline*256+29    ; Command prompt
  133. eradr    equ    [epsline+1]*256+15 ; Error message
  134. fsadr    equ    eradr        ; File size message
  135.  
  136.                 ; Values below for fcols=5 -- automatically
  137.                 ; ..adjusted for fcols=4 in the code
  138. banadr    equ    1*256+33    ; Banner address
  139. curhome    equ    frow*256+1    ; Home address of cursor
  140. botadr    equ    24*256+1    ; Bottom of screen
  141. fnadr    equ    1*256+63    ; Address of current file name
  142. duadr    equ    1*256+3        ; Address of current du
  143. moreadr    equ    2*256+63    ; Address of '[more files]' message
  144.  
  145. ; JAYLIBS References
  146.  
  147.     extrn    getname
  148.  
  149. ; Z34LIB References
  150.  
  151.     extrn    z33chk,getccp,gcmddu
  152.     extrn    highuser,getsrun
  153.  
  154. ; VLIB References
  155.  
  156.     extrn    z3vinit,tinit,cls,ereol
  157.     extrn    at,gotoxy,gxymsg,vprint,stndout,stndend
  158.  
  159. ; Z3LIB References
  160.  
  161.     extrn    envptr,getcrt,getprt
  162.     extrn    getzrun,getmsg
  163.     extrn    dutdir,z3log,putcl,getmdisk,getmuser
  164.     extrn    qshell,shpush,shpop,getsh2,getspeed,getduok
  165.     extrn    getcl1,getcl2,putcst
  166.     extrn    getefcb,getfn2
  167.     extrn    logud,retud,fname,initfcb
  168.     extrn    pfind,dnscan,root
  169.     extrn    getwhl
  170.  
  171. ; SYSLIB References
  172.  
  173.     extrn    fi0$open,f0$get,fi0$close,f$exist
  174.     extrn    fo0$open,f0$put,fo0$close,f$make
  175.     extrn    condin,cin,cout,caps,crlf,pafdc,mafdc,acase1
  176.     extrn    sksp,lout,lcrlf,sout,shlfdc,sctlfl
  177.     extrn    codend,pause,shftrh
  178.  
  179. ;===========================================================================
  180. ;
  181. ; ZFMAIN.Z80 - Main Code Block
  182. ;
  183. ;===========================================================================
  184.  
  185.  
  186. ; ZCPR3 Program Header (external environment only)
  187.  
  188. entry:
  189.     jp    start
  190.     db    'Z3ENV'        ; This is a zcpr3 utility
  191.     db    1        ; External environment descriptor
  192. z3eadr:    dw    z3env
  193.  
  194. ;---------------------------------------------------------------------------
  195.  
  196. ; Configuration and reference data
  197.  
  198.     dw    ctab1        ; Addresses of command tables for reference
  199.     dw    ctab2
  200.     dw    gtable
  201.  
  202.     db    'CONFIG:'    ; Marker in code
  203.  
  204. logfladr:
  205.     db    logfl        ; Log in current directory with "Z" command
  206. leadadr:
  207.     db    mleadin        ; Macro leadin character here
  208. npause:
  209.     db    tdelay        ; Delay time on screen refresh after macro error
  210. macfladr:
  211.     db    macflag        ; Allow immediate execution of macros 0..9
  212. cmdrootadr:
  213.     db    cmdroot        ; Use root if no path search for CMD file
  214. cmddu:
  215.     db    cmduser        ; Fixed user area for CMD file
  216.     db    cmddrv-'A'    ; Fixed drive for CMD file (A=0)
  217. caseflag:
  218.     db    upcase        ; Case for display of file names
  219.  
  220.     db    'OPT:'
  221.  
  222. OPTIONS:            ; Begin options configurable with 'O' cmd
  223.                 ; DO NOT CHANGE ORDER
  224.  
  225. qryrepa:            ; #1
  226.     db    qryrep        ; Single file replace query option
  227. qrygrpa:            ; #2
  228.     db    qrygrp        ; Multiple file replace query option
  229. qryarca:            ; #3
  230.     db    qryarc        ; Query on archive replacement
  231. qryvfya:            ; #4
  232.     db    qryvfy        ; Verify query option
  233. vflag:                ; #5
  234.     db    vfydflt        ; Verify default if no query or no answer
  235. nosysa:                ; #6
  236.     db    nosys        ; Supress display of SYS files
  237. defalfa:            ; #7
  238.     db    defalpha    ; Initial file sorting mode (FF for name)
  239. attrfla:            ; #8
  240.     db    attrfl        ; Set attributes in copied files
  241. destfla:            ; #9
  242.     db    destfl        ; Use attributes of dest file (if exists)
  243. arcfla:                ; #10
  244.     db    arcfl        ; Set ARC attribute in destination file
  245. cmdpatha:            ; #11
  246.     db    cmdpathfl    ; Use path to search for CMD file
  247.  
  248. shwait:                ; Flag also saved on stack with options
  249.     db    0
  250.  
  251. nopt    equ    $ - options    ; Number of option flags to save/restore
  252.  
  253.     defb    'MACROCMD:'
  254. gmacrocmd:
  255.     db    'ZEX ZFILER'
  256.     ds    16 + gmacrocmd - $ , 0
  257.  
  258.     defb    'LEADIN:'
  259.  
  260. macleadstr:
  261.     defb    '^|^<* * *  ZFILER Group Macro  * * *^|^>'
  262.     defb    64 + macleadstr - $ , 0
  263.  
  264.     defb    'MACROFCB:'
  265.  
  266. gmacrofcb:
  267.     db    0        ; Drive
  268.     db    'ZFILER  '    ; File name
  269.     db    'ZEX'        ; File type
  270.     ds    36 + gmacrofcb - $
  271.  
  272.     defb    'Z33OPT:'
  273.  
  274. z33opt:
  275.     db    0
  276.     db    0        ; Bit 7 controls access to users > 15
  277.     db    10100000B    ; Bit 7 for password checking, bit 5 to
  278.                 ; ..skip checking when wheel is set
  279.     db    0
  280.  
  281. ;---------------------------------------------------------------------------
  282.  
  283. ; Initialization Code
  284.  
  285. start:
  286.     call    zsyschk        ; Make sure we have a Z System
  287.     ret    nz        ; If not, quit now
  288.     call    z3vinit        ; Initialize the zcpr3 env and the vlib env
  289.     call    tinit        ; Initialize the terminal.
  290.  
  291.