Compress version 4.0 improvements:
o compress() speedup (10-50%) by changing division hash to xor
o decompress() speedup (5-10%)
o Memory requirements reduced (3-30%)
o Stack requirements reduced to less than 4kb
o Removed 'Big+Fast' compress code (FBITS) because of compress speedup
o Portability mods for Z8000 and PC/XT (but not zeus 3.2)
o Default to 'quiet' mode
o Unification of 'force' flags
o Manual page overhaul
o Portability enhancement for M_XENIX
o Removed text on #else and #endif
o Added "-V" switch to print version and options
o Added #defines for SIGNED_COMPARE_SLOW
o Added Makefile and "usermem" program
o Removed all floating point computations
o New programs:
compressdir - compress all files on a directory
uncompressdir - uncompress all files on a directory
zcmp - cmp compressed files
zdiff - diff compressed files
The following are with thanks to philabs!per:
btoa - convert binary to ascii for mailing
atob - convert ascii to binary with checksum
tarmail - tar, compress, btoa, and mail files
untarmail - restore "tarmail" files
WARNING: These last few programs are not compatible
with the original ones from the net. The encoding
has changed. See btoa.c for more info.
The "usermem" script attempts to determine the maximum process size. Some
editing of the script may be necessary (see the comments). If you can't get
it to work at all, just create file "USERMEM" containing the maximum process
size in decimal.
The following preprocessor symbols control the compilation of "compress.c":
o USERMEM Maximum process memory on the system
o SACREDMEM Amount to reserve for other proceses
o SIGNED_COMPARE_SLOW Unsigned compare instructions are faster
o NO_UCHAR Don't use "unsigned char" types
o BITS Overrules default set by USERMEM-SACREDMEM
o vax Generate inline assembler
o interdata Defines SIGNED_COMPARE_SLOW
o M_XENIX Makes arrays < 65536 bytes each
o pdp11 BITS=12, NO_UCHAR
o z8000 BITS=12
o pcxt BITS=12
o BSD4_2 Allow long filenames ( > 14 characters) &
Call setlinebuf(stderr)
The difference "usermem-sacredmem" determines the maximum BITS that can be
specified with the "-b" flag.
memory: at least BITS
------ -- ----- ----
433,484 16
229,600 15
127,536 14
73,464 13
0 12
The default is BITS=16.
The maximum bits can be overrulled by specifying "-DBITS=bits" at
compilation time.
WARNING: files compressed on a large machine with more bits than allowed by
a version of compress on a smaller machine cannot be decompressed! Use the
"-b12" flag to generate a file on a large machine that can be uncompressed
on a 16-bit machine.
The output of compress 4.0 is fully compatible with that of compress 3.0.
In other words, the output of compress 4.0 may be fed into uncompress 3.0 or
the output of compress 3.0 may be fed into uncompress 4.0.
The output of compress 4.0 not compatable with that of
compress 2.0. However, compress 4.0 still accepts the output of
compress 2.0. To generate output that is compatable with compress
2.0, use the undocumented "-C" flag.
Check the Makefile, then "make".
Name Last modified Size Description
ZMORE.1 1985-11-21 13:31 3.6K
ZMORE 1985-11-21 13:31 306
ZDIFF 1985-11-21 13:31 724
ZCMP.1 1985-11-21 13:30 797
ZCMP 1985-11-21 13:30 760
X 1985-11-21 15:01 482
USERMEM 1985-11-21 13:30 1.7K
UNTARMAIL 1985-11-21 13:30 174
TARMAIL 1985-11-21 13:30 303
README3.0 1985-11-21 13:30 8.0K
README 1985-11-21 13:29 3.1K
PIC8 1985-11-25 10:31 299K
MAKEFILE 1985-11-21 13:29 1.4K
LOGIN.COM 1985-11-25 10:28 13
COMPRESSDIR 1985-11-21 13:30 302
COMPRESS.IMP 1985-11-21 15:52 39K
COMPRESS.C 1985-11-21 13:30 39K
COMPRESS.1 1985-11-21 13:30 5.0K
BTOA.C 1985-11-21 13:30 2.3K
BTOA.1 1985-11-21 13:30 2.4K
ATOB.C 1985-11-21 13:30 2.4K
APMCOMP.C 1985-11-23 13:35 39K