Hej!
Zdarzyło mi się używać PuCrunch zanim jeszcze powstał Exomizer (autor exomizera nawet wspomina że opierał się na PuCrunch). Oficjalna strona PuCrunch znajduje się tutaj: https://a1bert.kapsi.fi/Dev/pucrunch/
Używając PuCrunch da się pakować zbiory danych, wynikowy plik nie zawiera procedury dekompresującej, należy użyć flagi -d -c0 ( i dalej opcjonalnie -l 0xaddr -x 0xaddr) , może to wyglądać np. tak:
./pucrunch -c0 -d -l 0xa150 -s conan.gfx conan.pu
Note: The execution address was not detected correctly!
Use the -x option to set the execution address.
Load address 0xa150=41296, Last byte 0xbf4f=48975
Exec address 0xffffffff=-1
New load address 0x0801=2049
Standalone decompressor required
Checked: 7680
Selecting the number of escape bits.. 1:1251 2:1177 3:1560
Selected 2-bit escapes
Optimizing LZ77 and RLE lengths... gained 346 units.
Selecting LZPOS LO length.. 8:6342 9:6548 10:6762 11:7016 12:7296
Selected 8-bit LZPOS LO part
Note: Using option -m6 you may get better results.
RLE Byte Code Re-Tune, RLE Ranks:
1.0x00 67
2.0xaa 31 3.0x55 21 4.0x15 5 5.0x44 5 6.0x04 4 7.0x45 4
8.0x54 3 9.0x10 2 10.0x05 1 11.0x0c 1 12.0x11 1 13.0x40 1
14.0x51 1 15.0xa8 1
In: 7680, out: 1729, ratio: 22.52% (1.81[1.79] b/B), gained: 77.49%
Gained RLE: 2390 (S+L:1277+1113), LZ: 3613, Esc: -18, Decompressor: -31
Times RLE: 148 (145+3), LZ: 382, Esc: 30 (normal: 654), 2 escape bits
(Gained by RLE Code: 84, LZPOS LO Bits 8, maxLen: 256, tag bit/prim. 1.03)
LZPOS HI+2 LZLEN S-RLE RLEcode
------------------------------
2 306 88 50 67
3-4 50 95 26 52
5-8 17 46 26 18
9-16 7 53 6 11
17-32 2 81 27 0*
33-64 0 18 10 -
65-128 0 1 0 -
129-256 0 0 - -
LZ77 rescan gained 0 bytes
Hash Checks 27423 (7007, 25.55% equal), RLE/LZ compares 41740
Compressed 7680 bytes in 0.00 seconds (2323.42 kB/sec)
Wyniki kompresji poszczególnych plików:
conan.pu - 1729 bajtów ( ./pucrunch -c0 -d -l 0xa150 -s conan.gfx conan.pu )
RiverRaid.rom - 6556 bajtów ( ./pucrunch -c0 -d -l 0xa000 -s RiverRaid.rom RiverRaid.pu )
Landscape.xex - 14206 bajtów ( ./pucrunch -c0 -d -l 0x3000 -s Landscape.xex Landscape.pu )