home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / compress / compres4.lzh / README < prev   
Text File  |  1990-10-25  |  3KB  |  84 lines

  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".
  84.