<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://alttp.run/hacking/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tatters</id>
		<title>TLoZ: ALTTP Hacking Resources - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://alttp.run/hacking/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tatters"/>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Special:Contributions/Tatters"/>
		<updated>2026-04-15T18:04:51Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Dumps&amp;diff=27472</id>
		<title>Dumps</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Dumps&amp;diff=27472"/>
				<updated>2017-12-25T02:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|border=&amp;quot;1&amp;quot; align=&amp;quot;right&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin: 0 0 1em 1em; background: #f7f8ff; border: 1px #8888cc solid; border-collapse: collapse; font-size: 95%&amp;quot;&lt;br /&gt;
|- style=background:#ccccff&lt;br /&gt;
!Symbol&lt;br /&gt;
!Meaning&lt;br /&gt;
!Symbol&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|(U)&lt;br /&gt;
|US Rom&lt;br /&gt;
|(E)&lt;br /&gt;
|Europe&lt;br /&gt;
|-&lt;br /&gt;
|(J)&lt;br /&gt;
|Japan&lt;br /&gt;
|(G)&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|(JU)&lt;br /&gt;
|USA/Japan&lt;br /&gt;
|(JUE)&lt;br /&gt;
|USA/Europe/Japan&lt;br /&gt;
|-&lt;br /&gt;
|(!)&lt;br /&gt;
|Good Rom&lt;br /&gt;
|[a]&lt;br /&gt;
|Alternative version&lt;br /&gt;
|-&lt;br /&gt;
|[b*]&lt;br /&gt;
|Bad Dump&lt;br /&gt;
|[f*]&lt;br /&gt;
|Fixed to run better on&lt;br /&gt;
copiers or emulators&lt;br /&gt;
|-&lt;br /&gt;
|[h*]&lt;br /&gt;
|Hack&lt;br /&gt;
|[o*]&lt;br /&gt;
|OverDump&lt;br /&gt;
|-&lt;br /&gt;
|[m*]&lt;br /&gt;
|Multilanguage&lt;br /&gt;
|C&lt;br /&gt;
|Conversion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== A Link to the Past ==&lt;br /&gt;
&lt;br /&gt;
The ROMs do not have a 200 byte header.&lt;br /&gt;
&lt;br /&gt;
=== Europe ===&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!Rom file name&lt;br /&gt;
!Sha224sum of Unmodified ROM&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (F).smc&lt;br /&gt;
|{{hex|ce01d282524568b695d8dfaf6b50fbd2c1f4809b6e8efab80a9d4f49}}&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (E) [!].smc&lt;br /&gt;
|{{hex|06c064a08e0fe40fc343d33ca698fb2c087a66e57cb3e081fe92b59a}}&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (FC).smc&lt;br /&gt;
|{{hex|a3fe17922edb8c55ccaa12accd0ca1b9b8a975d5782c9cd27c8ef178}}&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (G) [!].smc&lt;br /&gt;
|{{hex|fd042211f3fa11b184e7bc48dd60d3aa327f2710d51aaabf5f779fcb}}&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (G) [a1].smc&lt;br /&gt;
|{{hex|f1039737394d90e01230477d10b752fb677bf0e9d002dabf6cc8cb3b}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== America ===&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!Rom file name&lt;br /&gt;
!Sha224sum of Unmodified ROM&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (U) [!].smc&lt;br /&gt;
|{{hex|5060008d659987af5df4f2d86597f2d6de856cf3d7f73bde44c771c1}}&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (U) [h1C].smc&lt;br /&gt;
|{{hex|cbda4838b3694fcaa371cec82fe2c88f4b743463e245d1a0097c2a71}}&lt;br /&gt;
|-&lt;br /&gt;
|Legend of Zelda, The - A Link to the Past (U) [h2C].smc&lt;br /&gt;
|{{hex|e353c3dde0f6c091438198bfaed23ef1e87c463180609ab2c4840c79}}&lt;br /&gt;
|}&lt;br /&gt;
=== Japan ===&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!Rom file name&lt;br /&gt;
!Sha224sum of Unmodified ROM&lt;br /&gt;
|-&lt;br /&gt;
|Zelda no Densetsu - Kamigami no Triforce (J) (V1.0).smc&lt;br /&gt;
|{{hex|f891217bb7b2a861e19b2861b7d52eaaa80b4485889dbed2821a60d4}}&lt;br /&gt;
|-&lt;br /&gt;
|Zelda no Densetsu - Kamigami no Triforce (J) (V1.0) [h1C].smc&lt;br /&gt;
|{{hex|56bbe399dda8a177fa7fa174736705c432c05e16045282ded2b44d4a}}&lt;br /&gt;
|-&lt;br /&gt;
|Zelda no Densetsu - Kamigami no Triforce (J) (V1.1).smc&lt;br /&gt;
|{{hex|0be0c173062f02d8dae18be980eadf4a2f8ffbf5d740732ed8710d18}}&lt;br /&gt;
|-&lt;br /&gt;
|Zelda no Densetsu - Kamigami no Triforce (J) (V1.2).smc&lt;br /&gt;
|{{hex|c4f5c90a13db9d4c26ee830fbb93236c1cc2ca22ad737fa5c02a115e}}&lt;br /&gt;
|}&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Credits&amp;diff=27471</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Credits&amp;diff=27471"/>
				<updated>2017-12-25T02:24:56Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wishes==&lt;br /&gt;
* {{address|0x|742E1|74303|34}} = Pointers for wishes. Comes in pairs of two in little endian. 16 screens and 17 pointers. The spare pointer serves to mark the end.&lt;br /&gt;
&lt;br /&gt;
 {{red|00 00 }}{{blue|3C 00 }}{{green|68 00 }}{{hex|AA 00 }}{{hex|E8 00 28 01 5B 01 98 01}}&lt;br /&gt;
 {{hex|CF 01 07 02 42 02 7D 02 B0 02 EA 02 22 03 52 03}} &lt;br /&gt;
 {{hex|95 03}}&lt;br /&gt;
&lt;br /&gt;
* {{red|00 00}} = First screen (Return of the King)&lt;br /&gt;
* {{blue|3C 00}} = Second screen (Sanctuary)&lt;br /&gt;
* {{green|68 00}} = Third screen (Village)&lt;br /&gt;
&lt;br /&gt;
Basically the data for the pointers to the screens are:&lt;br /&gt;
* {{0x|73F4C}} + {{hex|00}} → {{0x|73F4C}} + {{hex|3C}} - {{hex|1}}&lt;br /&gt;
* {{0x|73F4C}} + {{hex|3C}} → {{0x|73F4C}} + {{hex|68}} - {{hex|1}}&lt;br /&gt;
* And so forth.&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
To parse the ending credits data (scrolling credits), I'll take this one as an example:&lt;br /&gt;
&lt;br /&gt;
* {{0x|7317A}} = {{hex|EXECUTIVE PRODUCER}}&lt;br /&gt;
&lt;br /&gt;
 {{0x|73170}} - {{hex|XX XX XX XX XX XX XX XX }}{{red|07 }}{{blue|23 }}{{green|3C 4F 3C 3A 4C 4B}}&lt;br /&gt;
 {{0x|73180}} - {{green|40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49 FF }}{{hex|XX XX XX}}&lt;br /&gt;
&lt;br /&gt;
* {{red|07}} = start from the 7th tile from the left of the screen (Note scrolling credits have no vertical position, and return of the king section have them hardcoded)&lt;br /&gt;
* {{blue|23}} = ({{$|23 + }}{{$|1}}) / {{$|2}} = {{$|12}} bytes to read&lt;br /&gt;
* Then read {{$|12}} bytes - {{hex|3C 4F 3C 3A 4C 4B 40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49}}&lt;br /&gt;
&lt;br /&gt;
For each 12 bytes look up the table definition and draw the character on screen at the position.&lt;br /&gt;
&lt;br /&gt;
Now to pointers to the data.&lt;br /&gt;
&lt;br /&gt;
Pointers start at {{0x|7393D}}&lt;br /&gt;
&lt;br /&gt;
Data around there is as follows:&lt;br /&gt;
 {{hex|94 91 9B 97 8D 8B 9F 9B 83 8F 83 86 83 }}{{red|00 00 }}{{hex|14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 15 00 27 00 14 00 14 00 14 00 14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 14 00 14 00 39 00 14 00 14 00 14}}&lt;br /&gt;
&lt;br /&gt;
That {{red|00 00}}, is a relative position to {{0x|73178}}, funnily enough, the next value is {{hex|14 00}}, which points straight to the {{$|FF}}! {{$|FF}} is a special placeholder to show a blank line (as the game's engine does)&lt;br /&gt;
&lt;br /&gt;
In other words from the above&lt;br /&gt;
&lt;br /&gt;
 {{hex|00 00}} = EXECUTIVE PRODUCER&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|15 00}} = NAME FIRST LINE&lt;br /&gt;
 {{hex|27 00}} = NAME SECOND LINE&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|39 00}} = NEXT LABEL (forgot what it is)&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|...}}&lt;br /&gt;
&lt;br /&gt;
This continues until the last pointer at {{0x|73C4F}}, so the data ends at {{0x|73C50}} ({{0x|73C51}} has assembly!) -- you'll notice that the lines with the death counts have the place names written this way but not the actual number. That bit is hardcoded.&lt;br /&gt;
&lt;br /&gt;
So the next thing is what about the RETURN OF THE KING data? (puns) There's 4 byte control code rather than two in the credits area.&lt;br /&gt;
&lt;br /&gt;
For the line THE RETURN OF THE KING, the data actually starts 4 bytes before {{0x|73F50}} at {{0x|73F4C}}&lt;br /&gt;
@{{0x|73F40}}&lt;br /&gt;
 {{hex|30 A9 FF 9D 02 10 A9 01 85 14 AB 60 62 65 00 2B}}&lt;br /&gt;
 {{hex|2D 21 1E 9F 2B 1E 2D 2E 2B 27 9F 28 1F 9F 2D 21}}&lt;br /&gt;
 {{hex|1E 9F 24 22 27 20 62 E9 00 19 64 75 6E 71 68 61}}&lt;br /&gt;
&lt;br /&gt;
 {{hex|62 65 00 2B}}&lt;br /&gt;
 {{hex|62 E9 00 19}}&lt;br /&gt;
 {{hex|63 09 00 19}}&lt;br /&gt;
 {{hex|62 EB 00 11}}&lt;br /&gt;
 {{hex|63 0B 00 11}}&lt;br /&gt;
&lt;br /&gt;
First + second byte are related to the position of the data (16 bytes BIG endian) - to actually control the starting location of the text, you would subtract 2ONE for every tile you want to move left ({{hex|62 64}}), and add 2ONE if you want to move it right ({{hex|62 66}}). I could go into SNES screen positioning tutorial but that would just bore you, but I can assure this this goes straight into a DMA RAM area to the GPU.&lt;br /&gt;
* 3rd byte is always - {{hex|00}} (the code ANDs them out anyway lol)&lt;br /&gt;
* 4th byte - length - formula is {{hex|(value + 1) / 2}} in terms of text to read after that byte just like the above. So the first line we would read {{$|16}} bytes (THE RETURN OF THE KING)&lt;br /&gt;
{{source|Euclid}}&lt;br /&gt;
==Table==&lt;br /&gt;
The game contains a table to store all of its characters. The table's location for each region is as follows.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{address|0x|75A68||0xA0}}&lt;br /&gt;
|}&lt;br /&gt;
{{source|SmallHacker}}&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Credits&amp;diff=27470</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Credits&amp;diff=27470"/>
				<updated>2017-12-25T02:22:32Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wishes==&lt;br /&gt;
* {{address|0x|742E1|74303|34}} = Pointers for wishes. Comes in pairs of two in little endian. 16 screens and 17 pointers. The spare pointer serves to mark the end.&lt;br /&gt;
&lt;br /&gt;
 {{red|00 00 }}{{blue|3C 00 }}{{green|68 00 }}{{hex|AA 00 }}{{hex|E8 00 28 01 5B 01 98 01}}&lt;br /&gt;
 {{hex|CF 01 07 02 42 02 7D 02 B0 02 EA 02 22 03 52 03}} &lt;br /&gt;
 {{hex|95 03}}&lt;br /&gt;
&lt;br /&gt;
* {{red|00 00}} = First screen (Return of the King)&lt;br /&gt;
* {{blue|3C 00}} = Second screen (Sanctuary)&lt;br /&gt;
* {{green|68 00}} = Third screen (Village)&lt;br /&gt;
&lt;br /&gt;
Basically the data for the pointers to the screens are:&lt;br /&gt;
* {{0x|73F4C}} + {{hex|00}} → {{0x|73F4C}} + {{hex|3C}} - {{hex|1}}&lt;br /&gt;
* {{0x|73F4C}} + {{hex|3C}} → {{0x|73F4C}} + {{hex|68}} - {{hex|1}}&lt;br /&gt;
* And so forth.&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
To parse the ending credits data (scrolling credits), I'll take this one as an example:&lt;br /&gt;
&lt;br /&gt;
* {{0x|7317A}} = {{hex|EXECUTIVE PRODUCER}}&lt;br /&gt;
&lt;br /&gt;
 {{0x|73170}} - {{hex|XX XX XX XX XX XX XX XX }}{{red|07 }}{{blue|23 }}{{green|3C 4F 3C 3A 4C 4B}}&lt;br /&gt;
 {{0x|73180}} - {{green|40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49 FF }}{{hex|XX XX XX}}&lt;br /&gt;
&lt;br /&gt;
* {{red|07}} = start from the 7th tile from the left of the screen (Note scrolling credits have no vertical position, and return of the king section have them hardcoded)&lt;br /&gt;
* {{blue|23}} = ({{$|23 + }}{{$|1}}) / {{$|2}} = {{$|12}} bytes to read&lt;br /&gt;
* Then read {{$|12}} bytes - {{hex|3C 4F 3C 3A 4C 4B 40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49}}&lt;br /&gt;
&lt;br /&gt;
For each 12 bytes look up the table definition and draw the character on screen at the position.&lt;br /&gt;
&lt;br /&gt;
Now to pointers to the data.&lt;br /&gt;
&lt;br /&gt;
Pointers start at {{0x|7393D}}&lt;br /&gt;
&lt;br /&gt;
Data around there is as follows:&lt;br /&gt;
 {{hex|94 91 9B 97 8D 8B 9F 9B 83 8F 83 86 83 }}{{red|00 00 }}{{hex|14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 15 00 27 00 14 00 14 00 14 00 14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 14 00 14 00 39 00 14 00 14 00 14}}&lt;br /&gt;
&lt;br /&gt;
That {{red|00 00}}, is a relative position to {{0x|73178}}, funnily enough, the next value is {{hex|14 00}}, which points straight to the {{$|FF}}! {{$|FF}} is a special placeholder to show a blank line (as the game's engine does)&lt;br /&gt;
&lt;br /&gt;
In other words from the above&lt;br /&gt;
&lt;br /&gt;
 {{hex|00 00}} = EXECUTIVE PRODUCER&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|15 00}} = NAME FIRST LINE&lt;br /&gt;
 {{hex|27 00}} = NAME SECOND LINE&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|39 00}} = NEXT LABEL (forgot what it is)&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|...}}&lt;br /&gt;
&lt;br /&gt;
This continues until the last pointer at {{0x|73C4F}}, so the data ends at {{0x|73C50}} ({{0x|73C51}} has assembly!) -- you'll notice that the lines with the death counts have the place names written this way but not the actual number. That bit is hardcoded.&lt;br /&gt;
&lt;br /&gt;
So the next thing is what about the RETURN OF THE KING data? (puns) There's 4 byte control code rather than two in the credits area.&lt;br /&gt;
&lt;br /&gt;
For the line THE RETURN OF THE KING, the data actually starts 4 bytes before {{0x|73F50}} at {{0x|73F4C}}&lt;br /&gt;
@{{0x|73F40}}&lt;br /&gt;
 {{hex|30 A9 FF 9D 02 10 A9 01 85 14 AB 60 62 65 00 2B}}&lt;br /&gt;
 {{hex|2D 21 1E 9F 2B 1E 2D 2E 2B 27 9F 28 1F 9F 2D 21}}&lt;br /&gt;
 {{hex|1E 9F 24 22 27 20 62 E9 00 19 64 75 6E 71 68 61}}&lt;br /&gt;
&lt;br /&gt;
 {{hex|62 65 00 2B}}&lt;br /&gt;
 {{hex|62 E9 00 19}}&lt;br /&gt;
 {{hex|63 09 00 19}}&lt;br /&gt;
 {{hex|62 EB 00 11}}&lt;br /&gt;
 {{hex|63 0B 00 11}}&lt;br /&gt;
&lt;br /&gt;
First + second byte are related to the position of the data (16 bytes BIG endian) - to actually control the starting location of the text, you would subtract 2ONE for every tile you want to move left ({{hex|62 64}}), and add 2ONE if you want to move it right ({{hex|62 66}}). I could go into SNES screen positioning tutorial but that would just bore you, but I can assure this this goes straight into a DMA RAM area to the GPU.&lt;br /&gt;
* 3rd byte is always - {{hex|00}} (the code ANDs them out anyway lol)&lt;br /&gt;
* 4th byte - length - formula is {{hex|(value + 1) / 2}} in terms of text to read after that byte just like the above. So the first line we would read {{$|16}} bytes (THE RETURN OF THE KING)&lt;br /&gt;
&lt;br /&gt;
==Table==&lt;br /&gt;
The game contains a table to store all of its characters. The table's location for each region is as follows.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{address|0x|75A68||0xA0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Credits&amp;diff=27469</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Credits&amp;diff=27469"/>
				<updated>2017-12-25T02:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wishes==&lt;br /&gt;
* {{address|0x|742E1|74303|34}} = Pointers for wishes. Comes in pairs of two in little endian. 16 screens and 17 pointers. The spare pointer serves to mark the end.&lt;br /&gt;
&lt;br /&gt;
 {{red|00 00 }}{{blue|3C 00 }}{{green|68 00 }}{{hex|AA 00 }}{{hex|E8 00 28 01 5B 01 98 01}}&lt;br /&gt;
 {{hex|CF 01 07 02 42 02 7D 02 B0 02 EA 02 22 03 52 03}} &lt;br /&gt;
 {{hex|95 03}}&lt;br /&gt;
&lt;br /&gt;
* {{red|00 00}} = First screen (Return of the King)&lt;br /&gt;
* {{blue|3C 00}} = Second screen (Sanctuary)&lt;br /&gt;
* {{green|68 00}} = Third screen (Village)&lt;br /&gt;
&lt;br /&gt;
Basically the data for the pointers to the screens are:&lt;br /&gt;
* {{0x|73F4C}} + {{hex|00}} → {{0x|73F4C}} + {{hex|3C}} - {{hex|1}}&lt;br /&gt;
* {{0x|73F4C}} + {{hex|3C}} → {{0x|73F4C}} + {{hex|68}} - {{hex|1}}&lt;br /&gt;
* And so forth.&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
To parse the ending credits data (scrolling credits), I'll take this one as an example:&lt;br /&gt;
&lt;br /&gt;
* {{0x|7317A}} = {{hex|EXECUTIVE PRODUCER}}&lt;br /&gt;
&lt;br /&gt;
 {{0x|73170}} - {{hex|XX XX XX XX XX XX XX XX }}{{red|07 }}{{blue|23 }}{{green|3C 4F 3C 3A 4C 4B}}&lt;br /&gt;
 {{0x|73180}} - {{green|40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49 FF }}{{hex|XX XX XX}}&lt;br /&gt;
&lt;br /&gt;
* {{red|07}} = start from the 7th tile from the left of the screen (Note scrolling credits have no vertical position, and return of the king section have them hardcoded)&lt;br /&gt;
* {{blue|23}} = ({{$|23 + }}{{$|1}}) / {{$|2}} = {{$|12}} bytes to read&lt;br /&gt;
* Then read {{$|12}} bytes - {{hex|3C 4F 3C 3A 4C 4B 40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49}}&lt;br /&gt;
&lt;br /&gt;
For each 12 bytes look up the table definition and draw the character on screen at the position.&lt;br /&gt;
&lt;br /&gt;
Now to pointers to the data.&lt;br /&gt;
&lt;br /&gt;
Pointers start at {{0x|7393D}}&lt;br /&gt;
&lt;br /&gt;
Data around there is as follows:&lt;br /&gt;
 {{hex|94 91 9B 97 8D 8B 9F 9B 83 8F 83 86 83 }}{{red|00 00 }}{{hex|14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 15 00 27 00 14 00 14 00 14 00 14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 14 00 14 00 39 00 14 00 14 00 14}}&lt;br /&gt;
&lt;br /&gt;
That {{red|00 00}}, is a relative position to {{0x|73178}}, funnily enough, the next value is {{hex|14 00}}, which points straight to the {{$|FF}}! {{$|FF}} is a special placeholder to show a blank line (as the game's engine does)&lt;br /&gt;
&lt;br /&gt;
In other words from the above&lt;br /&gt;
&lt;br /&gt;
 {{hex|00 00}} = EXECUTIVE PRODUCER&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|15 00}} = NAME FIRST LINE&lt;br /&gt;
 {{hex|27 00}} = NAME SECOND LINE&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|39 00}} = NEXT LABEL (forgot what it is)&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|...}}&lt;br /&gt;
&lt;br /&gt;
This continues until the last pointer at {{0x|73C4F}}, so the data ends at {{0x|73C50}} ({{0x|73C51}} has assembly!) -- you'll notice that the lines with the death counts have the place names written this way but not the actual number. That bit is hardcoded.&lt;br /&gt;
&lt;br /&gt;
So the next thing is what about the RETURN OF THE KING data? (puns) There's 4 byte control code rather than two in the credits area.&lt;br /&gt;
&lt;br /&gt;
For the line THE RETURN OF THE KING, the data actually starts 4 bytes before {{0x|73F50}} at {{0x|73F4C}}&lt;br /&gt;
@{{0x|73F40}}&lt;br /&gt;
 {{hex|30 A9 FF 9D 02 10 A9 01 85 14 AB 60 62 65 00 2B}}&lt;br /&gt;
 {{hex|2D 21 1E 9F 2B 1E 2D 2E 2B 27 9F 28 1F 9F 2D 21}}&lt;br /&gt;
 {{hex|1E 9F 24 22 27 20 62 E9 00 19 64 75 6E 71 68 61}}&lt;br /&gt;
&lt;br /&gt;
 {{hex|62 65 00 2B}}&lt;br /&gt;
 {{hex|62 E9 00 19}}&lt;br /&gt;
 {{hex|63 09 00 19}}&lt;br /&gt;
 {{hex|62 EB 00 11}}&lt;br /&gt;
 {{hex|63 0B 00 11}}&lt;br /&gt;
&lt;br /&gt;
First + second byte are related to the position of the data (16 bytes BIG endian) - to actually control the starting location of the text, you would subtract 2ONE for every tile you want to move left ({{hex|62 64}}), and add 2ONE if you want to move it right ({{hex|62 66}}). I could go into SNES screen positioning tutorial but that would just bore you, but I can assure this this goes straight into a DMA RAM area to the GPU.&lt;br /&gt;
* 3rd byte is always - {{hex|00}} (the code ANDs them out anyway lol)&lt;br /&gt;
* 4th byte - length - formula is {{hex|(value + 1) / 2}} in terms of text to read after that byte just like the above. So the first line we would read {{$|16}} bytes (THE RETURN OF THE KING)&lt;br /&gt;
&lt;br /&gt;
==Table==&lt;br /&gt;
The game contains a table to store all of its characters. The table's location for each region is as follows.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{address|0x|75A68||0xA0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Credits&amp;diff=27468</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Credits&amp;diff=27468"/>
				<updated>2017-12-25T02:14:57Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wishes==&lt;br /&gt;
* {{address|0x|742E1|74303|34}} = Pointers for wishes. Comes in pairs of two in little endian. 16 screens and 17 pointers. The spare pointer serves to mark the end.&lt;br /&gt;
&lt;br /&gt;
 {{red|00 00 }}{{blue|3C 00 }}{{green|68 00 }}{{hex|AA 00 }}{{hex|E8 00 28 01 5B 01 98 01}}&lt;br /&gt;
 {{hex|CF 01 07 02 42 02 7D 02 B0 02 EA 02 22 03 52 03}} &lt;br /&gt;
 {{hex|95 03}}&lt;br /&gt;
&lt;br /&gt;
* {{red|00 00}} = First screen (Return of the King)&lt;br /&gt;
* {{blue|3C 00}} = Second screen (Sanctuary)&lt;br /&gt;
* {{green|68 00}} = Third screen (Village)&lt;br /&gt;
&lt;br /&gt;
Basically the data for the pointers to the screens are:&lt;br /&gt;
* {{0x|73F4C}} + {{hex|00}} → {{0x|73F4C}} + {{hex|3C}} - {{hex|1}}&lt;br /&gt;
* {{0x|73F4C}} + {{hex|3C}} → {{0x|73F4C}} + {{hex|68}} - {{hex|1}}&lt;br /&gt;
* And so forth.&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
To parse the ending credits data (scrolling credits), I'll take this one as an example:&lt;br /&gt;
&lt;br /&gt;
* {{0x|7317A}} = {{hex|EXECUTIVE PRODUCER}}&lt;br /&gt;
&lt;br /&gt;
 {{0x|73170}} - {{hex|XX XX XX XX XX XX XX XX }}{{red|07 }}{{blue|23 }}{{green|3C 4F 3C 3A 4C 4B}}&lt;br /&gt;
 {{0x|73180}} - {{green|40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49 FF }}{{hex|XX XX XX}}&lt;br /&gt;
&lt;br /&gt;
* {{red|07}} = start from the 7th tile from the left of the screen (Note scrolling credits have no vertical position, and return of the king section have them hardcoded)&lt;br /&gt;
* {{blue|23}} = ({{$|23 + }}{{$|1}}) / {{$|2}} = {{$|12}} bytes to read&lt;br /&gt;
* Then read {{$|12}} bytes - {{hex|3C 4F 3C 3A 4C 4B 40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49}}&lt;br /&gt;
&lt;br /&gt;
For each 12 bytes look up the table definition and draw the character on screen at the position.&lt;br /&gt;
&lt;br /&gt;
Now to pointers to the data.&lt;br /&gt;
&lt;br /&gt;
Pointers start at {{0x|7393D}}&lt;br /&gt;
&lt;br /&gt;
Data around there is as follows:&lt;br /&gt;
 {{hex|94 91 9B 97 8D 8B 9F 9B 83 8F 83 86 83 }}{{red|00 00 }}{{hex|14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 15 00 27 00 14 00 14 00 14 00 14}}&lt;br /&gt;
 {{hex|00 14 00 14 00 14 00 14 00 39 00 14 00 14 00 14}}&lt;br /&gt;
&lt;br /&gt;
That {{red|00 00}}, is a relative position to {{0x|73178}}, funnily enough, the next value is {{hex|14 00}}, which points straight to the {{$|FF}}! {{$|FF}} is a special placeholder to show a blank line (as the game's engine does)&lt;br /&gt;
&lt;br /&gt;
In other words from the above&lt;br /&gt;
&lt;br /&gt;
 {{hex|00 00}} = EXECUTIVE PRODUCER&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|15 00}} = NAME FIRST LINE&lt;br /&gt;
 {{hex|27 00}} = NAME SECOND LINE&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|39 00}} = NEXT LABEL (forgot what it is)&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|...}}&lt;br /&gt;
&lt;br /&gt;
This continues until the last pointer at {{0x|73C4F}}, so the data ends at {{0x|73C50}} ({{0x|73C51}} has assembly!) -- you'll notice that the lines with the death counts have the place names written this way but not the actual number. That bit is hardcoded.&lt;br /&gt;
&lt;br /&gt;
So the next thing is what about the RETURN OF THE KING data? (puns) There's 4 byte control code rather than two in the credits area.&lt;br /&gt;
&lt;br /&gt;
For the line THE RETURN OF THE KING, the data actually starts 4 bytes before {{0x|73F50}} at {{0x|73F4C}}&lt;br /&gt;
@{{0x|73F40}}&lt;br /&gt;
 {{hex|30 A9 FF 9D 02 10 A9 01 85 14 AB 60 62 65 00 2B}}&lt;br /&gt;
 {{hex|2D 21 1E 9F 2B 1E 2D 2E 2B 27 9F 28 1F 9F 2D 21}}&lt;br /&gt;
 {{hex|1E 9F 24 22 27 20 62 E9 00 19 64 75 6E 71 68 61}}&lt;br /&gt;
&lt;br /&gt;
 {{hex|62 65 00 2B}}&lt;br /&gt;
 {{hex|62 E9 00 19}}&lt;br /&gt;
 {{hex|63 09 00 19}}&lt;br /&gt;
 {{hex|62 EB 00 11}}&lt;br /&gt;
 {{hex|63 0B 00 11}}&lt;br /&gt;
