In this game, the Beanbean Kingdom pays a formal visit to the Mushroom Kingdom. However, that visit was a fluke and the main villain of this game, Cackletta, steals Princess Peach's voice and escapes. As an attempt to save their princess' voice, Mario and green 'stache (forced by Bowser) now team up to retrieve Peach's voice and save the Beanbean Kingdom in record time.
This TAS improves upon our previous TAS by 2894 frames, or roughly 48.6 seconds, by using the European/PAL version with Spanish language, by squeezing out all the frames while also balancing RNG, as well as by using a brand new route through the game which introduces the usage of another broken item in the game, thus saving more than 20 seconds in the last battle over the previous TAS.
The flashing that are seen may not be that bad, however if you are susceptible to seizures, beware that there is intense flashing past the 43:55 mark!
Potato: I have made an additional encode for this movie that features an in-game overlay, displaying useful to know information about the game. I also added text commentary for everyone to be able to understand a bit more about the run.
Overlay encode:

Version choice

This run was performed on the PAL/European version using the Spanish language. The PAL version benefits from the same glitches and mostly the same mechanics as the US version, however there are 2 key reasons as to why we specifically use this combination of version and language instead of US; firstly, not long after my TAS was released, RTA runner Sjorec discovered that the PAL version enables you to change action commands for Mario after using a Void Barrel (see below) without clearing them and also got rid of all the lag generated by hammering with Mario after using a Void Barrel. This saved close to 6 seconds compared to the previous TAS in the first room of Bowser’s Castle alone. On top of that, RTA runners also discovered that the Spanish language saved almost 7 seconds over the US version due to slightly faster textboxes across the entire run, which made this combination faster than the US version by nearly 13 seconds.

Route overview

This TAS features a heavily modified route from the previous TAS by adding in a brand new item: the #1 Trousers. However, the base of the route is kept mostly the same.
The first 44 minutes of the run are played mostly as normal. We collect extra mushrooms (and other items to sell and get more mushrooms) throughout the run to power up the Mush Badge (see below). In Stardust, we are able to skip the jump course using a precise spin jump, and in Hoohoo Mountain, there is a section before Hoohooros that we skip using a ledge clip. We unlock Splash Bros Advanced on the first turn of the Queen Bean fight, which is extremely useful on Queen Bean as it can damage the crown without taking down both arms. We also unlock pipes 1 and 4 for later use.
Once we get access to a barrel in Chucklehuck Woods, we can start sequence breaking. We set up the Action Command Glitch by performing Barrel Storage, Sign Glitch, and Mini Mario Glitch. This results in getting High jump but for Mario. We use this high jump to get a glitched hammer on Mario. This allows us to perform Luigi Hat Teleportation, which is the main method of going through walls and performing skips.
We take pipe 5 to pipe 4 (Beanbean fields) and head to the east part of Teehee Valley. Then we teleport past rocks and past Trunkle to get to 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.
Then we warp to pipe 4 from Fungitown and head to the south part of Teehee Valley. We teleport past the rock blocking the entrance, another rock in the first room, and a wall to access the place where Popple and Birdo capture Luigi much later in the game. Defeating Popple and Birdo sets a flag that triggers endgame, and we make sure to get 28 stache for each bro at the end, as it will be crucial for this new route to work. To get back to Beanbean Castle, we teleport past the rock at the Teehee entrance again to leave, and also teleport past an invisible wall near the castle entrance. With the items we gathered we are able to buy 29 mushrooms, and with the remaining coins we buy the #1 Trousers (see below) from the badge shop located inside Beanbean Town. The route was very carefully crafted so that we have no coins to spare after the last shopping trip.
Finally, to get to Bowser's Castle we take pipe 3 to pipe 1 and walk through Stardust Fields. As soon as we enter the first room of Bowser’s Castle, we grab the last mushroom needed while using Void Barrel and we perform Bowser's Castle Skip which skips straight to the final boss by going through the rooms that you’re normally supposed to leave through at the very end. We hit the switch to open the door in the stairs room on our way towards the final boss, and after defeating Cackletta we finish the game as intended.

