
LZPACK - 48K CP/M-80 (8080 and Z80) executable compressor in ANSI C89
Since there was no good open source compressor like UPX for CP/M-80, I created this one. Algorithmically compatible with PopCom and can decompress its files, but always gets better ratios as it has optimized decompression stubs. It supports both 8080 and Z80 systems and can even run directly on CP/M-80. An "extra" compression mode is available when run on larger systems to get a bit more compression, while still being unpackable with the same stubs. It has full support for the LRBC (last record byte count) of CP/M-Plus (CP/M 3.0 and later) and DOS-PLUS.
I hope to add more documentation and release a version 1.0 soon. Building all the binaries (CP/M-80, CP/M-86, DOS, Windows, etc.) from source code requires a lot of tools to be installed, but I provide precompiled binaries for all non-UNIX systems.
All source is available including the decompression stubs and the assembler I created that is good enough to build them, so anyone can build a native binary without any cross-assembler installed, just a C89 compiler.
Any feedback is more than welcome!