In the digital age, it can be a hassle, and inconvenient to pull out the ol' SNES, dust off a couple games, and gamble on if they well work or not, let alone still have the battery left to keep your save file from 10 years ago. The solution to this first world problem usually is emulation, but even; who wants to use a keyboard sitting at your computer, and cheat with save states. That ruins that pure experience you got from the original system.
So enter the raspberry pi. A little credit card sized, 35 dollar linux computer that with a bit of tweaking, we can get exactly what we need. For those of us who don't know, the raspberry pi is an educational devices intended to help students learn the basics of programming at a dirt cheap price. The community surrounding the device however has exploded with content and enthusiasm, as a result we have awesome library of things we can install on the computer. One of those things is an SNES emulator.
So what we want here is for the pi to boot into a list of roms that when we select one, will boot the emulator up. We don't want to use a keyboard so we need it to accept Snes controllers. There needs to be a way to get back to the rom list with the controller after launching a game, and finally we want to run all of it off hdmi, which the pi just does, so let's just scratch that off the list now.
Through the use of a tutorial we can get half way there pretty easily. After installing whats called 'retroarch' on the pi, we get it to boot into a list of roms, get the emulator to boot on selecting a rom, and we have a reset function too.
To get futher along, we need it to use snes controllers. Now for the purist, there is ways to get regular ol' snes controllers to connect to the device via soldering and complex driver set up. For those less worried about it, there are snes usb controllers available on amazon, ebay, ect. And through a little bit more coding and set up of configuration files, we can get the controllers to play just like snes controllers, and flash back to the rom screen after launching a game with the press of start and select at the same time.
The controller (retrolink snes controller) is alright. It's kinda 'blocky' and feels a little bit less solid then a snes controller. I could confidently chuck a snes controller across a room in a fit of rage, but this one....ehn I dunno. I wouldn't do it without fear of breaking it. The shoulder buttons are particularly squared off and feel the most different from the original. The dpad is also rather 'shallow' and doesn't feel like you are pressing it enough.
The emulation itself is pretty good. There's unfortunately some slow down in a few more graphics heavy games. Super Mario world 2, star fox, run really slow to the point of being unplayable. Some stuff is middle of the road. Super Castlevania 4 runs great, but slows down when there's a lot of water on screen. Super Mario kart is a tad slow, but it's almost unnoticeable. But the vast majority of games run fine. The only other problem is the pi's power. It takes a low amount, and some t.v's pull more power then it can handle, and the device well lose sound, or freeze, or completely crash.
But yeah, this was a cool hobby project I decided to do. I got genesis games going too with a separate setup for those controllers. And it's still a computer after all, so connect a keyboard, press f4, and boot up a linux desktop complete with all the things you'd expect on a linux machine.