Coin Operated Arcade Machine (MAME)


19 posts
by stuartheath » Tue Jun 26, 2012 12:42 pm
I'm looking into making an Arcade machine built into a glass top coffee table and probably running an ARM version of MAME (if their is one i havn't checked yet). Just thought i'd let you guys know, i'll be posting pics up as soon as the project starts. Any input would be great.
User avatar
Posts: 16
Joined: Mon Jun 18, 2012 9:42 pm
by SSilver2k2 » Tue Jun 26, 2012 1:24 pm
Awesome!

Would love to see pictures. There are some emulators already compiled for the Pi.

I have a couple of links here that should help ya get started:

http://blog.sheasilverman.com/?p=73 - Neo Geo Emulation
http://blog.sheasilverman.com/?p=44 - MAME

There are also some forum posts in this subgroup regarding emulation. I know N64 emulation is in the works, as well as others. Do a search on MAME or Emulation and you will find a good deal of info.

Also look at GPIO keys as an input method for Arcade buttons.
My blog of various geeky things - http://blog.sheasilverman.com
DeskCade.com - Mini Raspberry Pi Arcade Cabinet
PiMAME - http://pimame.org
Posts: 177
Joined: Wed Jun 06, 2012 1:51 am
Location: United States
by Nocturnal » Thu Jun 28, 2012 6:37 pm
I'm building an bar top cabinet. Give yourself plent of room, you probably won't have the same space constraints I have, but several times I have run out of space and had to redo parts to make things fit. If you do decide to use GPIO keys (I wrote my own module), you may run into the same issue I did. Which is that GPIO handles single switches fine, but has more trouble running a switch matrix directly. I ended up using a couple of transistors to drive the matrix. You may be able to get a switch matrix powered directly by uping output current on the GPIO port, but that was a road I didn't want to go down (a datasheet with actual electrical specifications would have been nice while working on this).

Image

Going with crimp on connectors made some things easier (ie my wiring is neater, and easier to reconfigure or repair), but it introduced a whole lot failure points :) Took while to chase them all down. I'm currently having some issues with interference from the power and signal wiring running so close to the switch matrix. Works fine when I have it upside down to get at the wiring, and glitches and ghosts a key or two when right way up.

Image

Its pretty much finished, just a few small things to fix and sort out, then paint.
Posts: 16
Joined: Sat Jun 02, 2012 11:15 am
by ghans » Thu Jun 28, 2012 9:38 pm
Wow !
Looks awesome !
You should be featured on the front page !

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org
Posts: 4390
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany
by Vahire » Fri Jun 29, 2012 9:38 am
Hi,

That's crazy, but i was thinking about made my own Arcade Machine Yesterday, and today i receive an email for ordering my RPi, and i found this post :p

Just a question, which linux are you using for this? Because i don't want to see the Unix Environment when i turn on my machine, do you think is that possible (on RPi or classic computer).

Good luck with your Arcade Machine, maybe one day i'll put some pics of mine :p
Posts: 1
Joined: Fri Jun 29, 2012 9:33 am
by Cause » Fri Jun 29, 2012 9:05 pm
Posts: 2
Joined: Sun Jun 03, 2012 10:30 pm
by Nocturnal » Sat Jun 30, 2012 6:23 am
I'm running debian. Having it load strait into an arcade front end without having to use the shell shouldn't be an issue. Getting a splash screen to replace the loading screen should also be possible, I've been thinking about trying it, but there are one or two steps that may be trickier with pi than a pc though.
Posts: 16
Joined: Sat Jun 02, 2012 11:15 am
by kokakoda » Sat Jun 30, 2012 8:24 am
OpenELEC loads quite cleanly, looks like it just appends 'quiet' to the kernel line and uses something like splashy after the rootfs is brought online.

You could, with minimal effort, hotwire your init to load right into MAME from inittab or the like. Woohoo, instant MAMEy goodness. Hmm, need to have a look at connecting a coin box to the GPIO... :mrgreen: What, it wouldn't be authentic otherwise.
less /dev/brain | tail > /dev/null
User avatar
Posts: 5
Joined: Sat Dec 24, 2011 5:37 pm
Location: Zero page
by Nocturnal » Sat Jun 30, 2012 1:16 pm
That's more or less what I just did, though splashy is still refusing to actually show the splash screen on boot. I'm still getting a few lines of text, despite the quiet option though. Boot time (to login prompt) is only a few seconds, so it probably won't matter much.

