; SAPZCF.MAC ; ; ZCNFG configuration module for SAPZ.COM. The assembled version of ; this file must be named SAPZxx.CFG to be automatically recognized ; by ZCNFG. ; ; Version 1.0 -- October 4, 1990 -- Gene Pizzetta ; For SAPZ 1.0. ; ; Patch locations . . . ; NulFlg equ 015h ; null file flag TagChr equ 016h ; 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 NulFlg ; 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 HexRad ; ZCNFG function number dw TagChr ; patch location in file db 1 ; number of bytes to change dw ScrnA2 ; 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 tag character ; ; Screen image section . . . ; ScrnA: db cr,lf,lf,tab,tab,tab,' SAPZ Installation Menu' db cr,lf,lf ; db tab,tab,'(1) ',1,'Erase null files? . . . . . . . . . . ',2 ScrnA1: db ' ' ; current value db cr,lf ; db tab,tab,'(2) ',1,'Tag character for disk labels . . . . ',2 ScrnA2: db ' h' ; current value db cr,lf ; db lf,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,' -- Determines whether null files will be erased. By default' db CR,LF db 'null files are left alone. A "YES" causes them to be erased.' db CR,LF,LF ; db 1,'Option (2)',2,' -- This option has no effect unless Option 1 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 erased, even if Option 1 is "YES". If you don''t want disk' db CR,LF db 'labels skipped, make this option a null (00h).' ; db 0 ; Terminator ; end