Ram Map

From CloudModding OoT Wiki
Jump to: navigation, search
For a listing of function addresses, see Function Map.

Ram Map (NTSC 1.0)

The N64 releases of Ocarina of Time will always address a maximum of 4 MiBs of ram by default, regardless of what ram pack is installed. N64 versions have an extra interesting wrinkle to them since the game was planned to be expanded via the Disk Drive. Installing the DD changes how ram is utilized since the extra code to interface with the DD system pushes OoT past its tight memory requirements and mandates the 8 MiB expansion.

All Game States, no Disk Drive

Start End Type Description Notes
000000 000460 file makerom File is "folded"?
000460 006830 file boot
00B140 0110A0 file dmadata
0110A0 114DD0 file code
11A5D0 data Save data variables and static variables 0x1352 bytes are crc'd, 0x1450 saved, 0x1428 bytes blanked during initialization
11D500 11D968 data Input Context Manages input updates. Game States do not directly read from here to detect input
11F290 11F588 data Graphics Context Contains structure that handles frame display list stuff. Located on graph thread's stack
125630 12BA80 data "Audio Context" Unknown, initialized by audio thread
12BE40 data Z-Buffer
16A640 17CA50 data Buffer for Frame 0 Display Lists
17CA50 18EE60 data Buffer for Frame 1 Display Lists
1C6E60 3B5000 data Main Heap (see below)
3B5000 3DA800 data Frame Buffer 0 (even frames)
3DA800 400000 data Frame Buffer 1 (odd frames)
Main Heap (Gameplay Game State)
Start End Type Description Notes
1C6E60 1C6E90 mem ll Memory Node that references below
1C6E90 1C8464 data Static Context Typically stores variables that persist beyond the lifetime of Game States
The Debug Rom's "Memory Editor" manipulates this space
1C84A0 1DA9C0 data Global Context (Game) Stores variables for the Game State
1DA9F0 3AF190 space Gameplay Game State's Heap Coded to be a fixed 0x1D47A0
1DAA00 data Dynamically Allocated Space Stores Actor and Particle Effect overlays
End Address set after giving everything else an address
- FA000 Scene
File Start
data Object file space Starts at (scene file start - 0xFA000)
384980 file Scene file Starting address depends on scene file size
384980 386960 data Particles

Game Loaded (Paused, outside dungeon)

Bank offset 08 points to start of paused stuff?

File Notes
icon_item_static
icon_item_24_static
icon_item_field_static
icon_item_*_static * = current language
item_name_static texture last selected, 0x400
map_name_static texture current location, 0xA00

Game Loaded (Paused, inside dungeon)

Bank offset 08 points to start of paused stuff?

File Notes
icon_item_static
icon_item_24_static
icon_item_dungeon_static
icon_item_*_static * = language
item_name_static texture last selected, 0x400
map_name_static texture current location (unused?), 0xA00