User Tools

Site Tools


banjo_kazooie:ram_map

This is an old revision of the document!


Banjo-Kazooie RAM Map

All RAM address below are for the NTSC-U 1.0 version of the game as it is the most commonly used version.


RAM Map Segments

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

Static Variables

Bootloader

Address Type Description

C Libraries

Address Type Description

Game Engine

Address Type Description

Static Functions

Bootloader

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

C Libraries

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

Game Engine

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
banjo_kazooie/ram_map.1556929760.txt.gz · Last modified: 2019/05/04 00:29 by mittenz