Submission #7243: Potato's GBA Mario & Luigi: Superstar Saga "all bosses" in 1:50:48.04

System Game Boy Advance Emulator BizHawk 2.4.0
Game Version JPN Frame Count 397071
ROM Filename Mario & Luigi RPG (Japan).gba Frame Rate 59.7275005696058
Branch all bosses Rerecord Count 77777
Unknown Authors Potato
Game Mario & Luigi: Superstar Saga
Submitted by Potato on 11/10/2021 9:12:26 AM

Submission Comments
The Goodwill Ambassador from the Beanbean Kingdom and her assistant arrive at the Mushroom Kingdom to bring a gift from Queen Bean for Princess Peach. However, it turns out to be an act of deceit; the ambassador and her assistant are actually villains named Cackletta and Fawful, who quickly steal Peach's voice and escape with it into the dark sky. As an attempt to save their princess' voice, Mario and Luigi (forced by Bowser) now team up to retrieve Peach's voice and save the Beanbean Kingdom in record time while defeating every boss along the way.
The flashing that are seen may not be that bad, however if you are susceptible to seizures, beware that there is flashing past the 45 minute mark!
New improvement:

Game objectives

  • Emulator used: BizHawk 2.4
  • RNG Manipulation
  • Abuses glitches to save time
  • Takes damage to save time

The Version

This run is done on the Japanese version of the game. Despite the general pattern of Japanese versions of games being released first, for Superstar Saga this version was released after the English version and because of this they changed a few things from the English version. The most notable changes they’ve made for this version are the Mush Badge being significantly nerfed and costing more coins, the major price increase of the #1 Trousers and the differences in the bosses’ health and their drops. There’s also some visual and audio differences between the two versions that you’re gonna be seeing throughout the run. They changed a few mechanics in the Japanese version for example switching the bros probably in an attempt to fix some glitches but instead they added even more to the table, most notably a way to clip into or up walls. More on that later though.
The Mush Badge gives an attack bonus based on how many mushrooms (including super, ultra, and max mushrooms) you have. This bonus is added on to the base damage. On the US version, each Mushroom and Super Mushroom increases the bonus by 51/256 points (the total is rounded down to an integer). However, on the Japanese version of the game they only increase the bonus by 20/256 points which is roughly a 60% decrease in damage from the US version. Ultra and Max Mushrooms do increase the bonus slightly more but are rarely ever picked up in the run. Where Mush Badge really shines however is when combined with Chopper Bros. This move is supposed to do many hits that do a small amount of damage, quickly decaying to 2 damage per hit. But the Mush Badge bonus is added to every hit, so the total damage is effectively multiplied by the Mush bonus. TAS can do a maximum of 27 hits per attack using autofire.
The #1 Trousers gives the wearer the ability to always attack first, no matter the speed of the enemy they're fighting. These trousers are especially broken on the US version not only because of the Mush Badge, but because they only cost 250 coins and both bros can wear it. On the Japanese version however they raised the cost of the #1 Trousers, from 250 coins, to 1290 coins, while also only making them wearable by Mario. Due to the price being increased by over 1000 coins sadly they won't be picked up in this run. Having the #1 Trousers would've been especially useful for Fawful but I'm gonna talk more about that when we get there.

The Category

As you may have read from the title this run beats the game while defeating all 27 bosses that the game has. There is 1 "boss" in the game that we don't beat however, and that is Pirahna Bean. The reason why we don't defeat Pirahna Bean is because the fight against him uses the regular enemy battle theme instead of a boss theme. While some people consider it to be a boss as well, because of not having a boss theme the community decided that he ultimately isn't a boss and that it would make the category less fun because of only being able to attack with Luigi, therefore we don't fight him.

The Route