Looks like most coin mechs use (or simulate) a switch, it should be a simple matter to connect to the GPIO without voltage issues (note: you are responsible for maintaining the magic smoke inside your pi, not me). I went with the less authentic coin button.
Posts: 16
Joined: Sat Jun 02, 2012 11:15 am
by Nocturnal » Mon Jul 02, 2012 10:06 am
I haven't done much over this weekend, mainly just fiddling software and sanding. Since its probably not a normal thing for a MAME cabinet to have, I thought I would show you my rear panel.

Image

For maximum flexibility, I have mounted a panel with connections linked between the pi and screen, allowing me to plug the outputs from the pi into something else (a larger screen), or use the screen for something else. To that end, I will be wiring in two power switches, one switch will power the pi, the other the screen. I've also mounted a powered usb hub, primarily so I can use my xbox wireless receiver or other external controls (with a larger screen).

What I haven't mounted yet is a single network port (still waiting on the mail man for that), the screen controls and the speakers. Anyone have any ideas on a good way to mount and cover speakers? After that its painting.
Posts: 16
Joined: Sat Jun 02, 2012 11:15 am
by tek909 » Wed Jul 18, 2012 5:50 am
Hi, I only recently had the R-PI pointed out to me but making a coffiee table style arcade machine has been a dream of mine for a long time. up until now, mounting a whole PC to a coffiee table seemed daft and I have been looking for a light weight solutions and the R-PI seems like the perfect cheep way to give it a crack. And finding this post has spurred me into action.

R-PI ordered and on the way. Brilliant. Now comes the hard part. I know very little about programming and electronics and I know this will be a massive obstacle but it seems like an awesome excuse to learn.

At the moment I am gathering information on what I need and instructions to do what I want to get done. So far I have sourced software and some arcade style hard ware

(https://www.arcadegamingaustralia.com.a ... &showall=1) these look pretty bad a$$.

But what I am trying to find is info or a pace to start as to how I am going to wire it up and getting the buttons to work.

Anyone got advise or some links?
===============================
IDDQD, IDKFA
Posts: 10
Joined: Tue Jul 17, 2012 4:51 am
Location: melbourne australia
by tsdadam » Thu Jul 19, 2012 3:26 pm
I'm going to be doing the same as this (or similar at least) once my second Pi turns up. I'm building a tabletop two-player set of controls to hook up to a tv.

I've built an arcade stick in the past with the proper parts and a Frankenstein's Monster of a pad hack with a cheap PS2 pad and converters for various consoles which worked well.

If you want a foolproof and easy way to hook up buttons to the USB port on board, head over to ultimarc.com and have a look at the various ipac options. Some people in the past have butchered keyboards for simple soldering, but using a keyboard matrix leads to ghosting when too many buttons (keys) are pressed at once. The ipac will let two players press pretty much every button at once with no ghosting. I'm far more likely to do that than attempt a GPIO way I think.

Grab yourself some spade connectors for the bottom of the buttons and sticks, a crimping tool, some wire and a screwdriver to attach the wires to the ipac and you can do the whole lot pretty much without even touching a soldering iron (unless you want a nice looking back panel like the one above :) ).
Posts: 4
Joined: Mon May 21, 2012 12:37 pm
by transcendtient » Mon Sep 03, 2012 1:40 am
I recently bought a cabinet I wanted to modify to be able to switch from the original board to the RPi so it's like a sleeper cabinet. Does anyone have any information on hacking into the original monitor or has anyone done this?
I've looked around a little (I'll admit not much kinda excited right now) but haven't found anything but full conversions.
Posts: 12
Joined: Thu Aug 02, 2012 5:09 am
by SSilver2k2 » Tue Sep 04, 2012 3:12 am
Does it have the original RGB/CGA 15khz arcade monitor in it? There are a couple ways. The problem is that the Pi doesn't have VGA output. There are TONS of VGA to RGB CGA converters out there. RCA and HDMI to RGB CGA are rare and almost impossible to find.

