User Tools

Site Tools


return_of_samus:data_locations:ram_map

This is an old revision of the document!


Return of Samus: RAM Map

An in-progress RAM map to aid in custom assembly and ROM disassembly.

0000-3FFF - 16KB ROM Bank (fixed - bank 0)
4000-7FFF - 16KB ROM Bank (swappable)
8000-9FFF - 8KB Video RAM
A000-BFFF - 8KB SRAM

01:A000-A007 - SRAM Check - Must be 0123456789ABCDEF
01:A008-A02D - File 1
01:A080-A087 - SRAM Check
01:A088-A0AD - File 2 (verify)
01:A0C0-A0C7 - SRAM Check
01:A0C8-A0ED - File 3 (verify)

C000-DFFF - 8KB WRAM

01:C600-C7FF - Enemy Slots (0x10 slots, 0x20 bytes each)

01:D045 - Item Bits?
01:D053 - Samus' current Missile count
01:D058 - Current level bank loaded
01:D084 - Samus' current tank energy
01:D09A - Count of Metroids remaining
01:D0A3 - Save File Selected
01:D700-D73F - Door Transition Data Buffer
01:D800-D825 - Savegames are loaded to here

FF00-FF7F - Hardware I/O Ports/Registers
FF80-FFFE - High RAM (HRAM)

01:FF80 - Buttons being held
01:FF81 - Buttons just pressed

01:FF99 - Samus Y pos (onscreen)

01:FFA0-FFA9 - Sprite DMA Routine

01:FFC0 - Samus Y pos (pixels)
01:FFC1 - Samus Y pos (screens)
01:FFC2 - Samus X pos (pixels)
01:FFC3 - Samus X pos (screens)

01:FFC8 - Camera Y position (pixels)
01:FFC9 - Camera Y position (screens)
01:FFCA - Camera X position (pixels)
01:FFCB - Camera X position (screens)

01:FFE0-FFF5 - Used by active enemies (??)
return_of_samus/data_locations/ram_map.1430803284.txt.gz · Last modified: 2015/05/05 05:21 by rt-55j