Mush Badge

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/EU version, each Mushroom and Super Mushroom increases the bonus by 51/256 points , and the total is rounded down to an integer. Ultra and Max Mushrooms do increase the bonus slightly more but are rarely ever picked up in the run. The reason why Mush Badge is essential to the route is due to its synergy with the Chopper Bros. move. This move is supposed to do many hits that do a small amount of damage, quickly decaying to 1 damage per hit. But the Mush Badge bonus damage is added to every hit, so the total damage is effectively multiplied by the Mush damage bonus. TAS can do a maximum of 27 hits per Chopper Bros. using autofire, which can add up to insane amounts of damage the more Mushrooms we have.

#1 Trousers

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/EU version not only because of the Mush Badge being significantly stronger than on Japanese, but because they only cost 250 coins and both bros can wear it. The #1 Trousers are the star of this new route, not only because of its synergy with the Mush Badge, but also because it enables us to do a brand new strategy called “extended 1 cycle” on the final boss of the game, Cackletta (see below).

Battle by battle comments

Bowser

The fight always ends after 5 hits no matter how much damage I do. The only way I can 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. I can again speed up the fight by hitting every counterattack on the first possible frame.

Goomba #2 (Tutorial)

Before entering the battle I manipulated RNG to get a +3 on POW as soon as possible in the roulette level up. I will be only upgrading POW and Stache (for the most part) throughout this run since I need to do as much damage to the bosses as possible.

Fawful

Fawful’s helmet has 18 HP, Fawful himself has 12 HP. It’s faster for Fawful to attack Mario as much as possible since he is a few pixels closer to Fawful than Luigi, but I couldn’t manipulate that to occur every time without losing time overall.

Fighter Fly #1

In order to gain the 100 coins back in order to progress further it’s required that we enter some enemy encounters. This is the first of 3 battles that we do in preparation for Tolstar. In this fight we want to do 3 splash bros before we run out of BP. The reason why we need to do 3 and not 2 is because, in order to get the Advanced version of Splash Bros, which is needed for this route, we have to perform 20 successful splash bros attacks. Since we avoid all random encounters except for these 3, we only fight bosses after these, and without doing them in those encounters we won’t have any other battles to do them in. You might have noticed that, in this fight, we didn’t enter the battle on the first possible frame. This was done on purpose. In the Fighter Fly battles that we take there are always 4 enemies: 2 flies and 2 cannons. A fly has a 9.68% chance of dropping a mushroom at the end of the fight, while a cannon has a 16.13% chance of dropping one. So, in this fight, we manipulated RNG before we entered such that of the 4 enemies, 3 of them drop a mushroom. These battles are one of the fastest ways of obtaining mushrooms, so we want to maximize the amount of mushrooms that we drop while balancing out the time spent manipulating them.

Fighter Fly (Tutorial)

This tutorial conveniently refills the bros’ HP and BP after finishing it and lets us preserve our total uses of Splash Bros. The Splash Bros. in this tutorial counts towards our total uses, so that brings our total to 4 uses after this fight.

Fighter Fly #2

I only have to waste a few frames for this battle as well to get the RNG seed that I need. I get the same 3 mushroom drop as in the previous battle, but I also manipulate a Lucky hit for Mario, which has a 10% chance with his current Stache to kill the cannon in 1 jump, since manipulating another 4 mushrooms would have lost too much time. I take damage on every counterattack from the flies with Mario because it’s 1 frame faster, and I dodge the counterattack with Luigi which saves 6 frames over taking damage.

Fighter Fly #3

