Trixter wrote:Shaos wrote:
Actually I found some sample of data that gave me 4% improvement by using rarest byte instead of FF, so I think I can support it as an option...
It's the best kind of 4% -- it's
for free. I wish all my schemes could have better compression for free.
OK, for JRCARTS7.IMG I've got these results (with 0FFH and with 92H):
Code: Select all
147,456 JRCARTS7.IMG - original
130,281 JRCARTS8.IMG - my 00-00-00 compression
112,745 JRCARTS7.IMGFF - my byte-oriented LZ77-like compression (SHAFF0) <<<<<<<<<<<<<<<<<<<<<<
111,526 JRCARTS7.IMGFF - my byte-oriented LZ77-like compression (SHAFF0 with option -x92) <<<<<
103,307 JRCARTS7.PP2 - RNC Pro Pack (method 2)
101,009 JRCARTS7.ZX7
100,180 JRCARTS7.IMG.hrm - Russian Hrum
99,974 JRCARTS7.IMG.mlz - Russian MegaLZ
98,045 JRCARTS7.IMGFF - my bit-oriented LZ77-like compression (SHAFF1) <<<<<<<<<<<<<<<<<<<<<<
98,006 JRCARTS7.LZH - created by LHA v2.13
80,016 JRCARTS7.IMG.bz2
79,098 JRCARTS7.LZ4
72,959 JRCARTS7.PP1 - RNC Pro Pack (method 1)
71,950 JRCARTS7.zip - modern ZIP from Debian
71,925 JRCARTS7.ARJ - created by ARJ v2.41a
71,865 JRCARTS7.AIN - another Russian archiver from 90s
71,855 JRCARTS7.ZIP - old PKZIP v2.06
71,808 JRCARTS7.IMG.gz
70,041 JRCARTS7.HA - HA 0.98 (Harri Hirvola)
67,437 JRCARTS7.IMG.hst - Russian Hrust
66,970 JRCARTS7.RAR - old RAR v1
65,765 JRCARTS7.RAR - modern RAR v5
62,543 JRCARTS7.7z - modern 7-zip
62,508 JRCARTS7.IMG.xz - modern LZMA2
So now I have 19.5KB for menu
P.S. Latest SHAFF0 encoder/decoder is located on GitHub
https://github.com/shaos/shaff (tested on WinXP, Linux x86_64 and Linux PowerPC G4)
P.P.S. SHAFF1 moved me to 98KB
(confirmed on Feb 8), but because it's bit-oriented, decoder will be a little bigger (and slower)
P.P.P.S. SHAFF2 (SHAFF1 + Huffman for literals) potentially may give us about 87K in this case, but I don't think I finish it in 2017
