Hack64 Wiki
Other Titles
Hack64 Wiki
Other Titles
This is an old revision of the document!
All RAM address below are for the NTSC-U 1.0 version of the game as it is the most commonly used version.
Address | Type | Description |
---|---|---|
0x80000400 | Static | Bootloader |
0x8002D500 | Dynamic | Heap |
0x8023DA20 | Static | Basic C Libraries Functions |
0x80275610 | Static | Basic C Libraries Variables |
0x80286F90 | Static | Game Engine Functions |
0x80363590 | Static | Game Engine Variables |
0x803863F0 | Static per Level | Level Specific Code |
Dynamic | Stack | |
0x80400000 | Free | Expansion Pak |
Address | Type | Description |
---|
Address | Type | Description |
---|
Address | Type | Description |
---|
Address | Name | Inputs | Output | Description |
---|---|---|---|---|
0x80002000 | DMA_transfer | bool $a0 direction | performs DMA transfer, ROM to RAM (0) or RAM to ROM (1) | |
u32* $a1 ROM_Addr | ||||
u32* $a2 RAM_Addr | ||||
u32 $a3 size | ||||
0x800020E0 | get_DMA_SR | \\void | u32 | returns DMA status register |
Address | Name | Inputs | Output | Description |
---|---|---|---|---|
0x80254608 | memcpy | u8* $a0 dest | \\void | bitwise copy of memory for source to destination |
u8* $a1 src | ||||
u32 $a2 size |
Address | Name | Inputs | Output | Description |
---|---|---|---|---|
0x8028F3B8 | unlockMove | $a0 moveIndex | void | unlocks specific move |
0x802957D8 | is_moveUnlocked | $a0 moveIndex | bool | checks if specific move is unlocked |
0x802957F0 | get_unlockedMovesBitfield | void | u32 | returns bitfield of unlocked moves |
0x80295804 | lockAllMoves | void | void | locks all moves |
0x8029AF50 | normalizeFloat | float $f12 input | float | returns float normalized to range |
float $f14 lowerLimit | ||||
float $a2 upperLimit |