To get the desired RNG seed for this fight we have to wait a pretty long time, but thankfully we are able to enter the fight on the correct frame right after grabbing all the coins from the nearby coin block, since we have to grab them anyway. The Lucky hit from the previous fight was crucial since it enables us to have enough BP for 2 Splash Bros in this fight. Without the Lucky hit I would have had to instead I want to manipulate a 3 mushroom drop at the end, but because I have to wait a long time until I get the RNG seed that I want, I get the last coins required from the nearby coin block after the battle is over. In this fight I manipulate 4 mushrooms to drop, however I have to fail 2 jumps with Luigi on the flies if I want to get all 4 mushrooms, else if I didn’t fail them I would have only gotten 2 mushrooms. Failing those jumps lost about 20 frames, however it was still much faster to do that than to get another 4 mushroom seed.

Tolstar

We lose a frame from not jumping to scroll the camera faster and we wait for a few frames before clearing the last textbox in order to manipulate a fight with only 1 additional textbox as well as a Lucky hit in order to finish the battle 1 turn faster. Sadly we couldn’t manipulate a 0 textbox fight fast enough without losing more time overall. Although this fight wasn’t as fast as the previous TAS, the time buffer that we already had entering Tolstar still allowed us to be well ahead after the fight was over.

Hoohooros

This fight is done a bit differently than what the previous TAS had done. For starters, we skip grabbing the syrup from a previous room. This is because that syrup takes 328 frames to grab, which is quite a long detour. We also use a jump with Mario on the first turn to get rid of the bottom pillar, instead of a Splash Bros. The reason why we did this in the previous TAS was in order to get Splash Bros Advanced on the last turn of the Dragohoho fight, however in this run we actually don’t get it in that fight anymore, instead we get it on the first turn of Queen Bean. We managed to get a good RNG seed for this battle without wasting any, since it’s about 30 frames faster for Hoohooros to go inside the top pillar instead of the bottom one at the start of the battle. We also manipulated him into targeting Mario more often, which saves a few frames each time since Mario is a little bit closer to the boss than Luigi is.

Dragohoho

This is the first bossfight where the POW stat of Mario really starts to matter, because if it’s any lower than 27, we would have had to spend an additional turn killing Dragohoho, as well as sit through his attack and combined they lose close to 15 seconds. In order to kill Dragohoho in 3 turns, we have to use Bounce Bros. as well. Throughout this run we try to avoid using it because you unlock Bounce Bros. Advanced after only 8 uses. The animation loses time and we don’t need its Advanced version so we try to use it as rarely as possible. In this fight we start giving Luigi stache, because having a higher stache raises the selling price of items and also gives us a higher discount for when buying them later in the run.

Queen Bean

Normally to defeat this boss you have to take down her 2 arms and then you can use splash bros on her head. However, by getting Splash Bros Advanced, we are able to do damage to the head without taking down both her arms because the Advanced version of the attack can damage spiky enemies, which saves a lot of time. We use a Splash Bros on the first turn on the right arm, which has 2 major benefits: the first and the most obvious one is that it enables us to get Splash Bros Advanced, which cuts out the need to kill the left hand as well. The second benefit that it has is that Queen Bean’s attacks become significantly faster when she only has 1 arm alive, especially the shockwave attack which she does at the beginning. Even though it takes 1 turn longer to kill her, getting Advanced during this fight ultimately saved 208 frames compared to the fastest branch that used the old route for Splash Bros, because of being able to skip the syrup in Hoohoo Mountain that the old route had to grab and to skip consuming that syrup during Hoohooros.

Popple & Rookie

If you kill Rookie first, Popple will run away from the battle. Thus, I aim only for Rookie. Luigi intentionally takes damage so that he dies on the last counterattack because we don’t need this level up from him and it loses roughly 570 frames. Getting Rookie to below 40 HP will trigger a very slow cutscene of him showing his fire attack, but by dealing enough damage to leave him in 40 HP exactly, we skip that, so that’s why we intentionally miss the second Bounce Bros.

Birdo

