;--------------------------------------------------------- ; LBREXT34 Patch offsets 27 SEP 91 odflt equ 0b ;overwrite existing files udflt equ 0ch ;uncompress members idflt equ 15h ;inspect mode ;--------------------------------------------------------- ;DATA FOR CNFG PROGRAM LINKAGE ;function definitions - **needed for CASE Table entries** switch equ 0 ;toggle bit n in a byte (n is specified) text equ 1 ;replace a text string of specified length duspec equ 2 ;replace a ZCPR style DU specification (NOT DIR:!) hexrad equ 3 ;edit byte/word using HEX radix decrad equ 4 ;edit byte/word using DECIMAL radix textlc equ 5 ;same as function text, but lower case is OK filesp equ 6 ;change all or part of a filespec DU:FN.FT togl3 equ 7 ;toggle to one of three options: 001B, 010B, 100B togltf equ 8 ;toggle a byte between 0ffh and 0 ;see ZCNFG.WS (or .DOC) for a full definition of these functions. ;ASCII definitions ctlc equ 3 bs equ 8 ;backspace ht equ 9 ;horizontal tab tab equ 9 ;horizontal tab lf equ 10 ;line feed cr equ 13 ;carriage return spc equ 20h ;space char ;========================================================= ; MACRO DEFINITIONS ;this macro used for bitmapped byte data bitmap macro A,functn,offset,bit,scr,dat db '&A' dw functn,offset db 1 shl bit dw scr,dat endm ;========================================================= ;meaning of parameters in BITMAP & VECTOR macros: ; A = character used in screen image for this menu item. ; Must be unique, and not one of: ?/,.<>XQxq ; offset = byte offset in config block ; functn = function for conversion from config. block to screen ; scr = screen location ; dat = extra data word if required. Normally 0 ;produces a record which is 8 bytes long ;========================================================= ;this macro used for byte data structures vector macro A,functn,offset,byte,scr,dat db '&A' dw functn,offset db byte dw scr,dat endm ;************************************************************ ; START OF OVERLAY CODE ;************************************************************ ;The next 13 bytes must remain in this location. rst 0 ;for safety - file won't execute dw menu1 ;for relocation of addresses, this ;points to the NEXT location. ;first MENU list must be here. All names are local. menu1: dw menu1,menu1,scrn1,case1,help1 ;MENU A ;========================================================= case1: db (case1x-case11)/(case12-case11) ;number of cases db case12-case11 ;length of each record ;The first two entries in the case table must be labeled to ;provide data for the calculation at case1:. Subsequent ;entries (one for each menu selection) need not be labeled. case11: vector O, togltf, odflt, 1, scr100, nydata case12: vector U, togltf, udflt, 1, scr101, yndata vector I, togltf, idflt, 1, scr102, yndata ;the next entry is a label which terminates the list. ;It is required for use in the calculation at case1: case1x: ;label used to calc number of entries ;========================================================= scrn1: DB CR,LF DB TAB,TAB,TAB,' LBREXT CONFIGURATION',CR,LF DB CR,LF DB CR,LF DB TAB,TAB,'O) Overwrite existing files',TAB,TAB SCR100: DB ' ',CR,LF DB CR,LF DB TAB,TAB,'U) Uncompress member files',TAB,TAB SCR101: DB ' ',CR,LF DB CR,LF DB TAB,TAB,'I) Inspect mode',TAB,TAB,TAB,TAB SCR102: DB ' ',CR,LF DB 0 ;========================================================= ; FUNCTION DATA LIST ;data pair for representing bit values in screen image ;Can also be used for function 8 display (True/False) ;these are null terminated strings. Note the 'DZ'. yndata: defz 'YES' ;for 1=yes nydata: defz 'NO ' ;for 0=yes defz 'YES' ;========================================================= help1: DB CR,LF DB 'The O option determines whether LBREXT will' DB ' overwrite existing files without',CR,LF DB 'asking permission first. Set this option to' DB ' "NO" if you want LBREXT to',CR,LF DB 'pause and prompt if a file with the same name' DB ' as the one being extracted',CR,LF DB 'already exists in the destination directory.' DB ' Set it to "YES" to',CR,LF DB 'automatically overwrite existing files.',CR,LF DB CR,LF DB 'The U option determines how compressed files' DB ' are to be treated. Set this',CR,LF DB 'option to "YES" if you want LBREXT to expand,' DB ' (uncompress), squeezed,',CR,LF DB 'crunched or LZH encoded member files as they' DB ' are extracted from the library.',CR,LF DB ' Set it to "NO" if you want the files to be' DB ' extracted from the library but',CR,LF DB 'left in compressed form.',CR,LF DB CR,LF DB 'The I option determines whether LBREXT defaults' DB ' to Inspect mode. Set this',CR,LF DB 'to "YES" if you want to "tag" the files to be' DB ' extracted.',CR,LF DB 0 ;=========================================================