Hack64 Wiki
Other Titles
Hack64 Wiki
Other Titles
SM64 often uses segmented addresses for certain regions of memory. There is a mapping table stored in RAM that is used to keep track of the base virtual address of each segment. This is used for both graphics data that is passed to the RSP and overlay data that changes depending on what the Level Commands load. The SM64 (U) ROM stores the segment table at RAM address 0x8033B400.
Segment | Base Address | Description |
---|---|---|
00 | 00000000 | |
01 | 00207D00/00214550 | Master display list - toggles every frame |
02 | 00064F80 | HUD graphics, dialog data |
03 | 000B3FB0 | Doors, coins, star data, tree data, wooden signpost |
04 | 0007EC20 | Mario's model |
05 | Object group geo-layout, model, textures | |
06 | Object group geo-layout, model, textures | |
07 | Level model and textures | |
08 | Object group geo-layout, model, textures | |
09 | Level Mesh and additional textures | |
0A | Skybox textures and mesh | |
0B | Environment data/textures (snow/blizzard) | |
0C | Object group geo-layout, model, textures | |
0D | Object group geo-layout, model, textures | |
0E | Level scripts loaded with Level command 00 | |
0F | Object group geo-layout, model, textures |
Segment | Description |
---|---|
10 | |
11 | |
12 | |
13 | Behavior script bank |
14 | Level scripts |
15 | Level scripts |
16 | Geo layouts (pre-decompression) |
17 | Geo layouts (pre-decompression) |
18 | Nothing? |
19 | Unused |
1A | Unused |
1B | Unused |
1C | Unused |
1D | Unused |
1E | Unused |
1F | Unused |