Like we said before, the damage dealt with the Mush Badge increases with the more mushrooms you have. We collected just enough mushrooms to reach 9 mush damage that is applied on every hit, making what is normally a very long battle into a 2 cycle Birdo kill. The reason that this works is because the damage from the Mush Badge is applied after the calculation of the damage has been done, simply adding to the total damage. This means we, no matter what, always do at least 9 damage, because the minimum damage is 1 plus 8 from all the mushrooms that we have. In this fight there is a major route difference compared to the previous TAS, however, because we actually don’t kill Luigi in this fight anymore. The reason why we choose not to is because we need the Stache that he gets from these 4 level ups in order to buy the #1 Trousers as well as enough mushrooms for 15 mush damage for the final boss. After the final level up, Luigi gets up to 28 stache, which is crucial for this route to work. We upgrade Stache for Mario for the first 3 level ups in order for him to also get to 28 stache, then we switch to upgrading BP for the last one because he needs at least 18 BP for the fight against Cackletta, which skips having to use a syrup, saving about 3 seconds. Being a single stache point short of 28 on either of the bros would cause this route to not work, so we had to manipulate perfect level ups for both of them.

Bowletta

The first phase of the final boss, Bowletta, has 500 HP. Since we purchased the #1 Trousers on the last shopping trip, it enables us to save time in this fight, because by attacking first, Bowletta will only do 1 attack instead of 2, saving 5 seconds. Therefore, we manipulated her to do a fire laser attack, because it wastes the least time of all the other attacks she can do. As in the previous battle, we use Mush Badge alongside Chopper Bros attacks which allows us to kill Bowletta in 2 turns. On the last textbox we wait the right amount of frames to manipulate a perfect fight against the true final boss of the game: Cackletta.

Cackletta’s Soul

By far the biggest route difference versus the previous TAS is present in this fight. The main reason that we acquired #1 Trousers was in order to greatly speed up the fight by being able to do what’s called an extended 1 cycle against Cackletta. The hands have 80HP each and the head has 200 HP. The head has the lowest chance of doing a fast attack, so we use the first Chopper Bros to kill it before it can attack, thanks to the #1 Trousers. We manipulate only arm flick attacks from both the hands, but in order to do that, Luigi has to do specific attacks, which is why you will see us use hammer or fail jumps. Even though we could have easily killed the left hand in the third turn, we intentionally leave the hand low for 1 more turn, so that Luigi can kill it using a knockback bros. This causes a very interesting interaction to occur. Normally when you enter this fight, when all the body parts are dead the heart becomes exposed, making it vulnerable to damage, immediately reviving the head and the 2 hands in the process. After exactly 2 turns, the heart will become hidden, which makes the bros unable to damage it until it becomes exposed again after you take down all the body parts again. During the making of the Glitchless TAS, where #1 Trousers are also picked up, however, I discovered that the heart can actually become exposed but not also respawn the other parts until a turn later if the bro that is not wearing the trousers kills the last hand or the head. I also discovered that the 2 turns the heart stays exposed for is tied to when the body parts are revived, so if the heart became exposed for 1 turn while the body parts were not yet respawned, the heart would stay exposed for 3 turns instead of 2. This extra turn of vulnerability was exactly what we needed in order to 1 cycle Cackletta, however since it’s impossible to do it without #1 Trousers, we called it an extended 1 cycle. This strategy combined with a perfect fight saved close to 17 seconds in Cackletta over the previous TAS, making it the largest single timesave in the entire run.

Tricks

Corner Boosting

In Toad’s House I 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, and only certain corners in the game can actually boost by 0x200 units.

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, 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, the ones in Beanbean Town and the ones in Joke’s End don't let you keep normal speed for long even while stair jumping normally, so you have to move diagonally for a few frames for the first jump in order for the back bro to keep getting zipped to the front bro’s position.

Instant Reuniting

When the bros get separated either by dunking Luigi under a gate or by flattening Mario and walking 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.

