|
|
1.1 root 1: Compress version 4.0 improvements:
2: o compress() speedup (10-50%) by changing division hash to xor
3: o decompress() speedup (5-10%)
4: o Memory requirements reduced (3-30%)
5: o Stack requirements reduced to less than 4kb
6: o Removed 'Big+Fast' compress code (FBITS) because of compress speedup
7: o Portability mods for Z8000 and PC/XT (but not zeus 3.2)
8: o Default to 'quiet' mode
9: o Unification of 'force' flags
10: o Manual page overhaul
11: o Portability enhancement for M_XENIX
12: o Removed text on #else and #endif
13: o Added "-V" switch to print version and options
14: o Added #defines for SIGNED_COMPARE_SLOW
15: o Added Makefile and "usermem" program
16: o Removed all floating point computations
17: o New programs:
18: compressdir - compress all files on a directory
19: uncompressdir - uncompress all files on a directory
20: zcmp - cmp compressed files
21: zdiff - diff compressed files
22: The following are with thanks to philabs!per:
23: btoa - convert binary to ascii for mailing
24: atob - convert ascii to binary with checksum
25: tarmail - tar, compress, btoa, and mail files
26: untarmail - restore "tarmail" files
27:
28: WARNING: These last few programs are not compatible
29: with the original ones from the net. The encoding
30: has changed. See btoa.c for more info.
31:
32: The "usermem" script attempts to determine the maximum process size. Some
33: editing of the script may be necessary (see the comments). If you can't get
34: it to work at all, just create file "USERMEM" containing the maximum process
35: size in decimal.
36:
37: The following preprocessor symbols control the compilation of "compress.c":
38:
39: o USERMEM Maximum process memory on the system
40: o SACREDMEM Amount to reserve for other proceses
41: o SIGNED_COMPARE_SLOW Unsigned compare instructions are faster
42: o NO_UCHAR Don't use "unsigned char" types
43: o BITS Overrules default set by USERMEM-SACREDMEM
44: o vax Generate inline assembler
45: o interdata Defines SIGNED_COMPARE_SLOW
46: o M_XENIX Makes arrays < 65536 bytes each
47: o pdp11 BITS=12, NO_UCHAR
48: o z8000 BITS=12
49: o pcxt BITS=12
50: o BSD4_2 Allow long filenames ( > 14 characters) &
51: Call setlinebuf(stderr)
52:
53: The difference "usermem-sacredmem" determines the maximum BITS that can be
54: specified with the "-b" flag.
55:
56: memory: at least BITS
57: ------ -- ----- ----
58: 433,484 16
59: 229,600 15
60: 127,536 14
61: 73,464 13
62: 0 12
63:
64: The default is BITS=16.
65:
66: The maximum bits can be overrulled by specifying "-DBITS=bits" at
67: compilation time.
68:
69: WARNING: files compressed on a large machine with more bits than allowed by
70: a version of compress on a smaller machine cannot be decompressed! Use the
71: "-b12" flag to generate a file on a large machine that can be uncompressed
72: on a 16-bit machine.
73:
74: The output of compress 4.0 is fully compatible with that of compress 3.0.
75: In other words, the output of compress 4.0 may be fed into uncompress 3.0 or
76: the output of compress 3.0 may be fed into uncompress 4.0.
77:
78: The output of compress 4.0 not compatable with that of
79: compress 2.0. However, compress 4.0 still accepts the output of
80: compress 2.0. To generate output that is compatable with compress
81: 2.0, use the undocumented "-C" flag.
82:
83: Check the Makefile, then "make".
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.