Submission Text Full Submission Page
Have you ever imagined Mario going through all the levels at Sonic's speed? Well, you don't have to imagine anymore, you'll see it with your own eyes!
  • Emulator used: BizHawk 2.6.3
  • Allow Left+Right / Up+Down
  • Core BSNES
  • Abuses programming errors
  • Heavy glitch abuse
  • Corrupts memory
  • Complete all exits

The Run 🟢

This is a TAS that completes all 96 exits in Super Mario World using arbitrary code execution. I wrote some code in the game's memory that allowed me to give Mario maximum speed, both left and right.
The process of how the code was written in memory is the same as my glitchfest with arbitrary code execution, so I won't go into details here.
The code was very simple: pressing L on controller 1 sets Mario's speed to 7F and pressing R sets the speed to 80. The address responsible for Mario's speed is $7B and the maximum values ​​that we can have are those mentioned (7F is the maximum to the right and 80 is the maximum to the left). In short, Mario travels to the right at a speed of 127 pixels per frame and to the left at 128 pixels per frame.
The code is this:
LDA $18
AND #$10     ;|check if R (controller 1) is pressed
BNE ace1
LDA $18
AND #$20     ;|check if L (controller 1) is pressed
BNE ace2
RTL
ace1:
LDA #$80      ;|set 80 in $7B if $18 equals 10
STA $7B
RTL
ace2:
LDA #$7F      ;|set 7F in $7B if $18 equals 20
STA $7B
RTL
In short, that's it. No addresses other than the code have been changed.
Important things:
  • Mario jumps very high when his speed is between 110 and 119 (decimal). I used this to my advantage;
  • At high speeds, Mario can pass through walls without dying. You will see this several times in this TAS.