Glitches

Jump Course Skip

A trigger zone near the exit normally stops the brothers after completing the Spin Jump & High Jump tutorial, but it can be bypassed by positioning the brothers next to it and using Spin Jump. If done correctly, the back brother will stand past the trigger zone. When switching the brothers around the corner, it will cause the front brother to stand past the trigger zone and be able to enter the loading zone to go to the next room.

Tunnel clipping

The game prevents stacking under a ceiling that's too low to fit the stack. However, if Mario is less than 1 pixel under a ledge and Luigi is far enough to the right of Mario and close enough to the ledge, the game will allow them to stack under a ceiling that's too low. Now if they spin jump into the ledge, the game will try to move them to a place where they can fit. If there is a floor above them, they will be clipped up to that floor. This was found by mugg and was applied in Hoohoo Mountain by SolidifiedGaming to save a full minute.

Barrel Storage

There is a variable at $2440 and $2430 in IWRAM that keeps 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 the third byte in $2440 to FF. But how it does that is pretty interesting; it copies the third byte to the first byte, and then it copies the fourth byte to the third byte. The first byte is the action command of Luigi when he is in front. When you're inside of the barrel, the third byte is usually 00, and when you're not inside the barrel the byte is FF instead. With barrel storage however, you are inside the barrel, but the third byte is set to FF. Now, if you break out of the barrel, like I said, the third byte gets copied to the first byte, meaning the first byte is now also FF, which means Luigi will have the blank action command on his A button.

Sign Glitch

Talking to the sign while in this state has interesting results. If we talk to the sign, the first byte is changed to 00. But again, the game handles this a bit differently; what is actually happening is the first byte is copied to the fourth byte, and then it sets the first byte to 00. A very important note to make is that the first byte is copied to the fourth byte 1 frame before the first byte is set to 00, which means even though the first byte is 00, the fourth byte is still FF. Because the fourth byte 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. We use Spin Jump on Mario but then immediately hop off. This gets us Spin Jump but on Luigi's B button after we switch. Using Spin Jump on Luigi sets the equivalent of $2430 of Luigi, but for Mario (at $2418). 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, which is the "Emerge" action command. Finally, we use emerge, we switch twice and we can now leave the room. All of this was to get ID 3 (Hand) 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.

Luigi Hat Teleportation

