; ERASECF.MAC ; ; ZCNFG configuration module for ERASE.COM. The assembled version of ; this file must be named ERASExx.CFG, where xx is the version number ; of ERASE, to be automatically recognized by ZCNFG. ; ; Version 1.0 -- October 27, 1990 -- Gene Pizzetta ; For ERASE 5.5. ; ; Patch locations . . . ; QtFlag equ 015h ; quiet mode SysFlg equ 016h ; erase system files ROFlag equ 017h ; erase read-only files AskFlg equ 018h ; erase all files ; ; 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 spec (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 one of three options: 001B, 010B, 100B ToglTF equ 8 ; toggle a byte between 0ffh and 0 ; ; ASCII characters . . . ; HON equ 1 ; highlighting on HOF equ 2 ; highlighting off 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 QtFlag ; 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 Switch ; ZCNFG function number dw SysFlg ; patch location in file db 40h ; number of bytes to change dw ScrnA2 ; screen location dw YesNo ; string address ; CaseA3: db '3' ; menu selector dw ToglTF ; ZCNFG function number dw ROFlag ; patch location in file db 1 ; number of bytes to change dw ScrnA3 ; screen location dw YesNo ; string address ; CaseA4: db '4' ; menu selector dw ToglTF ; ZCNFG function number dw AskFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA4 ; screen location dw YesNo ; string address ; 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) ; ; Screen image section . . . ; ScrnA: db cr,lf,lf,tab,tab,tab,' ERASE Installation Menu' db cr,lf,lf ; db tab,tab,'(1) ',1,'Default to quiet mode? . . . . . . . . ',2 ScrnA1: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(2) ',1,'Include system files by default? . . . ',2 ScrnA2: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(3) ',1,'Erase read-only files without asking? ',2 ScrnA3: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(4) ',1,'Erase all files without asking first? ',2 ScrnA4: db ' ' ; current value db cr,lf ; db lf,lf,lf,lf,lf ; fill rest of screen ; db 0 ; terminator ; ; Help screen section . . . ; HelpA: db CR,LF,LF,LF db HON,'Option (1)',HOF,' -- This option determines whether ERASE ' db 'defaults to quiet mode.',CR,LF db 'Whatever is chosen here can be toggled with a "Q" option ' db ' on the command',CR,LF db 'line.',CR,LF,LF,LF ; db HON,'Option (2)',HOF,' -- Normally ERASE does not find or erase ' db 'system files unless the',CR,LF db 'S option is used on the command line. If "YES" is ' db ' chosen here, all',CR,LF db 'matching files, including system files, will be found ' db ' and erased by',CR,LF db 'default.',CR,LF,LF,LF ; db HON,'Option (3)',HOF,' -- If ERASE finds a matching read-only ' db 'file, it asks before',CR,LF db 'doing anything, unless the R option is included on the ' db ' command line.',CR,LF db 'Select "YES" if you want to erase read-only files by default. ' db ' Since read-',CR,LF db 'only files are supposed to be hard to erase, "NO" is highly ' db 'recommended',CR,LF db 'unless you are fully aware of the implications.' db CR,LF,LF,LF,LF,LF,LF ; db HON,'Option (4)',HOF,' -- If the command line contains an ' db '"all files" file specifica-',CR,LF db 'tion (*.*), ERASE will ask "Erase all files?" Answering ' db ' "YES" here will',CR,LF db 'bypass the prompt and ERASE will delete all the files ' db 'it finds without',CR,LF db 'further ado. A "NO" will help prevent wiping out all ' db ' the files in a',CR,LF db 'directory by mistake.',CR,LF ; db 0 ; Terminator ; end