As it will happen eventually, destroying all my previous work for this game, have fun watching even less of this game.

Game objectives

  • Emulator used: lsnes rr2-β21
  • Aims for fastest time
  • Uses game-breaking glitches
  • Achieves credits early

Comments

Go ahead and watch the TAS first, it doesn't really take that long.
This is basically the reason why I cancelled the Kirby Super Star submission. You can maybe see why I prefer the previous movie over this one. But first...

What happens this time?

Let's start at the basics. In SMW there are sprites which can change the status of Mario called powerups (such as mushrooms, flowers, stars and so on). It's easy enough for the game to just run a routine to change it as soon as Mario touches a sprite which is listed as a powerup. Now the problem comes when Yoshi eats a sprite, because if it is a powerup, it should be applied to Mario. The game checks if the sprite has a specific property that says the game if it should give Mario a powerup when it is being eaten. Interestingly enough, chucks have this property! Normally, this isn't a problem because you can't actually eat chucks because they have another property which ensures that the sprite won't be caught by Yoshi's tongue (it goes right through), making it impossible to get it on Yoshi's tongue and eat it... or is it?

Item Swap

This glitch is also used in the warps run in YI2 to get the goal tape to replace the shell on Yoshi's tongue, getting the level end earlier or in YI1 to replace a sprite on Yoshi's tongue with a chuck so that Yoshi can... eat it!
This is what I'm doing, too. I replace a sprite on Yoshi's tongue with a chuck. How do I do that? Well, it is possible to get a coin by touching it, but it is also possible to get a coin on Yoshi's tongue. Now just do both things at the same time (see pictures on the right) and Yoshi's tongue will hold a nonexistent sprite or simply nothing. All the game now knows is that Yoshi's tongue holds a sprite in a specific slot and if in that moment a sprite such as a chuck wants to spawn in that slot, its position will be overwritten since it's now on Yoshi's tongue. Yoshi is now able to eat the chuck which is apparently a powerup to the game.

Eating a chuck

Since the chuck powerup isn't intended by the developers and accidentally in the game, the code doesn't account for it and incorrectly indexes the sprite to put in the item box (which is a lakitu cloud) and also gets the subroutine location wrong to jump afterwards. Instead of jumping to a routine to change Mario's status, it jumps to $014A13... which is Open Bus.

Open Bus

Open Bus is an area in the SNES which isn't mapped to a location like WRAM or ROM, which means no such device answers the request from the console to get the next instruction to execute. This means that the console will just execute whatever value was the last one on data bus.
The code just jumped to $014A13 so the last value on data bus is 0x01.
data businstructioninformation
0x01ORA ($01,x)X is 0x09, $0A holds 0x0107, $0107 holds 0x17, A turns to 0x17 and data bus is 0x17
0x17ORA ($17),Y$17 is interesting because $17 and $18 are SMW's controller data, so this is where I can kinda manipulate the outcome
This is the reason why I pressed X and the next frame AXL just before the glitch started so that $17 is 0xE0 and $18 is 0xA0. The code manages to change the SNES to emulation mode so now it can survive BRKs easily, as the vector changed. Then it managed to reach $4219 which are controller registers.

Controller Registers

These are the last 5 frames of input:
             1-1              1-2              2-1              2-2
