Yoshi's Island Speedrun

Mar 14, 2018 Super Mario World 2: Yoshi's Island Glitches (SNES) - Son Of A Glitch - Episode 37 - Duration: 14:41. A+Start 2,550,243 views.

  1. Yoshi's Island 2 Speedrun
  2. Yoshi's Island Speedrun Wiki
  3. Yoshi's Island Speedrun
The purpose of this page is to document all the known tricks of the SNES Super Mario World 2: Yoshi's Island. There is discussion thread of this game (almost as old as the website itself!).Table of contents [expand all] [collapse all]
  • Various mechanics
  • Memory addresses

To see these tricks used, you can watch the currently published movies:

  • [1898] SNES Super Mario World 2: Yoshi's Island (USA v1.0) by Carl Sagan in 1:33:40.18
  • [2320] SNES Super Mario World 2: Yoshi's Island (USA v1.0) '100%' by Baxter, Carl Sagan & NxCy in 1:59:35.12
  • [2751] SNES Super Mario World 2: Yoshi's Island (USA v1.0) 'game end glitch' by Masterjun in 01:17.54

Add:

  • Way more info
  • Some simple .bk2/.smv demonstrations of these tricks
  • Diagrams, gifs

Various mechanics

For the sake of clarity, let < and > denote left and right directional input, respectively. Let _ denote no directional input.

Floating

Release B button 3 (try 4 in some instances) frames before 'descent' sprite begins and wait 1 (try 2 or 3 in some instances) frames before holding the B button again.

To reach higher ledges by use of floating just once, try releasing the B button at the right time (see above) rather than holding it down until Yoshi begins to float, as maximum height can only be reached in this manner.

In between floats, the optimal acceleration input is

< > > < > > > < > > > < > > _ > ...

where the first < is pressed 8 frames before Yoshi comes out of the 'fluttering' animation. After > _ >, right should be held until Yoshi's speed is oscillating at its max again.

To reach maximum height from a float boost, release B button 8 frames before float sprite appears for 1 frame, then hold.

Enemy boost + platform trick

After jumping on an enemy and doing a perfectly timed jump off of certain platforms (with no float/landing sprites in between) will not cancel the float boost; moving platforms always work; anything will work as long as there aren't any float/landing sprites.

Left + right glitch warping

The warp glitch takes 3 different forms, all of which are performed at the world map.
  • Left+Right - determined by the # of coins you collected
  • Right, then Left+Right - determined by the # of red coins you collected
  • Right, then Left, then Left+Right - inconclusive, but surmised to be determined by the last pipe you entered.

This is caused by the game falling of a list of the unlocked levels due to reading too fast and skipping the terminating entries resulting in incorrectly using junk after the list, which just so happens to be the coin counts.

Yoshi

Hitting potted plants with eggs

Hitting potted plants with eggs moves them twice as fast as pushing, but only with a direct hit. Ricocheted eggs don't nearly have as much effect.

Weird glitch: Ricochet an egg off of the top of an egg block with a horizontal throw onto a pot and it breaks when it falls back down, without having to push it off of a ledge(?). Or hit it off screen at the very top edge (at the flowers) with a perfectly horizontal throw(?). Something to do with launching it high enough off the ground to register it as broken when it lands(?).

Keys hidden inside vases will move in the direction Yoshi is facing once the vase is broken. Abuse this by facing left when approaching a vase from the left to make the key fly at you (e.g. 1-4).

Spitting out/making eggs

Release left/right direction so that Yoshi's speed freezes on the average. If no directional input is held, Yoshi can use his tongue/handle enemies without slowing down at all, as long as he is not touching the floor.

Use of Memory Watch of speed when making eggs will yield the least amount of slowdown. It should be noted that when making eggs/holding out the tongue, your speed freezes when you release forwards, and you can sometimes use this to your advantage (but not at the scale of the Jump trick in Super Mario World). TODO: Write a more descriptive explanation.

Enemy jump boost

Press B button 3 frames before landing on an enemy (ie.collision 'explosion') for maximum height.

Taking a hit

Yoshi can take a hit without stalling (save for grabbing back Baby Mario) if perfectly timed jumps are done in between.

Baby Mario will fly away in the opposite direction to which Yoshi is facing.

