10 ms·
The Raspberry Pi Has Revolutionized Emulation
- pronoiac 10y agoThis advice on displays made me laugh: > Absolutely go as big as you can in the allowed form factor, though the Pi won't effectively use much more than a 1080p display maximum. See, I just used a RetroPi to test a new tv, and the games I reached for were very low res and extremely pixelated.
- vinkelhake 10y agoWhile the old emulated games have low resolution, there is support for various postprocessing options. There are many shaders that can be used to improve the experience and these are run at a higher resolution. The raspberry pis aren't fast enough for running the more advanced shaders in 1080@60Hz, but many simpler ones work well.
- colejohnson66 10y agoWhat about the new Pi 3B? I know the 2B isn't fast enough for 1080@60, but is the 3B any better?
- happycube 10y ago3B has pretty much the same GPU (it might be upclocked), so shaders won't work much better. ARM really improved memory bandwidth from the A7 to A53 uncore bits, which probably helps as much as the CPU speed bumps... at the cost of it running quite a bit hotter. I read an Anandtech article where they compared Samsung arm32 to arm64 chips, and the benchmark differences were actually quite similar to Pi2->3.
- mrob 10y ago"Viewing angle and speed of refresh are rather critical for arcade machines, and both are largely solved problems for LCDs at this point" This is true, but not for the cheap IPS LCDs he advocates. The important point is image persistence. Each frame is a sample of a single point in time. To accurately represent motion it needs to be shown for as close to a single point in time as possible. Most LCDs sample-and-hold, i.e. they set the pixel and keep it there until the next frame. This results in blurring when your eye tries to follow motion. See: http://www.blurbusters.com/faq/references/ http://www.blurbusters.com/faq/references/ Modern gaming LCDs can strobe the image like a CRT, eliminating this blur. It causes noticeable flicker at 60Hz, but it's the only way to get sharp looking motion from these fixed framerate games (motion interpolation adds latency which is no good for games).
- speeder 10y agoI wish someone would ressurect crt or come up with similarly cheap tech. I own lots of monitors, but after I tried my CRTs again recently, I fell in love with them again, the image itself, and the motion is much better than any flat panel that is affordable. (Also my CRTs aren't high end even! they were medium range, or outright cheap when I bought them new, one is even 1024x768, that now feels too small, but the image quality overall is soooo awesome...)
- spikej 10y ago... and Duck Hunt! :P
- overcast 10y agoSED(Surface Conduction Electron Emitter Display) was what I was most excited for, and it died before it got started. It's basically a matrix of tiny CRT monitors. https://en.wikipedia.org/wiki/Surface-conduction_electron-emitter_display https://en.wikipedia.org/wiki/Surface-conduction_electron-em...
- mrob 10y agoSED doesn't have the high quality motion of a CRT or a strobed LCD because it's PWMed. You will either see ghost images trailing motion, or sample-and-hold blur, depending on the PWM frequency.
- codinghorror 10y agoI don't know that arcade monitors from the 80s had zero ghosting or phosphor persistence. And a TN display is going to sacrifice so much on angle of visibility that I don't know if 120hz updates are worth it. That said it is an interesting aside and there are a few more details here http://www.mameworld.info/ubbthreads/showflat.php?Number=305674 http://www.mameworld.info/ubbthreads/showflat.php?Number=305...
- amelius 10y agoIn real life there is also blurring, because of the finite speed of the human retina. So perhaps CRTs are actually too sharp because they miss the blurring of the intermediate pixels (unless you can correct this in software).
- Thaxll 10y agoRasberry Pi are slow as hell and don't emulate recent consoles. "Why Perfect Hardware SNES Emulation Requires a 3GHz CPU" http://www.tested.com/tech/gaming/2712-why-perfect-hardware-snes-emulation-requires-a-3ghz-cpu/ http://www.tested.com/tech/gaming/2712-why-perfect-hardware-...
- atrus 10y agoPerfect is the enemy of good. Sure, you won't get 100% game coverage, but you'll be able to play most games.
- ekianjo 10y ago> Rasberry Pi are slow as hell and don't emulate recent consoles. Yes, but there's a bunch of old titles which are still worth playing. The video games scene did not wait until the 2000s to be interesting.
- PostOnce 10y agoThat's "accurately timed emulation", it's still emulation, not simulation. Do you know the difference? You can buy the latest greatest 18 core Xeon and some SLI GTX 1080s and still not be able to emulate PS3... even if it's fast enough there's no emulator that works. Does that mean there's no point in owning a computer at all since it can't even emulate PS3, a gasp last-gen console! It's not even current! That's sort of like saying a car that can't tow the space shuttle is worthless. What a pointless thing to say. The pi also can't play The Witcher 3 in 4K VR. So? We still want to play Mario and Sonic and a million arcade games and TurboGrafx roms and dosbox.
- colejohnson66 10y agoCase in point: I run PCSX2 on my computer running a third gen Intel CPU with a GTX 950 and have to resort to quite a few hacks just to get the game to run at a "measly" 45 fps or so. What's "great" is that the game is designed to run at 60 fps. The timers in the game are all based on a second being 60 frames. So, despite having a good enough frame rate, the game runs at anywhere from 2/3 to 3/4 of the original speed I remember it being.
- 1hackaday 10y agoThis is very neat. I want to have one, but don't want to have to assemble it. Any ideas about where I can buy one already assembled? (I wouldn't mind, say, paying a 20% surcharge over the prices mentioned in the article).
- elliotec 10y agoI'll do it for you for the extra 20%
- PostOnce 10y agohttp://shop.xgaming.com/ http://shop.xgaming.com/ It's a joystick or a joystick+cabinet you plug a computer into, you could plug a pi into it no problem. Or a more powerful computer. They sell one that has no display, and you push it up in front of the TV when you want to play and stash it away when you don't. The joysticks are cheap but the cabinets arent. Plugs right into USB though, easy.
- corysama 10y agoI've long thought it would be interesting to make an education-oriented Game Boy Advance clone to teach low-level programming. I.e: Base it on the expired patent, but don't copy the copyrighted BIOS and don't bother being compatible with commercial game ROMs. The conflict is that it sure looks like sourcing everything but the SoC (case, screen, controls, battery?) will cost more than a RasPi-like SoC capable of emulating a GBA. At that point the question becomes, What's more valuable inspiration-wise: Telling the kids "Your game is really running on the same physical hardware as a GBA" or telling them "in addition to GBA, this device can emulate a bunch of other devices and there's the whole RasPi ecosystem as well" ? Disclaimer: I know nothing at all about sourcing hardware.
- inyorgroove 10y agoI think that pocket CHIP would fit most of your requirements: https://www.nextthing.co/pages/pocketchip https://www.nextthing.co/pages/pocketchip
- voltagex_ 10y agoThe resolution is low and the touchscreen is a decade old, but it's got promise - we'll see what the community does with it.
- mrob 10y agoIt's not the same because the CPU is much faster than it needs to be for such primitive sound and graphics. A major appeal of fixed hardware is coding close to the metal to get the maximum performance out of it. The PocketCHIP is supposed to be programmed in Lua, which you could do anywhere. With the GBA you're probably going to learn assembly, and because it's ARM the skills will be useful for many other things.
- arm 10y agoThere is the Arduboy¹, which is definitely a lot more primitive. ―――――― ¹ — https://www.arduboy.com/store/products/arduboy https://www.arduboy.com/store/products/arduboy
- windlep 10y agoI've had an arcade cabinet with a 9-year old computer in it that finally failed the other day. I tried the Rasberry Pi route awhile ago, it does fine on the oldest 80's MAME games, but has issues with most of the 90's era games of which I'm still quite fond. And as others have noted, it's prolly going to suck for NES/SNES emulation. So when the arcade computer failed, I tried a different route. I realized my main desktop computer (a Core i7-4790k) is plenty powerful to do some arcade gaming on the side. A long VGA/USB/audio cable later, and my arcade is now running directly off a VM from my desktop. This works so much better than dealing with moving games on/off a SD card, and managing more physical things. It's easy to manage the VM, snapshot it, and change the config without even touching the arcade now. With VT-d, PCI-passthrough, and the ridiculous amount of CPU cores everything comes with that this should be a more normal thing in the future. It'd be lovely to use those new multi-Gbit wireless standards instead of a cable though...
- throwawayy2 10y ago> And as others have noted, it's prolly going to suck for NES/SNES emulation. It works great for NES/SNES emulation, and even N64 emulation with an appropriate video plugin.
- windlep 10y agoAh, is that the latest model of the RasPi? It was lagging quite abit on my older Rasberry Pi B model.
- PostOnce 10y agoWhat emulator are you using? They have different features and run at very different speeds. You can run zsnes totally fine on something that has no hope of running bsnes/higan. Try some others.
- windlep 10y agoYea, I've had too many issues with imprecise SNES emulation, so I only wanted to use bsnes. I get why people skimp and go for a less precise emu that can handle their hardware, but its too frustrating to me to invest time into a game to be thwarted by emulation failures.
- kerkeslager 10y agoIf you're interested in emulation, The Internet Archive also has something cool: https://archive.org/details/internetarcade https://archive.org/details/internetarcade
- chrisguilbeau 10y agoI used a pi2 and an LCD I got off Craig's list to build an old Mac emulator with Basillisk II and a lot of patience (took a while to get the right combo of compile options, settings and display environment). It's relatively stable and my 4 year old daughter has been playing kid pix, cosmic osmo and hello kitty on it for a while now. It's also fun to see the after dark screen savers when I go into her room.
- ac29 10y ago> For a budget of $100 to $300 – maybe $500 if you want to get extra fancy – you can have a pretty great classic arcade and classic console emulation experience. ...if you are OK with pirating games. Its a bit odd that for the number of times this article talks about how cheap and easy it is to get this setup going, they kind of handwave away the fact that even old games are still copyrighted with "Add additional ROMs and game images to taste."
- intopieces 10y agoWith no legal way to purchase most of the games on these systems -- and certainly not in a way that the original creators would benefit -- most people would be O.K. with pirating games.
- _frog 10y agoA lot of these older classics that you'd probably want to emulate are actually available in some form or other. For PS1/2 games, you can often purchase inexpensive digital copies on the Playstation Store, and for older Nintendo titles they offer digital copies through their Virtual Console service. Additionally, just because a title isn't easily available for purchase, or available through your desired channels, that doesn't magically invalidate copyright.
- intopieces 10y ago>A lot of these older classics that you'd probably want to emulate are actually available in some form or other. And emulation is the reason those titles are available. Those titles are being emulated on other systems. Without the games having been pirated to begin with, the people sitting on the IP would have left them to rot. Piracy is a demonstration of demand. Do you think the iTunes Music Store would have come about without Napster? >Additionally, just because a title isn't easily available for purchase, or available through your desired channels, that doesn't magically invalidate copyright. "Information wants to be free." It doesn't invalidate the copyright, but it certainly lowers the 'perceived harm' in the mind of the end-user. And the copyright holders, thankfully, don't seem to be very attentive. Coolroms and EmuParadise are still around, I was grabbing ROMs from there over 10 years ago.
- clevernickname 10y agoI wonder what affiliate links Jeff Atwood is shilling this time.
- starik36 10y agoI've attempted to do this. It's not as simple as Jeff Atwood states. For starters, there is a lot more tinkering and messing around than is indicated in the article. You want to connect an old PS3 controller that's sitting around? Great...prepare to spend 3-4 days messing around with config file via SSH to get it just right. And even then, it fails intermittently and works in some games, but not others. Secondly, while some N64 games do emulate reasonably nicely, most do not. There are either audio issues, or video issues. And on and on. PSX and Dreamcast games - I couldn't get those to work without lag at all.
- _frog 10y agoHave you checked out RetroPie, the distribution mentioned in the article? In my experience, using a PS3 controller with that consisted of connecting the controller via a USB cable, selecting 'configure controller' from the main menu, and mapping all the buttons. All in all that took maybe a minute or two.
- starik36 10y agoI did use RetroPie. That is true, PS3 controller is pretty easy to connect via the USB cable. I tried it to connect it wirelessly. That's where it gets tricky and unreliable.
- gambiting 10y agoI've tried using RetroPie with the PS3 controller over bluetooth and it works.....50% of the time. The problem is that when it doesn't, there's literally nothing you can do, you have to log in through ssh and restart the Pi, and it's incredibly frustrating.
- codinghorror 10y agoYes, it has gotten radically better in the last year or two, combination of Pi 3 hardware being quad core and much faster, and the RetroPie project iterating and improving rapidly.
- 10y ago
- Houshalter 10y agoHere's a possibly silly question. Is upscaling old games possible? In the past I have seen papers on upscaling algorithms that do amazing things to old pixel art and 8 bit sprites. Is it possible to run these in real time on something like a pi? I ask because the suggestion of using 1080p resolution or higher for this sounded silly. But then I realized maybe it's not.
- _frog 10y agoIt's definitely possible to run something like hq3x in real time, and many emulators support that, though I'm not sure if RetroPie specifically makes it easy to configure that stuff. Though I'd argue that algorithmically smoothing out low res art frequently makes it look worse than the source material.
- colemickens 10y agoYes, some emulators even allow for swapping in higher res assets. I know Dolphin in particular can do this.
- codinghorror 10y agoAlso an option in famous N64 games, they have fan produced higher res texture sets.
- codinghorror 10y agoThere are a lot of CRT emulation modes available, I am not sure if the fancy "enhanced detail" pixel up scaling modes are supported but I would be surprised if they are not at least for the more popular Nintendo emulators. It says here https://en.m.wikipedia.org/wiki/Hqx https://en.m.wikipedia.org/wiki/Hqx used in nestopia which is included in RetroPie, so I am thinking yes.
- JonnieCache 10y agoThe various hqxx algorithms are still there, personally I don't like the look of them, but what's advanced a lot in recent times is TV emulation. A programmer called blargg has released several NTSC filters which really make games look how they did when you first played them, how they were intended to. They've been integrated into many emulators. Have a look at the screenshots, to me they look way more attractive than traditional hq-style upscaling filters. http://slack.net/~ant/libs/ntsc.html http://slack.net/~ant/libs/ntsc.html
- SmellyGeekBoy 10y agoGreat article, but the tips about putting the Pi in a case and using heatsinks seem at odds with each other - especially if the Pi is going to be safely tucked away from danger inside some form of arcade cabinet. I just used self-adhesive PCB risers with mine and stuck it to the inside of the cab.
- codinghorror 10y agoNow that I have had more time to mess with my Pis, you have a point. It's a solid 3 watts under load, when overclocking a bit more. I recommend a 20x20x15mm heatsink, and probably open air (I removed the top half of the case) too. The little heat sinks the cases bundle are better than nothing, for sure, but get uncomfortable to touch under extended load. A bit more here https://discourse.codinghorror.com/t/the-raspberry-pi-has-revolutionized-emulation/4462/31 https://discourse.codinghorror.com/t/the-raspberry-pi-has-re...
- legooolas 10y agoOne thing that's missing from a lot of arcade cab builds is that old games often don't run at a 60Hz refresh rate, and so you get a strange jittery effect as it has to skip or duplicate frames to display at 60Hz on normal LCD monitors. FreeSync/G-Sync makes a tremendous difference, but unfortunately does this to the price as well :( Edit: Or you can use a CRT :)
- deleted 10y ago[deleted]
- afro88 10y agoDoes any RPi emulator do the nice slightly convex CRT emulation with scanlines, colour bleeding etc? For me this is a big part of it. The game art is designed for these effects, and it kind of breaks the illusion if this isn't right (in a similar way to low FPS or delayed sound).
- codinghorror 10y agoYes, see https://www.youtube.com/watch?v=SCqQ7ciCHcI https://www.youtube.com/watch?v=SCqQ7ciCHcI for a demo! Check out the actual video simulation for the games. The bezels are nice too :)
- afro88 10y agoAwesome!!
- fit2rule 10y agoWhile I think its true that the rPi has been good for arcade emulation as a social phenomenon - i.e. the market has expanded drastically - I think its disingenuous to think of the rPi as the main driver behind emulation becoming mainstream. Devices such as the GP2X, Caanoo, GPH Wiz and Open Pandora gaming consoles have contributed immensely to the subject of game emulation, and these systems have been around far longer than the rPi - which did indeed benefit from all the work done to make emulation work on these machines previously (they use a similar class of device) .. I know for sure that dynamic recompilation, which is key to the way emulators gain the performance needed to run on these small machines, was well and truly happening in the scene before the rPi came along. In my opinion, the rPi just delivered the last 5% of the missing equation: cheap, broad availability.
- phreaky 10y agoI love my Raspberry Pi. A few months ago, I started a project to convert my dad's barely used iCade cabinet [1] into a full-fledged RetroPie cabinet. I used a GPIO-to-USB converter (which allowed me to easily interact with the buttons and joystick on my Raspberry Pi), a speaker with a 3.5mm line-out, and a 7-inch screen I got off of Amazon. Here's a video of it in action: https://youtu.be/EiNI2vXAomg https://youtu.be/EiNI2vXAomg [1] http://www.ionaudio.com/products/details/icade http://www.ionaudio.com/products/details/icade
- parski 10y agoI guess it depends on what you consider good enough. I use my gaming PC to emulate and because it lets me use more accurate emulators and allows me to configure them to my liking. Output the video to a CRT video monitor and it's a fantastic authentic experience with liberties I could only dream of as a child. Heck, I don't even get the frame drops that are present on original hardware.
- bitwize 10y agoHeck, I don't even get the frame drops that are present on original hardware. I hate that. It makes everything look too smooth and artificial. Frame drops are essential to the retro gaming experience. Try comparing the original release of Shadow of the Colossus with its HD remake. It just isn't the same without the frame drops, rendering jank, and texture and geometry pop-in. The same goes for any modern "8 bit" "retro game" that doesn't start flickering or dropping sprites when the sprites-per-scanline limit is exceeded.