(Link to video)
Surprise! As stated in the previous submission text there possibly exist some improvements such as Finding another glitch (infinite tongue glitch?). By using exactly that glitch, I was able to lead the code to the controller registers and then reach ACE and the credits.

Game objectives

  • Emulator used: lsnes rr2-ß21
  • Arbitrary Code Execution
  • Aims for fastest time
  • Abuses programming errors in the game
  • Achieves credits early

Comments

In Yoshi's Island, the middle ring is a really nice feature in the game. If you activated it, the game gives you the ability to restart from there in case you die before reaching the goal. When activating, it also gives you up to 10 additional stars which can be a big help when playing casually. And as if that isn't enough, it also turns all the sprites on the screen into stars!
(Note: Since this game uses the Super FX 2 chip for a bunch of stuff, I couldn't really debug what exactly happens in the code. This is what I think happens:)
When spitting out an enemy, it first goes into a semi-active state with Yoshi's mouth opened but the sprite didn't appear yet. In theory, the sprite is still in Yoshi's mouth, but if you happen to activate a middle ring so that all sprites turn to stars, that semi-active sprite also turns into a star.
The game deals with this by just sticking out Yoshi's tongue instead of spitting out a sprite, but the flag that's Yoshi's mouth is full wasn't cleared, so he now has nothing in his mouth. Now when pressing Y Yoshi just sticks out his tongue, but is unable to actually get something on it.

Infinite Tongue Glitch

Usually, when sticking out Yoshi's tongue and getting hit while it is out, the values (state, position) for the tongue are reset so that it is back in Yoshi's mouth. But apparently the state for the tongue isn't reset when Yoshi has something in his mouth. However, the position is reset!
When in this glitched state as explained above and when getting hit while the tongue is coming back to Yoshi, the position is reset, so it is back at Yoshi. Unfortunate for the game is that it first decreases the position and then checks if it already reached Yoshi.
The tongue basically missed Yoshi and is now flying around and increasing in length. The fact that the tongue is getting longer and longer means it takes up more and more space in the OAM-like memory that saves all the data about spawned sprites. First it takes up all the space that could have been used by other sprites (which is the reason all sprites disappear), then it keeps going on until it corrupts important parts of the memory that the game uses for indexing its jumps in the code.
The tongue is growing tile by tile so it only grows 8 bytes per frame. When getting back the baby, the bubble "explodes" and displaying that means writing a bunch of tiles at once to memory. Even though these tiles are quickly overwritten by the tongue (as the bubble quickly disappears) they can be used to corrupt more bytes at once at the critical memory part.
The code will eventually reach the controller registers and to get to the credits from there, I just used the same steps as in the previous submission.

Route

I collect 2 coins in the intro to warp glitch to 1-2, which is the quickest way to a middle ring. There I glitch Yoshi into the strange state and try to get hit as fast as possible. It turned out that going back left through the gate was faster than waiting for another shy guy to come out of the pipe to the right (since the first one turns into a star). It was also important to keep your speed down a bit to avoid making the red shy guy turn into a star, too.

Other comments

Thanks to

  • basically the YI community again for glitch hunting this game
  • flutter A.I for already being in this game so I don't have to arbitrarily inject it

Suggested Screenshots


Nach: Excellent movie, terrific feedback, accepting as improvement to existing run.
Encoders beware, this run contains a lot of interesting things that occur for exactly a single frame.
fsvgm777: Processing.

Active player (423)
Joined: 9/7/2007
Posts: 329
Do the any% TASes http://tasvideos.org/1898M.html and http://tasvideos.org/362M.html need "warpless" if the others have "warp glitch" or "game end glitch" (or 100%)
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Don't confuse warp glitches and legit ingame warps.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Active player (423)
Joined: 9/7/2007
Posts: 329
Those two TASes I posted do not use any warps at all. (There are no in-game warps aside from glitches)
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Then I don't understand the question. They are already called warpless, and they are not any%.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Active player (423)
Joined: 9/7/2007
Posts: 329
They are any% because there is no faster category other than game breaking glitches. Calling them warpless should never have been done, but it likely occurred before we started standardizing the category naming, and I think it could be a result of temporary obsoletion.
Spikestuff
They/Them
Editor, Publisher, Expert player (2312)
Joined: 10/12/2011
Posts: 6342
Location: The land down under.
Which goes to my point of unlinking and restoring "warps" back to the former glory of not being obsoleted, or if we do keep it the way it is, we have to remove the branch "warpless"
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Does the game have legit warps? The first run with warps was already called glitched, and not because it had warps, but because it used glitched warps to go wrong places. If a run is made with no glitched warps, but with legit ones, it has all chances to be accepted.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Experienced player (818)
Joined: 5/2/2015
Posts: 671
Location: France
There are no 'legit warps' in this game.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Then the movie classes are false for those runs. But yeah, warpless become any% XD
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Masterjun
He/Him
Site Developer, Skilled player (1971)
Joined: 10/12/2010
Posts: 1179
Location: Germany
dunnius wrote:
Do the any% TASes http://tasvideos.org/1898M.html and http://tasvideos.org/362M.html need "warpless" if the others have "warp glitch" or "game end glitch" (or 100%)
Yes, because those movies aim for the fastest completion (=any%) but while also avoiding the usage of warps (even if said warps are glitched ones). Additionally, if you want to restore the 6 minutes (currently named "warp glitch") movie, then you have to specify the goals of that movie. It doesn't use the null egg glitch and it doesn't use the infinite tongue glitch, meaning a possible branch name would be "no null egg, no infinite tongue". A different branch name could be "no controller registers". A possible, but bad idea would be "defeats bowser", because that means I can simply use the current run (this run) to warp myself to bowser instead of triggering the credits which means I could obsolete that new "defeats bowser" run. On a less objective point of view: What's the problem with having branch names that help define the movie? Why would you want to remove the "warpless"? Doesn't it help the viewers know a bit about the movie beforehand?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)