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 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
Jump to navigation
Jump to search
m (New addresses + Keeping track of how many byte each unmapped chunk occupies got old quickly.) |
m ("start of game" -> power-on + mapped C627 + note columns + better (yet still only partially) explained C63B) |
||
Line 6: | Line 6: | ||
==TBD== | ==TBD== | ||
{| border="3" cellpadding="7" | {| border="3" cellpadding="7" style="max-width: 75%;" | ||
! style="text-align: center;" | '''RAM''' | ! style="text-align: center;" | '''RAM''' | ||
! '''Size''' | ! '''Size''' | ||
! '''Purpose''' | ! '''Purpose''' | ||
! '''Note''' | |||
|- | |- | ||
|C5C0 - C5FF || || Unappraised rings carried | |C5C0 - C5FF || || Unappraised rings carried || | ||
|- | |- | ||
|C602 - C606 || || Player name | |C602 - C606 || || Player name || | ||
|- | |- | ||
|C616 - C61D || || Rings owned | |C616 - C61D || || Rings owned || | ||
|- | |- | ||
|C61E - C61F || 2 Bytes || Deaths | |C61E - C61F || 2 Bytes || Deaths || | ||
|- | |- | ||
|C622 - C625 || 4 Bytes || Time passed since | |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 || | ||
|- | |- | ||
|C63C || 1 Byte || Current ''Absolute'' Dungeon Screen | |C63B || 1 Byte || Current ''Absolute'' Overworld Screen<br />'''OR'''<br />Current ''Relative'' Dungeon Screen || On the overworld, all 256 screens are represented in order; left to right, top to bottom, 0x00 - 0xFF.<br /><br />Inside a dungeon, only screens that are valid rooms are represented while empty squares are not counted. | ||
|- | |||
|C63C || 1 Byte || Current ''Absolute'' Dungeon Screen || | |||
|} | |} | ||
<br /> | <br /> | ||
==Enemies killed since...== | ==Enemies killed since...== | ||
{| border="3" cellpadding="7" | {| border="3" cellpadding="7" style="max-width: 75%;" | ||
! style="text-align: center;" | '''RAM''' | ! style="text-align: center;" | '''RAM''' | ||
! '''Size''' | ! '''Size''' | ||
! '''Purpose''' | ! '''Purpose''' | ||
! '''Note''' | |||
|- | |- | ||
|C63E || 1 Byte || Enemies killed since last Maple encounter | |C63E || 1 Byte || Enemies killed since last Maple encounter || | ||
|- | |- | ||
|C64C || 1 Byte || Enemies killed since Gasha Seed planted at ?? | |C64C || 1 Byte || Enemies killed since Gasha Seed planted at ?? || | ||
|- | |- | ||
|C64D || 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 ?? | |C64E || 1 Byte || Enemies killed since Gasha Seed planted at ?? || | ||
|- | |- | ||
|C64F || 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 ?? | |C650 || 1 Byte || Enemies killed since Gasha Seed planted at ?? || | ||
|- | |- | ||
|C651 || 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 ?? | |C652 || 1 Byte || Enemies killed since Gasha Seed planted at ?? || | ||
|- | |- | ||
|C653 || 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 ?? | |C654 || 1 Byte || Enemies killed since Gasha Seed planted at ?? || | ||
|- | |- | ||
|C655 || 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 | |C656 || 1 Byte || Enemies killed since Gasha Seed planted at K7 || | ||
|- | |- | ||
|C657 || 1 Byte || Enemies killed since Gasha Seed planted at ?? | |C657 || 1 Byte || Enemies killed since Gasha Seed planted at ?? || | ||
|- | |- | ||
|C658 || 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 ?? | |C659 || 1 Byte || Enemies killed since Gasha Seed planted at ?? || | ||
|- | |- | ||
|C65A || 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 | |C65B || 1 Byte || Enemies killed since Gasha Seed planted at M9 || | ||
|} | |} | ||
Line 93: | Line 97: | ||
==Items/Collectables== | ==Items/Collectables== | ||
{| border="3" cellpadding="7" | {| border="3" cellpadding="7" style="max-width: 75%;" | ||
! style="text-align: center;" | '''RAM''' | ! style="text-align: center;" | '''RAM''' | ||
! '''Size''' | ! '''Size''' | ||
! '''Purpose''' | ! '''Purpose''' | ||
! '''Note''' | |||
|- | |- | ||
|C66F || 1 Byte || Small Keys | |C66F || 1 Byte || Small Keys || | ||
|- | |- | ||
|C67A || 1 Byte || Has Boss Key<br />(if value ends in '''2''', '''3''', '''6''', '''7''', '''A''', '''B''', '''E''', or '''F''') | |C67A || 1 Byte || Has Boss Key<br />(if value ends in '''2''', '''3''', '''6''', '''7''', '''A''', '''B''', '''E''', or '''F''') || | ||
|- | |- | ||
|C67C || 1 Byte || Has Compass<br />(if value ends in '''2''', '''3''', '''6''', '''7''', '''A''', '''B''', '''E''', or '''F''') | |C67C || 1 Byte || Has Compass<br />(if value ends in '''2''', '''3''', '''6''', '''7''', '''A''', '''B''', '''E''', or '''F''') || | ||
|- | |- | ||
|C67E || 1 Byte || Has Dungeon Map<br />(if value ends in '''2''', '''3''', '''6''', '''7''', '''A''', '''B''', '''E''', or '''F''') | |C67E || 1 Byte || Has Dungeon Map<br />(if value ends in '''2''', '''3''', '''6''', '''7''', '''A''', '''B''', '''E''', or '''F''') || | ||
|- | |- | ||
|C680 - C691 || || Items | |C680 - C691 || || Items || | ||
|- | |- | ||
|C6A2 || 1 Byte || Current Hearts | |C6A2 || 1 Byte || Current Hearts || | ||
|- | |- | ||
|C6A3 || 1 Byte || Max Hearts | |C6A3 || 1 Byte || Max Hearts || | ||
|- | |- | ||
|C6A5 - C6A6 || 2 Bytes || Rupees | |C6A5 - C6A6 || 2 Bytes || Rupees || | ||
|- | |- | ||
|C6A7 - C6A8 || 2 Bytes || Ore Chunks | |C6A7 - C6A8 || 2 Bytes || Ore Chunks || | ||
|- | |- | ||
|C6A9 || 1 Byte || Shield level | |C6A9 || 1 Byte || Shield level || | ||
|- | |- | ||
|C6AA || 1 Byte || Current Bombs | |C6AA || 1 Byte || Current Bombs || | ||
|- | |- | ||
|C6AC || 1 Byte || Sword level | |C6AC || 1 Byte || Sword level || | ||
|- | |- | ||
|C6B1 || 1 Byte || Boomerang level | |C6B1 || 1 Byte || Boomerang level || | ||
|- | |- | ||
|C6B3 || 1 Byte || Slingshot level | |C6B3 || 1 Byte || Slingshot level || | ||
|- | |- | ||
|C6B4 || 1 Byte || Roc's feather level | |C6B4 || 1 Byte || Roc's feather level || | ||
|- | |- | ||
|C6B5 || 1 Byte || Ember Seeds | |C6B5 || 1 Byte || Ember Seeds || | ||
|- | |- | ||
|C6B6 || 1 Byte || Scent Seeds | |C6B6 || 1 Byte || Scent Seeds || | ||
|- | |- | ||
|C6B7 || 1 Byte || Pegasus Seeds | |C6B7 || 1 Byte || Pegasus Seeds || | ||
|- | |- | ||
|C6B8 || 1 Byte || Gale Seeds | |C6B8 || 1 Byte || Gale Seeds || | ||
|- | |- | ||
|C6B9 || 1 Byte || Mystery Seeds | |C6B9 || 1 Byte || Mystery Seeds || | ||
|- | |- | ||
|C6BA || 1 Byte || Gasha Seeds | |C6BA || 1 Byte || Gasha Seeds || | ||
|- | |- | ||
|C6BB || 1 Byte || Essences | |C6BB || 1 Byte || Essences || | ||
|- | |- | ||
|C6C6 || 1 Byte || Ring Box level | |C6C6 || 1 Byte || Ring Box level || | ||
|} | |} | ||
<br /> | <br /> | ||
==TBD== | ==TBD== | ||
{| border="3" cellpadding="7" | {| border="3" cellpadding="7" style="max-width: 75%;" | ||
! style="text-align: center;" | '''RAM''' | ! style="text-align: center;" | '''RAM''' | ||
! '''Size''' | ! '''Size''' | ||
! '''Purpose''' | ! '''Purpose''' | ||
! '''Note''' | |||
|- | |- | ||
|C700 - C7FF || || Overworld Screen Flags (used to track events and map exploration) | |C700 - C7FF || || Overworld Screen Flags (used to track events and map exploration) || | ||
|- | |- | ||
|CC30 || 1 Byte || Enemies left on screen | |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) | |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 | |CF00 - CFAF || || Current Screen Tile Data || | ||
|} | |} | ||
<br /> | <br /> | ||
==Unmapped== | ==Unmapped== | ||
{| border="3" cellpadding="7" | {| border="3" cellpadding="7" style="max-width: 75%;" | ||
! style="text-align: center;" | '''RAM''' | ! style="text-align: center;" | '''RAM''' | ||
! '''Note''' | |||
|- | |||
|C000 - C5BF || | |||
|- | |- | ||
| | |C600 - C601 || | ||
|- | |- | ||
| | |C607 - C615 || | ||
|- | |- | ||
| | |C620 - C621 || | ||
|- | |- | ||
| | |C626 || | ||
|- | |- | ||
| | |C628- C639 || | ||
|- | |- | ||
|C63D | |C63D || | ||
|- | |- | ||
|C63F - C64B | |C63F - C64B || | ||
|- | |- | ||
|C65E - C66E | |C65E - C66E || | ||
|- | |- | ||
|C670 - C679 | |C670 - C679 || | ||
|- | |- | ||
|C67B | |C67B || | ||
|- | |- | ||
|C67D | |C67D || | ||
|- | |- | ||
|C67F | |C67F || | ||
|- | |- | ||
|C692 - C6A1 | |C692 - C6A1 || | ||
|- | |- | ||
|C6A4 | |C6A4 || | ||
|- | |- | ||
|C6AB | |C6AB || | ||
|- | |- | ||
|C6AD - C6B0 | |C6AD - C6B0 || | ||
|- | |- | ||
|C6B2 | |C6B2 || | ||
|- | |- | ||
|C6BC - C6C5 | |C6BC - C6C5 || | ||
|- | |- | ||
|C6C7 - C6FF | |C6C7 - C6FF || | ||
|- | |- | ||
|C800 - CC2F | |C800 - CC2F || | ||
|- | |- | ||
|CC31 - CDFF | |CC31 - CDFF || | ||
|- | |- | ||
|CEB0 - CEFF | |CEB0 - CEFF || | ||
|- | |- | ||
|CFB0 - CFFF | |CFB0 - CFFF || | ||
|} | |} |
Revision as of 04:23, 24 April 2023
NOTE: All values in Tables are Hexadecimal unless noted otherwise.
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 screens are represented in order; left to right, top to bottom, 0x00 - 0xFF. Inside a dungeon, only screens that are valid rooms are represented while empty squares are not counted. |
C63C | 1 Byte | Current Absolute Dungeon Screen |
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
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 |