The first 7 bosses of the game are defeated normally. We collect extra mushrooms (and other items to sell and get more mushrooms) along the way to power up the Mush Badge (see below). There is a small section in Hoohoo Mountain before Hoohooros skipped using a ledge clip. We unlock Splash Bros Advanced on the last turn of the Dragohoho, which is extremely useful on Queen Bean. We also unlock pipes 1 and 4 for later use.
After Rookie is defeated, we enter Chucklehuckle Woods where we get access to a Barrel that's near a sign. We do Barrel Storage and Sign Glitch, we leave the room and do Mini Mario Glitch in order to get a High Jump for Mario's B button. After this we backtrack and use this High Jump to reach a tall ledge while changing action commands in order to get "hop on barrel" for Mario and we start sequence breaking. We take pipe 5 to pipe 4 and head to east part of Teehee Valley. We use the barrel action command that we got earlier for Mario in order to clip through the lake and reach the other side. We grab a Max Nut from talking to a mole before performing some teleports in the maze and in the room after that, then we teleport past Trunkle in order to reach Fungitown early. The sole purpose of this section is to get the Mush Badge which saves an enormous amount of time in the remaining battles.
After unlocking the Mush Badge and buying 54 mushrooms, we head back to Chucklehuckle Woods where we defeat 3 bosses; first we go to Popple and defeat him. We then defeat Wiggler before teleporting past Chuckroot in order to beat Chuckolator. We want to get Chuckolator out of the way as early as possible because defeating Chuckolator early does 2 things; for one, it turns the Beanbean Town from a broken state to a normal state, which makes the item shop in the castle accessible and it opens the door in Beanbean Castle that leads to Queen Bean’s room.
Next up is Mom Pirahna which is found on the Air Port. We buy 99 mushrooms before going to the Air Port, where we're gonna do a couple of teleports to skip some cutscenes. We use High Jump every time Mario ingests water in order for Luigi to thunder the Pirahna Plants that unlock Mom Pirahna. Once Mom Pirahna is dead, we start the peach escort quest, unlock pipe 3 and use it, then defeat Trunkle. We reach Fungitown again where we buy super mushrooms in order to reach 11 mush damage.
We take pipe 7 to pipe 3 to regain glitched commands, then take pipe 3 to pipe 4 in order to head to the Hooniversity where we defeat 2 bosses: Cackletta and Rookie 2. After the second Rookie fight we reach Oho Oasis, where we turn Luigi into a surfboard in order to go to Gwarhar Lagoon to kill Hermie. Before entering Hermie we equip the Lucky Bros. badge on Luigi that we got from Trunkle, which increases the chance of lucky hits. Once Hermie is defeated, we surf again with Luigi this time to Joke's End, where we take pipe 9 to pipe 3 to go to Birdo. We need to do Birdo first because of 2 things; it sets our respawn location in the first room of Teehee Valley and it gives Mario the Hand on his A button which we will want to keep in order to unlock a door in Joke's End. After Birdo we take pipe 6 to pipe 9, unlock the door, use barrel clipping to skip large portions of Joke's End and use Moonjump to clip Mario through a door. We then enter Jojora where we quickly defeat Chucklissa. Once that's done, we go back the way we came from and enter an enemy encounter in order to perform a death warp and get sent to Teehee Valley.
After watching the final cutscenes before entering Bowser's Castle, we take pipe 3 to pipe 1 to reach Blablanadon and enter Bowser's Castle. From this point on, the remaining bosses will be defeated in their intended order: Iggy, Morton, Lemmy, Ludwig, Roy, Wendy, Larry, Fawful, and last but not least, Bowletta and Cackletta's Soul.

Battle by battle comments


This fight always ends after 5 hits no matter how much damage we do. Thus, the only way to speed up the fight is by dodging every counterattack on the first possible frame and avoiding the tutorials.

Goomba #1 (Tutorial)

Lucky hits are disabled here. We can again speed up the fight by hitting every counterattack on the first possible frame.

Goomba #2 (Tutorial)

Before entering the battle we manipulated RNG to get a +3 on POW as soon as possible in the roulette level up. We will be upgrading various stats throughout the run but for now we need as much POW as possible in order to deal more damage to enemies.


Lucky hits are disabled here, so the only way to speed up the fight is to manipulate Fawful into attacking Mario more and dodging the tutorial.

Fighter Fly (Tutorial)

Unfortunately on the Japanese version, the amount of times you use Splash Bros gets reset in the Bros. Attack tutorial. This means that unlike Any% which does 1 battle before the tutorial and 2 after, we have to do all 3 battles after the tutorial. The Splash Bros used in the tutorial also doesn’t count towards our uses, so we have to use an additional Splash Bros later on. Another reason why this is important is that the tutorial refills your BP, so Any% only had to use 1 syrup against Tolstar but we have to use an additional syrup in one of the Fighter Fly battles to keep doing Splash Bros.

Fighter Fly #1

In this fight we don’t have to manipulate a Lucky hit on the cannon because we need to do 2 splash bros anyway. We don’t take damage in this fight because Luigi only does 2 damage on the flies, but in the next fly battles we will start taking damage as that saves a frame on every counterattack.

Fighter Fly #2

Here we don’t enter the fight as soon as possible, instead we pick up some coins before entering since we have to get them anyway in order to do RNG manipulation for an incredibly lucky fight. In a Fighter Fly battle, a fly has a 9.68% chance of dropping a mushroom, while a cannon has a 16.13% chance. By collecting these coins before entering the battle we managed to not only manipulate all 4 enemies into dropping a mushroom each at the end of the battle, but we also manipulated Luigi into getting a Lucky hit on the cannon, which is around a 5% chance due to the very low stache that he has. All of this results in a fight that has a 1 in 83340 chance of happening while only wasting 3 frames.

Fighter Fly #3