It may be expensive, but an HDMI to VGA active adapter -> VGAto RGB CGA monitor converter maybe the best option.
My blog of various geeky things - http://blog.sheasilverman.com
DeskCade.com - Mini Raspberry Pi Arcade Cabinet
PiMAME - http://pimame.org
Posts: 177
Joined: Wed Jun 06, 2012 1:51 am
Location: United States
by canibalimao » Tue Nov 13, 2012 9:33 pm
tsdadam wrote:I'm going to be doing the same as this (or similar at least) once my second Pi turns up. I'm building a tabletop two-player set of controls to hook up to a tv.

I've built an arcade stick in the past with the proper parts and a Frankenstein's Monster of a pad hack with a cheap PS2 pad and converters for various consoles which worked well.

If you want a foolproof and easy way to hook up buttons to the USB port on board, head over to ultimarc.com and have a look at the various ipac options. Some people in the past have butchered keyboards for simple soldering, but using a keyboard matrix leads to ghosting when too many buttons (keys) are pressed at once. The ipac will let two players press pretty much every button at once with no ghosting. I'm far more likely to do that than attempt a GPIO way I think.

Grab yourself some spade connectors for the bottom of the buttons and sticks, a crimping tool, some wire and a screwdriver to attach the wires to the ipac and you can do the whole lot pretty much without even touching a soldering iron (unless you want a nice looking back panel like the one above :) ).


And can't you connect the ipac solution via USB like a normal keyboard? (it emulates the keys just like a normal keyboard)
That's great for beginners like me. Don't require much knowledge. You just need the schematics of the mapping keys to conect the buttons on the right hole.

I'm thinking in make a controller for my MAME emulator, but I need more info about the compatibility with the RPi and his USB ports...
Posts: 535
Joined: Tue Aug 07, 2012 8:48 pm
Location: Portugal
by blc » Wed Nov 14, 2012 5:22 pm
I say go for it, but replace the coin slot with a coin button. Depending on the country you live in, having ROMs for games that you own is a legal grey area to start with; charging money for them, even if it's just you, is even worse.

If you really want the more authentic experience of a "coin" slot, I'd go for tokens instead of coins: http://retroblast.arcadecontrols.com/ar ... nvert.html
Posts: 167
Joined: Mon Sep 05, 2011 9:28 am
by canibalimao » Wed Nov 14, 2012 6:29 pm
I'm not looking for a coin slot. It makes the "controller" a bit expensive. Just the operator for the coins costs almost the same as all the rest of the components (buttons, joystick and the encoder).

By the way, do you recommend me to buy a simple keyboard encoder (I can get a keyboard for about 10€, then I just need to take off the encoder) or buy a dedicated encoder for mame controllers like the IPac?
Posts: 535
Joined: Tue Aug 07, 2012 8:48 pm
Location: Portugal
by blc » Wed Nov 14, 2012 7:23 pm
canibalimao wrote:I'm not looking for a coin slot. It makes the "controller" a bit expensive. Just the operator for the coins costs almost the same as all the rest of the components (buttons, joystick and the encoder).


My comment was more directed at the OP, or anyone else looking to use a coin mech.

canibalimao wrote:By the way, do you recommend me to buy a simple keyboard encoder (I can get a keyboard for about 10€, then I just need to take off the encoder) or buy a dedicated encoder for mame controllers like the IPac?


The simplest option with the Pi is just to wire the controls directly to the GPIO pins :) (My project may not use the Pi, so I'm keeping my options open).

If you're looking at a more "traditional" approach to building an arcade controller/cabinet, or not using the Pi, it really depends on how much work you want to do and how much you want to pay. Hacking apart a keyboard is by far the cheapest, but you will suffer issues with ghosting (keys being pressed that you didn't press) and there's usually a limit on the number of simultaneous keys that can be pressed at the same time - I'm not sure of the exact number but I'm pretty sure that it's no higher than 4. You could theoretically be "pressing" up to 6 keys at once: three or four buttons and moving the stick in a diagonal direction. You can double that if you're building a 2-player panel.

