; CONCATCF.MAC ; ; ZCNFG configuration module for CONCAT.COM. The assembled version of ; this file must be named CONCATxx.CFG, where xx is the version number ; of CONCAT, to be automatically recognized by ZCNFG. ; ; Version 1.0 -- January 16, 1991 -- Gene Pizzetta ; For CONCAT 1.1. ; ; Patch locations . . . ; QtFlag equ 015h ; quiet flag AppFlg equ 016h ; concat or append default ObjFlg equ 017h ; text or object file default SpcFlg equ 018h ; space checking default StpFlg equ 019h ; file stamping default DatFmt equ 01Ah ; American or European date format TimFmt equ 01Bh ; civilian or military time format ; ; 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 ; highlight on HOF equ 2 ; highlight off TAB equ 9 ; tab LF equ 10 ; linefeed CR equ 13 ; carriage return ; ; 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 AppFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA2 ; screen location dw ConApp ; string address ; CaseA3: db '3' ; menu selector dw ToglTF ; ZCNFG function number dw ObjFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA3 ; screen location dw TxtBin ; string address ; CaseA4: db '4' ; menu selector dw ToglTF ; ZCNFG function number dw SpcFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA4 ; screen location dw NoYes ; string address ; CaseA5: db '5' ; menu selector dw ToglTF ; ZCNFG function number dw StpFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA5 ; screen location dw NoYes ; string address ; CaseA6: db '6' ; menu selector dw ToglTF ; ZCNFG function number dw DatFmt ; patch location in file db 1 ; number of bytes to change dw ScrnA6 ; screen location dw AmrEur ; string address ; CaseA7: db '7' ; menu selector dw ToglTF ; ZCNFG function number dw TimFmt ; patch location in file db 1 ; number of bytes to change dw ScrnA7 ; screen location dw CivMil ; 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) ConApp: db 'APPEND',0 db 'CONCAT',0 TxtBin: db 'BINARY',0 db ' TEXT',0 NoYes: db ' NO',0 db 'YES',0 AmrEur: db 'EUROPEAN',0 db 'AMERICAN',0 CivMil: db 'MILITARY',0 db 'CIVILIAN',0 ; ; Screen image section . . . ; ScrnA: db cr,lf,lf,tab,tab,tab,' CONCAT 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,'Default operating mode . . . . . .',2 ScrnA2: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(3) ',1,'Default file format . . . . . . . .',2 ScrnA3: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(4) ',1,'Check for sufficient disk space? . . ',2 ScrnA4: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(5) ',1,'Transfer file stamps? . . . . . . . . ',2 ScrnA5: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(6) ',1,'Date format . . . . . . . . . . .',2 ScrnA6: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(7) ',1,'Time format . . . . . . . . . . .',2 ScrnA7: db ' ' ; current value ; db cr,lf,lf ; fill rest of screen ; db 0 ; terminator ; ; Help screen section . . . ; HelpA: db CR,LF ; db HON,'Option (1)',HOF,' -- This option determines whether ' db 'CONCAT will be in verbose or',CR,LF db 'quiet mode by default. The default may be toggled by using ' db ' the command',CR,LF db 'line "Q" option.' db CR,LF,LF ; db HON,'Option (2)',HOF,' -- The two operating modes are concatenation ' db 'of the source files',CR,LF db 'into a new destination file, as the name of the program ' db 'implies, and',CR,LF db 'appending the source files to an already existing destination ' db 'file. As',CR,LF db 'released the default is CONCAT. You can make APPEND the default, ' db 'if you do',CR,LF db 'more appending than concatenating. The mode selected can ' db 'be changed by the',CR,LF db 'command line options "C" and "A".' db CR,LF,LF ; db HON,'Option (3)',HOF,' -- This file format option determines ' db ' how CONCAT joins the',CR,LF db 'files. In TEXT mode the files are joined wherever the ' db ' CP/M end-of-file',CR,LF db 'character is found, even in the middle of a sector. In ' db 'BINARY (object)',CR,LF db 'mode the files are joined only on record boundaries and ' db 'the end-of-file',CR,LF db 'character is ignored. TEXT is the correct setting for most ' db ' uses, but if',CR,LF db 'you use CONCAT mostly for binary files (for some strange ' db 'reason!), you can',CR,LF db 'make that the default here. The format selected can ' db 'be changed by the',CR,LF db 'command line options "T" and "O".' db CR,LF,LF,LF,LF ; db HON,'Option (4)',HOF,' -- As distributed CONCAT checks for ' db 'adequate space before doing',CR,LF db 'any writing to disk. If you''re courageous, you can turn ' db ' off this feature',CR,LF db 'by toggling it to NO. Space checking can then be turned ' db 'back on by using',CR,LF db 'the command line "S" option.' db CR,LF,LF ; db HON,'Option (5)',HOF,' -- In concatenation mode CONCAT transfers ' db 'the create date stamp',CR,LF db 'of the first source file to the new file. (If any source ' db 'file has the same',CR,LF db 'name as the destination file, its file stamp will be used ' db 'instead.) If you',CR,LF db 'prefer, change this option to NO to turn this function off ' db ' by default. It',CR,LF db 'can then be turned back on with the command line "F" option.' db CR,LF,LF ; db HON,'Option (6)',HOF,' -- If the "D" option is used to insert ' db 'the current date and time',CR,LF db 'into the destination file, the date will ordinarily be in ' db 'AMERICAN format',CR,LF db '(December 13, 1990). If you wish, you can select EUROPEAN ' db 'format here (13',CR,LF db 'Dec 90).' db CR,LF,LF ; db HON,'Option (7)',HOF,' -- If the "D" option is used to ' db 'insert the current date and',CR,LF db 'time into the destination file, the time will ordinarily ' db ' be in CIVILIAN',CR,LF db 'format (3:21 pm). If you wish, you can select MILITARY ' db ' format here',CR,LF db '(15:21).' db CR,LF ; db 0 ; Terminator ; end