home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ENTERPRS
/
CPM
/
UTILS
/
F
/
FILT84.LBR
/
FILTCF.ZZ0
/
FILTCF.Z80
Wrap
Text File
|
1992-05-09
|
7KB
|
220 lines
; 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.3 -- May 9, 1992 -- Gene Pizzetta
; For FILT 8.4, added form feed option.
;
; Version 1.2 -- March 3, 1992 -- Gene Pizzetta
; For FILT 8.2, changed tabbing option, and added abort error
; option.
;
; 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
FFFlag equ 017h ; form feed flag
QtFlag equ 018h ; quiet flag
AbtFlg equ 019h ; error on abort
LinFlg equ 01Ah ; 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, Togl3, TabFlg, 00000111b, ScrnA2, TabTEK
CASE F, ToglTF, FFFlag, 1 ScrnA3, YesNo
CASE Q, ToglTF, QtFlag, 1, ScrnA4, YesNo
CASE C, ToglTF, AbtFlg, 1, ScrnA5, YesNo
CASE P, ToglTF, LinFlg, 1, ScrnA6, 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
TabTEK: db ' Re-Tab',0
db 'As Found',0
db ' No Tabs',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,'Default tabbing mode? . . . . . ',2
ScrnA2: db ' ' ; current value
db cr,lf,lf
;
db tab,tab,'(F) ',1,'Retain form feeds in ASCII files? . . ',2
ScrnA3: db ' ' ; current value
db cr,lf,lf
;
db tab,tab,'(Q) ',1,'Default to quiet mode? . . . . . . . ',2
ScrnA4: db ' ' ; current value
db cr,lf,lf
;
db tab,tab,'(C) ',1,'User abort (^C) is an error? . . . . ',2
ScrnA5: db ' ' ; current value
db cr,lf,lf
;
db tab,tab,'(P) ',1,'Show line count progress reports? . . ',2
ScrnA6: db ' ' ; current value
db cr,lf
;
db lf,lf ; fill rest of screen
;
db 0 ; terminator
;
; Help screen section . . .
;
HelpA: db CR,LF
;
db HON,'Option M -- File Mode.',HOF,' FILT has four file '
db 'modes: "Source Code" for ASCII',CR,LF
db 'assembler source code; "ASCII Text" for ordinary '
db ' ASCII text files;',CR,LF
db '"WordStar W" for WordStar document files (removes '
db ' dot commands); and',CR,LF
db '"WordStar D" for WordStar document files (retains dot '
db ' commands). Any of',CR,LF
db 'these modes can be made the default. See the accompanying'
db ' help file for',CR,LF
db 'details on the differences between these modes. Whatever '
db 'mode is chosen as',CR,LF
db 'the default can be changed with the "S", "A", "W", '
db 'or "D" command line',CR,LF
db 'options.'
db CR,LF,LF
;
db HON,'Option T -- Tabbing Mode.',HOF,' If "As Found" is '
db 'chosen, tabs and spaces will be',CR,LF
db 'left as they are found by default. Otherwise, tabs will '
db 'always be expanded',CR,LF
db 'to spaces on input. If "Re-Tab" is chosen, then FILT '
db 'will re-tab the file',CR,LF
db 'on output. The chosen default can be overridden with '
db 'the "T", "E", or "K"',CR,LF
db 'command line options.'
db CR,LF,LF
;
db HON,'Option F -- Retain form feeds.',HOF,' FILT normally '
db 'removes form feeds from ASCII',CR,LF
db 'text and source code files by default. Choosing "Yes" '
db 'causes form feeds to',CR,LF
db 'be retained. The default selected here can be toggled '
db 'with the command',CR,LF
db 'line "F" option. (Form feeds are never removed in the '
db 'WordStar modes.)'
db CR,LF
;
db ':',CR,LF ; new page
;
db HON,'Option Q -- Quiet Mode.',HOF,' 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 '
db 'be toggled with the',CR,LF
db 'command line "Q" option.'
db CR,LF,LF
;
db HON,'Option C -- Error on user abort.',HOF,' Pick "Yes" '
db 'if you want the program error',CR,LF
db 'flag set when FILT is aborted via a ^C from the console. '
db ' In that case the',CR,LF
db 'error handler will be invoked (if one is installed), '
db 'allowing the user to',CR,LF
db 'also abort a running SUB or ZEX batch job. That can '
db 'be very useful. If',CR,LF
db 'you would rather not have the aggravation, however, '
db ' select "No" and an',CR,LF
db 'abort will not be considered an error.'
db CR,LF,LF
;
db HON,'Option P -- Progress Reports.',HOF,' Normally FILT '
db 'displays a running line count',CR,LF
db 'while it is working. This report can be suppressed by '
db 'selecting "No".',CR,LF
;
db 0 ; Terminator
;
end