Türkenheimer
SRM in 1st Cycle is possible
updated
Edit: I did it on KZ with savestates and used cheats to warp to the dungeon entrance. This sometimes crashes and we don't know the reason yet. Nobody got it on vanilla yet. This either is KZ exclusive or there is something done in either context which makes it crash or prevents the crash.
Edit: Turns out this can be done with a bomb instead of the magic pot. That means it can be done on all remains.
This setup can technically be done at any time with a Bomber Kid, using Sakon is just so much easier ^^
Heap manipulation: pastebin.com/yeabUR0P
Even with the Sakon method this should probably already save time in the category "Defeat Majora" (the method used in Any% is not allowed in that category because it uses ACE). All the other SRM categories make use of many English exclusive differences, so I don't see it becoming viable for those any time soon.
I don't know if something like this has been found before.
Edit: Better setups have indeed been found before
- originally by sva youtube.com/watch?v=G1u74RG0sqo
- improved by SampleName youtube.com/watch?v=Q02pNHpeUFA
801DB2F8 Link's x
801DB2FC Link's y
801DB300 Link's z
801DB3A6 Link's angle
8011C5F8 held actor x
8011C5FC held actor y
8011C600 held actor z
This setup only works on NTSC Wii VC 1.2.
I used this heap setup by MrCheeze youtube.com/watch?v=wJjQnPZGDLo
Also credits to Cheeze who came up with this fitting name for the boots :D
We use Light Node SRM here in combination with the position data of the last held actor (in this case a bomb but a chu works equally). The Light Node pointer is glitched to 8011C5F9, so it starts looking for the pointers at the second byte of the y-coordinate of the held actor. So the pointers the position data forms are 800F7CC4 and 7FFF0000 (the data past the position data is zero). So 7FFF is written to 800F7CCC, which is the general movement speed of Iron Boots, and 0000 is written to 800F7CCE, which is the y-acceleration of Iron Boots, usually just referred to as gravity. 7FFF translates to a movement speed of 327.67, which would be insanely fast, but fortunately it is capped at around 10.
I actually only meant to make a proof of concept setup but this doesn't seem too bad already. But if somebody actually likes to use this in speedruns I might get back to it. There are so many more options that could be tested because the held actor can be dropped in so many different ways. Also the setups aren't even that precise because you can simply adjust single bits with side slashes and for most options you have one bit of leniency on the z-coordinate
WARNING: As a side effect we also write to the address 7FFF0004, which is before the normal game memory. I have no idea if this does something bad. Also the setup has not been tested on vanilla yet.
About the setup:
1:02 for the first part you can ignore the x-coordinate until you reset it by sidehopping against the wall to the right.
1:46 you have a 3 frame window to shield drop the bomb or chu. Press shield and bomb/chu at the same time or press shield 1 or 2 frames later.
1:49 you don't need to pause there, I just got confused with the GZ macro because I used it for the first time
2:04 you don't need to wear the boots when you leave. You don't even need them at the time of the setup, in a speedrun you could do this SRM long before you get Iron Boots.
The glitch is active until you reset the console. However you can still do savewarps by dying and going to the title screen.
The SRM application used here is what I call the "01 Thing", because it writes the byte 0x01 somewhere in memory, based on a pointer that we glitch with SRM. You can read the details here pastebin.com/3J2t92vk
An overview of how the heap manip works out pastebin.com/ReV4RQtp
1:43 step 1 + 2
2:00 step 3
2:07 step 4 (the first bubble was on accident)
2:13 step 5
2:38 step 6
3:20 step 7
3:37 step 8
As you might have guessed, we write the 0x01 to the flag that determines that we protected Cremia from the Gorman brothers. It is actually really lucky that the flag is the lowest bit of the byte, and then also that it is possible to get the right y-angle to write to that address. I found how to perform the 0x01 writes eight months ago, but it took me until now to notice that the Cremia flag is possible on the Japanese version. Such a 4Head :p
It is likely that this will be used in the category Defeat Majora. Because this method is JP exclusive, it is unlikely that it will be used in longer categories. The two most useful SRMs done in modern SRM routes are Chest SRM and Light Node SRM. Chest SRM does not work the same way on JP because of different memory alignments (can't make the chest look at your collision angle). The currently common way of performing Light Node SRM is to get a very precise position and angle, and then store that data in memory with a day or night transition. Due to changes to night transitions with Song of Double Time, Doing several Light Node SRMs in a row is significantly faster than on JP.
That being said, that can change quickly if something new is found.
When you give away the masks on the moon, press an empty c-button to cancel the text faster (I keep forgetting about that).
Watches:
803FFDD4 x-position
803FFDD8 y-position
803FFDDC z-position
803FFE6E current facing angle
If you SRM hookshot for Captains Hat, you also have to SRM Swamp Deed for equip swap. So I think SRMing chus to just hover up might be better. Witch chus you could also just do the old hover method to open the chest.
Swamp Deed: Target chest, 6 ESS left or right, open the chest.
Bombchus: Target chest, 1 ESS left or right, open the chest.
Hookshot: Target chest, 4 frames c-up left or right, open the chest.
I don't know what happened to the audio halfway through the video. My audio settings keep getting messed up, even though I don't change anything PepeHands
I misspoke a few times how many slashes or which kind of slashes to use. I hope it will not confuse people.
New route pastebin.com/2kBUWPb2
It uses almost all the same LN SRM setups as in the last route, just the setup for H&D warps in Laundry Pool is replaced with the setup for Hight Precision Z-Copy Warps in TF.
youtube.com/watch?v=LI_Ilibhqjs
0:00 Zora warp
setup in ECT coming from hideout:
1 jumpslash, 1 targeted slash, 3 slashes with shield cancel
z = C4DFC909
1:10 Swamp Spider house warp
setup from after zora:
turn around, 5 target slashes, 1 slash forward + untarget, 1 slash right + untarget, 1 slash targeted + untarget
z = 455F2700
(backup: Goron void in the water to get the default position again)
1:44 warp to music box house
setup in swamp spider house:
target wall next to the exit (angle 0000), bonk against the wall, turn right (angle C000), 3 target slashes, turn right (angle 8001), 1 slash targeted + untarget, 1 neutral slash
z = 432EAB00
Graveyard warp
setups from music box house:
Downstairs, target the wall with angle 8000 (z = C3150000), bonk against the wall (z = C2EA4000)
- 2:16 Optimal strat (from Dampe's house):
turn left (angle C000), 1 jump slash, 2 neutral slashes with shield cancel
z = C2E34304
- 3:00 Safety strat (from Grave 1):
3 slashes targeted + untarget, turn right (angle 4000), 1 slash + shield cancel, turn right (angle 0000), 1 neutral slash
z = C2E5BD01
- 4:57 Noob strat (watch the cutscene): 1 slash with shield cancel, 1 slash targeted + untarge, turn right (angle 4000), 1 slash with shield cancel, 2 slashes targeted + untarget
C2DD4305
- 3:55 backup setup (SCT to graveyard): target box close to the exit to tf (z = 43E50000, angle = 0000), 2 stabs, 2 slashes targeted, turn (angle 8000), 2 forward stabs, turn right (angle 4000), 1 slash right, 1 slash targeted + untarget
z = 43B4BD03
5:32 Warp to curiosity shop
setup in ikana road:
target the rock next to the soldier at angle 0752. roll into the little corner of the rock (z = C38F7AA9), 2 stabs (z = C3ACFEE9). 1 slash targeted, 1 neutral slash + cancel, turn left (angle 4752), 3 slashes targeted, 1 targeted + untarget.
z = C3A3F300
6:07 Goron Mask warp
setup in WCT:
target wall left to the exit to SCT lower (z = C37f0000, angle 8000), 2 stabs, 1 neutral slash, turn right (angle 4000), 1 forward stab, 2 slashes right, 1 slash targeted + untarget
z = C344B201
7:09 Warp to ISTT
setup in mountain village:
go to house, target wall on the left side (z = 4426C000, angle 0), 2 stabs, 3 neutral slashes, turn left (angle 4000), 2 right slashes, turn left (angle 8000), 1 target slash
z = 4419E800
7:42 Warp to TF telescope
setup in SCT from the position you get after SoT (z = C43C1000, angle = 0000):
1 roll, 1 slash right, turn (angle 8000), 2 neutral slashes, turn right (angle 4000), 2 forward stabs
z = C430D30A
(backup: enter and exit the clocktower, that gives you the same default position)
8:25 Bunnyhood warp
setup in TF from obs:
3 slashes + shield cancel, turn right (angle 6D8D), 1 slash targeted, 1 slash + shield cancel, 1slash right
z = 44A7BE01
warp to DK shrine
two possible warp setups from east tf (they are basically symetrical):
- 9:00 target wall at the entrance to ct with angle 0000 (z = C3A20000), 2 stabs, 2 targeted slashes, turn left (angle C000), 3 targeted slashes, 1 neutral slash
z = C3B4AE00
- 9:11 target wall at the entrance to ct with angle 8000 (z = C3EE0000), 2 stabs, 2 targeted slashes, turn left (angle 4000), 3 targeted slashes, 1 neutral slash
z = C3DB5200
9:40 Soar to milk bar
setup from deku shrine:
target wall behind buttler (z = C4F5C000, angle 8000), turn (angle 0000), 2 slashes + shield cancel, 3 neutral slashes
z = C4F21500
10:08 Warp to TF from telescope
setup in NCT:
target the same wall as for the mask masks setup (z = C4D6C000, angle 0000), 2 stabs, turn (angle 8000), 1 slash + shield cancel, 1 slash right, 1 forward stab
z = C4E32D0A
10:39 warp to Gorman Bros
setup in TF from obs (default position is z = 44AA8340, angle 4D8F):
1 slash right, turn left (angle ED8D), 2 slashes targeted + untarget, 2 slashes targeted, turn left (angle 2D8D), 2 slashes targeted
z = 44AE6A02
11:19 Moonwarp
setup in gorman race track:
go to the house that is closer to the exit, target the side with angle 8000, roll into it (z = C46149EC), 2 stabs, 4 slashes targeted, stab, 1 slash targeted + untarget, turn (angle 0000), 1 slash + shield cancel, 1 right slash, do 1 shield scoot either with angle 0000 or 8000
z = C44F9900 or C4529900
watches:
801DB2F8 x
801DB2FC y
801DB300 z
801DB3A6 angle
watches:
801DB2F8 x
801DB2FC y
801DB300 z
801DB3A6 angle
watches:
803FFDD4 x
803FFDD8 y
803FFDDC z
803FFE6E angle
When you warp to the South Clocktown owl, the game will look at the last two bytes of a copy of Link's z-position in Link's actor at 803FFDC2. As far as I know that data is normally used for collision checks. The ultimate spreadsheet has that position set named "XYZ (copy)", therefore the name z-copy warps.
The difference to the previous setup for z-copy / LFZ warps is, that this time the game looks at the two lowest bytes instead of just the last byte (therefore high precision). With the low precision warps you could warp to any scene, but always just from entrance 0. With the high precision the first byte determines the scene and the second byte the entrance.
With only this setup it is not possible to chain warp by voiding or dying. For respawning the game only stores your position, room number and the exit value but from entrance 0. Since we technically warped to the South Clocktown owl, our respawn exit value is now South Clocktown from the inside of the clocktower. Therefore we will respawn in South Clocktown. Note that if your respawn room number is not 0, the game would crash since South Clocktown only has one room.
For a category like All Masks, chain warping is not too important, so just these z-copy warps should do. But you can enable chain warping by glitching the entrance of South Clocktown from the clocktower. Conveniently the pointer is in the same region as the one for the Clocktown owl entrance. You can do the same setup as for LFZ-Warps but with a different angle at the end. The chain warps will then only depend on the last byte of z to determine the scene. (Setup: for the angle, start at C000 or C001, ESS left to 68C0/68C1, youtube.com/watch?v=09Vv1LoBl8s)
Note that after SRM I leave the area through hideout. This will trigger the Light Node SRM while Link's actor is unloaded. If you triggered LN SRM by going back to observatory the game would crash due to garbage data written into Link's actor. Unfortunately the setting in Termina Field does not allow the y-position --803FFE. That would result in LFZ-Warps (last frame z). It is simply another option for basically the same type of warp. It points to a position set in Link's actor that stores the position of the last frame. In practice this would be used exactly the same as z-copy. The advantage of LFZ-Warps however is that you can trigger LN SRM by going back to observatory without the game crashing.
I made new setups:
with Saria cutscene youtube.com/watch?v=O6TdNIiYerw
without Saria cutscene youtube.com/watch?v=3BcqNh1B3lM
watches:
801DB2F8 x
801DB2FC y
801DB300 z
801DB3A6 angle
The game only looks at the lowest byte of the z-position. This means you can warp to any scene but only from entrance 0. Hence the decription "Low Precision". It is possible to make it look at the two lower bytes for scene and entrance. I will probably work that out soon.
If you die or void after in the scene you just warped to, you will either resppawn in clocktown, or, if your respawn room is not 0, you will crash.
Since some parts might be hard to see in the video here a description:
Start in the corner with x-position ending in F1
1 roll up stairs
turn to angle 4000 (because of the camera turn right twice)
I neutral slash + shield cancel
turn left to angle 8000
1 slash targeting and with control stick right
2 slashes with target
1 slash with target + untarget right after your B-press
turn to angle 0
1 neutral slash
1 neutral shash with shield cancel
backwalk to the wall
turn right to angle C000
2 rolls upstairs
turn right to angle 8000
1 stab
turn to angle 0 and do 1 shield scoot
turn to angle 8000 again
3 slashes with target
turn right to angle 4000
1 slash with control stick right
turn to angle C000
1 neutral slash with shield cancel
1 slash with targeting and untarget after the B-press
1 slash with target and control stick right, untarget after the B-press.
This pastebin sums up the route and also has some more possible angle setups pastebin.com/uHj7w8vd
53:34 I improved the position setup for masking masks a little bit youtube.com/watch?v=1X5m1JnyXHE
2:46 I just realised afterwards that starting in the corner and breaking the box is pointless for this new setup. Just target the wall a few steps to the left and do the two stabs. Going into the corner and then backwalking away is redundant. (the older setup, which was used until shortly before I made this tutorial, had to start in this corner, that's why I stuck with it.)
11:00 For this category Fire Arrows work out as equip swap item. Just touch the chest and turn up (control stick down) and open the chest.
LN SRM heap setup with ballon and wall gone youtube.com/watch?v=fJo07G0f2K4
watches:
803FFDD4 x-position
803FFDD8 y-position
803FFDDC z-position
803FFE6E current facing angle
80400886 target angle
This was played on the practice ROM (KZ) on Wii VC.
In MM it seems that the carried actor is held by the fake hookshot but in OoT Link carries it normally.
Slight difference in setting up the stored bomb pull: In the MM video I pressed bomb on a specific frame before landing in water. In the OoT video I did it by pulling a bomb right when a bombchu spawns, which interrupts the bomb pull because only 3 explosives are allowed to exist at the same time. The chu-bomb-spawn method works equally in MM and I guess the bomb pull in water probably works in OoT, but I didn't test.
You do a staire case hover with the bottle already in hand. Then we use the common method to turn around in a hover to get Link to ESS shuffle. From that you can do bottle OI like you would normally do with ESS shuffle n the ground.
Disadvantage to the old setup in observatory is just that you have to give away four more masks and that it is not in observatory. But the position setup is way faster and this time it doesn't actually mask FD. So overall this is much better.
I made a better setup for the angle 05BF youtube.com/watch?v=jBNrXgXPs7s
This sets:
Great Spin
rescued DK princess
defeated aliens
saved cremia on the kart ride
Saved Sun mask + gave pendant to Anju (these two flags are sufficient to get Couple's mask)
If this method to obtain Romani mask will be banned, then we couldn't use this.