; DATSTPCF.MAC ; ; ZCNFG configuration module for DATSTP.COM. The assembled version of ; this file must be named DATSTPxx.CFG, where xx is the version number ; of DATSTP, to be automatically recognized by ZCNFG. ; ; Version 1.0 -- September 3, 1990 -- Gene Pizzetta ; For DATSTP 1.0. ; ; Patch locations . . . ; QtFlag equ 015h ; quiet flag TimMod equ 016h ; civilian or military time EurDat equ 017h ; European or American date order ; ; 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 . . . ; 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 ToglTF ; ZCNFG function number dw TimMod ; patch location in file db 1 ; number of bytes to change dw ScrnA2 ; screen location dw MilCiv ; string address ; CaseA3: db '3' ; menu selector dw ToglTF ; ZCNFG function number dw EurDat ; patch location in file db 1 ; number of bytes to change dw ScrnA3 ; screen location dw EurAmr ; 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) MilCiv: db 'MILITARY',0 ; displayed if value is FFh (ToglTF) db 'CIVILIAN',0 ; displayed if value is 00h (ToglTF) EurAmr: db 'EUROPEAN',0 ; displayed if value is FFh (ToglTF) db 'AMERICAN',0 ; displayed if value is 00h (ToglTF) ; ; Screen image section . . . ; ScrnA: db cr,lf,lf,tab,tab,tab,' DATSTP Installation Menu' db cr,lf,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,'Civilian or Military time? . . . ',2 ScrnA2: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(3) ',1,'American or European date order? ',2 ScrnA3: db ' ' ; current value ; db 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,' -- This option determines whether DATSTP will be in verbose' db CR,LF db 'or quiet mode by default. The default may be toggled by using the "Q"' db CR,LF db 'option on the command line.' db CR,LF,LF ; db 1,'Option (2)',2,' -- This option selects either civilian (12-hour) time or' db CR,LF db 'military (24-hour) time for the screen display. Command line entry is' db CR,LF db 'always 24-hour time.' db CR,LF,LF ; db 1,'Option (3)',2,' -- This option selects either the American or the European' db CR,LF db 'date order for both display and command line entry. The American order' db CR,LF db 'is "mm/dd/yy". The European order is "dd/mm/yy".' db CR,LF ; db 0 ; Terminator ; end