http://alttp.run/hacking/index.php?title=RAM:_Bank_0x7E:_Page_0x03&feed=atom&action=historyRAM: Bank 0x7E: Page 0x03 - Revision history2024-03-28T18:45:35ZRevision history for this page on the wikiMediaWiki 1.28.0http://alttp.run/hacking/index.php?title=RAM:_Bank_0x7E:_Page_0x03&diff=688&oldid=prevSuperskuj at 03:19, 29 December 20162016-12-29T03:19:52Z<p></p>
<a href="http://alttp.run/hacking/index.php?title=RAM:_Bank_0x7E:_Page_0x03&diff=688&oldid=606">Show changes</a>Superskujhttp://alttp.run/hacking/index.php?title=RAM:_Bank_0x7E:_Page_0x03&diff=606&oldid=prevSuperskuj: Superskuj moved page Rom/Page 0x03 to RAM: Bank 0x7E: Page 0x032016-12-20T22:26:03Z<p>Superskuj moved page <a href="/hacking/index.php?title=Rom/Page_0x03" class="mw-redirect" title="Rom/Page 0x03">Rom/Page 0x03</a> to <a href="/hacking/index.php?title=RAM:_Bank_0x7E:_Page_0x03" title="RAM: Bank 0x7E: Page 0x03">RAM: Bank 0x7E: Page 0x03</a></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<tr style='vertical-align: top;' lang='en'>
<td colspan='1' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='1' style="background-color: white; color:black; text-align: center;">Revision as of 22:26, 20 December 2016</td>
</tr><tr><td colspan='2' style='text-align: center;' lang='en'><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Superskujhttp://alttp.run/hacking/index.php?title=RAM:_Bank_0x7E:_Page_0x03&diff=577&oldid=prevTatters: Created page with "* {{$|0300}}[{{0x|01}}] = Link's state changes? Happens when using boomerang. * {{$|0301}}[{{0x|01}}] = When non zero, Link has something in his hand, poised to strike. (Ice R..."2016-12-20T07:15:14Z<p>Created page with "* {{$|0300}}[{{0x|01}}] = Link's state changes? Happens when using boomerang. * {{$|0301}}[{{0x|01}}] = When non zero, Link has something in his hand, poised to strike. (Ice R..."</p>
<p><b>New page</b></p><div>* {{$|0300}}[{{0x|01}}] = Link's state changes? Happens when using boomerang.<br />
* {{$|0301}}[{{0x|01}}] = When non zero, Link has something in his hand, poised to strike. (Ice Rod, Hammer)<br />
Bit 6 being set indicates that magic powder is being sprinkled<br />
551$0302}}[{{0x|01}}] = ????<br />
* {{$|0303}}[{{0x|01}}] = In conjunction with the above variable when set to 0x13, matching the above variable,<br />
the cape transformation is complete.<br />
0x01 - Bombs<br />
0x02 - Boomerang<br />
0x03 - Arrows<br />
0x04 - Hammer<br />
0x05 - Fire Rod<br />
0x06 - Ice Rod<br />
0x07 - Bug catching net<br />
0x08 - Flute<br />
0x09 - Torch<br />
0x0A - Magic Powder<br />
0x0B - Bottle<br />
0x0C - Book of Mudora<br />
0x0D - Cane of Byrna<br />
0x0E - Hookshot<br />
0x0F - Bombos Medallion<br />
0x10 - Ether Medallion<br />
0x12 - Quake Medallion<br />
0x13 - Cape<br />
0x14 - Magic Mirror<br />
* {{$|0304}}[{{0x|01}}] = related to the magic cape transformation (a flag probably)<br />
* {{$|0305}}[{{0x|01}}] = (Potentially) Debug variable only seen in Bank 07.<br />
If not equal to 0x01, it will cause $1E and $1F to not be zeroed out every frame<br />
* {{$|0308}}[{{0x|01}}] = Bit 7 is set when Link is carrying something.<br />
Bit 1 set when Link is praying?<br />
* {{$|0309}}[{{0x|01}}] = 0: nothing.<br />
1: picking up something.<br />
2: throwing something or halfway done picking up something<br />
* {{$|030A}}[{{0x|01}}] = Step counter used with $030B. Also, $030A-B seem to be used for the opening of the desert palace<br />
* {{$|030B}}[{{0x|01}}] = Animation timer for throwing and picking up items like rocks or signs<br />
* {{$|030C}}[{{0x|01}}] = ??? free ram?<br />
* {{$|0310}}[{{0x|02}}] = The Y velocity of a moving floor (Mothula's room)<br />
* {{$|0312}}[{{0x|02}}] = The X velocity of a moving floor (Mothula's room)<br />
* {{$|0314}}[{{0x|01}}] = The index (the X in $0DD0 for example) of the sprite that Link is "touching"<br />
* {{$|0315}}[{{0x|01}}] = Seems to be a flag that is set to 0 if Link is not moving, and 1 if he is moving.<br />
However it doesn't seem to get reset to zero.<br />
* {{$|0316}}[{{0x|02}}] = ???? bunny stuffs?<br />
552$0318}}[{{0x|02}}] = related to moving floor<br />
* {{$|031A}}[{{0x|02}}] = related to moving floor<br />
* {{$|031C}}[{{0x|01}}] = tells us the actual graphic/state to use on the given step of a spin attack<br />
* {{$|031D}}[{{0x|01}}] = step counter for the spin attack<br />
* {{$|031E}}[{{0x|01}}] = used as an offset for a table to retrieve values for $031C. The offset comes in increments of four,<br />
depending on which direction Link is facing when he begins to spin. This makes sense, given that he<br />
always spins the same direction, and allows for reusability between the different directions, each one<br />
being a sub set of the full sequence.<br />
* {{$|031F}}[{{0x|01}}] = Countdown timer that when it's set causes Link's sprite to blink, i.e. flash on and off<br />
* {{$|0320}}[{{0x|02}}] = Bitfield for interaction with moving floor tiles<br />
uuuuuuuu uuuummmm<br />
m - Moving floor<br />
u - free ram<br />
* {{$|0322}}[{{0x|01}}] = ????<br />
* {{$|0323}}[{{0x|01}}] = Mirror of $2F, which is an indicator for which direction you are facing.<br />
Only used in the rendering of Link's OAM data in Bank 0x0D<br />
* {{$|0324}}[{{0x|01}}] = A flag telling a medallion spell it's okay to proceed with the effect.<br />
If set to 1, the effect will wait until it is set to 0 to activate.<br />
* {{$|0325}}[{{0x|01}}] = free ram, with the caveat that it is cleared in a few locations in Bank 0x08<br />
* {{$|0326}}[{{0x|02}}] = ???? collision related?<br />
* {{$|0328}}[{{0x|02}}] = ???? collision related?<br />
* {{$|032A}}[{{0x|01}}] = seems to be nonzero when you hit a button to swim faster. zero otherwise<br />
* {{$|032B}}[{{0x|02}}] = ???? collision related?<br />
* {{$|032D}}[{{0x|02}}] = ???? collision related?<br />
* {{$|032F}}[{{0x|02}}] = ???? collision related?<br />
* {{$|0331}}[{{0x|02}}] = ???? collision related?<br />
* {{$|0333}}[{{0x|01}}] = Stores the tile type that the lantern fire or fire rod shot is currently interacting with.<br />
* {{$|0334}}[{{0x|02}}] = ???? collision related?<br />
* {{$|0336}}[{{0x|02}}] = ???? collision related?<br />
* {{$|0338}}[{{0x|02}}] = ???? collision related?<br />
* {{$|033A}}[{{0x|02}}] = ???? collision related?<br />
* {{$|033C}}[{{0x|02}}] = ???? collision related?<br />
* {{$|033E}}[{{0x|02}}] = ???? collision related?<br />
553$0340}}[{{0x|01}}] = ????<br />
* {{$|0341}}[{{0x|02}}] = Bitfield for interaction with deep water and ??? tiles<br />
uuuuuuuu ffffwwww<br />
f - ??? (waterfall maybe?)<br />
u - free ram<br />
w - deep water<br />
* {{$|0343}}[{{0x|02}}] = Bitfield for interaction with normal tiles<br />
uuuuuuuu uuuunnnn<br />
n - normal tile<br />
u - free ram<br />
* {{$|0345}}[{{0x|01}}] = Set to 1 when we are in water. 0 otherwise. Note this does not mean we are in shallow water.<br />
This means we are submerged.<br />
* {{$|0346}}[{{0x|02}}] = Exclusively used in Bank 0x0D for the purposes of drawing Link. This value gets bitwise ORed in<br />
to supply the palette bits of Link's sprite. It's only intended to take on one of two values:<br />
0x000E, or 0x0000.<br />
0x0E00 indicates that palette 7 is being used, and<br />
0x0000 indicates that palette 0 is being used.<br />
Sometimes Link's palette swaps so that Link won't turn translucent when color addition is active.<br />
An example of this would be in the Flute Boy's meadow when he disappears. See $0ABD for more info.<br />
* {{$|0348}}[{{0x|02}}] = Bitfield for interaction with icy floor tiles<br />
uuuuuuuu jjjjiiii<br />
i - icy tile 1<br />
j - icy tile 2 (distinction is not quite understood right now)<br />
u - free ram<br />
* {{$|034A}}[{{0x|01}}] = Flag indicating whether Link is moving or not. (I think)<br />
* {{$|034B}}[{{0x|01}}] = Debug variable, as it is never read, and only written to in the equipment screen code<br />
* {{$|034C}}[{{0x|02}}] = Bitfield for the top of water staircase tile interactions<br />
uuuuuuuu uuuussss<br />
s - water staircase<br />
u - free ram<br />
* {{$|034E}}[{{0x|01}}] = Definitely related to Cane of Somaria and how Link is displayed when on a Somaria platform<br />
554$034F}}[{{0x|01}}] = If nonzero, Link does the harder stroke while swimming. This is triggered by pressing the A, B, or Y<br />
buttons while swimming, but ends shortly. It has no bearing on his swimming speed, though.<br />
* {{$|0350}}[{{0x|01}}] = free ram, though it would need to be reclaimed from the game engine<br />
as it's currently used in several places as an apparent debug variable<br />
Water/Grass drawing variables:<br />
* {{$|0351}}[{{0x|01}}] = Value that if set to 1, draws the water ripples around Link's body while standing in water.<br />
The drawing, of course, uses sprites.<br />
If the value is 2, then a patch of tall grass is drawn around Link instead.<br />
Any value other than 2 (besides 0) produces the water effect.<br />
* {{$|0352}}[{{0x|02}}] = Used exclusively during writing Link's OAM data (Bank 0x0D) as an offset into<br />
the OAM buffer ($0800)<br />
* {{$|0354}}[{{0x|01}}] = Used exclusively during writing Link's OAM data for currently unknown purposes<br />
* {{$|0355}}[{{0x|01}}] = Secondary water grass timer. Increments when $0356 reaches 9. Starts at 0 and reaches 3.<br />
* {{$|0356}}[{{0x|01}}] = Primary water/grass timer. Starts at zero and resets at 9.<br />
* {{$|0357}}[{{0x|02}}] = Bitfield for interaction with thick Grass / warp tiles<br />
uuuuuuuu wwwwgggg<br />
g - bits are for thick grass tiles<br />
w - bits are for warp tiles (blue on OW, orange in dungeons)<br />
u - free ram<br />
* {{$|0359}}[{{0x|02}}] = Bitfield for interaction with shallow water tiles<br />
uuuuuuuu uuuuwwww<br />
w - water tiles<br />
u - free ram<br />
* {{$|035B}}[{{0x|02}}] = Bitfield for interaction with destruction aftermath tiles (bushes, rockpiles, etc)<br />
uuuuuuuu uuuuaaaa<br />
a - aftermath tiles<br />
b - free ram<br />
* {{$|035D}}[{{0x|02}}] = Used exclusively during writing Link's OAM data (bank 0x0D). Bitwise ORed in for some<br />
of the OAM data.<br />
* {{$|035F}}[{{0x|01}}] = Seems to be a flag indicating that the boomerang is in play. It shows up in many places so far<br />
Not even sure why it needs this flag... maybe hackish coding by Nintendo?<br />
555$0360}}[{{0x|01}}] = A flag that when nonzero causes Link to be electrocuted when touching an enemy.<br />
This seems counterintuitive to me, but whatever.<br />
* {{$|0361}}[{{0x|01}}] = free ram<br />
* {{$|0362}}[{{0x|01}}] = ????<br />
* {{$|0364}}[{{0x|0?}}] = ???? (relates to Link's sprites's object priority somehow?)<br />
* {{$|0366}}[{{0x|02}}] = Flag stating that Link is about to read something (assuming he's facing north)<br />
Used with telepath tiles (dungeon), and signs (overworld)<br />
* {{$|0368}}[{{0x|0?}}] = ????<br />
* {{$|036A}}[{{0x|01}}] = ????<br />
* {{$|036C}}[{{0x|01}}] = Action index when interacting with tiles, like pots, rocks, or chests.<br />
0 - ???<br />
1 - Picks up a pot or bush.<br />
2 - Starts dashing<br />
3 - Grabs a wall<br />
4 - Reads a sign.<br />
5 - Opens a chest.<br />
6 - ???<br />
7 - ???<br />
* {{$|036D}}[{{0x|01}}] = Detection bitfield for vertical ledge tiles<br />
dddduuuu<br />
- d bits are for ledge tiles facing down<br />
- u bits are for ledge tiles facing up<br />
* {{$|036E}}[{{0x|01}}] = Detection bitfield for horizontal ledge tiles and up + horizontal ledge tiles<br />
ddddhhhh<br />
- h bits are for ledge tiles facing left or right<br />
- d bits are for ledge tiles facing up + left or up + right<br />
* {{$|036F}}[{{0x|01}}] = Detection bitfield for down + horizontal ledge tiles<br />
uuuudddd<br />
- d bits are for ledge tiles facing down + left or down + right<br />
- free ram<br />
* {{$|0370}}[{{0x|01}}] = Bitfield for interaction with unknown tile types<br />
bbbbaaaa<br />
556a - type 0x4C and 0x4D tiles (Overworld only)<br />
b - type 0x4E and 0x4F tiles (Overworld only)<br />
* {{$|0371}}[{{0x|01}}] = Countdown timer for frames it will take Link to become tired pushing against something solid.<br />
Once counted down, his appearance will look flushed and like he's dragging ass.<br />
Resets once you stop pushing or moving.<br />
* {{$|0372}}[{{0x|01}}] = Flag indicating whether Link will bounce off if he touches a wall.<br />
* {{$|0373}}[{{0x|01}}] = Putting a non-zero value here indicates how much life to subtract from Link.<br />
(quick reference: 0x08 = one heart)<br />
* {{$|0374}}[{{0x|01}}] = Countdown timer for when Link is about to dash. When it reaches 0 he starts dashing. starts as 0x1D<br />
* {{$|0375}}[{{0x|01}}] = This is the timer that is used to count down how long it takes before Link can jump off a ledge.<br />
It is typically set to 19 (0x13) frames, though I don't believe it decrements every frame.<br />
* {{$|0376}}[{{0x|01}}] = bit 0: Link is grabbing a wall.<br />
* {{$|0377}}[{{0x|01}}] = ????<br />
* {{$|0379}}[{{0x|01}}] = ???<br />
* {{$|037A}}[{{0x|01}}] = ??? related to picking up bombs (see Bank 07)<br />
* {{$|037B}}[{{0x|01}}] = ???? related to cape transformation<br />
* {{$|037D}}[{{0x|01}}] = ???? related to link's bedspread<br />
* {{$|037F}}[{{0x|01}}] = Walk through walls and anytime warping in outdoors.<br />
* {{$|036C - Indicates which type action Link is engaging in via the A button. Opening chest..., pulling, dashing, etc.<br />
* {{$|0379 - Flag, if set, A button isn’t read.<br />
* {{$|037A - Puts Link in various positions, 1 - shovel, 2 - praying, etc... cane of somaria<br />
* {{$|037B}}[{{0x|0?}}] = If nonzero, disables Link's ability to receive hits from sprites. (But not pits)<br />
* {{$|037E}}[{{0x|01}}] = 0 - Hookshot is not dragging Link anywhere.<br />
1 - hookshot is dragging Link somewhere<br />
* {{$|037F}}[{{0x|01}}] = Apparently if zero, all tile attributes are $00 (nothing)<br />
* {{$|0380}}[{{0x|02}}] = (Possibly of size 5 instead)<br />
* {{$|0385}}[{{0x|0A}}] = special effect ???<br />
* {{$|0394}}[{{0x|0A}}] = special effect ???<br />
* {{$|039F}}[{{0x|0A}}] = Special Effect Timers<br />
* {{$|03A4}}[{{0x|0?}}] = Referenced in receive item initializer<br />
557$03B1}}[{{0x|05}}] = countdown timer for special objects<br />
(not that there are only 5 of these whereas there's usually 10 slots for special objects)<br />
* {{$|03B6}}[{{0x|04}}] = 16-bit values relating to bomb doors<br />
* {{$|03BA}}[{{0x|04}}] = 16-bit values relating to bomb doors<br />
* {{$|03BE}}[{{0x|02}}] = 8-bit values relating to bomb doors<br />
* {{$|03C0}}[{{0x|02}}] = Reserved for rock debris special object (0x08)<br />
* {{$|03C2}}[{{0x|02}}] = Reserved for rock debris special object (0x08)<br />
* {{$|03C4}}[{{0x|01}}] = Reserved for rock debris special object (0x08) and maybe bombs too.<br />
* {{$|03C5}}[{{0x|05}}] = Special Object ram.<br />
* {{$|03CA}}[{{0x|05}}] = Special Object ram.<br />
* {{$|03CF}}[{{0x|03}}] = Special Object ram.<br />
* {{$|03D2}}[{{0x|03}}] = Special Object ram.<br />
* {{$|03D5}}[{{0x|06}}] = Special Object ram.<br />
* {{$|03DB}}[{{0x|06}}] = Special Object ram.<br />
* {{$|03E1}}[{{0x|03}}] = Special Object ram.<br />
* {{$|03E4}}[{{0x|02}}] = tiles that bombs are touching on the floor<br />
* {{$|03E9}}[{{0x|01}}] = Flag that seems to set when moving gravestones are in play and puzzle sound is playing.<br />
* {{$|03EA}}[{{0x|0A}}] = special effect ???<br />
* {{$|03EF}}[{{0x|01}}] = Normally zero. If set to nonzero, it forces Link to the pose where he is holding his sword up.<br />
One example of where this is used is right after Ganon is defeated.<br />
* {{$|03F0}}[{{0x|01}}] = ????<br />
* {{$|03F3}}[{{0x|01}}] = ????<br />
* {{$|03F4}}[{{0x|01}}] = Seems related to Cane of Somaria somehow<br />
* {{$|03F5}}[{{0x|02}}] = The timer for Link's tempbunny state.<br />
When it counts down he returns to his normal state.<br />
When Link is hit it always falls to zero.<br />
Is always set to 0x100 when a yellow hunter (transformer) hits him.<br />
If Link is not in normal mode, however, it will have no effect on him.<br />
The value is given in frames, so if the value written is 0x80, you will be a bunny for 128 frames<br />
* {{$|03F7}}[{{0x|01}}] = Flag indicating whether the "poof" needs to occur for Link to transform into the tempbunny.<br />
* {{$|03F8}}[{{0x|0?}}] = Flag set if you are near a "pull for rupees" sprite<br />
* {{$|03FA}}[{{0x|02}}] = Relates to Link's OAM routine in Bank 0D somehow.<br />
Appears to be the 9th bit of the X coordinate of some sprite(s).<br />
558$03FC}}[{{0x|01}}] = ????<br />
* {{$|03FD}}[{{0x|01}}] = ???? related to bombs seemingly<br />
* {{$|03FE}}[{{0x|02}}] = free ram.</div>Tatters