We only jumped 1 frame later in order to manipulate yet another 4 mushroom drop at the end of the battle. Because we only did 1 splash bros in the last battle, we have to use splash bros 3 times in this fight and for that we have to use a syrup to refill our BP. We take damage from the flies to save a few frames.


This can be considered the first actual boss of the run. While we didn’t get a Tolstar fight with no additional textboxes like in Any%, we only got 1 textbox while not wasting any time at all. The fight could be completed 1 turn earlier if we manipulated 2 lucky hits from Luigi but that wouldn’t allow us to reach Splash Bros advanced in Dragohoho which would be a major timeloss. After this battle we unfortunately start getting +2 on POW for Mario. This is yet another version difference between Japanese and English; on the Japanese version you start getting +2 on POW one level earlier than English. Despite it being a difference of just 1 POW it matters so much that the next 4 bosses will require 1 extra turn each due to not having 27 POW now, so we sadly lose over a minute over Any%.


Hoohooros has 45 HP. Each splash bros does 13 damage, so 3 splash bros are required to kill him + a Bounce Bros.. You may wonder why we avoid using Bounce Bros. in this run. This is because its Advanced version is unlocked after only 8 uses. Getting any advanced bros. Attack spawns an additional cutscene of unlocking its advanced version, and since we don’t need Bounce Bros advanced it loses time, thus we try to use it as rarely as possible. We also use a Splash Bros against one of the pillars to get an additional Splash Bros use and reach Advanced right at the end of the next bossfight.


This is the bossfight where we want to get Splash Bros advanced on the last Splash Bros that we do in order to get a fast Queen Bean fight. Unfortunately they patched the bug that allowed us to overlap the cutscene of getting advanced with the cutscene of Dragohoho dying.

Queen Bean

This is the fight that we need Splash Bros advanced for. By using the advanced version we are able to damage the crown without taking down the Queen’s arms. Unfortunately we are 1 damage short of killing her in 3 turns so we have to waste another turn to finish her off. This is also the first fight where we start upgrading Stache for Luigi. The Stache stat increases the chance of lucky hits, but most importantly it reduces the cost of items and rises the selling price of them, therefore we can sell items for more coins and buy many more mushrooms. Upgrading POW becomes useless for Luigi from now on as all the following attacks will use Mario’s POW.

Popple & Rookie 1

If you kill Rookie first, Popple will run away from the battle. Thus we only aim for Rookie. Luigi takes damage so that he dies on the last counterattack from Popple. We want Luigi to die in order to skip a level up from him, and in this fight and all other Popple fights except for the one where he is solo, it’s faster for Luigi to die.

Popple (Solo)

We waste some frames on the textbox to get good RNG in the fight. This is also the first bossfight where we can do RNG manipulation inside the battle. Because Popple has 620 HP and because we deal 6 mush damage we are able to get a 4 turn fight just by using Chopper Bros, meaning Luigi doesn’t have to use a bros. Attack anymore. Bros. Attacks, consuming items and failing a jump or a hammer don’t advance RNG at all, meanwhile jumping on an enemy advances RNG once and using hammer advances RNG 3 times. By using these in the right order we are able to manipulate RNG to get Popple to only attack Mario throughout the fight. At the end of the battle we also manipulate a Golden Mushroom to drop from Popple which we’re going to sell for coins later. We start upgrading stache for Mario as well now because POW matters a lot less with the mush badge and we need all the stache we can get due to the tight mushroom route.


This boss only has 34 HP, so after we make him weak 3 hits of Chopper Bros. are enough to finish him off.


This fight is pretty self explanatory; we use a Chopper Bros. to take down his shield, then 2 more to take him down.

Mom Pirahna

We buy 99 mushrooms before arriving at the Air Port. This lets us deal 9 mush damage, which is enough to finish Mom Pirahna in just 1 Chopper Bros.


Probably the fastest boss in the game, his tree only has 140 HP so we're easily able to kill him in 1 turn. Despite its low health however he gives us a lot of coins and exp.


We bought 14 super mushrooms from Fungitown which brought our mush damage up to 11. This very conveniently is just enough to deal 300 damage in a single Chopper Bros. and finish Cackletta in just 1 turn.

Popple & Rookie 2

Just like in the first Popple & Rookie fight Luigi takes damage from Rookie, which we also finish in 1 Chopper Bros, in order to be killed by Popple at the end to skip a level up from him.

Hermie III

Hermie has 380 HP, so we can't quite kill him in 1 turn as well, thus we have to use 2 Chopper Bros. this time.


Since she has 500 HP this will also require 2 Chopper Bros. We yet again manipulate Popple into killing Luigi at the end to skip another level up from him. We start upgrading POW for Mario again because he has the stache he needs for the last shopping trip that we're gonna do and we will need this POW for Morton and Roy in Bowser's Castle.


