Text Displacement

Description

Discovered by Jacquaid

For most major (and some minor) in-engine cutscenes, the game keeps track of how far you are into the cutscene with a shared set of bits in the temporary flags region.

By speaking with an NPC in a "broken cutscene" state, this location in memory is still filled in as before. However, the player has control in most cases and is not forced to progress through all of the dialogue box sets. Having this memory partially filled can result in some oddities when bringing this memory state to other NPCs and cutscenes.

Specifics of each use will depend on the number of times the NPC is spoken to, as the values required differ for each effect.

It is worth noting some actions can clear Text Displacement, more of which are covered in the notes further down.

Technical Aspect:

The relevant bytes in memory associated with this glitch are (numbered 1 to 9):

  • 10648DC0: xxxx-x123
  • 10648DC1: 45xx-xxxx
  • 10648DC5: xxxx-6789

Normally, most in-game cutscenes and NPC dialogues fill out the bits above in order, from left to right. When it is finished it clears the bits. However, leaving during a broken-dialogue state won't actually clear them, thus the "value" of the text dialog box has been displaced.

There are instances in the game such as the Gor Coron sumo hall cutscenes which fill these bits out in an unusual order. Under regular non-glitched circumstances, entering the sumo hall for the first time sets the last four bits at 10648DC5 (or bits 6 to 9 in the table above). Saying "Yes" to start the sumo fight sets the sixth bit at 10648DC0 (or bit 1 in the table above). If Link wins the sumo fight, the game will set the seventh and eighth bits at 10648DC0 (or bits 2 and 3 in the table above), and then the game will proceed with Gor Coron finishing his dialogue.

However if the game sees that either of these final two bits, the seventh and eighth bits at 10648DC0 (or bits 2 and 3 in the table above), are already set, then it will assume Link has already won the sumo fight and Goron Mines will be accessible, even in the broken state created by getting Master Sword before triggering the initial sumo hall cutscene. We can achieve this by manipulating the TD bits with dialogue from other cutscenes and setting either the seventh or eighth bit in 10648DC0 (or bits 2 and 3 in the table above).

For ease of reference, the rest of the page refers to bits as the following:

  • The sixth bit of 10648DC0 is the "first" TD bit (1).
  • The seventh bit of 10648DC0 is the "second" TD bit (2).
  • The eighth bit of 10648DC0 is the "third" TD bit (3).

(The TD bits in 10648DC1 and 10648DC5 have no known uses.)

Jacquaid has a spreadsheet of TD sources here.


──── General Info ────


Examples and Uses:

Enter Goron Mines with Master Sword but Without Spinner

Discovered by Jacquaid

By setting either the second bit or third bit of Text Displacement, then going to the top of Death Mountain and speaking with Gor Coron (having already obtained the Master Sword), Gor Coron will say the textboxes that he would normally say after losing the sumo match. As a result, the invisible wall blocking the entrance to Goron Mines is removed and the elevator is unlocked. The Gorons in front of the entrance will not move until the room is reloaded, but it is possible to roll past them (without reloading the room) to enter Goron Mines once the invisible wall is gone.

After Early Elevator, the wolf transform method of Elevator Escape is ideal. A Cave of Shadows "savewarp" (going through Cave of Shadows) would also work because it does not go to the title screen, but it would be slower than the wolf transform method. However, savewarping normally would clear Text Displacement by going to the title screen.

Alternatively, you can go up Death Mountain normally (without Early Elevator), but that would be significantly slower.

Memory Demonstration

The following video does the same thing as the video above, but with the memory viewer visible so that you can see what's going on.

Notes

Clearing vs. Keeping TD

It is important to note that some actions will clear the memory region associated with this glitch, commonly referred to as "eating" TD. This section covers what may or may not allow the player to keep TD. Jacquaid's spreadsheet (see the "Eats TD tab") covers some of them, but that list only covers some basic game functions like savewarping and cutscenes up through the start of sewers. Not all cutscenes have been exhaustively documented on this point. But the following general guidelines are helpful:

