Somaria Transition Corruption
Using a somaria door to get the Turtle Rock big key File
Somaria doors are a class of powerful glitches performed by pushing a block from the Cane of Somaria into a door transition.
Contents
Door types
Direction | Transition | Type | Glitchable? |
---|---|---|---|
North | Supertile | Normal | |
Auto | |||
Subtile | Normal | ||
Auto | |||
Auto→Normal | |||
South | Supertile | Normal | |
Auto | |||
Subtile | Normal | ||
Auto | |||
Auto→Normal | |||
East | Supertile | Normal | |
Auto | |||
Subtile | Normal | ||
Auto | |||
Auto→Normal | |||
West | Supertile | Normal | |
Auto | |||
Subtile | Normal | ||
Auto | |||
Auto→Normal |
Technique
North Doors
North STC Demo
North STC demonstration. TR Big Key is written into the Big Chest, and the flag for holes damaging the player is overwritten, allowing for a Wrong Warp. File
Technique
- Place the block facing north so that it's grabbable from the doorway. It's important Link isn't completely flush with the top wall when you go to place the block or it won't clip into the wall.
- Hold a sword charge facing the side of the doorway the block is on.
- Enter the door and ideally grab the block above y-coordinate
x18
. If you don't grab it this high, it's fine. You'll just lose a little time having to retry by throwing south, tapping (again, you want to get Link abovex18
), and then grabbing the block. - If you're above
x18
with the block in hand, tap and Link will snap up tox10
. Throw the block any direction but south, and wait for it to FULLY land. You want to wait for it to land from its bounce after it's thrown. - Tap . The screen should briefly flash black, and you'll know you've successfully done the glitch.
West Doors
West STC Demo
West STC Demonstration. Because this is done on a Supertile transition, the shutter door to Red Mail gets unlocked. File
Technique
- Hold sword facing south and enter the doorway slightly. This is done to quickly normalize your y-coordinate position. Back out of the doorway and place a somaria block. You want to be more than 1px out of the doorway when you place it or else the block won't be properly placed.
- Enter the doorway and grab the block. Throw it north and move left deeper into the doorway. We want to regrab the block while being left of x-coordinate
x10
. If you don't grab it this far left, you'll have to pickup and throw the block and try for it again. - With the block in hand while left of
x10
, tap to snap tox08
. - Throw the block and wait for it FULLY land (this includes the little bounce it does after it first hits the ground). Press to activate the glitch.
West STCs have different effects and mechanics from other STCs when done on Supertile transitions. See the Effects section below for more info on this.
South and East
South and East doors are slightly more difficult to glitch, as the farthest pixel Link snaps to is 4 or 3 pixels away from the transition. Instead, Link must be positioned carefully to properly glitch the door:
Normal doors
- Door Juke to the snap position 2 pixels past the transition
- Pick up a somaria block and face out of the door
- Throw the somaria block
- While the somaria block is in the air, move 3-5 pixels (East glitching) or 2-4 (South glitching) back out of the door
- Tap the direction into the door to push the somaria block and glitch
As a reference when using the practice hack:
Door type | Coordinates to look for | ||||
---|---|---|---|---|---|
Farthest snap | Farthest possible | Snap after juke | Most shallow glitchable | Deepest glitchable | |
East (X coordinate; white number) | xE8 |
xEA |
xF0 |
xEB |
xED
|
South (Y coordinate; yellow number) | xE0 |
xE3 |
xE8 |
xE4 |
xE6
|
Auto doors
South-going autodoors cannot be glitched. An east-going subtile autodoor can be glitched if and only if the door on the other side of it is not an auto door.
- Use a bomb juke to snap past the transition
- Press to face north then to place a somaria block on top of Link
- Briefly press to push the block off of Link so that he can move
- Carefully tap to move Link into position
- Press to push the block and glitch the door
It is not possible to see Link while this is happening, making this type of somaria glitch the most difficult. It is important to get a feel for the inputs required.
The fmp method is to rhythmically tap
Effects
This section goes into very technical detail. The information is presented with the assumption that the reader has at least basic knowledge of hexadecimal, bitwise operations, SNES memory, and/or SNES assembly. |
- See also: Data spoofing
North, South, East
- See also: Overlay corruption
West
Subtile
Supertile
Supertile west somaria glitches are different from all others, namely because they set the game submodule to 0x04
, running code related to opening and unlocking doors. They also overwrite data into the next room, but do not spoof new room data (such as chest items or pit flags). It is not possible to chain data swaps with west somarias.
Supertile west somarias cannot be properly explained without diving into the technical details of the memory a little bit. There are 2 words (2 bytes each) that we can control to effect different results:
-
$0690[0x2]
- This address is essentially a timer for door animations -
$068E[0x2]
- This address holds information related to the last door Link attempted to unlock
- $690
- This is the more critical value of the glitch. When the door script is activated by the glitch, this address begins counting up until it reaches a value of
0x0010
. If its value is between0x0000
and0x000F
, the script will execute cleanly, and control of Link will be regained almost immediately. However, if the value is any higher (including the target value of0x0010
itself), the game will count up until the value wraps around from0xFFFF
to0x0000
. Essentially, this is an 18 minute hardlock.
- Fortunately, this value behaves in predictable ways that are controllable RTA.
- After a hard reset, the value is
0x0000
. - Opening a key door (big or small), solving a puzzle to open a shutter door, or opening a bomb wall in the underworld will settle the value at
0x0010
. - Touching a big key door without the big key will set the value to
0x0000
. - Transitioning through a subtile door will settle the value at
0x0004
unless:
- If there are shutter trap doors in the same supertile as a subtile transition, the value will settle at
0x0010
.
- If there are shutter trap doors in the same supertile as a subtile transition, the value will settle at
- Transitioning through a supertile door will not change the value unless:
- If the side of the room Link enters from has a shutter door (whether Link is using it or not), the value will settle at
0x0010
.
- If the side of the room Link enters from has a shutter door (whether Link is using it or not), the value will settle at
- Using the mirror on the same frame a key door is interacted with while having a key will set the value to
0x0000
. - Using the mirror will otherwise not change the value.
- Opening any of the big doors of Hyrule Castle or the Sanctuary will settle the value at
0x0003
. - Regardless of what's underneath, lifting large rocks and breaking bonk rock piles will increment the value by 1.
- Opening the grave to the sewers, the grave to king's tomb, or solving the hammer pegs puzzle for the first time will increment the value by 1.
- After a hard reset, the value is
- $68E
- This value controls which door will be opened when the script executes. While the distinction is ultimately unimportant, each door has 4 possible values corresponding to it, based on the side of the door Link is on and whether he is facing the door or perpendicular to it.
- This value also behaves in a predictable fashion that can be controlled RTA.
- Slashing any closed door (key doors, big key doors, shutter doors, bomb doors) will set the value to one that corresponds to the door.
- Opening a key door, big key door, or bomb wall will set the value to one that corresponds to the door.
- Attempting to open a big key door without the key will set the value to one that corresponds to the door, as if it were opened.
- Opening or closing a shutter door will settle the value to
0x0016
. - All subtile transitions will settle the value to
0x0016
. - Supertile transitions will leave the value alone unless:
- If the side of the room Link enters from has a shutter door (whether Link is using it or not), the value will be set to
0x0016
.
- If the side of the room Link enters from has a shutter door (whether Link is using it or not), the value will be set to
- Using the mirror will not change the value.
- Using staircases will not change the value.
- There are some unusual consequences with the doors that get opened by this glitch:
- Subtile shutter doors will stay opened permanently, even after mirroring or saving and quitting. They also will not close behind you when they are used. If something else prompts the shutter door to open or close, it will revert to normal behavior.
- If the other side of a subtile door shutter door is a normal door (for example, the shutter doors in the Misery Mire big chest supertile), it will become an auto door while the shutter door is stuck open.
- If the current value of
$068E[0x2]
doesn't correspond to an existing door in the supertile, a glitched door that cannot be reached may appear in the northwest corner of the super tile. If out-of-bounds cheats are used to travel through the door, it usually leads to a black screen that may or may not resolve. In some tiles (e.g. Sahasrahla's house), however, it immediately takes Link to the overworld.
Applications
Arrghus Deathhole
Mire STC Chain to Hookshot & Moon Pearl
Skull Woods Big Key STC
Red Mail STC
Thieves STCs to Hookshot & Moon Pearl
Technique
- Do a West STC on the door in the Prison.
- After the transitions, Link will be in the room to the left, but the camera is still showing the Prison Room. To correct this, move to the right until Link is touching the right wall then move back left until you can see at least some of the north door to the Big Block room in the camera. This is not just done for convenience -- it's necessary to have the camera corrected before the next step because the game will delete Somaria blocks that are off-camera.
- Do a North STC on the door to the Big Block Room. The tap to glitch the transition is a bit more sensitive than normal, and it can be easy to accidentally transition north or double STC, both of which will ruin the whole trick. So be extra careful on the tap.
- Now we want to use the east door back to Prison, but there are invisible STC pits in the floor we need to avoid. The easiest way to visualize this is going to be using the practice hack's "Show Somaria pits" feature in the shortcuts menu.
- You'll now be in Swamp's Big Chest Room. If you're going to Moon Pearl, try to avoid going past the stairs to the Big Chest or the stairs going to the bottom right door before entering them. If you move correctly, when you use the bottom right door of the room, Link will instantly be moved back to the middle of the room near the stairs to Big Chest. If you move incorrectly, a long transition will occur before this happens, which of course loses a little time. Either way, you want to move to the bottom right door again.
- In the next room, just hold to jump and then walk up to transition.
- Move slightly to find some stairs and then move to transition again. You'll now be in Moon Pearl Room across the gap from the Big Chest.
- Hookshot to the Big Chest and open it for Moon Pearl.