; FSPLITCF.MAC ; ; ZCNFG configuration module for FSPLIT.COM. The assembled version of ; this file must be named FSPLITxx.CFG, where xx is the version number ; of FSPLIT, to be automatically recognized by ZCNFG. ; ; Version 1.0 -- January 8, 1991 -- Gene Pizzetta ; For FSPLIT 1.0. ; ; Patch locations . . . ; QtFlag equ 015h ; quiet flag DftFil equ 016h ; default file format DftMod equ 017h ; file size mode DftSiz equ 018h ; default file size MkrChr equ 01Ah ; marker 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 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 ; 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 DftFil ; patch location in file db 1 ; number of bytes to change dw ScrnA2 ; screen location dw TxtBin ; string address ; CaseA3: db '3' ; menu selector dw Togl3 ; ZCNFG function number dw DftMod ; patch location in file db 00000111b ; number of bytes to change dw ScrnA3 ; screen location dw RcLnMk ; string address ; CaseA4: db '4' ; menu selector dw DecRad ; ZCNFG function number dw DftSiz ; patch location in file db 2 ; number of bytes to change dw ScrnA4 ; screen location dw SzRnge ; string address CaseA5: db '5' ; menu selector dw HexRad ; ZCNFG function number dw MkrChr ; patch location in file db 1 ; number of bytes to change dw ScrnA5 ; screen location dw MkRnge ; string address ; CaseAX: ; for calculation of list length ; ; Case table support . . . ; MkRnge: dw 00h,7Eh ; minimum/maximum for MkrChr SzRnge: dw 01h,0FFFFh ; minimum/maximum for DftSiz YesNo: db 'YES',0 ; displayed if value is FFh (ToglTF) db ' NO',0 ; displayed if value is 00h (ToglTF) TxtBin: db 'BINARY',0 db ' TEXT',0 RcLnMk: db 'RECORDS',0 db ' LINES',0 db 'MARKERS',0 ; ; Screen image section . . . ; ScrnA: db cr,lf,lf,tab,tab,tab,' FSPLIT 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,'Default file format . . . . . . . .',2 ScrnA2: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(3) ',1,'Default splitting method . . . . ',2 ScrnA3: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(4) ',1,'Default output file size . . . . . ',2 ScrnA4: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(5) ',1,'Split marker character . . . . . . . ',2 ScrnA5: db ' h' ; 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 'FSPLIT 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,' -- This default file format determines ' db 'how FSPLIT divides the',CR,LF db 'file. In TEXT mode the file is divided only at the end ' db ' of a line when',CR,LF db 'using the RECORD and LINE splitting methods and the ' db 'MARKER method is',CR,LF db 'available. In BINARY (object) file mode only the RECORD ' db 'splitting method',CR,LF db 'can be used and the file is divided exactly at the end of ' db ' a record. The',CR,LF db 'format selected here can be changed by the command line ' db 'options "T" and',CR,LF db '"O".' db CR,LF,LF ; db HON,'Option (3)',HOF,' -- This option selects the default ' db ' method by which FSPLIT',CR,LF db 'determines the size of its output files. RECORDS causes ' db ' the file to be',CR,LF db 'split after the correct number of records have been output. ' db ' LINES causes',CR,LF db 'the file to split based on the number lines, rather than ' db 'records. MARKERS',CR,LF db 'means that the file size is ignored and the file is split ' db ' only where an',CR,LF db 'internal marker character (set by option 5, below) is ' db 'encountered. The',CR,LF db 'method selected here can be changed by the command line ' db 'options "L", "R",',CR,LF db '"M", "K", and "O".' db CR,LF,LF,LF ; db HON,'Option (4)',HOF,' -- The default size of the output ' db 'files if no size is given on',CR,LF db 'the command line is set here. As distributed the default ' db 'size is 256 (32K',CR,LF db 'in RECORDS mode). The number here is interpreted as ' db 'records or lines,',CR,LF db 'depending on the current splitting mode (see option 3). ' db 'If the "K" option',CR,LF db 'is given on the command line, the number is interpreted as ' db 'kilobytes.' db CR,LF,LF ; db HON,'Option (5)',HOF,' -- If FSPLIT is in MARKERS mode, ' db ' it will split the file each',CR,LF db 'time it finds this special marker character. As distributed, ' db ' the marker',CR,LF db 'character is ^P (10h). To use another marker, enter its ' db 'ASCII value in',CR,LF db 'hexadecimal here.' db CR,LF ; db 0 ; Terminator ; end