Retro Gaming With Raspberry Pi 106
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."
Accurate game emulation still requires a hefty PC (Score:4, Informative)
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?
Re:Accurate game emulation still requires a hefty (Score:5, Informative)
Re: (Score:2)
Additionally, the Raspberry Pi is about as powerful as the original Xbox which could, guess what, play emulated games a decade ago.
yep but that's like, expensive! nobody could afford that!
anyhow, if you're building a cab then getting a 200 bucks netbook(or used pc) isn't that much. of course you'll need some interface doodads, but adafruit sells logics for those too.
(raspberry is selling for 48euros here with VAT included, btw).
Re: (Score:2)
That says more about the original Xbox being crippled than it does about the Pi being up to the task :)
Re: (Score:2)
The GPU of the Pi is as powerful as the GPU of the original XBox. The CPU, however, is as fast as a Pentium II (I forget what MHz rating).
Re:Accurate game emulation still requires a hefty (Score:4, Informative)
The GPU of the Pi is as powerful as the GPU of the original XBox. The CPU, however, is as fast as a Pentium II (I forget what MHz rating).
The GPU has all sorts of issues though, namely due to the crappy binary only drivers (ugh, yeah, even the Pi has that problem). The Pi uses a broadcom SOC while the Xbox uses a weird nVidia card that Linux never really supported quite right with any drivers.
The CPU on the Pi clocks to 700 mhz but can easily be overclocked. Running at 800 mhz rarely causes problems. Running up to 1 Ghz may cause issues occasionally if you've got a weak USB power charger but the Pi will perform surprisingly well for lightweight task at 1 GHz. By contrast, the original Xbox had a 733 mhz CPU. Remember though, the Pi uses an ARM chip while the Xbox used a custom CPU that was sort of a cross between a Celeron and a Pentium III.
The Pi has a few other features the Xbox lacked. It uses USB 2.0 while the Xbox used USB 1.1 (the controllers were basically modified 1.1 ports. You could easily splice controller cables and USB extension cables together and if you plugged flash drives in the Xbox saw them as memory cards). The Pi also sports HDMI. The Xbox only had 64 MB of RAM while the Pi has 512 MB.
Re: (Score:3)
Additionally, the Raspberry Pi is about as powerful as the original Xbox which could, guess what, play emulated games a decade ago.
As as did old PCs. But old PCs and old Xboxes don't run off of cell phone chargers and fit in a playing cards box.
Re: (Score:1)
The Pi is similar in power to the original Xbox GPU-wise but not CPU-wise. From the FAQ, here: http://www.raspberrypi.org/faqs [raspberrypi.org]
Overall real world performance is something like a 300MHz Pentium 2
Re: (Score:1)
Re: Accurate game emulation still requires a hefty (Score:2)
Maybe they just want to play the game. If its not 100% accurate, who gives a shit?
I built one for NES games and it works fine, even if there is an occasional glitch, but who cares..
Re: (Score:2)
Re: Accurate game emulation still requires a heft (Score:2)
NES, Sega and Atari 2600 run without lag. Some SNES games run, If they don't require the special FX chip, like StarFox.
Re: (Score:1)
Re: (Score:1)
Sorry, was on my phone earlier. To answer you question, I just used the retropie setup without any tweaking.
Re: (Score:2)
Maybe they just want to play the game. If its not 100% accurate, who gives a shit?
It wasn't us who gave the shit.
From the TFS:
Adafruit brings the genuine 'clicky' arcade controls...
If you don't care if it's 100% accurate, you also don't care whether or not it has genuine 'clicky' arcade controls. Which I would then assert that if you either want a genuine experience or not. A genuine facade over inaccurate emulation is not a genuine experience, only the facade of one.
That said, calling 'clicky' arcade controls genuine isn't quite accurate, as it depends on the game. FWIW, the majority of the classic arcade games that the Pi is powerful enoug
Re: (Score:2)
What's even funnier is that they seem to be showing either a Seimitsu or Sanwa pushbutton, which don't really "click".
Re: (Score:1)
Because you absolutely have to have a 4Ghz quad code, eight thread CPU with 2048 stream processors and 8 GB ram to emulate a 1Mhz 6502 with 16K of RAM....
Re:Accurate game emulation still requires a hefty (Score:5, Informative)
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.
Re: (Score:1)
> Because the weaker the console, the more performance it takes to do it accurately.
This gets my vote for stupidest thing I've read all week. Everyone in this room is dumber for having read it. I award you no points, and may God have mercy on your soul.
Re:Accurate game emulation still requires a hefty (Score:4, Informative)
p>Because the weaker the console, the more performance it takes to do it accurately.
That's a misrepresentation of the truth.
What you're referring to is the culture of "hacky" code that evolved to overcome the limitations of hardware. For example, sprite multiplexing. Early graphics devices with hardware sprites had a very limited number on-screen - on a business system, there might only be one for the mouse pointer. In order to overcome these limits, programmers would use raster interrupts to track the screen refresh and switch out the sprite banks so that they could draw the full limit of sprites in the top section of the screen, and then the full limit again below; doubling, tripling or quadrupling the number of available sprites. This means that the emulator has to do cycle-exact graphics, whereas a system with unlimited sprites (whether in hardware or software) doesn't need to have any notion of a moving cathode-ray beam to follow.
The more advanced the hardware, the less likely that software interfaces with the hardware as bare metal, instead relying on APIs that abstract it out, making hardware-specific timing often unnecessary.
Re: (Score:2)
Because you absolutely have to have a 4Ghz quad code, eight thread CPU with 2048 stream processors and 8 GB ram to emulate a 1Mhz 6502 with 16K of RAM....
Well no, but seeing as you've already got the 4GHz doo-dah, it's cheaper to just buy a clicky USB stick for that than to buy Pi + stick + box + USB keyboard. Projects like this may be fun for the maker, but it does kind of miss the point of general purpose computing and the general trend for convergence.
This story might be newsworthy if it was a commercial kit that offered licensed MAME ROMs so that theme bars could set up retro arcades on 80s night. But as it is, it's just another "Pi-in-a-case" story, j
Re: (Score:3)
What's wrong with some "crapy old version of SNES9x"? My three tweenage sons spend hours each week playing Minecraft on our laptops or XBox 360, and various games on their tablets. Many of those games appear inferior to some of my favorite SNES games and my boys agree based on them loving to play Super Metroid, Super Mario World, and other great classics.
I remember playing Super Mario World on my Pentium-120 computer I got my freshman year of college in 1997. At that time there were a few games that were i
Re: (Score:2)
accurate? lol. even the latest version of MAME isn't THAT accurate. besides, this story is lame and OLD NEWS to those in the Pi world.
MAME isn't so much an emulator but an organized collection of emulators. The accuracy depends on the driver and the cores it includes.
Re: (Score:2)
You need to be very fussy indeed, to find issues with the emulation of Galaga, Pac Man etc. on Raspberry Pi - class CPUs.
Yes, some people demand stuff like the frame rate dropping at exactly the right moment, but the vast majority of people - even arcade enthusiasts - won't notice.
The problem with putting a Raspberry Pi in an arcade cabinet is that AFAIK nobody's found a clean way to drive a 15Khz RGB monitor from a Pi.
The closest I've seen is through two gadgets - an HDMI -> VGA convertor, then a 31KHz
very cool (Score:4, Interesting)
Re: (Score:1)
You can do the same thing, easier, with an Arduino.
As for the quarters in the arcade experience ... you didn't just play the game for the quarters you pumped in, you socialized as well. Which you wont' be doing nearly as much of in your rec room. Not to mention that the quarters add an actual value to a loss. When you play on MAME or whatever, you lose nothing by losing. When you played in an arcade, you had a limited supply of quarters, which made game play more important.
Re: (Score:3)
You can always make yourself a credit coin box and limit yourself to X tokens per day/week/whatever.
Re: (Score:2)
I would love to get one of those change machines, rig it up so I can push a button to simulate a dollar but includes a timer that it will only work once a day. The "out of change" indicator would be pretty useful for indicating that no more can be had that day.
Now to find a good used change machine that doesn't cost more than the cabinet I built. :(
Re: (Score:2)
Still easier to just make yourself a box around a real coin door [suzohapp.com] and put an HID USB Keyboard interface on it. Hopefully your arcade cabinet is built well enough that it doesn't need a frikin' keyboard to operate otherwise you'll be able to bypass the coin door by pressing "5".
Re: (Score:3)
You can always make yourself a credit coin box and limit yourself to X tokens per day/week/whatever.
He would also need a smelly, dishevelled man to come around every week and empty it.
Re: (Score:2)
Not to mention that the quarters add an actual value to a loss. When you play on MAME or whatever, you lose nothing by losing. When you played in an arcade, you had a limited supply of quarters, which made game play more important.
1. Build arcade machine
2. Install a coin door and coin mechanism for quarters
3. Install plastic bucket under coin mechanism, fill with fuming nitric acid
Optional step 4. try not to breathe
Re: (Score:2)
GPIO to USB library as well (Score:3)
Re: (Score:2)
might need a multiplexer. there's a limit on how many gpio pins are usable for it.
The NES/Super NES controller interface should be great for this. It's a very simple variant of SPI implemented on the controller side with a 4021 or two: pulse the select signal once, then for each button, read its state from the wire and pulse the clock signal.
Re: (Score:1)
MAMEhub and its CSmame online! (Score:3)
https://github.com/MisterTea/MAMEHub/issues/3 [github.com]
We need help on this! We are having problems getting it to work on slow rPis so we can play online!
Wtf did you need a "well-specced PC" for Joust?!? (Score:2)
Emulators that can do this in a tiny form factor have been around since the 90's.
Re: (Score:2)
Tiny form factor anything would have set you back a pretty penny in the 90s. Even now a lot of small form factor stuff is ridiculously overpriced.
That's one area where stuff like the PI wipes the floor with other stuff.
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
I *seriously* doubt that, since they were using about the same processor. (6510 at around 1Mhz for the 64, scaled-down 6502 for the 2600 (6507) running at the same speed.
http://en.wikipedia.org/wiki/6507 [wikipedia.org]
Heck, even the processor in the 1541 was a real 6502.
Re: (Score:1)
Re: (Score:2)
Emulators that can do this in a tiny form factor have been around since the 90's.
Maybe the last time he used MAME he was on a Pentium Pro or Pentium II.
OMG lag (Score:2)
Did It Months Ago (Score:2)
http://fullfrontalgaming.blogspot.com/2013/03/building-arcade-cabinet.html [blogspot.com]
It doesn't use Mame as I'm collecting money, but does use SDL. Fully functional and good to go. Used parts from Sparkfun mainly.
So what? (Score:2)
I installed MAME and a bunch of other emulators a month ago ... From packages ... With apt-get ...
Why do we have a story on slashdot about something accomplished by running built in tools on the default repositories?
Re: (Score:2)
My impression from RTFA is that this is more on the hardware side of things. Which I found very interesting.
Re:So what? (Score:4, Insightful)
I dont see the reason for all of the hate that people seem to spew whenever a Pi article pops up here.
this seems just the right spot for these articles..
especially this one..
not everyone on slashdot is an old hand at this type of thing.. some might even be inexperienced with linux and messing about with electronics.
this project is an excellent way for people to get involved in the types of things that the more snooty among us really enjoy..
baby steps, yo.
this project doesnt require any soldering! and you can accomplish something.. whats wrong with that?
if you, and others, cant see the value in this im not sure what to say..
it seems like the editors are damned if they do, damned if they dont..
something is either determined not newsworthy enough for nerds..
or, like this, it seems like, while very much for nerds, its not quite complex enough to make them care? .....
well i am here to say i do care, and this type of thing is encouraging me, and others to get involved in electronics..
if you cannot deal with simple interesting projects that get people involved in the world of electronics being posted on on slashdot... im not sure what to say...
perhaps reddit is the place for those people!
Re: (Score:2)
Re: (Score:1)
You see
hate for
the raspberry pi
because
we keep seeing articles about
shit that any of us
who have owned one
did last fucking year
or that you can find
on any raspberry pi related
web site.
Do you think
we should have
articles about how someone
put gasoline into their
1970's pickup? That is as
newsworthy as this is.
Do something I didn't do last year
with the raspberry pi or any other
basic linux computer and I'll care,
until then,
I'll just make fun of these retarded posts.
also
do you talk
like this in real life?
Re: (Score:1)
Yes, lemur3 is William Shatner.
Re:So what? (Score:5, Insightful)
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.
Re: (Score:2)
if someone who is already interested in electronics reads slashdot and reads this he is going to get the same feeling like a car guy would get from reading a hot rod magazine that has an article for installing a stick on scoop. no welding necessary!
the reason this is boring is because people have already done this and you knew it could be done beforehand anyhow. all it takes is money to buy the parts. so a cheap project that needs money, money money.
it's an adafruit advertisement tbh.
Not so amazing (Score:1)
$20, been around for 5 years or so...
http://uncrate.com/stuff/commodore-64-joystick-with-30-games/
Re: (Score:3)
Re: (Score:1)
Re: (Score:3)
I think I'll pass.
For Those that lack Woodwork skill/tools.. (Score:4, Informative)
I built a MAME cabinet from a pre-fab unit from Rec Room Masters https://www.recroommasters.com/ [recroommasters.com] for my wife as a Christmas present. It was very easy to assemble (just bolts which are provided) To this shell, you add a controller (Tankstick) from X-Arcade http://www.xgaming.com/ [xgaming.com] . Lastly you add a monitor, computer, drive space for ROMS and speakers. I spent some extra for side arcade art and illuminated Marquee. As a front end for selecting games, I use Hyperspin http://hyperspin-fe.com/ [hyperspin-fe.com] . It's an amazing machine and is pretty affordable, especially if the Raspberry Pi can run the games.. My wife and I have spent countless hours on this. I also grabbed ROMS for almost every older home console ever made and play them on this as well..
I don't have the tools, space and skills required to build a cabinet from scratch. The hardest part is finding the ROMS which work with the MAME version that you use.
Re: (Score:2)
The hardest part is finding the ROMS which work with the MAME version that you use.
The newsgroup alt.binaries.emulators.mame is a good source, any missing ROM(S) just post a request; you'll get em.
Turn off/down your sound before going to http://mameinfo.mameworld.info/ [mameworld.info] for the latest stats on the newest version.
Re: (Score:2)
Just get them from binary newsgroups (alt.binaries.emulators.mame and alt.binaries.emulators.mame.chd) or http://www.pleasuredome.org.uk/ [pleasuredome.org.uk] (Torrents). They always have the latest versions. If you use a good usenet server, then you should be able to get the older MAME ROMs.
Use RPI Chameleon for retro gaming!! (Score:4, Informative)
Skip all the Raspbian instructions. Instead, use the RPI Chameleon distribution for retro gaming on the Pi. Users are presented with a nice console-style menu screen after the system powers on with a ton of different emulators for not just consoles and arcade games but computers, too.
Check it out here: http://chameleon.enging.com/ [enging.com]
Wrong Joystick! (Score:2)
Re: (Score:2)
Looks like a sanwa JLF knockoff. Proper sanwa JLF sticks have 4/8 way selectors and there are 2 way restrictor plates available.
Re: (Score:2)
If you want an authentic Pac Man or Donkey Kong experience you need a 4-way joystick, not an 8 way. Heck even the example game in the article (Joust) used a 2-way in the original arcade cabinet...
Interesting fact, in Brazil, Joust was known as "Bird ass"
Amazing! (Score:2)
Does it run Zero Wing? (Score:2)
Re: (Score:1)
What you say?
Re: (Score:1)
you have no chance to survive make your time.
I should hope so (Score:2)
Given that the original video game CPUs were in the 1-2 MEGA hertz range, and modern CPUs (including Arduino) run in the GIGA hertz range (500-1000 times the clock speed), I would be surprised if you couldn't emulate the old video game hardware, even with sloppily written code.
Hell, you should just about be able to emulate that hardware with Java and CLR interpreters on modern CPUs.
magic only on PI (Score:2)
really guys emulator and joysticks?
I have a SNES pad wired to a printer port for use with a pentium 1 laptop for around 15 years now, neither of which are neither well specced or specialized. What is with these lame ass PI ad's popping up here, used to be news now is "DURH I CAN RUN MIMBIMBOO ON MI PI!"
um, that's not the classic arcade experience (Score:2)
the classic arcade experience involved being in public, with spectators around, lots of noise, and an undefined number of quarters. it involved a new game, or an unknown game, or a popular game. It was loud. In every way, it was loud. It was a machine bigger than the player. And it dragged you into a place that you otherwise wouldn't have gone that day -- like a mall or a convenience store.