Game mode

From ALttP Speedrunning Wiki
Revision as of 13:30, 4 December 2018 by Kan (talk | contribs)
Jump to: navigation, search

The game mode is, in simplest terms, what the game is currently doing as its set of routines. For the context of this article, we will consider the game mode as the exact combination of 2 different addresses: $10 and $11, the main module and submodule, respectively. An in-depth understanding of these addresses is not necessary for No Major Glitches categories; however, understanding them at a basic level is helpful for routing and executing any transition-corrupting glitch.

Submodule

The submodule is where most of the magic of corruption happens. Fundamentally, all changes to the submodule are incrementations; i.e. nothing is directly set. For example, an overworld mirror transition is submode 0x23. If the mirror were used when the submode was already 0x01, then the result would be submode 0x24. In fact, this is exactly what happens during a mirror wrap.

Submodule values
Main module 0x07 (Underworld)
Value Process Corruptable? Corrupted from
0x00 Default state; player in control No
0x01 Subtile transition Yes
0x02 Supertile transition Yes West subtile somarias
0x03 Star tile hit No Somaria Door
0x04 Unlocking key door No West supertile somarias
0x05 Shutter doors opening/closing No
0x06  ??? No
0x07 Pit transition No
0x08 Auto stairs that go up south to north No
0x09 Cracked wall opening No
0x0A Torch-induced brightening No
0x0B Water drain No
0x0C Water Flood No
0x0D Flood gates No
0x0E Spiral staircase transition No
0x0F Entrance transition No
0x10 Auto stairs that go up north to south No
0x11  ???
0x12 Up straight staircase No
0x13 Down straight staircase No
0x14 Damaging pit scroll No
0x15 Telepad Partially*
0x16 Peg switch No
0x17 Pressure plate No
0x18 Crystal fanfare No
0x19 Mirror transition Yes
0x1A Triforce door No Subtile Mirror Door

* Telepads can be corrupted only with a YBA, but doing so results in a game crash

Non-increment corruptions

LSD Blind

By pressing select, drinking a potion, or opening the map as Blind enters the light in her room, the game may enter submodule 0x05 of main module 0x0E. This will create one or both of the iris wipe used by the Desert prayer and a mesh of vibrant colors replacing most of the game's palettes. The latter only appears to occur on certain frames with the select menu, and it is where the name of this glitch comes from. This is caused by the door of the room attempting to close, which sets the submodule directly to 0x05. Since the main/sub module combination of 0x0705 never occurs, this leaves that door open.

Jingle Glitch

Main article: Jingle glitch

When stairs are used at the same time that shutter doors open or close, the submodule takes on its value of 0x05 directly. The actual execution of most scripts behave as normal here, but this change does interrupt some data transfer and coordinate functions, leading to the sprite offset and some data spoofing.