Difference between revisions of "RAM: Bank 0x7E: Page 0x02"

From TLoZ: ALTTP Hacking Resources
Jump to: navigation, search
m (Superskuj moved page Rom/Page 0x02 to RAM: Bank 0x7E: Page 0x02)
m
Line 1: Line 1:
* {{$|0200}}[{{0x|01}}] = Sub-submodule index for mode E.
+
* {{address|$|0200||01}} = Sub-submodule index for mode E.
* {{$|0201}}[{{0x|01}}] = Seems to be never referenced
+
* {{address|$|0201||01}} = Seems to be never referenced
* {{$|0202}}[{{0x|01}}] = currently selected item (credit: Euclid)
+
* {{address|$|0202||01}} = currently selected item (credit: Euclid)
Module 0x0E.0x01 references it but never seems to use it
+
 
Module 0x0E.0x01 references it but never seems to use it
+
* {{address|$|0207||01}} = Module {{0x|0E}}.{{0x|01}} references it but never seems to use it
Module 0x0E.0x01 uses it in the creation and destruction of the bottle submenu as a progress indicator
+
* {{address|$|0203||01}} = Module {{0x|0E}}.{{0x|01}} references it but never seems to use it
Module 0x0E.0x01 increments it as a frame counter similar to $1A, but it never seems to get used
+
* {{address|$|0204||01}} = Module {{0x|0E}}.{{0x|01}} uses it in the creation and destruction of the bottle submenu as a progress indicator
(debug probably)
+
* {{address|$|0205||01}} = Module {{0x|0E}}.{{0x|01}} increments it as a frame counter similar to {{$|1A}}, but it never seems to get used (debug probably)
* {{$|0207}}[{{0x|01}}] = Module 0x0E.0x01 uses it as a timer for the flashing item selector circle
+
* {{address|$|0206||01}} = Module {{0x|0E}}.{{0x|01}} uses it as a timer for the flashing item selector circle
* {{$|0203}}[{{0x|01]
+
* {{address|$|0208||01}} = Countdown timer that controls when the next animation of hearts being filled in occurs. (The rotating animation)
* {{$|0204}}[{{0x|01]
+
* {{address|$|0209||01}} = Index related to {{$|0208}}. When {{$|0208}} counts down to zero, {{$|0209}} is incremented, then reassigned ''modulo 4'' (logical and by {{0x|03}}) determines the graphics used in each step of the heart refill animation. (4 steps). Once {{$|0209}} reaches 4 (''which is 0 modulo 4''), {{$|020A}} is set  to zero to indicate that the animation for this particular heart is finished.
* {{$|0205}}[{{0x|01]
+
* {{address|$|020A||01}} = Flag that indicates whether a heart refill animation is taking place. Nonzero if that is the case.
* {{$|0206}}[{{0x|01]
+
* {{address|$|020B||01}} = Seems to be a debug value for Module {{0x|0E}}.{{0x|01}}
-
+
* {{address|$|020C||01}} = Oh hells naw
-
+
* {{address|$|020D||01}} = Used in some submodule of module {{0x|0E}} in Bank {{0x|0A}}
-
+
* {{address|$|020E||01}} = Floor index for the dungeon map.
-
+
** Floor 1F = {{0x|00}}
547$0208}}[{{0x|01}}] = Countdown timer that controls when the next animation of hearts being filled in occurs.
+
** Floor 1B = {{0x|FF}}
(The rotating animation)
+
** Floor 2F = {{0x|01}}
* {{$|0209}}[{{0x|01}}] = Index related to $0208. When $0208 counts down to zero,
+
** etc.
* {{$|0209 is incremented, then reassigned modulo 4 (logical and by 0x03)
+
* {{address|$|020F||01}} = Referenced in Module {{0x|0E}} in Bank {{0x|0A}} but doesn't seem to be used.
Determines the graphics used in each step of the heart refill animation. (4 steps)
+
* {{address|$|0210||01}} = Mostly referenced in Module {{0x|0E}} in Bank {{0x|0A}} with various specific usages I've yet to document
Once $0209 reaches 4 (which is 0 modulo 4), $020A is set to zero to indicate that
+
* {{address|$|0211||02}} = ???? Shows up in Bank {{0x|0A}} only. Indexes {{$|0217}}...
the animation for this particular heart is finished.
+
* {{address|$|0213||02}} = Shows up in Bank {{0x|0A}} only.
* {{$|020A}}[{{0x|01] -
+
* {{address|$|0215||02}} = Relevant to dungeon map mode sprites...
* {{$|020B}}[{{0x|01] -
+
* {{address|$|0217||02}} = Dungeon map related too?
* {{$|020C}}[{{0x|01] -
+
* {{address|$|0219||02}} = Specifically used as the target address in VRAM for the HUD portion of the BG3 tile map. For the entirety of the game this is supposed to stay as {{0x|6040}} ({{0x|E080}} in byte addressing)
* {{$|020D}}[{{0x|01] -
+
* {{address|$|021D||04}} = Assigned the value {{0x|007F4841}}... doesn't seem to be referenced anywhere else though
* {{$|020E}}[{{0x|01] -
+
* {{address|$|0221||02}} = Assigned a value of {{0x|FFFF}} ({{hex|-1}}) in Bank {{0x|0C}}, never seems to be referenced though.
Flag that indicates whether a heart refill animation is taking place. Nonzero if that is the case.
+
* {{address|$|0223||02}} = There's a few STZ {{$|0223}}'s that pop up in the rom but other than that it's not clear if it was ever used.
Seems to be a debug value for Module 0x0E.0x01
+
* {{address|$|0225||0B}} = Free RAM?
oh hells naw
+
* {{address|$|0230||50}} = Tentatively considered to be free ram at this time
Used in some submodule of module 0x0E in Bank 0A
+
* {{address|$|0280||0A}} = special object OAM priority (full byte boolean)
Floor index for the dungeon map.
+
** If nonzero, use highest priority, otherwise use default priority.
Floor 1F is the basic floor with 0x00. 1B is 0xFF. 2F is 0x01. You get the idea.
+
* {{address|$|028A||0A}} = Unknown special object variable
* {{$|020F}}[{{0x|01}}] = Referenced in Module 0x0E in Bank 0A but doesn't seem to be used.
+
* {{address|$|0294||0A}} = Movement related for special objects
* {{$|0210}}[{{0x|01}}] = Mostly referenced in Module 0x0E in Bank 0x0A with various specific usages I've yet to document
+
* {{address|$|029E||0A}} = Timers for special objects like Pendants (or altitude)
* {{$|0211}}[{{0x|02}}] = ???? Shows up in Bank 0x0A only. Indexes $0217...
+
* {{address|$|02A8||0A}} = Unknown special object variable
* {{$|0213}}[{{0x|02}}] = Shows up in Bank 0x0A only.
+
* {{address|$|02B2||0E}} = Free RAM
* {{$|0215}}[{{0x|02}}] = Relevant to dungeon map mode sprites...
+
* {{address|$|02C0||02}} = bitfield possibly related to inroom staircases.
* {{$|0217}}[{{0x|02}}] = Dungeon map related too?
+
** If this variable masked with {{0x|0070}} is nonzero, Link moves as though he's on an in-room south staircase
* {{$|0219}}[{{0x|02}}] = Specifically used as the target address in VRAM for the HUD portion of the BG3 tile map.
+
** If this variable masked with {{0x|0007}} is nonzero, Link moves as though he's on an in-room north staircase
For the entirety of the game this is supposed to stay as 0x6040 (0xE080 in byte addressing)
+
* {{address|$|02C2||01}} = The value of {{$|5F}} gets cached here sometimes, unclear what {{$|5F}} is for though right now.
* {{$|021D}}[{{0x|04}}] = Assigned the value 0x007F4841... doesn't seem to be referenced anywhere else though
+
* {{address|$|02C3||01}} = ????
* {{$|0221}}[{{0x|02}}] = Assigned a value of 0xFFFF (-1) in Bank 0x0C, never seems to be referenced though.
+
* {{address|$|02C4||01}} = ????
* {{$|0223}}[{{0x|02}}] = There's a few STZ $0223's that pop up in the rom but other than that it's not clear if it was ever used.
+
* {{address|$|02C5||01}} = Related to {{$|46}} (damage countdown timer)
* {{$|0225}}[{{0x|0B}}] = free ram?
+
* {{address|$|02C6||01}} = ????
* {{$|0230}}[{{0x|50}}] = Tentatively considered to be free ram at this time
+
* {{address|$|02C7||01}} = Probably countdown timer associated with {{$|29}}
* {{$|0280}}[{{0x|0A}}] = special object OAM priority (full byte boolean)
+
* {{address|$|02C8||01}} = ????
If nonzero, use highest priority, otherwise use default priority.
+
* {{address|$|02C9||01}} = Very limited usage only in Bank {{0x|07}}.
* {{$|028A}}[{{0x|0A] -
+
* {{address|$|02CA||01}} = ????
* {{$|0294}}[{{0x|0A] -
+
* {{address|$|02CB||01}} = Very limited usage only in Bank {{0x|07}}.
* {{$|029E}}[{{0x|0A] -
+
* {{address|$|02CC||01}} = Limited usage in Bank {{0x|07}} and {{0x|0D}}.
* {{$|02A8}}[{{0x|0A] -
+
* {{address|$|02CD||02}} = Counter for the beginning of the game where Zelda telepathically contacts you over and over again.
Unknown special object variable
+
* {{address|$|02CF||01}} = It would appear that this is the index of the current tagalong state (out of 20 / 0x14 states) Exact usage is not clear, though.
Movement related for special objects
+
* {{address|$|02D0||01}} = ????
Timers for special objects like Pendants (or altitude)
+
* {{address|$|02D1||01}} = Cache location for {{$|02D3}}
Unknown special object variable
+
* {{address|$|02D2||01}} = ????
* {{$|02B2}}[{{0x|0E}}] = free ram
+
* {{address|$|02D3||01}} = Apparently a debug variable, doesn't appear to be used in the real game
* {{$|02C0}}[{{0x|02}}] = bitfield possibly related to inroom staircases.
+
* {{address|$|02D4||01}}
If this variable masked with 0x0070 is nonzero, Link moves as though he's on an in-room south staircase
+
* {{address|$|02D5||01}} = free ram
If this variable masked with 0x0007 is nonzero, Link moves as though he's on an in-room north staircase
+
* {{address|$|02D6||01}} = ???? relates to tagalongs
* {{$|02C2}}[{{0x|01}}] = The value of $5F gets cached here sometimes, unclear what $5F is for though right now.
+
* {{address|$|02D7||01}} = ????
548$02C3}}[{{0x|01}}] = ????
+
* {{address|$|02D8||01}} = The index of the item you receive when you open a chest or pick up an item off the ground, or otherwise obtain the item (like Link getting the sword from his Uncle)
* {{$|02C4}}[{{0x|01}}] = ????
+
* {{address|$|02D9||01}} = Related to {{$|02D8}}, haven’t worked out the details b/c it wasn’t necessary yet.
* {{$|02C5}}[{{0x|01}}] = Related to $46 (damage countdown timer)
+
* {{address|$|02DA||01}} = Flag indicating whether Link is in the pose used to hold an item or not.
* {{$|02C6}}[{{0x|01}}] = ????
+
** {{hex|0}} = no extra pose,
* {{$|02C7}}[{{0x|01}}] = Probably countdown timer associated with $29
+
** {{hex|2}} = holding up item with two hands pose (e.g. triforce),
* {{$|02C8}}[{{0x|01}}] = ????
 
* {{$|02C9}}[{{0x|01}}] = Very limited usage only in Bank 0x07.
 
* {{$|02CA}}[{{0x|01}}] = ????
 
* {{$|02CB}}[{{0x|01}}] = Very limited usage only in Bank 0x07.
 
* {{$|02CC}}[{{0x|01}}] = Limited usage in Bank 0x07 and 0x0D.
 
* {{$|02CD}}[{{0x|02}}] = Counter for the beginning of the game where Zelda telepathically contacts you over and over again.
 
* {{$|02CF}}[{{0x|01}}] = It would appear that this is the index of the current tagalong state (out of 20 / 0x14 states)
 
Exact usage is not clear, though.
 
* {{$|02D0}}[{{0x|01]
 
* {{$|02D1}}[{{0x|01]
 
* {{$|02D2}}[{{0x|01]
 
* {{$|02D3}}[{{0x|01]
 
* {{$|02D4}}[{{0x|01]
 
-
 
-
 
-
 
-
 
-
 
????
 
Cache location for $02D3
 
????
 
????
 
Apparently a debug variable, doesn't appear to be used in the real game
 
* {{$|02D5}}[{{0x|01}}] = free ram
 
* {{$|02D6}}[{{0x|01}}] = ???? relates to tagalongs
 
* {{$|02D7}}[{{0x|01}}] = ????
 
* {{$|02D8}}[{{0x|01}}] = The index of the item you receive when you open a chest or pick up an item off the ground,
 
or otherwise obtain the item (like Link getting the sword from his Uncle)
 
* {{$|02D9}}[{{0x|01}}] = Related to $02D8, haven’t worked out the details b/c it wasn’t necessary yet.
 
* {{$|02DA}}[{{0x|01}}] = Flag indicating whether Link is in the pose used to hold an item or not.
 
0 - no extra pose,
 
2 - holding up item with two hands pose (e.g. triforce),
 
 
everything else - holding up item with one hand pose
 
everything else - holding up item with one hand pose
* {{$|02DB}}[{{0x|01}}] = Flag that deals with Link warping with the magic mirror.... but not exactly sure what it means.
+
* {{address|$|02DB||01}} = Flag that deals with Link warping with the magic mirror.... but not exactly sure what it means.
* {{$|02DC}}[{{0x|02}}] = Mirror of Link's X coordinate which is used in Bank 07's movement routines
+
* {{address|$|02DC||02}} = Mirror of Link's X coordinate which is used in Bank 07's movement routines
* {{$|02DE}}[{{0x|02}}] = Mirror of Link's Y coordinate which is used in Bank 07's movement routines
+
* {{address|$|02DE||02}} = Mirror of Link's Y coordinate which is used in Bank 07's movement routines
* {{$|02E0}}[{{0x|01}}] = Flag for Link's graphics set. (Mirrored at $56)
+
* {{address|$|02E0||01}} = Flag for Link's graphics set. (Mirrored at {{$|56}})
5490 - Normal Link,
+
** {{hex|0}} = Normal Link,
1 - Bunny Link.
+
** {{hex|1}} = Bunny Link.
* {{$|02E1}}[{{0x|01}}] = Link is transforming? (Poofing in a cloud to transform into something else.)
+
* {{address|$|02E1||01}} = Link is transforming? (Poofing in a cloud to transform into something else.)
* {{$|02E2}}[{{0x|01}}] = Timer for when Link transforms between Link and Bunny modes.
+
* {{address|$|02E2||01}} = Timer for when Link transforms between Link and Bunny modes.
* {{$|02E3}}[{{0x|01}}] = ????
+
* {{address|$|02E3||01}} = ????
* {{$|02E4}}[{{0x|01}}] = Flag that if set will not allow Link to move. Requires further research as to its generalized usage.
+
* {{address|$|02E4||01}} = Flag that if set will not allow Link to move. Requires further research as to its generalized usage. Also... Link cannot bring down the menu if this is nonzero. Additionally, Euclid says that the value {{0x|1A}} is written here after you kill Ganon. (And he's right)
Also... Link cannot bring down the menu if this is nonzero.
+
* {{address|$|02E5||01}} = Bitfield for chest interaction
Additionally, Euclid says that the value 0x1A is written here after you kill Ganon. (And he's right)
+
** {{red|uuuu}}{{orange|cccc}}
* {{$|02E5}}[{{0x|01}}] = Bitfield for chest interaction
+
*** {{red|c}} = touching chest
uuuucccc
+
*** {{orange|u}} = free ram
c - touching chest
+
* {{address|$|02E6||01}} = free ram, but could be used as a bitfield for expanded tile types
u - free ram
+
* {{address|$|02E7||01}} = Bitfield for big key locks and gravestone interactions
* {{$|02E6}}[{{0x|01}}] = free ram, but could be used as a bitfield for expanded tile types
+
** {{red|bbbb}}{{orange|gggg}}
* {{$|02E7}}[{{0x|01}}] = Bitfield for big key locks and gravestone interactions
+
*** {{red|b}} = big key lock
bbbbgggg
+
*** {{orange|g}} = gravestone
b - big key lock
+
* {{address|$|02E8||01}} = Bitfield for spike / cactus and barrier tile interactions?
g - gravestone
+
** {{green|bbbb}}{{blue|ssss}}
* {{$|02E8}}[{{0x|01}}] = Bitfield for spike / cactus and barrier tile interactions?
+
*** {{green|s}} = spike blocks / cactus tiles
bbbbssss
+
*** {{blue|b}} = orange / blue barrier tiles that are up
s - spike blocks / cactus tiles
+
* {{address|$|02E9||01}} = Item Receipt Method
b - orange / blue barrier tiles that are up
+
** {{hex|0}} = Receiving item from an NPC or message
* {{$|02E9}}[{{0x|01}}] = Item Receipt Method
+
** {{hex|1}} = Receiving item from a chest
0 - Receiving item from an NPC or message
+
** {{hex|2}} = Receiving item that was spawned in the game by a sprite
1 - Receiving item from a chest
+
** {{hex|3}} = Receiving item that was spawned by a special object.
2 - Receiving item that was spawned in the game by a sprite
+
* {{address|$|02EA||02}} = Set to the tile type
3 - Receiving item that was spawned by a special object.
+
* {{address|$|02EC||01}} = seems to be a flag for (Link's) collision with bombs. Maybe other uses
* {{$|02EA}}[{{0x|02}}] = Set to the tile type
+
* {{address|$|02ED||01}} = If nonzero, it indicates that Link is near the tile that triggers the Desert Palace opening with the Book of Mudora
* {{$|02EC}}[{{0x|01}}] = seems to be a flag for (Link's) collision with bombs. Maybe other uses
+
* {{address|$|02EE||01}} = Bitfield for spike floor and ????? tile interactions
* {{$|02ED}}[{{0x|01}}] = If nonzero, it indicates that Link is near the tile
+
** {{orange|ssss}}{{yellow|uuu}}{{red|d}}
that triggers the Desert Palace opening with the Book of Mudora
+
*** {{red|d}} = desert palace entrance trigger
* {{$|02EE}}[{{0x|01}}] = Bitfield for spike floor and ????? tile interactions
+
*** {{orange|s}} = spike floor tiles
550ssssuuud
+
*** {{yellow|u}} = not tested
d - desert palace entrance trigger
+
* {{address|$|02EF||01}} = Bitfield for dashable (breakable with dash) and ????? tile interactions
s - spike floor tiles
+
** {{blue|dddd}}{{hex|????}}
u - not tested
+
*** {{blue|d}} = Dashable
* {{$|02EF}}[{{0x|01}}] = Bitfield for dashable (breakable with dash) and ????? tile interactions
+
*** {{hex|?}} = Not tested
dddd????
+
* {{address|$|02F1||01}} = ??? related to dashing. Set to {{0x|40}} at start, counts down to {{0x|20}}
d - dashable
+
* {{address|$|02F2||01}} = Something to do with Kiki the monkey?
u - not tested
+
* {{address|$|02F4||01}} = Only use is for caching the current value of {{$|0314}} in some instances
* {{$|02F1}}[{{0x|01}}] = ??? related to dashing. Set to 0x40 at start, counts down to 0x20
+
* {{address|$|02F5||01}} =
* {{$|02F2}}[{{0x|01}}] = Something to do with Kiki the monkey?
+
** {{hex|0}} = Not on a Somaria Platform.
* {{$|02F4}}[{{0x|01}}] = Only use is for caching the current value of $0314 in some instances
+
** {{hex|2}} = On a Somaria Platform.
* {{$|02F5}}[{{0x|01}}] = 0 - Not on a Somaria Platform.
+
* {{address|$|02F6||02}} = Bitfield for interaction with Blue Rupee, Grabbable, and Key Door tiles
2 - On a Somaria Platform.
+
** {{red|rrrrrrrr}} {{orange|kkkk}}{{green|gggg}}
* {{$|02F6}}[{{0x|02}}] = Bitfield for interaction with Blue Rupee, Grabbable, and Key Door tiles
+
*** {{red|k}} = Key Door tiles
rrrrrrrr kkkkgggg
+
*** {{orange|g}} = Tiles grabbable by Hookshot
k - Key Door tiles
+
*** {{green|r}} = Blue Rupee tiles
g - Tiles grabbable by Hookshot
+
* {{address|$|02F8||01}} = Flag used to make Link make a noise when he gets done bouncing after a wall he's dashed into. Thus, it only has any use in relation to dashing.
r - Blue Rupee tiles
+
* {{address|$|02F9||01}} = best guess so far: zero if your tagalong is transforming, nonzero otherwise
* {{$|02F8}}[{{0x|01}}] = Flag used to make Link make a noise when he gets done bouncing after a wall he's dashed into.
+
* {{address|$|02FA||01}} = Flag that is set if you are near a moveable statue (close enough to grab it)
Thus, it only has any use in relation to dashing.
+
* {{address|$|02FB||05}} = {{red|F}}{{orange|r}}{{yellow|e}}{{green|e}} {{blue|r}}{{purple|a}}{{purple|m}}
* {{$|02F9}}[{{0x|01}}] = best guess so far: zero if your tagalong is transforming, nonzero otherwise
 
* {{$|02FA}}[{{0x|01}}] = Flag that is set if you are near a moveable statue (close enough to grab it)
 
* {{$|02FB}}[{{0x|05}}] = free ram
 

Revision as of 05:14, 21 December 2016

  • $0200 (01) = Sub-submodule index for mode E.
  • $0201 (01) = Seems to be never referenced
  • $0202 (01) = currently selected item (credit: Euclid)
  • $0207 (01) = Module 0x0E.0x01 references it but never seems to use it
  • $0203 (01) = Module 0x0E.0x01 references it but never seems to use it
  • $0204 (01) = Module 0x0E.0x01 uses it in the creation and destruction of the bottle submenu as a progress indicator
  • $0205 (01) = Module 0x0E.0x01 increments it as a frame counter similar to $1A, but it never seems to get used (debug probably)
  • $0206 (01) = Module 0x0E.0x01 uses it as a timer for the flashing item selector circle
  • $0208 (01) = Countdown timer that controls when the next animation of hearts being filled in occurs. (The rotating animation)
  • $0209 (01) = Index related to $0208. When $0208 counts down to zero, $0209 is incremented, then reassigned modulo 4 (logical and by 0x03) determines the graphics used in each step of the heart refill animation. (4 steps). Once $0209 reaches 4 (which is 0 modulo 4), $020A is set to zero to indicate that the animation for this particular heart is finished.
  • $020A (01) = Flag that indicates whether a heart refill animation is taking place. Nonzero if that is the case.
  • $020B (01) = Seems to be a debug value for Module 0x0E.0x01
  • $020C (01) = Oh hells naw
  • $020D (01) = Used in some submodule of module 0x0E in Bank 0x0A
  • $020E (01) = Floor index for the dungeon map.
    • Floor 1F = 0x00
    • Floor 1B = 0xFF
    • Floor 2F = 0x01
    • etc.
  • $020F (01) = Referenced in Module 0x0E in Bank 0x0A but doesn't seem to be used.
  • $0210 (01) = Mostly referenced in Module 0x0E in Bank 0x0A with various specific usages I've yet to document
  • $0211 (02) = ???? Shows up in Bank 0x0A only. Indexes $0217...
  • $0213 (02) = Shows up in Bank 0x0A only.
  • $0215 (02) = Relevant to dungeon map mode sprites...
  • $0217 (02) = Dungeon map related too?
  • $0219 (02) = Specifically used as the target address in VRAM for the HUD portion of the BG3 tile map. For the entirety of the game this is supposed to stay as 0x6040 (0xE080 in byte addressing)
  • $021D (04) = Assigned the value 0x007F4841... doesn't seem to be referenced anywhere else though
  • $0221 (02) = Assigned a value of 0xFFFF (-1) in Bank 0x0C, never seems to be referenced though.
  • $0223 (02) = There's a few STZ $0223's that pop up in the rom but other than that it's not clear if it was ever used.
  • $0225 (0B) = Free RAM?
  • $0230 (50) = Tentatively considered to be free ram at this time
  • $0280 (0A) = special object OAM priority (full byte boolean)
    • If nonzero, use highest priority, otherwise use default priority.
  • $028A (0A) = Unknown special object variable
  • $0294 (0A) = Movement related for special objects
  • $029E (0A) = Timers for special objects like Pendants (or altitude)
  • $02A8 (0A) = Unknown special object variable
  • $02B2 (0E) = Free RAM
  • $02C0 (02) = bitfield possibly related to inroom staircases.
    • If this variable masked with 0x0070 is nonzero, Link moves as though he's on an in-room south staircase
    • If this variable masked with 0x0007 is nonzero, Link moves as though he's on an in-room north staircase
  • $02C2 (01) = The value of $5F gets cached here sometimes, unclear what $5F is for though right now.
  • $02C3 (01) = ????
  • $02C4 (01) = ????
  • $02C5 (01) = Related to $46 (damage countdown timer)
  • $02C6 (01) = ????
  • $02C7 (01) = Probably countdown timer associated with $29
  • $02C8 (01) = ????
  • $02C9 (01) = Very limited usage only in Bank 0x07.
  • $02CA (01) = ????
  • $02CB (01) = Very limited usage only in Bank 0x07.
  • $02CC (01) = Limited usage in Bank 0x07 and 0x0D.
  • $02CD (02) = Counter for the beginning of the game where Zelda telepathically contacts you over and over again.
  • $02CF (01) = It would appear that this is the index of the current tagalong state (out of 20 / 0x14 states) Exact usage is not clear, though.
  • $02D0 (01) = ????
  • $02D1 (01) = Cache location for $02D3
  • $02D2 (01) = ????
  • $02D3 (01) = Apparently a debug variable, doesn't appear to be used in the real game
  • $02D4 (01)
  • $02D5 (01) = free ram
  • $02D6 (01) = ???? relates to tagalongs
  • $02D7 (01) = ????
  • $02D8 (01) = The index of the item you receive when you open a chest or pick up an item off the ground, or otherwise obtain the item (like Link getting the sword from his Uncle)
  • $02D9 (01) = Related to $02D8, haven’t worked out the details b/c it wasn’t necessary yet.
  • $02DA (01) = Flag indicating whether Link is in the pose used to hold an item or not.
    • 0 = no extra pose,
    • 2 = holding up item with two hands pose (e.g. triforce),

everything else - holding up item with one hand pose

  • $02DB (01) = Flag that deals with Link warping with the magic mirror.... but not exactly sure what it means.
  • $02DC (02) = Mirror of Link's X coordinate which is used in Bank 07's movement routines
  • $02DE (02) = Mirror of Link's Y coordinate which is used in Bank 07's movement routines
  • $02E0 (01) = Flag for Link's graphics set. (Mirrored at $56)
    • 0 = Normal Link,
    • 1 = Bunny Link.
  • $02E1 (01) = Link is transforming? (Poofing in a cloud to transform into something else.)
  • $02E2 (01) = Timer for when Link transforms between Link and Bunny modes.
  • $02E3 (01) = ????
  • $02E4 (01) = Flag that if set will not allow Link to move. Requires further research as to its generalized usage. Also... Link cannot bring down the menu if this is nonzero. Additionally, Euclid says that the value 0x1A is written here after you kill Ganon. (And he's right)
  • $02E5 (01) = Bitfield for chest interaction
    • uuuucccc
      • c = touching chest
      • u = free ram
  • $02E6 (01) = free ram, but could be used as a bitfield for expanded tile types
  • $02E7 (01) = Bitfield for big key locks and gravestone interactions
    • bbbbgggg
      • b = big key lock
      • g = gravestone
  • $02E8 (01) = Bitfield for spike / cactus and barrier tile interactions?
    • bbbbssss
      • s = spike blocks / cactus tiles
      • b = orange / blue barrier tiles that are up
  • $02E9 (01) = Item Receipt Method
    • 0 = Receiving item from an NPC or message
    • 1 = Receiving item from a chest
    • 2 = Receiving item that was spawned in the game by a sprite
    • 3 = Receiving item that was spawned by a special object.
  • $02EA (02) = Set to the tile type
  • $02EC (01) = seems to be a flag for (Link's) collision with bombs. Maybe other uses
  • $02ED (01) = If nonzero, it indicates that Link is near the tile that triggers the Desert Palace opening with the Book of Mudora
  • $02EE (01) = Bitfield for spike floor and ????? tile interactions
    • ssssuuud
      • d = desert palace entrance trigger
      • s = spike floor tiles
      • u = not tested
  • $02EF (01) = Bitfield for dashable (breakable with dash) and ????? tile interactions
    • dddd????
      • d = Dashable
      • ? = Not tested
  • $02F1 (01) = ??? related to dashing. Set to 0x40 at start, counts down to 0x20
  • $02F2 (01) = Something to do with Kiki the monkey?
  • $02F4 (01) = Only use is for caching the current value of $0314 in some instances
  • $02F5 (01) =
    • 0 = Not on a Somaria Platform.
    • 2 = On a Somaria Platform.
  • $02F6 (02) = Bitfield for interaction with Blue Rupee, Grabbable, and Key Door tiles
    • rrrrrrrr kkkkgggg
      • k = Key Door tiles
      • g = Tiles grabbable by Hookshot
      • r = Blue Rupee tiles
  • $02F8 (01) = Flag used to make Link make a noise when he gets done bouncing after a wall he's dashed into. Thus, it only has any use in relation to dashing.
  • $02F9 (01) = best guess so far: zero if your tagalong is transforming, nonzero otherwise
  • $02FA (01) = Flag that is set if you are near a moveable statue (close enough to grab it)
  • $02FB (05) = Free ram