This is a Tool-Assisted Speedrun created by Kadmony and Keylie
The final time is 31:47.69, using 11562 rerecords
You can visit tasvideos.org for more information
The route in this TAS is to execute arbitrary code using a glitched weapon attack
The Japanese version of the game features a glitch that allows you to equip any item in any slot
Simply put the item in the 256th slot, make sure you cannot equip any item in that slot, and select "Optimize"
When attacking with a glitched weapon, the game calls an incorrect routine for the attack animation
The routine we want to call is delivered by either the X-Ether, Charm Bangle, Czarina Ring or Gold Hairpin
All these items are only found in the late game (>_<)
However, using the sub-frame reset technique, we can gather them much quicker (^_^)
In this route, we will take an X-Ether from the Ancient Castle
We access the Ancient Castle by combining the map id of the Cave to the Sealed Gate (0186) and the Phantom Train (0092)
This gives id 0192 which is the cave to the Ancient Castle
We select Bio Blast with Terra for the next fight
Battle Speed 6 (slowest), Message Speed 1 (fastest) and cursor on memory
Having no window opened speeds up the fight ending
We need to win another fight so Terra reaches level 4
Opening a window freezes the enemy ATB (wait trick)
We use the escape to modify the RNG
The second group is the strongest
We don't need to unequip Mog's weapon this time
We save once in Narshe to keep the uninitialized World Map coordinates in memory
We will be using these coordinates to teleport elsewhere in the World Map
We open the menu here to store Y = 0x34 in the map coords
We enter again and this time store X = 0x18 in the map coords
We save and reset after overwriting X map coord
Now we have one savefile with X = 0x18 and Y = 0x34 (used later)
We save/reset after overwriting the world map coords
This transfers the uninitialized World Map coords to the save in the World Map
allowing us to reach any destination (but only once)
This time, we overwrite only the World Map X coord
Together with Narshe Y coord, this produces new coords
We buy Sprint Shoes and sell Locke's weapon
Again, overwriting only the X coord
This allows us to enter the Cave to the Sealed Gate
Grabbing Locke's Assassin weapon
It has a 1/4 chance of inflicting the Death status
You may notice we change the colors of the menu before doing any save/reset
This is to manipulate the save checksum, otherwise the save is considered as corrupted
We want to reach the savepoint here, because the map id is 0182
Together with the first savepoint of the Phantom Train (id 0092)
We can produce a new id 0192 which is the cave to the Ancient Castle
We also needed the previous coords setup in Narshe so that we appear there inbounds
We do a first save/reset to transfer Locke's weapon to the other savefile
And a second one to write the map id on the savefile with the right map coords
Next step is to recruit Sabin and Cyan
We need both of them to enter the Phantom Train
There are several ways to recruit both characters
We chose to do the whole Imperial Camp sequence
We will have a little help from Locke
Shadow's theme is not supposed to be played here btw
Because of our the game script is coded, we will keep Locke and Terra in the next fight
Well, let's use Locke weapon then
I wonder if the developers put a Death protection on Kefka
Nope
This saves a few seconds as it skips some dialogues
We equip the Black Belt on Locke and set Battle Speed on 1 (fastest)
We have Kuku in our team instead of Sabin
He is weak (level 2) but can still kill the soliders with a critical
Terra however cannot
MTek Armors are immune to Death so we cannot use Locke
Kuku is too weak to kill an MTek Armor himself
We will use a little shortcut with a save/reset
Now we can enter the Forest from the exit, which is much closer to the Train
The game would softlock here without both Sabin and Cyan
Save/reset to write the first byte of the map id
To be able to execute our custom code, we need to attack with the X-Ether at a specific frame of the fight
At frame 19025 exactly, which is after 5 minutes of fight
Thanks to the TAS convention, we only care about the last input
So we must find a way to make a character attack without any input
The solution we used is to get the character muddled
He will use a random command by himself
The enemy we want to fight is the Goblin, which can cast L.3 Muddle when alone
Locke is currently level 6, so he will be holding the X-Ether
In our custom code, we must take care of ending the fight without any input to do (no XP/Gold message)
Then we just have to manipulate the enemy to cast L.3 Muddle after 5 minutes while keeping Locke alive, with no input
This was easily the hardest part of the TAS, and it took more time than doing the rest of the TAS
We start to move Assassin at the bottom of the inventory
We want Cyan to equip that weapon, but he normally cannot
That's why we will use the equip glitch
Grabbing the X-Ether
We equip the Assassin on Cyan and give the shield to Locke
Now we move the X-Ether at the bottom of the inventory
We cannot do it in one fight, so we will need to finish from the menu (slower)
Moving the X-Ether down and selecting Optimize
Now the full code that triggers the ending is written with the window colors
If you are interested in the technical details, read the tasvideos submission text
We need to kill the two small enemies, because the remaining one has a different AI script when alone
With some wait trick, Cyan can kill both before they have a chance to attack
We queue some commands with Terra and Kuku to end input earlier
By selecting and deselecting a weapon, we cause lag in the RNG counter
This was the last input, so the TAS ends here!
Now enjoy 4 minutes of nothing
Our custom code that will be executed consists on:
1. Store the ending address in the event pointer
2. Set a flag to remove the ending softlock
This softlock happens when you trigger the ending without entering the World of Ruin
3. Fix the stack that has been corrupted by the glitch
4. Remove all enemies from the fight. It triggers the end of the fight
5. Remove the Death flag from the two dead enemies.
Otherwise we get XP/Gold messages that we would have to confirm manually
6. Return to the normal code execution
Still three minutes to go
We placed the shield in the first slot, so Locke attacks with it, then the X-Ether
End