This is the last boss that we kill before entering Bowser's Castle, and we again finish the fight with 2 Chopper Bros. We continue to upgrade POW for Mario, however for Luigi we start upgrading BP instead of Stache. The reason for this is because he already has the right stache for the last shopping trip as well. The 3 fastest stats to upgrade are HP, BP and Stache, however Stache increases the frequency of Lucky hits which we don't want anymore because this will make Hammering only advance RNG once instead of 3 times. Increasing HP also isn't good because we want to kill him in the upcoming fights, so we go with BP instead even though it doesn't help us at all.


We gathered 53 super mushrooms before entering Bowser's Castle. After grabbing the Ultra Mushroom from the first room we can now deal 15 mush damage. Since Iggy has the spin attack, which is the second fastest attack that a Koopaling can have, we manipulated him into doing 2 spin attacks. This lets us finish the fight extremely quickly with just 2 chopper bros. We leave him at very low HP however in order for him to kill Luigi with his fire attack as that skips another level up from him, and we then kill Iggy on the counterattack.


Morton has 900 HP and 120 defense which makes him the toughest boss to kill. Because of his ridiculous HP and defense, we waste Luigi's turn in order to give Mario a Red Pepper. This Red Pepper increases his POW by 50% which makes his POW go from 74 to 111. Remember when I said that POW isn't very important when using Mush Badge with Chopper Bros., however it is very important when using Knockback Bros., and with the increase in POW we're able to do just enough damage to leave him at very low HP so that he can kill Luigi again with his fire attack and be killed by Mario's counterattack. After this fight we start upgrading Speed for Mario. This is important because we have to outspeed Fawful in order to kill him quickly. Since Fawful has 80 speed and we only have 54 we will upgrade Speed as much as possible. This is also the last fight where killing Luigi is faster.


Before entering the battle we hammered the wrong Lemmy clone once. This is because the first time around it's impossible to hit the right Lemmy clone and enter the battle even if you manipulate RNG, so the earliest you can enter the battle is the second time when the clones spawn. Because of his cloning "attack" not requiring a counterattack at all this makes him the fastest koopaling to kill alongside Wendy.


Just like Iggy, Ludwig also has the spinning attack. Unlike Iggy however, we had to manipulate Ludwig into targetting Mario both times. This is because Luigi can't dodge Ludwig's spinning attack for some reason, only Mario can, which makes it one of the only undodgeable attacks in the game. He is not the only koopaling that has an undodgeable attack though.


Roy has 920 HP which makes him the highest health boss in the game on the Japanese version. He is not the toughest boss though because unlike Morton who has 120 defense, Roy only has 100, meaning attacks do way more damage against Roy. We manipulated Luigi into getting a Lucky hit on Morton because it deals just enough damage to kill him in 2 turns and it's faster than using a second Knockback Bros.


Since Wendy also has the cloning attack just like Lemmy it becomes an extremely quick fight.


Larry is the last koopaling and we manipulated him too into doing 2 spinning attacks. Right at the end of the battle however we get Chopper Bros. advanced. It's unavoidable to get Chopper Bros. advanced using this version but we aren't going to use it so it's sadly a timeloss that we have to take.


After the Larry fight, Mario got to 82 speed, which is just enough to outspeed Fawful as soon as he becomes airborne. The reason why we had to outspeed Fawful is because in this version they made this fight such that only Luigi can deal damage to Fawful when he's airborne. So, the only way to attack Fawful with Mario was for him to have more speed than Fawful, and with 27 hits we're barely able to kill him in 1 chopper bros. After this fight Mario and Luigi level up 1 last time and we upgrade BP for both.


In this version Bowletta has 700 HP. Thankfully since we have 15 mush damage this means that we can still kill her in 2 Chopper Bros. We wait on the last textbox for a few frames in order to manipulate Cackletta into doing only fast attacks.

Cackletta's Soul

This fight is vastly different in this version compared to US. First off, her heart only has 800 HP now compared to 1200 on the US version. This means that we are able to 1 cycle Cackletta using 2 chopper bros on the heart unlike Any% which had to get a 2 cycle fight. Whenever the Heart opens it takes 2 turns for it to turn small and be invulnerable, which is referred to as a cycle. Second, on the Japanese version, probably in an attempt to make the fight easier they made it so Mario and Luigi always attack first regardless if they outspeed Cackletta's body parts or not. So, on the first turn we kill the head right away to avoid getting slow attacks and we manipulate the hands into only attacking us. After her heart is revealed, even though Mario just used a Chopper Bros. he gets to attack again and so we deal 400 damage to the heart. By then failing the jump with Luigi we manipulate the head into powering one of the hands as well as manipulating only fast hand attacks. After her turn is over 1 more Chopper Bros. is enough to finish her off extremely quickly.


