Submission #4156: Masterjun's SNES Super Mario World "Arbitrary Code Execution" in 02:25.19

(Link to video)
Super Nintendo Entertainment System
Arbitrary Code Execution
lsnes rr2-β15
8726
60.0988138974405
7536
Unknown
Super Mario World (U) [!].smc
Submitted by Masterjun on 1/6/2014 3:26:44 AM
Submission Comments

Game objectives

  • Emulator used: lsnes rr2-β15
  • Demonstration
  • Heavy glitch abuse
  • Heavy luck manipulation

Comments

My first submission of 2014 is a Total Control TAS. I would suggest watching the movie before reading this submission text. Since this run was (just) streamed at AGDQ 2014, you can say that this was console verified :D. As you might notice, this TAS doesn't aim for speed and the reason why it doesn't end on last input is because I wanted the last picture as a suggested picture.

How did you do this?

If you really want to know then I suggest reading the submission text of the glitched SMW TAS, as the first around 100 seconds (until the game-breaking glitch) are the same.
In short: I manipulate where the moving objects (sprites) are located or where they despawn, then I swap the item in Yoshi's mouth with a flying ?-block (thus the yellow glitched shell) and using a glitch (stunning) to spawn a sprite which isn't used by SMW and since it tries to jump to the sprite routine location, it indexes everything wrong and jumps to a place I manipulated earlier with the sprites (OAM) and because of the P-Switch it jumps to controller registers and from there the arbitrary code execution is started.
Even shorter: Magic.

This run and the TASBot

So this TAS was designed to sync on the TASBot by true and dwangoAC. For example, I was limited by using only 3 multitap frames while I'm able to do 30. Though the bot can use all 8 controllers (2 multitaps) and since every controller has 16 buttons, that means 16 bits or 2 bytes for each controller, which are 2*8=16 bytes per multitap frame and 16*3=48 bytes per frame.

Suggested Screenshots

Thanks to

  • p4plus2 for helping me with more experienced ASM stuff
  • everyone that gave me weird ideas what to include in this run :D
  • AGDQ 2014 for creating a huge time pressure for me (that wasn't actually good)
  • true and dwangoAC for the console verification of this
  • YI2 for being the perfect level for Total Control

feos: Judging...
feos: Added AGDQ TASBot stream.
feos: This TAS is definitely TEH GREATEST MOVIE EVAH. Which somehow didn't prevent flamewars about it. First, I'll say about the similarities of this and the current any% run.
They use the same input to setup total control. It is known to be optimal, the fastest. Which means there is no copyright on it - in some cases only certain combination of button presses can be used to achieve the best result, and no matter how you alter it, it's basically the same.
None of these movies is a playaround within that setup time, so artistic choices would not matter. The way it is done is, again, the fastest. And therefore it was directly picked to be used in this submission (by the same author).
So what is the actual difference, after total control is gained? The any% run completes the game as fast as possible. It jumps right to the ending sequence. It is a world record in SMW. This submission does not complete the game. It does not jump to real ending. And it does not aim for speed (shortest input). Its goal is to demonstrate a concept: what can be done within SMW when total control is gained.
Second, due to heavy time pressure (AGDQ 2014), what we see here is what Masterjun came up with overall. It may be not perfect for everybody, so there is a room for obsoletion - if better stuff is programmed within total control. But for now it is the best payload existing. And posts and votes on this submission prove that.
Since this movie's goal is in no way speed, it can not be obsoleted by reaching the total control point faster, or by making input during total control shorter. Only by providing a better payload. Which will be judged by the audience response. If people like the new movie more (as happened with Pokemon total control), this one will be obsoleted by it.
Sum: accepting as a new branch.
Last Edited by adelikat on 10/8/2023 3:17 AM
Page History Latest diff List referrers