; This is the common header for all the files of the BUSH system. It ; contains all of the patchable configuration items that are used by any of ; the modules and by the main BUSH program. The Configuration function ; changes the values in this header and then writes a copy of the header to ; the disk images of the BUSH.COM file and all of the other BUSH system ; modules. 001A ESC equ 1ah ; ASCII ESCape character FE00 Z3ENV equ 0fe00h 0100 BUSHEADER: 0100 C3 0200 jp START 0103 5A 33 45 4E defb 'Z3ENV' 0108 01 defb 1 ; External Environment Descriptor 0109 FE00 Z3EADR: defw Z3ENV ; Disk where temporary files are stored (A = 1) 010B 54 45 4D 44 defb 'TEMDSK>' 0112 01 TEMDSK: defb 'A'-'@' ; File Type Skip Table ; While building the list of files to back up from the selected disks, ; BUSH will delete files with file types matching those in the list below. ; This allows you to avoid cluttering up your backup disks with BAK, PRN, ; HEX, and other similar intermediate-type files that can easily be ; recreated from the matching source file, and with temporary-type files ; that might be left over from some interrupted process. If you keep ; archive copies of particular file types (LBR/ARC files) on separate ; disks from your main system backup files, you can also specify those ; here to avoid having duplicate backup copies of these (typically large) ; files. Up to SKPMAX file types may be selected to be skipped. 0010 SKPMAX equ 16 ; Max # of types to skip 0030 SKPSIZ equ SKPMAX * 3 ; size of the skip type area 0113 23 53 4B 50 defb '#SKPTYP>' 011B 0B NOSKIP: defb 11 ; # of filetypes in skip list 011C 53 4B 50 54 defb 'SKPTYPS>' 0124 50 52 4E SKPTYP: defb 'PRN' ; your assembler may use .LST instead 0127 48 45 58 defb 'HEX' 012A 53 59 4D defb 'SYM' 012D 42 41 4B defb 'BAK' 0130 24 24 24 defb '$$$' 0133 54 4D 50 defb 'TMP' 0136 42 41 44 defb 'BAD' ; FBAD's bad-block file 0139 4F 55 54 defb 'OUT' ; BD04's '[LOCKED].OUT' file 013C 53 57 50 defb 'SWP' 013F 4C 42 52 defb 'LBR' ; No libraries - backed up separately 0142 41 52 4B defb 'ARK' ; likewise archives 0145 000F defs SKPSIZ - ($ - SKPTYP) ; expansion room ; Maximum Backup Disk Wasted Space ; Since BUSH can break up files into fragments, it can utilize disk space ; more efficiently than previous backup utilities. If the next file in ; the list of files to back up is larger than the free space remaining, ; BUSH will see if the amount of space remaining is larger than the ; value of WASTE below. If so, it will break up that file into fragments, ; and write the first fragment into the remaining space on the current ; backup disk. If the remaining space is less than WASTE Kbytes, BUSH ; will go on to the next backup disk. This allows you to avoid the ; situation of having 150K left empty on a backup disk because the next ; file in the list happens to be 152K long. 0154 57 41 53 54 defb 'WASTE>' 015A 0010 WASTE: defw 16 ; max # of Kbytes of free space to leave ; empty on each backup disk ; File Type Compression Table ; BUSH has the ability to recognize that certain file types are probably ; large files that should be compressed prior to backing them up. Such ; files include assembler source files (MAC, Z80, and ASM types), source ; files for compilers/interpreters (BAS, PAS, etc.), and database files ; (DBF, NDX, and related file types). Upon finding files of this type ; in the list of files to be backed up, BUSH will build a separate list ; of files to be crunched, and call CRUNCH.COM to compress the files. ; IT WILL THEN ERASE THE UNCOMPRESSED SOURCE FILE. ; After all files in the list of files to back up have been checked and ; compressed if required, BUSH will rebuild the file list before ; beginning the backup process. 0009 CRNMAX equ 9 ; Max # of types to compress 001B CRNSIZ equ CRNMAX * 3 ; size of the crunch type area 015C 23 43 52 4E defb '#CRNTYP>' 0164 00 NOCRN: defb 0 ; # of filetypes in crunch list 0165 43 52 4E 54 defb 'CRNTYPS>' 016D 4D 41 43 CRNTYP: defb 'MAC' 0170 5A 38 30 defb 'Z80' 0173 41 53 4D defb 'ASM' 0176 42 41 53 defb 'BAS' 0179 50 41 53 defb 'PAS' 017C 44 42 46 defb 'DBF' 017F 4E 44 58 defb 'NDX' 0182 0006 defs CRNSIZ - ($ - CRNTYP) ; expansion room ; Printer Selection Options ; Printer Name - max 30 characters, 0-terminated 0188 50 54 52 4E defb 'PTRNAME>' 0190 PTRNAME: 0190 45 70 73 6F defb 'Epson MX/FX Compatible' 01A6 00 defb 0 01A7 0008 defs 31 - ($ - PTRNAME) ; String to set printer to condensed character mode. ; Max 10 characters, null terminated. ; NOTE: The printer's condensed character mode must have at least 13.5 ; characters per inch for the file list to fit on an 8.5 inch-wide sheet. ; Most printers have a condensed mode with between 16.5 and 20 CPI, so ; this should not be a problem for most users. 01AF 53 45 54 43 defb 'SETCONDENSED>' 01BC CONDENSE: 01BC 0F defb 'O'-'@' 01BD 00 defb 0 01BE 0009 defs 11 - ($ - CONDENSE) ; String to set printer to 8 LPI. Max 10 characters, null terminated. 01C7 53 45 54 38 defb 'SET8LPI>' 01CF SET8LPI: 01CF 1A 30 defb ESC,'0' 01D1 00 defb 0 01D2 0008 defs 11 - ($ - SET8LPI) ; String to return the printer to normal default values. ; Max 20 characters, null terminated. ; DO NOT include a formfeed in this string unless it is really required ; (unlikely). BUSH will issue a formfeed to go to the top of the next ; page prior to sending the reset command string. 01DA 52 45 53 45 defb 'RESET>' 01E0 PTRESET: 01E0 1A 40 defb ESC,'@' 01E2 00 defb 0 01E3 0012 defs 21 - ($ - PTRESET) ; BUSH component storage disk/user. The disk number is 0-relative (A = 0) as ; used by the SYSLIB LOGUD and PFIND functions. 01F5 42 55 53 48 defb 'BUSHDU>' 01FC 0F 00 BUSHDU: defb 15,'A'-'A' ; default to A15: 00FE HDRLEN equ $ - BUSHEADER 01FE 0002 defs 100h - HDRLEN ; make exactly 256 bytes long endif ; Program begins executing here 0200 START: