; FILTCF.Z80 ; ; ZCNFG configuration module for FILT.COM. The assembled version of ; this file must be named FILTxx.CFG, where xx is the version number ; of FILT, to be automatically recognized by ZCNFG. ; ; Version 1.1 -- September 30, 1991 -- Gene Pizzetta ; For FILT 8.1, added progress report selection. ; ; Version 1.0 -- September 12, 1991 -- Gene Pizzetta ; For FILT 8.0. ; ; Patch locations . . . ; Mode equ 015h ; default mode TabFlg equ 016h ; tab expansion QtFlag equ 017h ; quiet flag LinFlg equ 018h ; progress reports ; ; 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 ; ; Macro definitions ; C = character to identify menu item ; OFFSET = offset in program's configuration block ; FUNC = ZCNFG function ; SCRN = screen location for data ; DATA = function data address (if required) ; CASE macro c,func,offset,bytes,scrn,data db '&C' dw func, offset db bytes dw scrn, data endm ; ; 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 ; ; Macro name ; | Single char menu selector ; | | Function (see above) ; | | | Offset in config block ; | | | | Number of bytes ; | | | | | Screen location ; | | | | | | ;Case1: CASE 0, ToglTF, Loc1, 1, ScrnA1, NoYes ; | ; Address of data used by function ; ; The first two entries in table are labeled for calculation at CaseA:. ; CaseA1: CASE M, Togl3, Mode, 00001111b, ScrnA1, SAWsD CaseA2: CASE T, ToglTF, TabFlg, 1, ScrnA2, YesNo CASE Q, ToglTF, QtFlag, 1, ScrnA3, YesNo CASE P, ToglTF, LinFlg, 1, ScrnA4, NoYes CaseAX: ; for calculation of list length ; ; Case table support . . . ; YesNo: db 'Yes',0 ; displayed if value is FFh (ToglTF) NoYes: db ' No',0 ; displayed if value is 00h (ToglTF) db 'Yes',0 SAWsD: db 'Source Code',0 db ' ASCII Text',0 db ' WordStar W',0 db ' WordStar D',0 ; ; Screen image section . . . ; ScrnA: db cr,lf,lf,tab,tab,tab,' FILT Configuration Menu' db cr,lf,lf,lf ; db tab,tab,'(M) ',1,'Default operating mode? . . . ',2 ScrnA1: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(T) ',1,'Expand tabs to spaces by default? . . ',2 ScrnA2: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(Q) ',1,'Default to quiet mode? . . . . . . . ',2 ScrnA3: db ' ' ; current value db cr,lf,lf ; db tab,tab,'(P) ',1,'Show line count progress reports? . . ',2 ScrnA4: db ' ' ; current value db cr,lf ; db lf,lf,lf,lf,lf,lf ; fill rest of screen ; db 0 ; terminator ; ; Help screen section . . . ; HelpA: db CR,LF ; db HON,'Option M',HOF,' -- File Mode. FILT has four file ' db ' modes: "Source Code" for',CR,LF db 'assembler source code; "ASCII Text" for ordinary ASCII ' db ' text files;',CR,LF db '"WordStar W" for WordStar document files (removes dot ' db ' commands); and',CR,LF db '"WordStar D" for WordStar document files (retains dot commands). ' db ' Any of',CR,LF db 'these modes can be made the default. See the accompanying ' db 'documentation',CR,LF db 'for details on the differences between these modes. ' db ' Whatever mode is',CR,LF db 'chosen as the default can be changed with the "S", "A", "W", ' db 'or "D" command',CR,LF db 'line options.' db CR,LF,LF ; db HON,'Option T',HOF,' -- Tab Option. Tabs are always expanded ' db 'to spaces, but then the',CR,LF db 'file can be retabbed or not as the default. The chosen ' db ' default can be',CR,LF db 'toggled with the "T" command line option.' db CR,LF,LF ; db HON,'Option Q',HOF,' -- Quiet Mode. This option determines ' db ' whether FILT will be in',CR,LF db 'verbose or quiet mode by default (except that FILT always ' db 'defaults to quiet',CR,LF db 'mode if the ZCPR3 quiet flag is set). The default may be ' db 'toggled with the',CR,LF db 'command line "Q" option.' db CR,LF,LF ; db HON,'Option P',HOF,' -- Progress Reports. Normally FILT displays ' db 'a running line count',CR,LF db 'while it is working. This report can be suppressed by selecting ' db '"No".' db CR,LF ; db 0 ; Terminator ; end