Hack64 Wiki
Other Titles
Hack64 Wiki
Other Titles
| RAM Addr. | Description |
|---|---|
| 800067C4 | Set places (1st, 2nd, etc) |
| 800115F4 | Process path data on course load |
| 8002F35C | Controls cpu movement along track while player is moving |
| 800400D0 | MIO0 decoder |
| 800404C0 | MIO0 encoder |
| 800405D0 | TKMK00 decoder |
| 80093134 | Print text |
| 8009338C | Print text |
| 80093788 | Print text |
| 80099124 | Segmented to virtual address converter |
| 80099154 | Segmented to virtual address converter (duplicate) |
| 800C4148 | Play sound |
| 800D0050 | s32 osEepromLongWrite(OSMesgQueue *mq, u8 address, u8 *buffer, int nbytes); |
| 800D0190 | s32 osEepromLongRead(OSMesgQueue *mq, u8 address, u8 *buffer, int nbytes) |
| 8029D584 | Place x with segment 06 offset |
| 8029D60C | Place bushes with segment 06 offset (bowser's castle) |
| 8029D830 | Place all item boxes using segment 06 offset |
| 802A7B94 | Segment base setter |
| 802A85CC | MIO0 '0F' list related |
| 802A9AF4 | Display list unpacker (A0 = segmented address of packed dlist, A1 = length) |
| 802AA918 | Course data main loader |
| ROM | RAM Addr. | Description |
|---|---|---|
| - | 800DC53C | Game mode selection |
| - | 800DC598 | Course timer (float) |
| - | 800DC5A0 | Course selection |
| 0E3AD0 | 800E2ED0 | Kart unique settings table, 40 bytes per entry |
| 0F0468 | 800EF868 | ASCII text bank |
| 0F4BB0 | ? | “RSP Gfx ucode F3DEX 0.95 Yoshitaka Yasumoto Nintendo.” |
| 0F53B0 | ? | “RSP Gfx ucode F3DLX 0.95 Yoshitaka Yasumoto Nintendo.” |
| - | 80150258 | RAM Segments table |
| - | 80165C18 | Course RAM objects array? (bowser whomps, luigi hot air balloon) |
| - | 8018EDE4 | Character selections |
| - | 8018EDF0 | Player count selection |
| 122390 | 802B8D80 | Course data reference table |
| 1232A4 | 802B9C94 | Jump table for segment 7 display list unpacking |
| - | 802BA274 | Index for packed dlist commands |
| 12A1F0 | ? | ASCII text bank (credits) |
| 132B50 | - | First MIO0 block |
| 145470 | - | Kart texture and palette bank (MIO0 8CI textures, raw RGBA5551 palettes) |
| 641F70 | - | Course texture bank |
| 712DC0 | - | An MIO0 bank (kart exhaust textures?) |
| 729A30 | - | MIO0 Large character face textures |
| 7FA3C0 | - | TKMK00 bank |
| 820FC0 | - | Last TKMK block in ROM |
| 821D10 | - | Two MIO0 blocks |
| 8284D0 | - | Course assets MIO0 bank |
| 88CD70 | - | Course texture/Seg06 dlist reference bank |
| 88FA10 | - | Course MIO0 vertex data & special dlist bank |
| 963EF0 | - | Last MIO0 block in ROM |
| BC5F60 | ? | M64 music data |
| BE9160 | - | End of ROM, 93856 padding bytes |
The RAM Segments table contains the base virtual addresses for each segment and is located at 80150258.
| Seg | Description |
|---|---|
| 00 | General Purpose; contains the game code addressed as 0x80000000 ex 0x8029E158 |
| 01 | gGfxPool |
| 02 | Variety of fonts, UI textures, animations, vertices, and displaylists |
| 03 | Common and Course Specific Textures loaded by func_8029E158. Sets data to segment F for extraction. |
| 04 | Course geography vertex data. |
| 05 | Course textures |
| 06 | Startup logo & Course data consisting of displaylists, textures, models, actor spawn locations, and path data. |
| 07 | Unpacked displaylists which reference course mesh data. |
| 08 | Unused. |
| 09 | Course offsets for texture lists and a jump table consisting of segment 06 display list. |
| 0A | Unused. |
| 0B | Trophy and podium data used during the awards ceremony. |
| 0C | Unused. |
| 0D | Common course data; textures, vertices, displaylists, etc. |
| 0E | Unused. |
| 0F | Temporary buffer for course mesh MIO0 and packed dlists / Course collisions table (44 byte entries) |