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 |