Teleporting was discovered in order to go past walls both horizontally and vertically, since Barrel Clipping does not work on the English version the same way it does on the Japanese version. The first requirement for teleporting is having glitched movement; when you walk normally, both bros walk at 512 speed like we’ve 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 at. 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.
I'll give a summary of all the teleports we perform in this run. In the maze-like room in NW Beanbean, we switch to set entry 256 to a position that will correspond to just past the blocky stairs in the middle of the next room. Then we set entry 248 to a position near the black rocks. While walking to the loading zone, we switch a few times to avoid overwriting these positions. After getting glitched movement, we set 136 to a position that is 0x10000 away from just past the rocks. Then we jump to warp to entry 248, then warp to the entry 136 we just set up. Next we jump to warp to the 256 we set up before, now past the stairs. Then we can warp to 136 and then 256 again, this time 0x10000 further right, which is right under a mushroom block. We hit it with a high jump which also allows us to switch Luigi's command to emerge, to end the glitched movement.
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. 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.
The next teleport chain is by far the longest, consisting of 26 teleports in a row. First we set 256 to a position that will be near the loading zone past the black rock in Teehee Valley room 1. Then we set 248 to a very particular position past the rock in front of the Teehee entrance. Then we switch a few times before setting up glitched movement in the next room. We first warp to 248 - we set 248 originally for a specific purpose but we can use it before then. We can't warp to 256 though, since that would overwrite the stored 248. Then we warp to 136, followed by 248 again, then 240 and then 136, right into the loading zone on the bridge. Normally you can't be underground on this bridge but there is a region near the loading zone you can warp to that allows you to be underground. In the next room, we are confined to this small region, so we can't move very far before warping to 240. We then warp to 232, 0x10000 further right than the small region on the bridge. The rest of the room is straightforward alternating between 136 and 240. In the final Beanbean room, we set 136 sufficiently far to the right, then warp to 248 but 0x10000 below the rock. Then we warp to 136, now on the right of the rock. Then we do an exact warp to 248, behind the rock, and emerge into the loading zone. We set 248 X to a very precise position in order for Mario to get teleported on top of a wall, whereas in the previous TAS he would get teleported into the ground. By canceling the emerge animation with the loading zone, Luigi stays underground, however we intentionally wait for a few frames before emerging so that Mario has time to fall, which makes the game think he isn’t stuck since he has vertical velocity, thus skipping the small cutscene that would have happened at the beginning of the next room.
In the first room of Teehee Valley, we warp to 248, then 240, then to the 256 we set up back in Beanbean. This room is relatively straightforward but squeezing out the maximum possible distance on each of these three teleports to the NW was difficult. Before entering the loading zone we overwrite 240 but not 248, since it is in a good position to get past the wall in the next room. In the next room we set 136 sufficiently high and then warp to the 240 we set at the previous loading zone. We then warp 136, then 240, then 136, which is right next to a Super Mushroom block. We hit it and then do an exact warp to the 248 we set in the previous room, performing "big skip". Then we walk to the loading zone. The final room of this chain is straightforward, we just warp to 256, 136, 256, 136, and then emerge on the platform next to the pipe.
There is a wall blocking the way to Birdo which RTA runs open by getting Firehand on Mario. It's slightly faster to just teleport past it. We set 256 as low as possible without doing any extra follow path resetting, and then warp to it, getting past the wall. Then we warp to 136 and emerge on the stairs. After Birdo, we set 136 while changing action commands. It turned out to be fastest to not go out of our way to set this value. We simply warp to 136 and then emerge to lose height.
In Castle Town, we set 256 to a position that will correspond to just next to the loading zone to the castle. Then we set 248 to position just far enough left so that when we teleport to it, Luigi doesn't get stuck inside a wall. We then do an exact warp to 256, in the middle of the bridge to the castle, then warp to 136 and then 256. Then we emerge and avoid Mario getting stuck before entering the loading zone.

Bowser's Castle Skip (Void Barrel)

Just like there exists a "barrel hop" action command for Mario's B button (ID: 31), there is also a "barrel hop" action command for Luigi's B button (ID: 26) which, when used, turns Mario into a barrel. The community called this a "Void barrel" since the barrel sprite becomes completely black. However, because the game actually intended Luigi to be turned into a barrel while they didn't intend the same for Mario, as soon as you use the Void Barrel on Mario the game starts lagging a ton, and if you don't do it such that Luigi isn't able to get on top of Mario, you will get softlocked as there is no action command coded for Luigi to hop off a barrel. By doing it while against a corner, or in our case, by doing it below an item block, Luigi will not be able to get up on the barrel and you can move around with Mario inside of a barrel. This action command has a very useful effect, however; if you have ID 0 for Mario's B button and you use a Void barrel, the game thinks that Luigi is the one inside of a barrel since Mario was never intended to be in a barrel, meaning that it will turn Mario's action command after he switches into a regular "barrel hop". With this, we can turn Luigi into a barrel, barrel clip with him up on the ledge and enter the loading zone to the next room. However, if you already have one of the bros in a barrel and you use a "barrel hop" command for the bro that's not in a barrel, the game simply crashes. So, to prevent that, we use our Hammer in the air for Mario as that gets rid of his barrel state, while still having "barrel hop" for his B button. All of this resulted in a 6 second timesave in this room compared to our previous TAS.

Timesaves

The biggest timesaves over the previous TAS came from the usage of #1 Trousers in Cackletta and the combination of PAL version with Spanish language, however a good chunk of time was also saved from squeezing out every possible frame that we could think of in each room.