This may be a bit of a controversial category because of the use of arbitrary code execution, but I find it fun to watch Mario blast through every level like a lightning bolt! I also believe that there are several improvements in this TAS and it could be faster, but I didn't have much free time to think about the best possible strategies for each level.
My thanks to the great Noise de Gole for teaching me a lot about arbitrary code execution and you for watching :)


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15959
Location: 127.0.0.1
Experienced player (961)
Joined: 2/5/2012
Posts: 1870
Location: Brasil
why cant you make mario faster, does it glitch?
I want all good TAS inside TASvideos, it's my motto. TAS i'm interested: Megaman series, specially the RPGs! Where is the mmbn1 all chips TAS we deserve? Where is the Command Mission TAS? i'm slowly moving away from TASing fighting games for speed, maybe it's time to start finding some entertainment value in TASing.
Experienced player (713)
Joined: 5/2/2014
Posts: 28
KusogeMan wrote:
why cant you make mario faster, does it glitch?
Because there are only 256 possible values ​​for each address in the game. In the case of the address responsible for Mario's speed, it is divided into 2 parts (because Mario goes left and right), so we only have 128 possible values ​​for each side. Therefore, 128 is the maximum speed, both left and right.
Reviewer, Skilled player (1242)
Joined: 11/18/2011
Posts: 362
Location: Morocco
I'm not sure but should this obsolete the regular 96-exits run? Idk but it feels like it should cause they're close in time, but again this is an ACE version of the category, so a lot is different content wise Nonetheless, good run! Yes vote!
I still learn more about English. https://www.youtube.com/user/McBobX100
I wrote:
Working is the best way to achieve goals in speedruning. Hardworking is a pain.
inconsistent
He/Him
Player (190)
Joined: 5/4/2023
Posts: 17
Location: Phantomile
(i'd like to encode this, if it gets accepted)
Active player (284)
Joined: 11/21/2023
Posts: 55
Location: RNG Bullet Hell
It is fun to watch, not a bad run, but... While you're at it, why not make the screen transitions faster also? Why not make overworld travel faster? Please max the speed of overworld travel! This is what I would like to see: Max the speed of everything. This includes enemies and everything else that moves. Not a bad run, but not THE FINAL FORM! I believe it can be made much more amazing than this... Please think of ways to make the concept more interesting. XD Pre-emptively voting yes for an ACE run that maxes the speed of EVERYTHING.
DrD2k9
He/Him
Editor, Judge, Expert player (2265)
Joined: 8/21/2016
Posts: 1117
Location: US
alexheights1 wrote:
It is fun to watch, not a bad run, but... While you're at it, why not make the screen transitions faster also? Why not make overworld travel faster? Please max the speed of overworld travel! This is what I would like to see: Max the speed of everything. This includes enemies and everything else that moves. Not a bad run, but not THE FINAL FORM! I believe it can be made much more amazing than this... Please think of ways to make the concept more interesting. XD Pre-emptively voting yes for an ACE run that maxes the speed of EVERYTHING.
I had a similar thought. If you're already maxing out Mario's horizontal speed, why not also max out his vertical jumping acceleration/speed? Wouldn't that make vertical stages faster, and potentailly minimize/negate the need for the cape as well? EDIT: Still a fun watch, as is.
Experienced player (713)
Joined: 5/2/2014
Posts: 28
alexheights1 wrote:
It is fun to watch, not a bad run, but... While you're at it, why not make the screen transitions faster also? Why not make overworld travel faster? Please max the speed of overworld travel! This is what I would like to see: Max the speed of everything. This includes enemies and everything else that moves. Not a bad run, but not THE FINAL FORM! I believe it can be made much more amazing than this... Please think of ways to make the concept more interesting. XD Pre-emptively voting yes for an ACE run that maxes the speed of EVERYTHING.
Man, that's a great idea, but I don't know if I would have enough knowledge to do something like that. I'll study the possibilities and maybe make this TAS obsolete soon hehe
Experienced player (713)
Joined: 5/2/2014
Posts: 28
McBobX wrote:
I'm not sure but should this obsolete the regular 96-exits run? Idk but it feels like it should cause they're close in time, but again this is an ACE version of the category, so a lot is different content wise Nonetheless, good run! Yes vote!
No, I think they are very different categories. If this TAS is accepted, it would have to be in a new category. It is not fair to compare a "normal" 96 exit with one made with ACE.
Tompa
Any
Editor, Expert player (2243)
Joined: 8/15/2005
Posts: 1946
Location: Mullsjö, Sweden
If the goal is to beat all stages as quickly as possible while using ACE, then I would say that this run is greatly suboptimal, considering all of the things you could do. Limiting to just changing the speed in levels would in generally be a quite arbitary ruleset for this goal. Will thus vote no based on these two factors. It sort of reminds me of the 100% Majora's Mask TAS using ACE, where the general 100% say that you need to get each item from its general source. Once the ACE setup starts, it's just warping around to get all the required items. As seen here: https://youtu.be/o7wGpmP6YH8?t=1480 I suppose something similar would also be possible here. As soon as one level is beaten, you instantly warp to the start of the next one, if the goal definition is to "Start and finish all stages". Then again, the definition what start and finish is would be debateable as well, for an ACE definition.
Experienced player (713)
Joined: 5/2/2014
Posts: 28
Tompa wrote:
If the goal is to beat all stages as quickly as possible while using ACE, then I would say that this run is greatly suboptimal, considering all of the things you could do. Limiting to just changing the speed in levels would in generally be a quite arbitary ruleset for this goal. Will thus vote no based on these two factors. It sort of reminds me of the 100% Majora's Mask TAS using ACE, where the general 100% say that you need to get each item from its general source. Once the ACE setup starts, it's just warping around to get all the required items. As seen here: https://youtu.be/o7wGpmP6YH8?t=1480 I suppose something similar would also be possible here. As soon as one level is beaten, you instantly warp to the start of the next one, if the goal definition is to "Start and finish all stages". Then again, the definition what start and finish is would be debateable as well, for an ACE definition.
Well, the goal I set for this TAS was to be as fast as possible using only the super speed code. I limited myself to this code only, because ACE has no limits. I could simply, in the code itself, set all 96 exits and in less than 1 minute I would have the complete game, as I have already done here: https://youtu.be/SqoXvVKS9bk or put a code in memory that would allow me to complete the levels in the first possible frame, as I have also done here: https://youtu.be/EzoXb465Sto This TAS is much more about entertainment (and maybe it would even be cool to change the branch) than about completing 100% of the game as quickly as possible using ACE. But yeah, you are not wrong in your point. In fact, there are hundreds of ways to be much faster than the way I chose to do it.
Active player (284)
Joined: 11/21/2023
Posts: 55
Location: RNG Bullet Hell
I think the run's goal is not as arbitrary as it may seem. Sure, with ACE everything can be done. The point is to find interesting things to do with it. Maximizing the movement speed of the player character is less arbitrary than maximising the movement speed of some other object in the game. Some games like Doom have setting where you can set the maximum player speed to 255. ACE can be used to emulate such setting. That is pretty much what this run does. What I would like to see is a Doom TAS where enemy speed is also set to 255. Such setting does not exist. Yes, to some degree it will always be arbitrary no matter what. But I would love to see a run where the speed for the player and enemies and all moving objects are maximised. For every game. It is a new category of TAS entirely. Arguably it is even more TAS than TAS.

1742827581