Difference between revisions of "Game mode"

From ALttP Speedrunning Wiki
Jump to: navigation, search
(Created page with "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 exac...")
 
m (Jingle Glitch)
(2 intermediate revisions by the same user not shown)
Line 71: Line 71:
  
 
<nowiki/>* Telepads can be corrupted only with a YBA, but doing so results in a game crash
 
<nowiki/>* Telepads can be corrupted only with a YBA, but doing so results in a game crash
 +
 +
== Non-increment corruptions ==
 +
=== LSD Blind ===
 +
[[File:LSD Blind.gif|frame|right|LSD Blind with both effects]]
 +
By pressing select, drinking a potion, or opening the map as Blind enters the light in her room, the game may enter submodule {{HEX|05}} of main module {{HEX|0E}}. 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. Using the mirror will begin the mosaic effect, leaving the screen in that filter when it is interrupted. This is caused by the door of the room attempting to close, which sets the submodule directly to {{HEX|05}}. Since the main/sub module combination of {{HEX|0705}} never occurs, this leaves that door open.
 +
 +
=== Jingle Glitch ===
 +
{{Main|Jingle glitch}}
 +
When stairs are used at the same time that shutter doors open or close, the submodule takes on its value of {{HEX|05}} directly. The actual execution of most scripts behaves as normal here, but this change does interrupt some data transfer and coordinate functions, leading to the sprite offset and some data spoofing.

Revision as of 13:40, 4 December 2018

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

LSD Blind with both effects

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. Using the mirror will begin the mosaic effect, leaving the screen in that filter when it is interrupted. 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 behaves as normal here, but this change does interrupt some data transfer and coordinate functions, leading to the sprite offset and some data spoofing.