Stories
Slash Boxes
Comments

SoylentNews is people

posted by on Thursday January 19 2017, @11:15PM   Printer-friendly
from the on-the-next-episode-of-super-hackers dept.

For years now, AGDQ [Awesome Games Done Quick] has featured a block where TASBot (the Tool-Assisted Speedrun Robot) performs literally superhuman feats on classic consoles simply by sending data through the controller ports thousands of times per second. This year's block (viewable above) started off simply enough, with some show-offy perfect play of Galaga and Gradius on the new NES Classic hardware using a device made by TASBot team member Peter Greenwood (who goes by the name micro500). TASBot organizer dwangoAC Allan Cecil (dwangoAC) described the NES Classic as "absolutely horrible" when it comes to automation.

After that, TASBot moved on to a few "total control runs," exploiting known glitches in Super Mario Bros. 3 and Mega Man to insert arbitrary code on the NES. This is nothing new for the computer-driven TASBot—the basics of the tricks vary by game, but they generally involve using buffer overflows to get into memory, then bootstrapping a loader that starts reading and executing a stream of controller inputs as raw assembly level opcodes. The method was taken to ridiculous extremes last year, when TASbot managed to "beat" Super Mario Bros. 3 in less than a second with a very specific total control glitch.

With those out of the way, TASBot moved on to a similar total control run of The Legend of Zelda: A Link to the Past. After a few minutes of setup, the Zelda screen faded out, then faded back in on a bordered window with an ersatz logo for the "Super N64." Without any forthcoming explanation from the runners on stage, TASBot started apparently playing through a glitch-filled speedrun of Super Mario 64 on the Super NES, following it up with a similar glitch-filled speedrun through Valve's PC classic Portal. After that, the scene somehow transitioned to a Skype video call with a number of speedrunners speaking live from the AGDQ event through the SNES.

No one on the AGDQ stage acknowledged how weird this all was, leaving hundreds in the Herndon, VA ballroom and nearly 200,000 people watching live on Twitch temporarily guessing at what, exactly, was going on.

Very geeky but very cool. And totally impractical.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Informative) by ikanreed on Friday January 20 2017, @12:20AM

    by ikanreed (3164) Subscriber Badge on Friday January 20 2017, @12:20AM (#456307) Journal

    And leave out any technical explanation:

    Short version is that they used the 2 SNES controllers as an extremely small pipe for ultra-compressed video data(no audio, which was piped generated through an NES instead), and the code of the game was buffer-overflow rewritten to basically act as one giant-ass codec, abusing the 4 background layers of the console as a cheap way to do some of the decompression work.

    The games (portal and M64) weren't actually played through the SNES, just video of existing playthroughs.

    Starting Score:    1  point
    Moderation   +4  
       Informative=4, Total=4
    Extra 'Informative' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 0) by Anonymous Coward on Friday January 20 2017, @12:27AM

    by Anonymous Coward on Friday January 20 2017, @12:27AM (#456311)

    Are you sure the games weren't played? I got the impression the games were emulated and played within the game. I guess this goes back to the comment that this presentation was exceptionally non-informative, as compared to the previous TAS blocks.

    Also, while this was a technically impressive feat, I can't help but feel that it wasn't very informative. As they noted, the NES Classic is basically a Linux computer, so all they did was find a security hole and exploit it to "pwn" the machine. It is one thing to do this on old game hardware, but doing it to a full computer is done all the time. Calling back to previous GDQ stunts, "getting Twitch to work on a computer is trivial, getting Twitch to work on a SNES (?) is impressive."

    • (Score: 1, Informative) by Anonymous Coward on Friday January 20 2017, @12:39AM

      by Anonymous Coward on Friday January 20 2017, @12:39AM (#456313)

      It definitely wasn't running the game code/datafiles off the SNES. Managing to pump the video data for even 180-240i through the controller interfaces to display on the screen would still be pretty badass though.

  • (Score: 1) by charon on Friday January 20 2017, @06:40AM

    by charon (5660) on Friday January 20 2017, @06:40AM (#456419) Journal

    You mean I should put the entire text of the source article as the summary next time? If you are not interested in the topic, why comment? If you are interested in the topic, why not read the source which answers your questions?

    Reading it again, the explanation is in the summary. What are you even bitching about?

    the basics of the tricks vary by game, but they generally involve using buffer overflows to get into memory, then bootstrapping a loader that starts reading and executing a stream of controller inputs as raw assembly level opcodes.