Actions

Difference between revisions of "Kosinski compression"

From Sonic Retro

m
m (Redirected page to sega:Kosinski compression)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''Kosinski compression''' is the name given by the Sonic Community to a format used in ''Sonic'' games for the [[Sega Genesis|Sega Genesis/Megadrive]]. It is named after the person who cracked it, [[Brett Kosinski]]. It appears to be an extension/variation of  the [[LZSS]] algorithm.
+
#redirect [[sega:Kosinski compression]]
 
 
Kosinski compression is used to compress the following data types:
 
* ''[[Sonic the Hedgehog (Genesis)|Sonic the Hedgehog]]'' - 256x256 [[block mappings]].
 
* ''[[Sonic the Hedgehog 2]]'' - level graphics, block mappings and level layouts.
 
 
 
==Kosinski Compression Theory==
 
<ipbwiki_post post=56395 />
 
 
 
==Kosinsi Moduled compression==
 
Kosinski Moduled compression (KosM compression) is a variant of standard Kosinski compression, used by ''[[Sonic 3 & Knuckles]]''. KosM compressed data starts off with a 2-byte header. The upper nibble is the total number of modules minus 1, and the lower three nibbles are the uncompressed size of the last module in bytes (all other modules have a fixed uncompressed size of $1000 bytes). As a result, the entire header word can be read as the total uncompressed size of the data. The only special case occurs when the header is $A000, in which case the game reads it as $8000. After the header are the actual modules. Each module can be read as standard Kosinski-compressed data, and is padded out to a size which is a multiple of $10 bytes.
 
 
 
[[Category:Data Formats]]
 

Latest revision as of 13:03, 1 April 2010