Some guy programmed a game inside Super Mario World

OrochiEddie

Kobaïa Is De Hündïn
20 Year Member
Joined
Aug 22, 2001
Posts
19,316

The video is part of Awesome Games Done Quick 2014. The guys from TASvideos.org came out to demo some things which were entertaining on their own. What happens at around the 31 minute mark is totally out of control and completely mind boggling. I'll post the link that explains it as well. Somehow through button inputs they programmed Pong and Snake into SMW.

http://tasvideos.org/3957S.html
 

OrochiEddie

Kobaïa Is De Hündïn
20 Year Member
Joined
Aug 22, 2001
Posts
19,316
just a couple more links to help explain what is going on
http://arstechnica.com/gaming/2014/...ot-reprogrammed-super-mario-world-on-the-fly/
In the world of personal computing, hacks that exploit memory errors to allow for the execution of arbitrary (and often malicious) code are far from surprising anymore. What's more surprising is that such "arbitrary code" bugs are also present on the relatively locked-down computers inside of video game consoles.

This was demonstrated quite dramatically last week at Awesome Games Done Quick (AGDQ), an annual marathon fundraiser that this year raised over $1 million for the Prevent Cancer foundation. The event focuses on live speedruns of classic games by human players and included a blindfolded Mike Tyson's Punch-Out!! run that ranks among the most impressive live video game playing performances I have ever seen. The most remarkable moment of the weeklong marathon, though, came when a robotic player took "total control" of an unmodified Super Mario World cartridge, reprogramming it on the fly to run simple versions of Pong and Snake simply by sending a precise set of inputs through the standard controller ports on the system.


The two-and-a-half minute video of this incredible exploit is pretty tough to follow if you're not intimately familiar with the state of emulator-assisted speedruns. At first, it looks like the game must have been hacked in some way to allow for things like multiple on-screen Yoshis, item boxes that spawn multiple 1-ups, and the ability for Mario to carry items while riding on Yoshi. In actuality, these seeming impossibilities are just glitches that have been discovered over the years through painstaking emulated playthroughs by the community at TASVideos (short for tool-assisted speedrun videos).

Most of these glitches are impossible or near-impossible for a human to perform in the course of standard gameplay since they require intricate patterns of inputs that have to be entered precisely at specific frames of in-game video (i.e. within 1/30th of a second). It's only through the emulators that allow for input recording and single frame pausing and advancement (not to mention sometimes intense Lua scripting) that these glitches were discoverable and replicable. Still, it's important to clarify that everything happening in the video is the result of the standard Super Mario World software responding to conventional button inputs—this isn't the result of Game Genie-style external memory editing or the like.

Massaging the memory

It's at 1:39 in the video where things really start going pear-shaped, as the fabric of the game's reality comes apart at the seams for a few seconds before inexplicably transitioning to Mario-themed versions of Pong and Snake. Understanding what's going on here requires some deep knowledge of the Super NES' internal sprite and memory management, which is explained in detail here and here.

Suffice it to say that the first minute-and-a-half or so of this TAS is merely an effort to spawn a specific set of sprites into the game's Object Attribute Memory (OAM) buffer in a specific order. The TAS runner then uses a stun glitch to spawn an unused sprite into the game, which in turn causes the system to treat the sprites in that OAM buffer as raw executable code. In this case, that code has been arranged to jump to the memory location for controller data, in essence letting the user insert whatever executable program he or she wants into memory by converting the binary data for precisely ordered button presses into assembly code (interestingly, this data is entered more quickly by simulating the inputs of eight controllers plugged in through simulated multitaps on each controller port).

This same general method of using memory addressing errors and tool-assisted controller inputs to alter the way a game plays has been demonstrated on a number of other titles, including Battletoads, Kirby's Adventure, and Crash Bandicoot 2. In fact, the essential proof-of-concept for the Super Mario World "arbitrary code" glitch was first demonstrated and confirmed by the TASVideos community last April.

For the most part, though, these memory-corruption efforts are used to simply jump the game's state to the "ending" movie, thereby "completing" it in a much shorter time than is usually possible. This new Super Mario World TAS sets itself apart by using its total control of the system to actually program a new game on top of the existing one (this TAS of Pokemon Yellow does something similar, using the game as a stage to choreograph a pi-themed song-and-dance number).


Last week's Awesome Games Done Quick "total control" demo is also notable for being run on actual, bare-bones SNES hardware rather than on an emulator (as is standard with most TAS videos). The robotic player at the event was powered by a Raspberry Pi hooked up to a special adapter (mounted amusingly to an NES R.O.B. controller) that let the computer send its preprogrammed controller inputs into the controller ports at superhuman, frame-level speed. Thus, the demonstration proved that this exploit was present in the actual system and cartridge released by Nintendo and not some sort of artifact of faulty emulation. That isn't a foregone conclusion, either, as syncing up the vagaries of split-second timing and memory management between real and emulated hardware are not trivial (this is yet another area where the idea of perfect emulation accuracy might come in handy).