By far the simplest, if not always the cheapest, "traditional" solution is to use a dedicated device such as the I-Pac. They're plug and play, and you don't get any issues with ghosting or matrix switches. The I-Pac itself is quite expensive, but I did find an alternate product on ebay recently: http://cgi.ebay.co.uk/ws/eBayISAPI.dll? ... AQ:GB:1123. The company selling it is actually Gremlin Solutions, just trading under a different name on eBay; I found Gremlin Solutions years ago, and they seem to be one of the best UK suppliers for arcade parts. I've asked them whether there's any limitation on the number of simultaneous button presses that it supports, but at the moment that's looking like my primary choice for a control interface. It won't quite be plug and play with MAME - the I-Pac is a keyboard encoder and is set up by default to use the MAME button mappings, whereas this device reports as a USB game controller - but some quick config will fix that easily enough. The description does say that it works with Linux, too.

EDIT: And by the way Nocturnal, you bar-top build is looking pretty damn sweet so far! :)
Posts: 167
Joined: Mon Sep 05, 2011 9:28 am
by canibalimao » Wed Nov 14, 2012 8:06 pm
blc wrote:
canibalimao wrote:I'm not looking for a coin slot. It makes the "controller" a bit expensive. Just the operator for the coins costs almost the same as all the rest of the components (buttons, joystick and the encoder).


My comment was more directed at the OP, or anyone else looking to use a coin mech.


Oh sorry :oops: I think it was for me...

blc wrote:
canibalimao wrote:By the way, do you recommend me to buy a simple keyboard encoder (I can get a keyboard for about 10€, then I just need to take off the encoder) or buy a dedicated encoder for mame controllers like the IPac?


The simplest option with the Pi is just to wire the controls directly to the GPIO pins :) (My project may not use the Pi, so I'm keeping my options open).

If you're looking at a more "traditional" approach to building an arcade controller/cabinet, or not using the Pi, it really depends on how much work you want to do and how much you want to pay. Hacking apart a keyboard is by far the cheapest, but you will suffer issues with ghosting (keys being pressed that you didn't press) and there's usually a limit on the number of simultaneous keys that can be pressed at the same time - I'm not sure of the exact number but I'm pretty sure that it's no higher than 4. You could theoretically be "pressing" up to 6 keys at once: three or four buttons and moving the stick in a diagonal direction. You can double that if you're building a 2-player panel.

By far the simplest, if not always the cheapest, "traditional" solution is to use a dedicated device such as the I-Pac. They're plug and play, and you don't get any issues with ghosting or matrix switches. The I-Pac itself is quite expensive, but I did find an alternate product on ebay recently: http://cgi.ebay.co.uk/ws/eBayISAPI.dll? ... AQ:GB:1123. The company selling it is actually Gremlin Solutions, just trading under a different name on eBay; I found Gremlin Solutions years ago, and they seem to be one of the best UK suppliers for arcade parts. I've asked them whether there's any limitation on the number of simultaneous button presses that it supports, but at the moment that's looking like my primary choice for a control interface. It won't quite be plug and play with MAME - the I-Pac is a keyboard encoder and is set up by default to use the MAME button mappings, whereas this device reports as a USB game controller - but some quick config will fix that easily enough. The description does say that it works with Linux, too.

EDIT: And by the way Nocturnal, you bar-top build is looking pretty damn sweet so far! :)


I had heard that the ghosting is a real problem with the keyboards encoders, but when I posted that before I forgot to mention that...

With that alternative that you gave I have the "problem" mapping the keys. I want my pi to work with the keyboard or the MAME controller without any configuration more, so the USB iPac solution seems the best to me.
What I really want is plug the Controller when I want to play MAME, and plug the keyboard when I want to use OpenELEC or the Raspbian.

I'll ask to Ultimark if they have any bundle with some buttons, a joystick and an ecoder cheaper than the separate parts.

Thank you very much for the help :D
Posts: 535
Joined: Tue Aug 07, 2012 8:48 pm
Location: Portugal