Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Pokémon plays Twitch: How a robot got IRC running on an unmodified SNES (arstechnica.com)
160 points by minimaxir on Jan 5, 2015 | hide | past | favorite | 27 comments


I watched this live last night on the AGDQ2015 stream, it was insane. It's always interesting to see what can happen when a buffer overflow occurs.

As a side note, this strikes me as a great charity event, and I would recommend that people who love old games and watching software being abused should watch it.

https://gamesdonequick.com


You can also look up the runs from years past on YouTube; great way to lose a few hours.

Last year's Super Mario World exploit can be found here: https://www.youtube.com/watch?v=ioQmbEoYL0M


They programmed Snake and Pong within Super Mario World by pushing an overwhelming data down the controller port using 8 connections (if I have that right?!). That is some serious hacking.


Yes, they use a trick to make the video game jump to the controller input buffer and execute data from it.

But this year they took that to the next level. Instead of programming snake or pong they made a fully functional Super Mario (from NES) run inside Super Mario World.


Incredible. Do you think it will become available to watch at a later time ?



It already is, just search for "AGDQ" on YouTube and sort by date.


In case anyone else had trouble locating it, the relevant portion of the linked Twitch stream starts at about the 36 minute mark. I couldn't find a time anywhere, but realized I could binary search it from the fundraising total listed in the screenshot on the second page.... Now that I've said this, someone will no doubt point out a really obvious thing I missed.


For archival purposes, I've uploaded the relevant section as a YouTube video here: https://www.youtube.com/watch?v=yoQLUhBfrOE


This video at this ink should start at the right place: http://www.twitch.tv/m/727133


Cecil told Ars the TASBot team's initial plans involved showing some sort of live webcam data through the SNES, but since the controller ports could only reliably pass about 3.8 KB/s to the system, that wasn't exactly workable.

That's still ~30Kbps, which is more than some early videophones used (working over an analogue POTS line)... and having seen how far the demoscene has gone with limited hardware, I don't think low-bitrate, low-resolution video would've been impossible; just maybe a bit too much for them to do. Either way, this is quite impressive already so I'm not complaining, but the limits are still a bit further yet.


The TASbot team's original plan: https://github.com/TheAxeMan301/PptIrcBot/blob/master/RedTAS...

Edit: The python script to convert from Twitch chat to Snes input: https://github.com/TheAxeMan301/PptIrcBot


They mention that they couldn't get 3.8Kb/s for displaying video, I wonder if they could employ a similar technique used for 8088 Domination http://trixter.oldskool.org/2014/06/19/8088-domination-post-... to cheat a whole bunch and get enough bandwidth for "full motion" video.


Wow! Wow... just... wow.


On a slight tangent :

> raw assembly code

If it's assembly it's not raw, assembly code is text that's converted into binary by an assembler.

> the script can essentially code whatever it wants into that ROM, then execute that code by jumping to a memory location.

Scripts that make ROM writable, now that's a feat!


Sigh.

Rom in the game emulation world means 'game image'. Along side that, it also refers to the appropriate memmap of the console as the rom executes.

edit: You are a pedant. Your non-comment was insulting and added nothing to the conversation. And yes, I would have said the same thing in real-life. And I have.


> You are a pedant

Personal attacks are not allowed on Hacker News, even when someone else is being pedantic.


Would you sigh like that to my face?

If so, you are a rude person.

This is not the game emulation world.


Would you say, "Scripts that make ROM writable, now that's a feat!" to the person you quoted in to his face? If so, you are a rude person too.


The #wellactually brigade is the second-worst part of the internet.

(The frothing racists and sexists are first. But it's closer than it should be...)


Huh, I didn't realize that was actually a term. Learned something new. (For anyone else who hadn't seen it, http://tirania.org/blog/archive/2011/Feb-17.html)


I'm simultaneously glad and horrified to have read that. Horrified because I'm frantically thinking through the last 20 or so conversations with my friends in the pub to see if I did an annoying "Well, actually...", but glad because I'm going to consciously avoid doing this in future.


You've pretty much summed up my reaction as well.


> factoids

he should learn what that means


Holy shit, are you serious?


No, I was being ironic


This "Well, actually..." would also be rude in the real world.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: