Wikifang:Telefang 1 Translation Patch/NatsumeGB compression: Difference between revisions
Jump to navigation
Jump to search
(Add game list) |
m (Sanky moved page Wikifang:Telefang 1 Translation Patch/Malias compression to Wikifang:Telefang 1 Translation Patch/NatsumeGB compression: naming a compression algorithm after the person who first cracked it is passé) |
||
(No difference)
|
Revision as of 08:10, 16 November 2020
Malias compression is the compression used in numerous Natsume games, namely, at least Telefang and Medarot. It is a modified implementation of the LZ77 algorithm, which works by referencing previously decompressed data using length-distance pairs. Wikipedia has a good description of the algorithm.
Malias compression is named after Malias, the person who wrote the first decompresser.
Implementation of the Malias compression in pseudocode:
compressed = readbyte() if compressed != 0x00: total = readshort() # Total length of the graphics while bytes < total: # bytes is number of bytes decompressed modes = readshort() # Contains modes for the next 10 bytes for mode in bits(modes): if mode == 0x1: # Copy mode loc = -(readshort() & 0x7ff) num = lastbyte >> 3 & 0x1f + 0x03 loc += bytes-1 do num times: data += data[loc] loc += 1 else: # Insert mode data += readbyte()
Games that use the compression
- Keitai Denjuu Telefang
- Medarot 1
- Medarot 2
- Medarot 3
- Medarot 4 (assumed)
- Medarot 5 (assumed)
- Croc 2
Decompression tools
- Malias' Telefang Tools can decompress and recompress the graphics with ease, provided locations.
- punika is a simple implementation in Python which decompresses all compressed graphics at once, working off tables in the ROM.