--------------------------------------------------------------------------- This document describes all of the one byte patches which can be made to v2.4 of CRUNCH.COM and UNCR.COM. It should be noted however, that the great majority of users can COMPLETELY IGNORE this document if they so choose, as the "distribution" copies of CRUNCH and UNCR can be used immediately just the way they are. The only notable exception to this is for people running certain versions of TURBODOS, who MUST make the TURBODOS patch, or the pro- grams may not operate properly. Regular CP/M 2.2, CP/M +, and ZCPR users need not worry about this. --------------------------------------------------------------------------- All patches are itemized below. In each case, the patches can be made to either program for corresponding identical effects (except the "Bigger File" patch and the "Archive mode" patch which have no significance on the UNCRunch program. Also note that UNCR does not use the filetype exclusion list described at the end of this document). CRUNCH/UNCR v2.3 was released with another program which provided prompted automatic patching of four of the options. This so called v2.3 "CRINSTAL" program IS compatible with v2.4 and will perform the same functions on the newer programs. This version, however, is being released with a short "overlay" file which can be edited with any word processor. This can then be merged with the "distribution" CRUNCH/UNCR, resulting in a "personalized" copy. This allows easy setting of ALL possible "patch bytes", and provides a mechanism for defining a user-configurable "filetype exclusion list". If you choose to use this method, you can pretty much ignore this document as well, as most of the text below is repeated next to each appropriate question in the overlay file, CRUN-OVL.ASM. Simple two step instructions for performing the assembly/merge are can be found at the beginning of that file. Bytes can of course be individually patched in a traditional manner using SID or equivalent. Below is a description of the bytes and their function: --------------------------------------------------------------------------- Byte Significance ==== ============ 10BH "Z3 Flag". Non-zero configures program for use on the ZCPR3 oper- ating system. Non-zero values in either 109H or 10AH ( Z3 "en- vironment descriptor" ) will have the same effect, so running Z3INS on the programs precludes the necessity of making this patch. 10CH "Archive Mode Flag". If non-zero, the program will normally run in the "archive" backup mode, unless toggled back off by the /A com- mand line option. Since this is sort of a specialty mode, this byte should probably be left in its default zero state. 10EH "Quiet Mode Flag". Patch to any non-zero value to have the program default to "quiet" mode, ie the program will not display lots of churning numbers on the screen during operation. Corresponds to the /Q command line option which will toggle the default mode defined by the patch. 10FH "Overwrite Without Prompt Flag". If patched to non-zero, existing files will be overwritten without a prompt. Toggled by the /O command line option. 110H "Turbo-DOS Flag". If patched to non-zero, program will not attempt multi-sector I/O. Otherwise the program will use it if the BDOS "Get System Version" call returns a value of 3.0 or higher. 111H "Confirm (tag) Mode Flag". If set to non-zero, the program default to the "tag" mode of operation everytime its is invoked. Toggled by the /C (alternate: /T) command line option. 112H "Warm Boot Flag". If set non-zero, the program will perform a "warm boot", as opposed to a return to the CCP, each time its is run. This is normally not necessary, but is included for people running systems who have reason to believe that the CCP will not remain resident. 113H "Bigger File Flag". If set non-zero, the program will NOT ask the question "Result file larger than original. Keep it anyway?". The assumed answer to the question will be "Yes". In v2.4, this ques- tion is only asked when the destination drive and user areas are identical. See NOTES24.DOC for more information. 114H "Maximum Drive allowed, plus one". The default value here is "FF", effectively disabling the feature. If you so desire, you may enter a value here ("A" = 2, "B" = 3, etc), in which case the program will intercept any references to higher drives (giving an "Invalid Drive" error). This feature has very little usefulness in prac- tice. If you leave this feature deactivated, your operating system will gladly tell you about the invalid drive spec when it gets it. 115H "Maximum User Code Allowed, plus one". Similar to above. Note however that the command line parser will reject all references to values above 15 no matter what. In this case, you don't even get an "Invalid User Area" message, you will get "Invalid Argument". 31 user areas are NOT currently supported. About as useless as the above patch. 116H "Spare Flag". For future use. --------------------------------------------------------------------------- Filetype Exclusion List (CRUNCH only) The next 30 (decimal) bytes may contain up to 10 three-letter filename suffixes. When encountered, no attempt will be made to compress these files unless explicitly specified; they will be either copied or ignored (see NOTES24.DOC). The defaults are ARC, ARK, and LBR. The first two are always compressed already, so any attempt at recompression will almost certainly be a waste of time. While an .LBR file may or may not contain files that have already been compressed, most commonly they already are. Notes: Some users may prefer to add COM, as object code files often do not compress well, sometimes not at all. On the other hand, usually some comp- ression will be realized, and in cases where there is embedded text or other patterns they may compress quite nicely. Microsoft REL files, which are bitwise encoded, are even less likely to compress, but may also comp- ress when embedded text is present. SLR REL files are not bit encoded and are more likely to show modest compression. Since the v2.4 program will now replace compression failures with straight copies automatically, the de- fault configuration here leaves it to the program to try these files out. It is not necessary to add ?Z? and ?Q? to the list, as CRUNCH v2.4 will recognize squeezed and crunched files directly by reading their headers. Including these filetypes may save some time however, as it precludes the necessity of opening the files for analysis. On the other hand it may prevent the compression, based on suffix alone, of certain files which would normally be compressible (eg assembly source with an ".AZM" suffix). In any event, you can make your own decisions right here: Byte Default ==== ======= 117H 'ARC' } 11AH 'ARK' } Default exclusion filetypes 11DH 'LBR' } 120H 0,0,0 } 123H 0,0,0 } 126H 0,0,0 } Room for up to seven additional user defined filetype 129H 0,0,0 } exclusions. "?" char may be used. Must fill list con- 12CH 0,0,0 } secutively, and zero must follow last entry. 12FH 0,0,0 } 132H 0,0,0 } 135H 00H !! If all ten are used, this byte MUST be zero! *** End of User Patchable Area ***