For example, intro2.ym5 raw: 125440 bytes Compressed, frame at a time (r0..r13, repeat) lzss: 44154 bytes gzip: 17119 bytes lz4: 14666 bytes (-16) (14685 -9, 21377 default) bzip2: 12685 bytes lzma (xz) 5312 bytes Interleaved then Compressed (all of r0 in a row, then all of r1, etc). lzss/interleaved: 7981 bytes lha/interleaved: 3217 bytes <=== default used by ym5 format lz4/interleaved: 3190 bytes (-16) (8914 default, 3209 -9) bzip2/interleaved 3017 bytes gzip/interleaved: 2759 bytes lzma/interleaved: 2129 bytes Split up, Interleaved, LZ4 lz4,1024*14 chunks 7971 bytes (-16) (14k output buffer) lz4,768*14 chunks 9214 bytes (-16) (10.5k output buffer) lz4,512*14 chunks 9294 bytes (-16) (7k output buffer) Diff (each frame only update registers that change via bitmask) simple diff: 69224 bytes lzss/diff: 31919 bytes lz4/diff: 13669 bytes (11431 -9) gzip/diff: 10821 bytes bzip2/diff: 10477 bytes lzma/diff: 7257 bytes