Corner Boosting

In Toad’s House we walk into the corner of walls which pushes us faster to the left than walking, saving a few frames. This is because Toad walks at a speed of 0x100 units per frame, or 0x50 units per frame in each direction when walking diagonally, but by walking perpendicularly into the corner of a wall he gets pushed to the left with a speed of 0x200 units per frame for 4 frames, and that is called Corner Boosting. This is only practical when moving at halved speed though since the bros' walking speed is already 0x200 units per frame.

NPC Boosting

By jumping into an NPC’s hitbox, the game tries to eject you out of its hitbox, giving you more speed the closer you jump into its hitbox which saves a few frames per application. This is called NPC boosting and it’s used all throughout the run.

Ledge Boosting

We can use ledges that end in a corner in order to boost Mario or Luigi forward, if you walk off the ledge diagonally and then move towards the corner. The speed that you get from the ledge boost is influenced by the angle of movement relative to the angle of the ledge and the distance to the ledge the frame before walking off it.

Instant Switching

The closer the bros are to each other the less time it will take to switch places. If the bros are on the same pixel or if their path is blocked by the corner of a wall, the switching will finish instantly which saves a few frames each time.

Stair Jumping

Walking on stairs causes you to move at half speed until you’re no longer on them, however by facing perpendicularly to the stair the frame before jumping you keep normal speed in your desired direction before landing on the stair again. While this works for most stairs, some stairs like the ones in the badge shop from Fungitown don't let you keep normal speed for long even while stair jumping.

Instant Reuniting

When the bros get separated either by dunking Luigi under a gate or by flattening Mario and walk through a hole, the time it takes for them to reunite is based on the distance between them on the frame of reuniting. If we position the separated bro such that the non-separated bro can jump and land exactly 0x1000 units in front of him the reuniting animation will happen instantly.

Death Warping

When you enter an enemy counter and both bros die, the game gives you 2 options: you can either warp to the last save file you've created or you can warp to the "last area" that you've been to before dying. In the latter case, you warp to that "last area" and you don't lose any progress. Unfortunately it is not very well understood which areas of the game get stored as your respawn location and how they get stored. For example defeating Birdo always sets your respawn location to the first room of Teehee Valley, however if we defeated Chucklissa before Birdo our respawn location would've been Oho Oasis instead. We use this after defeating Chucklissa in order to skip all the long cutscenes and going to the broken Koopa Cruiser.


Ledge Clipping

The game prevents us from spin jumping if there’s a ceiling that’s too low to fit the stack, however if Mario is less than a pixel under a ledge the game will allow them to stack even if there’s a ceiling above them. By then spin jumping into the ledge the game tries to move them to a place where they can fit, and since there’s a ledge above them that also acts as standing ground, they will be clipped up on that ground. This trick was first discovered by mugg and was applied in Hoohoo Mountain by SolidifiedGaming to save over a full minute.

Barrel Storage

When Luigi is inside a barrel and Mario breaks it with his hammer, there is one frame of opportunity where Mario can use his "hop on barrel" command even though the barrel was broken. This will cause the barrel to be restored and is called Barrel Storage. There is a variable at $2440 and $2420 in IWRAM that keep track of the action commands for Luigi and Mario respectively. Normally, when you break out of a barrel, without doing Barrel Storage, the game simply sets $2443 to FF. But how it does that is it copies the value at $2443 to $2441, and then it sets $2443 to FF. $2441 tracks the action command of Luigi when he is in front. When you're inside of the barrel, $2443 is usually 00, and when you're not inside the barrel it's FF instead. With barrel storage however, you are inside the barrel, but $2443 is set to FF. Now, if you break out of the barrel the game copies $2443 to $2441, meaning $2441 is now also FF, which means Luigi will have the blank action command on his A button.

Sign Glitch

Talking to the sign after doing Barrel Storage has interesting results. If we talk to the sign, the first byte is set to 00. But again, the game handles this a bit differently; what is actually happening is the game copies $2441 to $2444, and then it sets the $2441 to 00. But the game copies $2441 to $2444 1 frame before $2441 is set to 00, which means even though the $2441 is 00, $2444 is still FF. Because $2444 is FF, it will keep the action command of talking to the sign even if you get away from it. Now let's go back to the variable at $2430: the first byte there is set to 02, which means Mario should be talking to a sign, but he is in the back so you still have the normal Jump. However, after you switch, this byte is responsible for being able to change Luigi's action commands past the intended limit. This gets us Spin Jump but on Luigi's B button after we switch. Using Spin Jump on Luigi sets the equivalent of $2441 of Luigi, but for Mario (at $2428). It sets it to $8204, which for Mario is apparently a value that works to make his action command ID go up. We get ID 21 after we land for Mario's A button, which is the "Emerge" action command, but because this command is not intended to be used by Mario, after using it $2428 is set to FF. Finally, we talk to the sign, we switch twice and we can now leave the room. All of this was to get ID 3 for Mario's B button after leaving this room.

