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
(Complete explanation of C627 - C628 + mapped C6CA + more styling/formatting) |
m (Bolded Examples) |
||
Line 22: | Line 22: | ||
|C622 - C625 || 4 Bytes || Time passed since power-on || | |C622 - C625 || 4 Bytes || Time passed since power-on || | ||
|- | |- | ||
|C627 - C628 || 2 Bytes || Rupees earned since file creation || Value is represented in decimal.<br /><br />Example: If the total earned rupee count is 8,473, the hexadecimal representation will be <code>0x8473</code>.<br /><br />When a rupee gain pushes the value over <code>0x9999</code>, the value is then set to 0x6363, the value will no longer change, and <code>C6CA</code> is then incremented by <code>0x01</code> so that Vasu will give the Rupee Ring the next time he is spoken with. | |C627 - C628 || 2 Bytes || Rupees earned since file creation || Value is represented in decimal.<br /><br />'''Example''': If the total earned rupee count is 8,473, the hexadecimal representation will be <code>0x8473</code>.<br /><br />When a rupee gain pushes the value over <code>0x9999</code>, the value is then set to 0x6363, the value will no longer change, and <code>C6CA</code> is then incremented by <code>0x01</code> so that Vasu will give the Rupee Ring the next time he is spoken with. | ||
|- | |- | ||
|C629 || 1 Byte || Message Speed || <code>0x00 - 0x04</code><br /><br />Some higher values yield hilarious results such as a letter appearing once per few seconds. | |C629 || 1 Byte || Message Speed || <code>0x00 - 0x04</code><br /><br />Some higher values yield hilarious results such as a letter appearing once per few seconds. | ||
Line 179: | Line 179: | ||
|C6A3 || 1 Byte || Max Hearts || | |C6A3 || 1 Byte || Max Hearts || | ||
|- | |- | ||
|C6A5 - C6A6 || 2 Bytes || Rupees || Value is represented in decimal.<br /><br />Example: If the total rupee count is 639, the hexadecimal representation will be <code>0x0639</code>. | |C6A5 - C6A6 || 2 Bytes || Rupees || Value is represented in decimal.<br /><br />'''Example''': If the total rupee count is 639, the hexadecimal representation will be <code>0x0639</code>. | ||
|- | |- | ||
|C6A7 - C6A8 || 2 Bytes || Ore Chunks || | |C6A7 - C6A8 || 2 Bytes || Ore Chunks || |
Revision as of 01:31, 25 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
Enemies killed since...
RAM | Size | Purpose | Note |
---|---|---|---|
C63E | 1 Byte | Last Maple encounter | |
C64C | 1 Byte | Gasha Seed planted at ?? | |
C64D | 1 Byte | Gasha Seed planted at ?? | |
C64E | 1 Byte | Gasha Seed planted at ?? | |
C64F | 1 Byte | Gasha Seed planted at ?? | |
C650 | 1 Byte | Gasha Seed planted at ?? | |
C651 | 1 Byte | Gasha Seed planted at ?? | |
C652 | 1 Byte | Gasha Seed planted at ?? | |
C653 | 1 Byte | Gasha Seed planted at ?? | |
C654 | 1 Byte | Gasha Seed planted at ?? | |
C655 | 1 Byte | Gasha Seed planted at ?? | |
C656 | 1 Byte | Gasha Seed planted at K7 | |
C657 | 1 Byte | Gasha Seed planted at ?? | |
C658 | 1 Byte | Gasha Seed planted at ?? | |
C659 | 1 Byte | Gasha Seed planted at ?? | |
C65A | 1 Byte | Gasha Seed planted at ?? | |
C65B | 1 Byte | Gasha Seed planted at M9 |
Mysterious Counter
Action | Incrementation | Note |
---|---|---|
Great Fairy Heal | 0x40 |
|
Bomb a Wall | 0x32 |
|
Collect a Fairy | 0x18 |
|
Screen Transition | 0x05 |
This excludes entering/exiting structures, or taking mini-boss warps in dungeons. (TODO: Test Gale seeds) |
Collect a Heart | 0x04 |
|
Slay an Enemy | 0x03 |
Dungeon Things
RAM | Size | Purpose | Note |
---|---|---|---|
C662 | 1 Byte | Has entered Hero's Cave | |
C663 | 1 Byte | Has entered Level 1: Gnarled Root Dungeon | Exiting a sublevel or using a mini-boss warp will also set this flag (though redundant). |
C664 | 1 Byte | Has entered Level 2: Snake's Remains (?) | |
C665 | 1 Byte | Has entered Level 3: Poison Moth's Lair (?) | |
C666 | 1 Byte | Has entered Moblin's Keep (?) | |
C667 | 1 Byte | Has entered Level 4: Dancing Dragon Dungeon (?) | |
C668 | 1 Byte | Has entered Level 5: Unicorn's Cave (?) | |
C669 | 1 Byte | Has entered Level 6: Ancient Ruins (?) | |
C66A | 1 Byte | Has entered Level 7: Explorer's Crypt (?) | |
C66B | 1 Byte | Has entered Level 8: Sword & Shield Maze (?) | |
C66C | 1 Byte | Has entered Onox's Castle (?) |
C66E | 1 Byte | Small Keys — Hero's Cave | |
C66F | 1 Byte | Small Keys — Level 1: Gnarled Root Dungeon | |
C670 | 1 Byte | Small Keys — Level 2: Snake's Remains (?) | |
C671 | 1 Byte | Small Keys — Level 3: Poison Moth's Lair (?) | |
C672 | 1 Byte | Small Keys — Moblin's Keep (?) | |
C673 | 1 Byte | Small Keys — Level 4: Dancing Dragon Dungeon (?) | |
C674 | 1 Byte | Small Keys — Level 5: Unicorn's Cave (?) | |
C675 | 1 Byte | Small Keys — Level 6: Ancient Ruins (?) | |
C676 | 1 Byte | Small Keys — Level 7: Explorer's Crypt (?) | |
C677 | 1 Byte | Small Keys — Level 8: Sword & Shield Maze (?) | |
C678 | 1 Byte | Small Keys — Onox's Castle (?) |
C67A | 1 Byte | Has Boss Key | True if value ends in 2, 3, 6, 7, A, B, E, or F (TODO: Determine why multiple values evaluate to True) |
C67C | 1 Byte | Has Compass | True if value ends in 2, 3, 6, 7, A, B, E, or F (TODO: Determine why multiple values evaluate to True) |
C67E | 1 Byte | Has Dungeon Map | True if value ends in 2, 3, 6, 7, A, B, E, or F (TODO: Determine why multiple values evaluate to True) |
Items/Collectables
RAM | Size | Purpose | Note |
---|---|---|---|
C680 - C691 | Items | ||
C6A2 | 1 Byte | Current Hearts | |
C6A3 | 1 Byte | Max Hearts | |
C6A5 - C6A6 | 2 Bytes | Rupees | Value is represented in decimal. Example: If the total rupee count is 639, the hexadecimal representation will be 0x0639 .
|
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 | |
C6CA | 1 Byte | Vasu Ring Flags | 0x01 : Slayed 1,000 Monsters — Slayer's Ring0x02 : Collected 10,000 Rupees — Rupee Ring0x04 : Saved the World — Victory RingBased on what events have occurred, the above values get added to this address. Collecting each corresponding ring then adds the corresponding value multiplied by 0x10 to this address. Example: If the value is |
C6C6 | 1 Byte | Ring Box level |
TBD
RAM | Size | Purpose | Note |
---|---|---|---|
C700 - C7FF | 256 Bytes | 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 - C66C | |
C679 | |
C67B | |
C67D | |
C67F | |
C692 - C6A1 | |
C6A4 | |
C6AB | |
C6AD - C6B0 | |
C6B2 | |
C6BC - C6C5 | |
C6C7 - C6FF | |
C800 - CC2F | |
CC31 - CDFF | |
CEB0 - CEFF | |
CFB0 - CFFF |