OBJ file: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 17: Line 17:


0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x22222222, 0x00000000, 0x33333333, 0x44444444
0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x22222222, 0x00000000, 0x33333333, 0x44444444
This system will not compress data very well unless there are large areas of zero data within the decompressed sprite data. This is due to a single zero value run being inflated by 100% (single long word to double long word) to let the compresser know its not a run.
To my current knowledge only Art of Fighting uses the OBJ format.


[[Category:CD systems]]
[[Category:CD systems]]

Revision as of 10:38, 8 December 2013

OBJ files contain the sprites graphics (equivalent to the C ROMs on cartridge systems). Data is compressed however using a simple RLE compression removing runs with a value of 0x00000000. Once decompressed the format is described here: sprite graphics format.

RLE compression.

  • First long word value is the compressed file length (/4-1).
  • The system works by checking single long words at a time.
  • When a zero value is found it is stored and the next value is checked. A fill of zero is created to match the value read unless it is zero.


Example.

compressed:

0x00000007, 0x11111111, 0x00000000, 0x00000003, 0x22222222, 0x00000000, 0x00000000, 0x33333333, 0x44444444

decompressed:

0x11111111, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x22222222, 0x00000000, 0x33333333, 0x44444444


This system will not compress data very well unless there are large areas of zero data within the decompressed sprite data. This is due to a single zero value run being inflated by 100% (single long word to double long word) to let the compresser know its not a run.

To my current knowledge only Art of Fighting uses the OBJ format.