A Link to the Past

Wrong Warp

A wrong warp is a major glitch that involves using a pit in a room to transfer the player to a room which is not intended to be accessed by the former.

Some pits physically exist in the normal game but are shielded by boundaries that don't allow the player to access them. These pits typically lead to a wrong warp by default if the player can find a way to access them. Examples of this include Ganonpot and Turtle Rock lava dive. Other wrong warps require using transition corruptions that either:

  1. Spoof data from a supertile that has the "pit damages player" flag on to one that has it off. When this happens, a void in a room (a pit that would normally damage Link for 1 heart and warp him back to where he entered the room) will start to behave as if it's a pit transition instead.
  2. Adds pits to a room that normally has none via overlay corruption.

Warp map

Supertiles on the underworld map have a warp destination that links to another supertile's room ID. This is used to determine where to place Link when he falls in a pit or steps on a telepad. Every supertile has a warp destination, whether there's an intended warp or not.

The table below shows the full grid of the underworld and the room ID that will be used as a warp destination from each supertile.

IDx0x1x2x3x4x5x6x7x8x9xAxBxCxDxExF
0x1000000200050517074B096A000B0001
1x01000D0D0D0000271207000000003E00
2x010D0D0D080000310007070012060602
3x007700080008080800290A000E960000
4x0000000A0A0009070707000900A600BE
5x000000003409090909070E0E00007E00
6x0000000000AC000907000000000B0000
7x00000005050800A79D9D9D9D0E9B9E00
8x0005050505050000A9A90E0E1C0B000C
9x0C000C000E0E00D100007D7D0E7BBE0C
Ax000C000C0E00001705890A000B000002
Bx00B20C0D0000000D05050A0A004F4F02
Cx000C0C0D000D0D05050A0B0B0BDEDE00
Dx00B10005050D0D050505000B0B060600
Ex0006061406060606F8FAFAFBFDFDFEFF
Fx06060000060600000006000000000600

Technical explanation

The wrong warp destinations may seem completely random, but there's a logic to it.

Each supertile ID is associated with a list of up to 14 header values that provide the game information about the supertile (what palette to use, what effects to use, where do the stair exits go, etc.). The 9th slot in the header defines the warp destination, and slots 10-13 (we're counting from 0, so 13 is the final slot) are used for defining stair exits.

With that knowledge in mind, the following patterns can be observed:

  1. If a supertile has an intended warp destination (whether by dropping into a pit or through stepping on a telepad), the warp destination will be set to the room ID of where the game wants to warp Link to. This is the game working normally.
  2. If a supertile doesn't have an intended warp destination, one of three things will happen:
    1. If the supertile has stair exits, the 9th slot of the header needs to be defined in order to define the stair exit destinations. When this is the case, the devs just used 0 as a stand-in on the warp destination. This results in these supertiles wrong warping to the supertile with ID 00, which is Ganon's supertile. An example of this is the Hyrule Castle main hall room (room ID 0x61). This room has no intended warps, and there's a stair exit to the throne room. If the player can glitch to trigger a warp, it will go to Ganon.
    2. If a supertile doesn't have stair exits, the devs felt no need to define those values in the supertiles headers. And for that matter, the room also doesn't have a warp destination, so by the same logic, why define that value? This leads to these supertiles just not defining the last several header values at all. But if you do happen to trigger a warp from one of these rooms, the game will still index to the headers list by the current supertile's room ID and add 9 (9 because that's the offset for the warp destination) to figure out where to place Link. This leads to the warp destination value being some byte that's read from the next set of header values. Usually the next set will belong to the room that's +1 by ID compared to the current one, but not always. An example of this type of wrong warp would be the one from falling in the lava in Turtle Rock's lava room. TR lava room has a room ID of 0x14. The room has no stair exits, and it has no intended warp. Its warp destination eds up taking the value of the blockset from room 0x15 (the tunnel room in TR), whose header values are defined immediately after the lava room's. The blockset in the tunnel room is 0x0D, which is the ID for Agahnim2's supertile.
    3. Sometimes two or more supertiles are similar enough that the devs just had them point to the same group of header values. When this is the case, these rooms will all share a warp destination. An example of this is rooms with IDs 0xB7 (TR's roller room), 0xC6 (TR's platform lobby), and 0xD6 (the supertile containing TR's entrance and compass chest rooms). These rooms all have the same header data requirements, so the game just has each of these room IDs point to the same segment of header values. This leads to them all sharing a warp destination. Like the above situation, none of these rooms have stair exits or intended warps, so they pull their warp destination from the blockset defined in the following set of header values. In this case, the next set of headers belong to room 0x14 (TR's lava room), which has blockset 0x0D, leading to another potential Agahnim2 wrong warp from these rooms.

Last updated September 26, 2026 by joshRTA