Difference between revisions of "Rob Northen compression"
From Sega Retro
(Added info about what compression schemes this is based on.) |
(Added Header Info) |
||
Line 1: | Line 1: | ||
{{stub}} | {{stub}} | ||
'''Rob Northen compression''' ('''RNC''') is a multi-platform compression format created by [[Rob Northen]] in 1991. It is a variant of [[LZSS]] and [[Huffman]]. Decompression libraries have been written for the PC, [[Mega Drive]], Game Boy, SNES and Atari Lynx. RNC is used in a number of games by UK developers (notably Bullfrog and [[Traveller's Tales]]), including ''[[Sonic 3D: Flickies' Island]]'', ''Dungeon Keeper 2'', ''[[Magic Carpet]]'', ''[[Syndicate]]'' and ''Syndicate Wars''. | '''Rob Northen compression''' ('''RNC''') is a multi-platform compression format created by [[Rob Northen]] in 1991. It is a variant of [[LZSS]] and [[Huffman]]. Decompression libraries have been written for the PC, [[Mega Drive]], Game Boy, SNES and Atari Lynx. RNC is used in a number of games by UK developers (notably Bullfrog and [[Traveller's Tales]]), including ''[[Sonic 3D: Flickies' Island]]'', ''Dungeon Keeper 2'', ''[[Magic Carpet]]'', ''[[Syndicate]]'' and ''Syndicate Wars''. | ||
+ | |||
+ | ==Header Format== | ||
+ | Most RNC compressed files come in a standard 18 byte header: | ||
+ | |||
+ | {| border = "1" | ||
+ | |- | ||
+ | !Data Type!!Description!!Size (in Bytes) | ||
+ | |- | ||
+ | |Signature||ASCII "RNC"||3 | ||
+ | |- | ||
+ | |Compression Method||1 or 2 (In binary)||1 | ||
+ | |- | ||
+ | |Uncompressed Size||Size of the original file||4 | ||
+ | |- | ||
+ | |Compressed Size||Size of the RNC data (excluding header)||4 | ||
+ | |- | ||
+ | |Uncompressed CRC||Checksum of the original file||2 | ||
+ | |- | ||
+ | |Compressed CRC||Checksum of the RNC data||2 | ||
+ | |- | ||
+ | |Leeway||Difference between compressed and uncompressed data in largest pack chunk (if larger than compressed data)||1 | ||
+ | |- | ||
+ | |Pack Chunks||Amount of pack chunks||1 | ||
+ | |} | ||
+ | |||
+ | Each multi-byte portion of the header is big endian. | ||
+ | |||
[[Category:Data Formats]] | [[Category:Data Formats]] |
Revision as of 16:57, 1 September 2010
This short article is in need of work. You can help Sega Retro by adding to it.
Rob Northen compression (RNC) is a multi-platform compression format created by Rob Northen in 1991. It is a variant of LZSS and Huffman. Decompression libraries have been written for the PC, Mega Drive, Game Boy, SNES and Atari Lynx. RNC is used in a number of games by UK developers (notably Bullfrog and Traveller's Tales), including Sonic 3D: Flickies' Island, Dungeon Keeper 2, Magic Carpet, Syndicate and Syndicate Wars.
Header Format
Most RNC compressed files come in a standard 18 byte header:
Data Type | Description | Size (in Bytes) |
---|---|---|
Signature | ASCII "RNC" | 3 |
Compression Method | 1 or 2 (In binary) | 1 |
Uncompressed Size | Size of the original file | 4 |
Compressed Size | Size of the RNC data (excluding header) | 4 |
Uncompressed CRC | Checksum of the original file | 2 |
Compressed CRC | Checksum of the RNC data | 2 |
Leeway | Difference between compressed and uncompressed data in largest pack chunk (if larger than compressed data) | 1 |
Pack Chunks | Amount of pack chunks | 1 |
Each multi-byte portion of the header is big endian.