Mini Mario Glitch

Luigi can use Hammer on Mario to flatten him. Small Mario walking through a tunnel will cause the brothers to get separated. When Luigi then approaches Mario, Mario will walk behind Luigi and Luigi will turn Mario back to big. However, if Luigi approaches Mario in a way that Mario does not need to walk behind Luigi at all, Luigi will forget to turn Mario back to big. This can be done by having Luigi jump twice, then aim at Mario and land precisely in front of him. In other words, small Mario is exactly behind Luigi at the time they are united again. Using actions such as flattening one of the bros, using Spin Jump, etc., determines the game to "fix" the command it's supposed to show; for example, the action command that we got for Mario earlier, an X, gets changed to "Hand" instead after Luigi flattens him. The byte at $2419 is set to 0B when in Mini Mario mode and remains unchanged when performing Mini Mario Glitch (just like Sign Glitch and the spin jump on Luigi), which is why we can get to ID 6. Now, if we use this action command, which is a Hammer that is fake, the game tries to fix it and makes it show the "real" action command we should have, a High Jump. Using this High Jump on Mario works just like the Spin Jump on Luigi; using it allows for both bros' action command ID to keep going up. We are able to use this High Jump and get a "hop on barrel" action command for Mario.

Barrel Clipping

This is the only glitch that's used in the run that's exclusive to the Japanese version. If you turn Luigi into a barrel while walking at normal speed and get Mario to be next to the wall that you want to clip through you can then switch places. Since Luigi is considered to be a barrel, he uses up more horizontal space and is thus considered to be inside the wall. By then precisely positioning Mario we can switch and clip both bros past the wall. Once inside the wall with both brothers, we can walk until we hit the next "wall unit" at which point you can switch twice in order to advance further into or past the wall. The reason why this works on the Japanese version is because there is a wall collision check while switching the brothers' places on the US version that only lets Luigi clip, but this check doesn't exist on Japanese. Also, this only works for horizontal walls; for walls that are placed upwards or downwards we have to use Teleporting to get past.

Luigi Hat Teleportation

