Different Architecture


Big and Little Endian

While some computer games use big-endian instead of the little-endian, the PS2 only supports little-endian. Most hex editors have modes for both types.

For a explanation of what big and little endian means please visit Wikipedia.

Floats

In the task of creating model viewers, and custom meshes, for games it is important to know what basic system the game uses to denote length and position of decimal numbers (like 1.4, or -78.8). Generally in modern video and computer games, Vertexes used for 3D models will be 4Bytes in length and the right most Byte will range from
3C-44 (Which roughly corresponds to slightly above 0.0 into the 1000's) or BD-C4 (Slightly below 0.0 to the negative 1000's). The exeception is the 0.0 itself is often
"00 00 00 00" but sometimes seen as "00 00 00 80" or as a very tiny number such as "00 00 00 31"

Most software applications (games included) use the default IEEE system of floating points. However a number of PS2 games such as Ruff Trigger use non-standard floating point formats. A common non-standard choice is the 2 byte float. Tools are needed to convert these types of floats into a format that is usable outside of the game. There are a number of reasons why some games use different floating point systems. For example: To optimize certain operations in the game engine or to save space on the disk, as a normal floating point vector uses 12 bytes (3x4 byte floats), while the two byte floating point vector uses 6 bytes (3x2 byte floats).

Note

Different underlying architecture should not be confused with encryption or compression.