The FP8 format appears to have been retired by its author in favour of the ZPAQ format, which is why you can't find newer versions:
ZPAQ is intended to replace PAQ and its variants (PAQ8, PAQ9A, LPAQ,
LPQ1, etc) with similar or better compression in a portable, standard
format. Current versions of PAQ break archive compatibility with each
compression improvement. ZPAQ is intended to fix that. I no longer
maintain the older PAQ code.
The Ubuntu distribution of ZPAQ appears to be very out of date, so you probably want to upgrade using the version on the ZPAQ website instead: https://pkgs.org/download/zpaq. The newer versions support many more options regarding compression behaviour (from the ZPAQ documentation):
-m
type[Blocksize[.pre[.arg][comp[.arg]]…]]
-method
type[Blocksize[.pre[.arg][comp[.arg]]…]]
With add
, select a compression method. type may be 0
, 1
, 2
,
3
, 4
, 5
, x
, or s
. The optional Blocksize may be 0..11,
written with no space after the type, like -m10
or -method 511
.
The remaining arguments, separated by periods or commas without
spaces, are only allowed for types x
or s
, for example
-mx4.3ci1
.
If type is numeric, then higher numbers compress better but are
slower. The default is -m1
. It is recommended for backups. -m2
compresses slower but decompresses just as fast as 1
. It is
recommended for archives to be compressed once and decompressed many
times, such as downloads. -m0
stores with deduplication but no
further compression.
Blocksize says to pack fragments into blocks up to 2^Blocksize MiB. Using larger blocks can improve compression but require more
memory and may be slower because each block is compressed or
decompressed by a separate thread. The memory requirement is up to 8
times Blocksize per thread for levels up to 4 and 16 times block
size per thread for level 5. The default Blocksize is 4 (16 MiB) for
types 0 and 1, and 6 (64 MiB) otherwise.
[...]
I would first try using -m2
through -m5
to see if you can get similar compression (-m1
is the default and is designed for a balance between size and speed: it's equivalent to -1
in other programs.)
There are other tweaks that you can use (check the documentation), but unless you have to have a specific setting like -method x6.1.4.0.5.27.1
("64 MiB blocks (6), variable length LZ77 without E8E9 (1), minimum match length 4, no secondary search (0), search depth 2^5 = 32 in each direction in the suffix array (27 = 6 + 21), and 1 byte lookahead" [from the documentation!]), don't worry about it; the predefined settings likely work fine.
If you absolutely must have the original FP8 program, it is available in source form on GitHub. You'll need git
, nasm
and the 32-bit GCC toolchain (the programs have 32-bit assembly files, which prevents them from being built as 64-bit programs.)