Hello there. I know I'm reviving a
six-year old discussion with this post, but I've been told to come here and discuss my recent findings with people more knowledgeable with the quirks and inner workings of S3&K.
Almost two months ago, while I was practicing IceCap speedruns in Gens, I accidentally managed to crash the game as I had messed up the rolling down the slope speeds/angles/whatever around the area before the midboss. After messing with Debug, I noticed that right before the crash, I had activated the load IC2 trigger but both the camera and I had really high X-coordinates (FDE0, FF2A, etc.), which made me believe I had underflowed my X position by letting Sonic have an X-coordinate less than 6910 (I think?) after activating the trigger but before the actual displacement of the objects happened. If I went out of Debug at this point, the camera would attempt to scroll back to 0000, which would crash the game. However, further moving around with Debug mode allowed me to load basically almost any object from LB1 that I wanted (for example, enemies, big rings, or even the mid-boss) in basically the same way that the three users that made the Debug glitches series of videos did (go to roughly the area where those objects are supposed to spawn and hope for the best). Unfortunately, I was never quite able to replicate this setup (rolling down the slopes in a specific way) in any other emulator, nor get it to work by trying to replicate my inputs by hand in a fresh gmv file; although loading already underflowed savestates in other emulators did allow me to replicate part of this behavior. I guess splicing the rolling-down-the-slope section into a ICZ1 gmv with Debug mode activated normally would work, but I’m not familiar with the tools required to do such a thing. A video of how that setup looked like can be found here:
https://youtu.be/DHI3TxMbXV4. A zip file with a gmv file and the required savestate can be found here:
https://drive.google.com/file/d/0ByxmC6HngEDiYjFCbFl1UV9Ucnc (it requires activating Debug at about frame 3000 using Game Genie Code FFFFDA:0001 because back when I made this movie file, I was just practicing speedruns obviously without debug).
A few days ago, I managed to find a relatively easier and definitely more sensible way of getting my X coordinates to underflow. A video of how this setup looks like can be found here:
https://youtu.be/OHSUlzsIJRY. Unlike last time, trying to replicate this setup in Gens 11a, Fusion 3.64 and even Regen 0.972 proved to be successful, and I even managed to get the mid-boss to spawn in all three emulators by doing the same steps as the ones showed in the video, and even a bunch of objects from LB2 (including the first boss) and surprisingly enough even from HC2 (two fan propellers that push you upward, and the fan that pushes you to the boss at the end). Interestingly enough, trying to work with Regen turned out to be a challenge, as sometimes getting the wrong coordinates meant a crash to desktop. A zip file with a gmv file and the required savestate can be found here:
https://drive.google.com/file/d/0ByxmC6HngEDicXR1UF92Sm9WeHM/view (no special requirements, skip to about frame 10,000 to see the actual underflow in action).
Of course, I am aware that to get something useful out of the underflow you do need Debug for now. However, the main difference with the videos that were presented 6 years ago is that they don’t rely on “death tricks” and seem to work in different emulators. And yes, I have tried dying and switching to Debug to uncover more stuff, and indeed got a bunch of additional stuff. I am unable to try this on console, but my guess is that it works.
In any case, I’d like to get your opinion on this, seeing that this doesn’t seem to be an emulation glitch and that the underflow can be performed without Debug. For now, it doesn’t seem to be that useful, but maybe getting an underflow in a different Y position could turn out to be more useful?
Thank you