-
Notifications
You must be signed in to change notification settings - Fork 1
Home
The Route is described and compared with previous tases and speedruns.
The sketch glitch is the major glitch used in this run. Missing a sketch with Relm within certain conditions induces big chunks of copy from ROM to RAM that can lead to some nice things. The technical details of the sketch glitch are described here, and the consequences are exposed here. To make easier setting up the numerous tests, a Test bench has been written. Here is also the route that is needed to get the right spell in the 28th position.
Triggering the sketch glitch can kill ennemies, making them untargetable, which disable all commands that target ennemis by default. Here is the results on the Triangle Island.
A useful manipulation through the entire tas will getting preemptives, or as a general matter, being able to escape quickly. These factors are determined by the value of the frame counter at the beginning of the battle, so it can be manipulated easily by delaying the battle. Writing a script to predict this will save a lot of time.
Let's see if we can do something from JP Glitch attacks.
A fast way to trigger the ending is to modify the event pointer, a 24-bit address that stores where in the list of events ($CA0000-$CCE5FF) we are. This event pointer is stored at $E5-$E7. During a fight, the game makes a backup to $12E5-$12E7 and restores at the end of the fight, so the modification should be placed there. The list of events that triggers the ending starts at $CA1362. So this should trigger the ending if executed during a fight:
A9 62 13 LDA #$1362 Well, only if we are in 16-bit accumulator mode
8D E5 12 STA $12E5 Address $12E7 should commonly be #$CA, so no need to write it
Because of conditions on renaming characters, here is an alternative (for proof of concept only):
AD 20 3C LDA $3C20 max HP of char 3 in battle
92 22 3C STA ($3C20) max HP of char 4 in battle
There are a lot of possible optimisations (small, mostly) that have to be kept in mind during the TAS.
- Map of the ROM data: http://www.rpglegion.com/ff6/hack/ff3info.txt
- Incomplete map of RAM data: http://www.ff6hacking.com/forums/archive/index.php?thread-1408.html
- Another map of RAM data and stuff: http://www.rpglegion.com/ff6/hack/info.htm
- Event bits and other stuff: http://novaliaspirit.99k.org/ff6/docs.html
- Snes opcodes good description: http://softpixel.com/~cwright/sianse/docs/65816NFO.HTM
- Full 65816 Programming Guide (469 pages): http://www.romhacking.net/documents/423/
- Many lists: http://www.tales-cless.org/docs/ff6hack.htm
- Many stuff: http://mnrogar.slickproductions.org/index.htm