wyvern
data
code:cenotaph.sh
# wyvern v1.1.2
❯ ./wyvern -v ./test/cenotaph.atr
...
Byte: 11, Word: 0, LongString: 6, ShortString: 22, Trash: 23
Compression: 360 Bytes => 199 Bytes (55%)
Decompression: 27684 Cycles
❯ ./wyvern -v ./test/cenotaph.chr
...
Byte: 6, Word: 27, LongString: 116, ShortString: 41, Trash: 153
Compression: 4000 Bytes => 3417 Bytes (85%)
Decompression: 189384 Cycles
❯ ./wyvern -v ./test/cenotaph.map
...
Byte: 4, Word: 0, LongString: 2, ShortString: 1, Trash: 11
Compression: 360 Bytes => 338 Bytes (93%)
Decompression: 14948 Cycles
❯ ./wyvern -v ./test/pokecrystal/chris.2bpp
Byte: 14, Word: 2, LongString: 6, ShortString: 7, Trash: 18
Compression: 784 Bytes => 378 Bytes (48%)
❯ ./wyvern -v ./test/pokecrystal/diploma.2bpp
Byte: 15, Word: 27, LongString: 91, ShortString: 27, Trash: 102
Compression: 1792 Bytes => 1202 Bytes (67%)
❯ ./wyvern -v ./test/pokecrystal/ditto.2bpp
Byte: 0, Word: 11, LongString: 63, ShortString: 13, Trash: 38
Byte length list: []
Compression: 1024 Bytes => 437 Bytes (42%)
❯ ./wyvern -v ./test/pokecrystal/suicune_jump.2bpp
Byte: 6, Word: 13, LongString: 70, ShortString: 41, Trash: 85
Compression: 2048 Bytes => 1295 Bytes (63%)
memo
0b11xx_xxxxはtrash 0b11xx_xxxx + byte0 + byte1 + byte2 + byte3 + ...
0b101x_xxxxはlong string 0b101x_xxxx + lower_off + upper_off
0b100x_xxxxはshort string 0b100x_xxxx + lower_off
0b01xx_xxxxはword 0b01xx_xxxx + lower_byte + upper_byte
0b00xx_xxxxはbyte 0b00xx_xxxx + byte