Tl;dr I'm working on a TAS that recreated the glitch, and there is much more there than meets the eye. The first pause needs to be buffered for a specific number of frames, and the second start press needs to also held for a specific number of frames to execute the glitch successfully. I'm looking for those numbers, and learning a lot about how the game breaks here.
Howdy. I've been working on a TAS for StarTropics lately, and pulling off this glitch has been... a good chunk of my day. Since I've spent all day trying to reproduce this glitch. I figured I'd share my findings so far with the nitty gritty of this glitch while I look for a viable setup. In no particular order, here is a list of my discoveries. I'll be editing this as I work more out.
1.) There are two frames after killing this mini-boss during his death animation where pausing will crash the game. Where you are is not important to causing the crash.
2.) This has all the hallmarks of ACE. Running a stack trace shows a ton of reads/writes to registers, and eventually the stack breaks after attempting to read from an invalid register.
3.) Some specific holds of the start button will cause the game to issue a console reset command, even occasionally rebooting the game cleanly to file select.
4.) Moving forward on the ACE assumption, holding pause both breaks the execution pointer, and affects the code being executed. Each frame start is held causes the memory to be set up differently, thus causing one of a cast number of crashes.
5.) While there are a vast number of different crash outcomes, there seem both to be patterns in the mechanics of the crash, and groups of final outcomes.
I suspect that this glitch works by writing a non-zero value to address 8001, which activates the debug flag. By then triggering the cart to crash on one of the combinations which triggers a clean reset, and holding start while the game resets, it brings up the stage select from the debug menu. I would definitely like more information if its available, including maybe a download link for that video. Would definitely go a long way toward cracking this open. Also if anyone knows about NES Assembly that would be willing to have a look, let me know!
P.S. Is there a discord server? Link here is expired.
Feel free to join the Discord and/or contact me directly if you want more info.
I do have in my notes somewhere how to replicate it, at least, the first part of the glitch. There is 3 or 4 variables that needed to match up, which are not too hard to make them match. (With RAM watch of course)
Also, at the time I posted the video, I did not know Assembly6502, but I do now, I could probably help you with that a little (not an expert thought!).
Finally, just for the TAS in general, there is a lot that I know about how the game work, I might be able to help you some extra frame on multiple place! (There is multiple thing the current TAS does not do).