F. 0 0|....u.l.AXL.....|BY..u.lr...R....|.Ys..d..AXLR0.23|................
F. 0 0|...Su...A.L.0..3|BY..u.lr...R....|.Ys..d..AX.R0...|BYsSu...A.......
F. 0 0|..sSud.rA....123|BY..u.lr...R....|.Ys..d......0.23|BYsSu...A.......
F. 0 0|....u...A.L.0..3|BY..u.lr...R....|.Ys..d..A.L.0.23|BYsSu...A.......
F. 0 0|BY...dl.A...01.3|B........XLR..2.|..s........R..23|BYsSu...A.......
or in bytes ($4218 - $421F):
E0 0A FB 64 10 CB 00 00
A9 18 D8 64 10 CB 80 F8
87 3D 0B 64 10 CB 80 F8
A9 08 AB 64 10 CB 80 F8
8D C6 13 20 72 80 80 F8
One thing to notice is that "64 10 CB" and "80 F8" occur often. "64 10 CB" is executed as STZ $10 : WAI which STores Zero to $10 and then WAits for an Interrupt. That effectively advances one frame and lets Auto-Joypad Read finish so that we have new input. Then it executes "80 F8" of the next frame (which is why there isn't one in the first frame). "80 F8" means BRA $F8 or BRAnch -8 bytes (or simply 8 bytes back), so we reach $4218 once again and can execute more code.
(The 0xE0 in the first frame isn't actually executed since we start at $4219, which is good because we needed that for the Open Bus part)
byteinstructioninformation
0AASL Aused for clearing carry
FBXCEto recover to native mode after emulation mode to safely let NMI execute
A9 18LDA #$18load 0x18 into A for the game mode later
D8CLDclear decimal mode flag to avoid the game getting confused with calculations
87 3DSTA ($3D)store A to whatever long address is in $3D, which happens to be $000100 which is the game mode
0BPHDpush direct page register so that I have 00's on the stack for later
A9 08LDA #$08load 0x08 into A for $13C6 later
ABPLBpull data bank which is now 00 thanks to the PHD before
8D C6 13STA $13C6store A to $13C6 to complete all necessary steps
20 72 80JSR $8072jump to the main game routine and free the game from any further gameplay

Suggested Screenshot

Special Thanks to:

  • Ilari for explaining Open Bus to me
  • Pat for not being able to chuck-glitch

Nach: Accepting as improvement to existing run.
Ilari: processing


1 2
5 6
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15630
Location: 127.0.0.1
Noxxa
They/Them
Moderator, Expert player (4128)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
It is unfortunate how this run blows away the really extensive and fun setup of the previous Super Mario World arbitrary code execution runs. In my opinion, what made the previous runs so interesting is how many steps were required to make it possible. On the other hand...this is quite a bit faster than I'd even expect from an improvement. What's next? Breaking a game before the end of the title screen? EDIT: Also, I vote meh. Great improvement timewise, but as anything resembling gameplay is dwindled so much, it just becomes boring to watch.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Samtastic
He/Him
Player (154)
Joined: 11/30/2012
Posts: 778
Yes vote. What an improvement!
Enjoys speedrunning, playing and TASing Oddworld games! Has TASed: Oddworld: Abe's Oddysee in 12.06.13 (with Dooty) Oddworld: Adventures II in 20.03.78 (with Dooty) Oddworld: Abe's Exoddus 100% in 2:08:28.4 (with Dooty) Oddworld: Abe's Oddysee 100% in 1:05:01.65 Oddworld: Abe's Exoddus in 37:18 Oddworld: Abe's Exoddus in 37:15 Oddworld: Abe's Exoddus 100% in 2:!5.44.12 Oddworld: Abe's Oddysee any% in 13:01.3 Oddworld: Abe's Oddysee any% in 12:59.95 Oddworld: Abe's Oddysee 100% in 1:04:16.27 Oddworld: Abe's Oddysee 100% in 1:04:01.07 Currently working on: Waiting for Windows TAS Tools to work so I can TAS PC version of Exoddus.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
I am amazed by how games can be won… what the fuck, it doesn’t even look like you’re trying this time, which adds to the ridiculousness
Active player (264)
Joined: 4/15/2010
Posts: 198
Location: England
For those who don't know this started as an improvement regarding smw warps (the non-ACE run) - Mister pointed us to a Nicovideo movie of a freerun where the player gets a cloud in their reserve box. We were very excited, as this would save a lot of time in Bowser (see Mister's post). Unfortunately after some research and many failures to replicate it, it seemed to be some form of ACE rather than a straight-forward item... Seems like it is both, as is explained in the description. Well, I guess smw warps suffers here. :p Good job Masterjun even though I know you aren't entirely happy with this work. Yes vote.
Retired smw-96, smw any%
Experienced player (544)
Joined: 3/1/2014
Posts: 77
Location: Paris
"in SMW is it possible to make the ending glitch happened in yoshi's island 1 when you miss the orb glitch?" well, i got my answer ^^'
ACE is my raison d'etre!
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
What just happened.
Player (173)
Joined: 12/28/2007
Posts: 235
Location: Japan, Sapporo
I wonder if I can say congrats on this umm... It was 11 May that I asked Masterjun if he knew how to reserve a lakitu cloud, showing one video (niconico link). It is known a reserved cloud saves about one minute in bowser, and I just wondered if it would be available in SMW11. The result is this submission. :( I remember that antaasas pointed out that eating some chuck would give rise to some ACE years ago, which is finally proved by this run. Anyway good work, Masterjun! It's worth while to prove SMW can be beaten within one minute, especially considering the SMW ACE history. Yes vote.
Retired because of that deletion event. Projects (WIP RIP): VIP3 all-exits "almost capeless yoshiless", VIP2 all-exits, TSRP2 "normal run"
Former player
Joined: 1/17/2006
Posts: 775
Location: Deign
Screenshot should be from the title screen or Welcome to Dinosaur Land info box or something.
Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign aqfaq Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign Deign
Joined: 7/2/2007
Posts: 3960
So, any opinions about having a movie published to Moons that is currently obsoleted by a movie that's in the Vault? In other words, can we have an obsolete movie show up in the official "current publications"?
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Skilled player (1743)
Joined: 9/17/2009
Posts: 4986
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
(this is the reason why I don't like this, Open Bus is almost not manipulatable, if you have luck, everything works out).
Wait, I thought you said that was "Cheap" or something:
I consider these kind of runs "cheap" because they rely on the game crashing (really executing BRK instructions) and then running over controller registers by accident
How is this any different from manipulating the game to not crash and instead conveniently reach the control registers?
Emulator Coder, Skilled player (1114)
Joined: 5/1/2010
Posts: 1217
Derakon wrote:
So, any opinions about having a movie published to Moons that is currently obsoleted by a movie that's in the Vault? In other words, can we have an obsolete movie show up in the official "current publications"?
Well, I didn't quite parse that, but technically the limits are: - A run can only be obsoleted by one run (not multiple) - One run can obsolete multiple runs. - Obsoletions don't need to be in time order. - Obsoletion chains need to be non-cyclic.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
So what does this mean for SMW TASing? Is chuck eat now banned in non-ACE categories? Or is it OK as long as you don't get an 'executes data as code' kind of sprite in your powerup box?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 7/2/2007
Posts: 3960
Ilari wrote:
Derakon wrote:
So, any opinions about having a movie published to Moons that is currently obsoleted by a movie that's in the Vault? In other words, can we have an obsolete movie show up in the official "current publications"?
Well, I didn't quite parse that, but technically the limits are: - A run can only be obsoleted by one run (not multiple) - One run can obsolete multiple runs. - Obsoletions don't need to be in time order. - Obsoletion chains need to be non-cyclic.
I was obliquely suggesting that we keep the current SMW run in the Moons category, while also publishing this run (which obsoletes it) in the Vault category. This would mean having a currently-published-but-obsolete run on the website, which I don't think has been done before. A similar approach would work for the Rockman 1 run as well. Mm, to clarify, by "published" I mean "currently accessible from the Movies tab of the site". I guess obsoleted movies are still technically published, but they aren't as readily accessible.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Skilled player (1743)
Joined: 9/17/2009
Posts: 4986
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Patashu wrote:
So what does this mean for SMW TASing? Is chuck eat now banned in non-ACE categories? Or is it OK as long as you don't get an 'executes data as code' kind of sprite in your powerup box?
Wasn't there a similar case regarding some death glitch in Battle Toads?
Player (13)
Joined: 6/17/2006
Posts: 510
This solution is certainly less creative than the previous one, but that's also what makes it its beauty. Yes vote.
morningpee
They/Them
Player (56)
Joined: 11/28/2013
Posts: 119
Mothrayas wrote:
It is unfortunate how this run blows away the really extensive and fun setup of the previous Super Mario World arbitrary code execution runs. In my opinion, what made the previous runs so interesting is how many steps were required to make it possible. On the other hand...this is quite a bit faster than I'd even expect from an improvement. What's next? Breaking a game before the end of the title screen? EDIT: Also, I vote meh. Great improvement timewise, but as anything resembling gameplay is dwindled so much, it just becomes boring to watch.
Whenever I show someone a SMW ACE run, I show them the obsoleted run or the AGDQ expo. There's something about spawning so many cheep-cheeps that makes the obsoleted run more entertaining to me than the current one. So given what's already happened, I'm in favor of this movie obsoleting the current publication. Edit: If it's not a playaround or demonstration, I don't see why having a very short run for the "game end glitch" branch is a bad thing. There are many other ways to break games than simply jumping to the credits, and a TAS that tweaks the game but leaves in a significant amount of gameplay will always be more entertaining to me. Since that would be a separate branch, there is no conflict.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
Demon_Lord
He/Him
Joined: 2/20/2011
Posts: 80
Location: Chicoutimi, Qc, Canada
It's getting so efficient that it's just underwhelming...
Spikestuff
They/Them
Editor, Publisher, Expert player (2656)
Joined: 10/12/2011
Posts: 6449
Location: The land down under.
I was watching this. Was getting real entertained. The End. 2 Words FRACK YOU I enjoyed this more than your other one. and of course, yes vote.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
It was a me, Mario.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Skilled player (1792)
Joined: 5/7/2008
Posts: 187
Location: Japan
It is too early, yes vote. I expect update of SMW11 with a lakitu cloud.
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4038
More entertaining than the previous run (which took too long to start executing code in my opinion) and half the length! Yes vote, definitely obsolete the current one.
Glitcher
He/Him
Joined: 3/24/2007
Posts: 216
Location: London, U.K.
What a brilliant improvement! I didn't think the Chuck-eat glitch could be used to such devastating effect. A solid yes vote.
Experienced player (584)
Joined: 2/23/2008
Posts: 266
Location: CA, USA
I have a similar feeling on this as I did with SML2; this is an amazing achievement, but I prefer the glitchyness of the previous run (like the what looks like random movement). Weak yes vote.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
jlun2 wrote:
Patashu wrote:
So what does this mean for SMW TASing? Is chuck eat now banned in non-ACE categories? Or is it OK as long as you don't get an 'executes data as code' kind of sprite in your powerup box?
Wasn't there a similar case regarding some death glitch in Battle Toads?
Correct. They both were proven to be deserving publication because they are generally different runs. One's execution doesn't exhaust another's. Just like those 2 Rockmans. Just like SML2. If jumping in wrong place causes the game to go ACE, it doesn't mean we must ban jumping in all the rest categories, right?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
1 2
5 6