; DSKNUMCF.MAC ; ; ZCNFG configuration module for DSKNUM.COM. The assembled version of ; this file must be named DSKNUMxx.CFG to be automatically recognized ; by ZCNFG. ; ; Version 1.0 -- July 28, 1990 -- Gene Pizzetta ; For DSKNUM 1.4. ; ; Patch locations . . . ; ROFlg equ 01Bh ; read-only flag SysFlg equ 023h ; system flag ArcFlg equ 02Bh ; archive flag RstFlg equ 033h ; reset drive flag LblTag equ 03Bh ; label tag character DftLbl equ 043h ; default label LblUsr equ 052h ; label user area ; ; 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 ROFlg ; 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 SysFlg ; 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 ToglTF ; ZCNFG function number dw ArcFlg ; 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 RstFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA4 ; screen location dw YesNo ; string address ; CaseA5: db '5' ; menu selector dw Text ; ZCNFG function number dw LblTag ; patch location in file db 1 ; number of bytes to change dw ScrnA5 ; screen location dw 0 ; not used ; CaseA6: db '6' ; menu selector dw Text ; ZCNFG function number dw DftLbl ; patch location in file db 7 ; number of bytes to change dw ScrnA6 ; screen location dw 0 ; not used ; CaseA7: db '7' ; menu selector dw DecRad ; ZCNFG function number dw LblUsr ; patch location in file db 1 ; number of bytes to change dw ScrnA7 ; screen location dw 0 ; numerical limits 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,' DSKNUM Installation Menu' db cr,lf,lf ; db tab,tab,'(1) ',1,'Set label to read/only? . . . . . . . ',2 ScrnA1: db ' ' ; current value db cr,lf ; db tab,tab,'(2) ',1,'Set label to system? . . . . . . . . ',2 ScrnA2: db ' ' ; current value db cr,lf ; db tab,tab,'(3) ',1,'Set label to archive? . . . . . . . . ',2 ScrnA3: db ' ' ; current value db cr,lf ; db tab,tab,'(4) ',1,'Reset drive before saving number? . . ',2 ScrnA4: db ' ' ; current value db cr,lf ; db tab,tab,'(5) ',1,'Label tag character . . . . . . . . . . ',2 ScrnA5: db ' ' ; current value db cr,lf ; db tab,tab,'(6) ',1,'Default label (7 characters) . . ',2 ScrnA6: db ' ' ; current value db cr,lf ; db tab,tab,'(7) ',1,'User area for label (0-31, or higher) ',2 ScrnA7: db ' ' ; current value db cr,lf ; db lf,lf,lf,lf, ; fill rest of screen ; db 0 ; terminator ; ; Help screen section . . . ; HelpA: db CR,LF,LF db 1,'Options (1),(2),(3)',2,' -- These options select whether DSKNUM will set the' db CR,LF db 'READ/ONLY, SYSTEM, and/or ARCHIVE file attribute bits on the disk labels' db CR,LF db 'it creates. At minimum, the read/only attribute should be set to YES.' db CR,LF,LF db 1,'Option (4)',2,' -- This option determines whether DSKNUM will reset the drive' db CR,LF db 'before attempting to save the last number used back into itself. If you' db CR,LF db 'are going to be running DSKNUM from a floppy diskette, this option should' db CR,LF db 'be set to YES.' db CR,LF,LF db 1,'Option (5)',2,' -- The tag character is the first character in a disk labels.' db CR,LF db '"#" or "!" are recommended, but see the documentation file.' db CR,LF,LF db 1,'Option (6)',2,' -- The default disk label name is used if no name is given in' db CR,LF db 'the command line. Seven characters maximum.' db CR,LF,LF db 1,'Option (7)',2,' -- If your disk labels will always be written to the same user' db CR,LF db 'area (highly recommended), then enter that user area here. If any number' db CR,LF db 'higher than 31 is entered, DSKNUM will write to the user area given in the' db CR,LF db 'command line, or to the current one.' ; db 0 ; Terminator ; end