Hack64 Wiki
Other Titles
Hack64 Wiki
Other Titles
Below is a high level ROM map of Extreme-G (US). Most of the game's assets are compressed using either LZHUF or LZSS.
| Offset | Description |
|---|---|
| 00 | 32-bit integer indicating number of files in the archive |
| 04 | 4 padding bytes |
| 08 | Array of file reference structures |
| Offset | Description |
|---|---|
| 00 | 32-bit offset of the LZSS-compressed data |
| 04 | 32-bit Magic number “LZSS” |
| 08 | 32-bit destination size |
| 0C | 32-bit source size |
| Offset | Address | Source size | Destination size | (Compression) Description |
|---|---|---|---|---|
| 00000018 | 000014B8 | 0002DFC4 | 0004FFF8 | (LZSS) Main assembly code segment |
| Address | Source size | Destination size | (Compression) Description |
|---|---|---|---|
| 007A3118 | 0000246A | 00003AA0 | (LZSS) ? |
| 007A5588 | 000013DC | 00002268 | (LZSS) ? |
| 007A6968 | 00001832 | 00002E04 | (LZSS) ? |
| 007A81A0 | 00001A0E | 000023FC | (LZSS) ? |
| 007A9BB0 | 00000C7C | 00001A90 | (LZSS) ? |
| 007AA830 | 00001EE7 | 00003AF8 | (LZSS) ? |
| 007AC718 | 00001057 | 0000294A | (LZSS) ? |
| 007AD770 | 00000FA5 | 00002620 | (LZSS) ? |
| 007AE718 | 000010FB | 00002A2C | (LZSS) ? |
| 007AF818 | 00001136 | 00002BC0 | (LZSS) ? |
| 007B0950 | 0000107A | 000028BC | (LZSS) ? |
| 007B19D0 | 00000FA5 | 00002620 | (LZSS) ? |
| 007B2978 | 0000115E | 00002BFA | (LZSS) ? |
| 007B3AD8 | 00006554 | 0000A31C | (LZSS) ? |
| 007BA030 | 00001DA5 | 00004F60 | (LZSS) ? |
| 007BBDD8 | 000047BF | 00007CF8 | (LZSS) ? |
| 007C0598 | 00001D44 | 000037A4 | (LZSS) ? |
| 007C22E0 | 000007DE | 00000800 | (LZSS) ? |
| 007C2AC0 | 000000D4 | 00000160 | (LZSS) ? |
| 007C2B98 | 0000009F | 000000F0 | (LZSS) ? |
| 007C2C38 | 000000BC | 00000128 | (LZSS) ? |
| 007C2CF8 | 00000094 | 000000F0 | (LZSS) ? |
| 007C2D90 | 000000BB | 00000128 | (LZSS) ? |
| 007C2E50 | 00004898 | 000062E8 | (LZSS) ? |
| 007C76E8 | 0000014D | 00000328 | (LZSS) ? |
| 007C7838 | 00000A51 | 000025C8 | (LZSS) ? |
| 007C8290 | 000024C4 | 00003C90 | (LZSS) ? |
| 007CA758 | 00000EB5 | 00001140 | (LZSS) ? |
| 007CB610 | 00000517 | 00000688 | (LZSS) ? |
| 007CBB28 | 000002C3 | 000009F8 | (LZSS) ? |
| 007CBDF0 | 00000CFD | 00004308 | (LZSS) ? |
| 007CCAF0 | 00003C84 | 00007808 | (LZSS) ? |
| 007D0778 | 0000034F | 00000690 | (LZSS) ? |
| 007D0AC8 | 00000C53 | 00001000 | (LZSS) ? |
| 007D1720 | 000000E3 | 00000200 | (LZSS) ? |
| 007D1808 | 00000D85 | 00001000 | (LZSS) ? |
| 007D2590 | 00000136 | 00000200 | (LZSS) ? |
| 007D26C8 | 00000A11 | 00001000 | (LZSS) ? |
| 007D30E0 | 000000C5 | 00000200 | (LZSS) ? |
| 007D31A8 | 00000A12 | 00001000 | (LZSS) ? |
| 007D3BC0 | 00000131 | 00000200 | (LZSS) ? |
| 007D3CF8 | 00000A4C | 00001000 | (LZSS) ? |
| 007D4748 | 00000194 | 00000200 | (LZSS) ? |
| 007D48E0 | 000001BB | 00000488 | (LZSS) ? |
| 007D4AA0 | 000001FC | 00000420 | (LZSS) ? |
| 007D4CA0 | 00000145 | 00000348 | (LZSS) ? |
| 007D4DE8 | 0000DB93 | 00011988 | (LZSS) ? |
| 007E2980 | 00002CAE | 000041C0 | (LZSS) ? |
| 007E5630 | 0000527C | 0000A7C4 | (LZSS) ? |
| 007EA8B0 | 0000081B | 00000A70 | (LZSS) ? |
This table does not use the same structure as the two LSZZ archives described above.
| Offset | Description |
|---|---|
| 00 | 32-bit ROM address of the 32-bit destination size followed by LZSS-compressed data |
| 04 | 32-bit source size |
| 08 | 32-bit value (unknown purpose) |
| 0C | 32-bit value (unknown purpose) |
| Address | Source size | Destination size | (Compression) Description |
|---|---|---|---|
| 0010EC90 | 000012E0 | 00001CFC | (LZSS) ? |
| 006AF2C0 | 00001540 | 00004C8C | (LZSS) ? |
| 000F0E30 | 00017340 | 0002A584 | (LZSS) ? |
| 00109620 | 00003160 | 000059E4 | (LZSS) ? |
| 00108170 | 000014B0 | 00001DD4 | (LZSS) ? |
| 0010C780 | 00002510 | 000030D4 | (LZSS) ? |
| 00092F70 | 00007010 | 0000F2E8 | (LZSS) ? |
| 000AFF00 | 00006760 | 0000D6B8 | (LZSS) ? |
| 00088000 | 00006710 | 0000CAF8 | (LZSS) ? |
| 000A17D0 | 00006830 | 0000D390 | (LZSS) ? |
| 00099F80 | 00007850 | 0000DD30 | (LZSS) ? |
| 000B9DB0 | 00004AD0 | 00009DC8 | (LZSS) ? |
| 0008E710 | 00004860 | 00009C20 | (LZSS) ? |
| 000BE880 | 00004B80 | 0000AAB8 | (LZSS) ? |
| 000A8000 | 00007F00 | 0000DA30 | (LZSS) ? |
| 000B6660 | 00003750 | 000075A8 | (LZSS) ? |
| 000DF030 | 00002640 | 00004F18 | (LZSS) ? |
| 000E1670 | 00002570 | 00004FC0 | (LZSS) ? |
| 000E3BE0 | 000025C0 | 00004F50 | (LZSS) ? |
| 000E61A0 | 000026E0 | 00004F80 | (LZSS) ? |
| 000E8880 | 00002540 | 00004C18 | (LZSS) ? |
| 000EADC0 | 000025D0 | 00004BB8 | (LZSS) ? |
| 000ED390 | 00002640 | 00004BB8 | (LZSS) ? |
| 000EF9D0 | 00001460 | 00002654 | (LZSS) ? |
Note: The source sizes noted above are +4 to account for the destination size value that precedes each compressed file.
Each address in the table below points to a level header structure.
| Index | Address |
|---|---|
| 00 | 0010FF70 |
| 01 | 0017C6F0 |
| 02 | 001DD8B0 |
| 03 | 0024FDB0 |
| 04 | 002C2970 |
| 05 | 00332A30 |
| 06 | 003A5630 |
| 07 | 004185F0 |
| 08 | 0048DB70 |
| 09 | 00502FF0 |
| 0A | 00576C70 |
| 0B | 005EB9F0 |
| 0C | 006819F0 |
| 0D | 006604F0 |
| 0E | 00668A70 |
| 0F | 0066FCF0 |
| 10 | 00676DF0 |
| 11 | 006819F0 |
Offsets defined in this structure are relative to the position of the structure in ROM.
| Offset | Description |
|---|---|
| 00 | 32-bit offset of GFX transformations table |
| 04 | 32-bit number of transformations |
| 08 | Unknown |
| 0C | 32-bit offset of LZHUF-compressed texture meta table |
| 10 | 32-bit number of entries in the texture meta table |
| 14 | 32-bit offset of LZHUF-compressed texture data |
| 18 | 32-bit destination size of the texture data |
| 1C | 32-bit offset of LZHUF-compressed misc data |
| 20 | 32-bit destination size of misc data |
| 24 | Unknown |
| 28 | Unknown |
| 2C | Unknown |
| 30 | Unknown |
| 34 | 32-bit offset of LZHUF-compressed texture coordinate table |
| 38 | 32-bit destination size of the texture coordinate table |
| 3C | 32-bit offset of LZHUF-compressed GFX/Collision commands |
| 40 | 32-bit destination size of the GFX/Collision commands |
| 44-7F | Unknown |
Below is a list of files referenced the level headers.
| Address | Source size | Destination size | (Compression) Description |
|---|---|---|---|
| 0010FFF0 | 000000D6 | 000002A0 | (LZHUF) Level 00 texture meta |
| 001100F0 | 0000A445 | 0000D5E0 | (LZHUF) Level 00 textures |
| 0011A570 | 00024333 | 0005592D | (LZHUF) Level 00 misc data |
| 0013E8B0 | 00000048 | 00000074 | (LZHUF) Level 00 texture coordinates |
| 0013E930 | 00001DB0 | N/A | Level 00 GFX transformation table |
| 001406F0 | 0003BFC3 | 0005F90E | (LZHUF) Level 00 GFX/Collision commands |
| 0017C770 | 00000085 | 000001E0 | (LZHUF) Level 01 texture meta |
| 0017C830 | 000055E1 | 00008100 | (LZHUF) Level 01 textures |
| 00181E30 | 00020477 | 000460B9 | (LZHUF) Level 01 misc data |
| 001A22B0 | 00000037 | 0000004C | (LZHUF) Level 01 texture coordinates |
| 001A22F0 | 00001D38 | N/A | Level 01 GFX transformation table |
| 001A4030 | 0003987B | 0005BD41 | (LZHUF) Level 01 GFX/Collision commands |
| 001DD930 | 000000D2 | 000002A0 | (LZHUF) Level 02 texture meta |
| 001DDA30 | 00009908 | 0000E2A0 | (LZHUF) Level 02 textures |
| 001E7370 | 000253F7 | 00052D09 | (LZHUF) Level 02 misc data |
| 0020C770 | 00000053 | 00000084 | (LZHUF) Level 02 texture coordinates |
| 0020C7F0 | 00002940 | N/A | Level 02 GFX transformation table |
| 0020F130 | 00040C7F | 00063DED | (LZHUF) Level 02 GFX/Collision commands |
| 0024FE30 | 0000009A | 000001F8 | (LZHUF) Level 03 texture meta |
| 0024FEF0 | 00006DC4 | 0000A040 | (LZHUF) Level 03 textures |
| 00256CF0 | 00025496 | 00051409 | (LZHUF) Level 03 misc data |
| 0027C1B0 | 00000055 | 00000088 | (LZHUF) Level 03 texture coordinates |
| 0027C230 | 00001AE0 | N/A | Level 03 GFX transformation table |
| 0027DD30 | 00044C03 | 0006D2EF | (LZHUF) Level 03 GFX/Collision commands |
| 002C29F0 | 000000C3 | 00000258 | (LZHUF) Level 04 texture meta |
| 002C2AF0 | 00009371 | 0000BEA0 | (LZHUF) Level 04 textures |
| 002CBE70 | 00029C0E | 000585AD | (LZHUF) Level 04 misc data |
| 002F5AB0 | 0000002C | 00000044 | (LZHUF) Level 04 texture coordinates |
| 002F5AF0 | 00002300 | N/A | Level 04 GFX transformation table |
| 002F7DF0 | 0003AC30 | 000600DE | (LZHUF) Level 04 GFX/Collision commands |
| 00332AB0 | 0000008E | 000001B0 | (LZHUF) Level 05 texture meta |
| 00332B70 | 00006CA3 | 00008C60 | (LZHUF) Level 05 textures |
| 00339830 | 0002BF48 | 00059985 | (LZHUF) Level 05 misc data |
| 003657B0 | 00000047 | 00000074 | (LZHUF) Level 05 texture coordinates |
| 00365830 | 00001F18 | N/A | Level 05 GFX transformation table |
| 00367770 | 0003DEAE | 0005E91F | (LZHUF) Level 05 GFX/Collision commands |
| 003A56B0 | 000000C4 | 00000264 | (LZHUF) Level 06 texture meta |
| 003A57B0 | 00007A2D | 0000BA80 | (LZHUF) Level 06 textures |
| 003AD1F0 | 00021886 | 00048E61 | (LZHUF) Level 06 misc data |
| 003CEAB0 | 00000073 | 000000C4 | (LZHUF) Level 06 texture coordinates |
| 003CEB30 | 00001F40 | N/A | Level 06 GFX transformation table |
| 003D0A70 | 00047B62 | 000748F1 | (LZHUF) Level 06 GFX/Collision commands |
| 00418670 | 000000D5 | 000002C4 | (LZHUF) Level 07 texture meta |
| 00418770 | 000074C0 | 0000C8C0 | (LZHUF) Level 07 textures |
| 0041FC30 | 00028454 | 00053A21 | (LZHUF) Level 07 misc data |
| 004480B0 | 000000A2 | 00000110 | (LZHUF) Level 07 texture coordinates |
| 00448170 | 00001E78 | N/A | Level 07 GFX transformation table |
| 00449FF0 | 00043B45 | 00070C49 | (LZHUF) Level 07 GFX/Collision commands |
| 0048DBF0 | 000000DC | 00000288 | (LZHUF) Level 08 texture meta |
| 0048DCF0 | 00008649 | 0000C900 | (LZHUF) Level 08 textures |
| 00496370 | 0002A379 | 0005F209 | (LZHUF) Level 08 misc data |
| 004C06F0 | 000000B9 | 00000138 | (LZHUF) Level 08 texture coordinates |
| 004C07B0 | 000020F8 | N/A | Level 08 GFX transformation table |
| 004C28B0 | 00040728 | 000677FA | (LZHUF) Level 08 GFX/Collision commands |
| 00503070 | 000000CF | 00000264 | (LZHUF) Level 09 texture meta |
| 00503170 | 00008F11 | 0000BEC0 | (LZHUF) Level 09 textures |
| 0050C0B0 | 00027A9A | 00050B51 | (LZHUF) Level 09 misc data |
| 00533B70 | 0000005E | 0000009C | (LZHUF) Level 09 texture coordinates |
| 00533BF0 | 00001C20 | N/A | Level 09 GFX transformation table |
| 00535830 | 00041402 | 0006CBF6 | (LZHUF) Level 09 GFX/Collision commands |
| 00576CF0 | 000000D9 | 0000024C | (LZHUF) Level 0A texture meta |
| 00576DF0 | 00007F60 | 0000B4E0 | (LZHUF) Level 0A textures |
| 0057ED70 | 00025E0C | 00049109 | (LZHUF) Level 0A misc data |
| 005A4BB0 | 0000006B | 000000B8 | (LZHUF) Level 0A texture coordinates |
| 005A4C30 | 00002FF8 | N/A | Level 0A GFX transformation table |
| 005A7C30 | 00043DAF | 0006E823 | (LZHUF) Level 0A GFX/Collision commands |
| 005EBA70 | 000000FA | 000002E8 | (LZHUF) Level 0B texture meta |
| 005EBB70 | 00008A3E | 0000E3E0 | (LZHUF) Level 0B textures |
| 005F45B0 | 0002AC96 | 0005DEE9 | (LZHUF) Level 0B misc data |
| 0061F270 | 0000006F | 000000C0 | (LZHUF) Level 0B texture coordinates |
| 0061F2F0 | 000023C8 | N/A | Level 0B GFX transformation table |
| 006216F0 | 0003EDFE | 0005E93B | (LZHUF) Level 0B GFX/Collision commands |
| 00681A70 | 0000001D | 00000054 | (LZHUF) Level 0C texture meta |
| 00681AB0 | 00001A60 | 00001E00 | (LZHUF) Level 0C textures |
| 00683530 | 00009634 | 00013A51 | (LZHUF) Level 0C misc data |
| 0068CB70 | 0000001B | 00000028 | (LZHUF) Level 0C texture coordinates |
| 0068CBB0 | 00000CF8 | N/A | Level 0C GFX transformation table |
| 0068D8B0 | 0000F082 | 00018044 | (LZHUF) Level 0C GFX/Collision commands |
| 00660570 | 0000004B | 000000B4 | (LZHUF) Level 0D texture meta |
| 006605F0 | 00001A66 | 00003680 | (LZHUF) Level 0D textures |
| 00662070 | 000046FA | 0000B9CD | (LZHUF) Level 0D misc data |
| 00666770 | 00000024 | 00000030 | (LZHUF) Level 0D texture coordinates |
| 006667B0 | 00000320 | N/A | Level 0D GFX transformation table |
| 00666AF0 | 00001F5B | 00003380 | (LZHUF) Level 0D GFX/Collision commands |
| 00668AF0 | 0000004C | 000000A8 | (LZHUF) Level 0E texture meta |
| 00668B70 | 000020D8 | 00003A40 | (LZHUF) Level 0E textures |
| 0066AC70 | 0000311C | 00007529 | (LZHUF) Level 0E misc data |
| 0066DDB0 | 00000023 | 00000034 | (LZHUF) Level 0E texture coordinates |
| 0066DDF0 | 000000F0 | N/A | Level 0E GFX transformation table |
| 0066DEF0 | 00001DE1 | 000040B5 | (LZHUF) Level 0E GFX/Collision commands |
| 0066FD70 | 0000003B | 00000090 | (LZHUF) Level 0F texture meta |
| 0066FDB0 | 000017A4 | 00002E40 | (LZHUF) Level 0F textures |
| 00671570 | 00003416 | 00007CFD | (LZHUF) Level 0F misc data |
| 006749B0 | 0000001B | 00000024 | (LZHUF) Level 0F texture coordinates |
| 006749F0 | 000002F8 | N/A | Level 0F GFX transformation table |
| 00674CF0 | 000020C5 | 00003A8E | (LZHUF) Level 0F GFX/Collision commands |
| 00676E70 | 0000003F | 0000009C | (LZHUF) Level 10 texture meta |
| 00676EB0 | 0000184B | 00003240 | (LZHUF) Level 10 textures |
| 00678730 | 00005AD3 | 0000DD71 | (LZHUF) Level 10 misc data |
| 0067E230 | 00000016 | 00000024 | (LZHUF) Level 10 texture coordinates |
| 0067E270 | 000004B0 | N/A | Level 10 GFX transformation table |
| 0067E730 | 000032A0 | 000067AF | (LZHUF) Level 10 GFX/Collision commands |
| 00681A70 | 0000001D | 00000054 | (LZHUF) Level 11 texture meta |
| 00681AB0 | 00001A60 | 00001E00 | (LZHUF) Level 11 textures |
| 00683530 | 00009634 | 00013A51 | (LZHUF) Level 11 misc data |
| 0068CB70 | 0000001B | 00000028 | (LZHUF) Level 11 texture coordinates |
| 0068CBB0 | 00000CF8 | N/A | Level 11 GFX transformation table |
| 0068D8B0 | 0000F082 | 00018044 | (LZHUF) Level 11 GFX/Collision commands |
Note: Level 0C and level 11 reference the same group of files.
This table runs parallel to the level table.
| Index | Address |
|---|---|
| 00 | 000C6690 |
| 01 | 000C6690 |
| 02 | 000C6690 |
| 03 | 000D5C40 |
| 04 | 000D5C40 |
| 05 | 000D5C40 |
| 06 | 000CE500 |
| 07 | 000CE500 |
| 08 | 000CE500 |
| 09 | 000DC550 |
| 0A | 000DC550 |
| 0B | 000DC550 |
| 0C | 000C6690 |
| 0D | 000C6690 |
| 0E | 000D5C40 |
| 0F | 000CE500 |
| 10 | 000DC550 |
| 11 | 000C6690 |
| Address | Source size | Destination size | (Compression) Description |
|---|---|---|---|
| 000C6690 | 00007E6A | 0000A348 | (LZHUF) Common level mesh texture bank |
| 000CE500 | 0000773D | 00010420 | (LZHUF) Common level mesh texture bank |
| 000D5C40 | 00006907 | 0000A358 | (LZHUF) Common level mesh texture bank |
| 000DC550 | 00002ADD | 00008318 | (LZHUF) Common level mesh texture bank |
Note: The source sizes noted above are +4 to account for the destination size value that precedes each compressed file.
The addresses of these two files (000C3400, 0002F480) are defined at 00001280 and 00001490 respectively.
| Address | Source size | Destination size | (Compression) Description |
|---|---|---|---|
| 000C3400 | 00003284 | 00008318 | (LZHUF) Global level mesh texture bank |
| 0002F480 | 00057D3A | 000B8120 | (LZHUF) ? |
Note: The source sizes noted above are +4 to account for the destination size value that precedes each compressed file.