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.