Teleporting was discovered in order to go past walls both horizontally and vertically. The first requirement for teleporting is having glitched movement; when you walk normally, both bros walk at 0x200 units per frame like I said before. When you hammer Luigi, both bros walk at halved speed instead. However, if Mario high jumps on Luigi while he is underground, Mario will walk at normal speed again. This is done by using a glitched hammer on Luigi, so that you can change Mario’s action command to high jump while Luigi is underground.
At this point Mario is moving faster than Luigi, so they eventually catch up to each other and reach the same position on a certain frame. On the next frame, Mario tries to follow Luigi as usual, but since they are in the same position, he ends up teleporting somewhere. To understand where Mario teleports to, we have to explain the "follow path".
The follow path is a list of the most recent 256 x,y positions the front bro has been. On a frame of normal movement, each bro advances 8 indices on the follow path. The back bro goes to the position 8 indices ahead in the list, then the front bro moves 512 units, divides this movement into 8 64-unit intervals, and writes the endpoints of these intervals to the follow path. They stay 64 indices, or 8 frames apart, and the whole list is looped every 32 frames. When Luigi is underground, they walk at half speed so they only advance 4 indices per frame.
The follow path is "reset" when you enter a loading zone, switch places, or use a bros move like dunking Luigi, spin jump, and high jump. This means the front bro is moved to index 64, back bro to index 0, and indices 1-64 are filled with 64 positions between them. Indices 65-256 are untouched, so you can store positions later in the follow path by resetting it.
When you have glitched movement, Luigi advances by 4 indices while Mario advances by 8. The follow path is reset when doing the high jump to activate glitched movement. After 16 frames of movement, they both reach index 128. The next frame of walking, Mario goes to the position at index 136, which can be stored from earlier. Furthermore if Luigi jumps when you have glitched movement, he'll advance by 8 indices per frame like normal. So if you move for n frames in the air, they will coincide at entry 128+8n instead, and warp to entry 136+8n. In this way, we can warp to any entry (that's a multiple of 8) from 129 to 256. Entries 1-128 will always be overwritten before the teleport so are useless to teleport to.
Mario doesn't warp to the exact position in the follow path: he only warps to the closest position that matches the lower 2 bytes of the follow path position. In other words he can't move more than 0x8000 units in any direction. Also, teleports will sometimes be blocked by walls - Mario will end up teleporting to the wall's position instead of going through it. However if the lower 2 bytes of the follow path position is exactly 0x8000 away, Mario's position will decrease and this "exact warp" always goes through walls.
There are a lot of teleports that we do in this TAS so I'll quickly go over them: In the long room in Teehee, we set 256 to a position near the loading zone to the second maze room, and then switch twice to preserve it just like in Any%. In the next room we switch twice again to set 248 to a particular position past the first maze wall. Then we set up glitched movement while moving up enough to warp to this 248 position but 0x10000 lower Y. Next we warp to 136 followed by the 256 we set up before, and enter the loading zone. We need to have Luigi enter the loading zone since he's in front. This means Mario actually teleports a little bit past the loading zone, which can cause Mario to get stuck. If Mario is stuck when Luigi enters the loading zone, there's about a second when Mario can't move after entering the next room, so we avoid this. Before getting glitched movement in the next room, we are in a strange state where if Luigi jumps, the follow path is reset every frame. This means we can move far enough to warp to 256 again in this room, followed by a 136 warp past a rock.
Just outside the Trunkle room, we set 256 to a particular position. After getting glitched movement, we set 136 Y to 0x10000 more than the Y of the bottom of the elevator, then warp to 256. Then we warp to 136. Mario actually gets sent high into the air after the first teleport, so Luigi emerges while Mario is falling.
Before entering the last room before Wiggler we set 240 and 256. Next we enter the room and after getting glitched movement we do 2 consecutive warps to 240 follow by a 256 warp to emerge barely past the gate and reach Wiggler's room. Since we haven't unlocked the gate this means that we have to do teleports to go past the gate and go back to Chuckroot. Once the bossfight is done we set 256 right next to a wall and then 240 and 248 right before leaving the room. We then warp to 240, 256, 248 and 256, and so we skip a few cutscenes and a "minigame" involving collecting underground beans in order to open the gate.
In Chuckroot's room we set 136 close to the stairs. We then High Jump twice on the stairs while changing commands and we warp to 136 to get past Chuckroot. This skips getting the 3 Chuckola Fruits that are normally required to reach Chuckolator, then we warp to 256 on the bridge in the next room in order to skip Lady Lima's cutscene when arriving for the first time.
On the way to the Air Port we set 256 on the bridge that we spawn using Luigi's Thunderhand. In the following room we set 248 near some trees. Once in the Air Port room, we get glitched movement and warp to 248 which we set to the coordinates of the loading zone.
Before entering Hooniversity we set 256 on the stairs so that we can warp to it in the first room. After warping to 256, we warp to 248, 256 and 136. By doing these teleports we were able to skip a cutscene in the first room. Then, in the third room we set up for another teleport. We set 256 Y to be 0x1000 in front of the loading zone so that Luigi can enter the loading zone while the door is locked. We also set 256 X to be inbetween the wall and the locked door, such that after warping to 256 and Luigi emerges he enters the loading zone without triggering a long cutscene.

Doorframe Clip

This works very similarly to Barrel Clipping. In the case where there's a ledge placed above the loading zone that you come from and a wall under the ledge, by positioning Mario and Luigi on the same pixel 1 frame away from entering the loading zone and then doing the setup for Barrel Clip that we talked about earlier, the bros will be able to clip on top of the background vertical walls. This sends them very high in the air, so by constantly switching they are able to reach high places that they otherwise couldn't have reached. This is used before entering Popple and a few times in Bowser's Castle.


Normally when Luigi gets glitched movement and he jumps, he is free to walk in his desired direction after landing. However, if he tries to jump with glitched movement while he's standing on a ledge (Z > 0), as soon as he lands the game teleports him to Z = 0 inside of the ledge. Getting a "barrel break" action command and then using it has the same effect. The caveat is that the game doesn't just change his height; it also teleports him horizontally or vertically. If you precisely position him near a wall such that where he warps to is inside of a wall he will be able to infinitely jump and gain height. Note that where he teleports to does not work the same way as Luigi Hat Teleportation. This glitch is used in Joke's End in order to clip Mario through a locked door and into the loading zone.


After rewatching the TAS a couple I started to notice some small slowdowns, but as I rewatched it more and more I got ideas for more and more timesaves. Because I didn't want to leave this category unoptimised I decided that I should make another one, and after a few weeks I was able to finish the new movie while saving 5400 frames in the process. I will quickly go over the timesaves over the previous movie.


