The current URL is datacrystal.tcrf.net.
Ultimate Mortal Kombat 3 (Genesis)/Notes
The following article is a Notes Page for Ultimate Mortal Kombat 3 (Genesis).
Archive structure
| Offset | Size | Description |
|---|---|---|
| 0-1 | Word | Compression method |
| 2-3 | Word | Compressed data size |
| 4* | Byte | Data type |
| 5..n | Bytes | compressed data |
* This parameter is not used in compression method 3
Method 2-1: Unpacking graphics
Flag byte:
XXXXXXXX 1 - there is no compression, just copy one byte from the source to the receiver 0 - there is compression.
LZ:
1 XXX YYYY XXXXXXXX | | | | | | | 8 lower bits of string offset | | 4 bits, defining string length (18 = string length) | 3 upper bits of string offset LZ compression code
RLE:
01 YY YYYY AAAAAAAA | | | | | bytes of repetition | 6 bits (66 = number of repetitions) RLE compression code
RLE_plus_Arith:
00 YY YYYY AAAAAAAA | | | | | bytes of repetition | 6 bits (66 = number of sequences), maximum 65 bytes compression code - RLE + arithmetic progression
Method 2-2: Unpacking the Tile Map
It differs from the previous compression method only in that the highest bytes of the tile map (priority, palette number, reflection) are decompressed first, and then the lowest bytes.
At the same time, after each write to the receiver, the receiver address is increased by two bytes.
Also, during decompression of the low-order bytes, the LZ string can be copied from the high-order bytes.
Flag byte:
XXXXXXXX 1 - there is no compression, just copy one byte from the source to the receiver 0 - there is compression.
EndOfDecompress:
0000 0000 - must be written after compression of low and high bytes
LZ:
1 XXX YYYY XXXXXXXX | | | | | | | 8 lower bits of LZ string offset | | 4 bits (18 = string length) | 3 upper bits of LZ string offset LZ compression code
RLE:
01 YYYYYY AAAAAAAA | | | | | repetition byte | 6 bits (66 = repetition count) RLE compression code
RLE_plus_Arith:
00 YYYYYY AAAAAAAA | | | | | repetition byte | 6 bits (66 = number of sequences), maximum 65 bytes compression code - RLE + arithmetic progression
Method 1-1: Unpacking Graphics
EndOfDecompress:
0000 0000
LZ:
1 XXX YYYY XXXXXXXX | | | | | | | 8 lower bits of LZ string offset | | 4 bits (18 = string length) | 3 upper bits of LZ string offset LZ compression code
RAW:
01 YYYYYY AAAAAAAA... | | | | | bytes for copying | 6 bits - number of bytes for copying uncompressed data code
RLE:
000 YYYYY AAAAAAAA | | | | | RLE byte | 5 bits (34 = repetition count), maximum 33 bytes RLE compression code
LZ_One_Byte:
001 YYYYY | | | 5 bits of LZ string offset LZ_One_Byte compression code
Method 1-2: Unpacking the Tile map
It differs from the previous compression method only in that the highest bytes of the tile map (priority, palette number, reflection) are decompressed first, and then the lowest bytes.
At the same time, after each write to the receiver, the receiver address is increased by two bytes.
Also, during decompression of the low-order bytes, the LZ string can be copied from the high-order bytes.
EndOfDecompress:
0000 0000 - must be written after compression of the low and high bytes
LZ:
1 XXX YYYY XXXXXXXX | | | | | | | 8 lower bits of LZ string offset | | 4 bits (18 = string length) | 3 upper bits of LZ string offset LZ compression code
RAW:
01 YYYYYY | | | 6 bits - number of uncompressed bytes uncompressed data code
RLE:
000 YYYYY AAAAAAAA | | | | | RLE byte | 5 bits (34 = repetition count), maximum 33 bytes RLE compression code
RLE_SEQ:
001 YYYYY AAAAAAAA | | | | | RLE byte | 5 bits (34 = number of sequences) compression code - RLE + arithmetic progression
Method 3
very rare method
END Of Decompress:
0000 0000
RLE16bit:
0 XXXXXXX YYYYYYYY YYYYYYYY | | | | | 16-bit RLE word | 7 bits (130 = repetition count), maximum 129 bytes RLE compression code
RAW:
1 XXXXXXX YYYYYYYY YYYYYYYY... | | | | | 16-bit word | 7 bits (128 = number of words for copying) uncompressed data code
Internal Data for Ultimate Mortal Kombat 3 (Genesis)
| |
|---|---|