Hacker News new | comments | show | ask | jobs | submit login

I'm amazed noone here has mentioned RetroPie[1]. A model B Raspberry Pi or even a Zero (if you can get one) should play NES games perfectly fine. You can get USB NES controller adapters pretty cheap or some knock-off USB NES controllers instead. I have a SNES-USB adapter for my setup that takes two SNES controllers.

[1] - https://retropie.org.uk/

Is there anything particularly special about this? There are hundreds of different ways to play emulated games for free. I burned a disk with an NES emulator and roms for my Dreamcast 15 years ago and it was great. However the big deal about this is that Nintendo is finally making a legitiment way to buy/play the old games at a reasonable price which they have never done before.

I'd personally recommend Lakka[1] (Kodi's distro modded to boot straight to Retroarch) over it, having used both. Worth it for fewer problems with controller mappings, if nothing else. Boots to a usable GUI in ~3-4s on a Pi2, which is nice. If you're using a Pi it's easy to try both before deciding, so may as well check it out.

Anyone in the market for hardware, I've found that the abilities of various devices tend to be overstated. Pi2 was in fact good enough for close-to-perfect NES, almost good enough for perfect SNES (fine for many games if you can tolerate the occasional slowdown or audio glitches), could play Mario64 acceptably but pretty much no other N64 games. Bizarrely decent at Playstation.

I'd imagine the Pi3 is pulls off SNES very well, just judging from the specs, though I don't have one yet. Be aware that these games will not look right without beefier hardware that can handle CRT shaders to (sort-of) correctly fuzzy-up the image. So, not a Pi. I now run Lakka on an Asus chromebox, which was about double the price of a Pi with a decent power adapter and not-hideous case, but can do the CRT shader thing and handles later consoles much, much better. Emulation on x86 tends to be more stable and better supported (faster) in general, so know you'll be on second-class (though rapidly improving!) platform if you go ARM.

Try out several controllers before settling. I found that the easiest solution (XBox360) failed my usual test of Punch Out and Super Mario. Couldn't block or dodge worth a damn in Punch Out (unsurprising given the 360's Dpad's reputation) and kept running into bottomless pits in Mario (I found switching between the "A" and "B" face buttons to be too slow). The 360 controller made it feel like the emulator input was lagging, but it in fact wasn't. PS3 controller works well for me. Wii Classic Controller Pro is even better, but I have yet to find a to-USB adapter that isn't messed up in one way or another—last one I tried would periodically register a bunch of wild analog stick input for no obvious reason, making it useless for N64 and Playstation. A big Retroarch-specific benefit of a PS3 or Wii Classic Controller is that you can use their home/menu buttons to bounce to the Retroarch menu, saving you from configuring a button combo for that—IIRC the 360 controller wouldn't let me use its home button for that purpose.

[1] http://www.lakka.tv

> could play Mario64 acceptably but pretty much no other N64 games

That's a problem with the emulator, not the hardware. I have a work-in-progress Mupen64Plus fork that can play all N64 games at full speed or better on the Pi 2 with only minor occasional slowdowns (that should all be fixable). The problem is that the emulator plugins were all designed for GL 1.x era fixed function hardware, which is very different from what you need to make software run well on tiled architectures like the VideoCore IV. It's not easy to get them running—I had to add an SSA-based optimizing shader compiler, for example—but it all ends up working out fine in the end.

I would like to try running N64 games on even cheaper hardware like the C.H.I.P. at some point. I think they have a good chance at running at full speed.

The biggest problem with the Raspberry Pi for this kind of stuff is that the software, which mostly consists of lightly optimized ports of old emulators written for Windows, holds the hardware back. If you compare instructions-per-clock of CPUs and fill rates of console GPUs from that era with the relevant hardware on even cheap modern mobile SoCs, the latter blow the former away. It's just that the games of that era pushed the hardware to its limits, while the emulators on the Pi don't even come close.

> (Kodi's distro modded to boot straight to Retroarch)

A little pedantic, but Lakka is based on OpenELEC (and may have switched to LibreELEC by now). OpenELEC/LibreELEC are buildroot based OSs that boot straight into Kodi. Neither are affiliated with the Kodi project - but the devs get along and communicate.

100% correct, my mistake. I've not run Kodi, but I used a mix of Kodi and OpenELEC docs/forums setting up my Chromebox for Lakka, so I tend to confuse the two. I should have googled it first.

Glad I checked in here. Took a look at Lakka and the UI looks outstanding. I will have to give this a spin on my Pi2.

Biggest hurdle you're likely to run into is that it expects "correct" roms/discs and won't auto-generate game lists with its Scan functionality if the hash doesn't match what it wants. You may find you've got some impure dumps. Also, said scanning isn't working for all systems yet, though for most of the biggies it's fine. You can manually create "playlists" but it's kind of a pain. Likely you'll be OK, but if you scan, say, your N64 directory with 20 roms in it and only 3 show up... well, that's why. Get correct roms or make the list manually.

Getting wireless set up on it is a PITA, unfortunately. You can plug in a USB stick full of games but you won't have access to its online cores (=system emulators) updating functionality. I'd recommend Ethernet if you can manage it.

The best parts are the above-average, very responsive menu and that all the cores speak to a unified I/O API (libretro) which smooths out most of the usual problems with multi-emulator systems.

> A model B Raspberry Pi or even a Zero (if you can get one) should play NES games perfectly fine

Last time I tried this, some of my favorite games were super laggy (Yoshi's Island, Super Mario RPG) presumably due to having to emulate additional processors (Super FX, SA-1, etc.)

edit: Oh wait, this is NES we are talking about. Nevermind, I'm sure NES runs fine. I'll leave my comment up for anyone wanting to talk about SNES emulation.

Some of the issues were recently patched:


I tried it on my pi 2 and it feels the smallest bit laggy. Going to try it in a pi 3 to see if that improves things.

Retropie is amazing, but there are a lot of emulator options available, and some don't seem to work out of the box.

Those games you mentioned are SNES games.

The default RetroPie installation is notoriously laggy[1] when it comes to NES/SNES games. Some of the issues have only very recently been patched by enthusiasts:


[1] I guess it depends on how sensitive you are to lag in the first place...

I was thinking the same thing! Have this setup at home and it's awesome. I went ahead and paired a wireless PS3 controller to it and it really is great for NES, SNES, and PlayStation games especially.

Yes, there are a bunch of ways to play emulated NES games. Retropie is great. A PSP and emulator is great if you want portable, or "8 bit video game consoles" are available for less than $10 with many games. (And varying build quality of the devices).

But this is official, with licenced legit games from Nintendo, so some people prefer that.

the snes emulator on retropie, last time i used it, didnt render music properly, in that every time there was a glissando or vibrato, it would get stuck on the flat tone, making final fantasy vi sound awful. i ended up using another setup for my playthrough but i was disappointed, i sill havent found a decent use case for my rpi. anyway hope they updated that emulator.

Applications are open for YC Summer 2018

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