Running this exploit on actual hardware also turns the usually sterile, disconnected Internet file sharing of tool-assisted speed runs into a thrilling live performance in front of a crowd of dozens at the AGDQ ballroom and thousands watching the marathon online. There's something about watching the video archive of that stream—hearing the disbelieving laughter, the applause, and the cries of "Oh my god" from a crowd seeing a Super NES transformed into a fully programmable computer before their eyes—that makes the feat all the more impressive. That surprised reaction was apparently genuine, too, as the TGASVideos team says the crowd had no idea what was coming from a submission that had been tested and approved just the night before.

More than anything, though, this demo is a testament to the power of an Internet community and to the desire of that community to achieve total understanding and mastery of a game that started as a simple, child-focused amusement over 20 years ago.
 

cdamm

Trust the French?
10 Year Member
Joined
Apr 1, 2011
Posts
10,587
crazy.

i realize doing a TAS breaks the spirit of the game, but it is just a ton of fun to see what some people come up with.
 

OrochiEddie

Kobaïa Is De Hündïn
20 Year Member
Joined
Aug 22, 2001
Posts
19,316
crazy.

i realize doing a TAS breaks the spirit of the game, but it is just a ton of fun to see what some people come up with.
Both styles have merit. The natural play through is obviously astounding based on the merits of what a real human can accomplish.

TASes are great demos of what can technically be done within a game.

I mean...in theory you could program snake into your copy of SMW....in theory
 

ggallegos1

Cholecystectomy Required.,
10 Year Member
Joined
Oct 1, 2013
Posts
5,158
That's absolutely awesome. I've never been a huge fan of TAS but this does take some great skill to go and do. awesome stuff
 

TheBigBB

Formerly known as dmhawkmoon
Joined
May 5, 2002
Posts
6,117
I saw this, and nearly made my own post about it. I love the AGDQ events. It's mindblowing that you can exploit a memory glitch to boot a new game from RAM just by feeding controller inputs to the system.
 

SNKorSWM

So Many Posts
No Time
For Games.
10 Year Member
Joined
Feb 5, 2010
Posts
15,152
Are the stuff lighting up on the right hand side of the video, the button presses they used? No idea which buttons 0123 correspond to though.
 

El Maricon Loco

Galford's Poppy Trainer,
Joined
Apr 23, 2003
Posts
3,513
Hopefully this starts a trend and they start programming games into some of the N64 drivel.
 

hyper

fresh out of fucks
10 Year Member
Joined
Dec 21, 2010
Posts
5,616
yes, they're the controller input signals
 

Comrade Porn King Mikhail

TЗh ЯussiaИs Дre CФm
Joined
Oct 11, 2000
Posts
3,486
Just imagine what these dudes could do if they actually applied their skills to picking up chicks or making money.

I hate TAS. Regular speed runs or true 1cc runs are great for strategies. It's always fun to see great human skill in action. But when people rig the system where it's humanly impossible to replicate under real world conditions, it seems to break the spirit of gaming and competition. Like playing pool with a robot that auto-calculates all of the angles.
 

TheBigBB

Formerly known as dmhawkmoon
Joined
May 5, 2002
Posts
6,117
Just imagine what these dudes could do if they actually applied their skills to picking up chicks or making money.

I hate TAS. Regular speed runs or true 1cc runs are great for strategies. It's always fun to see great human skill in action. But when people rig the system where it's humanly impossible to replicate under real world conditions, it seems to break the spirit of gaming and competition. Like playing pool with a robot that auto-calculates all of the angles.

Sometimes the speed runners consult the guys who do the TAS for a game to figure out what's actually possible to help improve their paths and strategies. Also, who says they don't also apply their skills to other things? They used this to help raise money for charity, anyway. The event raised a million bucks for cancer prevention research.
 
Last edited:

ebinsugewa

Rosa's Tag-Team Partner
10 Year Member
Joined
Jul 7, 2013
Posts
2,495
Sometimes the speed runners consult the guys who do the TAS for a game to figure out what's actually possible to help improve their paths and strategies.

Precisely. Nearly every major game has some strategies that were originally developed in TAS runs. GTFO with TAS hate. The current SMB1 run is so perfect it's nearly a TAS. If you don't think that's impressive then fuck right off.
 

Nickrb

Angel's Love Slave
Joined
Dec 4, 2013
Posts
918
Just imagine what these dudes could do if they actually applied their skills to picking up chicks or making money.

I hate TAS. Regular speed runs or true 1cc runs are great for strategies. It's always fun to see great human skill in action. But when people rig the system where it's humanly impossible to replicate under real world conditions, it seems to break the spirit of gaming and competition. Like playing pool with a robot that auto-calculates all of the angles.

Well, I'm sure some of these guys are can spit game and make money as well.

What they are doing is very interesting. Finding exploits in old games and coding in assembler via controller inputs. It's very challenging stuff.

Some people do things just for the challenge and novelty. And sometimes those people make breakthrough you couldn't have foreseen.

Besides, what would we rather these guys be doing? Parsing the neo geo forums for the NSA?
 

Psygnosis8

Sieger's Squire
Joined
Oct 30, 2012
Posts
820
Wow, that's pretty amazing. It's line a spectacle or show they came up with. TAS's can be interesting just to see what kind of glitches the game contains, even if there's no way a human could exploit them. I once saw one of the goonies for the famicom where the guy just walks directly to the gate and the level ends immediately. No clue how that works but it was funny to watch.


Sent from my iPhone using Tapatalk
 
Top