Egg blocks

When hitting egg blocks on the fly, use the upward tongue to grab the egg rather than backwards jumping and grabbing from behind.

Additionally, you can press a combo of left and right, then release to freeze your speed on a good oscillation. You then press A, which locks you in the egg aiming animation, while facing backwards. You then time the jump so that you cancel the egg and jump on the next frame without losing your good oscillation. This results in a backwards facing jump with a speed of 767. From there, you can use Yoshi's tongue to grab at sprites behind you, but only do so when you absolutely need to.

Points

Getting at least one red coin will lose you ~30 frames at the goal tally-up; getting a flower will be another ~30. Each extra item will cost one frame each.

The Goal Ring

Touch the lowest 6 pixels of the of the goal ring activation line (it checks Yoshi's y center position) as you pass through it to make Baby Mario not travel as high and get caught by the following Yoshi frames faster (check a diagram here).

Skipping level intros

Alternating between A and B turbo (rather than just a single turboed button) exits level intro titles much faster. It's also easier and saves rerecords on the world map when choosing a level; wherever input is accepted by both A and B it's very useful. Pressing down can also get through dialogue, so turbo down with A.

Egg swapping

Switch between different eggs in Yoshi's egg stock by simply cancelling the targeting with 'Y'.

Using monkeys or shells as portable jumping platforms

Try ricocheting koopa shells off of a wall after getting a jump boost from an enemy and jumping on the shell for another jump boost. The monkey or shell must be spit upwards.Yoshi

Note: Monkeys only work in some circumstances and may not need to be used at all.

After ricocheting a shell off of a wall, swallow it immediately before jumping on it and you will gain a boost with the shell in your mouth! Repeat for as much needed! Shell must be jumped on at the very edge; otherwise simultaneous swallowing and jumping won't be possible. Infinite jump boosts will only work with shells, not monkeys.

Jumping

Press B button 4 frames before Yoshi lands (i.e. landing sprite) for a perfectly timed jump. When jumping off of slopes, this is important to prevent speed decrements. If a jump off of a slope cannot be done 4 frames before landing (and sometimes must be done 3 frames before) Yoshi will lose speed; try to modify the previous jump to easily fix it.

Note: There is an interesting mini boost when jumping up an uphill slope at max speed, if you do a little variation of the acceleration trick (on the frame when you're about to touch the ground, press left one frame). It's unknown yet if this saves any time, but for 2 frames you'll be above max speed and then 1 frame below it, then go back to normal oscillating max speed.

Sometimes, if you jump on certain frames, your speed is reduced to an average of 752, so it should always be tested with every jump. Generally, if you want to jump again straight away after landing on a flat surface, it is optimal to jump on the third frame possible. Each jump should be tested.

Long jumping

Sometimes Yoshi can jump through narrow passages/entrances and 'squeeze' through enemies and other obstacles by holding down the B button no longer than necessary (so Yoshi will not get hit or run into the side of the ledge), releasing it for as long as needed until the B button can be held again without any collisions to stay off ground for a little longer (without any floating); this can only be done if Yoshi is not falling, and is still increasing height. Can't really jump any further, just at a shorter 'arch'.

Pipe animation Cancelling

If you jump and press down to do a downward pound when attempting to go down pipes, Yoshi will jump up, and the pressing down will make Yoshi activate the pipe, but will have jumped first. The result is that Yoshi jumps, doesn't do the pound animation, and the screen fades black, loading to the next room that Yoshi would enter from the pipe. This saves time from going into the pipe normally.

Acceleration

Get a faster acceleration when Yoshi is at a complete stop (also with jumping arrows) by pressing Left once, then Right 4 times, then Left, then Right 3 times, then Left, then Right 3 times, then Left, then Right 3 times, then Left, then Right 2 times, then Left, then Right for the remainder. This can be done either on the ground or when jumping.

The following acceleration method is slightly faster, but will not work if Yoshi is on the floor:

< > > > > < > > > < > > > < > > > < > > > < > > _ > ...

After the > _ >, right should be held until Yoshi's speed is at its max.

Slope-Oscillation

When you jump on a slope, jump off it on the 2nd frame possible. This will change your average speed (and the low and high respectively). Normal average speed from initial acceleration is 760, but with the slope trick, the max becomes 767. Different positions on the slope must be tested, and sometimes it's not possible to reach 767. But, speeds above 760 can still be reached, such as 765.

Once you perform the slope trick, you must constantly watch memory to make sure the average speed does not decrease down to 752.

Speed Oscillation Freeze

Yoshi's speed oscillates; this speed however is frozen when you jump and let go of right/left (which is essential for keeping speed while making eggs.) If Yoshi's speed is above average when you let go if left/right, it will reduce down to the average (thus no Super Mario World Hop Glitch) but letting go can allow slight sub pixel advantage by freezing your speed on a good oscillation. It also allows for turning left, and hopping backwards without losing significant speed; however, you need to accelerate so you end up with the same speed again, and prepare an egg shot which faces you in the opposite direction.

Halting

Directly before landing (4 frames) press down three times to come to a complete stop; hold the new direction for 6 frames then begin the acceleration trick.

The fastest way to turn around is to lick a wall and hold the opposite the direction; near-instantly, Yoshi's speed falls to 0.

Enemies

Boos give 2 stars when killed; throw an egg through one and turn Yoshi's back to it for a couple of frames and the egg should ricochet off of a wall and hit the ghost when it is vulnerable.Green piranha plants can be passed through very briefly if they are stunned with an egg.

Yoshi's Island 2 Speedrun

Puffer fish in the 3-3 submarine area can be passed through right after being stunned with an egg.

Crabs can be destroyed with three eggs.

The 3-8 boss, Naval Piranha, can be skipped if you shot an egg at it before the transformation sequence.

00:7A94 RAM address for total damage done to Prince Froggy (when overflow, battle over). Do at least #$2AAA damage each hit for 6-hit kill.

Try to avoid running through 'cloaked walls' as much as possible

Yoshi
Obvious instances include those in the 'Bandit Room' of 2-8 and the beginning of the last area of 4-7.

Middle-rings

For the unavoidable middle-rings, try to gather as many stars as possible beforehand to shorten the middle-ring star counter.

Star cloud glitch

Sometimes star clouds will not produce 5 stars; this is most often seen with invisible clouds which are hit immediately after appearing. They usually produce fewer than 5 stars when the glitch is in effect, but can sometimes produce 6 stars.

Moving arrows

Swallow + jump trick can only be used on the right side of the arrow. Same application as the shell/monkey trick to go up without ledges, except no wall needed.

Turning around

On the ground, hold down for 3 frames to come to a halting stop, then use the acceleration trick to move in the opposite direction.When falling off of ledges, 7 frames before the fall (ie.when the falling sprite shows) release all buttons for 1 frame, hold down for 2 frames, hold down + (left or right, whichever direction Yoshi is turning) for 1 frame, then hold the new direction.

Go through walls

When standing on a pinwheel that rotates on a dotted line, have Yoshi stand on top, and tap right when being pushed against a wall. It could be that any effect that pushes Yoshi right can work, and you just tap the same direction; more testing needed.

Going through walls as Baby Mario:

When running up a vertical wall, you let go for three frames and then press the direction you were running again. Baby Mario will be inside the wall briefly, and from here you can do some weird jumping to get inside a wall like this: http://dehacked.2y.net/microstorage.php/info/1808235845/baby%20mario.smvMore research needs to be done, but the theory is proven!

Slope boost as Baby Mario

Baby Mario behaves different from Yoshi on slopes. If you are running down a slope, jump and you will get a significant speed boost.

Clip past corners

If you are falling past a corner, when moving horizontally, running off the edge or clipping it for one frame when falling makes Yoshi fall slightly quicker than just jumping right down, because he gets a speed boost for 1 frame.

Off screen trick

Some sprites, such as middle rings, don't exist when they are off screen, so you can pass through them. If you continuously jump the first frame you land, you can make the screen not scroll up to where you are, thus keeping Yoshi off screen.

6-7 Pinwheel zip

In the 6-7 level, there is a pinwheel. If you walk along it as it rolls, near the end you'll get zipped up to the very top of the level, thus skipping the need to ride the platforms up to the top, which takes a long time. This is confirmed to work using the (E) ROM, but so far unsuccessful with the (U) ROM.

Free minigames

You can play the thief minigames directly from the map screen if you enter a code (hold select and press x,x,y,b and a in order). This grants easy inventory items and is faster than finding each minigame hut and its corresponding key.

Yoshi's Island Speedrun Wiki

Memory addresses

WRAM

Holds addresses for general purpose (game mode, frame counter, stack, etc), level tile data, level header, boss info, DMA/HDMA tables, mirrors of various registers, etc. It's currently 75% mapped at SMWCentral. Here are some useful addresses:
Address Size Description
$7E0030 2 bytes Frame counter
$7E0039 2 bytes Camera X position
$7E003B 2 bytes Camera Y position
$7E0118 2 bytes Game mode. You can find the list of valid values here.
$7E093C 2 bytes Controller 1 data, format BYsSUDLRAXlr0123

Super FX RAM

Spans from $700000 to $701FFF, and it's mirrored by $006000-$007FFF in the 65816 CPU. Bank $70 is read as bank $00 by the SFX CPU. It holds addresses for player info, sprite info, ambient sprite info, RNG, timers, OAM, save files, etc. It's currently 70% mapped at SMWCentral. Here are some useful addresses:

Note: Sprite tables are 96 bytes long, 4 bytes for each sprite slot (24 slots). Ambient sprite tables are 64 bytes long, 4 bytes for each ambient sprite slot (16 slots).

Address Size Description
$70008A 1 byte X subposition
$70008C 2 bytes X position
$70008E 1 byte Y subposition
$700090 2 bytes Y position
$7000B4 2 bytes X speed
$7000AA 2 bytes Y speed
$7000AC 2 bytes Yoshi state
$7000C4 2 bytes Yoshi facing direction (#$0000 = right, #$0002 = left)
$7000E4 2 bytes Egg cursor X position
$7000E6 2 bytes Egg cursor Y position
$7000EE 2 bytes Egg cursor angle, ranges from #$0000 = lowest to #$2E00 = highest
$7000FC 2 bytes Player collision flags with terrain
$70011C 2 bytes X centered position
$70011E 2 bytes Y centered position
$700120 2 bytes Yoshi's hitbox half width, relative to its center
$700122 2 bytes Yoshi's hitbox half height, relative to its center
$700152 2 bytes X extension of tongue
$700154 2 bytes Y extension of tongue
$7001D6 2 bytes Invincibility timer, starts at #$00A0 on hit
$7001EE 2 bytes Timer for sprite in Yoshi's mouth to be automatically swallowed. Starts off at #$04B0 upon sprite entering mouth
$7001F4 2 bytes Transformation timer
$700F00 96 bytes Sprite table: word 1 = sprite state
$7010E0 96 bytes Sprite table: word 2 = sprite X position
$701180 96 bytes Sprite table: word 2 = sprite Y position
$701360 96 bytes Sprite table: word 1 = sprite ID (valid values here)
$701BB6 96 bytes Sprite table: word 1 = sprite hitbox half width, word 2 = hitbox half height (both relative to its center)
$701CD6 96 bytes Sprite table: word 1 = sprite hitbox X centered position, word 2 = hitbox Y centered position
$701970 2 bytes Random number generator (RNG)

ROM

There's a disassembly of this game made by Raidenthequick, which contains a lot of technical information. Also, it's currently 50% mapped at SMWCentral.

Cheat codes

Yoshi's Island Speedrun

Cheat code Description
83A85C00 Yoshi destroys all enemies in his way
83A86E80 Monsters have no effect
83A8D700 Baby Mario stays on saddle even if Yoshi hit
86CFB480 Baby Mario stays on saddle even if Yoshi hit
8ADA2A01 Infinite egg ricochets
83B106BD Eggs can ricochet through enemies
8ADA35FF Eggs do not leave when over-ricocheted
8BE0B3xx Jump height/speed. #$FB = normal, less than #$FB = higher jumps
8BCE1C00 Moon jump

See also

  • Game Resources ― we have resource pages for other games too!
  • Common Tricks ― tricks common to many games
  • Boss Fighting Guide ― tricks specific to boss fights

GameResources/SNES/YoshisIsland last edited by brunovalads on 2018-10-14 17:37:56
Page info and history | Latest diff | List referrers | View Source