Retro Gaming With Raspberry Pi
coop0030 writes "Thanks to the affordable Raspberry Pi and some clever software, anyone can re-create the classic arcade experience at home. Adafruit brings the genuine 'clicky' arcade controls, you bring the game files and a little crafting skill to build it. Classic game emulation used to require a well-specced PC and specialized adapters for the controls, so it's exciting to see this trickle down to a $40 system. Also, a video of the game system is on YouTube."
If folks want to continue using a hacked-to-hell version of MAME from over a decade ago, or some port of a crappy old version of SNES9x that lacks all of the improvements in emulation accuracy (and the corresponding increase in CPU load) that have been discovered in that same amount of time, that's fine.
However, let's not be ignorant and claim that these old-ass emulators being ported to the Pi are in any way as accurate as modern versions of MAME, or bsnes, or Nestopia, yeah?
Additionally, the Raspberry Pi is about as powerful as the original Xbox which could, guess what, play emulated games a decade ago.
Maybe not that powerful, but close.
Because the weaker the console, the more performance it takes to do it accurately. The best way to do it is a cycle-accurate emulation because a lot of code written in those days took advantage of oddball features and oddball timings to work properly. For a "dumb" emulation like MAME, most of the time it works, but some games don't work requiring various patches and such in order to settle down the game.
It's not just the CPU, but also the timing of the other chips, and often things happen within a clock cycle as well that gets taken advantage of.
It's why emulators like bsnes require specs close to your PC, but run games basically perfectly with no hacks or patches required to get them to work.
The need for cycle accurate simulations ended sometime in the PS2 era - before which things like the PSX often made such cycle timing tricks necessary. Especially since the modern processor is superscalar, has caches everywhere and is heavily pipelined, making cycle counting impossible (especially caches since it made memory access timing unpredictable).
Heck, that still doesn't rule out the possibility some game took advantage of the way the system hardware glitched, requiring not just cycle accuracy, but behavior accuracy as well - perhaps some instruction caused some data line to glitch which caused RAM to gitch and it achieved the desired effect.
People are annoyed because RPi failed to live up to its hype or promises.
The h.264 decoder is buggy and locks the hardware.
The USB controller is buggy and stuff doesn't work right. See the infamous LKML post ripping it.
The SD controller is buggy and regularly corrupts SD cards.
From what I can tell, I should've bought Beaglebone Blacks instead. For some reason RPi still gets lots of attention. If it worked right, people would just complain that it was underpowered, but, eh, it's cheap. But promising and not delivering gets peoples' hackles up.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)