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
(Additions and organization. More to come.)
(New header for Bank 0 and list of undocumented addresses in Bank 0)
Line 1: Line 1:
NOTE: All values in Table are Hexadecimal unless noted otherwise.
NOTE: All values in Table are Hexadecimal unless noted otherwise.
{{rammap|game=The Legend of Zelda: Oracle of Seasons}}
{{rammap|game=The Legend of Zelda: Oracle of Seasons}}
=Bank 0 (C000 - CFFF)=
<br />


==TBD==
==TBD==
Line 8: Line 11:
! '''Purpose'''
! '''Purpose'''
|-
|-
|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 start of game
|C622 - C625 || 4 Bytes || Time passed since start of game
|-
|-
|C63A || 1 Byte || Current level bank
|C63A || 1 Byte || Current level bank
Line 70: Line 73:
==Mysterious Counter==
==Mysterious Counter==
{| border="3" cellpadding="4"
{| border="3" cellpadding="4"
|+'''C65C-C65D'''
|+'''C65C - C65D'''
|+'''A counter for ??? for which various actions add to'''
|+'''A counter for ??? for which various actions add to'''
! style="text-align: center;" | '''Action'''  
! style="text-align: center;" | '''Action'''  
Line 95: Line 98:
! '''Purpose'''
! '''Purpose'''
|-
|-
|C680-C691 ||  || Items
|C680 - C691 ||  || Items
|-
|-
|C6A2 || 1 Byte || Current Hearts
|C6A2 || 1 Byte || Current Hearts
Line 101: Line 104:
|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
Line 141: Line 144:
! '''Purpose'''
! '''Purpose'''
|-
|-
|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
|}
<br />
 
==To Be Documented==
{| border="3" cellpadding="7"
! style="text-align: center;" | '''RAM'''
|-
|C600 - C601
|-
|C607 - C615
|-
|C620 - C621
|-
|C626 - C639
|-
|C63C - C63D
|-
|C63F - C64B
|-
|C65E - C67F
|-
|C692 - C6A1
|-
|C6A4
|-
|C6AB
|-
|C6AD - C6B0
|-
|C6B2
|-
|C6BC - C6C5
|-
|C6C7 - C6FF
|-
|C800 - CC2F
|-
|CC31 - CDFF
|-
|CEB0 - CEFF
|-
|-
|CF00-CFAF ||  || Current Screen Tile Data
|CFB0 - CFFF
|}
|}

Revision as of 21:37, 23 April 2023

NOTE: All values in Table 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
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 start of game
C63A 1 Byte Current level bank
C63B 1 Byte Current Overworld Screen


Enemies killed since...

RAM Size Purpose
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 add to
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
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
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


To Be Documented

RAM
C600 - C601
C607 - C615
C620 - C621
C626 - C639
C63C - C63D
C63F - C64B
C65E - C67F
C692 - C6A1
C6A4
C6AB
C6AD - C6B0
C6B2
C6BC - C6C5
C6C7 - C6FF
C800 - CC2F
CC31 - CDFF
CEB0 - CEFF
CFB0 - CFFF