I'm finally back working on Crash, hopefully without further interruptions.
I'm currently researching on a glitch that makes Crash remaining stuck on air. See the following videos for some demonstrations:
https://clips.twitch.tv/HelpfulObliqueNikudonTooSpicy
https://youtu.be/5zvRlDMAKeQ
While I already managed to reproduce the glitch in the second video, I yet have to figure what is specifically triggering it; but for the moment I can tell that the address responsable for Crash to remain stuck on air is the
maxium Y speed value.
SystemID GBA
010A14 d u 0 EWRAM X position
010A18 d u 0 EWRAM Y position
010A74 d s 0 EWRAM max X speed
010A70 d s 0 EWRAM max Y speed
010E2C d s 0 EWRAM X position (bonus level)
010E30 d s 0 EWRAM Y position (bonus level)
010E8C d s 0 EWRAM max X speed (bonus level)
010E88 d s 0 EWRAM max Y speed (bonus level)
While Crash stands still, all maximum speeds are zero. This value gets modified if Crash stops standing still. In fact, if you poke the
Y position in order to put Crash on air, the
maxium Y speed value will change to 1536 in order to allow Crash to begin falling.
But if you poke the
maxium Y speed while Crash is still on air, the value won't change. So the reason why the glitch prevents Crash from falling, is because
something made the
maxium Y speed to change to zero before Crash landed.
From what it seems, it's probably caused by the pushback of the boxes, or maybe I should say "pushupwards". The interesting thing is that this minor glitch of pushing Crash upwards can also be triggered by landing on the ledges of moving platforms and bonus level platforms, but with these I couldn't cause Crash to remain stuck in air. So there is probably something involved about breaking boxes as well.
Edit: It looks like the glitch can triggered only if there are at least three boxes stacked. You basically need to break the middle one(s), leaving the upper and the bottom ones unbroken, and landing on the bottom one before the spin ends. At this point it looks to me that this glitch can be triggered only in very specific places.