Potential Improvements

While it is almost certain that this is the last minute barrier that the category has to offer with the current knowledge about the game, this run too is not perfect. Pretty much all the timesaves featuring gameplay that isn’t dependant on RNG were already known about while making the TAS, however we opted not to go for them as it would influence RNG and they would ultimately lose more time overall because of RNG than they saved.
There is 1 timesave that we found out about after we had already finished making the TAS however, which is a way to manipulate our position down to single digit subpixels and maybe even lower than that by jumping into any block with a precise timing and position. Up until now, the most precise method to manipulate our position only had a precision of 128 units, which was not all that precise. This has potential to save somewhere between 7-14 frames in Stardust Fields for the 7 coin blocks that we hit. There is one potential timesave that could theoretically save 4 seconds which is present in the fight against Cackletta. Essentially, it is actually possible to skip the knockback bros that Luigi has to do in order to perform the extended 1 cycle by manipulating the last hand alive to target Mario and die during his counterattack, which would save roughly 250 frames. After that, the hand has a low chance to let Mario attack it before it respawns the other body parts. Despite that being possible though, from my testing there would always be an extra attack from Cackletta either in the second or last phase of the fight, where all 3 of her parts would attack again, which would lose a lot more time than it saved. More research will have to be done to figure out how and why it works like that.
The biggest potential timesave in this run relies on better RNG, with perfect RNG throughout the entire run while losing 0 frames being able to save about 350 frames over this run.
Potato: I prefer this screenshot as the thumbnail, although this one also works.

ThunderAxe31: Claiming for judging.
ThunderAxe31: Accepting as improvement of the published movie.

despoa: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [5457] GBA Mario & Luigi: Superstar Saga by Potato, Migu & Pixiuchu in 58:30.90
Editor, Expert player (2372)
Joined: 5/15/2007
Posts: 3940
Location: Germany
So I was gone for a while. Still don't like the new forum style, old was much better. It's one of the reasons I visit this site so much less now. Congrats on your run. I will check it out later. 58:30 looks like a really good time. I knew you could go a decent chunk below 1 hour back when I attempted a run, before I stopped it after the tunnel clip discovery... Speaking of which
Tunnel clipping (...) This was found by mugg and was applied in Hoohoo Mountain by SolidifiedGaming to save a full minute.
It was actually found by SolidifiedGaming and in a test I verified that it saves about 1 min 05 sec in Hoohoo Mountain. See here. Still a bit sad about that actually... But very happy to see this game progressing so well now. Also excited to see if anything comes out of your most recent discoveries that you posted in the topic.
Potato
He/Him
Editor, Active player (283)
Joined: 3/7/2020
Posts: 62
Location: Mars
MUGG wrote:
So I was gone for a while. Still don't like the new forum style, old was much better. It's one of the reasons I visit this site so much less now. Congrats on your run. I will check it out later. 58:30 looks like a really good time. I knew you could go a decent chunk below 1 hour back when I attempted a run, before I stopped it after the tunnel clip discovery... Speaking of which
Tunnel clipping (...) This was found by mugg and was applied in Hoohoo Mountain by SolidifiedGaming to save a full minute.
It was actually found by SolidifiedGaming and in a test I verified that it saves about 1 min 05 sec in Hoohoo Mountain. See here. Still a bit sad about that actually... But very happy to see this game progressing so well now. Also excited to see if anything comes out of your most recent discoveries that you posted in the topic.
Unfortunately, RETIRE made a bruteforce script and after over 1 million attempts from each of us we weren't able to get the game to crash even once. We need an accurate debugger and someone that knows how the GBA functions inside and out if we want to make the credits warp work. But in theory it is possible to get.
MLSS Any% TAS out! (link)MLSS All Bosses TAS out! (link)MLSS Glitchless TAS out! (link)