Contents of the README file
Program Name: Crunch
Usage: Crunch outputfile[.arc] [inputfile [...]]
Purpose: Create archive files using LZW 12-bit compression that are
compatible with those produced by PKWare and SEA programs.
* This program does NOT update or freshen an archive. It can only be
used to create NEW archives!
* If no input file specifications are provided on the command line, the
program assumes *.*
* Only two stowage methods are supported by this program...they are
Crunching: Input is first "packed" to remove repeated character
sequences and is then compressed using 12-bit LZW
compression techniques. Adaptive resets of the
algorithm's code table may also be utilized.
Storing: The input file is copied into the archive with no
* Files will be "stored" in the resulting archive if the program's
crunching routine does not produce a smaller result.
* 13-bit "squashing" has not been implemented in this program. It has
been left as an exercise for the student (see the file Squash.How for
some hints on how to proceed).
* I originally wanted to release full Turbo Pascal source code for the
program. Unfortunately, the "all TP" version was slower than
mollasses on a cold day. I therefore re-coded several routines
within the program using inline assembler. The asm stuff is heavily
commented, but if it still looks like gobbledygook to you, I
apologize. The intent was to release this package as both an
educational tool and as a program that did useful work. The only way
that the second objective could be realized was to replace certain
critical routines with something a little faster than what the TP
compiler could provide.
* Be careful...this TP 5.0 program was compiled with the "force far
calls" option turned ON. The inline routines rely on this fact. If
you compile with this option turned OFF, the results will be
* The author of the programs contained within CRUNCH10.ARC makes no
claim as to the correctness or suitability of these programs for any
particular purpose whatsoever. If you use these programs or the
algorithms from which they were derived, you must assume all
responsibility for the consequences of that use.
* The routines presented in Crunch.Pas were derived from the lzcomp.asm
and lzdcmp.asm programs written and released by Tom Pfau back in
1985. The programs in this archive are yours...do with them what you
will, but please note that System Enhancements Associates (SEA)
regards ARC as their trademark. Should you wish to use the Crunch
source code in your own program, I suggest you contact SEA for
licensing details and restrictions. I WILL NOT ACCEPT any
responsibility for any legal problems that may arise as a result of
the use or misuse of the ARC processing code contained in Crunch. I
do not have any agreement myself with SEA; SEA has indicated that
public domain programs may process .ARC files without any
Richard P. Byrne (rpb)