<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://alttp.run/hacking/index.php?action=history&amp;feed=atom&amp;title=Rom%2FUnmirrored_WRAM</id>
		<title>Rom/Unmirrored WRAM - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://alttp.run/hacking/index.php?action=history&amp;feed=atom&amp;title=Rom%2FUnmirrored_WRAM"/>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Rom/Unmirrored_WRAM&amp;action=history"/>
		<updated>2026-04-15T22:10:50Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Rom/Unmirrored_WRAM&amp;diff=586&amp;oldid=prev</id>
		<title>Tatters: Created page with &quot;Overworld: * {{$|7E2000}}[{{0x|2000}}] = Map16 tile data for the overworld. Supports up to 1024x1024 pixels of tiles. Note: this is handled somewhat differently than the Map8...&quot;</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Rom/Unmirrored_WRAM&amp;diff=586&amp;oldid=prev"/>
				<updated>2016-12-20T07:19:02Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Overworld: * {{$|7E2000}}[{{0x|2000}}] = Map16 tile data for the overworld. Supports up to 1024x1024 pixels of tiles. Note: this is handled somewhat differently than the Map8...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Overworld:&lt;br /&gt;
* {{$|7E2000}}[{{0x|2000}}] = Map16 tile data for the overworld. Supports up to 1024x1024 pixels of tiles. Note: this is handled&lt;br /&gt;
somewhat differently than the Map8 data in the dungeons which supports up to 512x512.&lt;br /&gt;
587Dungeons:&lt;br /&gt;
* {{$|7E2000}}[{{0x|2000}}] = when loading dungeon graphics, contains the (map8) tilemap for BG1.&lt;br /&gt;
* {{$|7E4000}}[{{0x|2000}}] = when loading dungeon graphics, contains the (map8) tilemap for BG0.&lt;br /&gt;
A note about these tilemap representations:&lt;br /&gt;
These are the tilemaps but not exactly as they would linearly appear in VRAM.&lt;br /&gt;
These maps are stored as the whole 512x512 pixel screen, line by line.&lt;br /&gt;
The first $80 bytes contains the top line of the picture as it appears to us.&lt;br /&gt;
The second $80 bytes represents the second line of the picture as it appears to us, etc.&lt;br /&gt;
In VRAM, however, the tile indices are stored by quadrant of the screen. Thus, the algorithm to convert the&lt;br /&gt;
address of a tile in this map to one in VRAM is:&lt;br /&gt;
int B = tilemap_address;&lt;br /&gt;
int Y = 0; // Y will be the resulting VRAM offset&lt;br /&gt;
if(B &amp;amp; 0x1000) // Is this tile in the lower two quadrants?&lt;br /&gt;
{&lt;br /&gt;
// YES!&lt;br /&gt;
Y += 0x1000;&lt;br /&gt;
B ^= 0x1000; // Tells us to ignore this bit in the proceeding calculations.&lt;br /&gt;
}&lt;br /&gt;
if(B &amp;amp; 0x40) // Is this tile in a right hand quadrant?&lt;br /&gt;
{&lt;br /&gt;
// YES!&lt;br /&gt;
Y += 0x800;&lt;br /&gt;
B ^= 0x040; // The ^ symbol is XOR, in case you didn't know.&lt;br /&gt;
}&lt;br /&gt;
Y += (B - ((B &amp;amp; 0xFF80) &amp;gt;&amp;gt; 1));&lt;br /&gt;
Keep in mind these aren't real addresses, just offsets into respective arrays in&lt;br /&gt;
WRAM and VRAM. e.g. X or Y registers would be the offset in WRAM and your DMA&lt;br /&gt;
controls registers would handle the problem for DMA.&lt;br /&gt;
WRAM -&amp;gt; VRAM&lt;br /&gt;
* {{$|0&lt;br /&gt;
-&amp;gt; $0&lt;br /&gt;
* {{$|40&lt;br /&gt;
-&amp;gt; $800&lt;br /&gt;
* {{$|80&lt;br /&gt;
-&amp;gt; $40&lt;br /&gt;
* {{$|C0&lt;br /&gt;
-&amp;gt; $840&lt;br /&gt;
* {{$|100 -&amp;gt; $80&lt;br /&gt;
* {{$|140 -&amp;gt; $880&lt;br /&gt;
* {{$|180 -&amp;gt; $C0&lt;br /&gt;
* {{$|1C0 -&amp;gt; $8C0&lt;br /&gt;
* {{$|280-$2BF -&amp;gt; $140-$17F&lt;br /&gt;
...&lt;br /&gt;
-&amp;gt; ...&lt;br /&gt;
* {{$|1000 -&amp;gt; $1000&lt;br /&gt;
* {{$|1040 -&amp;gt; $1800&lt;br /&gt;
* {{$|1080 -&amp;gt; $1040&lt;br /&gt;
* {{$|10C0 -&amp;gt; $1840&lt;br /&gt;
etc. -&amp;gt; etc.&lt;br /&gt;
* {{$|7E6000}}[{{0x|3000}}] = Scratch space where decompressed data is stored temporarily&lt;br /&gt;
* {{$|7E9000}}[{{0x|2E00}}] = Buffer for an assortment of tiles that need to change appearance&lt;br /&gt;
588$7E9000}}[{{0x|300] -&lt;br /&gt;
* {{$|7E9300}}[{{0x|180] -&lt;br /&gt;
* {{$|7E9480}}[{{0x|1C0] -&lt;br /&gt;
* {{$|7E9640}}[{{0x|1C0] -&lt;br /&gt;
* {{$|7E9800}}[{{0x|C0] -&lt;br /&gt;
* {{$|7E98C0}}[{{0x|100] -&lt;br /&gt;
* {{$|7E99C0}}[{{0x|100] -&lt;br /&gt;
* {{$|7E9AC0}}[{{0x|100] -&lt;br /&gt;
* {{$|7E9BC0}}[{{0x|380] -&lt;br /&gt;
* {{$|7E9F40}}[{{0x|1C0] -&lt;br /&gt;
* {{$|7EA100}}[{{0x|80] -&lt;br /&gt;
* {{$|7EA180}}[{{0x|300] -&lt;br /&gt;
* {{$|7EA480}}[{{0x|200] -&lt;br /&gt;
* {{$|7EA680}}[{{0x|400] -&lt;br /&gt;
* {{$|7EAA80}}[{{0x|400] -&lt;br /&gt;
* {{$|7EAE80}}[{{0x|400] -&lt;br /&gt;
* {{$|7EB280}}[{{0x|C0] -&lt;br /&gt;
* {{$|7EB340}}[{{0x|200] -&lt;br /&gt;
* {{$|7EB540}}[{{0x|400] -&lt;br /&gt;
* {{$|7EB940}}[{{0x|400] -&lt;br /&gt;
* {{$|7EBD40}}[{{0x|80] -&lt;br /&gt;
* {{$|7EBDC0}}[{{0x|40] -&lt;br /&gt;
24 Sword tiles&lt;br /&gt;
12 Shield tiles&lt;br /&gt;
14 Ice / Fire Rod tiles&lt;br /&gt;
14 Hammer tiles&lt;br /&gt;
6 Bow tiles&lt;br /&gt;
8 Shovel tiles&lt;br /&gt;
8 Tiles (Sleep 'Z's, Musical notes, two unknown tiles)&lt;br /&gt;
8 Hookshot tiles&lt;br /&gt;
28 Bug Net tiles&lt;br /&gt;
14 Cane tiles (Byrna and Somaria)&lt;br /&gt;
4 Book of Mudora tiles&lt;br /&gt;
24 unused tiles (free ram)&lt;br /&gt;
16 Push Block tiles&lt;br /&gt;
Animated BG tiles for step 0&lt;br /&gt;
Animated BG tiles for step 1&lt;br /&gt;
Animated BG tiles for step 2&lt;br /&gt;
Sprite tiles for rupee animation (3 steps)&lt;br /&gt;
Tiles for the steps that animate the barrier tiles going up and down&lt;br /&gt;
Sprite tiles for bird and thief's chest&lt;br /&gt;
Tagalong graphics, room for 8 16x16 sprites (32 8x8 tiles)&lt;br /&gt;
Sprite tiles for receive item (4 8x8 tiles)&lt;br /&gt;
Star tiles (part of animated tiles, consists of 2 8x8 tiles)&lt;br /&gt;
* {{$|7EBE00}}[{{0x|200}}] = possibly free ram&lt;br /&gt;
Values related to Dungeon Headers:&lt;br /&gt;
* {{$|7EC000}}[{{0x|01]&lt;br /&gt;
* {{$|7EC001}}[{{0x|01]&lt;br /&gt;
* {{$|7EC002}}[{{0x|01]&lt;br /&gt;
* {{$|7EC003}}[{{0x|01]&lt;br /&gt;
* {{$|7EC004}}[{{0x|01]&lt;br /&gt;
- The dungeon header can have up to five destinations for you to travel to&lt;br /&gt;
- These five addresses ($7EC000-$7EC004) hold the room numbers of these&lt;br /&gt;
- destinations. Notice that you can only use this for rooms with numbers&lt;br /&gt;
- Less than 256.&lt;br /&gt;
-&lt;br /&gt;
* {{$|7EC005}}[{{0x|01}}] = Tells us whether to do a &amp;quot;lights out&amp;quot; before room transitioning.&lt;br /&gt;
* {{$|7EC006}}[{{0x|01}}] = Mirror for $7EC005. Chains things along really. If the last room had the&lt;br /&gt;
&amp;quot;lights out&amp;quot; property, then when I return to it it should also, right?&lt;br /&gt;
* {{$|7EC007}}[{{0x|02}}] = Related to $7EC011 in that it helps control the mosaic level as well as the stages of color&lt;br /&gt;
filtering during a mosaic transition (forest to normal ow, etc)&lt;br /&gt;
* {{$|7EC009}}[{{0x|02}}] = 0 when darkening the screen, 2 when lightening the screen (during color filtering)&lt;br /&gt;
* {{$|7EC00B}}[{{0x|02}}] = The target level of color filtering and mosaic for $7EC007 during mosaic screen transitions&lt;br /&gt;
* {{$|7EC00D}}[{{0x|02}}] = Countdown timer that, when it reaches zero, changes the set of tiles used in BG tile animation.&lt;br /&gt;
Normally starts at 9 and changes at 0, but according to the code can start at 0x17 if certain overlays&lt;br /&gt;
are used. It haven't been verified that those overlay numbers actually are used in the game, though.&lt;br /&gt;
* {{$|7EC00F}}[{{0x|02}}] = Determines which frame of animation to use for animated tiles. Range: $0 - $800,&lt;br /&gt;
($400 increment)&lt;br /&gt;
589$7EC011}}[{{0x|01}}] = Mosaic &amp;quot;level&amp;quot; in screen transitions transitions.&lt;br /&gt;
* {{$|7EC013}}[{{0x|02}}] = Rupee sprite tile animation timer? (countdown)&lt;br /&gt;
* {{$|7EC017}}[{{0x|01}}] = ???? Linked to $045A seems to determine fixed color +/-&lt;br /&gt;
* {{$|7EC018}}[{{0x|01}}] = free ram&lt;br /&gt;
* {{$|7EC019}}[{{0x|06}}] = Array of palette filter settings that get temporarily stored to $7EC007 for Agahnim's sprite.&lt;br /&gt;
* {{$|7EC01F}}[{{0x|06}}] = Array of palette filter settings that get temporarily stored to $7EC007 for Agahnim's sprite.&lt;br /&gt;
* {{$|7EC025}}[{{0x|DB}}] = free ram&lt;br /&gt;
* {{$|7EC100}}[{{0x|02}}] = Mirror of $040A&lt;br /&gt;
* {{$|7EC102}}[{{0x|02}}] = Mirror of $1C&lt;br /&gt;
* {{$|7EC104}}[{{0x|02}}] = Mirror of $E8&lt;br /&gt;
* {{$|7EC106}}[{{0x|02}}] = Mirror of $E2&lt;br /&gt;
* {{$|7EC108}}[{{0x|02}}] = Mirror of $20&lt;br /&gt;
* {{$|7EC10A}}[{{0x|02}}] = Mirror of $22&lt;br /&gt;
* {{$|7EC10C}}[{{0x|02}}] = Mirror of $8A&lt;br /&gt;
* {{$|7EC10E}}[{{0x|02}}] = Mirror of $84&lt;br /&gt;
* {{$|7EC110}}[{{0x|02}}] = Mirror of $0618&lt;br /&gt;
* {{$|7EC112}}[{{0x|02}}] = Mirror of $061C&lt;br /&gt;
* {{$|7EC114}}[{{0x|02}}] = Mirror of $0600&lt;br /&gt;
* {{$|7EC116}}[{{0x|02}}] = Mirror of $0602&lt;br /&gt;
* {{$|7EC118}}[{{0x|02}}] = Mirror of $0604&lt;br /&gt;
* {{$|7EC11A}}[{{0x|02}}] = Mirror of $0606&lt;br /&gt;
* {{$|7EC11C}}[{{0x|02}}] = Mirror of $0610&lt;br /&gt;
* {{$|7EC11E}}[{{0x|02}}] = Mirror of $0612&lt;br /&gt;
* {{$|7EC120}}[{{0x|02}}] = Mirror of $0614&lt;br /&gt;
* {{$|7EC122}}[{{0x|02}}] = Mirror of $0616&lt;br /&gt;
* {{$|7EC124}}[{{0x|01]&lt;br /&gt;
* {{$|7EC125}}[{{0x|01]&lt;br /&gt;
* {{$|7EC126}}[{{0x|01]&lt;br /&gt;
* {{$|7EC127}}[{{0x|01]&lt;br /&gt;
- Mirror of $0AA0&lt;br /&gt;
- Mirror of $0AA1&lt;br /&gt;
- Mirror of $0AA2&lt;br /&gt;
- Mirror of $0AA3&lt;br /&gt;
* {{$|7EC128}}[{{0x|02}}] = free ram?&lt;br /&gt;
* {{$|7EC12A}}[{{0x|02}}] = Mirror of $0624&lt;br /&gt;
* {{$|7EC12C}}[{{0x|02}}] = Mirror of $0626&lt;br /&gt;
* {{$|7EC12E}}[{{0x|02}}] = Mirror of $0628&lt;br /&gt;
* {{$|7EC130}}[{{0x|02}}] = Mirror of $062A&lt;br /&gt;
* {{$|7EC132}}[{{0x|0E}}] = free ram?&lt;br /&gt;
* {{$|7EC140}}[{{0x|02}}] = Mirror of $040A, alternate overworld area number&lt;br /&gt;
590$7EC142}}[{{0x|01}}] = Mirror of $1C&lt;br /&gt;
* {{$|7EC143}}[{{0x|01}}] = Mirror of $1D&lt;br /&gt;
* {{$|7EC144}}[{{0x|02}}] = Mirror of $00E8, BG1 V scroll value&lt;br /&gt;
* {{$|7EC146}}[{{0x|02}}] = Mirror of $00E2, BG1 H scroll value&lt;br /&gt;
* {{$|7EC148}}[{{0x|02}}] = Mirror of $0020, Link's Y coordinate&lt;br /&gt;
* {{$|7EC14A}}[{{0x|02}}] = Mirror of $0022, Link's X coordinate&lt;br /&gt;
* {{$|7EC14C}}[{{0x|02}}] = Mirror of $008A, overworld area number&lt;br /&gt;
* {{$|7EC14E}}[{{0x|02}}] = Mirror of $0084, ????&lt;br /&gt;
* {{$|7EC150}}[{{0x|02}}] = Mirror of $0618, Camera's Y coordinate lower bound&lt;br /&gt;
* {{$|7EC152}}[{{0x|02}}] = Mirror of $061C, Camera's X coordinate lower bound&lt;br /&gt;
* {{$|7EC154}}[{{0x|02}}] = Mirror of $0600&lt;br /&gt;
* {{$|7EC156}}[{{0x|02}}] = Mirror of $0602&lt;br /&gt;
* {{$|7EC158}}[{{0x|02}}] = Mirror of $0604&lt;br /&gt;
* {{$|7EC15A}}[{{0x|02}}] = Mirror of $0606&lt;br /&gt;
* {{$|7EC15C}}[{{0x|02}}] = Mirror of $0610&lt;br /&gt;
* {{$|7EC15E}}[{{0x|02}}] = Mirror of $0612&lt;br /&gt;
* {{$|7EC160}}[{{0x|02}}] = Mirror of $0614&lt;br /&gt;
* {{$|7EC162}}[{{0x|02}}] = Mirror of $0616&lt;br /&gt;
* {{$|7EC164}}[{{0x|01]&lt;br /&gt;
* {{$|7EC165}}[{{0x|01]&lt;br /&gt;
* {{$|7EC166}}[{{0x|01]&lt;br /&gt;
* {{$|7EC167}}[{{0x|01]&lt;br /&gt;
** Mirror of {{$|0AA0}}&lt;br /&gt;
** Mirror of {{$|0AA1}} (blockset for dungeon entrance)&lt;br /&gt;
** Mirror of {{$|0AA2}}&lt;br /&gt;
** Mirror of {{$|0AA3}}&lt;br /&gt;
* {{$|7EC168}}[{{0x|02}}] = ???? See pre dungeon mode&lt;br /&gt;
* {{$|7EC16A}}[{{0x|02}}] = Mirror of $0624&lt;br /&gt;
* {{$|7EC16C}}[{{0x|02}}] = Mirror of $0626&lt;br /&gt;
* {{$|7EC16E}}[{{0x|02}}] = Mirror of $0628&lt;br /&gt;
* {{$|7EC170}}[{{0x|02}}] = Mirror of $062A&lt;br /&gt;
* {{$|7EC172}}[{{0x|02}}] = Orange/blue barrier state&lt;br /&gt;
* {{$|7EC174}}[{{0x|02}}] = Mirror of $86&lt;br /&gt;
* {{$|7EC176}}[{{0x|02}}] = Mirror of $88&lt;br /&gt;
* {{$|7EC178}}[{{0x|08}}] = free ram?&lt;br /&gt;
* {{$|7EC180}}[{{0x|02]&lt;br /&gt;
* {{$|7EC182}}[{{0x|02]&lt;br /&gt;
* {{$|7EC184}}[{{0x|02]&lt;br /&gt;
* {{$|7EC186}}[{{0x|02]&lt;br /&gt;
- Mirror of $E2&lt;br /&gt;
- Mirror of $E8&lt;br /&gt;
- Mirror of $20&lt;br /&gt;
- Mirror of $22&lt;br /&gt;
* {{$|7EC188}}[{{0x|02}}] = Mirror of $0600&lt;br /&gt;
* {{$|7EC18A}}[{{0x|02}}] = Mirror of $0604&lt;br /&gt;
* {{$|7EC18C}}[{{0x|02}}] = Mirror of $0608&lt;br /&gt;
* {{$|7EC18E}}[{{0x|02}}] = Mirror of $060C&lt;br /&gt;
* {{$|7EC190}}[{{0x|02}}] = Mirror of $0610&lt;br /&gt;
* {{$|7EC192}}[{{0x|02}}] = Mirror of $0612&lt;br /&gt;
* {{$|7EC194}}[{{0x|02}}] = Mirror of $0614&lt;br /&gt;
* {{$|7EC196}}[{{0x|02}}] = Mirror of $0616&lt;br /&gt;
591$7EC198}}[{{0x|02}}] = Mirror of $0618&lt;br /&gt;
* {{$|7EC19A}}[{{0x|02}}] = Mirror of $061C&lt;br /&gt;
* {{$|7EC19C}}[{{0x|02}}] = Mirror of $A6&lt;br /&gt;
* {{$|7EC19E}}[{{0x|02}}] = Mirror of $A9&lt;br /&gt;
* {{$|7EC1A0}}[{{0x|06}}] = free ram?&lt;br /&gt;
* {{$|7EC1A6}}[{{0x|02}}] = Mirror of $2F&lt;br /&gt;
* {{$|7EC1A8}}[{{0x|02}}] = Mirror of $0476&lt;br /&gt;
* {{$|7EC1AA}}[{{0x|02}}] = Mirror of $A4&lt;br /&gt;
* {{$|7EC1AC}}[{{0x|54}}] = free ram?&lt;br /&gt;
* {{$|7EC200}}[{{0x|02]&lt;br /&gt;
* {{$|7EC202}}[{{0x|02]&lt;br /&gt;
* {{$|7EC204}}[{{0x|02]&lt;br /&gt;
* {{$|7EC206}}[{{0x|02]&lt;br /&gt;
- Mirror of $E0&lt;br /&gt;
- Mirror of $E2&lt;br /&gt;
- Mirror of $E6&lt;br /&gt;
- Mirror of $E8&lt;br /&gt;
* {{$|7EC208}}[{{0x|01}}] = Mirror of $0414&lt;br /&gt;
* {{$|7EC20A}}[{{0x|01}}] = Mirror of $0AB6&lt;br /&gt;
* {{$|7EC20B}}[{{0x|01}}] = Mirror of $0AB8&lt;br /&gt;
* {{$|7EC20C}}[{{0x|01}}] = Mirror of $0AB7&lt;br /&gt;
* {{$|7EC20D}}[{{0x|01}}] = free ram?&lt;br /&gt;
* {{$|7EC20E}}[{{0x|01}}] = Mirror of $0AA1&lt;br /&gt;
* {{$|7EC20F}}[{{0x|01}}] = Mirror of $0AA3&lt;br /&gt;
* {{$|7EC210}}[{{0x|01}}] = Mirror of $0AA2&lt;br /&gt;
* {{$|7EC211}}[{{0x|01}}] = Mirror of $1C&lt;br /&gt;
* {{$|7EC212}}[{{0x|01}}] = Mirror of $1D&lt;br /&gt;
* {{$|7EC213}}[{{0x|02]&lt;br /&gt;
* {{$|7EC215}}[{{0x|02]&lt;br /&gt;
* {{$|7EC217}}[{{0x|02]&lt;br /&gt;
* {{$|7EC219}}[{{0x|02]&lt;br /&gt;
- Mirror of $8A&lt;br /&gt;
- Mirror of $84&lt;br /&gt;
- Mirror of $88&lt;br /&gt;
- Mirror of $86&lt;br /&gt;
* {{$|7EC21B}}[{{0x|02}}] = Mirror of $0418&lt;br /&gt;
* {{$|7EC21D}}[{{0x|02}}] = Mirror of $0410&lt;br /&gt;
* {{$|7EC21F}}[{{0x|01}}] = Mirror of $0416&lt;br /&gt;
* {{$|7EC221}}[{{0x|02}}] = Mirror of $011A or $7EC007&lt;br /&gt;
* {{$|7EC223}}[{{0x|02}}] = Mirror of $011C or $7EC009&lt;br /&gt;
* {{$|7EC225}}[{{0x|01}}] = Mirror of $99&lt;br /&gt;
* {{$|7EC226}}[{{0x|01}}] = Mirror of $9A&lt;br /&gt;
* {{$|7EC227}}[{{0x|01}}] = Mirror of $0130&lt;br /&gt;
* {{$|7EC228}}[{{0x|01}}] = Mirror of $0131&lt;br /&gt;
* {{$|7EC229}}[{{0x|01}}] = Mirror of $9B&lt;br /&gt;
* {{$|7EC22A}}[{{0x|05}}] = free ram&lt;br /&gt;
592$7EC230}}[{{0x|C0? (best guess)}}] = related to the VWF?&lt;br /&gt;
; These are set when new graphics are loaded using $0AA2&lt;br /&gt;
* {{$|7EC2F8}}[{{0x|01}}] = Cached value for subset 0 of secondary bg graphics&lt;br /&gt;
* {{$|7EC2F9}}[{{0x|01}}] = Cached value for subset 1 of secondary bg graphics&lt;br /&gt;
* {{$|7EC2FA}}[{{0x|01}}] = Cached value for subset 2 of secondary bg graphics&lt;br /&gt;
* {{$|7EC2FB}}[{{0x|01}}] = Cached value for subset 3 of secondary bg graphics&lt;br /&gt;
; These are set when new graphics are loaded using $0AA3&lt;br /&gt;
* {{$|7EC2FC}}[{{0x|01}}] = Sprite Graphics Subset 0&lt;br /&gt;
* {{$|7EC2FD}}[{{0x|01}}] = Sprite Graphics Subset 1&lt;br /&gt;
* {{$|7EC2FE}}[{{0x|01}}] = Sprite Graphics Subset 2&lt;br /&gt;
* {{$|7EC2FF}}[{{0x|01}}] = Sprite Graphics Subset 3&lt;br /&gt;
* {{$|7EC300}}[{{0x|200}}] = Auxiliary palette buffer. Probably used for manipulations of the palette that would be cause&lt;br /&gt;
graphical glitches if applied every frame.&lt;br /&gt;
* {{$|7EC500}}[{{0x|200}}] = Main palette buffer (512 bytes)&lt;br /&gt;
Palette Data that will get written to CGRAM (512 bytes) whenever $7E0015 is nonzero.&lt;br /&gt;
The following is a list of tile types found in each palette slot.&lt;br /&gt;
Extra Info:&lt;br /&gt;
BP-&amp;lt;number&amp;gt; means background palette &amp;lt;number&amp;gt;&lt;br /&gt;
SP-&amp;lt;number&amp;gt; means sprite palette &amp;lt;number&amp;gt;&lt;br /&gt;
The &amp;quot;first half&amp;quot; indicates the first 8 colors of a 4bpp palete, and the &amp;quot;second half&amp;quot; indicates the latter 8 colors.&lt;br /&gt;
Note: however, that the first color of the &amp;quot;first half&amp;quot; palettes are never actually displayed b/c the hardware&lt;br /&gt;
treats them as transparent.&lt;br /&gt;
HUD-&amp;lt;number&amp;gt;- indicates a 4 color palette used with the 2bpp heads up display graphics. &amp;lt;number&amp;gt; ranges from 0 to 7.&lt;br /&gt;
Only the last 3 colors are displayed as the first color in each HUD palette is considered transparent.&lt;br /&gt;
Palettes are listed in order of appearance:&lt;br /&gt;
HUD-0&lt;br /&gt;
HUD-1&lt;br /&gt;
HUD-2&lt;br /&gt;
HUD-3&lt;br /&gt;
HUD-4&lt;br /&gt;
HUD-5&lt;br /&gt;
HUD-6&lt;br /&gt;
HUD-7&lt;br /&gt;
- Arrow icon and blank item box.&lt;br /&gt;
- Numbers, hearts, the &amp;quot;Life&amp;quot; icon, and the Floor Indicator.&lt;br /&gt;
- Key icon, outline of magic bar and item box, the two dashes on either side of the &amp;quot;Life&amp;quot; icon&lt;br /&gt;
and the border of the dialogue window.&lt;br /&gt;
- Bomb icon&lt;br /&gt;
- ????&lt;br /&gt;
- Pegasus boots on menu window&lt;br /&gt;
- Dialogue text,&lt;br /&gt;
- Magic meter (green) and rupee icon&lt;br /&gt;
BP-2 (first half) - Overworld: Green / Tan ground, most of the rock and related colors on Death Mountain&lt;br /&gt;
Dungeons: Misc things in dungeons, like edges of pits, parts of doors, boundaries for doors,&lt;br /&gt;
593boundaries of torches&lt;br /&gt;
BP-2 (second half) - Overworld: Houses, urns, tops of wooden gates,&lt;br /&gt;
Dungeons: Walls / doors in dungeons, houses on overworld&lt;br /&gt;
BP-3 (first half) - Overworld: Secondary ground color, borders of certain paths, like in desert.&lt;br /&gt;
Dungeons: Torches in dungeons, pots, statues, orange switch blocks&lt;br /&gt;
BP-3 (second half) - Overworld: Statues, particular parts of rocks, paths and outlines of stone paths&lt;br /&gt;
Dungeons: Primary floor colors&lt;br /&gt;
BP-4 (first half) - Overworld: particular parts of rocks&lt;br /&gt;
Dungeons: doorway statue in dungeons&lt;br /&gt;
BP-4 (second half) - Overworld: Green trees, cacti, woods seen from high above on Death Mountain&lt;br /&gt;
Dungeons: parallax floor below in dungeons, dungeon wall border.&lt;br /&gt;
BP-5 (first half) - Animated tiles in overworld, beds, chairs tables in indoors&lt;br /&gt;
BP-5 (second half) - Overworld: Pathway in Kakkariko and shrub hedges, overlays using color addition&lt;br /&gt;
(fog in forest, lava in dark world)&lt;br /&gt;
Dungeons: Dungeon entrance floor&lt;br /&gt;
BP-6 (first half) - Overworld: Bushes, fences, grass, and the ground bushes and grass leave behind, signs&lt;br /&gt;
Dungeons: Chests, candles in fortune teller huts, blue switch blocks&lt;br /&gt;
BP-6 (second half) - Overworld: Tower of Hera, some parts above doors, master sword platform, small trees,&lt;br /&gt;
red trees, Sahasralah's house.&lt;br /&gt;
Dungeons: Rug in smithy house, BG1 floor&lt;br /&gt;
BP-7 (first half) - Pyramid of Power, Dark Palace, Blue House roofs, warp tiles / cloud tiles.&lt;br /&gt;
Seems to be an important palette.&lt;br /&gt;
Dungeon: and tiles related to chests tiles in dungeons&lt;br /&gt;
BP-7 (second half) - Overworld: cloud tiles (some), rope bridges&lt;br /&gt;
Dungeons: Ceilings&lt;br /&gt;
SP-0 (first half) - Sanctuary and Hyrule Castle Mantle, old guy at the bar in Kakkariko's body,&lt;br /&gt;
weird head looking things at the entrance to the Desert Palace, bombos and ether tablets&lt;br /&gt;
SP-0 (second half) - heavy rocks&lt;br /&gt;
SP-1 (first half) - apples from trees, part of master sword beam, grass around your legs, off color bushes&lt;br /&gt;
SP-1 (second half) - red rupees, small hearts, red potion in shops, some shadows, link's bow&lt;br /&gt;
SP-2 (first half) - numerous special objects (dash dush from boots, sparkles, death / transformation poof),&lt;br /&gt;
warp, whirlpool&lt;br /&gt;
SP-2 (second half) - blue rupees&lt;br /&gt;
SP-3 (first half) - red soldiers, bees,&lt;br /&gt;
SP-3 (second half) - usually set to all dark grey colors, but can be swapped with SP-5 (second half)&lt;br /&gt;
SP-4 (first half) - faeries, blue soldiers, chickens, green soldier shields, crows, lumberjack saw&lt;br /&gt;
SP-4 (second half) - green rupees, green enemy bombs, some shadows, magic decanters&lt;br /&gt;
SP-5 (first half) - palette determined by $0AAD, so varies by area / room&lt;br /&gt;
SP-5 (second half) - Link's Sword (first three colors) and Shield (last four colors)&lt;br /&gt;
SP-6 (first half) - palette determined by $0AAE, so varies by area / room&lt;br /&gt;
594SP-6 (second half) - throwable items like bushes, pots, rocks, signs,&lt;br /&gt;
and the pieces all of those shatter into skulls that lurk in the ground under bushes&lt;br /&gt;
SP-7 (full)&lt;br /&gt;
- Link's body palette, including his glove color&lt;br /&gt;
* {{$|7EC700}}[{{0x|14A}}] = The HUD tile indices buffer. (330 bytes)&lt;br /&gt;
* {{$|7EC7F2}}[{{0x|04}}] = floor indicator (top two tiles)&lt;br /&gt;
* {{$|7EC782}}[{{0x|04}}] = floor indicator (bottom two tiles)&lt;br /&gt;
* {{$|7EC84A}}[{{0x|1FB6}}] = seemingly free ram (nearly 8K!)&lt;br /&gt;
* {{$|7EE800}}[{{0x|800}}] = it's cleared out but I don't know what it's used for&lt;br /&gt;
* {{$|7EF000}}[{{0x|500}}] = Save Game Memory, which gets mapped to a slot in SRAM when you save your game. SRAM slots&lt;br /&gt;
are at $70:0000, $70:0500, $70:0A00. They are also mirrored in the next three slots. See the sram&lt;br /&gt;
documentation for more details.&lt;br /&gt;
* {{$|7EF500}}[{{0x|80}}] = Possibly free ram&lt;br /&gt;
* {{$|7EF580}}[{{0x|280}}] = (dungeon) For items under pots, this keeps track of which ones have been revealed in a given room&lt;br /&gt;
(array probably resets on reentrance to the dungeon or mirror usage)&lt;br /&gt;
* {{$|7EF800}}[{{0x|100}}] = Stores the overworld tilemap address for a tile that has been modified.&lt;br /&gt;
Seems to support up to 0x80 different tiles.&lt;br /&gt;
At first I thought this was for knowing what to reinstate when the screen scrolls on larger&lt;br /&gt;
overworld areas, but that doesn't seem to be the case. The index into this table is $04AC.&lt;br /&gt;
* {{$|7EF900}}[{{0x|40}}] = free ram?&lt;br /&gt;
* {{$|7EF940}}[{{0x|200}}] = (dungeon) moveable block data (persistent across rooms and only regenerates upon&lt;br /&gt;
dungeon reentry or mirror). In the original game, only 0x18C of these bytes are filled&lt;br /&gt;
with actual block data.&lt;br /&gt;
Each block entry consists of 2 16-bit values:&lt;br /&gt;
The first is the room that the block exists in.&lt;br /&gt;
The second is the tilemap address of the block.&lt;br /&gt;
If the tilemap address is from 0x0000 to 0x1FFF, then it's on BG2&lt;br /&gt;
If it's from 0x2000 to 0x3FFF, the block is on BG1.&lt;br /&gt;
This value is always anded with 0x3FFF, forcing the block to one BG or the other.&lt;br /&gt;
* {{$|7EFA00}}[{{0x|200}}] = (overworld) Note that this clashes with the block data&lt;br /&gt;
* {{$|7EFB40}}[{{0x|180}}] = (dungeon) torch data (persistent across rooms)&lt;br /&gt;
Each torch entry consists of 2 16-bit values:&lt;br /&gt;
The first word is the room that the torch exists in.&lt;br /&gt;
The second&lt;br /&gt;
* {{$|7EFCC0}}[{{0x|80] -&lt;br /&gt;
Each byte is the sprite graphics set to use for each overworld area.&lt;br /&gt;
595$7EFD40}}[{{0x|80}}] = Each byte is the sprite palette set to use for each overworld area.&lt;br /&gt;
* {{$|7EFDC0}}[{{0x|40}}] = free ram?&lt;br /&gt;
* {{$|7EFE00}}[{{0x|200}}] = CHR to Tile Attribute table. Each byte tells the game how Link interacts with the each CHR type.&lt;br /&gt;
After the tilemaps are created from loading objects, the game then uses this table to translate CHR values into&lt;br /&gt;
behavior types, and creates behavior tables for BG0 and BG1.&lt;br /&gt;
As an example, let's say the CHR value for a particular tile in the tilemap was 0x04. In this lookup table, that&lt;br /&gt;
would be the 5th byte (since it starts at 0), and you'd find the behavior type for that CHR to be 0x02. CHR&lt;br /&gt;
values 0x140 0x1BF are loaded with behaviors that vary depending on the current value of $0AA2, the&lt;br /&gt;
secondary graphics index.&lt;br /&gt;
See $7F2000 and $7F3000 for details on tile attributes in dungeons.&lt;br /&gt;
Also see routine $0717D9 in the Banks files (if you have them) and $71659 in Zelda3_ROM.log.&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	</feed>