; CHKDIRCF.MAC ; ; ZCNFG configuration module for CHKDIR.COM. The assembled version of ; this file must be named CHKDIRxx.CFG to be automatically recognized ; by ZCNFG. ; ; Version 1.0 -- October 4, 1990 -- Gene Pizzetta ; For CHKDIR 1.0. ; ; Patch locations . . . ; WBFlg equ 015h ; warm boot flag NulFlg equ 016h ; null file flag TagChr equ 017h ; disk label tag character ; ; ZCNFG function definitions . . . ; Switch equ 0 ; toggle bit n in a byte (n is specified) Text equ 1 ; edit text with UC conversion DUSpec equ 2 ; replace a ZCPR style DU specification (NOT DIR:!) HexRad equ 3 ; edit byte/word using HEX radix DecRad equ 4 ; edit byte/word using DECIMAL radix TextLC equ 5 ; edit text, both UC and LC FileSp equ 6 ; edit a Z3 filespec or filespec fragment Togl3 equ 7 ; toggle to one of three options: 001B, 010B, 100B ToglTF equ 8 ; toggle a byte between 0ffh and 0 ; ; ASCII characters . . . ; TAB equ 9 ; tab LF equ 10 ; linefeed CR equ 13 ; carriage return ; MACLIB Z80 ; ; Code . . . ; rst 0 ; for safety, so .CFG file won't execute ; dw MenuA ; for relocation of addresses, this ; ..points to the NEXT location. ; ; Menu list section . . . ; MenuA: dw MenuA, MenuA, ScrnA, CaseA, HelpA ; single menu ; ; Case table section . . . ; CaseA: db (CaseAX-CaseA1)/(CaseA2-CaseA1) ; number of cases db CaseA2-CaseA1 ; length of each record ; CaseA1: db '1' ; menu selector dw ToglTF ; ZCNFG function number dw WBFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA1 ; screen location dw YesNo ; string address ; CaseA2: db '2' ; menu selector dw ToglTF ; ZCNFG function number dw NulFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA2 ; screen location dw YesNo ; string address ; CaseA3: db '3' ; menu selector dw HexRad ; ZCNFG function number dw TagChr ; patch location in file db 1 ; number of bytes to change dw ScrnA3 ; screen location dw TgRnge ; permissible input range ; CaseAX: ; for calculation of list length ; ; Case table support . . . ; YesNo: db 'YES',0 ; displayed if value is FFh (ToglTF) db ' NO',0 ; displayed if value is 00h (ToglTF) TgRnge: dw 00h,7Eh ; range for TagChr ; ; Screen image section . . . ; ScrnA: db cr,lf,lf,tab,tab,tab,' CHKDIR Installation Menu' db cr,lf,lf ; db tab,tab,'(1) ',1,'Warm boot on exit? . . . . . . . . . ',2 ScrnA1: db ' ' ; current value db cr,lf ; db tab,tab,'(2) ',1,'Check null files? . . . . . . . . . . ',2 ScrnA2: db ' ' ; current value db cr,lf ; db tab,tab,'(3) ',1,'Tag character for disk labels . . . . ',2 ScrnA3: db ' h' ; current value db cr,lf ; db lf,lf,lf,lf,lf,lf,lf,lf, ; fill rest of screen ; db 0 ; terminator ; ; Help screen section . . . ; HelpA: db CR,LF,LF db 1,'Option (1)',2,' -- As distributed CHKDIR does not overwrite the command' db CR,LF db 'processor so it can make a simple return on exit. If your disk' db CR,LF db 'directories are so large that CHKDIR runs out of memory, you can gain' db CR,LF db 'a little space by answering "YES", which will cause the CP to be' db CR,LF db 'overwritten and a warm boot on exit.' db CR,LF,LF ; db 1,'Option (2)',2,' -- While reading a directory CHKDIR always reports the names' db CR,LF db 'of null (zero-length) files, but it does not include such files in its' db CR,LF db 'directory checking routines because programs such as SAP erase such files' db CR,LF db 'by default. If you want null files included in the checking routines,' db CR,LF db 'answer "YES" here.' db CR,LF,LF ; db 1,'Option (3)',2,' -- This option has no effect unless Option 2 is set to "YES".' db CR,LF db 'The tag character is the first character of disk labels, such as those' db CR,LF db 'used by cataloging programs. The character is usually "-" (2Dh),' db CR,LF db '"#" (23h), or "!" (21h). If this option is configured, disk labels' db CR,LF db 'will not be checked, even if Option 1 is "YES". This is important if' db CR,LF db 'you use lower-case disk labels. If you don''t want disk labels skipped,' db CR,LF db 'make this option a null (00h).' ; db 0 ; Terminator ; end