The Legend of Zelda: Oracle of Seasons/RAM map

From Data Crystal
Jump to navigation Jump to search

NOTE: All values in Tables are Hexadecimal unless noted otherwise.

Chip tiny.png The following article is a RAM map for The Legend of Zelda: Oracle of Seasons.

Bank 0 (C000 - CFFF)


TBD

RAM Size Purpose Note
C5C0 - C5FF Unappraised rings carried
C602 - C606 Player name
C616 - C61D Rings owned
C61E - C61F 2 Bytes Deaths
C622 - C625 4 Bytes Time passed since power-on
C627 2 Bytes Rupees earned since file creation Value is represented in decimal
C63A 1 Byte Current level bank
C63B 1 Byte Current Absolute Overworld Screen

OR

Current Relative Dungeon Screen
On the overworld, all 256 map squares are represented in order; left to right, top to bottom, 0x00 - 0xFF.

Inside a dungeon, only squares that are valid rooms are represented while empty squares are not counted. Zelda OoS RAM C63B 01.png
C63C 1 Byte Current Absolute Dungeon Screen Unlike with C63B, all squares on the dungeon map, including ones that do not represent a valid room, are counted in order; left to right, top to bottom, 0x00 - 0xFF.Zelda OoS RAM C63C 01.png


Enemies killed since...

RAM Size Purpose Note
C63E 1 Byte Enemies killed since last Maple encounter
C64C 1 Byte Enemies killed since Gasha Seed planted at ??
C64D 1 Byte Enemies killed since Gasha Seed planted at ??
C64E 1 Byte Enemies killed since Gasha Seed planted at ??
C64F 1 Byte Enemies killed since Gasha Seed planted at ??
C650 1 Byte Enemies killed since Gasha Seed planted at ??
C651 1 Byte Enemies killed since Gasha Seed planted at ??
C652 1 Byte Enemies killed since Gasha Seed planted at ??
C653 1 Byte Enemies killed since Gasha Seed planted at ??
C654 1 Byte Enemies killed since Gasha Seed planted at ??
C655 1 Byte Enemies killed since Gasha Seed planted at ??
C656 1 Byte Enemies killed since Gasha Seed planted at K7
C657 1 Byte Enemies killed since Gasha Seed planted at ??
C658 1 Byte Enemies killed since Gasha Seed planted at ??
C659 1 Byte Enemies killed since Gasha Seed planted at ??
C65A 1 Byte Enemies killed since Gasha Seed planted at ??
C65B 1 Byte Enemies killed since Gasha Seed planted at M9


Mysterious Counter

C65C - C65D A counter for ??? for which various actions increment
Action Incrementation
Great Fairy Heal 0x40
Bomb a Wall 0x32
Collect a Fairy 0x18
Screen Transition (excluding entering and exiting structures) 0x05
Collecting a Heart 0x04
Slaying an Enemy 0x03


Items/Collectables

RAM Size Purpose Note
C66F 1 Byte Small Keys
C67A 1 Byte Has Boss Key
(if value ends in 2, 3, 6, 7, A, B, E, or F)
C67C 1 Byte Has Compass
(if value ends in 2, 3, 6, 7, A, B, E, or F)
C67E 1 Byte Has Dungeon Map
(if value ends in 2, 3, 6, 7, A, B, E, or F)
C680 - C691 Items
C6A2 1 Byte Current Hearts
C6A3 1 Byte Max Hearts
C6A5 - C6A6 2 Bytes Rupees
C6A7 - C6A8 2 Bytes Ore Chunks
C6A9 1 Byte Shield level
C6AA 1 Byte Current Bombs
C6AC 1 Byte Sword level
C6B1 1 Byte Boomerang level
C6B3 1 Byte Slingshot level
C6B4 1 Byte Roc's feather level
C6B5 1 Byte Ember Seeds
C6B6 1 Byte Scent Seeds
C6B7 1 Byte Pegasus Seeds
C6B8 1 Byte Gale Seeds
C6B9 1 Byte Mystery Seeds
C6BA 1 Byte Gasha Seeds
C6BB 1 Byte Essences
C6C6 1 Byte Ring Box level


TBD

RAM Size Purpose Note
C700 - C7FF Overworld Screen Flags (used to track events and map exploration)
CC30 1 Byte Enemies left on screen
CE00 - CEAF Current Screen Collision Data (dynamically generated from the screen tile data. this space is also used as a temporary store for compressed level data read from ROM)
CF00 - CFAF Current Screen Tile Data


Unmapped

RAM Note
C000 - C5BF
C600 - C601
C607 - C615
C620 - C621
C626
C628- C639
C63D
C63F - C64B
C65E - C66E
C670 - C679
C67B
C67D
C67F
C692 - C6A1
C6A4
C6AB
C6AD - C6B0
C6B2
C6BC - C6C5
C6C7 - C6FF
C800 - CC2F
CC31 - CDFF
CEB0 - CEFF
CFB0 - CFFF