LZWCOM

LZWCOM is a file compression utility, and associated file format, developed by Kent Williams. It uses hashed LZW compression. The companion decompression utility is LZWUNC.

Format details
Version 2.0 of the software changed the format in an incompatible way. It inserts a CRC-16 field (apparently CRC-16/ARC) after every 1024 bytes of compressed data. It is a CRC of the compressed data, not the decompressed data.

Identifiers
The software does not have a default filename extension or naming pattern. It's not clear if any conventions emerged.

Identification
LZWCOM format has no header or signature. If a file is at least 1026 bytes in size, then the CRC field at offset 1024 (and 2050, 3076, ...) can be tested to identify v2 format with decent accuracy. Other than that, there's probably no good way to identify an LZWCOM file from its contents.

Related formats
LZWCOM's compression scheme was used, sometimes with minor changes, by:
 * ARC - compression methods 5 and 6
 * Crunch - especially Crunch v1.x format
 * ZSQ

Software
There appear to be at least three releases of the software. Two of them lack a version number; we'll call them "first release" and "second release".


 * LZWCOM/LZWUNC
 * First release (unknown date). Reported to be buggy.
 * lzw.lbr - Source code and CP/M binaries
 * Second release (≤1985-03-11)
 * Walnut Creek CD-ROM - The C Users' Group Library - August 1994 → VOL_100/181_01/... - Source code, DOS binaries, etc. (What a mess. The relevant files are READ_ME, DEBUG.H, and the *LZW* files, except LZW.C which is from an older version.)
 * Version 2.0 (≤1985-08-20)
 * - DOS binaries and (incomplete?) source code
 * https://github.com/sourcekris/lzwcom - Various LZWCOM files

Links

 * A Whirlwind Look at the World of File Compression - Article in The Boston Kugel, May-June 1988, p. 3
 * READ_ME - Some messages about the software