	-----------------------------------------------------------------
	compr23.txt - last modified Sun Apr 28 23:40:58 1991 CST
	-----------------------------------------------------------------
	Universal archive utilities package v2.3 - Mark B. Foster

	See the 'utility history' section of this file for changes from
	v2.2.

	-----------------------------------------------------------------
	The utilities were assembled using A86 v3.22.  Special thanks to
	Pat Myrto, Mike Arst, Patrick Lee, Seth Chaiklin, and Eric Isaacson.

	Feel free to contact me with comments or problems, and especially
	with news of updated or new compression programs.  I receive email
	regularly at the following BBS:

		Programmers Resource: (206) 823-1917

	I occasionally log on to the following services as well:

		ExecRegion BBS: (312) 267-4749
		GEnie: M.FOSTER3

	I finally junked my Compu$erve account and, as a result, am now
	without an Internet mail address.  If you know of a UNIX site in the
	Chicago area that has space for another user, please contact me.

	If you have renamed any of my utilities (or the supported compression
	programs), let me know and I will assemble custom versions for you as
	time permits.

	Although these utilities have been extensively tested and all known
	bugs eradicated, I explicitly disclaim any warranty whatsoever for
	them.  Any and all risk of using them is yours alone.

	-----------------------------------------------------------------
	Introduction.
	-----------------------------------------------------------------
	This archive contains four extremely fast utilities that simplify
	the routine chores of extracting from, freshening, deleting from,
	and viewing file lists in compressed files:

		xt - extractor for zip, lzh, lzs, pak, arc, arj, dwc, md,
		     zoo, uue, sh, tar, Z, sit, pit archives

		fr - freshener for zip, lzh, lzs, pak, arc, arj, zoo, dwc
		     archives

		dl - deleter for zip, lzh, lzs, pak, arc, arj, zoo, dwc
		     archives

		vw - file lister for zip, lzh, lzs, pak, arc, arj, dwc, md,
		     zoo, tar, sit, pit archives

	They first identify the kind of archive(s) being operated on (by
	checking the internal archive format), and then invoke the
	appropriate compression programs to perform the desired task.

	-----------------------------------------------------------------
	Program syntax.
	-----------------------------------------------------------------
	xt usage: xt [-o -u] archive [filename{s}]

		-o  overwrite existing output files
		-u  unlink (delete) archive(s) after file extraction

	-----------------------------------------------------------------
	fr usage: fr [-c -s] archive [filename{s}]

		-c  set pak v2.x to use Crush for true-pak archives

		-s  set pkzip v1.10 to use Shrink
		    set pak to use Squash for arc-format archives

	-----------------------------------------------------------------
	dl usage: dl archive filename[s]

	-----------------------------------------------------------------
	vw usage: vw archive [filename{s}]

	-----------------------------------------------------------------
	General notes.
	-----------------------------------------------------------------
	Archive extensions need not be specified.

	Wildcards and pathnames are supported.  For example, 'xt *' is
	equivalent to 'xt *.*', 'xt foo*' to 'xt foo*.*', and so on.

	The '/' switch character may be used instead of '-'.

	The compression programs must reside on the path or in the same
	directory as the utilities.

	The utilities return a nonzero errorlevel upon encountering an error
	during execution.

	A cryptic usage message may be viewed by entering the utility name
	with no parameters at the DOS prompt.

	The version ID and usage message may be viewed with the command
	'type n' (where 'n' is the utility name) at the DOS prompt.

	-----------------------------------------------------------------
	Specific notes.
	-----------------------------------------------------------------
	Each of the tables in this section lists the programs supported by
	the utilities, and the switches passed to them.  A dot ('.')
	indicates no arguments.  Blanks denote that an option is not
	available.

	-----------------------------------------------------------------
	Zip-format notes.

	Pkzip, written by Phil Katz, is the de facto BBS archiver of choice
	in the U.S.  It uses two basic compression algorithms: a Huffman/
	Sliding Window with 2-3 Shanno-Fano trees and a 4-8k sliding
	dictionary (Implode), and variable length 9-13 bit Lempel-Ziv 77
	compression with an 8k buffer and partial clearing (Shrink, apparantly
	a variant of the older Squash).

	Xt and vw look first for pkunzip.exe, then for pak.exe if pkunzip
	is not found; fr and dl look first for pkzip.exe, then for pak.exe.

	For pkzip.exe v1.10, fr defaults to Implode; the 's' switch sets
	pkzip to use Shrink instead.

	+---------+------+----+-------+------+-------+----+----+
	|   pgm   | vers | xt | xt -o |  fr  | fr -s | dl | vw |
	+=========+======+====+=======+======+=======+====+====+
	|  pkzip  | 1.10 |    |       |  -f  | -fes  | -d |    |
	+---------+------+----+-------+------+-------+----+----+
	| pkunzip | 1.10 | .  |  -o   |      |       |    | -v |
	+---------+------+----+-------+------+-------+----+----+
	|   pak   | 2.51 | e  | e /wa |  f   |       | d  | v  |
	+---------+------+----+-------+------+-------+----+----+

	-----------------------------------------------------------------
	Pak notes.

	Pak, written by Gus Smedstad, is without doubt the most	versatile
	archiving program available.  Not only does it employ highly
	efficient compression routines of its own, but it handles zip
	archives and many older compression formats (see below) as well.

	Pak's generally most efficient compression algorithm is Distill, a
	Huffman/Sliding Window scheme with an 8k buffer, similar in some
	respects to pkzip's Implode.

	Pak's unique contribution in Lempel-Ziv-Welch (LZW) algorithms is
	Crush, which uses variable length 2-13 bit LZW compression with
	run-length encoding and an 8k buffer.  Crush is usually more efficient
	than either Squash or Crunch.

	For most text and executable files, the files created by pak are
	slightly larger than those created by pkzip.  However, for many
	other file types, e.g., Windows bitmaps and MSC function libraries,
	pak archives are quite a bit smaller.

	C and Pascal object files utilizing all the compression algorithms
	employed by pak are available in a programmers toolkit.

	With true-pak archives, fr sets pak.exe to use Distill by default.
	The command 'fr -c' sets pak to use Crush instead.

	Pak requires about 195k of memory.  When 195k is not available, the
	utilities abort with a status message.

	+-------+------+----+-------+----+-------+----+----+
	|  pgm  | vers | xt | xt -o | fr | fr -c | dl | vw |
	+=======+======+====+=======+====+=======+====+====+
	|  pak  | 2.51 | e  | e /wa | f  | f /cr | d  | v  |
	+-------+------+----+-------+----+-------+----+----+

	-----------------------------------------------------------------
	Arc-format notes.

	Largely superseded by the compression methods employed by pak,
	pkzip, and lha (lharc), pre-Crush 'arc' formats are still sometimes
	encountered.  Pkarc and pkxarc, older programs written but no
	longer supported by Phil Katz, handle them extremely fast.

	These older formats include:

		Pack    - replacement of repeated byte values by codes,
			  a method known as run-length encoding (RLE)

		Squeeze - Huffman encoding

		crunch  - fixed length 12 bit Lempel-Ziv-Welch (LZW)
			  compression with or without RLE, with a 4k buffer

		Crunch  - variable length 9-12 bit LZW compression with
			  RLE, with a 4k buffer

		Squash  - variable-length 9-13 bit LZW compression without
			  RLE, with an 8k buffer.

	Xt and vw look first for pkxarc.exe, then for pak.exe if pkxarc	is
	not found; fr and dl look first for pkarc.exe, then for pak.exe.

	If pak is used for arc-format archives, fr sets pak to use Crunch
	by default.  The command 'fr -s' sets pak to use Squash instead.

	Pkpak.exe and pkunpak.exe, essentially the same programs as pkarc
	and pkxarc, can be substituted for the latter programs simply by
	renaming them pkarc.exe and pkxarc.exe respectively.

	+---------+------+----+-------+------+-------+----+----+
	|   pgm   | vers | xt | xt -o |  fr  | fr -s | dl | vw |
	+=========+======+====+=======+======+=======+====+====+
	|  pkarc  | 3.6  |    |       |  f   |       | d  |    |
	+---------+------+----+-------+------+-------+----+----+
	| pkxarc  | 3.6  | -e |  -r   |      |       |    |-vv |
	+---------+------+----+-------+------+-------+----+----+
	|   pak   | 2.51 | -e |-e /wa | f /c | f /s  | d  | v  |
	+---------+------+----+-------+------+-------+----+----+

	-----------------------------------------------------------------
	Lha (lharc) and larc notes.

	Though relatively slow, lha (lharc) has enjoyed considerable
	popularity for generally producing the smallest archives of any
	compression program - until the advent of arj, that is (see below).
	Lha uses a new, static Huffman digital TRIE Lempel-Ziv 77 (LZ 77)
	encoding method with an 8k window.  Its predecessor lharc uses an
	LZ 77 adaptive Huffman compression algorithm with a 4k buffer.  Lha
	and lharc were written by Haruyasu Yoshizaki.  The C source code for
	his algorithms is available.

	Larc, one of lharc's less efficient predecessors, employs LZ 77
	compression with adaptive arithmetic encoding.  Larc was written by
	Haruhito Okumura.

	For lzs archives xt, dl, and vw look first for larc.exe, then for
	lha.exe if larc is not found.  Because larc and lha use incompatible
	compression methods, fr looks only for larc.

	+-------+------+------+-------+----+----+----+
	|  pgm  | vers |  xt  | xt -o | fr | dl | vw |
	+=======+======+======+=======+====+====+====+
	|  lha  | 2.12 | e /c | e /cm | f  | d  | l  |
	+-------+------+------+-------+----+----+----+
	| larc  | 3.3  | e /c |e /c/o | f  | d  | l  |
	+-------+------+------+-------+----+----+----+

	-----------------------------------------------------------------
	Arj notes.

	Arj is a relatively recent entry from Robert K. Jung that makes
	the smallest archives, generally speaking, of any major DOS
	compression program.  The latest versions are also fairly fast.

	Three of its compression methods use a Lempel-Ziv 77 (LZ 77) Sliding
	Window algorithm with static Huffman encoding.  A fourth method
	uses a LZ 77 Sliding Window with pointer/length unary encoding.
	ANSI C source for some of the algorithms is included with the
	distribution package.  ANSI C source for arj.exe itself is available
	from the author.

	+-------+------+------+---------+----+----+----+
	|  pgm  | vers |  xt  |  xt -o  | fr | dl | vw |
	+=======+======+======+=========+====+====+====+
	|  arj  | 2.00 | e -c | e -c -y | f  | d  | l  |
	+-------+------+------+---------+----+----+----+

	-----------------------------------------------------------------
	Dwc and mdcd notes.

	DWC, by Dean Cooper, is an older but very fast archiving program
	that uses variable length 9-12 bit Lempel-Ziv-Welch (LZW) compression
	with run-length encoding (RLE) and a 4k buffer (a variant of Crunch).

	MDCD, by Michael Davenport, is also older and employs variable
	length 9-13 bit LZW compression with RLE (a variant of Squash).
	The Pascal and ASM source code is available.

	+-------+------+----+-------+----+----+----+
	|  pgm  | vers | xt | xt -o | fr | dl | vw |
	+=======+======+====+=======+====+====+====+
	|  dwc  |a5.01 | e  |  ew   | fz | d  | v  |
	+-------+------+----+-------+----+----+----+
	| mdcd  | 1.0  | d  |   r   |    |    | l  |
	+-------+------+----+-------+----+----+----+

	-----------------------------------------------------------------
	Zoo and looz notes.

	Although the archives created by zoo are not particularly small
	by today's standards, zoo is the most versatile utility for
	transferring files between DOS and UNIX and, indeed, is second
	only to pak in overall utility if archive size is not primary.
	It uses a variable length 9-12 bit Lempel-Ziv-Welch algorithm with
	run-length-encoding and a 4k buffer (a type of Crunch).  Zoo and zoo
	archive extractor and lister looz were written by Rahul Dhesi.  The
	C source code for zoo is available.

	Xt and vw look first for looz.exe, then for zoo.exe if looz is not
	found.

	Fr first directs zoo to freshen an archive, then to pack it.  Dl
	first directs zoo to delete from an archive, then to pack it.

	Fr and dl require one or more filename arguments.

	The utilities also operate upon bak archives created by zoo.

	+-------+------+----+-------+------+----+----+
	|  pgm  | vers | xt | xt -o |  fr  | dl | vw |
	+=======+======+====+=======+======+====+====+
	|  zoo  | 2.01 | x  |  xSO  | auP: | DP | l  |
	+-------+------+----+-------+------+----+----+
	| looz  | 2.1  | x  |       |      |    | l  |
	+-------+------+----+-------+------+----+----+

	-----------------------------------------------------------------
	Uudecode and shar notes.

	These utilities are DOS ports of their UNIX namesakes.  Uudecode
	and its companion utility uuencode are used to transfer binary
	files via electronic mail.  Shar is sometimes used on UNIX systems
	for concatenating source code and other text files for electronic
	mail transfer as well.

	Uuencode maps ASCII characters onto a standard character set for
	electronic transmission.  The basic scheme is to break groups of 3
	eight bit characters (24 bits) into 4 six bit characters and then
	add a space to each six bit character.

	Shar does not compress but rather concatenates files.

	Xt should work fine with standard sh archives, as long as any
	prepended text is less than 256 characters in length.  This limit
	might be removed upon a showing of interest.

	When extracting from a sh archive, shar automatically overwrites
	files of the same name if they exist in the target directory.  Thus,
	the command 'xt foo.sh bar.doc' will overwrite bar.doc if it exists
	in the current directory.

	+----------+------------------------+----+
	|   pgm    |        version         | xt |
	+==========+========================+====+
	| uudecode | Richard Marks - v4.13  | .  |
	+----------+------------------------+----+
	|   shar   | unknown - 09/14/87     | -u |
	+----------+------------------------+----+

	-----------------------------------------------------------------
	Tar and compress notes.

	These utilities are DOS ports of their UNIX namesakes.  Often used
	in tandem to maximally compress source code on UNIX, they are also
	sometimes used for transferring files between DOS and UNIX.  The C
	source code for compress and for both tar versions is available.

	Tar does not compress but rather concatenates files.

	Compress is unique among Lempel-Ziv-Welch (LZW) archiving programs
	in that it offers variable length 9-16 bit compression with RLE,
	rather than the more common 9-12 bit (Crunch) or 9-13 bit (Squash)
	LZW routines.  It is extremely efficient with ASCII text files.

	Compress requires about 450k of memory.  If less than 450k is
	available, xt aborts with a status message.

	Compress cannot uncompress Z archives nondestructively.  Thus,
	'xt foo.z' automatically overwrites 'foo' if it exists in the
	current directory, as well as unlinking 'foo.z'.

	+----------+------------------------+------+-----+-----+
	|   pgm    |        version         |  xt  |xt -o| vw  |
	+==========+========================+======+=====+=====+
	|   tar    |       Gnu v1.09        | xfvk | xfv | tfv |
	+----------+------------------------+------+-----+-----+
	|   tar    | Eric Roskos - 10/24/88 | xfvk | xfv | tfv |
	+----------+------------------------+------+-----+-----+
	| compress | Pat Myrto - 06/19/88   | -dv  |     |     |
	+----------+------------------------+------+-----+-----+

	-----------------------------------------------------------------
	Unstufit and unpackit notes.

	These utilities are useful for transferring sit (stuffit) and pit
	(packit) archives from the Macintosh O/S to DOS.

	Though not very efficient, Stuffit is the most popular Macintosh
	compression program, presumably for lack of real competition.  It
	uses three different compression methods: run-length encoding, a
	fixed length 14 bit Lempel-Ziv-Welch algorithm with an 18k buffer,
	and Huffman encoding.

	For sit archives, xt and vw search first for unstufit.exe, then for
	unsit.exe if unstufit is not found.

	+----------+------------------------+-----+----+
	|   pgm    |        version         | xt  | vw |
	+==========+========================+=====+====+
	|  unsit   | Brian Uechi - v2.3     |  e  | v  |
	+----------+------------------------+-----+----+
	| unstufit | Scott McGinnis - v1.0  | /de | v  |
	+----------+------------------------+-----+----+
	| unpackit | Scott McGinnis - v1.0  | /de | v  |
	+----------+------------------------+-----+----+

	-----------------------------------------------------------------
	Utility history.
	-----------------------------------------------------------------
	compr23  05-01-91  Updated utilities for lha v2.12.
			   Updated utilities for arj v2.00.
			   Corrected vw usage message.
			   Minor expansion/correction of documentation.

	-----------------------------------------------------------------
	compr22  01-23-91  Added support for arj v0.20.
			   Added support for Gnu tar v1.09.
			   Updated utilities for uuencode/uudecode v4.13.
			   Deleted mn.com and ma.com (mr) from distribution;
			       just wasn't happy with them.
			   Corrected parsing of zip-format archives for
			       processing by pak.
			   Expanded documentation to be more informative
			       and opinionated.

	-----------------------------------------------------------------
	compr21  12-01-90  Updated utilities for pak v2.51.
			   Abbreviated the mr help key list to one line.

	-----------------------------------------------------------------
	compr20  05-30-90  Initial release of dl.com.
			   Updated utilities for pkzip/unzip v1.10.
			   Minor optimizations of fr.com.

	-----------------------------------------------------------------
	compr19  01-20-90  Reversed arc-format pak and pkarc/xarc
			       precedence.
			   Reversed zoo and looz precedence.
			   Reversed unsit and unstufit precedence.

	-----------------------------------------------------------------
	compr18  01-01-90  Added support for unsit v2.3.
			   Removed support for pkzip/unzip v0.92.
			   Improved xt and vw tar archive parsing
			       routine to reduce number of false hits.

	-----------------------------------------------------------------
	compr17  12-14-89  Added support for uue (uuencode), sh (shar),
			       tar, Z (compress), sit (stuffit), and pit
			       (packit) archives.
			   Added standard key choices at 'mr' prompt.
			   Added pak bypass based on available memory.
			   Corrected parameter error in xt.
			   Corrected name of larc.exe in fr and an error
			       in 'lharc and larc notes'.
			   Renamed mr_n.com 'mn.com', and mr_a.com
			       'ma.com'.

	-----------------------------------------------------------------
	compr16  08-26-89  Initial release of mr.com.
			   Added support for larc v3.3.
			   Concatenated usage message to version ID.
			   Corrected parsing of lzh archives.
			   Made fr pkzip defaults user-configurable.
			   Changed fr arc-format pak default to Crunch.
			   Merged fr switch letters and operation.
			   Removed fr switch letter configurability.
			   Reversed fr arc-format pak and pkarc/xarc
			       precedence.
			   Adjusted fr zoo and looz precedence.
			   Added history section to dox.

	-----------------------------------------------------------------
	compr15  08-12-89  Added support for pkzip/unzip v1.0x.
			   Added support for all pre-Crunch arc formats.
			   Changed fr pkzip default to Implode for v1.01.
			   Made fr pak v2.x default user-configurable.
			   Added fr 'S' switch.
			   Made fr switch letters user-configurable.
			   Adjusted fr arc-format pak and pkarc/xarc
			       precedence.
			   Optimized utilities for A86 v3.21 assembler.

	-----------------------------------------------------------------
	compr14  08-02-89  Added support for pak v2.x.
			   Removed support for pkpak/unpak and tau.
			   Added version ID.
			   Changed fr true-pak pak default to Distill for
			       v2.x.
			   Added fr 'C' switch.
			   Adjusted fr zoo and looz precedence.

	-----------------------------------------------------------------
	compr13  07-27-89  Modified error handling and display.
			   Corrected parsing of Packed arc-format archives.

	-----------------------------------------------------------------
	compr12  07-20-89  Added support for pkpak/unpak v3.61.
			   Added fr 'c' and 's' switches.
			   Changed fr pkzip v0.92 default to Reduce4.

	-----------------------------------------------------------------
	compr11  07-11-89  Initial release of fr.com and vw.com.
			   Fixed parsing of Squashed true-pak archives.
			   Added archiver version and switch table to dox.

	-----------------------------------------------------------------
	   xt10  07-05-89  Initial release of xt.com.

	-----------------------------------------------------------------

         ----------------end-of-author's-documentation---------------

                         Software Library Information:

                    This disk copy provided as a service of

                           Public (software) Library

         We are not the authors of this program, nor are we associated
         with the author in any way other than as a distributor of the
         program in accordance with the author's terms of distribution.

         Please direct shareware payments and specific questions about
         this program to the author of the program, whose name appears
         elsewhere in  this documentation. If you have trouble getting
         in touch with the author,  we will do whatever we can to help
         you with your questions. All programs have been tested and do
         run.  To report problems,  please use the form that is in the
         file PROBLEM.DOC on many of our disks or in other written for-
         mat with screen printouts, if possible.  PsL cannot debug pro-
         programs over the telephone, though we can answer questions.

         Disks in the PsL are updated  monthly,  so if you did not get
         this disk directly from the PsL, you should be aware that the
         files in this set may no longer be the current versions. Also,
         if you got this disk from another vendor and are having prob-
         lems,  be aware that  some files may have become corrupted or
         lost by that vendor. Get a current, working disk from PsL.

         For a copy of the latest monthly software library newsletter
         and a list of the 3,000+ disks in the library, call or write

                           Public (software) Library
                               P.O.Box 35705 - F
                            Houston, TX 77235-5705

                                 Orders Only:
                                1-800-2424-PSL
                              FAX: 713-524-6398
                            CompuServe: 71355,470
                            MC/Visa/AmEx/Discover

                          Outside of U.S. or in Texas
                          or for general information,
                              Call 1-713-524-6394