&lt;br /&gt;
First + second byte are related to the position of the data (16 bytes BIG endian) - to actually control the starting location of the text, you would subtract 2ONE for every tile you want to move left ({{hex|62 64}}), and add 2ONE if you want to move it right ({{hex|62 66}}). I could go into SNES screen positioning tutorial but that would just bore you, but I can assure this this goes straight into a DMA RAM area to the GPU.&lt;br /&gt;
* 3rd byte is always - {{hex|00}} (the code ANDs them out anyway lol)&lt;br /&gt;
* 4th byte - length - formula is {{hex|(value + 1) / 2}} in terms of text to read after that byte just like the above. So the first line we would read {{$|16}} bytes (THE RETURN OF THE KING)&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Template:Toc&amp;diff=27467</id>
		<title>Template:Toc</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Template:Toc&amp;diff=27467"/>
				<updated>2017-12-24T23:45:41Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;==Navigate==&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
! [[Template:Toc|Table of Contents]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;[[Sprites]] {{*}} [[Dungeons]] {{*}} [[Overworld]] {{*}} [[Underworld]] {{*}} [[SRAM Map]] {{*}} [[RAM|RAM Map]] {{*}} [[ROM|ROM Map]] {{*}} [[Music]] {{*}} [[Monologue]] {{*}} [[Credits]] {{*}}  [[Dumps]] {{*}} [[Miscellaneous]] {{*}}  [[To-Do/Suggestions]]&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Toc}}[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Credits&amp;diff=27466</id>
		<title>Credits</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Credits&amp;diff=27466"/>
				<updated>2017-12-24T23:44:40Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: Created page with &amp;quot;==Wishes== * {{address|0x|742E1|74303|34}} = Pointers for wishes. Comes in pairs of two in little endian. 16 screens and 17 pointers. The spare pointer serves to mark the end....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Wishes==&lt;br /&gt;
* {{address|0x|742E1|74303|34}} = Pointers for wishes. Comes in pairs of two in little endian. 16 screens and 17 pointers. The spare pointer serves to mark the end.&lt;br /&gt;
&lt;br /&gt;
 {{red|00 00 }}{{blue|3C 00 }}{{green|68 00 }}{{hex|AA 00 }}{{hex|E8 00 28 01 5B 01 98 01}}&lt;br /&gt;
 {{hex|CF 01 07 02 42 02 7D 02 B0 02 EA 02 22 03 52 03}} &lt;br /&gt;
 {{hex|95 03}}&lt;br /&gt;
&lt;br /&gt;
* {{red|00 00}} = First screen (Return of the King)&lt;br /&gt;
* {{blue|3C 00}} = Second screen (Sanctuary)&lt;br /&gt;
* {{green|68 00}} = Third screen (Village)&lt;br /&gt;
&lt;br /&gt;
Basically the data for the pointers to the screens are:&lt;br /&gt;
* {{0x|73F4C}} + {{hex|00}} → {{0x|73F4C}} + {{hex|3C}} - {{hex|1}}&lt;br /&gt;
* {{0x|73F4C}} + {{hex|3C}} → {{0x|73F4C}} + {{hex|68}} - {{hex|1}}&lt;br /&gt;
* And so forth.&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
To parse the ending credits data (scrolling credits), I'll take this one as an example:&lt;br /&gt;
&lt;br /&gt;
* {{0x|7317A}} = {{hex|EXECUTIVE PRODUCER}}&lt;br /&gt;
&lt;br /&gt;
 {{0x|73170}} - {{hex|XX XX XX XX XX XX XX XX }}{{red|07 }}{{blue|23 }}{{green|3C 4F 3C 3A 4C 4B}}&lt;br /&gt;
 {{0x|73180}} - {{green|40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49 FF }}{{hex|XX XX XX}}&lt;br /&gt;
&lt;br /&gt;
* {{red|07}} = start from the 7th tile from the left of the screen (Note scrolling credits have no vertical position, and return of the king section have them hardcoded)&lt;br /&gt;
* {{blue|23}} = ({{$|23 + }}{{$|1}}) / {{$|2}} = {{$|12}} bytes to read&lt;br /&gt;
* Then read {{$|12}} bytes - {{hex|3C 4F 3C 3A 4C 4B 40 4D 3C 9F 47 49 46 3B 4C 3A 3C 49}}&lt;br /&gt;
&lt;br /&gt;
For each 12 bytes look up the table definition and draw the character on screen at the position.&lt;br /&gt;
&lt;br /&gt;
Now to pointers to the data.&lt;br /&gt;
&lt;br /&gt;
Pointers start at {{0x|7393D}}&lt;br /&gt;
&lt;br /&gt;
Data around there is as follows:&lt;br /&gt;
{{hex|94 91 9B 97 8D 8B 9F 9B 83 8F 83 86 83 }}{{red|00 00 }}{{hex|14}}&lt;br /&gt;
{{hex|00 14 00 14 00 15 00 27 00 14 00 14 00 14 00 14}}&lt;br /&gt;
{{hex|00 14 00 14 00 14 00 14 00 39 00 14 00 14 00 14}}&lt;br /&gt;
&lt;br /&gt;
That {{red|00 00}}, is a relative position to {{0x|73178}}, funnily enough, the next value is {{hex|14 00}}, which points straight to the {{$|FF}}! {{$|FF}} is a special placeholder to show a blank line (as the game's engine does)&lt;br /&gt;
&lt;br /&gt;
In other words from the above&lt;br /&gt;
&lt;br /&gt;
 {{hex|00 00}} = EXECUTIVE PRODUCER&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|15 00}} = NAME FIRST LINE&lt;br /&gt;
 {{hex|27 00}} = NAME SECOND LINE&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|39 00}} = NEXT LABEL (forgot what it is)&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|14 00}} = BLANK&lt;br /&gt;
 {{hex|...}}&lt;br /&gt;
&lt;br /&gt;
This continues until the last pointer at {{0x|73C4F}}, so the data ends at {{0x|73C50}} ({{0x|73C51}} has assembly!) -- you'll notice that the lines with the death counts have the place names written this way but not the actual number. That bit is hardcoded.&lt;br /&gt;
&lt;br /&gt;
So the next thing is what about the RETURN OF THE KING data? (puns) There's 4 byte control code rather than two in the credits area.&lt;br /&gt;
&lt;br /&gt;
For the line THE RETURN OF THE KING, the data actually starts 4 bytes before {{0x|73F50}} at {{0x|73F4C}}&lt;br /&gt;
@{{0x|73F40}}&lt;br /&gt;
 {{hex|30 A9 FF 9D 02 10 A9 01 85 14 AB 60 62 65 00 2B}}&lt;br /&gt;
 {{hex|2D 21 1E 9F 2B 1E 2D 2E 2B 27 9F 28 1F 9F 2D 21}}&lt;br /&gt;
 {{hex|1E 9F 24 22 27 20 62 E9 00 19 64 75 6E 71 68 61}}&lt;br /&gt;
&lt;br /&gt;
 {{hex|62 65 00 2B}}&lt;br /&gt;
 {{hex|62 E9 00 19}}&lt;br /&gt;
 {{hex|63 09 00 19}}&lt;br /&gt;
 {{hex|62 EB 00 11}}&lt;br /&gt;
 {{hex|63 0B 00 11}}&lt;br /&gt;
&lt;br /&gt;
First + second byte are related to the position of the data (16 bytes BIG endian) - to actually control the starting location of the text, you would subtract 2ONE for every tile you want to move left ({{hex|62 64}}), and add 2ONE if you want to move it right ({{hex|62 66}}). I could go into SNES screen positioning tutorial but that would just bore you, but I can assure this this goes straight into a DMA RAM area to the GPU.&lt;br /&gt;
* 3rd byte is always - {{hex|00}} (the code ANDs them out anyway lol)&lt;br /&gt;
* 4th byte - length - formula is {{hex|(value + 1) / 2}} in terms of text to read after that byte just like the above. So the first line we would read {{$|16}} bytes (THE RETURN OF THE KING)&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Template:Toc&amp;diff=27465</id>
		<title>Template:Toc</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Template:Toc&amp;diff=27465"/>
				<updated>2017-12-24T23:33:46Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;==Navigate==&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
