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: 15937
Location: 127.0.0.1
Experienced player (921)
Joined: 2/5/2012
Posts: 1869
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 (712)
Joined: 5/2/2014
Posts: 24
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 (1241)
Joined: 11/18/2011
Posts: 359
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.

1742448408