Here is a (non-exhaustive) list of the main things that clear TD:

  • Savewarping or visiting the title screen in any manner
  • Skipping certain cutscenes (such as the DMT entrance CS), but note that not all cutscenes clear TD when you skip them
  • Starting a new or existing file
  • Various game events such as saving Talo

Here is a (non-exhaustive) list of what does not clear TD:

  • Voiding
  • Game over
  • Talking to a regular NPC that doesn't start a cutscene (say, Gor Amoto)
  • Talking to Midna
  • "Savewarping" by going through Cave of Shadows (as this never takes you to the title screen)

──── TD Sources ────


The following are some of the more common ways of setting TD to enter Goron Mines. There are other ways of setting TD (for example, by using Ooccoo Jr. to warp out of the Impaz cutscene after being Hidden Village), but those methods are not generally useful. For a full list, look at the items in Jacquaid's spreadsheet that are both "escapable" and set either the second or third TD bits.

Coro TD

Using Ooccoo Jr.

Discovered by Taka

With a 1-frame Ooccoo pull (which can be buffered on HD by simply holding the Ooccoo button), Link can warp out of the area before Coro's next dialogue line begins after the bottle text. This sets the second TD bit.

Using Bombs

Discovered by Jacquaid

With a 1-frame backflip or sidehop (which can be buffered on HD by simply holding the inputs), Link can get killed by a bomb in midair before Coro has a chance to continue his dialogue. This will set the second TD bit, and game over-ing will not clear TD.

Using the Wolf Link Amiibo

Discovered by Jacquaid

With a 1-frame backflip or sidehop (which can be buffered on HD by simply holding the inputs), you can open the collection screen and enter the Cave of Shadows before Coro has a chance to continue his dialogue. This will set the second TD bit, and clearing the Cave of Shadows will not clear TD because you never actually go to the title screen.

Auru TD

Discovered by Jacquaid

Talk to Auru in Lake Hylia at least twice just outside his cutscene trigger to set the second TD bit.

Yeta TD

Discovered by MrMrMen

By pressing A to talk to Yeta and bringing up the map on the same frame, you can roll away after the map closes. This sets the second TD bit.

Note: This needs to be done the first time talking to Yeta in Snowpeak Ruins, as only this instance will set the relevant bits.

Rusl TD

Discovered by Jacquaid

After beating Snowpeak Ruins, talking to Rusl at least twice just outside his cutscene trigger will set the second TD bit.

Zombie Ooccoo TD

Discovered by LegendofLink and Jacquaid

The first time (and only the first time) the player warps out of a dungeon with Ooccoo, there is a cutscene introducing Ooccoo Jr. to the player. This cutscene "advances" TD by one bit for each set of text boxes. If you have TD already before pulling Ooccoo Sr., she will "advance" the TD value by one (so if you have the first TD bit set, she will set the second TD bit; if you have the second TD bit set, she will set the third TD bit; and so on). This expands our options somewhat for getting the second TD bit by combining Ooccoo TD advancement with cutscenes that give the first TD bit. However, this method is fairly slow, so it doesn't really have any uses.

But there is also a way to set the second TD bit using just Ooccoo: If Link dies on the same frame he pulls out Ooccoo Sr. (which requires Link to be moving as he gets hit), the warp text will appear while Link has no health. Choosing to warp away sets the first TD bit, but Link's death prevents the rest of the cutscene from playing. The player can then set the second TD bit by pulling Ooccoo Sr. again. Note that this only works with Ooccoo Sr., and only for the first time ever warping out with Ooccoo in the playthrough, as that is the only time the introduction text plays.

If you do this with a fairy, Ooccoo Sr. will get stuck to Link's arm, and pulling Ooccoo again will softlock. The player must either die or enter a loading zone to remove Ooccoo Sr. from Link's arm before using her to advance TD as noted above.

Last updated 04/16/2024 – Jacquaid