The first timesave comes from barrel clipping past the trees in the room before the one where we barrel clip past the rocks. By barrel clipping past the trees we don't have to take the intended route which requires going down and around the trees and in total it saves just above half a second (timestamp in the new encode video is 46:13).
Then we save just under 10 seconds in the rooms leading to the maze room where we do the first few teleports of the run. The reason why we were able to save so much time is because we don't have to scroll through action commands to get a glitched hammer anymore. After starting to look for timesaves for this run I made the important realisation that action command ID 32 just so happens to be a glitched hammer. This is very important because the glitched barrel action command on Mario is ID 31, which means that we can just press L once to get the glitched hammer we need for teleporting, as opposed to having to scroll through action commands all the way past ID 255 and underflow to get to ID 21 which is the earliest glitched hammer that we can get. This is the first place where it saves time but it definitely won't be the last.
Before entering the Chuckroot room the previous TAS scrolled through action commands to ID 193 which was a High Jump that it then used to get ID 21 for teleporting, but because ID 32 is also a glitched hammer this was no longer required so we saved 8 seconds here as well (51:58). We use the glitched hammer before entering the room where we do the teleports to save half a second (52:25).
In the Chuckolator fight we manipulated him to target Mario more often than the previous TAS so we were able to save a few frames here as well.
At 1:09:34 the previous TAS did Mini Mario Glitch to regain High Jump which it then uses to get glitched barrel and then took pipe 3 to pipe 4 to go to Cackletta, however it's close to 10 seconds faster to simply not go to pipe 4 and go through the east side of the kingdom instead so we did that in the new TAS.
Before entering the first Cackletta fight the previous TAS used barrel and then immediately broke out of it to get ID 255 for Luigi for later use but we realised we don't need that so we saved half a second by not doing it.
We sold the Lucky Bros. badge in the shopping trip from Fungitown because we didn't really need it and it lost 4 seconds due to having to equip it in Gwarhar Lagoon. (1:16:18)
After surfing to Joke's End at 1:20:02 we barrel clip through the rocks from the left side instead of from the right. Only saves about half a second though.
We start teleporting sooner at 1:21:10 because we skip getting the 1-Up and the Super Mushroom from the blocks. Because we sold the Lucky Bros. badge we had enough coins to not have to collect those items. After we reach the next room we skip scrolling through action commands at the end and simply go in the pipe, not only because we don't need to scroll anymore to reach a glitched hammer but because teleporting in the underground room before Birdo is slower than barrel clipping (1:21:33). With this we saved over 15 seconds over the previous run.
When Luigi is inside of a barrel he can break out of the barrel, however if there is a ceiling above him the animation gets shortened depending on how close the ceiling is to him. We saved a bunch of frames throughout Joke's End by breaking out while a ceiling is above Luigi.
At 1:25:10, because we can change to a glitched hammer right away we don't need to use the barrel beforehand and have to scroll through action commands to reach the glitched hammer anymore so we can do Moonjump much earlier.
We manipulate a perfect Chucklissa fight to save over 6 seconds by manipulating her into changing her hair color to pink which skips her turn and then targetting Mario on the next attack.
In Bowser's Castle we do Wendy first as that cuts out all the backtracking that the previous TAS had to do after beating Roy. After that we do the "normal" route for the koopalings. Saves close to 10 seconds.
We skip hitting the switch after Ludwig at 1:39:51 since we can just barrel clip on top of the ledge.
We mentioned before how in Iggy we barrel clip to get over the trigger that starts his minigame. For a very long time it was assumed that he is the only koopaling that you can enter its fight prematurely and wouldn't softlock the game after the fight was over but it turns out that he is actually not the only one. While 5 of the remaining 6 koopalings don't spawn unless you touch a trigger (or in the case of Roy, activate all the switches), we discovered with the use of cheats that you can fight Larry without triggering his minigame and his cutscenes, and to our surprise it doesn't softlock the game either. With the use of a pixel perfect teleport we are able to teleport to the platform he's on and enter the fight without using any cheats (1:43:02). This skipped most of his cutscenes and saves over 10 seconds and it's the last notable timesave of the run.
Potato: I like frame 343507 as the thumbnail. Potato: Shoutouts to Colin for encoding and Snodeca for helping me out with finding some timesaves and doing the entertainment stuff.

ThunderAxe31: Judging!
ThunderAxe31: File replaced with a 5398 frames improvement provided by the author.
ThunderAxe31: This is a cool movie. It aims for a goal that allows to show off more of what the game has to offer, as well as show off more glitches! It consists of beating all bosses, despite the fact that many of these could be skipped by abusing known glitches. Also, the goal matches the definition matches a popular speedrun category for this game, which is a nice thing. Oh, and I found no issues with optimization.
I must note that there is a sync problem with this BizHawk version, for GBA games. In order to play back this movie, it's necessary to open it in TAStudio, play for some frames, then click on frame 0. This isn't a problem for the acceptability of this submission, as it's ok as long as there is a way to deterministically play back the movie. I also want to note that since it wasn't the author's fault, in cases like this we staff people try our best to fix the issue for you.
Accepting as a new branch, Moons category (non-Standard).
Mario: Letsa go
Luigi: Oki doki

EZGames69: Processing...

Last Edited by EZGames69 on 1/2/2022 6:06 PM
Page History Latest diff