! [[Template:Toc|Table of Contents]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;[[Sprites]] {{*}} [[Dungeons]] {{*}} [[Overworld]] {{*}} [[Underworld]] {{*}} [[SRAM Map]] {{*}} [[RAM|RAM Map]] {{*}} [[ROM|ROM Map]] {{*}} [[Music]] {{*}} [[Monologue]] {{*}}  [[Dumps]] {{*}} [[Miscellaneous]] {{*}}  [[To-Do/Suggestions]]&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Toc}}[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Main_Page&amp;diff=27464</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Main_Page&amp;diff=27464"/>
				<updated>2017-12-24T23:33:27Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a wiki dedicated to documenting ''The Legend of Zelda - A Link to the Past''.&lt;br /&gt;
&lt;br /&gt;
[https://discordapp.com/invite/jP5csBn Join the chat!]&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Template:Toc&amp;diff=27463</id>
		<title>Template:Toc</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Template:Toc&amp;diff=27463"/>
				<updated>2017-12-24T23:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
==Navigate==&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
! [[Template:Toc|Table of Contents]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;center&amp;gt;[[Sprites]] {{*}} [[Dungeons]] {{*}} [[Overworld]] {{*}} [[Underworld]] {{*}} [[SRAM Map]] {{*}} [[RAM|RAM Map]] {{*}} [[ROM|ROM Map]] {{*}} [[Music]] {{*}} [[Monologue]] {{*}}  [[Dumps]] {{*}} [[Miscellaneous]] {{*}}  [[To-Do/Suggestions]]&amp;lt;/center&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Toc}}[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27462</id>
		<title>Underworld:Important Hex Addresses/Object Data</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27462"/>
				<updated>2017-12-24T00:21:11Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Subtype 3 Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld:Important Hex Addresses#Object_Data}}&lt;br /&gt;
==Data location==&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&lt;br /&gt;
==Byte layout==&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
===Type 1 Object structure: (3 bytes)===&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
====Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes====&lt;br /&gt;
* Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
* Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
**The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
====Subtype 3 Objects====&lt;br /&gt;
*Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
*The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
*Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
*Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
===Type 2 Object Structure: (2 bytes)===&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27461</id>
		<title>Underworld:Important Hex Addresses/Object Data</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27461"/>
				<updated>2017-12-24T00:20:49Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld:Important Hex Addresses#Object_Data}}&lt;br /&gt;
==Data location==&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&lt;br /&gt;
==Byte layout==&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
===Type 1 Object structure: (3 bytes)===&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
====Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes====&lt;br /&gt;
* Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
* Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
**The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
====Subtype 3 Objects====&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
===Type 2 Object Structure: (2 bytes)===&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27460</id>
		<title>Underworld:Important Hex Addresses/Object Data</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27460"/>
				<updated>2017-12-24T00:19:58Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld:Important Hex Addresses#Object_Data}}&lt;br /&gt;
==Data location==&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&lt;br /&gt;
==Byte layout==&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
===Type 1 Object structure: (3 bytes)===&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
====Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes====&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
====Subtype 3 Objects====&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
===Type 2 Object Structure: (2 bytes)===&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27459</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27459"/>
				<updated>2017-12-24T00:18:38Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Object Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
{{box|[[Underworld:Important Hex Addresses/Object Data|Object data]]}}&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
The block data has three primary pointer locations. The pointer is stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15AFA}}, {{0x|15B01}}, {{0x|15B08}}, {{0x|15B0F}} &lt;br /&gt;
|{{0x|1585E}}, {{0x|15865}}, {{0x|1586C}}, {{0x|15873}}&lt;br /&gt;
|{{0x|15B7C}}, {{0x|15B83}}, {{0x|15B8A}}, {{0x|15B91}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The data has a total max in little endian at:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Total max location&lt;br /&gt;
!USA&lt;br /&gt;
|-&lt;br /&gt;
|{{Address|0x|8896||2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data is located at {{$|0271DE}} to {{$|027369}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{0x|2736A}} to {{0x|27489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27458</id>
		<title>Underworld:Important Hex Addresses/Object Data</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses/Object_Data&amp;diff=27458"/>
				<updated>2017-12-24T00:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: Created page with &amp;quot;{{subpage|Underworld:Important Hex Addresses}} ==Data location== * {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID. * {{$|01EBA0}} to {...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld:Important Hex Addresses}}&lt;br /&gt;
==Data location==&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&lt;br /&gt;
==Byte layout==&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
===Type 1 Object structure: (3 bytes)===&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
====Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes====&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
====Subtype 3 Objects====&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
===Type 2 Object Structure: (2 bytes)===&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27457</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27457"/>
				<updated>2017-12-24T00:14:35Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Type 2 Object Structure: (2 bytes) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
====Data location====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&lt;br /&gt;
====Byte layout====&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
=====Type 1 Object structure: (3 bytes)=====&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
======Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes======&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
======Subtype 3 Objects======&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
=====Type 2 Object Structure: (2 bytes)=====&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
The block data has three primary pointer locations. The pointer is stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15AFA}}, {{0x|15B01}}, {{0x|15B08}}, {{0x|15B0F}} &lt;br /&gt;
|{{0x|1585E}}, {{0x|15865}}, {{0x|1586C}}, {{0x|15873}}&lt;br /&gt;
|{{0x|15B7C}}, {{0x|15B83}}, {{0x|15B8A}}, {{0x|15B91}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The data has a total max in little endian at:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Total max location&lt;br /&gt;
!USA&lt;br /&gt;
|-&lt;br /&gt;
|{{Address|0x|8896||2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data is located at {{$|0271DE}} to {{$|027369}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{0x|2736A}} to {{0x|27489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27456</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27456"/>
				<updated>2017-12-24T00:14:12Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Object Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
====Data location====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&lt;br /&gt;
====Byte layout====&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
=====Type 1 Object structure: (3 bytes)=====&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
======Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes======&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
======Subtype 3 Objects======&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
=====Type 2 Object Structure: (2 bytes)=====&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
The block data has three primary pointer locations. The pointer is stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15AFA}}, {{0x|15B01}}, {{0x|15B08}}, {{0x|15B0F}} &lt;br /&gt;
|{{0x|1585E}}, {{0x|15865}}, {{0x|1586C}}, {{0x|15873}}&lt;br /&gt;
|{{0x|15B7C}}, {{0x|15B83}}, {{0x|15B8A}}, {{0x|15B91}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The data has a total max in little endian at:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Total max location&lt;br /&gt;
!USA&lt;br /&gt;
|-&lt;br /&gt;
|{{Address|0x|8896||2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data is located at {{$|0271DE}} to {{$|027369}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{0x|2736A}} to {{0x|27489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27455</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27455"/>
				<updated>2017-12-23T23:34:09Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Push Block Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
The block data has three primary pointer locations. The pointer is stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15AFA}}, {{0x|15B01}}, {{0x|15B08}}, {{0x|15B0F}} &lt;br /&gt;
|{{0x|1585E}}, {{0x|15865}}, {{0x|1586C}}, {{0x|15873}}&lt;br /&gt;
|{{0x|15B7C}}, {{0x|15B83}}, {{0x|15B8A}}, {{0x|15B91}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The data has a total max in little endian at:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Total max location&lt;br /&gt;
!USA&lt;br /&gt;
|-&lt;br /&gt;
|{{Address|0x|8896||2}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data is located at {{$|0271DE}} to {{$|027369}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{0x|2736A}} to {{0x|27489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27454</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27454"/>
				<updated>2017-12-23T23:25:34Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Chest Contents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{0x|2736A}} to {{0x|27489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27453</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27453"/>
				<updated>2017-12-23T23:25:03Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{0x|2736A}} to {{0x|27489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!GER&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=27452</id>
		<title>Overworld Areas</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=27452"/>
				<updated>2017-12-23T23:22:37Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Special Areas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Overworld}}&lt;br /&gt;
&lt;br /&gt;
{{see|Standard Notation}}&lt;br /&gt;
&lt;br /&gt;
Outdoor areas (also known as the Overworld) come in two flavors: Normal and special. Normal outdoor areas (the Light world and the Dark world) are mirrored 8{{x}}8 grids of 512{{x}}512-pixel cells for a total of 64 cells and a 4096{{x}}4096-pixel area in size. Normal outdoor grid cells can be quadruple in size (1024{{x}}1024 pixels), in which case their indices represent their top-left quadrants and the indices for the other three quadrants they occupy do not occur. Special outdoor areas (such as Zora's Domain) are separate individual mini-areas on their own.&lt;br /&gt;
&lt;br /&gt;
== Area Index ==&lt;br /&gt;
&lt;br /&gt;
In WRAM, there is a byte which indicates whether or not the player is currently in an indoor or outdoor area, and when the player is in an outdoor area, there is a word which contains the index of the outdoor area the player is currently in.&lt;br /&gt;
&lt;br /&gt;
;{{$|7E001B}}[{{$|1}}]&lt;br /&gt;
: 0 while player is outside&lt;br /&gt;
: 1 while player is inside&lt;br /&gt;
&lt;br /&gt;
;{{$|7E008A}}[{{$|2}}]&lt;br /&gt;
: the current area index while player is outside&lt;br /&gt;
: invalid while player is inside&lt;br /&gt;
&lt;br /&gt;
== Player Coordinates ==&lt;br /&gt;
&lt;br /&gt;
''See also: [[Player Position]]''&lt;br /&gt;
&lt;br /&gt;
Let A be the current area index, (Px,Py) be the current absolute player coordinates, and (Lx,Ly) be the local coordinates of the player within the current area.&lt;br /&gt;
&lt;br /&gt;
When the player is in the Light world (area index {{$|00}}..{{$|3F}}), the player's coordinates originate at the top-left corner of area {{$|00}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( A % 8 ) * 512&lt;br /&gt;
Ly = Py - ( A / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in the Dark world (area index {{$|40}}..{{$|7F}}), the player's coordinates originate at the top-left corner of area {{$|40}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( ( A - $40 ) % 8 ) * 512&lt;br /&gt;
Ly = Py - ( ( A - $40 ) / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in a special area (area index {{$|80}} and up), the player's coordinates originate at the top-left corner of the current special area. There are two special areas: {{$|80}} combines the Master Sword area and the area under the bridge east of the player's house, and {{$|81}} is Zora's Domain. Local coordinates within the Master Sword area and within Zora's Domain are equal to the absolute coordinates. The player is in the area under the bridge when their X coordinate is 256 or greater, and their local X coordinate is simply their absolute X coordinate minus 256.&lt;br /&gt;
&lt;br /&gt;
== The Light World and the Dark World ==&lt;br /&gt;
&lt;br /&gt;
The Light world and Dark world mirror each other: Any area index in the Light world refers to an area index in the Dark world of the same size and at the same location, except the Dark world index is increased by {{$|40}}. The following table lists the areas of both worlds by their Light world name for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
! Index (Light World)&lt;br /&gt;
! Index (Dark World)&lt;br /&gt;
! Size (a{{x}}a)&lt;br /&gt;
! Description (for Light World)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|00}} (0)&lt;br /&gt;
|{{$|40}} (64)&lt;br /&gt;
|1024&lt;br /&gt;
|Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|02}} (2)&lt;br /&gt;
|{{$|42}} (66)&lt;br /&gt;
|512&lt;br /&gt;
|Lumberjacks&lt;br /&gt;
|-&lt;br /&gt;
|{{$|03}} (3)&lt;br /&gt;
|{{$|43}} (67)&lt;br /&gt;
|1024&lt;br /&gt;
|Western Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|05}} (5)&lt;br /&gt;
|{{$|45}} (69)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|07}} (7)&lt;br /&gt;
|{{$|47}} (71)&lt;br /&gt;
|512&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0A}} (10)&lt;br /&gt;
|{{$|4A}} (74)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0F}} (15)&lt;br /&gt;
|{{$|4F}} (79)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Zora's Domain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|10}} (16)&lt;br /&gt;
|{{$|50}} (80)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Kakariko Village and Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|11}} (17)&lt;br /&gt;
|{{$|51}} (81)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Fortune Teller&lt;br /&gt;
|-&lt;br /&gt;
|{{$|12}} (18)&lt;br /&gt;
|{{$|52}} (82)&lt;br /&gt;
|512&lt;br /&gt;
|Pond Between Kakariko Village Fortune Teller and Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|13}} (19)&lt;br /&gt;
|{{$|53}} (83)&lt;br /&gt;
|512&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|14}} (20)&lt;br /&gt;
|{{$|54}} (84)&lt;br /&gt;
|512&lt;br /&gt;
|Graveyard&lt;br /&gt;
|-&lt;br /&gt;
|{{$|15}} (21)&lt;br /&gt;
|{{$|55}} (85)&lt;br /&gt;
|512&lt;br /&gt;
|River Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|16}} (22)&lt;br /&gt;
|{{$|56}} (86)&lt;br /&gt;
|512&lt;br /&gt;
|Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|17}} (23)&lt;br /&gt;
|{{$|57}} (87)&lt;br /&gt;
|512&lt;br /&gt;
|East of Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|18}} (24)&lt;br /&gt;
|{{$|58}} (88)&lt;br /&gt;
|1024&lt;br /&gt;
|Kakariko Village&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1A}} (26)&lt;br /&gt;
|{{$|5A}} (90)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Kakariko Village and Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1B}} (27)&lt;br /&gt;
|{{$|5B}} (91)&lt;br /&gt;
|1024&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1D}} (29)&lt;br /&gt;
|{{$|5D}} (93)&lt;br /&gt;
|512&lt;br /&gt;
|Bridge Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1E}} (30)&lt;br /&gt;
|{{$|5E}} (94)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|{{$|22}} (34)&lt;br /&gt;
|{{$|62}} (98)&lt;br /&gt;
|512&lt;br /&gt;
|Smithy&lt;br /&gt;
|-&lt;br /&gt;
|{{$|25}} (37)&lt;br /&gt;
|{{$|65}} (101)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (top)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|28}} (40)&lt;br /&gt;
|{{$|68}} (104)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Maze Race&lt;br /&gt;
|-&lt;br /&gt;
|{{$|29}} (41)&lt;br /&gt;
|{{$|69}} (105)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Library&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2A}} (42)&lt;br /&gt;
|{{$|6A}} (106)&lt;br /&gt;
|512&lt;br /&gt;
|Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2B}} (43)&lt;br /&gt;
|{{$|6B}} (107)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Haunted Grove and Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2C}} (44)&lt;br /&gt;
|{{$|6C}} (108)&lt;br /&gt;
|512&lt;br /&gt;
|Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2D}} (45)&lt;br /&gt;
|{{$|6D}} (109)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (bottom)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2E}} (46)&lt;br /&gt;
|{{$|6E}} (110)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (left)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2F}} (47)&lt;br /&gt;
|{{$|6F}} (111)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (right)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|30}} (48)&lt;br /&gt;
|{{$|70}} (112)&lt;br /&gt;
|1024&lt;br /&gt;
|Desert of Mystery&lt;br /&gt;
|-&lt;br /&gt;
|{{$|32}} (50)&lt;br /&gt;
|{{$|72}} (114)&lt;br /&gt;
|512&lt;br /&gt;
|South of Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|33}} (51)&lt;br /&gt;
|{{$|73}} (115)&lt;br /&gt;
|512&lt;br /&gt;
|Northwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|34}} (52)&lt;br /&gt;
|{{$|74}} (116)&lt;br /&gt;
|512&lt;br /&gt;
|Northeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|35}} (53)&lt;br /&gt;
|{{$|75}} (117)&lt;br /&gt;
|1024&lt;br /&gt;
|Lake Hylia&lt;br /&gt;
|-&lt;br /&gt;
|{{$|37}} (55)&lt;br /&gt;
|{{$|77}} (119)&lt;br /&gt;
|512&lt;br /&gt;
|Ice Cave&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3A}} (58)&lt;br /&gt;
|{{$|7A}} (122)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Desert of Mystery and Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3B}} (59)&lt;br /&gt;
|{{$|7B}} (123)&lt;br /&gt;
|512&lt;br /&gt;
|Southwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3C}} (60)&lt;br /&gt;
|{{$|7C}} (124)&lt;br /&gt;
|512&lt;br /&gt;
|Southeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3F}} (63)&lt;br /&gt;
|{{$|7F}} (127)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Lake Hylia and Ice Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Special Areas ==&lt;br /&gt;
&lt;br /&gt;
;{{$|80}} ― 512{{x}}512&lt;br /&gt;
: Master Sword area ― (0, 0) to (255, 511)&lt;br /&gt;
: Area under the bridge ― (256, 0) to (511, 255)&lt;br /&gt;
&lt;br /&gt;
;{{$|81}} ― 512{{x}}512&lt;br /&gt;
: Zora's Domain&lt;br /&gt;
&lt;br /&gt;
==How maps are stored==&lt;br /&gt;
===Compression===&lt;br /&gt;
The background is composed of 32{{x}}32 blocks and are LZ1 compressed.&lt;br /&gt;
&lt;br /&gt;
===Map32 to Map16 Conversion Values===&lt;br /&gt;
* {{0x|18000|1B3FE|3FE}} = Upper leftcorners (end with {{$|FF}} at {{0x|1B3FF}})&lt;br /&gt;
* {{0x|1B400|1E7FE|3FE}} = Upper right corners (end with {{$|FF}} at {{0x|1E7FF}})&lt;br /&gt;
* {{0x|20000|233FE|3FE}} = Lower leftcorners (end with {{$|FF}} at {{0x|233FF}})&lt;br /&gt;
* {{0x|23400|267EE|3FE}} = Lower right corners (end with {{$|FF}} at {{0x|267EF}})&lt;br /&gt;
 &lt;br /&gt;
{{note|1=Theses value come in pack of {{blue|4 bytes}}, followed by {{green|2 bytes}}. The {{green|2 bytes}} are 4 nibble value that are the extension of the {{blue|4 first}}}}&lt;br /&gt;
&lt;br /&gt;
{{example|1=You have theses bytes:&lt;br /&gt;
&lt;br /&gt;
{{blue|05 06 07 08 }}{{green|30 1A}}&lt;br /&gt;
&lt;br /&gt;
* {{blue|05}} become {{$|305}}&lt;br /&gt;
* {{blue|06}} stays {{$|06}}&lt;br /&gt;
* {{blue|07}} become {{$|107}}&lt;br /&gt;
* {{blue|08}} become {{$|A08}}}}&lt;br /&gt;
&lt;br /&gt;
==Map8 to Map16 Conversion Values==&lt;br /&gt;
* {{0x|78000|?????|470?}} = Map8 to Map16 conversion values (8 bytes per tile16), 2 byte each tile8&lt;br /&gt;
* {{red|v}}{{orange|h}}{{green|o}}{{blue|ppp}}{{purple|cc cccccccc}}&lt;br /&gt;
** {{red|v}} = mirror vertical&lt;br /&gt;
** {{orange|h}} = mirror horizontal&lt;br /&gt;
** {{green|o}} = ???&lt;br /&gt;
** {{blue|p}} = priority tile&lt;br /&gt;
** {{purple|c}} = tile index&lt;br /&gt;
&lt;br /&gt;
==Map Size==&lt;br /&gt;
* {{0x|12844|12883}} = 1byte each map&lt;br /&gt;
** {{$|00}} = 512{{x}}512pixel map&lt;br /&gt;
** {{$|20}} = 1024{{x}}1024 pixel map&lt;br /&gt;
&lt;br /&gt;
==Compressed tile arragement==&lt;br /&gt;
* {{0x|1794D}} = LONGPointers all tiles of maps [High] (mapid3)&lt;br /&gt;
* {{0x|17B2D}} = LONGPointers all tiles of maps [Low](mapid3)&lt;br /&gt;
&lt;br /&gt;
{{Note|Data leading to is compressed using the LZ2 compression {{0x|05D97}}  tiles gfx to load the map (correspond to GFX# in HM) surprisingly overworld only use 32 to 47 LW, 48 to 63 DW, 4 bytes per gfx}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=27451</id>
		<title>Overworld Areas</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=27451"/>
				<updated>2017-12-23T23:22:06Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Map32 to Map16 Conversion Values */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Overworld}}&lt;br /&gt;
&lt;br /&gt;
{{see|Standard Notation}}&lt;br /&gt;
&lt;br /&gt;
Outdoor areas (also known as the Overworld) come in two flavors: Normal and special. Normal outdoor areas (the Light world and the Dark world) are mirrored 8{{x}}8 grids of 512{{x}}512-pixel cells for a total of 64 cells and a 4096{{x}}4096-pixel area in size. Normal outdoor grid cells can be quadruple in size (1024{{x}}1024 pixels), in which case their indices represent their top-left quadrants and the indices for the other three quadrants they occupy do not occur. Special outdoor areas (such as Zora's Domain) are separate individual mini-areas on their own.&lt;br /&gt;
&lt;br /&gt;
== Area Index ==&lt;br /&gt;
&lt;br /&gt;
In WRAM, there is a byte which indicates whether or not the player is currently in an indoor or outdoor area, and when the player is in an outdoor area, there is a word which contains the index of the outdoor area the player is currently in.&lt;br /&gt;
&lt;br /&gt;
;{{$|7E001B}}[{{$|1}}]&lt;br /&gt;
: 0 while player is outside&lt;br /&gt;
: 1 while player is inside&lt;br /&gt;
&lt;br /&gt;
;{{$|7E008A}}[{{$|2}}]&lt;br /&gt;
: the current area index while player is outside&lt;br /&gt;
: invalid while player is inside&lt;br /&gt;
&lt;br /&gt;
== Player Coordinates ==&lt;br /&gt;
&lt;br /&gt;
''See also: [[Player Position]]''&lt;br /&gt;
&lt;br /&gt;
Let A be the current area index, (Px,Py) be the current absolute player coordinates, and (Lx,Ly) be the local coordinates of the player within the current area.&lt;br /&gt;
&lt;br /&gt;
When the player is in the Light world (area index {{$|00}}..{{$|3F}}), the player's coordinates originate at the top-left corner of area {{$|00}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( A % 8 ) * 512&lt;br /&gt;
Ly = Py - ( A / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in the Dark world (area index {{$|40}}..{{$|7F}}), the player's coordinates originate at the top-left corner of area {{$|40}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( ( A - $40 ) % 8 ) * 512&lt;br /&gt;
Ly = Py - ( ( A - $40 ) / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in a special area (area index {{$|80}} and up), the player's coordinates originate at the top-left corner of the current special area. There are two special areas: {{$|80}} combines the Master Sword area and the area under the bridge east of the player's house, and {{$|81}} is Zora's Domain. Local coordinates within the Master Sword area and within Zora's Domain are equal to the absolute coordinates. The player is in the area under the bridge when their X coordinate is 256 or greater, and their local X coordinate is simply their absolute X coordinate minus 256.&lt;br /&gt;
&lt;br /&gt;
== The Light World and the Dark World ==&lt;br /&gt;
&lt;br /&gt;
The Light world and Dark world mirror each other: Any area index in the Light world refers to an area index in the Dark world of the same size and at the same location, except the Dark world index is increased by {{$|40}}. The following table lists the areas of both worlds by their Light world name for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
! Index (Light World)&lt;br /&gt;
! Index (Dark World)&lt;br /&gt;
! Size (a{{x}}a)&lt;br /&gt;
! Description (for Light World)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|00}} (0)&lt;br /&gt;
|{{$|40}} (64)&lt;br /&gt;
|1024&lt;br /&gt;
|Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|02}} (2)&lt;br /&gt;
|{{$|42}} (66)&lt;br /&gt;
|512&lt;br /&gt;
|Lumberjacks&lt;br /&gt;
|-&lt;br /&gt;
|{{$|03}} (3)&lt;br /&gt;
|{{$|43}} (67)&lt;br /&gt;
|1024&lt;br /&gt;
|Western Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|05}} (5)&lt;br /&gt;
|{{$|45}} (69)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|07}} (7)&lt;br /&gt;
|{{$|47}} (71)&lt;br /&gt;
|512&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0A}} (10)&lt;br /&gt;
|{{$|4A}} (74)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0F}} (15)&lt;br /&gt;
|{{$|4F}} (79)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Zora's Domain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|10}} (16)&lt;br /&gt;
|{{$|50}} (80)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Kakariko Village and Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|11}} (17)&lt;br /&gt;
|{{$|51}} (81)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Fortune Teller&lt;br /&gt;
|-&lt;br /&gt;
|{{$|12}} (18)&lt;br /&gt;
|{{$|52}} (82)&lt;br /&gt;
|512&lt;br /&gt;
|Pond Between Kakariko Village Fortune Teller and Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|13}} (19)&lt;br /&gt;
|{{$|53}} (83)&lt;br /&gt;
|512&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|14}} (20)&lt;br /&gt;
|{{$|54}} (84)&lt;br /&gt;
|512&lt;br /&gt;
|Graveyard&lt;br /&gt;
|-&lt;br /&gt;
|{{$|15}} (21)&lt;br /&gt;
|{{$|55}} (85)&lt;br /&gt;
|512&lt;br /&gt;
|River Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|16}} (22)&lt;br /&gt;
|{{$|56}} (86)&lt;br /&gt;
|512&lt;br /&gt;
|Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|17}} (23)&lt;br /&gt;
|{{$|57}} (87)&lt;br /&gt;
|512&lt;br /&gt;
|East of Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|18}} (24)&lt;br /&gt;
|{{$|58}} (88)&lt;br /&gt;
|1024&lt;br /&gt;
|Kakariko Village&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1A}} (26)&lt;br /&gt;
|{{$|5A}} (90)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Kakariko Village and Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1B}} (27)&lt;br /&gt;
|{{$|5B}} (91)&lt;br /&gt;
|1024&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1D}} (29)&lt;br /&gt;
|{{$|5D}} (93)&lt;br /&gt;
|512&lt;br /&gt;
|Bridge Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1E}} (30)&lt;br /&gt;
|{{$|5E}} (94)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|{{$|22}} (34)&lt;br /&gt;
|{{$|62}} (98)&lt;br /&gt;
|512&lt;br /&gt;
|Smithy&lt;br /&gt;
|-&lt;br /&gt;
|{{$|25}} (37)&lt;br /&gt;
|{{$|65}} (101)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (top)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|28}} (40)&lt;br /&gt;
|{{$|68}} (104)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Maze Race&lt;br /&gt;
|-&lt;br /&gt;
|{{$|29}} (41)&lt;br /&gt;
|{{$|69}} (105)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Library&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2A}} (42)&lt;br /&gt;
|{{$|6A}} (106)&lt;br /&gt;
|512&lt;br /&gt;
|Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2B}} (43)&lt;br /&gt;
|{{$|6B}} (107)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Haunted Grove and Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2C}} (44)&lt;br /&gt;
|{{$|6C}} (108)&lt;br /&gt;
|512&lt;br /&gt;
|Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2D}} (45)&lt;br /&gt;
|{{$|6D}} (109)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (bottom)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2E}} (46)&lt;br /&gt;
|{{$|6E}} (110)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (left)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2F}} (47)&lt;br /&gt;
|{{$|6F}} (111)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (right)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|30}} (48)&lt;br /&gt;
|{{$|70}} (112)&lt;br /&gt;
|1024&lt;br /&gt;
|Desert of Mystery&lt;br /&gt;
|-&lt;br /&gt;
|{{$|32}} (50)&lt;br /&gt;
|{{$|72}} (114)&lt;br /&gt;
|512&lt;br /&gt;
|South of Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|33}} (51)&lt;br /&gt;
|{{$|73}} (115)&lt;br /&gt;
|512&lt;br /&gt;
|Northwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|34}} (52)&lt;br /&gt;
|{{$|74}} (116)&lt;br /&gt;
|512&lt;br /&gt;
|Northeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|35}} (53)&lt;br /&gt;
|{{$|75}} (117)&lt;br /&gt;
|1024&lt;br /&gt;
|Lake Hylia&lt;br /&gt;
|-&lt;br /&gt;
|{{$|37}} (55)&lt;br /&gt;
|{{$|77}} (119)&lt;br /&gt;
|512&lt;br /&gt;
|Ice Cave&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3A}} (58)&lt;br /&gt;
|{{$|7A}} (122)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Desert of Mystery and Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3B}} (59)&lt;br /&gt;
|{{$|7B}} (123)&lt;br /&gt;
|512&lt;br /&gt;
|Southwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3C}} (60)&lt;br /&gt;
|{{$|7C}} (124)&lt;br /&gt;
|512&lt;br /&gt;
|Southeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3F}} (63)&lt;br /&gt;
|{{$|7F}} (127)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Lake Hylia and Ice Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Special Areas ==&lt;br /&gt;
&lt;br /&gt;
;{{$|80}} ― 512{{x}}512&lt;br /&gt;
: Master Sword area ― (0,0) to (255,511)&lt;br /&gt;
: Area under the bridge ― (256,0) to (511,255)&lt;br /&gt;
&lt;br /&gt;
;{{$|81}} ― 512{{x}}512&lt;br /&gt;
: Zora's Domain&lt;br /&gt;
&lt;br /&gt;
==How maps are stored==&lt;br /&gt;
===Compression===&lt;br /&gt;
The background is composed of 32{{x}}32 blocks and are LZ1 compressed.&lt;br /&gt;
&lt;br /&gt;
===Map32 to Map16 Conversion Values===&lt;br /&gt;
* {{0x|18000|1B3FE|3FE}} = Upper leftcorners (end with {{$|FF}} at {{0x|1B3FF}})&lt;br /&gt;
* {{0x|1B400|1E7FE|3FE}} = Upper right corners (end with {{$|FF}} at {{0x|1E7FF}})&lt;br /&gt;
* {{0x|20000|233FE|3FE}} = Lower leftcorners (end with {{$|FF}} at {{0x|233FF}})&lt;br /&gt;
* {{0x|23400|267EE|3FE}} = Lower right corners (end with {{$|FF}} at {{0x|267EF}})&lt;br /&gt;
 &lt;br /&gt;
{{note|1=Theses value come in pack of {{blue|4 bytes}}, followed by {{green|2 bytes}}. The {{green|2 bytes}} are 4 nibble value that are the extension of the {{blue|4 first}}}}&lt;br /&gt;
&lt;br /&gt;
{{example|1=You have theses bytes:&lt;br /&gt;
&lt;br /&gt;
{{blue|05 06 07 08 }}{{green|30 1A}}&lt;br /&gt;
&lt;br /&gt;
* {{blue|05}} become {{$|305}}&lt;br /&gt;
* {{blue|06}} stays {{$|06}}&lt;br /&gt;
* {{blue|07}} become {{$|107}}&lt;br /&gt;
* {{blue|08}} become {{$|A08}}}}&lt;br /&gt;
&lt;br /&gt;
==Map8 to Map16 Conversion Values==&lt;br /&gt;
* {{0x|78000|?????|470?}} = Map8 to Map16 conversion values (8 bytes per tile16), 2 byte each tile8&lt;br /&gt;
* {{red|v}}{{orange|h}}{{green|o}}{{blue|ppp}}{{purple|cc cccccccc}}&lt;br /&gt;
** {{red|v}} = mirror vertical&lt;br /&gt;
** {{orange|h}} = mirror horizontal&lt;br /&gt;
** {{green|o}} = ???&lt;br /&gt;
** {{blue|p}} = priority tile&lt;br /&gt;
** {{purple|c}} = tile index&lt;br /&gt;
&lt;br /&gt;
==Map Size==&lt;br /&gt;
* {{0x|12844|12883}} = 1byte each map&lt;br /&gt;
** {{$|00}} = 512{{x}}512pixel map&lt;br /&gt;
** {{$|20}} = 1024{{x}}1024 pixel map&lt;br /&gt;
&lt;br /&gt;
==Compressed tile arragement==&lt;br /&gt;
* {{0x|1794D}} = LONGPointers all tiles of maps [High] (mapid3)&lt;br /&gt;
* {{0x|17B2D}} = LONGPointers all tiles of maps [Low](mapid3)&lt;br /&gt;
&lt;br /&gt;
{{Note|Data leading to is compressed using the LZ2 compression {{0x|05D97}}  tiles gfx to load the map (correspond to GFX# in HM) surprisingly overworld only use 32 to 47 LW, 48 to 63 DW, 4 bytes per gfx}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=27450</id>
		<title>Overworld Areas</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=27450"/>
				<updated>2017-12-23T23:20:14Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Map Size */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Overworld}}&lt;br /&gt;
&lt;br /&gt;
{{see|Standard Notation}}&lt;br /&gt;
&lt;br /&gt;
Outdoor areas (also known as the Overworld) come in two flavors: Normal and special. Normal outdoor areas (the Light world and the Dark world) are mirrored 8{{x}}8 grids of 512{{x}}512-pixel cells for a total of 64 cells and a 4096{{x}}4096-pixel area in size. Normal outdoor grid cells can be quadruple in size (1024{{x}}1024 pixels), in which case their indices represent their top-left quadrants and the indices for the other three quadrants they occupy do not occur. Special outdoor areas (such as Zora's Domain) are separate individual mini-areas on their own.&lt;br /&gt;
&lt;br /&gt;
== Area Index ==&lt;br /&gt;
&lt;br /&gt;
In WRAM, there is a byte which indicates whether or not the player is currently in an indoor or outdoor area, and when the player is in an outdoor area, there is a word which contains the index of the outdoor area the player is currently in.&lt;br /&gt;
&lt;br /&gt;
;{{$|7E001B}}[{{$|1}}]&lt;br /&gt;
: 0 while player is outside&lt;br /&gt;
: 1 while player is inside&lt;br /&gt;
&lt;br /&gt;
;{{$|7E008A}}[{{$|2}}]&lt;br /&gt;
: the current area index while player is outside&lt;br /&gt;
: invalid while player is inside&lt;br /&gt;
&lt;br /&gt;
== Player Coordinates ==&lt;br /&gt;
&lt;br /&gt;
''See also: [[Player Position]]''&lt;br /&gt;
&lt;br /&gt;
Let A be the current area index, (Px,Py) be the current absolute player coordinates, and (Lx,Ly) be the local coordinates of the player within the current area.&lt;br /&gt;
&lt;br /&gt;
When the player is in the Light world (area index {{$|00}}..{{$|3F}}), the player's coordinates originate at the top-left corner of area {{$|00}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( A % 8 ) * 512&lt;br /&gt;
Ly = Py - ( A / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in the Dark world (area index {{$|40}}..{{$|7F}}), the player's coordinates originate at the top-left corner of area {{$|40}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( ( A - $40 ) % 8 ) * 512&lt;br /&gt;
Ly = Py - ( ( A - $40 ) / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in a special area (area index {{$|80}} and up), the player's coordinates originate at the top-left corner of the current special area. There are two special areas: {{$|80}} combines the Master Sword area and the area under the bridge east of the player's house, and {{$|81}} is Zora's Domain. Local coordinates within the Master Sword area and within Zora's Domain are equal to the absolute coordinates. The player is in the area under the bridge when their X coordinate is 256 or greater, and their local X coordinate is simply their absolute X coordinate minus 256.&lt;br /&gt;
&lt;br /&gt;
== The Light World and the Dark World ==&lt;br /&gt;
&lt;br /&gt;
The Light world and Dark world mirror each other: Any area index in the Light world refers to an area index in the Dark world of the same size and at the same location, except the Dark world index is increased by {{$|40}}. The following table lists the areas of both worlds by their Light world name for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
! Index (Light World)&lt;br /&gt;
! Index (Dark World)&lt;br /&gt;
! Size (a{{x}}a)&lt;br /&gt;
! Description (for Light World)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|00}} (0)&lt;br /&gt;
|{{$|40}} (64)&lt;br /&gt;
|1024&lt;br /&gt;
|Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|02}} (2)&lt;br /&gt;
|{{$|42}} (66)&lt;br /&gt;
|512&lt;br /&gt;
|Lumberjacks&lt;br /&gt;
|-&lt;br /&gt;
|{{$|03}} (3)&lt;br /&gt;
|{{$|43}} (67)&lt;br /&gt;
|1024&lt;br /&gt;
|Western Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|05}} (5)&lt;br /&gt;
|{{$|45}} (69)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|07}} (7)&lt;br /&gt;
|{{$|47}} (71)&lt;br /&gt;
|512&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0A}} (10)&lt;br /&gt;
|{{$|4A}} (74)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0F}} (15)&lt;br /&gt;
|{{$|4F}} (79)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Zora's Domain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|10}} (16)&lt;br /&gt;
|{{$|50}} (80)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Kakariko Village and Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|11}} (17)&lt;br /&gt;
|{{$|51}} (81)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Fortune Teller&lt;br /&gt;
|-&lt;br /&gt;
|{{$|12}} (18)&lt;br /&gt;
|{{$|52}} (82)&lt;br /&gt;
|512&lt;br /&gt;
|Pond Between Kakariko Village Fortune Teller and Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|13}} (19)&lt;br /&gt;
|{{$|53}} (83)&lt;br /&gt;
|512&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|14}} (20)&lt;br /&gt;
|{{$|54}} (84)&lt;br /&gt;
|512&lt;br /&gt;
|Graveyard&lt;br /&gt;
|-&lt;br /&gt;
|{{$|15}} (21)&lt;br /&gt;
|{{$|55}} (85)&lt;br /&gt;
|512&lt;br /&gt;
|River Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|16}} (22)&lt;br /&gt;
|{{$|56}} (86)&lt;br /&gt;
|512&lt;br /&gt;
|Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|17}} (23)&lt;br /&gt;
|{{$|57}} (87)&lt;br /&gt;
|512&lt;br /&gt;
|East of Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|18}} (24)&lt;br /&gt;
|{{$|58}} (88)&lt;br /&gt;
|1024&lt;br /&gt;
|Kakariko Village&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1A}} (26)&lt;br /&gt;
|{{$|5A}} (90)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Kakariko Village and Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1B}} (27)&lt;br /&gt;
|{{$|5B}} (91)&lt;br /&gt;
|1024&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1D}} (29)&lt;br /&gt;
|{{$|5D}} (93)&lt;br /&gt;
|512&lt;br /&gt;
|Bridge Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1E}} (30)&lt;br /&gt;
|{{$|5E}} (94)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|{{$|22}} (34)&lt;br /&gt;
|{{$|62}} (98)&lt;br /&gt;
|512&lt;br /&gt;
|Smithy&lt;br /&gt;
|-&lt;br /&gt;
|{{$|25}} (37)&lt;br /&gt;
|{{$|65}} (101)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (top)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|28}} (40)&lt;br /&gt;
|{{$|68}} (104)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Maze Race&lt;br /&gt;
|-&lt;br /&gt;
|{{$|29}} (41)&lt;br /&gt;
|{{$|69}} (105)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Library&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2A}} (42)&lt;br /&gt;
|{{$|6A}} (106)&lt;br /&gt;
|512&lt;br /&gt;
|Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2B}} (43)&lt;br /&gt;
|{{$|6B}} (107)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Haunted Grove and Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2C}} (44)&lt;br /&gt;
|{{$|6C}} (108)&lt;br /&gt;
|512&lt;br /&gt;
|Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2D}} (45)&lt;br /&gt;
|{{$|6D}} (109)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (bottom)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2E}} (46)&lt;br /&gt;
|{{$|6E}} (110)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (left)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2F}} (47)&lt;br /&gt;
|{{$|6F}} (111)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (right)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|30}} (48)&lt;br /&gt;
|{{$|70}} (112)&lt;br /&gt;
|1024&lt;br /&gt;
|Desert of Mystery&lt;br /&gt;
|-&lt;br /&gt;
|{{$|32}} (50)&lt;br /&gt;
|{{$|72}} (114)&lt;br /&gt;
|512&lt;br /&gt;
|South of Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|33}} (51)&lt;br /&gt;
|{{$|73}} (115)&lt;br /&gt;
|512&lt;br /&gt;
|Northwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|34}} (52)&lt;br /&gt;
|{{$|74}} (116)&lt;br /&gt;
|512&lt;br /&gt;
|Northeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|35}} (53)&lt;br /&gt;
|{{$|75}} (117)&lt;br /&gt;
|1024&lt;br /&gt;
|Lake Hylia&lt;br /&gt;
|-&lt;br /&gt;
|{{$|37}} (55)&lt;br /&gt;
|{{$|77}} (119)&lt;br /&gt;
|512&lt;br /&gt;
|Ice Cave&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3A}} (58)&lt;br /&gt;
|{{$|7A}} (122)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Desert of Mystery and Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3B}} (59)&lt;br /&gt;
|{{$|7B}} (123)&lt;br /&gt;
|512&lt;br /&gt;
|Southwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3C}} (60)&lt;br /&gt;
|{{$|7C}} (124)&lt;br /&gt;
|512&lt;br /&gt;
|Southeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3F}} (63)&lt;br /&gt;
|{{$|7F}} (127)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Lake Hylia and Ice Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Special Areas ==&lt;br /&gt;
&lt;br /&gt;
;{{$|80}} ― 512{{x}}512&lt;br /&gt;
: Master Sword area ― (0,0) to (255,511)&lt;br /&gt;
: Area under the bridge ― (256,0) to (511,255)&lt;br /&gt;
&lt;br /&gt;
;{{$|81}} ― 512{{x}}512&lt;br /&gt;
: Zora's Domain&lt;br /&gt;
&lt;br /&gt;
==How maps are stored==&lt;br /&gt;
===Compression===&lt;br /&gt;
The background is composed of 32{{x}}32 blocks and are LZ1 compressed.&lt;br /&gt;
&lt;br /&gt;
===Map32 to Map16 Conversion Values===&lt;br /&gt;
* {{0x|18000|1B3FE|3FE}} = Upper leftcorners //end with $FF at 0x1B3FF&lt;br /&gt;
* {{0x|1B400|1E7FE|3FE}} = Upper right corners //end with $FF at 0x1E7FF&lt;br /&gt;
* {{0x|20000|233FE|3FE}} = Lower leftcorners //end with $FF at 0x233FF&lt;br /&gt;
* {{0x|23400|267EE|3FE}} = Lower right corners //end with $FF at 0x267EF&lt;br /&gt;
 &lt;br /&gt;
{{note|1=Theses value come in pack of {{blue|4 bytes}}, followed by {{green|2 bytes}}. The {{green|2 bytes}} are 4 nibble value that are the extension of the {{blue|4 first}}}}&lt;br /&gt;
&lt;br /&gt;
{{example|1=You have theses bytes:&lt;br /&gt;
&lt;br /&gt;
{{blue|05 06 07 08 }}{{green|30 1A}}&lt;br /&gt;
&lt;br /&gt;
* {{blue|05}} become {{$|305}}&lt;br /&gt;
* {{blue|06}} stays {{$|06}}&lt;br /&gt;
* {{blue|07}} become {{$|107}}&lt;br /&gt;
* {{blue|08}} become {{$|A08}}}}&lt;br /&gt;
&lt;br /&gt;
==Map8 to Map16 Conversion Values==&lt;br /&gt;
* {{0x|78000|?????|470?}} = Map8 to Map16 conversion values (8 bytes per tile16), 2 byte each tile8&lt;br /&gt;
* {{red|v}}{{orange|h}}{{green|o}}{{blue|ppp}}{{purple|cc cccccccc}}&lt;br /&gt;
** {{red|v}} = mirror vertical&lt;br /&gt;
** {{orange|h}} = mirror horizontal&lt;br /&gt;
** {{green|o}} = ???&lt;br /&gt;
** {{blue|p}} = priority tile&lt;br /&gt;
** {{purple|c}} = tile index&lt;br /&gt;
&lt;br /&gt;
==Map Size==&lt;br /&gt;
* {{0x|12844|12883}} = 1byte each map&lt;br /&gt;
** {{$|00}} = 512{{x}}512pixel map&lt;br /&gt;
** {{$|20}} = 1024{{x}}1024 pixel map&lt;br /&gt;
&lt;br /&gt;
==Compressed tile arragement==&lt;br /&gt;
* {{0x|1794D}} = LONGPointers all tiles of maps [High] (mapid3)&lt;br /&gt;
* {{0x|17B2D}} = LONGPointers all tiles of maps [Low](mapid3)&lt;br /&gt;
&lt;br /&gt;
{{Note|Data leading to is compressed using the LZ2 compression {{0x|05D97}}  tiles gfx to load the map (correspond to GFX# in HM) surprisingly overworld only use 32 to 47 LW, 48 to 63 DW, 4 bytes per gfx}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27449</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27449"/>
				<updated>2017-12-23T23:16:17Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* (Inter Room) Torch Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{0x|2736A}} to {{0x|27489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27448</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27448"/>
				<updated>2017-12-23T23:14:54Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* (Inter Room) Torch Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
The torch data has three primary pointer locations. The pointers are stored as a long address. &lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|15B16}}, {{0x|15B1D}}, {{0x|15B24}}&lt;br /&gt;
|{{0x|1587A}}, {{0x|15881}}, {{0x|15888}}&lt;br /&gt;
|{{0x|15B98}}, {{0x|15B9F}}, {{0x|15BA6}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* In the USA version, the data goes from {{$|02736A}} to {{$|027489}}.&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27447</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27447"/>
				<updated>2017-12-23T23:08:27Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Chest Contents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
The chest contents have three primary pointer locations. The values at each location point to the same pointer. Yes, you read that right. The pointer is stored as a long address.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Primary pointer location&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBFB}}, {{0x|EC0A}}, {{0x|EC10}}&lt;br /&gt;
|{{0x|EC08}}, {{0x|EC17}}, {{0x|EC26}}&lt;br /&gt;
|{{0x|EBD5}}, {{0x|EBE4}}, {{0x|EBF3}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The addresses below contain the size limit for the data for each region:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|+Max Size&lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
!G&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|EBF6}}&lt;br /&gt;
|{{0x|EBF4}}&lt;br /&gt;
|{{0x|EBD0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*In the original USA version the data goes from {{$|00E96E}} to {{$|00EB65}}.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27446</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27446"/>
				<updated>2017-12-23T22:11:01Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
==Room Data==&lt;br /&gt;
===Room Headers===&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sprite Data===&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Object Data===&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Secrets Data===&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Push Block Data===&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===(Inter Room) Torch Data===&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Chest Contents===&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Room layout==&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
==Entrance Data==&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
===Entrance Room===&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Edges===&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Scroll===&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Scroll===&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Coordinate===&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Coordinate===&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===X Camera Coordinate===&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Y Camera Coordinate===&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Blockset===&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Floor Values===&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dungeon Values===&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Doorway Type===&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ladder And BG Settings===&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Horizontal And Vertical Scroll Properties===&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scroll Quadrant===&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Exit Door Location===&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Values===&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=27445</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=27445"/>
				<updated>2017-12-23T22:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: Replaced content with &amp;quot;The underworld refers to all indoor locations; including dungeons, caves, and houses.  {{box|Important Hex Addresses}}  {{box|Unde...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
{{box|[[Underworld:Important Hex Addresses|Important Hex Addresses]]}}&lt;br /&gt;
&lt;br /&gt;
{{box|[[Underworld:Rooms|Rooms]]}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27444</id>
		<title>Underworld:Important Hex Addresses</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Important_Hex_Addresses&amp;diff=27444"/>
				<updated>2017-12-23T22:07:38Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: Created page with &amp;quot;{{subpage|Underworld}}  ===Room Data=== ====Room Headers==== *{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID. *{{$|027781}}...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Room layout===&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld:Rooms&amp;diff=27443</id>
		<title>Underworld:Rooms</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld:Rooms&amp;diff=27443"/>
				<updated>2017-12-23T22:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: Created page with &amp;quot;{{subpage|Underworld}}  Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;  ==Primary Map== The primary underworld map consists of...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Underworld}}&lt;br /&gt;
&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Primary Map==&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Secondary Map==&lt;br /&gt;
&lt;br /&gt;
{{note|Todo}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=27442</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=27442"/>
				<updated>2017-12-23T22:02:11Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Scroll Edges */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Room layout===&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; a.k.a. Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rooms==&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Primary Map===&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Secondary Map===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=27441</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=27441"/>
				<updated>2017-12-23T21:54:25Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Chest Contents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Room layout===&lt;br /&gt;
In Hyrule Magic, there's a label and textbox for room layouts. The layout value goes from {{$|0}} to {{$|7}}&lt;br /&gt;
&lt;br /&gt;
The location:&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}  &lt;br /&gt;
!USA&lt;br /&gt;
!JP&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26F2F}}&lt;br /&gt;
|{{0x|26C0F}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the aforementioned location, there are 8 long pointers (Lo-Hi-Bank).&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; aka Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rooms==&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Primary Map===&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Secondary Map===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Octorok_(Four_Way)&amp;diff=839</id>
		<title>Octorok (Four Way)</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Octorok_(Four_Way)&amp;diff=839"/>
				<updated>2017-08-04T22:43:12Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Sprites}}&lt;br /&gt;
&lt;br /&gt;
Sprite {{$|0A}}: Octorok (Four Way)&lt;br /&gt;
== Octorok (Four Way) ==&lt;br /&gt;
=== Description ===&lt;br /&gt;
An octorok who stops, fires in all four cardinal directions, then begins moving again.&lt;br /&gt;
&lt;br /&gt;
=== Combat Strategy ===&lt;br /&gt;
Very weak enemy. They fire and move only in lateral directions, so staying in their diagonal range is a safe way to approach them.&lt;br /&gt;
&lt;br /&gt;
== Stats And Properties ==&lt;br /&gt;
See [[Sprite Properties]]&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B08A}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
!Bit(s)&lt;br /&gt;
!Info&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| Harmless&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4-0}}&lt;br /&gt;
| OAM Slots&lt;br /&gt;
| {{Hex|00010}} ({{$|02}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B17D}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7-0}}&lt;br /&gt;
| HP&lt;br /&gt;
| {{Hex|0000 0100}} ({{$|04}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B270}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7-4}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0000}} ({{$|00}})&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3-0}}&lt;br /&gt;
| [[Damage Types|Damage Type]]&lt;br /&gt;
| {{Hex|0001}} ({{$|01}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B363}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| No Death Animation&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| Invincible&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Adjust Child coordinates&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4}}&lt;br /&gt;
| Draw Shadow&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3-1}}&lt;br /&gt;
| Palette&lt;br /&gt;
| {{Hex|110}} ({{$|06}})&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B456}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| Ignore Collision Settings&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| Statis&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Persist&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4-0}}&lt;br /&gt;
| Hit Box Dimensions&lt;br /&gt;
| {{Hex|00000}} ({{$|00}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B549}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7-4}}&lt;br /&gt;
| Tile Interaction Hit Box&lt;br /&gt;
| {{Hex|0000}} ({{$|00}})&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|2}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
| Dies Like A Boss&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
| Falls In Holes&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B63C}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| Disable Tile Interactions&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Is shield Blockable&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4}}&lt;br /&gt;
| Alternate Damage Sound&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3-0}}&lt;br /&gt;
| Prize Pack&lt;br /&gt;
| {{Hex|0010}} ({{$|02}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B72F}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Is Interactive&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4}}&lt;br /&gt;
| Deflect Projectiles&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3}}&lt;br /&gt;
| Collide With Less Tiles&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|2}}&lt;br /&gt;
| Impervious To Sword/Hammer&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
| Impervious To Arrows?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    ; $35363-$35376 DATA&lt;br /&gt;
    pool Sprite_Octorock:&lt;br /&gt;
    {&lt;br /&gt;
    .next_direction&lt;br /&gt;
        db   3,   2,   0,   1&lt;br /&gt;
        &lt;br /&gt;
    .x_speed&lt;br /&gt;
        db  24, -24,   0,   0&lt;br /&gt;
        &lt;br /&gt;
    .y_speed&lt;br /&gt;
        db   0,   0,  24, -24&lt;br /&gt;
        &lt;br /&gt;
    .unused&lt;br /&gt;
        ; Unused?&lt;br /&gt;
        db   1,   2,   4,   8&lt;br /&gt;
    &lt;br /&gt;
    .delays&lt;br /&gt;
        ; Unused?&lt;br /&gt;
        db  60, -128, -96, -128&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    !ai_state  = $0D80&lt;br /&gt;
    !graphic   = $0DC0&lt;br /&gt;
    !direction = $0DE0&lt;br /&gt;
    !type      = $0E20&lt;br /&gt;
    !oam_4     = $0F50&lt;br /&gt;
    &lt;br /&gt;
    ; *$35377-$35450 JUMP LOCATION&lt;br /&gt;
    Sprite_Octorock:&lt;br /&gt;
    {&lt;br /&gt;
        !force_hflip = $00&lt;br /&gt;
        !gfx_vert    = $00&lt;br /&gt;
        &lt;br /&gt;
        ; ------------------------------&lt;br /&gt;
        &lt;br /&gt;
        ; Octorock Routine (Sprites 0x08 and 0x0A)&lt;br /&gt;
        LDY !direction, X : PHY&lt;br /&gt;
        &lt;br /&gt;
        LDA !timer_1, X : BEQ .timer_1_elapsed&lt;br /&gt;
        &lt;br /&gt;
        LDA .next_direction, Y : STA !direction, X&lt;br /&gt;
    &lt;br /&gt;
    .timer_1_elapsed&lt;br /&gt;
    &lt;br /&gt;
        STZ $00&lt;br /&gt;
        &lt;br /&gt;
        LDA !graphic, X : CMP.b #$07 : BNE .no_forced_hflip&lt;br /&gt;
        &lt;br /&gt;
        LDA.b #$40 : STA !force_hflip&lt;br /&gt;
    &lt;br /&gt;
    .no_forced_hflip&lt;br /&gt;
    &lt;br /&gt;
        LDA !oam_4, X : AND.b #$BF&lt;br /&gt;
        &lt;br /&gt;
        ORA $D2AE, Y : ORA !force_hflip : STA !oam_4, X&lt;br /&gt;
        &lt;br /&gt;
        JSR Octorock_Draw&lt;br /&gt;
        &lt;br /&gt;
        PLA : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_CheckIfActive&lt;br /&gt;
        JSR Sprite_CheckIfRecoiling&lt;br /&gt;
        JSR Sprite_Move&lt;br /&gt;
        JSR Sprite_CheckDamage&lt;br /&gt;
        &lt;br /&gt;
        LDA !ai_state, X : AND.b #$01 : BNE .stop_and_spit_maybe&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, X : AND.b #$02 : ASL A : STA !gfx_vert&lt;br /&gt;
        &lt;br /&gt;
        INC $0E80, X&lt;br /&gt;
        &lt;br /&gt;
        LDA $0E80, X : LSR #3 : AND.b #$03 : ORA !gfx_vert : STA !graphic, X&lt;br /&gt;
        &lt;br /&gt;
        LDA !timer_0, X : BNE .wait_1&lt;br /&gt;
        &lt;br /&gt;
        ; Switch to the other main AI state.&lt;br /&gt;
        INC !ai_state, X&lt;br /&gt;
        &lt;br /&gt;
        LDY !type, X&lt;br /&gt;
        &lt;br /&gt;
        LDA .delays-8, Y : STA !timer_0, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .wait_1&lt;br /&gt;
    &lt;br /&gt;
        LDY !direction, X&lt;br /&gt;
        &lt;br /&gt;
        ; Make this little bugger move.&lt;br /&gt;
        LDA .x_speed, Y : STA $0D50, X&lt;br /&gt;
        LDA .y_speed, Y : STA $0D40, X&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_CheckTileCollision&lt;br /&gt;
        &lt;br /&gt;
        LDA $0E70, X : BEQ .epsilon&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, X : EOR.b #$01 : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        BRA .return_2&lt;br /&gt;
    &lt;br /&gt;
    .epsilon&lt;br /&gt;
    &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .stop_and_spit_maybe&lt;br /&gt;
    &lt;br /&gt;
        JSR Sprite_Zero_XY_Velocity&lt;br /&gt;
        &lt;br /&gt;
        LDA !timer_0, X : BNE .wait_2&lt;br /&gt;
        &lt;br /&gt;
        INC !ai_state, X&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, X : PHA&lt;br /&gt;
        &lt;br /&gt;
        ; Set a new countdown timer and direction slightly at random.&lt;br /&gt;
        JSL GetRandomInt : AND.b #$3F : ADC.b #$30 : STA !timer_0, X&lt;br /&gt;
        &lt;br /&gt;
        AND.b #$03 : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        ; Note this odd... certainty that both outcomes result in the same&lt;br /&gt;
        ; branch location.&lt;br /&gt;
        PLA : CMP !direction, X : BEQ .same_direction&lt;br /&gt;
        EOR !direction, X       : BNE .different_direction&lt;br /&gt;
        &lt;br /&gt;
        ; Thus, this line of code is not reachable, as far as I can tell.&lt;br /&gt;
        LDA.b #$08 : STA !timer_1, X&lt;br /&gt;
    &lt;br /&gt;
    .same_direction&lt;br /&gt;
    .different_direction&lt;br /&gt;
    .return_2&lt;br /&gt;
    &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .wait_2&lt;br /&gt;
    &lt;br /&gt;
        LDA !type, X : SUB.b #$08 : REP #$30 : AND.w #$00FF : ASL A : TAY&lt;br /&gt;
        &lt;br /&gt;
        ; Hidden Jump table, Argghghh!&lt;br /&gt;
        LDA Octorock_AI_Table, Y : DEC A : PHA&lt;br /&gt;
        &lt;br /&gt;
        SEP #$30&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .handlers&lt;br /&gt;
    &lt;br /&gt;
        !nullptr = 0&lt;br /&gt;
        &lt;br /&gt;
        dw Octorock_Normal&lt;br /&gt;
        dw !nullptr&lt;br /&gt;
        dw Octorock_FourShooter&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35451-$3546E DATA&lt;br /&gt;
    pool Octorock_Normal:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .unknown&lt;br /&gt;
        db 0, 2, 2, 2, 1, 1, 1, 0&lt;br /&gt;
        db 0, 0, 0, 0, 2, 2, 2, 2&lt;br /&gt;
        db 2, 1, 1  0&lt;br /&gt;
    }&lt;br /&gt;
        &lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35465-$3546E DATA&lt;br /&gt;
    pool Octorock_FourShooter:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .unknown&lt;br /&gt;
        db 2, 2, 2, 2 2, 2, 2, 2, 1, 0&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $3546F-$35485 JUMP LOCATION (LOCAL)&lt;br /&gt;
    Octorock_Normal:&lt;br /&gt;
    {&lt;br /&gt;
        LDA !timer_0, X : CMP.b #$1C : BNE .dont_spit_rock&lt;br /&gt;
        &lt;br /&gt;
        PHA&lt;br /&gt;
        &lt;br /&gt;
        JSR Octorock_SpitOutRock&lt;br /&gt;
        &lt;br /&gt;
        PLA&lt;br /&gt;
    &lt;br /&gt;
    .dont_spit_rock&lt;br /&gt;
    &lt;br /&gt;
        LSR #3 : TAY&lt;br /&gt;
        &lt;br /&gt;
        LDA .unknown, Y : STA $0DB0, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35486-$35489 DATA&lt;br /&gt;
    pool Octorock_FourShooter:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .next_direction&lt;br /&gt;
        db 2, 3, 1, 0&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $3548A-$354B4 JUMP LOCATION (LOCAL)&lt;br /&gt;
    Octorock_FourShooter:&lt;br /&gt;
    {&lt;br /&gt;
        LDA !timer_0, X : PHA&lt;br /&gt;
        &lt;br /&gt;
        CMP.b #$80 : BCS .just_animate&lt;br /&gt;
        AND.b #$0F : BNE .dont_rotate&lt;br /&gt;
        &lt;br /&gt;
        PHA&lt;br /&gt;
        &lt;br /&gt;
        LDY !direction, X&lt;br /&gt;
        &lt;br /&gt;
        LDA .next_direction, Y : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        PLA&lt;br /&gt;
    &lt;br /&gt;
    .dont_rotate&lt;br /&gt;
    &lt;br /&gt;
        CMP.b #$08 : BNE .dont_shoot&lt;br /&gt;
        &lt;br /&gt;
        JSR Octorock_SpitOutRock&lt;br /&gt;
    &lt;br /&gt;
    .dont_shoot&lt;br /&gt;
    .just_animate&lt;br /&gt;
    &lt;br /&gt;
        PLA : LSR #4 : TAY&lt;br /&gt;
        &lt;br /&gt;
        LDA .unknown, Y : STA $0DB0, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $354B5-$354CC DATA&lt;br /&gt;
    pool Octorock_SpitOutRock:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    ; \task Label these sublabels.&lt;br /&gt;
    &lt;br /&gt;
        db  12, -12,   0,   0&lt;br /&gt;
    &lt;br /&gt;
    ; $354B9&lt;br /&gt;
        db   0,  -1,   0,   0&lt;br /&gt;
    &lt;br /&gt;
    ; $354BD&lt;br /&gt;
        db   4,   4,  12, -12&lt;br /&gt;
    &lt;br /&gt;
    ; $354C1&lt;br /&gt;
        db   0,   0,   0,  -1&lt;br /&gt;
    &lt;br /&gt;
    ; $354C5&lt;br /&gt;
        db  44, -44,   0,   0&lt;br /&gt;
    &lt;br /&gt;
    ; $354C9&lt;br /&gt;
        db   0,   0,  44, -44&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $354CD-$35513 LOCAL&lt;br /&gt;
    Octorock_SpitOutRock:&lt;br /&gt;
    {&lt;br /&gt;
        LDA.b #$07 : JSL Sound_SetSfx2PanLong&lt;br /&gt;
        &lt;br /&gt;
        LDA.b #$0C&lt;br /&gt;
        &lt;br /&gt;
        JSL Sprite_SpawnDynamically : BMI .spawn_failed&lt;br /&gt;
        &lt;br /&gt;
        PHX&lt;br /&gt;
        &lt;br /&gt;
        ; The position and velocity of the newly created rock depends on the&lt;br /&gt;
        ; direction that the Octorok is currently facing.&lt;br /&gt;
        LDA !direction, X : TAX&lt;br /&gt;
        &lt;br /&gt;
        LDA $00 : ADD $D4B5, X : STA $0D10, Y&lt;br /&gt;
        LDA $01 : ADC $D4B9, X : STA $0D30, Y&lt;br /&gt;
        &lt;br /&gt;
        LDA $02 : ADD $D4BD, X : STA $0D00, Y&lt;br /&gt;
        LDA $03 : ADC $D4C1, X : STA $0D20, Y&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, Y : TAX&lt;br /&gt;
        &lt;br /&gt;
        LDA $D4C5, X : STA $0D50, Y&lt;br /&gt;
        LDA $D4C9, X : STA $0D40, Y&lt;br /&gt;
        &lt;br /&gt;
        PLX&lt;br /&gt;
    &lt;br /&gt;
    .spawn_failed&lt;br /&gt;
    &lt;br /&gt;
        RTS&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35514-$35549 Contains data related to face drawing&lt;br /&gt;
    pool Octorock_Draw:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .x_offsets&lt;br /&gt;
        dw  8,  0,  4,  8,  0,  4,  9, -1,  4&lt;br /&gt;
    &lt;br /&gt;
    .y_offsets&lt;br /&gt;
        dw  6,  6,  9,  6,  6,  9,  6,  6,  9&lt;br /&gt;
    &lt;br /&gt;
    .chr&lt;br /&gt;
        db $BB, $BB, $BA, $AB, $AB, $AA, $A9, $A9, $B9&lt;br /&gt;
    &lt;br /&gt;
    .properties&lt;br /&gt;
        db $65, $25, $25, $65, $25, $25, $65, $25, $25&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; *$3554A-$355B8 LOCAL&lt;br /&gt;
    Octorock_Draw:&lt;br /&gt;
    {&lt;br /&gt;
        !top_x_bit_low  = $0E&lt;br /&gt;
        !top_x_bit_high = $0F&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_PrepOamCoord&lt;br /&gt;
        &lt;br /&gt;
        ; perhaps this draws the octorock's snout?&lt;br /&gt;
        LDA !direction, X : CMP.b #$03 : BEQ .dont_draw_this_part&lt;br /&gt;
        &lt;br /&gt;
        ; $07 = [3 * $0DB0, X] + !direction&lt;br /&gt;
        LDA $0DB0, X : ASL A : ADC $0DB0, X : ADC !direction, X : STA $07&lt;br /&gt;
        &lt;br /&gt;
        PHX : PHA&lt;br /&gt;
        &lt;br /&gt;
        ASL A : TAX&lt;br /&gt;
        &lt;br /&gt;
        REP #$20&lt;br /&gt;
        &lt;br /&gt;
        LDA $00 : ADD .x_offsets, X : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        AND.w #$0100 : STA !top_x_bit_low&lt;br /&gt;
        &lt;br /&gt;
        LDA $02 : ADD .y_offsets, X : INY : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        ADD.w #$0010 : CMP.w #$0100 : SEP #$20 : BCC .not_off_screen&lt;br /&gt;
        &lt;br /&gt;
        LDA.b #$F0 : STA ($90), Y&lt;br /&gt;
    &lt;br /&gt;
    .not_off_screen&lt;br /&gt;
    &lt;br /&gt;
        PLX&lt;br /&gt;
        &lt;br /&gt;
        LDA .chr, X : INY : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        LDA .properties, X : INY : ORA $05 : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        LDA !top_x_bit_high : STA ($92)&lt;br /&gt;
        &lt;br /&gt;
        PLX&lt;br /&gt;
    &lt;br /&gt;
    .dont_draw_this_part&lt;br /&gt;
    &lt;br /&gt;
        REP #$20&lt;br /&gt;
        &lt;br /&gt;
        LDA $90 : ADD.w #$0004 : STA $90&lt;br /&gt;
        &lt;br /&gt;
        INC $92&lt;br /&gt;
        &lt;br /&gt;
        SEP #$20&lt;br /&gt;
        &lt;br /&gt;
        DEC $0E40, X&lt;br /&gt;
        &lt;br /&gt;
        LDY.b #$00&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_PrepAndDrawSingleLarge.just_draw&lt;br /&gt;
        &lt;br /&gt;
        INC $0E40, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    }&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Octorok_(Four_Way)&amp;diff=838</id>
		<title>Octorok (Four Way)</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Octorok_(Four_Way)&amp;diff=838"/>
				<updated>2017-08-04T22:41:35Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Sprites}}&lt;br /&gt;
&lt;br /&gt;
Sprite {{$|0A}}: Octorok (Four Way)&lt;br /&gt;
== Octorok (Four Way) ==&lt;br /&gt;
=== Description ===&lt;br /&gt;
An octorok who stops, fires in all four cardinal directions, then begins moving again.&lt;br /&gt;
&lt;br /&gt;
=== Combat Strategy ===&lt;br /&gt;
Very weak enemy. They fire and move only in lateral directions, so staying in their diagonal range is a safe way to approach them.&lt;br /&gt;
&lt;br /&gt;
== Stats And Properties ==&lt;br /&gt;
See [[Sprite Properties]]&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B08A}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
!Bit(s)&lt;br /&gt;
!Info&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| Harmless&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4-0}}&lt;br /&gt;
| OAM Slots&lt;br /&gt;
| {{Hex|00010}} ({{$|02}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B17D}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7-0}}&lt;br /&gt;
| HP&lt;br /&gt;
| {{Hex|0000 0100}} ({{$|04}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B270}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7-4}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0000}} ({{$|00}})&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3-0}}&lt;br /&gt;
| [[Damage Types|Damage Type]]&lt;br /&gt;
| {{Hex|0001}} ({{$|01}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B363}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| No Death Animation&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| Invincible&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Adjust Child coordinates&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4}}&lt;br /&gt;
| Draw Shadow&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3-1}}&lt;br /&gt;
| Palette&lt;br /&gt;
| {{Hex|110}} ({{$|06}})&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B456}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| Ignore Collision Settings&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| Statis&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Persist&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4-0}}&lt;br /&gt;
| Hit Box Dimensions&lt;br /&gt;
| {{Hex|00000}} ({{$|00}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B549}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7-4}}&lt;br /&gt;
| Tile Interaction Hit Box&lt;br /&gt;
| {{Hex|0000}} ({{$|00}})&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|2}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
| Dies Like A Boss&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
| Falls In Holes&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B63C}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| Disable Tile Interactions&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Is shield Blockable&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4}}&lt;br /&gt;
| Alternate Damage Sound&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3-0}}&lt;br /&gt;
| Prize Pack&lt;br /&gt;
| {{Hex|0010}} ({{$|02}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''{{$|06B72F}}'''&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! Bit(s)&lt;br /&gt;
! Info&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|7}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|6}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|5}}&lt;br /&gt;
| Is Interactive&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|4}}&lt;br /&gt;
| Deflect Projectiles&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|3}}&lt;br /&gt;
| Collide With Less Tiles&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|2}}&lt;br /&gt;
| Impervious To Sword/Hammer&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|1}}&lt;br /&gt;
| Impervious To Arrows?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
| ?&lt;br /&gt;
| {{Hex|0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;    ; $35363-$35376 DATA&lt;br /&gt;
    pool Sprite_Octorock:&lt;br /&gt;
    {&lt;br /&gt;
    .next_direction&lt;br /&gt;
        db   3,   2,   0,   1&lt;br /&gt;
        &lt;br /&gt;
    .x_speed&lt;br /&gt;
        db  24, -24,   0,   0&lt;br /&gt;
        &lt;br /&gt;
    .y_speed&lt;br /&gt;
        db   0,   0,  24, -24&lt;br /&gt;
        &lt;br /&gt;
    .unused&lt;br /&gt;
        ; Unused?&lt;br /&gt;
        db   1,   2,   4,   8&lt;br /&gt;
    &lt;br /&gt;
    .delays&lt;br /&gt;
        ; Unused?&lt;br /&gt;
        db  60, -128, -96, -128&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    !ai_state  = $0D80&lt;br /&gt;
    !graphic   = $0DC0&lt;br /&gt;
    !direction = $0DE0&lt;br /&gt;
    !type      = $0E20&lt;br /&gt;
    !oam_4     = $0F50&lt;br /&gt;
    &lt;br /&gt;
    ; *$35377-$35450 JUMP LOCATION&lt;br /&gt;
    Sprite_Octorock:&lt;br /&gt;
    {&lt;br /&gt;
        !force_hflip = $00&lt;br /&gt;
        !gfx_vert    = $00&lt;br /&gt;
        &lt;br /&gt;
        ; ------------------------------&lt;br /&gt;
        &lt;br /&gt;
        ; Octorock Routine (Sprites 0x08 and 0x0A)&lt;br /&gt;
        LDY !direction, X : PHY&lt;br /&gt;
        &lt;br /&gt;
        LDA !timer_1, X : BEQ .timer_1_elapsed&lt;br /&gt;
        &lt;br /&gt;
        LDA .next_direction, Y : STA !direction, X&lt;br /&gt;
    &lt;br /&gt;
    .timer_1_elapsed&lt;br /&gt;
    &lt;br /&gt;
        STZ $00&lt;br /&gt;
        &lt;br /&gt;
        LDA !graphic, X : CMP.b #$07 : BNE .no_forced_hflip&lt;br /&gt;
        &lt;br /&gt;
        LDA.b #$40 : STA !force_hflip&lt;br /&gt;
    &lt;br /&gt;
    .no_forced_hflip&lt;br /&gt;
    &lt;br /&gt;
        LDA !oam_4, X : AND.b #$BF&lt;br /&gt;
        &lt;br /&gt;
        ORA $D2AE, Y : ORA !force_hflip : STA !oam_4, X&lt;br /&gt;
        &lt;br /&gt;
        JSR Octorock_Draw&lt;br /&gt;
        &lt;br /&gt;
        PLA : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_CheckIfActive&lt;br /&gt;
        JSR Sprite_CheckIfRecoiling&lt;br /&gt;
        JSR Sprite_Move&lt;br /&gt;
        JSR Sprite_CheckDamage&lt;br /&gt;
        &lt;br /&gt;
        LDA !ai_state, X : AND.b #$01 : BNE .stop_and_spit_maybe&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, X : AND.b #$02 : ASL A : STA !gfx_vert&lt;br /&gt;
        &lt;br /&gt;
        INC $0E80, X&lt;br /&gt;
        &lt;br /&gt;
        LDA $0E80, X : LSR #3 : AND.b #$03 : ORA !gfx_vert : STA !graphic, X&lt;br /&gt;
        &lt;br /&gt;
        LDA !timer_0, X : BNE .wait_1&lt;br /&gt;
        &lt;br /&gt;
        ; Switch to the other main AI state.&lt;br /&gt;
        INC !ai_state, X&lt;br /&gt;
        &lt;br /&gt;
        LDY !type, X&lt;br /&gt;
        &lt;br /&gt;
        LDA .delays-8, Y : STA !timer_0, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .wait_1&lt;br /&gt;
    &lt;br /&gt;
        LDY !direction, X&lt;br /&gt;
        &lt;br /&gt;
        ; Make this little bugger move.&lt;br /&gt;
        LDA .x_speed, Y : STA $0D50, X&lt;br /&gt;
        LDA .y_speed, Y : STA $0D40, X&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_CheckTileCollision&lt;br /&gt;
        &lt;br /&gt;
        LDA $0E70, X : BEQ .epsilon&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, X : EOR.b #$01 : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        BRA .return_2&lt;br /&gt;
    &lt;br /&gt;
    .epsilon&lt;br /&gt;
    &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .stop_and_spit_maybe&lt;br /&gt;
    &lt;br /&gt;
        JSR Sprite_Zero_XY_Velocity&lt;br /&gt;
        &lt;br /&gt;
        LDA !timer_0, X : BNE .wait_2&lt;br /&gt;
        &lt;br /&gt;
        INC !ai_state, X&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, X : PHA&lt;br /&gt;
        &lt;br /&gt;
        ; Set a new countdown timer and direction slightly at random.&lt;br /&gt;
        JSL GetRandomInt : AND.b #$3F : ADC.b #$30 : STA !timer_0, X&lt;br /&gt;
        &lt;br /&gt;
        AND.b #$03 : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        ; Note this odd... certainty that both outcomes result in the same&lt;br /&gt;
        ; branch location.&lt;br /&gt;
        PLA : CMP !direction, X : BEQ .same_direction&lt;br /&gt;
        EOR !direction, X       : BNE .different_direction&lt;br /&gt;
        &lt;br /&gt;
        ; Thus, this line of code is not reachable, as far as I can tell.&lt;br /&gt;
        LDA.b #$08 : STA !timer_1, X&lt;br /&gt;
    &lt;br /&gt;
    .same_direction&lt;br /&gt;
    .different_direction&lt;br /&gt;
    .return_2&lt;br /&gt;
    &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .wait_2&lt;br /&gt;
    &lt;br /&gt;
        LDA !type, X : SUB.b #$08 : REP #$30 : AND.w #$00FF : ASL A : TAY&lt;br /&gt;
        &lt;br /&gt;
        ; Hidden Jump table, Argghghh!&lt;br /&gt;
        LDA Octorock_AI_Table, Y : DEC A : PHA&lt;br /&gt;
        &lt;br /&gt;
        SEP #$30&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    &lt;br /&gt;
    .handlers&lt;br /&gt;
    &lt;br /&gt;
        !nullptr = 0&lt;br /&gt;
        &lt;br /&gt;
        dw Octorock_Normal&lt;br /&gt;
        dw !nullptr&lt;br /&gt;
        dw Octorock_FourShooter&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35451-$3546E DATA&lt;br /&gt;
    pool Octorock_Normal:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .unknown&lt;br /&gt;
        db 0, 2, 2, 2, 1, 1, 1, 0&lt;br /&gt;
        db 0, 0, 0, 0, 2, 2, 2, 2&lt;br /&gt;
        db 2, 1, 1  0&lt;br /&gt;
    }&lt;br /&gt;
        &lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35465-$3546E DATA&lt;br /&gt;
    pool Octorock_FourShooter:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .unknown&lt;br /&gt;
        db 2, 2, 2, 2 2, 2, 2, 2, 1, 0&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $3546F-$35485 JUMP LOCATION (LOCAL)&lt;br /&gt;
    Octorock_Normal:&lt;br /&gt;
    {&lt;br /&gt;
        LDA !timer_0, X : CMP.b #$1C : BNE .dont_spit_rock&lt;br /&gt;
        &lt;br /&gt;
        PHA&lt;br /&gt;
        &lt;br /&gt;
        JSR Octorock_SpitOutRock&lt;br /&gt;
        &lt;br /&gt;
        PLA&lt;br /&gt;
    &lt;br /&gt;
    .dont_spit_rock&lt;br /&gt;
    &lt;br /&gt;
        LSR #3 : TAY&lt;br /&gt;
        &lt;br /&gt;
        LDA .unknown, Y : STA $0DB0, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35486-$35489 DATA&lt;br /&gt;
    pool Octorock_FourShooter:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .next_direction&lt;br /&gt;
        db 2, 3, 1, 0&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $3548A-$354B4 JUMP LOCATION (LOCAL)&lt;br /&gt;
    Octorock_FourShooter:&lt;br /&gt;
    {&lt;br /&gt;
        LDA !timer_0, X : PHA&lt;br /&gt;
        &lt;br /&gt;
        CMP.b #$80 : BCS .just_animate&lt;br /&gt;
        AND.b #$0F : BNE .dont_rotate&lt;br /&gt;
        &lt;br /&gt;
        PHA&lt;br /&gt;
        &lt;br /&gt;
        LDY !direction, X&lt;br /&gt;
        &lt;br /&gt;
        LDA .next_direction, Y : STA !direction, X&lt;br /&gt;
        &lt;br /&gt;
        PLA&lt;br /&gt;
    &lt;br /&gt;
    .dont_rotate&lt;br /&gt;
    &lt;br /&gt;
        CMP.b #$08 : BNE .dont_shoot&lt;br /&gt;
        &lt;br /&gt;
        JSR Octorock_SpitOutRock&lt;br /&gt;
    &lt;br /&gt;
    .dont_shoot&lt;br /&gt;
    .just_animate&lt;br /&gt;
    &lt;br /&gt;
        PLA : LSR #4 : TAY&lt;br /&gt;
        &lt;br /&gt;
        LDA .unknown, Y : STA $0DB0, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $354B5-$354CC DATA&lt;br /&gt;
    pool Octorock_SpitOutRock:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    ; \task Label these sublabels.&lt;br /&gt;
    &lt;br /&gt;
        db  12, -12,   0,   0&lt;br /&gt;
    &lt;br /&gt;
    ; $354B9&lt;br /&gt;
        db   0,  -1,   0,   0&lt;br /&gt;
    &lt;br /&gt;
    ; $354BD&lt;br /&gt;
        db   4,   4,  12, -12&lt;br /&gt;
    &lt;br /&gt;
    ; $354C1&lt;br /&gt;
        db   0,   0,   0,  -1&lt;br /&gt;
    &lt;br /&gt;
    ; $354C5&lt;br /&gt;
        db  44, -44,   0,   0&lt;br /&gt;
    &lt;br /&gt;
    ; $354C9&lt;br /&gt;
        db   0,   0,  44, -44&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $354CD-$35513 LOCAL&lt;br /&gt;
    Octorock_SpitOutRock:&lt;br /&gt;
    {&lt;br /&gt;
        LDA.b #$07 : JSL Sound_SetSfx2PanLong&lt;br /&gt;
        &lt;br /&gt;
        LDA.b #$0C&lt;br /&gt;
        &lt;br /&gt;
        JSL Sprite_SpawnDynamically : BMI .spawn_failed&lt;br /&gt;
        &lt;br /&gt;
        PHX&lt;br /&gt;
        &lt;br /&gt;
        ; The position and velocity of the newly created rock depends on the&lt;br /&gt;
        ; direction that the Octorok is currently facing.&lt;br /&gt;
        LDA !direction, X : TAX&lt;br /&gt;
        &lt;br /&gt;
        LDA $00 : ADD $D4B5, X : STA $0D10, Y&lt;br /&gt;
        LDA $01 : ADC $D4B9, X : STA $0D30, Y&lt;br /&gt;
        &lt;br /&gt;
        LDA $02 : ADD $D4BD, X : STA $0D00, Y&lt;br /&gt;
        LDA $03 : ADC $D4C1, X : STA $0D20, Y&lt;br /&gt;
        &lt;br /&gt;
        LDA !direction, Y : TAX&lt;br /&gt;
        &lt;br /&gt;
        LDA $D4C5, X : STA $0D50, Y&lt;br /&gt;
        LDA $D4C9, X : STA $0D40, Y&lt;br /&gt;
        &lt;br /&gt;
        PLX&lt;br /&gt;
    &lt;br /&gt;
    .spawn_failed&lt;br /&gt;
    &lt;br /&gt;
        RTS&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; $35514-$35549 DATA&lt;br /&gt;
    pool Octorock_Draw:&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    .x_offsets&lt;br /&gt;
        dw  8,  0,  4,  8,  0,  4,  9, -1,  4&lt;br /&gt;
    &lt;br /&gt;
    .y_offsets&lt;br /&gt;
        dw  6,  6,  9,  6,  6,  9,  6,  6,  9&lt;br /&gt;
    &lt;br /&gt;
    .chr&lt;br /&gt;
        db $BB, $BB, $BA, $AB, $AB, $AA, $A9, $A9, $B9&lt;br /&gt;
    &lt;br /&gt;
    .properties&lt;br /&gt;
        db $65, $25, $25, $65, $25, $25, $65, $25, $25&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
; ==============================================================================&lt;br /&gt;
&lt;br /&gt;
    ; *$3554A-$355B8 LOCAL&lt;br /&gt;
    Octorock_Draw:&lt;br /&gt;
    {&lt;br /&gt;
        !top_x_bit_low  = $0E&lt;br /&gt;
        !top_x_bit_high = $0F&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_PrepOamCoord&lt;br /&gt;
        &lt;br /&gt;
        ; perhaps this draws the octorock's snout?&lt;br /&gt;
        LDA !direction, X : CMP.b #$03 : BEQ .dont_draw_this_part&lt;br /&gt;
        &lt;br /&gt;
        ; $07 = [3 * $0DB0, X] + !direction&lt;br /&gt;
        LDA $0DB0, X : ASL A : ADC $0DB0, X : ADC !direction, X : STA $07&lt;br /&gt;
        &lt;br /&gt;
        PHX : PHA&lt;br /&gt;
        &lt;br /&gt;
        ASL A : TAX&lt;br /&gt;
        &lt;br /&gt;
        REP #$20&lt;br /&gt;
        &lt;br /&gt;
        LDA $00 : ADD .x_offsets, X : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        AND.w #$0100 : STA !top_x_bit_low&lt;br /&gt;
        &lt;br /&gt;
        LDA $02 : ADD .y_offsets, X : INY : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        ADD.w #$0010 : CMP.w #$0100 : SEP #$20 : BCC .not_off_screen&lt;br /&gt;
        &lt;br /&gt;
        LDA.b #$F0 : STA ($90), Y&lt;br /&gt;
    &lt;br /&gt;
    .not_off_screen&lt;br /&gt;
    &lt;br /&gt;
        PLX&lt;br /&gt;
        &lt;br /&gt;
        LDA .chr, X : INY : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        LDA .properties, X : INY : ORA $05 : STA ($90), Y&lt;br /&gt;
        &lt;br /&gt;
        LDA !top_x_bit_high : STA ($92)&lt;br /&gt;
        &lt;br /&gt;
        PLX&lt;br /&gt;
    &lt;br /&gt;
    .dont_draw_this_part&lt;br /&gt;
    &lt;br /&gt;
        REP #$20&lt;br /&gt;
        &lt;br /&gt;
        LDA $90 : ADD.w #$0004 : STA $90&lt;br /&gt;
        &lt;br /&gt;
        INC $92&lt;br /&gt;
        &lt;br /&gt;
        SEP #$20&lt;br /&gt;
        &lt;br /&gt;
        DEC $0E40, X&lt;br /&gt;
        &lt;br /&gt;
        LDY.b #$00&lt;br /&gt;
        &lt;br /&gt;
        JSR Sprite_PrepAndDrawSingleLarge.just_draw&lt;br /&gt;
        &lt;br /&gt;
        INC $0E40, X&lt;br /&gt;
        &lt;br /&gt;
        RTS&lt;br /&gt;
    }&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Sprites&amp;diff=837</id>
		<title>Sprites</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Sprites&amp;diff=837"/>
				<updated>2017-08-04T22:39:08Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Drawing ==&lt;br /&gt;
Sprites vary on how they are drawn to the screen. 8{{x}}8 and 16{{x}}16 sprites tend to use {{hex|Sprite_PrepAndDrawSingleLarge}} to draw. Larger sprites uses their custom OAM.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Sprite Stats And Properties===&lt;br /&gt;
{{See|Sprite Properties}}&lt;br /&gt;
&lt;br /&gt;
===Dungeon Sprite Data===&lt;br /&gt;
* {{$|04D62E}} = Pointer Table, 2 byte local addresses, indexed by room ID &lt;br /&gt;
* {{$|04D92E}} = Data&lt;br /&gt;
&lt;br /&gt;
===Overworld Sprite Data===&lt;br /&gt;
There are separate pointer tables for each phase of the game. The &amp;quot;phase of the game&amp;quot; refers to the byte located at {{$|7EF3C5}}.&lt;br /&gt;
&lt;br /&gt;
====Phase 0/1====&lt;br /&gt;
* {{$|04C881}} = Pointer Table, 2 byte local addresses, indexed by screen ID&lt;br /&gt;
*This is the stage of the game whilst rain still falls&lt;br /&gt;
*Only has values only for the light world screens, thus dark world screens will roll over to the light world data from the following table and of course be incorrect.&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
* {{$|04C901}} = Pointer Table, 2 byte local addresses, indexed by screen ID&lt;br /&gt;
*Phase 2 begins when Zelda is rescued and given protection by the Sage in the Sanctuary&lt;br /&gt;
====Phase 3====&lt;br /&gt;
* {{$|04CA21}} = Pointer Table, 2 byte local addresses, indexed by screen ID&lt;br /&gt;
*Phase 3 begins after the player has defeated Agahnim for the first time.&lt;br /&gt;
&lt;br /&gt;
===Sprite Data Format===&lt;br /&gt;
*First Byte: Stored to {{$|FB3}}. Not sure what the purpose of that is yet.&lt;br /&gt;
After the first byte, you will see 3 byte clusters that break down thus:&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| First Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Second Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Third Byte&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| If set, the sprite is on BG2, if not it's on BG1&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|E30}}, X.&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot;|Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|E20}}, X. If an Overlord, will get loaded to {{$|B00}}, X.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| If these are set, they will be used to generate a subtype, stored to {{$|E30}}, X.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| X coordinate (in pixels from the far left, starting at 0) of the sprite divided by 16.&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot;| Y coordinate (in pixels from the top, starting at 0) of the sprite divided by 16.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sprites==&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
!Value&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|{{$|00}}&lt;br /&gt;
|[[Raven]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|01}}&lt;br /&gt;
|[[Vulture]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|02}}&lt;br /&gt;
|[[Flying Stalfos Head]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|03}}&lt;br /&gt;
|[[Sprite $03|Empty]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|04}}&lt;br /&gt;
|[[Pull Switch (Good)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|05}}&lt;br /&gt;
|[[Sprite $05|Pull Switch (Unused)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|06}}&lt;br /&gt;
|[[Pull Switch (Bad)]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|07}}&lt;br /&gt;
|[[Sprite $07|Pull Switch (Unused)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|08}}&lt;br /&gt;
|[[Octorok (One Way)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|09}}&lt;br /&gt;
|[[Moldorm (Boss)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0A}}&lt;br /&gt;
|[[Octorok (Four Way)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0B}}&lt;br /&gt;
|[[Chicken]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0C}}&lt;br /&gt;
|[[Octorok (?)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0D}}&lt;br /&gt;
|[[Buzzblob]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0E}}&lt;br /&gt;
|[[Snapdragon]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0F}}&lt;br /&gt;
|[[Octoballoon]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|10}}&lt;br /&gt;
|[[Octoballoon Hatchlings]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|11}}&lt;br /&gt;
|[[Hinox]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|12}}&lt;br /&gt;
|[[Moblin]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|13}}&lt;br /&gt;
|[[Mini Helmasaur]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|14}}&lt;br /&gt;
|[[Gargoyle's Domain Gate]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|15}}&lt;br /&gt;
|[[Antifairy]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|16}}&lt;br /&gt;
|[[Sahasrahla / Aginah]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|17}}&lt;br /&gt;
|[[Bush Hoarder]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|18}}&lt;br /&gt;
|[[Mini Moldorm]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|19}}&lt;br /&gt;
|[[Poe]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1A}}&lt;br /&gt;
|[[Dwarves]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1B}}&lt;br /&gt;
|Arrow in wall? &lt;br /&gt;
|-&lt;br /&gt;
|{{$|1C}}&lt;br /&gt;
|[[Statue (Sprite)|Statue]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1D}}&lt;br /&gt;
|[[Weathervane]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1E}}&lt;br /&gt;
|[[Crystal Switch]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1F}}&lt;br /&gt;
|[[Bug-Catching Kid]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|20}}&lt;br /&gt;
|[[Sluggula]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|21}}&lt;br /&gt;
|[[Push Switch]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|22}}&lt;br /&gt;
|[[Ropa]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|23}}&lt;br /&gt;
|[[Red Bari]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|24}}&lt;br /&gt;
|[[Blue Bari]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|25}}&lt;br /&gt;
|[[Talking Tree]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|26}}&lt;br /&gt;
|[[Hardhat Beetle]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|27}}&lt;br /&gt;
|[[Deadrock]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|28}}&lt;br /&gt;
|[[Storytellers]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|29}}&lt;br /&gt;
|Blind Hideout attendant &lt;br /&gt;
|-&lt;br /&gt;
|{{$|2A}}&lt;br /&gt;
|[[Sweeping Lady]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2B}}&lt;br /&gt;
|[[Sprite $2B|Multipurpose Sprite]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2C}}&lt;br /&gt;
|[[Lumberjacks]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2D}}&lt;br /&gt;
|Telepathic stones? (No idea what this actually is, likely unused)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2E}}&lt;br /&gt;
|Flute Boy's Notes &lt;br /&gt;
|-&lt;br /&gt;
|{{$|2F}}&lt;br /&gt;
|[[Race HP NPCs]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|30}}&lt;br /&gt;
|Person?&lt;br /&gt;
|-&lt;br /&gt;
|{{$|31}}&lt;br /&gt;
|[[Fortune Teller]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|32}}&lt;br /&gt;
|[[Angry Brothers]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|33}}&lt;br /&gt;
|[[Pull For Rupees Sprite]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|34}}&lt;br /&gt;
|[[Scared Girl 2]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|35}}&lt;br /&gt;
|[[Innkeeper]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|36}}&lt;br /&gt;
|[[Witch]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|37}}&lt;br /&gt;
|[[Waterfall]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|38}}&lt;br /&gt;
|[[Arrow Target]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|39}}&lt;br /&gt;
|[[Average Middle-Aged Man]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3A}}&lt;br /&gt;
|[[Half Magic Bat]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3B}}&lt;br /&gt;
|[[Dash Item]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3C}}&lt;br /&gt;
|[[Village Kid]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3D}}&lt;br /&gt;
|Signs? Chicken lady also showed up / Scared ladies outside houses.&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3E}}&lt;br /&gt;
|[[Rock Hoarder]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3F}}&lt;br /&gt;
|[[Tutorial Soldier]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|40}}&lt;br /&gt;
|[[Lightning Lock]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|41}}&lt;br /&gt;
|[[Blue Sword Soldier]] / Used by guards to detect player&lt;br /&gt;
|-&lt;br /&gt;
|{{$|42}}&lt;br /&gt;
|[[Green Sword Soldier]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|43}}&lt;br /&gt;
|[[Red Spear Soldier]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|44}}&lt;br /&gt;
|[[Assault Sword Soldier]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|45}}&lt;br /&gt;
|[[Green Spear Soldier]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|46}}&lt;br /&gt;
|[[Blue Archer]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|47}}&lt;br /&gt;
|[[Green Archer]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|48}}&lt;br /&gt;
|[[Red Javelin Soldier]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|49}}&lt;br /&gt;
|[[Red Javelin Soldier 2]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|4A}}&lt;br /&gt;
|[[Red Bomb Soldiers]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|4B}}&lt;br /&gt;
|[[Green Soldier Recruits]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|4C}}&lt;br /&gt;
|[[Geldman]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|4D}}&lt;br /&gt;
|[[Rabbit]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|4E}}&lt;br /&gt;
|[[Popo]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|4F}}&lt;br /&gt;
|[[Popo 2]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|50}}&lt;br /&gt;
|[[Cannon Balls]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|51}}&lt;br /&gt;
|[[Armos]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|52}}&lt;br /&gt;
|[[Giant Zora]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|53}}&lt;br /&gt;
|[[Armos Knights (Boss)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|54}}&lt;br /&gt;
|[[Lanmolas (Boss)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|55}}&lt;br /&gt;
|[[Fireball Zora]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|56}}&lt;br /&gt;
|[[Walking Zora]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|57}}&lt;br /&gt;
|[[Desert Palace Barriers]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|58}}&lt;br /&gt;
|[[Crab]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|59}}&lt;br /&gt;
|[[Bird]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|5A}}&lt;br /&gt;
|[[Squirrel]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|5B}}&lt;br /&gt;
|[[Spark (Left to Right)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|5C}}&lt;br /&gt;
|[[Spark (Right to Left)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|5D}}&lt;br /&gt;
|Roller (vertical moving) &lt;br /&gt;
|-&lt;br /&gt;
|{{$|5E}}&lt;br /&gt;
|Roller (vertical moving) &lt;br /&gt;
|-&lt;br /&gt;
|{{$|5F}}&lt;br /&gt;
|Roller &lt;br /&gt;
|-&lt;br /&gt;
|{{$|60}}&lt;br /&gt;
|Roller (horizontal moving) &lt;br /&gt;
|-&lt;br /&gt;
|{{$|61}}&lt;br /&gt;
|[[Beamos]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|62}}&lt;br /&gt;
|[[Master Sword]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|63}}&lt;br /&gt;
|[[Devalant (Non-shooter)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|64}}&lt;br /&gt;
|[[Devalant (Shooter)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|65}}&lt;br /&gt;
|[[Shooting Gallery Proprietor]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|66}}&lt;br /&gt;
|[[Moving Cannon Ball Shooters (Right)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|67}}&lt;br /&gt;
|[[Moving Cannon Ball Shooters (Left)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|68}}&lt;br /&gt;
|[[Moving Cannon Ball Shooters (Down)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|69}}&lt;br /&gt;
|[[Moving Cannon Ball Shooters (Up)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|6A}}&lt;br /&gt;
|[[Ball N' Chain Trooper]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|6B}}&lt;br /&gt;
|[[Cannon Soldier]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|6C}}&lt;br /&gt;
|[[Mirror Portal]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|6D}}&lt;br /&gt;
|[[Rat]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|6E}}&lt;br /&gt;
|[[Rope]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|6F}}&lt;br /&gt;
|[[Keese]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|70}}&lt;br /&gt;
|[[Helmasaur King Fireball]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|71}}&lt;br /&gt;
|[[Leever]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|72}}&lt;br /&gt;
|Activator for the ponds (where you throw in items)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|73}}&lt;br /&gt;
|[[Uncle / Priest]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|74}}&lt;br /&gt;
|[[Running Man]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|75}}&lt;br /&gt;
|[[Bottle Salesman]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|76}}&lt;br /&gt;
|[[Princess Zelda]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|77}}&lt;br /&gt;
|[[Antifairy (Alternate)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|78}}&lt;br /&gt;
|[[Village Elder]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|79}}&lt;br /&gt;
|[[Bee]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|7A}}&lt;br /&gt;
|[[Agahnim]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|7B}}&lt;br /&gt;
|[[Agahnim Energy Ball]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|7C}}&lt;br /&gt;
|[[Hyu]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|7D}}&lt;br /&gt;
|[[Big Spike Trap]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|7E}}&lt;br /&gt;
|[[Guruguru Bar (Clockwise)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|7F}}&lt;br /&gt;
|[[Guruguru Bar (Counter Clockwise)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|80}}&lt;br /&gt;
|[[Winder]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|81}}&lt;br /&gt;
|[[Water Tektite]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|82}}&lt;br /&gt;
|[[Antifairy Circle]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|83}}&lt;br /&gt;
|[[Green Eyegore]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|84}}&lt;br /&gt;
|[[Red Eyegore]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|85}}&lt;br /&gt;
|[[Yellow Stalfos]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|86}}&lt;br /&gt;
|[[Kodongos]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|87}}&lt;br /&gt;
|[[Flames]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|88}}&lt;br /&gt;
|[[Mothula (Boss)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|89}}&lt;br /&gt;
|[[Mothula's Beam]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|8A}}&lt;br /&gt;
|[[Spike Trap]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|8B}}&lt;br /&gt;
|[[Gibdo]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|8C}}&lt;br /&gt;
|[[Arrghus (Boss)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|8D}}&lt;br /&gt;
|Arrghus spawn&lt;br /&gt;
|-&lt;br /&gt;
|{{$|8E}}&lt;br /&gt;
|[[Terrorpin]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|8F}}&lt;br /&gt;
|[[Slime]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|90}}&lt;br /&gt;
|[[Wallmaster]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|91}}&lt;br /&gt;
|[[Stalfos Knight]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|92}}&lt;br /&gt;
|[[Helmasaur King]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|93}}&lt;br /&gt;
|[[Bumper]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|94}}&lt;br /&gt;
|Swimmers&lt;br /&gt;
|-&lt;br /&gt;
|{{$|95}}&lt;br /&gt;
|[[Eye Laser (Right)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|96}}&lt;br /&gt;
|[[Eye Laser (Left)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|97}}&lt;br /&gt;
|[[Eye Laser (Down)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|98}}&lt;br /&gt;
|[[Eye Laser (Up)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|99}}&lt;br /&gt;
|[[Pengator]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|9A}}&lt;br /&gt;
|[[Kyameron]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|9B}}&lt;br /&gt;
|[[Wizzrobe]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|9C}}&lt;br /&gt;
|Tadpoles&lt;br /&gt;
|-&lt;br /&gt;
|{{$|9D}}&lt;br /&gt;
|Tadpoles&lt;br /&gt;
|-&lt;br /&gt;
|{{$|9E}}&lt;br /&gt;
|[[Ostrich (Haunted Grove)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|9F}}&lt;br /&gt;
|[[Flute]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A0}}&lt;br /&gt;
|[[Birds (Haunted Grove)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A1}}&lt;br /&gt;
|[[Freezor]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A2}}&lt;br /&gt;
|[[Kholdstare (Boss)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A3}}&lt;br /&gt;
|[[Kholdstare's Shell]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A4}}&lt;br /&gt;
|[[Falling Ice]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A5}}&lt;br /&gt;
|[[Zazak Fireball]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A6}}&lt;br /&gt;
|[[Red Zazak]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A7}}&lt;br /&gt;
|[[Stalfos]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|A8}}&lt;br /&gt;
|Bomber Flying Creatures from Darkworld &lt;br /&gt;
|-&lt;br /&gt;
|{{$|A9}}&lt;br /&gt;
|Bomber Flying Creatures from Darkworld &lt;br /&gt;
|-&lt;br /&gt;
|{{$|AA}}&lt;br /&gt;
|[[Pikit]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|AB}}&lt;br /&gt;
|[[Maiden]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|AC}}&lt;br /&gt;
|[[Apple]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|AD}}&lt;br /&gt;
|[[Lost Old Man]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|AE}}&lt;br /&gt;
|Down Pipe&lt;br /&gt;
|-&lt;br /&gt;
|{{$|AF}}&lt;br /&gt;
|Up Pipe&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B0}}&lt;br /&gt;
|Right Pip&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B1}}&lt;br /&gt;
|Left Pipe&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B2}}&lt;br /&gt;
|Good bee again?&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B3}}&lt;br /&gt;
|[[Hylian Inscription]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B4}}&lt;br /&gt;
|Thief's chest (not the one that follows you, the one that you grab from the DW smithy house) &lt;br /&gt;
|-&lt;br /&gt;
|{{$|B5}}&lt;br /&gt;
|[[Bomb Salesman]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B6}}&lt;br /&gt;
|[[Kiki]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B7}}&lt;br /&gt;
|Maiden following you in Blind Dungeon&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B8}}&lt;br /&gt;
|[[Monologue Testing Sprite]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|B9}}&lt;br /&gt;
|Feuding Friends on Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|BA}}&lt;br /&gt;
|[[Whirlpool]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|BB}}&lt;br /&gt;
|Salesman / chestgame guy / 300 rupee giver guy / Chest game thief &lt;br /&gt;
|-&lt;br /&gt;
|{{$|BC}}&lt;br /&gt;
|Drunk in the inn&lt;br /&gt;
|-&lt;br /&gt;
|{{$|BD}}&lt;br /&gt;
|[[Vitreous (Large Eyeball)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|BE}}&lt;br /&gt;
|[[Vitreous (Small Eyeball)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|BF}}&lt;br /&gt;
|[[Vitreous' Lightning]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C0}}&lt;br /&gt;
|Monster in Lake of Ill Omen / Quake Medallion&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C1}}&lt;br /&gt;
|Agahnim teleporting Zelda to dark world&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C2}}&lt;br /&gt;
|[[Boulders]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C3}}&lt;br /&gt;
|[[Gibo]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C4}}&lt;br /&gt;
|[[Thief]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C5}}&lt;br /&gt;
|[[Medusa]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C6}}&lt;br /&gt;
|Four Way Fireball Spitters (spit when you use your sword) &lt;br /&gt;
|-&lt;br /&gt;
|{{$|C7}}&lt;br /&gt;
|[[Hokku-Bokku]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C8}}&lt;br /&gt;
|Big Fairy who heals you&lt;br /&gt;
|-&lt;br /&gt;
|{{$|C9}}&lt;br /&gt;
|[[Tektite]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|CA}}&lt;br /&gt;
|[[Chain Chomp]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|CB}}&lt;br /&gt;
|[[Trinexx]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|CC}}&lt;br /&gt;
|Another part of trinexx&lt;br /&gt;
|-&lt;br /&gt;
|{{$|CD}}&lt;br /&gt;
|Yet another part of trinexx&lt;br /&gt;
|-&lt;br /&gt;
|{{$|CE}}&lt;br /&gt;
|[[Blind The Thief (Boss)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|CF}}&lt;br /&gt;
|[[Swamola]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|D0}}&lt;br /&gt;
|[[Lynel]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|D1}}&lt;br /&gt;
|[[Bunny Beam]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|D2}}&lt;br /&gt;
|Flopping fish &lt;br /&gt;
|-&lt;br /&gt;
|{{$|D3}}&lt;br /&gt;
|[[Stal]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|D4}}&lt;br /&gt;
|[[Landmine]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|D5}}&lt;br /&gt;
|[[Digging Game Proprietor]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|D6}}&lt;br /&gt;
|[[Ganon]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|D7}}&lt;br /&gt;
|Copy of Ganon, except invincible?&lt;br /&gt;
|-&lt;br /&gt;
|{{$|D8}}&lt;br /&gt;
|[[Heart]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|D9}}&lt;br /&gt;
|[[Green Rupee]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|DA}}&lt;br /&gt;
|[[Blue Rupee]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|DB}}&lt;br /&gt;
|[[Red Rupee]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|DC}}&lt;br /&gt;
|[[Bomb Refill (1)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|DD}}&lt;br /&gt;
|[[Bomb Refill (4)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|DE}}&lt;br /&gt;
|[[Bomb Refill (8)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|DF}}&lt;br /&gt;
|[[Small Magic Refill]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E0}}&lt;br /&gt;
|[[Full Magic Refill]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E1}}&lt;br /&gt;
|[[Arrow Refill (5)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E2}}&lt;br /&gt;
|[[Arrow Refill (10)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E3}}&lt;br /&gt;
|[[Fairy]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E4}}&lt;br /&gt;
|[[Key]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E5}}&lt;br /&gt;
|[[Big Key]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E6}}&lt;br /&gt;
|[[Shield]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E7}}&lt;br /&gt;
|[[Mushroom]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E8}}&lt;br /&gt;
|[[Fake Master Sword]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|E9}}&lt;br /&gt;
|Magic Shop dude / His items, including the magic powder &lt;br /&gt;
|-&lt;br /&gt;
|{{$|EA}}&lt;br /&gt;
|[[Heart Container]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|EB}}&lt;br /&gt;
|[[Heart Piece]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|EC}}&lt;br /&gt;
|Bushes&lt;br /&gt;
|-&lt;br /&gt;
|{{$|ED}}&lt;br /&gt;
|[[Cane Of Somaria Platform]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|EE}}&lt;br /&gt;
|[[Mantle]] &lt;br /&gt;
|-&lt;br /&gt;
|{{$|EF}}&lt;br /&gt;
|[[Sprite $EF|Cane of Somaria Platform (Unused)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|F0}}&lt;br /&gt;
|[[Sprite $F0|Cane of Somaria Platform (Unused)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|F1}}&lt;br /&gt;
|[[Sprite $F1|Cane of Somaria Platform (Unused)]]&lt;br /&gt;
|-&lt;br /&gt;
|{{$|F2}}&lt;br /&gt;
|[[Medallion Tablet]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=822</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=822"/>
				<updated>2017-07-28T16:35:41Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Room Headers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag2]]&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; aka Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rooms==&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Primary Map===&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Secondary Map===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=821</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=821"/>
				<updated>2017-07-28T16:31:02Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Room Headers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic and gets stored to {{$|00AE}}.&lt;br /&gt;
*Byte {{hex|6}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**{{red|a}} = ?&lt;br /&gt;
**The {{blue|b}} bits are &amp;quot;Tag2&amp;quot; in Hyrule Magic and get stored to {{$|00AF}}&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; aka Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rooms==&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Primary Map===&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Secondary Map===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=771</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=771"/>
				<updated>2017-07-22T22:22:26Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* (Inter Room) Torch Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: gets stored to {{$|00AE}} (&amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|6}}: gets stored to {{$|00AF}} (&amp;quot;Tag2&amp;quot; in Hyrule Magic)&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
&lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; aka Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rooms==&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Primary Map===&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Secondary Map===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=770</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=770"/>
				<updated>2017-07-22T22:22:07Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* (Inter Room) Torch Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: gets stored to {{$|00AE}} (&amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|6}}: gets stored to {{$|00AF}} (&amp;quot;Tag2&amp;quot; in Hyrule Magic)&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of: &lt;br /&gt;
{{red|a a }}{{blue|x }}{{green|y }}{{blue|x }}{{green|y }}{{hex|... }}{{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the torch (expressed as tilemap coordinate)&lt;br /&gt;
*{{$|FFFF}}: Delimeter&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; aka Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rooms==&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Primary Map===&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Secondary Map===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Underworld&amp;diff=769</id>
		<title>Underworld</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Underworld&amp;diff=769"/>
				<updated>2017-07-22T22:17:55Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Push Block Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The underworld refers to all indoor locations; including dungeons, caves, and houses.&lt;br /&gt;
&lt;br /&gt;
==Important Hex Addresses==&lt;br /&gt;
===Room Data===&lt;br /&gt;
====Room Headers====&lt;br /&gt;
*{{$|027502}} to {{$|027781}} =  Pointer Table, {{hex|2}} byte local addresses, indexed by room ID.&lt;br /&gt;
*{{$|027781}} to {{$|027FEF}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Headers are {{$|0E}} (Decimal: 14) bytes formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 0}}{{red|aaa}} and stored to {{$|0414}} (&amp;quot;BG2&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 0}}{{blue|bbb}} and stored to {{$|046C}} (&amp;quot;Collision&amp;quot; in Hyrule Magic)&lt;br /&gt;
**The {{green|c}} bit is unused&lt;br /&gt;
**The {{purple|d}} bit is stored to {{$|7EC005}} (If set, use a lights out routine in the room transition)&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|1}}: {{red|aa}}{{blue|bb bbbb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{blue|bbbb bb}}{{hex|00}}, thus making them a multiple of 4.&lt;br /&gt;
This value is used to load 4 different palettes for the dungeon, and corresponds to, you guessed it, Palette # in Hyrule Magic!     &lt;br /&gt;
&lt;br /&gt;
The resulting index is used to load values for {{$|0AB6}}, {{$|0AAC}}, {{$|0AAD}}, and {{$|0AAE}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|2}}: gets stored to {{$|0AA2}} (GFX # in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|3}}: value + #$40 gets stored to {{$|0AA3}} (Sprite GFX # in Hyrule Magic)    &lt;br /&gt;
*Byte {{hex|4}}: gets stored to {{$|00AD}} (&amp;quot;[[Room Effects|Effect]]&amp;quot; in Hyrule Magic)   &lt;br /&gt;
*Byte {{hex|5}}: gets stored to {{$|00AE}} (&amp;quot;[[Room Tags|Tag1]]&amp;quot; in Hyrule Magic)&lt;br /&gt;
*Byte {{hex|6}}: gets stored to {{$|00AF}} (&amp;quot;Tag2&amp;quot; in Hyrule Magic)&lt;br /&gt;
        &lt;br /&gt;
These are the planes to use for bytes {{hex|9}} through {{hex|D}}. This determines which &lt;br /&gt;
BG you appear on, and possibly more.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|7}}: {{red|aa}}{{blue|bb}} {{green|cc}}{{purple|dd}}&lt;br /&gt;
**The {{red|a}} bits are transformed into {{hex|0000 00}}{{red|aa}} and stored to {{$|063F}} &lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|063E}}&lt;br /&gt;
**The {{green|c}} bits are transformed into {{hex|0000 00}}{{green|cc}} and stored to {{$|063D}}&lt;br /&gt;
**The {{purple|d}} bits are transformed into {{hex|0000 00}}{{purple|dd}} and stored to {{$|063C}}&lt;br /&gt;
        &lt;br /&gt;
Note, the only safe values for a plane seem to be {{hex|0}},{{hex|1}}, or {{hex|2}}. Hyrule Magic&lt;br /&gt;
appears to violate this rule by letting you put {{hex|3}} down, but nothing higher.&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|8}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
**The {{red|a}} bits are unused&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|0000 00}}{{blue|bb}} and stored to {{$|0640}}&lt;br /&gt;
        &lt;br /&gt;
*Byte {{hex|9}}: stored to {{$|7EC000}} These are all room numbers that you could possibly exit to.&lt;br /&gt;
*Byte {{hex|A}}: stored to {{$|7EC001}}&lt;br /&gt;
*Byte {{hex|B}}: stored to {{$|7EC002}}&lt;br /&gt;
*Byte {{hex|C}}: stored to {{$|7EC003}}&lt;br /&gt;
*Byte {{hex|D}}: stored to {{$|7EC004}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sprite Data====&lt;br /&gt;
* {{$|04D62E}} to {{$|04D92E}} = Pointer Table, 2 byte local addresses, indexed by room.&lt;br /&gt;
* {{$|04D92E}} to {{$|04EC9D}} = Data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Sprite data is formatted thusly:&lt;br /&gt;
*Byte {{hex|0}}: Stored to {{$|0FB3}}. Corresponds with &amp;quot;Sort Spr&amp;quot; in Hyrule Magic. In a layered room this indicates sprites in the foreground are to be drawn on top of sprites in the background.&lt;br /&gt;
**Bit {{hex|0}} - If {{hex|0}}, sprites will sort&lt;br /&gt;
**Bits {{hex|7,6,5,4,3,2,1}} - Unknown, should all be {{hex|1}}&lt;br /&gt;
After the byte {{hex|0}}, you will see 3 byte clusters that break down thus:  &lt;br /&gt;
&lt;br /&gt;
*Byte {{hex|0}}:&lt;br /&gt;
**Bits {{hex|4,3,2,1,0}} - Y coordinate (in pixels from the top, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
**Bits {{hex|6,5}} - If these are set, they will be used to generate a subtype, stored to {{$|0E30}}, X.&lt;br /&gt;
**Bit {{hex|7}} - If set, the sprite is on BG2, if not it's on BG1 &lt;br /&gt;
* Byte {{hex|1}}:&lt;br /&gt;
** Bits {{hex|4,3,2,1,0}} - X coordinate (in pixels from the far left, starting at {{hex|0}}) of the sprite divided by 16.&lt;br /&gt;
** Bits {{hex|7,6,5}} - If all these bits are set then this is an Overlord, otherwise it's a normal sprite. If only some of them are set they can be used to generate a subtype, stored at {{$|0E30}}, X&lt;br /&gt;
* Byte {{hex|2}}: Sprite or Overlord type. If a sprite, this will get loaded into a slot at {{$|0E20}}, X. If an Overlord, will get loaded to {{$|0B00}}, X.&lt;br /&gt;
    &lt;br /&gt;
The array is terminated with a byte of {{$|FF}}.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Object Data====&lt;br /&gt;
* {{$|0F8000}} to {{$|0F83BF}} = Pointer Table, 3 byte long addresses, indexed by room ID.&lt;br /&gt;
* {{$|01EBA0}} to {{$|01FFF4}} = Data&lt;br /&gt;
* {{$|050000}} to {{$|053729}} = Data&lt;br /&gt;
* {{$|0F8780}} to {{$|0FFF4D}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Byte layout:&lt;br /&gt;
&lt;br /&gt;
* Byte 0: {{red|aaaa}} {{blue|bbbb}}. &lt;br /&gt;
**The a bits are transformed to {{red|aaaa}}{{hex|0000}} and select the type of empty space to fill in. Hyrule Magic calls this 'Floor 1' - Gets stored to {{$|7E0490}}&lt;br /&gt;
**The b bits are transformed to {{blue|bbbb}}{{hex|0000}} and are the what Hyrule Magic calls 'Floor 2' - Gets stored to {{$|7E046A}}&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|1}}: {{red|aaa}}{{blue|b bb}}{{green|c}}{{purple|d}}&lt;br /&gt;
** The {{red|a}} bits are unused and should not be used&lt;br /&gt;
** The {{blue|b}} bits determine the room's layout type, ranging from {{hex|0}} to {{hex|7}}.&lt;br /&gt;
** The {{green|c}} and {{purple|d}} bits are unknown, but I have a feeling it's related to {{$|AA}} and {{$|A9}}&lt;br /&gt;
&lt;br /&gt;
After that the bytes come in {{hex|3}} or {{hex|2}} byte object structures, used by routine {{$|01:88E4}}. Objects are loaded until an object with value {{0x|FFFF}} occurs. If a value {{0x|FFF0}} is loaded, the game will start loading Type 2 objects and will not go back to loading Type 1 objects until it is time to load the next layer. (Layer as in HM, not to be confused with the SNES' Backgrounds.) A value of {{0x|FFFF}} will also terminate the loading of Type 2 objects. The routine immediately terminates if that happens during the loading of either object type.&lt;br /&gt;
&lt;br /&gt;
Type 1 Object structure: (3 bytes):&lt;br /&gt;
&lt;br /&gt;
* Byte {{hex|3}}: Routine to use. If this byte is ≥ {{0x|F8}} and &amp;lt; {{0x|FC}}, then it is a subtype 3 object. If the index is ≥ {{hex|FC}}, it is a subtype 2 object. If not, it is a subtype 1 object.&lt;br /&gt;
&lt;br /&gt;
* Subtype 1 Objects, first and second byte&lt;br /&gt;
** High Byte: {{brown|yyyy yy}}{{green|cc}}&lt;br /&gt;
** Low Byte: {{grey|xxxx xx}}{{red|aa}}&lt;br /&gt;
*** The {{red|a}} bits are stored to {{$|B2}}&lt;br /&gt;
*** The {{green|c}} bits are stored to {{$|B4}}&lt;br /&gt;
*** The {{grey|x}} and {{brown|y}} bits are transformed into:  {{hex|000}}{{brown|y yyyy y}}{{grey|xxx xxx}}{{hex|0}} - This is a tilemap address that indexes into {{$|7E2000}} and / or {{$|7E4000}}&lt;br /&gt;
&lt;br /&gt;
Use Byte {{hex|3}} * 2 as an index into the table at {{$|8200}}. This is the routine that is used to draw and otherwise handle the object. Subtype 1 objects have a maximum width and height of 4. Width and height are measured in terms of 32 {{x}} 32 pixels. (⟸ last part is questionable)&lt;br /&gt;
&lt;br /&gt;
*Subtype 2 Objects, 1st, 2nd, &amp;amp; 3rd bytes:&lt;br /&gt;
** Byte {{hex|3}}: {{white|ff}}{{purple|dd dddd}}&lt;br /&gt;
** Byte {{hex|2}}:  {{pink|eeee}} {{green|cccc}}&lt;br /&gt;
** Byte {{hex|1}}: {{red|aaaa aa}}{{blue|bb}}&lt;br /&gt;
***The {{red|a}} bits are unused, but after all they are the marker for this type of object subtype.&lt;br /&gt;
***The {{blue|b}}, {{green|c}}, {{pink|e}}, and {{white|f}} bits are transformed into a VRAM tilemap address: {{hex|000}}{{green|c ccc}}{{white|f}} {{white|f}}{{blue|bb}}{{pink|e eee}}{{hex|0}}&lt;br /&gt;
&lt;br /&gt;
Might I add this is one messed up format? The {{purple|d}} bits are used as an index into the table at {{$|8470}}. Since such indices are going to be even, the {{purple|d}} bits are transformed into: {{hex|0000 0000 0}}{{purple|ddd ddd}}{{hex|0}}.&lt;br /&gt;
&lt;br /&gt;
*Subtype 3 Objects&lt;br /&gt;
**Similar to Subtype 1, with a few small exceptions.&lt;br /&gt;
**The vram address is calculated the same way. However, {{$|B2}} and {{$|B4}} are not used as length or width dimensions here. The routine that is used is determined as follows:&lt;br /&gt;
**Take the original index (times two) that a Subtype 1 would have used. AND that with {{0x|000E}}. Then shift left 3 times to produce {{hex|0000 0000 0}}{{pink|eee}} {{hex|0000}}. Then, OR in {{$|B2}} and {{$|B4}} and shift left once, so the final result is: {{hex|0000 0000}} {{pink|eee}}{{red|a a}}{{blue|bb}}{{hex|0}}.&lt;br /&gt;
**Also, this value indexes into {{$|85F0}} instead of {{$|8200}}.&lt;br /&gt;
&lt;br /&gt;
Type 2 Object Structure: (2 bytes)&lt;br /&gt;
*High Byte: {{green|cccc cccc}} 	&lt;br /&gt;
*Low Byte: {{blue|bbbb}} {{purple|dd}}{{red|aa}}&lt;br /&gt;
**The {{red|a}} bits form a 2-bit value ({{hex|0000 0}}{{red|aa}}{{hex|0}}) that determines the routine to use for the object. In Hyrule Magic, corresponds to the &amp;quot;direction&amp;quot; of the door.&lt;br /&gt;
**The {{blue|b}} bits are transformed into {{hex|000}}{{blue|b bbb}}{{hex|0}} and stored to {{$|02}} ⟹ X. Corresponds to &amp;quot;Pos&amp;quot; of door objects in the Hyrule Magic. Note that these range from {{0x|00}} to {{0x|16}} (always even) which if you halve those values is 0 - 11 in decimal. This is easily verifiable in Hyrule Magic.&lt;br /&gt;
**The {{green|c}} bits are shifted into the lower byte and stored to {{$|04}} ⟹ A and {{$|0A}}. This is later used to grab the tiles used to draw the door and the area below it. In Hyrule Magic, corresponds to &amp;quot;type&amp;quot;. Note the type is 1/2 of the number listed here. This is because to avoid using an ASL A command, the {{green|c}} bits are always even.&lt;br /&gt;
**The {{purple|d}} bits are unused.&lt;br /&gt;
&lt;br /&gt;
Next I'll go into the nitty gritty of the various types (the value of {{$|04}}). Again note that we'll only be dealing with even values {{blue|b}}/{{green|c}} that's what you'll see in the code. To convert between here [as well as the code] and Hyrule Magic, take the hex value here and divide by two. Convert to decimal and that's your Hyrule Magic &amp;quot;type.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Types:	&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|00}}&lt;br /&gt;
|Basic door. Index = {{$|0460}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|02}}&lt;br /&gt;
|Normal door?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|04}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|06}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|08}}&lt;br /&gt;
|Waterfall door (only used in Swamp palace; in one room at that!)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0A}}&lt;br /&gt;
|???&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|0C}}&lt;br /&gt;
|Trap door (probably other types but this seems to be most common)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|12}}&lt;br /&gt;
|Adds a property to some doors allowing you to exit to the overworld (this is accomplished by writing to the tile attribute map)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|14}}&lt;br /&gt;
|Transition to dark room?&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|16}}&lt;br /&gt;
|Toggles the target BG Link will emerge on. '''Ex.''' if Link starts on BG0 in the next room he'll be on BG1.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|20}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door specifically for BG0.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|22}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|24}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|Locked door for either BG0 or BG1&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|26}}&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|30}}&lt;br /&gt;
|Large exploded pathway resulting from a switch being pulled (unusual to have as a door as it's huge)&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|32}}&lt;br /&gt;
|Sword activated door. '''Ex.''' Agahnim's room with the curtain door you have to slash.&lt;br /&gt;
|-&lt;br /&gt;
|{{0x|46}}&lt;br /&gt;
|warp door?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Secrets Data====&lt;br /&gt;
* {{$|00DB69}} to {{$|00DDE8}} = Pointer Table, 2 byte local addresses, indexed by room ID.&lt;br /&gt;
* {{$|00DDE9}} to {{$|00E6B1}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Data comes in 3 byte chunks and is terminated by an instance of {{$|FFFF}}&lt;br /&gt;
&lt;br /&gt;
* Bytes {{hex|0}}, {{hex|1}}: A word that denotes the VRAM address that the item is found at. This identifies the item as belonging to that part of the screen.&lt;br /&gt;
* Byte {{hex|2}}: Identifies the type of item that is hiding there. E.g. {{$|08}} is a key&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Push Block Data====&lt;br /&gt;
* {{$|0271DE}} to {{$|027369}} = Data&lt;br /&gt;
&amp;lt;Blockquote&amp;gt;&lt;br /&gt;
4 bytes per entry:&lt;br /&gt;
{{red|a a }}{{blue|x }} {{green|y}}&lt;br /&gt;
&lt;br /&gt;
*{{red|a}}: Room number (byte swapped)&lt;br /&gt;
*{{blue|x}}: X Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
*{{green|y}}: Y Position of the block (expressed as tilemap coordinate)&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====(Inter Room) Torch Data====&lt;br /&gt;
* {{$|02736A}} to {{$|027489}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Consists of variable length segments consisting of:&lt;br /&gt;
&lt;br /&gt;
*1st word: Room that the torches belong in&lt;br /&gt;
*After this is a series of words, each one being a tilemap address for a torch.&lt;br /&gt;
This list of torches is terminated by the word value {{0x|FFFF}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Chest Contents====&lt;br /&gt;
*{{$|00E96E}} to {{$|00EB65}} = Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Array of chest information in 3 byte chunks. 168 entries in all ({{0x|A8}})&lt;br /&gt;
&lt;br /&gt;
*First word - Room number it is located in. MSB determines whether it is a big chest or not. (big chest if set)&lt;br /&gt;
*Last byte - index of the type of item contained in the chest.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Entrance Data===&lt;br /&gt;
There are {{$|85}} (Decimal: 133) normal entrances to the underworld from the overworld, and {{$|7}} (Decimal: 7) starting locations.&lt;br /&gt;
Normal entrances and starting locations use mostly the same types of data formatted the same, however they are located in different places in the ROM.&lt;br /&gt;
They are located and formatted thus:&lt;br /&gt;
&lt;br /&gt;
====Entrance Room====&lt;br /&gt;
*{{$|014813}} to {{$|01491C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B6E}} to {{$|015B7B}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte Room ID where the player is placed after using an entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Edges====&lt;br /&gt;
*{{$|01491D}} to {{$|014D44}} = Normal Entrance Data&lt;br /&gt;
*{{$|015B7C}} to {{$|015BB3}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Unsure about what these do exactly.&lt;br /&gt;
Each entry is 8 bytes long.&lt;br /&gt;
*Format: 1 byte each. Corresponds to hyrule magic values in the &amp;quot;More&amp;quot; aka Entrance Properties dialog box.&lt;br /&gt;
**HU - &lt;br /&gt;
**FU - &lt;br /&gt;
**HD - &lt;br /&gt;
**FD - &lt;br /&gt;
**HL - &lt;br /&gt;
**FL - &lt;br /&gt;
**HR - &lt;br /&gt;
**FR -&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Scroll====&lt;br /&gt;
*{{$|014D45}} to {{$|014E4E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BB4}} to {{$|015BC1}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Scroll====&lt;br /&gt;
*{{$|014E4F}} to {{$|014F58}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BC2}} to {{$|015BCF}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Coordinate====&lt;br /&gt;
*{{$|014F59}} to {{$|015062}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BD0}} to {{$|015BDD}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte X coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Coordinate====&lt;br /&gt;
*{{$|015063}} to {{$|01516C}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BDE}} to {{$|015BEB}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each entry is a 2 byte y coordinate where the player starts after using the corresponding entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====X Camera Coordinate====&lt;br /&gt;
*{{$|01516D}} to {{$|015276}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BEC}} to {{$|015BF9}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Y Camera Coordinate====&lt;br /&gt;
*{{$|015277}} to {{$|015380}} = Normal Entrance Data&lt;br /&gt;
*{{$|015BFA}} to {{$|015C07}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Lower bounds for scrolling (upper bounds = this plus 2)&lt;br /&gt;
2 bytes each.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Blockset====&lt;br /&gt;
*{{$|015381}} to {{$|015405}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C08}} to {{$|015C0E}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. This blockset affects walls and a few other things and persists through all rooms the player accesses from this entrance.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Floor Values====&lt;br /&gt;
*{{$|015406}} to {{$|01548A}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C0F}} to {{$|015C15}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This tells us what kind of properties the floor has. 1 byte each:&lt;br /&gt;
*If 1, then it has floors that you can fall through to the next level&lt;br /&gt;
*If 0, I think it means it can be fallen down to&lt;br /&gt;
*If -1, has no pits&lt;br /&gt;
*If -2, ????&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dungeon Values====&lt;br /&gt;
*{{$|01548B}} to {{$|01550F}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C16}} to {{$|015C1C}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 Byte each.&lt;br /&gt;
Dungeons actually in the game are numbered like so {{$|00}}, {{$|02}}, {{$|04}}, ..., {{$|18}}, {{$|1A}}.&lt;br /&gt;
{{$|1C}} and {{$|1E}} are unused (and hence could potentially be added.) Notice they are all even numbers.&lt;br /&gt;
In asm routines these values are divided by two sometimes to provide an index into other arrays.&lt;br /&gt;
That's why. The definition of a &amp;quot;dungeon&amp;quot; is something with a key, compass, and map.&lt;br /&gt;
&lt;br /&gt;
A value of {{$|FF}} (-1) denotes it doesn't belong to a dungeon.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Doorway Type====&lt;br /&gt;
*{{$|015510}} to {{$|015594}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C2B}} to {{$|015C31}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This is used only when you exit the given room. For example, let's say you enter through a skull doorway in Skullwoods.&lt;br /&gt;
But that's not really a door way, it's just a set of tiles that are no different from a hole you might create after picking&lt;br /&gt;
up a big rock. But if you entered from a building door, the game has to know whether to put the door frame when you exit.&lt;br /&gt;
*1 byte:&lt;br /&gt;
**{{hex|0}} = no doorway when exiting&lt;br /&gt;
**{{hex|1}} = draws a door frame upon exiting&lt;br /&gt;
**{{hex|2}} = ???? HM says vertical doorframe. But in the original game, no doorway is vertical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Ladder And BG Settings====&lt;br /&gt;
*{{$|015595}} to {{$|015619}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C1D}} to {{$|015C23}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, with the following 2 bit layout: {{hex|xxx}}{{red|a}}{{pink|xxx}}{{blue|b}}&lt;br /&gt;
**{{hex|x}} - unimportant&lt;br /&gt;
**{{red|a}} - if set, then Link enters on the lower level (BG2)&lt;br /&gt;
**{{blue|b}} - if set... not sure what happens exactly. Check the game engine to be sure.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Horizontal And Vertical Scroll Properties====&lt;br /&gt;
*{{$|01561A}} to {{$|01569E}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C24}} to {{$|015C2A}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
For these, I guess if the flags in the appropriate places are set, then the room will be able to scroll in those directions.&lt;br /&gt;
&lt;br /&gt;
*1 byte each, with the following layout: {{hex|xx}}{{red|a}}{{hex|xxx}}{{blue|b}}{{hex|x}}&lt;br /&gt;
**{{red|a}} - Horizontal flag&lt;br /&gt;
**{{blue|b}} - Vertical flag&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Scroll Quadrant====&lt;br /&gt;
*{{$|01569F}} to {{$|015723}} = Normal Entrance Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
*1 byte each, has four different expected values:&lt;br /&gt;
**0h, 2h, 10h, 12h&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exit Door Location====&lt;br /&gt;
*{{$|015724}} to {{$|01582D}} = Normal Entrance Data&lt;br /&gt;
*{{$|015C32}} to {{$|015C3F}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Denotes X and Y coordinates for overworld?&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Music====&lt;br /&gt;
*{{$|01582E}} to {{$|0158B2}} = Normal Entrance Data (JP: 15592 - 15616)&lt;br /&gt;
*{{$|015C4E}} to {{$|015C54}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 byte each. A value of {{$|FF}} plays the same music as the overworld screen from which the player entered.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Entrance Values====&lt;br /&gt;
*{{$|015C40}} to {{$|015C4D}} = Starting Location Data&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
1 word each. Since the starting locations have to reference an entrance, this is necessary.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rooms==&lt;br /&gt;
Tiles on the underworld maps are referred to as &amp;quot;super-rooms&amp;quot; and can contain 1-4 &amp;quot;sub-rooms.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Primary Map===&lt;br /&gt;
The primary underworld map consists of {{$|FF}} (decimal: 256) super-rooms arranged in a {{$|10}} {{x}} {{$|10}} (decimal: 16 {{x}} 16) square.&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable}}&lt;br /&gt;
! ID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $00|Room {{$|00}}]]&lt;br /&gt;
|Ganon&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $01|Room {{$|01}}]]&lt;br /&gt;
|Hyrule Castle (North Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $02|Room {{$|02}}]]&lt;br /&gt;
|Hyrule Castle (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $03|Room {{$|03}}]]&lt;br /&gt;
|Houlihan Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $04|Room {{$|04}}]]&lt;br /&gt;
|Turtle Rock (Crysta-roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $05|Room {{$|05}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $06|Room {{$|06}}]]&lt;br /&gt;
|Swamp Palace (Arrghus[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $07|Room {{$|07}}]]&lt;br /&gt;
|Tower of Hera (Moldorm[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $08|Room {{$|08}}]]&lt;br /&gt;
|Cave (Healing Fairy)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $09|Room {{$|09}}]]&lt;br /&gt;
|Palace of Darkness&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0A|Room {{$|0A}}]]&lt;br /&gt;
|Palace of Darkness (Stalfos Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0B|Room {{$|0B}}]]&lt;br /&gt;
|Palace of Darkness (Turtle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0C|Room {{$|0C}}]]&lt;br /&gt;
|Ganon's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0D|Room {{$|0D}}]]&lt;br /&gt;
|Ganon's Tower (Agahnim2[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0E|Room {{$|0E}}]]&lt;br /&gt;
|Ice Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $0F|Room {{$|0F}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $10|Room {{$|10}}]]&lt;br /&gt;
|Ganon Evacuation Route&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $11|Room {{$|11}}]]&lt;br /&gt;
|Hyrule Castle (Bombable Stock Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $12|Room {{$|12}}]]&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $13|Room {{$|13}}]]&lt;br /&gt;
|Turtle Rock (Hokku-Bokku Key Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $14|Room {{$|14}}]]&lt;br /&gt;
|Turtle Rock (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $15|Room {{$|15}}]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $16|Room {{$|16}}]]&lt;br /&gt;
|Swamp Palace (Swimming Treadmill)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $17|Room {{$|17}}]]&lt;br /&gt;
|Tower of Hera (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $18|Room {{$|18}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $19|Room {{$|19}}]]&lt;br /&gt;
|Palace of Darkness (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1A|Room {{$|1A}}]]&lt;br /&gt;
|Palace of Darkness (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1B|Room {{$|1B}}]]&lt;br /&gt;
|Palace of Darkness (Mimics / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1C|Room {{$|1C}}]]&lt;br /&gt;
|Ganon's Tower (Ice Armos)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1D|Room {{$|1D}}]]&lt;br /&gt;
|Ganon's Tower (Final Hallway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1E|Room {{$|1E}}]]&lt;br /&gt;
|Ice Palace (Bomb Floor / Bari Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $1F|Room {{$|1F}}]]&lt;br /&gt;
|Ice Palace (Pengator / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $20|Room {{$|20}}]]&lt;br /&gt;
|Agahnim's Tower (Agahnim[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $21|Room {{$|21}}]]&lt;br /&gt;
|Hyrule Castle (Key-rat Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $22|Room {{$|22}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Text Trigger Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $23|Room {{$|23}}]]&lt;br /&gt;
|Turtle Rock (West Exit to Balcony)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $24|Room {{$|24}}]]&lt;br /&gt;
|Turtle Rock (Double Hokku-Bokku / Big chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $25|Room {{$|25}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $26|Room {{$|26}}]]&lt;br /&gt;
|Swamp Palace (Statue Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $27|Room {{$|27}}]]&lt;br /&gt;
|Tower of Hera (Big Chest)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $28|Room {{$|28}}]]&lt;br /&gt;
|Swamp Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $29|Room {{$|29}}]]&lt;br /&gt;
|Skull Woods (Mothula[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2A|Room {{$|2A}}]]&lt;br /&gt;
|Palace of Darkness (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2B|Room {{$|2B}}]]&lt;br /&gt;
|Palace of Darkness (Map Chest / Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2C|Room {{$|2C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2D|Room {{$|2D}}]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2E|Room {{$|2E}}]]&lt;br /&gt;
|Ice Palace (Compass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $2F|Room {{$|2F}}]]&lt;br /&gt;
|Cave (Kakariko Well HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $30|Room {{$|30}}]]&lt;br /&gt;
|Agahnim's Tower (Maiden Sacrifice Chamber)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $31|Room {{$|31}}]]&lt;br /&gt;
|Tower of Hera (Hardhat Beetles Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $32|Room {{$|32}}]]&lt;br /&gt;
|Hyrule Castle (Sewer Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $33|Room {{$|33}}]]&lt;br /&gt;
|Desert Palace (Lanmolas[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $34|Room {{$|34}}]]&lt;br /&gt;
|Swamp Palace (Push Block Puzzle / Pre-Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $35|Room {{$|35}}]]&lt;br /&gt;
|Swamp Palace (Big Key / BS Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $36|Room {{$|36}}]]&lt;br /&gt;
|Swamp Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $37|Room {{$|37}}]]&lt;br /&gt;
|Swamp Palace (Map Chest / Water Fill Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $38|Room {{$|38}}]]&lt;br /&gt;
|Swamp Palace (Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $39|Room {{$|39}}]]&lt;br /&gt;
|Skull Woods (Gibdo Key / Mothula Hole Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3A|Room {{$|3A}}]]&lt;br /&gt;
|Palace of Darkness (Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3B|Room {{$|3B}}]]&lt;br /&gt;
|Palace of Darkness (Spike Block / Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3C|Room {{$|3C}}]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3D|Room {{$|3D}}]]&lt;br /&gt;
|Ganon's Tower (Torch Room 2)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3E|Room {{$|3E}}]]&lt;br /&gt;
|Ice Palace (Stalfos Knights / Conveyor Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $3F|Room {{$|3F}}]]&lt;br /&gt;
|Ice Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $40|Room {{$|40}}]]&lt;br /&gt;
|Agahnim's Tower (Final Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $41|Room {{$|41}}]]&lt;br /&gt;
|Hyrule Castle (First Dark Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $42]]&lt;br /&gt;
|Hyrule Castle (6 Ropes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $43]]&lt;br /&gt;
|Desert Palace (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $44]]&lt;br /&gt;
|Thieves Town (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $45]]&lt;br /&gt;
|Thieves Town (Jail Cells Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $46]]&lt;br /&gt;
|Swamp Palace (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $47]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $48]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $49]]&lt;br /&gt;
|Skull Woods (Gibdo Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4A]]&lt;br /&gt;
|Palace of Darkness (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4B]]&lt;br /&gt;
|Palace of Darkness (Warps / South Mimics Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4C]]&lt;br /&gt;
|Ganon's Tower (Mini-Helmasaur Conveyor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4D]]&lt;br /&gt;
|Ganon's Tower (Moldorm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4E]]&lt;br /&gt;
|Ice Palace (Bomb-Jump Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $4F]]&lt;br /&gt;
|Ice Palace Clone Room (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $50]]&lt;br /&gt;
|Hyrule Castle (West Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $51]]&lt;br /&gt;
|Hyrule Castle (Throne Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $52]]&lt;br /&gt;
|Hyrule Castle (East Corridor)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $53]]&lt;br /&gt;
|Desert Palace (Popos 2 / Beamos Hellway Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $54]]&lt;br /&gt;
|Swamp Palace (Upstairs Pits Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $55]]&lt;br /&gt;
|Castle Secret Entrance / Uncle Death Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $56]]&lt;br /&gt;
|Skull Woods (Key Pot / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $57]]&lt;br /&gt;
|Skull Woods (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $58]]&lt;br /&gt;
|Skull Woods (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $59]]&lt;br /&gt;
|Skull Woods (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5A]]&lt;br /&gt;
|Palace of Darkness (Helmasaur King[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5B]]&lt;br /&gt;
|Ganon's Tower (Spike Pit Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5C]]&lt;br /&gt;
|Ganon's Tower (Ganon-Ball Z)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 1/2/3)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5E]]&lt;br /&gt;
|Ice Palace (Lonely Firebar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $5F]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Spike Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $60]]&lt;br /&gt;
|Hyrule Castle (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $61]]&lt;br /&gt;
|Hyrule Castle (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $62]]&lt;br /&gt;
|Hyrule Castle (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $63]]&lt;br /&gt;
|Desert Palace (Final Section Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $64]]&lt;br /&gt;
|Thieves Town (West Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $65]]&lt;br /&gt;
|Thieves Town (East Attic Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $66]]&lt;br /&gt;
|Swamp Palace (Hidden Chest / Hidden Door Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $67]]&lt;br /&gt;
|Skull Woods (Compass Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $68]]&lt;br /&gt;
|Skull Woods (Key Chest / Trap Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $69]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6A]]&lt;br /&gt;
|Palace of Darkness (Rupee Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6B]]&lt;br /&gt;
|Ganon's Tower (Mimics Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6C]]&lt;br /&gt;
|Ganon's Tower (Lanmolas Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6D]]&lt;br /&gt;
|Ganon's Tower (Gauntlet 4/5)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6E]]&lt;br /&gt;
|Ice Palace (Pengators Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $6F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $70]]&lt;br /&gt;
|Hyrule Castle (Small Corridor to Jail Cells)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $71]]&lt;br /&gt;
|Hyrule Castle (Boomerang Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $72]]&lt;br /&gt;
|Hyrule Castle (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $73]]&lt;br /&gt;
|Desert Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $74]]&lt;br /&gt;
|Desert Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $75]]&lt;br /&gt;
|Desert Palace (Big Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $76]]&lt;br /&gt;
|Swamp Palace (Water Drain Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $77]]&lt;br /&gt;
|Tower of Hera (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $78]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $79]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7B]]&lt;br /&gt;
|Ganon's Tower&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7C]]&lt;br /&gt;
|Ganon's Tower (East Side Collapsing Bridge / Exploding Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7D]]&lt;br /&gt;
|Ganon's Tower (Winder / Warp Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7E]]&lt;br /&gt;
|Ice Palace (Hidden Chest / Bombable Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $7F]]&lt;br /&gt;
|Ice Palace ( Big Spike Traps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $80]]&lt;br /&gt;
|Hyrule Castle (Jail Cell Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $81]]&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $82]]&lt;br /&gt;
|Hyrule Castle (Basement Chasm Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $83]]&lt;br /&gt;
|Desert Palace (West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $84]]&lt;br /&gt;
|Desert Palace (Main Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $85]]&lt;br /&gt;
|Desert Palace (East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $86]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $87]]&lt;br /&gt;
|Tower of Hera (Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $88]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $89]]&lt;br /&gt;
|Eastern Palace (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8B]]&lt;br /&gt;
|Ganon's Tower (Block Puzzle / Spike Skip / Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8C]]&lt;br /&gt;
|Ganon's Tower (East and West Downstairs / Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8D]]&lt;br /&gt;
|Ganon's Tower (Tile / Torch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8E]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $8F]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $90]]&lt;br /&gt;
|Misery Mire (Vitreous[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $91]]&lt;br /&gt;
|Misery Mire (Final Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $92]]&lt;br /&gt;
|Misery Mire (Dark Bomb Wall / Switches Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $93]]&lt;br /&gt;
|Misery Mire (Dark Cane Floor Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $94]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $95]]&lt;br /&gt;
|Ganon's Tower (Final Collapsing Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $96]]&lt;br /&gt;
|Ganon's Tower (Torches 1 Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $97]]&lt;br /&gt;
|Misery Mire (Torch Puzzle / Moving Wall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $98]]&lt;br /&gt;
|Misery Mire (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $99]]&lt;br /&gt;
|Eastern Palace (Eyegore Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9A]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9B]]&lt;br /&gt;
|Ganon's Tower (Many Spikes / Warp Maze Room) &lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9C]]&lt;br /&gt;
|Ganon's Tower (Invisible Floor Maze Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9D]]&lt;br /&gt;
|Ganon's Tower (Compass Chest / Invisible Floor Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9E]]&lt;br /&gt;
|Ice Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $9F]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A0]]&lt;br /&gt;
|Misery Mire (Pre-Vitreous Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A1]]&lt;br /&gt;
|Misery Mire (Fish Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A2]]&lt;br /&gt;
|Misery Mire (Bridge Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A3]]&lt;br /&gt;
|Misery Mire&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A4]]&lt;br /&gt;
|Turtle Rock (Trinexx[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A5]]&lt;br /&gt;
|Ganon's Tower (Wizzrobes Rooms)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A6]]&lt;br /&gt;
|Ganon's Tower (Moldorm Fall Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A7]]&lt;br /&gt;
|Tower of Hera (Fairy Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A8]]&lt;br /&gt;
|Eastern Palace (Stalfos Spawn Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $A9]]&lt;br /&gt;
|Eastern Palace (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AA]]&lt;br /&gt;
|Eastern Palace (Map Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AB]]&lt;br /&gt;
|Thieves Town (Moving Spikes / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AC]]&lt;br /&gt;
|Thieves Town (Blind The Thief[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AE]]&lt;br /&gt;
|Ice Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $AF]]&lt;br /&gt;
|Ice Palace (Ice Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B0]]&lt;br /&gt;
|Agahnim's Tower (Circle of Pots)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B1]]&lt;br /&gt;
|Misery Mire (Hourglass Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B2]]&lt;br /&gt;
|Misery Mire (Slug Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B3]]&lt;br /&gt;
|Misery Mire (Spike Key Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B4]]&lt;br /&gt;
|Turtle Rock (Pre-Trinexx Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B5]]&lt;br /&gt;
|Turtle Rock (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B6]]&lt;br /&gt;
|Turtle Rock (Chain Chomps Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B7]]&lt;br /&gt;
|Turtle Rock (Map Chest / Key Chest / Roller Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B8]]&lt;br /&gt;
|Eastern Palace (Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $B9]]&lt;br /&gt;
|Eastern Palace (Lobby Cannonballs Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BA]]&lt;br /&gt;
|Eastern Palace (Dark Antifairy / Key Pot Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BB]]&lt;br /&gt;
|Thieves Town (Hellway)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BC]]&lt;br /&gt;
|Thieves Town (Conveyor Toilet)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BE]]&lt;br /&gt;
|Ice Palace (Block Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $BF]]&lt;br /&gt;
|Ice Palace Clone Room (Switch Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C0]]&lt;br /&gt;
|Agahnim's Tower (Dark Bridge Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C1]]&lt;br /&gt;
|Misery Mire (Compass Chest / Tile Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C2]]&lt;br /&gt;
|Misery Mire (Big Hub Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C3]]&lt;br /&gt;
|Misery Mire (Big Chest Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C4]]&lt;br /&gt;
|Turtle Rock (Final Crystal Switch Puzzle Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C5]]&lt;br /&gt;
|Turtle Rock (Laser Bridge)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C6]]&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C7]]&lt;br /&gt;
|Turtle Rock (Torch Puzzle)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C8]]&lt;br /&gt;
|Eastern Palace (Armos Knights[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $C9]]&lt;br /&gt;
|Eastern Palace (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CA]]&lt;br /&gt;
|??&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CB]]&lt;br /&gt;
|Thieves Town (North West Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CC]]&lt;br /&gt;
|Thieves Town (North East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CE]]&lt;br /&gt;
|Ice Palace (Hole to Kholdstare Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $CF]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D0]]&lt;br /&gt;
|Agahnim's Tower (Dark Maze)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D1]]&lt;br /&gt;
|Misery Mire (Conveyor Slug / Big Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D2]]&lt;br /&gt;
|Misery Mire (Mire02 / Wizzrobes Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D3]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D4]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D5]]&lt;br /&gt;
|Turtle Rock (Laser Key Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D6]]&lt;br /&gt;
|Turtle Rock (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D8]]&lt;br /&gt;
|Eastern Palace (&amp;quot;Zeldagamer Room&amp;quot; / Pre-Armos Knights Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $D9]]&lt;br /&gt;
|Eastern Palace (Canonball Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DA]]&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DB]]&lt;br /&gt;
|Thieves Town (Main (South West) Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DC]]&lt;br /&gt;
|Thieves Town (South East Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DD]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DE]]&lt;br /&gt;
|Ice Palace (Kholdstare[Boss])&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $DF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E0]]&lt;br /&gt;
|Agahnim's Tower (Entrance Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E1]]&lt;br /&gt;
|Cave (Lost Woods HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E2]]&lt;br /&gt;
|Cave (Lumberjack's Tree HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E3]]&lt;br /&gt;
|Cave (1/2 Magic)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E4]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E5]]&lt;br /&gt;
|Cave (Lost Old Man Final Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E6]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E7]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $E9]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EA]]&lt;br /&gt;
|Cave (Spectacle Rock HP)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $ED]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EE]]&lt;br /&gt;
|Cave (Spiral Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $EF]]&lt;br /&gt;
|Cave (Crystal Switch / 5 Chests Room)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F0]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F1]]&lt;br /&gt;
|Cave (Lost Old Man Starting Cave)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F2]]&lt;br /&gt;
|House&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F3]]&lt;br /&gt;
|House (Old Woman (Sahasrahla's Wife?))&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F4]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F5]]&lt;br /&gt;
|House (Angry Brothers)&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F6]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F7]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F8]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $F9]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FA]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FB]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FC]]&lt;br /&gt;
|Empty Clone Room&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FD]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FE]]&lt;br /&gt;
|Cave&lt;br /&gt;
|-&lt;br /&gt;
|[[Room $FF]]&lt;br /&gt;
|Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Secondary Map===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Main_Page&amp;diff=766</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Main_Page&amp;diff=766"/>
				<updated>2017-07-22T00:57:16Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a wiki dedicated to documenting ''The Legend of Zelda - A Link to the Past''.&lt;br /&gt;
&lt;br /&gt;
[https://discordapp.com/invite/jP5csBn Join the chat!]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=765</id>
		<title>Overworld Areas</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=765"/>
				<updated>2017-07-21T16:51:21Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* How maps are stored */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Overworld}}&lt;br /&gt;
&lt;br /&gt;
{{see|Standard Notation}}&lt;br /&gt;
&lt;br /&gt;
Outdoor areas (also known as the Overworld) come in two flavors: Normal and special. Normal outdoor areas (the Light world and the Dark world) are mirrored 8{{x}}8 grids of 512{{x}}512-pixel cells for a total of 64 cells and a 4096{{x}}4096-pixel area in size. Normal outdoor grid cells can be quadruple in size (1024{{x}}1024 pixels), in which case their indices represent their top-left quadrants and the indices for the other three quadrants they occupy do not occur. Special outdoor areas (such as Zora's Domain) are separate individual mini-areas on their own.&lt;br /&gt;
&lt;br /&gt;
== Area Index ==&lt;br /&gt;
&lt;br /&gt;
In WRAM, there is a byte which indicates whether or not the player is currently in an indoor or outdoor area, and when the player is in an outdoor area, there is a word which contains the index of the outdoor area the player is currently in.&lt;br /&gt;
&lt;br /&gt;
;{{$|7E001B}}[{{$|1}}]&lt;br /&gt;
: 0 while player is outside&lt;br /&gt;
: 1 while player is inside&lt;br /&gt;
&lt;br /&gt;
;{{$|7E008A}}[{{$|2}}]&lt;br /&gt;
: the current area index while player is outside&lt;br /&gt;
: invalid while player is inside&lt;br /&gt;
&lt;br /&gt;
== Player Coordinates ==&lt;br /&gt;
&lt;br /&gt;
''See also: [[Player Position]]''&lt;br /&gt;
&lt;br /&gt;
Let A be the current area index, (Px,Py) be the current absolute player coordinates, and (Lx,Ly) be the local coordinates of the player within the current area.&lt;br /&gt;
&lt;br /&gt;
When the player is in the Light world (area index {{$|00}}..{{$|3F}}), the player's coordinates originate at the top-left corner of area {{$|00}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( A % 8 ) * 512&lt;br /&gt;
Ly = Py - ( A / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in the Dark world (area index {{$|40}}..{{$|7F}}), the player's coordinates originate at the top-left corner of area {{$|40}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( ( A - $40 ) % 8 ) * 512&lt;br /&gt;
Ly = Py - ( ( A - $40 ) / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in a special area (area index {{$|80}} and up), the player's coordinates originate at the top-left corner of the current special area. There are two special areas: {{$|80}} combines the Master Sword area and the area under the bridge east of the player's house, and {{$|81}} is Zora's Domain. Local coordinates within the Master Sword area and within Zora's Domain are equal to the absolute coordinates. The player is in the area under the bridge when their X coordinate is 256 or greater, and their local X coordinate is simply their absolute X coordinate minus 256.&lt;br /&gt;
&lt;br /&gt;
== The Light World and the Dark World ==&lt;br /&gt;
&lt;br /&gt;
The Light world and Dark world mirror each other: Any area index in the Light world refers to an area index in the Dark world of the same size and at the same location, except the Dark world index is increased by {{$|40}}. The following table lists the areas of both worlds by their Light world name for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
! Index (Light World)&lt;br /&gt;
! Index (Dark World)&lt;br /&gt;
! Size (a{{x}}a)&lt;br /&gt;
! Description (for Light World)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|00}} (0)&lt;br /&gt;
|{{$|40}} (64)&lt;br /&gt;
|1024&lt;br /&gt;
|Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|02}} (2)&lt;br /&gt;
|{{$|42}} (66)&lt;br /&gt;
|512&lt;br /&gt;
|Lumberjacks&lt;br /&gt;
|-&lt;br /&gt;
|{{$|03}} (3)&lt;br /&gt;
|{{$|43}} (67)&lt;br /&gt;
|1024&lt;br /&gt;
|Western Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|05}} (5)&lt;br /&gt;
|{{$|45}} (69)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|07}} (7)&lt;br /&gt;
|{{$|47}} (71)&lt;br /&gt;
|512&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0A}} (10)&lt;br /&gt;
|{{$|4A}} (74)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0F}} (15)&lt;br /&gt;
|{{$|4F}} (79)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Zora's Domain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|10}} (16)&lt;br /&gt;
|{{$|50}} (80)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Kakariko Village and Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|11}} (17)&lt;br /&gt;
|{{$|51}} (81)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Fortune Teller&lt;br /&gt;
|-&lt;br /&gt;
|{{$|12}} (18)&lt;br /&gt;
|{{$|52}} (82)&lt;br /&gt;
|512&lt;br /&gt;
|Pond Between Kakariko Village Fortune Teller and Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|13}} (19)&lt;br /&gt;
|{{$|53}} (83)&lt;br /&gt;
|512&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|14}} (20)&lt;br /&gt;
|{{$|54}} (84)&lt;br /&gt;
|512&lt;br /&gt;
|Graveyard&lt;br /&gt;
|-&lt;br /&gt;
|{{$|15}} (21)&lt;br /&gt;
|{{$|55}} (85)&lt;br /&gt;
|512&lt;br /&gt;
|River Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|16}} (22)&lt;br /&gt;
|{{$|56}} (86)&lt;br /&gt;
|512&lt;br /&gt;
|Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|17}} (23)&lt;br /&gt;
|{{$|57}} (87)&lt;br /&gt;
|512&lt;br /&gt;
|East of Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|18}} (24)&lt;br /&gt;
|{{$|58}} (88)&lt;br /&gt;
|1024&lt;br /&gt;
|Kakariko Village&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1A}} (26)&lt;br /&gt;
|{{$|5A}} (90)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Kakariko Village and Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1B}} (27)&lt;br /&gt;
|{{$|5B}} (91)&lt;br /&gt;
|1024&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1D}} (29)&lt;br /&gt;
|{{$|5D}} (93)&lt;br /&gt;
|512&lt;br /&gt;
|Bridge Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1E}} (30)&lt;br /&gt;
|{{$|5E}} (94)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|{{$|22}} (34)&lt;br /&gt;
|{{$|62}} (98)&lt;br /&gt;
|512&lt;br /&gt;
|Smithy&lt;br /&gt;
|-&lt;br /&gt;
|{{$|25}} (37)&lt;br /&gt;
|{{$|65}} (101)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (top)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|28}} (40)&lt;br /&gt;
|{{$|68}} (104)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Maze Race&lt;br /&gt;
|-&lt;br /&gt;
|{{$|29}} (41)&lt;br /&gt;
|{{$|69}} (105)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Library&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2A}} (42)&lt;br /&gt;
|{{$|6A}} (106)&lt;br /&gt;
|512&lt;br /&gt;
|Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2B}} (43)&lt;br /&gt;
|{{$|6B}} (107)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Haunted Grove and Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2C}} (44)&lt;br /&gt;
|{{$|6C}} (108)&lt;br /&gt;
|512&lt;br /&gt;
|Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2D}} (45)&lt;br /&gt;
|{{$|6D}} (109)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (bottom)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2E}} (46)&lt;br /&gt;
|{{$|6E}} (110)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (left)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2F}} (47)&lt;br /&gt;
|{{$|6F}} (111)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (right)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|30}} (48)&lt;br /&gt;
|{{$|70}} (112)&lt;br /&gt;
|1024&lt;br /&gt;
|Desert of Mystery&lt;br /&gt;
|-&lt;br /&gt;
|{{$|32}} (50)&lt;br /&gt;
|{{$|72}} (114)&lt;br /&gt;
|512&lt;br /&gt;
|South of Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|33}} (51)&lt;br /&gt;
|{{$|73}} (115)&lt;br /&gt;
|512&lt;br /&gt;
|Northwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|34}} (52)&lt;br /&gt;
|{{$|74}} (116)&lt;br /&gt;
|512&lt;br /&gt;
|Northeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|35}} (53)&lt;br /&gt;
|{{$|75}} (117)&lt;br /&gt;
|1024&lt;br /&gt;
|Lake Hylia&lt;br /&gt;
|-&lt;br /&gt;
|{{$|37}} (55)&lt;br /&gt;
|{{$|77}} (119)&lt;br /&gt;
|512&lt;br /&gt;
|Ice Cave&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3A}} (58)&lt;br /&gt;
|{{$|7A}} (122)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Desert of Mystery and Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3B}} (59)&lt;br /&gt;
|{{$|7B}} (123)&lt;br /&gt;
|512&lt;br /&gt;
|Southwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3C}} (60)&lt;br /&gt;
|{{$|7C}} (124)&lt;br /&gt;
|512&lt;br /&gt;
|Southeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3F}} (63)&lt;br /&gt;
|{{$|7F}} (127)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Lake Hylia and Ice Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Special Areas ==&lt;br /&gt;
&lt;br /&gt;
;{{$|80}} ― 512{{x}}512&lt;br /&gt;
: Master Sword area ― (0,0) to (255,511)&lt;br /&gt;
: Area under the bridge ― (256,0) to (511,255)&lt;br /&gt;
&lt;br /&gt;
;{{$|81}} ― 512{{x}}512&lt;br /&gt;
: Zora's Domain&lt;br /&gt;
&lt;br /&gt;
==How maps are stored==&lt;br /&gt;
===Compression===&lt;br /&gt;
The background is composed of 32{{x}}32 blocks and are LZ1 compressed.&lt;br /&gt;
&lt;br /&gt;
===Map32 to Map16 Conversion Values===&lt;br /&gt;
* {{0x|18000|1B3FE|3FE}} = Upper leftcorners //end with $FF at 0x1B3FF&lt;br /&gt;
* {{0x|1B400|1E7FE|3FE}} = Upper right corners //end with $FF at 0x1E7FF&lt;br /&gt;
* {{0x|20000|233FE|3FE}} = Lower leftcorners //end with $FF at 0x233FF&lt;br /&gt;
* {{0x|23400|267EE|3FE}} = Lower right corners //end with $FF at 0x267EF&lt;br /&gt;
 &lt;br /&gt;
{{note|1=Theses value come in pack of {{blue|4 bytes}}, followed by {{green|2 bytes}}. The {{green|2 bytes}} are 4 nibble value that are the extension of the {{blue|4 first}}}}&lt;br /&gt;
&lt;br /&gt;
{{example|1=You have theses bytes:&lt;br /&gt;
&lt;br /&gt;
{{blue|05 06 07 08 }}{{green|30 1A}}&lt;br /&gt;
&lt;br /&gt;
* {{blue|05}} become {{$|305}}&lt;br /&gt;
* {{blue|06}} stays {{$|06}}&lt;br /&gt;
* {{blue|07}} become {{$|107}}&lt;br /&gt;
* {{blue|08}} become {{$|A08}}}}&lt;br /&gt;
&lt;br /&gt;
==Map8 to Map16 Conversion Values==&lt;br /&gt;
* {{0x|78000|?????|470?}} = Map8 to Map16 conversion values (8 bytes per tile16), 2 byte each tile8&lt;br /&gt;
* {{red|v}}{{orange|h}}{{green|o}}{{blue|ppp}}{{purple|cc cccccccc}}&lt;br /&gt;
** {{red|v}} = mirror vertical&lt;br /&gt;
** {{orange|h}} = mirror horizontal&lt;br /&gt;
** {{green|o}} = ???&lt;br /&gt;
** {{blue|p}} = priority tile&lt;br /&gt;
** {{purple|c}} = tile index&lt;br /&gt;
&lt;br /&gt;
==Map Size==&lt;br /&gt;
* {{0x|12844|12883}} = 1byte each map&lt;br /&gt;
** {{$|00}} = 512x512pixel map&lt;br /&gt;
** {{$|20}} = 1024x1024 pixel map&lt;br /&gt;
&lt;br /&gt;
==Compressed tile arragement==&lt;br /&gt;
* {{0x|1794D}} = LONGPointers all tiles of maps [High] (mapid3)&lt;br /&gt;
* {{0x|17B2D}} = LONGPointers all tiles of maps [Low](mapid3)&lt;br /&gt;
&lt;br /&gt;
{{Note|Data leading to is compressed using the LZ2 compression {{0x|05D97}}  tiles gfx to load the map (correspond to GFX# in HM) surprisingly overworld only use 32 to 47 LW, 48 to 63 DW, 4 bytes per gfx}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Template:Example&amp;diff=764</id>
		<title>Template:Example</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Template:Example&amp;diff=764"/>
				<updated>2017-07-21T16:40:03Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: Created page with &amp;quot;&amp;lt;includeonly&amp;gt;&amp;lt;div style=&amp;quot;border: 1px solid rgb(150, 150, 0); margin: 0.5em; padding: 0.5em; background-color: rgb(255, 255, 200);&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;'''Example:'''&amp;lt;br&amp;gt;{{{1}}}...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div style=&amp;quot;border: 1px solid rgb(150, 150, 0); margin: 0.5em; padding: 0.5em; background-color: rgb(255, 255, 200);&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;'''Example:'''&amp;lt;br&amp;gt;{{{1}}}&amp;lt;/div&amp;gt;[[Category:Example]]&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Example|Text}}[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=763</id>
		<title>Overworld Areas</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=763"/>
				<updated>2017-07-21T16:30:09Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* The Light World and the Dark World */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Overworld}}&lt;br /&gt;
&lt;br /&gt;
{{see|Standard Notation}}&lt;br /&gt;
&lt;br /&gt;
Outdoor areas (also known as the Overworld) come in two flavors: Normal and special. Normal outdoor areas (the Light world and the Dark world) are mirrored 8{{x}}8 grids of 512{{x}}512-pixel cells for a total of 64 cells and a 4096{{x}}4096-pixel area in size. Normal outdoor grid cells can be quadruple in size (1024{{x}}1024 pixels), in which case their indices represent their top-left quadrants and the indices for the other three quadrants they occupy do not occur. Special outdoor areas (such as Zora's Domain) are separate individual mini-areas on their own.&lt;br /&gt;
&lt;br /&gt;
== Area Index ==&lt;br /&gt;
&lt;br /&gt;
In WRAM, there is a byte which indicates whether or not the player is currently in an indoor or outdoor area, and when the player is in an outdoor area, there is a word which contains the index of the outdoor area the player is currently in.&lt;br /&gt;
&lt;br /&gt;
;{{$|7E001B}}[{{$|1}}]&lt;br /&gt;
: 0 while player is outside&lt;br /&gt;
: 1 while player is inside&lt;br /&gt;
&lt;br /&gt;
;{{$|7E008A}}[{{$|2}}]&lt;br /&gt;
: the current area index while player is outside&lt;br /&gt;
: invalid while player is inside&lt;br /&gt;
&lt;br /&gt;
== Player Coordinates ==&lt;br /&gt;
&lt;br /&gt;
''See also: [[Player Position]]''&lt;br /&gt;
&lt;br /&gt;
Let A be the current area index, (Px,Py) be the current absolute player coordinates, and (Lx,Ly) be the local coordinates of the player within the current area.&lt;br /&gt;
&lt;br /&gt;
When the player is in the Light world (area index {{$|00}}..{{$|3F}}), the player's coordinates originate at the top-left corner of area {{$|00}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( A % 8 ) * 512&lt;br /&gt;
Ly = Py - ( A / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in the Dark world (area index {{$|40}}..{{$|7F}}), the player's coordinates originate at the top-left corner of area {{$|40}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( ( A - $40 ) % 8 ) * 512&lt;br /&gt;
Ly = Py - ( ( A - $40 ) / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in a special area (area index {{$|80}} and up), the player's coordinates originate at the top-left corner of the current special area. There are two special areas: {{$|80}} combines the Master Sword area and the area under the bridge east of the player's house, and {{$|81}} is Zora's Domain. Local coordinates within the Master Sword area and within Zora's Domain are equal to the absolute coordinates. The player is in the area under the bridge when their X coordinate is 256 or greater, and their local X coordinate is simply their absolute X coordinate minus 256.&lt;br /&gt;
&lt;br /&gt;
== The Light World and the Dark World ==&lt;br /&gt;
&lt;br /&gt;
The Light world and Dark world mirror each other: Any area index in the Light world refers to an area index in the Dark world of the same size and at the same location, except the Dark world index is increased by {{$|40}}. The following table lists the areas of both worlds by their Light world name for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
! Index (Light World)&lt;br /&gt;
! Index (Dark World)&lt;br /&gt;
! Size (a{{x}}a)&lt;br /&gt;
! Description (for Light World)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|00}} (0)&lt;br /&gt;
|{{$|40}} (64)&lt;br /&gt;
|1024&lt;br /&gt;
|Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|02}} (2)&lt;br /&gt;
|{{$|42}} (66)&lt;br /&gt;
|512&lt;br /&gt;
|Lumberjacks&lt;br /&gt;
|-&lt;br /&gt;
|{{$|03}} (3)&lt;br /&gt;
|{{$|43}} (67)&lt;br /&gt;
|1024&lt;br /&gt;
|Western Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|05}} (5)&lt;br /&gt;
|{{$|45}} (69)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|07}} (7)&lt;br /&gt;
|{{$|47}} (71)&lt;br /&gt;
|512&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0A}} (10)&lt;br /&gt;
|{{$|4A}} (74)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0F}} (15)&lt;br /&gt;
|{{$|4F}} (79)&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Zora's Domain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|10}} (16)&lt;br /&gt;
|{{$|50}} (80)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Kakariko Village and Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|11}} (17)&lt;br /&gt;
|{{$|51}} (81)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Fortune Teller&lt;br /&gt;
|-&lt;br /&gt;
|{{$|12}} (18)&lt;br /&gt;
|{{$|52}} (82)&lt;br /&gt;
|512&lt;br /&gt;
|Pond Between Kakariko Village Fortune Teller and Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|13}} (19)&lt;br /&gt;
|{{$|53}} (83)&lt;br /&gt;
|512&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|14}} (20)&lt;br /&gt;
|{{$|54}} (84)&lt;br /&gt;
|512&lt;br /&gt;
|Graveyard&lt;br /&gt;
|-&lt;br /&gt;
|{{$|15}} (21)&lt;br /&gt;
|{{$|55}} (85)&lt;br /&gt;
|512&lt;br /&gt;
|River Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|16}} (22)&lt;br /&gt;
|{{$|56}} (86)&lt;br /&gt;
|512&lt;br /&gt;
|Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|17}} (23)&lt;br /&gt;
|{{$|57}} (87)&lt;br /&gt;
|512&lt;br /&gt;
|East of Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|18}} (24)&lt;br /&gt;
|{{$|58}} (88)&lt;br /&gt;
|1024&lt;br /&gt;
|Kakariko Village&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1A}} (26)&lt;br /&gt;
|{{$|5A}} (90)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Kakariko Village and Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1B}} (27)&lt;br /&gt;
|{{$|5B}} (91)&lt;br /&gt;
|1024&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1D}} (29)&lt;br /&gt;
|{{$|5D}} (93)&lt;br /&gt;
|512&lt;br /&gt;
|Bridge Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1E}} (30)&lt;br /&gt;
|{{$|5E}} (94)&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|{{$|22}} (34)&lt;br /&gt;
|{{$|62}} (98)&lt;br /&gt;
|512&lt;br /&gt;
|Smithy&lt;br /&gt;
|-&lt;br /&gt;
|{{$|25}} (37)&lt;br /&gt;
|{{$|65}} (101)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (top)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|28}} (40)&lt;br /&gt;
|{{$|68}} (104)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Maze Race&lt;br /&gt;
|-&lt;br /&gt;
|{{$|29}} (41)&lt;br /&gt;
|{{$|69}} (105)&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Library&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2A}} (42)&lt;br /&gt;
|{{$|6A}} (106)&lt;br /&gt;
|512&lt;br /&gt;
|Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2B}} (43)&lt;br /&gt;
|{{$|6B}} (107)&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Haunted Grove and Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2C}} (44)&lt;br /&gt;
|{{$|6C}} (108)&lt;br /&gt;
|512&lt;br /&gt;
|Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2D}} (45)&lt;br /&gt;
|{{$|6D}} (109)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (bottom)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2E}} (46)&lt;br /&gt;
|{{$|6E}} (110)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (left)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2F}} (47)&lt;br /&gt;
|{{$|6F}} (111)&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (right)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|30}} (48)&lt;br /&gt;
|{{$|70}} (112)&lt;br /&gt;
|1024&lt;br /&gt;
|Desert of Mystery&lt;br /&gt;
|-&lt;br /&gt;
|{{$|32}} (50)&lt;br /&gt;
|{{$|72}} (114)&lt;br /&gt;
|512&lt;br /&gt;
|South of Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|33}} (51)&lt;br /&gt;
|{{$|73}} (115)&lt;br /&gt;
|512&lt;br /&gt;
|Northwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|34}} (52)&lt;br /&gt;
|{{$|74}} (116)&lt;br /&gt;
|512&lt;br /&gt;
|Northeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|35}} (53)&lt;br /&gt;
|{{$|75}} (117)&lt;br /&gt;
|1024&lt;br /&gt;
|Lake Hylia&lt;br /&gt;
|-&lt;br /&gt;
|{{$|37}} (55)&lt;br /&gt;
|{{$|77}} (119)&lt;br /&gt;
|512&lt;br /&gt;
|Ice Cave&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3A}} (58)&lt;br /&gt;
|{{$|7A}} (122)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Desert of Mystery and Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3B}} (59)&lt;br /&gt;
|{{$|7B}} (123)&lt;br /&gt;
|512&lt;br /&gt;
|Southwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3C}} (60)&lt;br /&gt;
|{{$|7C}} (124)&lt;br /&gt;
|512&lt;br /&gt;
|Southeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3F}} (63)&lt;br /&gt;
|{{$|7F}} (127)&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Lake Hylia and Ice Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Special Areas ==&lt;br /&gt;
&lt;br /&gt;
;{{$|80}} ― 512{{x}}512&lt;br /&gt;
: Master Sword area ― (0,0) to (255,511)&lt;br /&gt;
: Area under the bridge ― (256,0) to (511,255)&lt;br /&gt;
&lt;br /&gt;
;{{$|81}} ― 512{{x}}512&lt;br /&gt;
: Zora's Domain&lt;br /&gt;
&lt;br /&gt;
==How maps are stored==&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
&lt;br /&gt;
The background is composed of 32{{x}}32 blocks and are LZ1 compressed.&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=762</id>
		<title>Overworld Areas</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Overworld_Areas&amp;diff=762"/>
				<updated>2017-07-21T16:18:03Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* How maps are stored */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{subpage|Overworld}}&lt;br /&gt;
&lt;br /&gt;
{{see|Standard Notation}}&lt;br /&gt;
&lt;br /&gt;
Outdoor areas (also known as the Overworld) come in two flavors: Normal and special. Normal outdoor areas (the Light world and the Dark world) are mirrored 8{{x}}8 grids of 512{{x}}512-pixel cells for a total of 64 cells and a 4096{{x}}4096-pixel area in size. Normal outdoor grid cells can be quadruple in size (1024{{x}}1024 pixels), in which case their indices represent their top-left quadrants and the indices for the other three quadrants they occupy do not occur. Special outdoor areas (such as Zora's Domain) are separate individual mini-areas on their own.&lt;br /&gt;
&lt;br /&gt;
== Area Index ==&lt;br /&gt;
&lt;br /&gt;
In WRAM, there is a byte which indicates whether or not the player is currently in an indoor or outdoor area, and when the player is in an outdoor area, there is a word which contains the index of the outdoor area the player is currently in.&lt;br /&gt;
&lt;br /&gt;
;{{$|7E001B}}[{{$|1}}]&lt;br /&gt;
: 0 while player is outside&lt;br /&gt;
: 1 while player is inside&lt;br /&gt;
&lt;br /&gt;
;{{$|7E008A}}[{{$|2}}]&lt;br /&gt;
: the current area index while player is outside&lt;br /&gt;
: invalid while player is inside&lt;br /&gt;
&lt;br /&gt;
== Player Coordinates ==&lt;br /&gt;
&lt;br /&gt;
''See also: [[Player Position]]''&lt;br /&gt;
&lt;br /&gt;
Let A be the current area index, (Px,Py) be the current absolute player coordinates, and (Lx,Ly) be the local coordinates of the player within the current area.&lt;br /&gt;
&lt;br /&gt;
When the player is in the Light world (area index {{$|00}}..{{$|3F}}), the player's coordinates originate at the top-left corner of area {{$|00}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( A % 8 ) * 512&lt;br /&gt;
Ly = Py - ( A / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in the Dark world (area index {{$|40}}..{{$|7F}}), the player's coordinates originate at the top-left corner of area {{$|40}}, and the coordinates can be calculated as follows.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Lx = Px - ( ( A - $40 ) % 8 ) * 512&lt;br /&gt;
Ly = Py - ( ( A - $40 ) / 8 ) * 512&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the player is in a special area (area index {{$|80}} and up), the player's coordinates originate at the top-left corner of the current special area. There are two special areas: {{$|80}} combines the Master Sword area and the area under the bridge east of the player's house, and {{$|81}} is Zora's Domain. Local coordinates within the Master Sword area and within Zora's Domain are equal to the absolute coordinates. The player is in the area under the bridge when their X coordinate is 256 or greater, and their local X coordinate is simply their absolute X coordinate minus 256.&lt;br /&gt;
&lt;br /&gt;
== The Light World and the Dark World ==&lt;br /&gt;
&lt;br /&gt;
The Light world and Dark world mirror each other: Any area index in the Light world refers to an area index in the Dark world of the same size and at the same location, except the Dark world index is increased by {{$|40}}. The following table lists the areas of both worlds by their Light world name for simplicity.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
! Index (Light World)&lt;br /&gt;
! Location (Light World)&lt;br /&gt;
! Index (Dark World)&lt;br /&gt;
! Location (Dark World)&lt;br /&gt;
! Size (a{{x}}a)&lt;br /&gt;
! Description (for Light World)&lt;br /&gt;
|-&lt;br /&gt;
|{{$|00}} (0)&lt;br /&gt;
|{{address|0x|8008|????}}(?)&lt;br /&gt;
|{{$|40}} (64)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|02}} (2)&lt;br /&gt;
|&lt;br /&gt;
|{{$|42}} (66)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Lumberjacks&lt;br /&gt;
|-&lt;br /&gt;
|{{$|03}} (3)&lt;br /&gt;
|&lt;br /&gt;
|{{$|43}} (67)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Western Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|05}} (5)&lt;br /&gt;
|&lt;br /&gt;
|{{$|45}} (69)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|07}} (7)&lt;br /&gt;
|&lt;br /&gt;
|{{$|47}} (71)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Turtle Rock&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0A}} (10)&lt;br /&gt;
|&lt;br /&gt;
|{{$|4A}} (74)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Death Mountain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|0F}} (15)&lt;br /&gt;
|&lt;br /&gt;
|{{$|4F}} (79)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Entrance to Zora's Domain&lt;br /&gt;
|-&lt;br /&gt;
|{{$|10}} (16)&lt;br /&gt;
|&lt;br /&gt;
|{{$|50}} (80)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Kakariko Village and Lost Woods&lt;br /&gt;
|-&lt;br /&gt;
|{{$|11}} (17)&lt;br /&gt;
|&lt;br /&gt;
|{{$|51}} (81)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Fortune Teller&lt;br /&gt;
|-&lt;br /&gt;
|{{$|12}} (18)&lt;br /&gt;
|&lt;br /&gt;
|{{$|52}} (82)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Pond Between Kakariko Village Fortune Teller and Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|13}} (19)&lt;br /&gt;
|&lt;br /&gt;
|{{$|53}} (83)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|{{$|14}} (20)&lt;br /&gt;
|&lt;br /&gt;
|{{$|54}} (84)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Graveyard&lt;br /&gt;
|-&lt;br /&gt;
|{{$|15}} (21)&lt;br /&gt;
|&lt;br /&gt;
|{{$|55}} (85)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|River Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|16}} (22)&lt;br /&gt;
|&lt;br /&gt;
|{{$|56}} (86)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|17}} (23)&lt;br /&gt;
|&lt;br /&gt;
|{{$|57}} (87)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|East of Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|18}} (24)&lt;br /&gt;
|&lt;br /&gt;
|{{$|58}} (88)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Kakariko Village&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1A}} (26)&lt;br /&gt;
|&lt;br /&gt;
|{{$|5A}} (90)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Kakariko Village and Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1B}} (27)&lt;br /&gt;
|&lt;br /&gt;
|{{$|5B}} (91)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Hyrule Castle&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1D}} (29)&lt;br /&gt;
|&lt;br /&gt;
|{{$|5D}} (93)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Bridge Between Graveyard and Witch's Hut&lt;br /&gt;
|-&lt;br /&gt;
|{{$|1E}} (30)&lt;br /&gt;
|&lt;br /&gt;
|{{$|5E}} (94)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Eastern Palace&lt;br /&gt;
|-&lt;br /&gt;
|{{$|22}} (34)&lt;br /&gt;
|&lt;br /&gt;
|{{$|62}} (98)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Smithy&lt;br /&gt;
|-&lt;br /&gt;
|{{$|25}} (37)&lt;br /&gt;
|&lt;br /&gt;
|{{$|65}} (101)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (top)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{$|28}} (40)&lt;br /&gt;
|&lt;br /&gt;
|{{$|68}} (104)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Maze Race&lt;br /&gt;
|-&lt;br /&gt;
|{{$|29}} (41)&lt;br /&gt;
|&lt;br /&gt;
|{{$|69}} (105)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Kakariko Village Library&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2A}} (42)&lt;br /&gt;
|&lt;br /&gt;
|{{$|6A}} (106)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2B}} (43)&lt;br /&gt;
|&lt;br /&gt;
|{{$|6B}} (107)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Forest Between Haunted Grove and Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2C}} (44)&lt;br /&gt;
|&lt;br /&gt;
|{{$|6C}} (108)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Link's House&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2D}} (45)&lt;br /&gt;
|&lt;br /&gt;
|{{$|6D}} (109)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Hyrule Castle and Eastern Palace}} (bottom)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2E}} (46)&lt;br /&gt;
|&lt;br /&gt;
|{{$|6E}} (110)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (left)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{$|2F}} (47)&lt;br /&gt;
|&lt;br /&gt;
|{{$|6F}} (111)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Caves South of Eastern Palace (right)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|{{$|30}} (48)&lt;br /&gt;
|&lt;br /&gt;
|{{$|70}} (112)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Desert of Mystery&lt;br /&gt;
|-&lt;br /&gt;
|{{$|32}} (50)&lt;br /&gt;
|&lt;br /&gt;
|{{$|72}} (114)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|South of Haunted Grove&lt;br /&gt;
|-&lt;br /&gt;
|{{$|33}} (51)&lt;br /&gt;
|&lt;br /&gt;
|{{$|73}} (115)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Northwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|34}} (52)&lt;br /&gt;
|&lt;br /&gt;
|{{$|74}} (116)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Northeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|35}} (53)&lt;br /&gt;
|&lt;br /&gt;
|{{$|75}} (117)&lt;br /&gt;
|&lt;br /&gt;
|1024&lt;br /&gt;
|Lake Hylia&lt;br /&gt;
|-&lt;br /&gt;
|{{$|37}} (55)&lt;br /&gt;
|&lt;br /&gt;
|{{$|77}} (119)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Ice Cave&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3A}} (58)&lt;br /&gt;
|&lt;br /&gt;
|{{$|7A}} (122)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Desert of Mystery and Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3B}} (59)&lt;br /&gt;
|&lt;br /&gt;
|{{$|7B}} (123)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Southwestern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3C}} (60)&lt;br /&gt;
|&lt;br /&gt;
|{{$|7C}} (124)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Southeastern Great Swamp&lt;br /&gt;
|-&lt;br /&gt;
|{{$|3F}} (63)&lt;br /&gt;
|&lt;br /&gt;
|{{$|7F}} (127)&lt;br /&gt;
|&lt;br /&gt;
|512&lt;br /&gt;
|Path Between Lake Hylia and Ice Cave&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Special Areas ==&lt;br /&gt;
&lt;br /&gt;
;{{$|80}} ― 512{{x}}512&lt;br /&gt;
: Master Sword area ― (0,0) to (255,511)&lt;br /&gt;
: Area under the bridge ― (256,0) to (511,255)&lt;br /&gt;
&lt;br /&gt;
;{{$|81}} ― 512{{x}}512&lt;br /&gt;
: Zora's Domain&lt;br /&gt;
&lt;br /&gt;
==How maps are stored==&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
&lt;br /&gt;
The background is composed of 32{{x}}32 blocks and are LZ1 compressed.&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Monologue&amp;diff=745</id>
		<title>Monologue</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Monologue&amp;diff=745"/>
				<updated>2017-07-02T19:24:20Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Pointers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Font ==&lt;br /&gt;
&lt;br /&gt;
The Japanese font is compressed.&lt;br /&gt;
&lt;br /&gt;
The font for the English version is in the uncompressed 2BPP format.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!English&lt;br /&gt;
!German&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Font_(U).png|256px]]&lt;br /&gt;
|[[File:Font_(G).png|256px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* The German version's font is shorter by one pixel in some cases.&lt;br /&gt;
* The arrows are largers in the German version.&lt;br /&gt;
* The German version uses more graphic space.&lt;br /&gt;
* Certain characters are different like &amp;quot;C&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The German version has additional font characters at {{0x|77500}} for the menu screen in the uncompressed 2BPP format. The English releases has the font compressed as 3BPP in a different locaiton.&lt;br /&gt;
&lt;br /&gt;
== English version ==&lt;br /&gt;
&lt;br /&gt;
=== Pointers ===&lt;br /&gt;
&lt;br /&gt;
Each dialogue entry in the game doesn't have a pointer, rather, the pointers for each entry are generated while the game runs through some calculations. As a result, we have &amp;lt;u&amp;gt;two&amp;lt;/u&amp;gt; pointers for the dialogue, which is split up into &amp;lt;u&amp;gt;two&amp;lt;/u&amp;gt; banks.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!&lt;br /&gt;
!Lo&lt;br /&gt;
!Hi&lt;br /&gt;
!Bank&lt;br /&gt;
!Assembled pointer&lt;br /&gt;
!Size&lt;br /&gt;
|-&lt;br /&gt;
!Bank 1&lt;br /&gt;
|{{0x|753F5}}&lt;br /&gt;
|{{0x|753F6}}&lt;br /&gt;
|{{0x|753EF}}&lt;br /&gt;
|{{0x|E0000}}&lt;br /&gt;
|{{$|8000}}&lt;br /&gt;
|-&lt;br /&gt;
!Bank 2&lt;br /&gt;
|{{0x|75437}}&lt;br /&gt;
|{{0x|75438}}&lt;br /&gt;
|{{0x|7543C}}&lt;br /&gt;
|{{0x|75F40}}&lt;br /&gt;
|{{$|14C0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;assembled pointer&amp;quot; is the address where the dialogue is located at. The size of the monologues isn't actually a stored value.&lt;br /&gt;
&lt;br /&gt;
=== Widths ===&lt;br /&gt;
&lt;br /&gt;
The widths for each character are located at {{address|0x|74ADF|74B41|62}}&lt;br /&gt;
&lt;br /&gt;
=== DTE ===&lt;br /&gt;
&lt;br /&gt;
The English version uses DTE compression. The pointer starts at {{0x|74703}} with {{$|61}} entries. The pointers are two bytes long in {{hex|LO HI}} order. The dictionary entries are in the same bank so the bank value is implied. The dictionary values have no delimiter, the end of each entry is calculated by the next pointer. The last entry is three bytes long (not sure how this is determined in the game). There is zero room for expansion because code starts immediately after the DTE table.&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Monologue&amp;diff=744</id>
		<title>Monologue</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Monologue&amp;diff=744"/>
				<updated>2017-07-02T19:22:46Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* English version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Font ==&lt;br /&gt;
&lt;br /&gt;
The Japanese font is compressed.&lt;br /&gt;
&lt;br /&gt;
The font for the English version is in the uncompressed 2BPP format.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!English&lt;br /&gt;
!German&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Font_(U).png|256px]]&lt;br /&gt;
|[[File:Font_(G).png|256px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* The German version's font is shorter by one pixel in some cases.&lt;br /&gt;
* The arrows are largers in the German version.&lt;br /&gt;
* The German version uses more graphic space.&lt;br /&gt;
* Certain characters are different like &amp;quot;C&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The German version has additional font characters at {{0x|77500}} for the menu screen in the uncompressed 2BPP format. The English releases has the font compressed as 3BPP in a different locaiton.&lt;br /&gt;
&lt;br /&gt;
== English version ==&lt;br /&gt;
&lt;br /&gt;
=== Pointers ===&lt;br /&gt;
&lt;br /&gt;
Each dialogue entry in the game doesn't have a pointer, rather, the pointers for each entry are generated while the game runs through some calculations. As a result, we have &amp;lt;u&amp;gt;two&amp;lt;/u&amp;gt; pointers for the dialogue which is split up into &amp;lt;u&amp;gt;two&amp;lt;/u&amp;gt; banks.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!&lt;br /&gt;
!Lo&lt;br /&gt;
!Hi&lt;br /&gt;
!Bank&lt;br /&gt;
!Assembled pointer&lt;br /&gt;
!Size&lt;br /&gt;
|-&lt;br /&gt;
!Bank 1&lt;br /&gt;
|{{0x|753F5}}&lt;br /&gt;
|{{0x|753F6}}&lt;br /&gt;
|{{0x|753EF}}&lt;br /&gt;
|{{0x|E0000}}&lt;br /&gt;
|{{$|8000}}&lt;br /&gt;
|-&lt;br /&gt;
!Bank 2&lt;br /&gt;
|{{0x|75437}}&lt;br /&gt;
|{{0x|75438}}&lt;br /&gt;
|{{0x|7543C}}&lt;br /&gt;
|{{0x|75F40}}&lt;br /&gt;
|{{$|14C0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;assembled pointer&amp;quot; is the address where the dialogue is located at. The size of the monologues isn't actually a stored value.&lt;br /&gt;
&lt;br /&gt;
=== Widths ===&lt;br /&gt;
&lt;br /&gt;
The widths for each character are located at {{address|0x|74ADF|74B41|62}}&lt;br /&gt;
&lt;br /&gt;
=== DTE ===&lt;br /&gt;
&lt;br /&gt;
The English version uses DTE compression. The pointer starts at {{0x|74703}} with {{$|61}} entries. The pointers are two bytes long in {{hex|LO HI}} order. The dictionary entries are in the same bank so the bank value is implied. The dictionary values have no delimiter, the end of each entry is calculated by the next pointer. The last entry is three bytes long (not sure how this is determined in the game). There is zero room for expansion because code starts immediately after the DTE table.&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Monologue&amp;diff=743</id>
		<title>Monologue</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Monologue&amp;diff=743"/>
				<updated>2017-07-02T19:14:19Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Pointers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Font ==&lt;br /&gt;
&lt;br /&gt;
The Japanese font is compressed.&lt;br /&gt;
&lt;br /&gt;
The font for the English version is in the uncompressed 2BPP format.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!English&lt;br /&gt;
!German&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Font_(U).png|256px]]&lt;br /&gt;
|[[File:Font_(G).png|256px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* The German version's font is shorter by one pixel in some cases.&lt;br /&gt;
* The arrows are largers in the German version.&lt;br /&gt;
* The German version uses more graphic space.&lt;br /&gt;
* Certain characters are different like &amp;quot;C&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The German version has additional font characters at {{0x|77500}} for the menu screen in the uncompressed 2BPP format. The English releases has the font compressed as 3BPP in a different locaiton.&lt;br /&gt;
&lt;br /&gt;
== English version ==&lt;br /&gt;
&lt;br /&gt;
=== Pointers ===&lt;br /&gt;
&lt;br /&gt;
Each dialogue entry in the game doesn't have a pointer, rather, the pointers for each entry are generated while the game runs through some calculations. As a result, we have &amp;lt;u&amp;gt;two&amp;lt;/u&amp;gt; pointers for the dialogue which is split up into &amp;lt;u&amp;gt;two&amp;lt;/u&amp;gt; banks.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!&lt;br /&gt;
!Lo&lt;br /&gt;
!Hi&lt;br /&gt;
!Bank&lt;br /&gt;
!Assembled pointer&lt;br /&gt;
!Size&lt;br /&gt;
|-&lt;br /&gt;
!Bank 1&lt;br /&gt;
|{{0x|753F5}}&lt;br /&gt;
|{{0x|753F6}}&lt;br /&gt;
|{{0x|753EF}}&lt;br /&gt;
|{{0x|E0000}}&lt;br /&gt;
|{{$|8000}}&lt;br /&gt;
|-&lt;br /&gt;
!Bank 2&lt;br /&gt;
|{{0x|75437}}&lt;br /&gt;
|{{0x|75438}}&lt;br /&gt;
|{{0x|7543C}}&lt;br /&gt;
|{{0x|75F40}}&lt;br /&gt;
|{{$|14C0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;assembled pointer&amp;quot; is the address where the dialogue is located at. The size of the monologues isn't actually a stored value.&lt;br /&gt;
&lt;br /&gt;
=== Widths ===&lt;br /&gt;
&lt;br /&gt;
The widths for each character are located at {{address|0x|74ADF|74B41|62}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Monologue&amp;diff=742</id>
		<title>Monologue</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Monologue&amp;diff=742"/>
				<updated>2017-07-02T19:12:27Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* Font */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Font ==&lt;br /&gt;
&lt;br /&gt;
The Japanese font is compressed.&lt;br /&gt;
&lt;br /&gt;
The font for the English version is in the uncompressed 2BPP format.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!English&lt;br /&gt;
!German&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Font_(U).png|256px]]&lt;br /&gt;
|[[File:Font_(G).png|256px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* The German version's font is shorter by one pixel in some cases.&lt;br /&gt;
* The arrows are largers in the German version.&lt;br /&gt;
* The German version uses more graphic space.&lt;br /&gt;
* Certain characters are different like &amp;quot;C&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The German version has additional font characters at {{0x|77500}} for the menu screen in the uncompressed 2BPP format. The English releases has the font compressed as 3BPP in a different locaiton.&lt;br /&gt;
&lt;br /&gt;
== English version ==&lt;br /&gt;
&lt;br /&gt;
=== Pointers ===&lt;br /&gt;
&lt;br /&gt;
Each dialogue entry in the game doesn't have a pointer, rather, the pointers for each entry are generated while the game runs through some calculations. As a result, we have two pointers for the dialogue which is split up into two banks.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!&lt;br /&gt;
!Lo&lt;br /&gt;
!Hi&lt;br /&gt;
!Bank&lt;br /&gt;
!Assembled pointer&lt;br /&gt;
!Size&lt;br /&gt;
|-&lt;br /&gt;
!Bank 1&lt;br /&gt;
|{{0x|753F5}}&lt;br /&gt;
|{{0x|753F6}}&lt;br /&gt;
|{{0x|753EF}}&lt;br /&gt;
|{{0x|E0000}}&lt;br /&gt;
|{{$|8000}}&lt;br /&gt;
|-&lt;br /&gt;
!Bank 2&lt;br /&gt;
|{{0x|75437}}&lt;br /&gt;
|{{0x|75438}}&lt;br /&gt;
|{{0x|7543C}}&lt;br /&gt;
|{{0x|75F40}}&lt;br /&gt;
|{{$|14C0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;assembled pointer&amp;quot; is the address where the dialogue is located at. The size of the monologues isn't actually a stored value.&lt;br /&gt;
&lt;br /&gt;
=== Widths ===&lt;br /&gt;
&lt;br /&gt;
The widths for each character are located at {{address|0x|74ADF|74B41|62}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	<entry>
		<id>http://alttp.run/hacking/index.php?title=Monologue&amp;diff=741</id>
		<title>Monologue</title>
		<link rel="alternate" type="text/html" href="http://alttp.run/hacking/index.php?title=Monologue&amp;diff=741"/>
				<updated>2017-07-02T19:11:14Z</updated>
		
		<summary type="html">&lt;p&gt;Tatters: /* English version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Font ==&lt;br /&gt;
&lt;br /&gt;
The Japanese font is compressed.&lt;br /&gt;
&lt;br /&gt;
The font for the English version is in the uncompressed 2BPP format.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!English&lt;br /&gt;
!German&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Font_(U).png|256px]]&lt;br /&gt;
|[[File:Font_(G).png|256px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* The German version's font is smaller by one pixel.&lt;br /&gt;
* The arrows are largers in the German version.&lt;br /&gt;
* The German version uses more graphic space.&lt;br /&gt;
&lt;br /&gt;
The German version has additional font characters at {{0x|77500}} for the menu screen in the uncompressed 2BPP format. The English releases has the font compressed as 3BPP in a different locaiton.&lt;br /&gt;
&lt;br /&gt;
== English version ==&lt;br /&gt;
&lt;br /&gt;
=== Pointers ===&lt;br /&gt;
&lt;br /&gt;
Each dialogue entry in the game doesn't have a pointer, rather, the pointers for each entry are generated while the game runs through some calculations. As a result, we have two pointers for the dialogue which is split up into two banks.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
!&lt;br /&gt;
!Lo&lt;br /&gt;
!Hi&lt;br /&gt;
!Bank&lt;br /&gt;
!Assembled pointer&lt;br /&gt;
!Size&lt;br /&gt;
|-&lt;br /&gt;
!Bank 1&lt;br /&gt;
|{{0x|753F5}}&lt;br /&gt;
|{{0x|753F6}}&lt;br /&gt;
|{{0x|753EF}}&lt;br /&gt;
|{{0x|E0000}}&lt;br /&gt;
|{{$|8000}}&lt;br /&gt;
|-&lt;br /&gt;
!Bank 2&lt;br /&gt;
|{{0x|75437}}&lt;br /&gt;
|{{0x|75438}}&lt;br /&gt;
|{{0x|7543C}}&lt;br /&gt;
|{{0x|75F40}}&lt;br /&gt;
|{{$|14C0}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;assembled pointer&amp;quot; is the address where the dialogue is located at. The size of the monologues isn't actually a stored value.&lt;br /&gt;
&lt;br /&gt;
=== Widths ===&lt;br /&gt;
&lt;br /&gt;
The widths for each character are located at {{address|0x|74ADF|74B41|62}}&lt;br /&gt;
&lt;br /&gt;
{{toc}}&lt;/div&gt;</summary>
		<author><name>Tatters</name></author>	</entry>

	</feed>