Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

The Legend of Zelda: Oracle of Seasons/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (C63C image)
m (More explanation on C63B)
Line 26: Line 26:
|C63A || 1 Byte || Current level bank ||
|C63A || 1 Byte || Current level bank ||
|-
|-
|C63B || 1 Byte || Current ''Absolute'' Overworld Screen<br /><br /><center>'''OR'''</center><br />Current ''Relative'' Dungeon Screen || On the overworld, all 256 map squares are represented in order; left to right, top to bottom, 0x00 - 0xFF.<br /><br />Inside a dungeon, only squares that are valid rooms are represented while empty squares are not counted. <span style="float: right; margin-left: 500px;">[[File:Zelda OoS RAM C63B 01.png|200px]]</span>
|C63B || 1 Byte || Current ''Absolute'' Overworld Screen<br /><br /><center>'''OR'''</center><br />Current ''Relative'' Dungeon Screen || On the overworld, all 256 map squares are represented in order; left to right, top to bottom, 0x00 - 0xFF.<br /><br />Inside a dungeon, only squares that are valid rooms are represented while empty squares are not counted; the only empty squares that are counted are the ones leading up to the first valid room in order, then from there, the value only increases with each valid room. <span style="float: right; margin-left: 500px;">[[File:Zelda OoS RAM C63B 01.png|200px]]</span>
|-
|-
|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.<span style="float: right; margin-left: 500px;">[[File:Zelda OoS RAM C63C 01.png|200px]]</span>
|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.<span style="float: right; margin-left: 500px;">[[File:Zelda OoS RAM C63C 01.png|200px]]</span>

Revision as of 05:41, 24 April 2023

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; the only empty squares that are counted are the ones leading up to the first valid room in order, then from there, the value only increases with each valid room. 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