Скачать Crunch v1.0 - LZW 12 Bit File Archiver

Richard Byrne
Скачать файл (29,93 Кб)

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.

Program Notes:

  • 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
          Storing:  The input file is copied into the archive with no
                    compression applied.
  • 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 unpredictable.
  • 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 restrictions.