; XFORCF.Z80 ; ; ZCNFG configuration module for XFOR.COM. The assembled version of ; this file must be named XFORxx.CFG, where xx is the version number ; of XFOR, to be automatically recognized by ZCNFG. ; ; ; Version 4.0 -- December 18, 1990 -- Gene Pizzetta ; For XFOR 1.1. Added video attribute options for header and first ; line of each entry. Eliminated unnecessary "MACLIB Z80" statement, ; left over from an Intel version. ; ; Version 3.0 -- December 15, 1990 -- Gene Pizzetta ; For XFOR 1.0. Added clear screen and variable overlap ; configuration options. ; ; Version 2.0 -- December 8, 1990 -- Gene Pizzetta ; For XFOR 0.2 beta release. ; ; Version 1.0 -- December 1, 1990 -- Gene Pizzetta ; For ZFOR 0.1 beta release. ; ; Patch locations . . . ; HdrFlg equ 015h ; print header flag HdrTag equ 016h ; header for ZFILES.LST or SPECIAL HdrAtr equ 017h ; video attributes for header EntAtr equ 018h ; video attributes for entry QtFlag equ 019h ; quiet flag SCFlag equ 01Ah ; screen paging flag SpcFlg equ 01Bh ; double spacing flag ClsFlg equ 01Ch ; clear screen flag OlpFlg equ 01Dh ; variable overlap flag SynFlg equ 01Eh ; for FN.FT in syntax DftDrv equ 01Fh ; default drive DftUsr equ 020h ; default user DftFn equ 021h ; default filename PrgNam equ 02Ch ; program name for usage screen ; ; 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 ; highlighting on HOF equ 2 ; highlighting 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-CaseA0)/(CaseA1-CaseA0) ; number of cases db CaseA1-CaseA0 ; length of each record ; CaseA0: db '0' ; menu selector dw ToglTF ; ZCNFG function number dw HdrFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA0 ; screen location dw YesNo ; string address ; CaseA1: db '1' ; menu selector dw ToglTF ; ZCNFG function number dw HdrTag ; patch location in file db 1 ; number of bytes to change dw ScrnA1 ; screen location dw ZfSpc ; string address ; CaseA2: db '2' ; menu selector dw DecRad ; ZCNFG function number dw HdrAtr ; patch location in file db 1 ; number of bytes to change dw ScrnA2 ; screen location dw AtRnge ; string address ; CaseA3: db '3' ; menu selector dw DecRad ; ZCNFG function number dw EntAtr ; patch location in file db 1 ; number of bytes to change dw ScrnA3 ; screen location dw AtRnge ; string address ; CaseA4: db '4' ; menu selector dw ToglTF ; ZCNFG function number dw QtFlag ; patch location in file db 1 ; number of bytes to change dw ScrnA4 ; screen location dw YesNo ; string address ; CaseA5: db '5' ; menu selector dw Togl3 ; ZCNFG function number dw SCFlag ; patch location in file db 7 ; number of bytes to change dw ScrnA5 ; screen location dw YesNo ; string address ; CaseA6: db '6' ; menu selector dw ToglTF ; ZCNFG function number dw SpcFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA6 ; screen location dw YesNo ; string address ; CaseA7: db '7' ; menu selector dw ToglTF ; ZCNFG function number dw ClsFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA7 ; screen location dw YesNo ; string address ; CaseA8: db '8' ; menu selector dw ToglTF ; ZCNFG function number dw OlpFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA8 ; screen location dw YesNo ; string address ; CaseA9: db '9' ; menu selector dw ToglTF ; ZCNFG function number dw SynFlg ; patch location in file db 1 ; number of bytes to change dw ScrnA9 ; screen location dw OmtWhl ; string address ; CaseAD: db 'D' ; menu selector dw DecRad ; ZCNFG function number dw DftDrv ; patch location in file db 1 ; number of bytes to change dw ScrnAD ; screen location dw DrRnge ; string address ; CaseAU: db 'U' ; menu selector dw DecRad ; ZCNFG function number dw DftUsr ; patch location in file db 1 ; number of bytes to change dw ScrnAU ; screen location dw UsRnge ; string address ; CaseAF: db 'F' ; menu selector dw FileSp ; ZCNFG function number dw DftFn ; patch location in file db 0 ; number of bytes to change dw ScrnAF ; screen location dw 0 ; string address ; CaseAP: db 'P' ; menu selector dw Text ; ZCNFG function number dw PrgNam ; patch location in file db 8 ; number of bytes to change dw ScrnAP ; screen location dw 0 ; string address ; CaseAX: ; for calculation of list length ; ; Case table support . . . ; YesNo: db 'YES',0 ; if value is FFh (ToglTF) or 001 (Togl3) db ' NO',0 ; if value is 00h (ToglTF) or 010 (Togl3) db 'ASK',0 ; if value is 100 (Togl3) OmtWhl: db 'WHEEL',0 ; if value is FFh (ToglTF) db ' OMIT',0 ; if value is 00h (ToglTF) ZfSpc: db 'SPECIAL',0 ; if value is FFh (ToglTF) db ' ZFILES',0 ; if value is 00h (ToglTF) AtRnge: dw 0,8 ; minimum/maximum for HdrAtr, EntAtr DrRnge: dw 0,16 ; minimum/maximum for DftDrv UsRnge: dw 0,31 ; minimum/maximum for DftUsr ; ; Screen image section . . . ; ScrnA: db cr,lf,tab,tab,tab,' XFOR Installation Menu' db cr,lf,lf ; db tab,tab,'(0) ',1,'Print header? . . . . . . . . . . . . ',2 ScrnA0: db ' ' ; current value db cr,lf ; db tab,tab,'(1) ',1,'Use which header? . . . . . . . . ',2 ScrnA1: db ' ' ; current value db cr,lf ; db tab,tab,'(2) ',1,'Header video attributes . . . . . . . ',2 ScrnA2: db ' ' ; current value db cr,lf ; db tab,tab,'(3) ',1,'Entry first line attributes . . . . . ',2 ScrnA3: db ' ' ; current value db cr,lf ; db tab,tab,'(4) ',1,'Default to quiet mode? . . . . . . . ',2 ScrnA4: db ' ' ; current value db cr,lf ; db tab,tab,'(5) ',1,'Page screen output? . . . . . . . . . ',2 ScrnA5: db ' ' ; current value db cr,lf ; db tab,tab,'(6) ',1,'Double-space between entries? . . . . ',2 ScrnA6: db ' ' ; current value db cr,lf ; db tab,tab,'(7) ',1,'Clear screen for each page? . . . . . ',2 ScrnA7: db ' ' ; current value db cr,lf ; db tab,tab,'(8) ',1,'Use variable page overlap? . . . . . ',2 ScrnA8: db ' ' ; current value db cr,lf ; db tab,tab,'(9) ',1,'Omit FN.FT in syntax or use Wheel? ',2 ScrnA9: db ' ' ; current value db cr,lf ; db tab,tab,'(D) ',1,'Default source drive (A=1) . . . . . ',2 ScrnAD: db ' ' ; current value db cr,lf ; db tab,tab,'(U) ',1,'Default source user . . . . . . . . . ',2 ScrnAU: db ' ' ; current value db cr,lf ; db tab,tab,'(F) ',1,'Default filename . . . . . .',2 ScrnAF: db ' ' ; current value db cr,lf ; db tab,tab,'(P) ',1,'Program name for usage screen . .',2 ScrnAP: db ' ' ; current value db cr,lf ; db lf ; fill rest of screen ; db 0 ; terminator ; ; Help screen section . . . ; HelpA: db CR,LF ; db HON,'Option (0)',HOF,' -- If this option is set to YES, a ' db 'header will be displayed at',CR,LF db 'the top of each screen page by default, if paging is ' db ' in effect. The',CR,LF db 'default here is toggled by the "H" command line option.' db CR,LF,LF ; db HON,'Option (1)',HOF,' -- This option determines which of ' db 'two headers will be used by',CR,LF db 'option 0, above, or by command line option "H". If ZFILES ' db ' is selected, a',CR,LF db 'special header for ZFILES.LST will be used. If SPECIAL ' db 'is selected, XFOR',CR,LF db 'will display a header of your design. The special header ' db 'must be inserted',CR,LF db 'into XFOR using the patch file included in the distribution ' db 'library. The',CR,LF db 'default here is toggled by the "A" command line option.' db CR,LF,LF ; db HON,'Option (2)',HOF,' -- As distributed, when XFOR displays ' db 'a header, it tries first',CR,LF db 'to use reverse video. If reverse video is not available ' db ' in an extended',CR,LF db 'TCAP, then XFOR attempts to use standout video, which ' db 'is usually dim,',CR,LF db 'bright, or reverse. If other attributes are available in ' db 'your TCAP, or if',CR,LF db 'you want XFOR to always use the standout string or no attributes ' db ' at all,',CR,LF db 'you can set that here: 0=no attributes, 1=blink, 2=reverse, ' db '3=blink-',CR,LF db 'reverse, 4=underline, 5=blink-underline, 6=reverse-underline, ' db '7=blink-',CR,LF db 'reverse-underline, 8=standout.' db CR,LF,LF,LF,LF ; db HON,'Option (3)',HOF,' -- As distributed, XFOR displays the ' db 'first line of each entry in',CR,LF db 'standout video, if it is available in your TCAP. The video ' db 'attributes used',CR,LF db 'here can be selected in the same manner as the attributes ' db 'for the header.',CR,LF db 'See option 2, above, for details. Standout is also ' db ' used for a few',CR,LF db 'messages, such "[more]". A zero here will also turn off this ' db 'highlighting.' db CR,LF,LF ; db HON,'Option (4)',HOF,' -- This option determines whether XFOR ' db ' defaults to quiet mode',CR,LF db '(not a dramatic difference). If set to YES, the "end of ' db 'listing" and the',CR,LF db '"aborted" messages will be suppressed.' db CR,LF,LF ; db HON,'Option (5)',HOF,' -- This is a three-way option. ' db ' If YES is selected, screen',CR,LF db 'output will be paged. If set to NO, output will be continuously ' db 'scrolled.',CR,LF db 'If ASK is selected, the user will be asked on invocation ' db 'if he wants paged',CR,LF db 'output. Most users will want YES here, but remote systems ' db 'should probably',CR,LF db 'set this option to ASK. The "P" and "N" command line options ' db 'will override',CR,LF db 'whatever is selected here.' db CR,LF,LF,LF,LF,LF,LF,LF ; db HON,'Option (6)',HOF,' -- As distributed XFOR leaves no space ' db 'between entries as they',CR,LF db 'are displayed on the screen, but the first line of ' db ' each entry is',CR,LF db 'highlighted. Some users may prefer a blank line between ' db ' each entry,',CR,LF db 'especially if highlighting is not supported, although the ' db 'number of entries',CR,LF db 'displayed on each screen will be reduced. For a blank line ' db 'between entries',CR,LF db 'select YES. The default here is toggled by the "S" command ' db ' line option.' db CR,LF,LF ; db HON,'Option (7)',HOF,' -- As distributed XFOR clears the ' db 'screen before each page is',CR,LF db 'displayed. If NO is selected here, the screen will not ' db 'be cleared. If a',CR,LF db 'header (Option 0) or variable screen overlap (Option 8) ' db ' is used, this',CR,LF db 'option should be YES for best results.' db CR,LF,LF ; db HON,'Option (8)',HOF,' -- As distributed XFOR displays each ' db 'entry complete on a screen',CR,LF db 'page using variable screen overlap. That is, if an entry ' db ' is not complete',CR,LF db 'at the bottom of the screen, it is displayed from its beginning ' db 'at the top',CR,LF db 'of the next screen. If NO is selected here, the entry will ' db 'continue on the',CR,LF db 'next screen with the next line.' db CR,LF,LF,LF,LF,LF,LF ; db HON,'Option (9)',HOF,' -- This option affects only the usage ' db 'screen. If set to OMIT,',CR,LF db 'the source filename parameter is omitted from the displayed ' db 'syntax line and',CR,LF db 'a series of example command lines is included in the display. ' db ' In addition,',CR,LF db 'a configured program name (Option P) is displayed instead ' db ' of the name by',CR,LF db 'which XFOR was invoked. If this option is set to WHEEL, ' db 'full syntax is',CR,LF db 'displayed if the wheel byte is set, but the source filename ' db 'parameter is',CR,LF db 'omitted for non-wheels. The OMIT selection is intended ' db ' for non-remote',CR,LF db 'users who call XFOR only by means of aliases or an internally ' db 'configured',CR,LF db 'filename and want the help screen syntax to represent ' db ' the way XFOR is',CR,LF db 'supposed to be used.' db CR,LF,LF ; db HON,'Option (D)',HOF,' -- This default drive is used only if ' db 'no DU or DIR specification',CR,LF db 'is given on the command line. Set it to 0 if the current ' db 'logged drive is',CR,LF db 'to be used. Otherwise, set it to the drive you want as the ' db 'default: A=1,',CR,LF db 'B=2, C=3, D=4, E=5, F=6, G=7, H=8, I=9, J=10, K=11, L=12, ' db 'M=13, N=14, O=15,',CR,LF db 'and P=16.' db CR,LF,LF ; db HON,'Option (U)',HOF,' -- This default user is used only if ' db 'no DU or DIR specification',CR,LF db 'is given on the command line and if Option D is set to a ' db 'value other than',CR,LF db '0. You may enter any user number from 0 to 31.' db CR,LF,LF,LF ; db HON,'Option (F)',HOF,' -- This default source filename is ' db 'used if no filename is given',CR,LF db 'on the command line. If a filename preceded by a colon ' db 'is given on the',CR,LF db 'command line, this default name is ignored.' db CR,LF,LF ; db HON,'Option (P)',HOF,' -- This is the program name that will ' db 'be displayed in the syntax',CR,LF db 'line and in example command lines on the usage screen if ' db 'the Wheel byte is',CR,LF db 'off or if Option 9 is set to OMIT. The option can be used ' db ' to display the',CR,LF db 'name of the alias by which XFOR is invoked.' db CR,LF ; db 0 ; Terminator ; end