SQSH

SQSH is an XPK packer sublibrary which implements an optimized LZ based algorithm combined with a 8 bit delta compression algorithm. NOTE: The version included in the UNIX version can only unpack SQSH files for now. It was converted from the Amiga assembler version.

This packer was especially made for packing 8 bit Samples and ProTracker style modules. It is NOT a lossy compression library, so NO quality-loss will occur when packing Samples with this library.

SQSH is pretty fast at decompression (300K/s on A3000) so is very well suited to compress Modules and Samples since these will typically be packed once and unpacked many times. It is slow at compression (25K/s on A3000) mainly because every part of the file has to be checked twice to see what the better compression method would be.

In order to achieve reasonable compression of other types of files (Executables, Textfiles) this packer will scan a long range (about 20K) for identical byte sequences and if it finds any, it outputs offset and length instead of the bytes themselves. Scanning such a long range for duplicates is a CPU-intensive process.