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