20 July 93 LIMIT version 1.0 Data Compression Archive utility ------------------------------------------------------------------------------- LIMIT is a fast and compact data compressor/archiver. The compression & decompression routines have been written entirely in 80286 assembly, so it runs faster than many other archivers. LIMIT also compresses better than other archivers; it uses a compression method based on 32K sliding window dictionary plus huffman encoding, similar to LHA/PKZIP/ARJ, but with some improvments. LIMIT is free! You may distribute freely, as long as the program is not modified in any way. You are encouraged to contribute $20/- to the programmer if you like this archiver. 1. Files included in LIMIT 1.0 =============================== LIMIT.EXE the executable file LIMIT.DOC LIMIT documentation 2. System requirements =============================== 80286 (PC/AT) and above Minimum conventional memory: 270k for updating/creating archives 170k for extracting/testing archives 3. How to use LIMIT =============================== Usage: LIMIT command [options] archive[.LIM] [files] [@listfile] [#commentfile] The special prefix '#' specifies a comment file to be added/deleted to/from archive. Prefix '@' species a list file to be included. A list file is a text file consisting of file specfications separating by space/tab/newline. 4. Commands =============================== a[dd] add files to archive, create one if necessary c[reate] create new archive (delete previous archive of the same name) del delete files (or comment) in archive+ e[xtract] extract files in archive h[elp] display help information i[nfo] archive info shows summary of archive l[ist] list specified files in archive rd remove directories (directories must be empty.) t[est] test files in archive by perform CRC checks 5. options: (use - or / prefix) =============================== -x exclude files from the file list a list file may be specified: -x@listfile [commands: a,c,del,e,rd,t] -d add/extract directory adding files: specifies the path to add files to extracting files: specifies the path to extract to [commands: a,c,e] -n add/extract new files only [commands: a,c,e] -r recurse sub-directories [commands: a,c] -s recurse and store/extract partial paths files are added/extracted to their partial paths default: all files are added to root directory, and extracted to the current directory [commands: a,c,e] -p store/extract full original paths files are added/extracted to their original paths default: all files are added to root directory, and extracted to the current directory [commands: a,c,e] -w[h|s] include hidden or system files default: hidden/system files are not added to archive [commands: a,c] -es extract to screen default: extract to file [command: e] -y yes to all queries: 1) del command: "delete all files?" 2) e command: "overwrite file?" -m[0|1|s|x] compression methods: -m0: store only -m1: normal compression (default) -ms: fast compression -mx: maximum compression [commands: a,c] 6. Examples =============================== LIMIT a test *.c add all *.c files to test.lim archive LIMIT a test /dabc add all (default) files to directory "abc" in test.lim LIMIT t test test (using CRC checks) the archive test.lim LIMIT l test *.asm list all *.asm files in test.lim LIMIT l test \abc\* list all files in \abc directory in test.lim LIMIT e test extract all files in test.lim to current directory LIMIT e test /n extract all new files in test.lim to current directory LIMIT e test /y extract all files (overwrite, no query) to current dir LIMIT e test *.c /dc:\ extract all *.c files to C:\ LIMIT del test *.h delete all *.h files LIMIT rd test \temp remove \temp directory in archive test.lim LIMIT i * shows information of all archives in the current dir LIMIT a -mx test add all files to test.lim, with maximum compression LIMIT a test /whs add all files (including hidden & system) to test.lim LIMIT a test \abc\*.* /r /p add files, recurse sub-dirs and store full paths, i.e. include directory \abc LIMIT a test \abc\*.* /s add files, recurse sub-dirs and store new paths (excluding directory \abc) LIMTI a test \abc\*.* /r add files, recurse sub-dirs, store all files in root directory LIMIT a test \abc\*.* /p add files, store full paths LIMTI e test /p extract all files and subdirectories into original paths 7. Setting the environment string LIMIT ======================================== Options that are included in the environment string LIMIT are automatically included whenver LIMIT is run. To set the environment string, type > set LIMIT = /mx /n This tells LIMIT to use maximum compression and add/extract newer files only. However, options specified in the command line override those options in the LIMIT environment string. 8. Compression method =============================== LIMIT employs a LHA/PKZIP/ARJ-similar kind of sliding dictionary plus huffman encoding, with some minor enhancements. A compression index controls the extent to which strings are searched in the dictionary. The index for each compression option is as follows: /ms (fastest) compression: 30 /m1 (default) compression: 300 /mx (maximum) compression: 3000 However, there are files where a smaller index yields better compression. You may fine-tune the compression by controlling the index, using option /c. e.g. LIMIT a /c1000 archive *.* 9. Bugs/Comments =============================== No program is free of bugs, so report any bugs or comments or suggestions to the programmer. 10. Contributions, please! =============================== LIMIT is the product of thousands of programming hours. If you like this program, please contribute some money ($20 would be great!) to the programmer as a token of encouragement. ------------------------------------------------------------------------------- J Y LIM jlim@sunlab.cit.cornell.edu 226, Linden Ave. Apt 1. Ithaca, NY 14850 USA