MAME Cabinet Project

2008/11/27

These pages document my attempt to build a MAME cabinet. Thanks go to Jason Todd for his encouragement.

I began by getting a copy of John St. Clair's excellent book, Project Arcade: Build Your Own Arcade Machine from Amazon. Having read through sections of the book in a haphazard way and developed a false sense of security, I now feel confident enough to begin the project.

Today I started putting together a budget/parts list spreadsheet. Since that is currently a work in progress, I'll describe my initial plan a little bit. Given that I live in an apartment without garage or workshop access, and knowing my own (lack of) woodworking skills, I've decided to go the route of buying and converting an old cabinet instead of actually building a full cabinet from scratch. I am going to avoid doing any dedicated/original cabinet conversions, though, since I wouldn't want to ruin any classic machines.

Luckily for me, living in the Bay Area there are plenty of people who post cabinets for sale on craiglist. I'm currently keeping an eye on the listings and occasionally contacting people about items they are selling. An interesting observation I have made is that although many people seem to want more than they could normally expect for their old machine, very few are asking for less. I did contact one guy who had an original Black Tiger machine, and suggested he try to sell it in an upcoming auction.

2008/11/28

I spent some time updating my parts list spreadsheet/budget. I think I have about 90% of the parts listed and the budget has definitely grown -- close to $950 by this point. I haven't included items such as shipping costs, taxes, or other miscellaneous parts like a keyboard encoder, etc. I did overestimate on the cabinet, though, just in case I wind up having to buy an old machine w/monitor. I heard back from a guy in Sacramento who has a whole bunch of machines and cabinets he is getting rid of, so I might head out there Monday to check them out.

I just realized I have not budgeted for tools yet. I think I might fudge this and not include them in the spreadsheet, since I need things like power drills anyway.

I just found this hilarious website making fun of poorly made MAME cabinets:

http://www.wickedretarded.com/~crapmame/

Wow, that's pretty harsh! I guess I will have to be extra careful to not wind up on this guy's website :-).

2008/12/02

Last night Sachiko and I drove out to Fair Oaks to check out cabinets that the guy on craiglist was selling. Turns out he was very nice and had a lot of different items he was trying to sell. Had an interesting conversation with him about his "hobby" (it also seems to be his business), and he mentioned he was definitely going to the auction in Sacramento that is coming up.

I decided on a cabinet and he helped remove the monitor and PCB's from it. The cabinet was a conversion from a Roadblasters machine to a Neo-Geo, so I got the Neo-Geo control panel and (poorly done) marquee placard. However, the cabinet is very solid. There was a Bombjack conversion cabinet he also had that had a nice retro feel to it, but some inspection showed that it was a little flimsy. Also, the monitor on that one was mounted vertically, and whoever installed the mounting frame for it did a surprisingly good job (i.e. it would have been a pain to replace it). The cabinet I got already has a mounting frame for a 19" monitor (well, I'm pretty sure anyway).

Amazingly, the cabinet fit in the car although it was quite a struggle loading it. Unloading it when we got home was actually fairly easy, since I put some rubber mats under it when loading to prevent it sliding. We just pulled hard on the mats and it slid right out. This cabinet is *heavy* -- I'd guess maybe 200 pounds? We placed it in a corner of the garage for the moment. My plan is to get a dolly at Home Depot to help lift it up the front steps, and get my college roommate to help with this when he visits (he doesn't know about this yet :-)). Also, I'm going to get a thick straw mat to place under it when it is in the house so that we can move it around. Last night I also started thinking it may be possible to dismantle and re-assemble it, which might make moving it easier as well as allow for cleaning of interior. I need to take a look at the bolts on the cabinet to see how easy it would be to take apart.

2008/12/03

I spent the better part of the morning cleaning out the interior of the cabinet. First, I removed the back and front panels. I had already removed the coin door yesterday. The control panel was already removed. I also removed the glass screen cover and the speaker grill.

Here are some photos of the cabinet so far.

First, a view of the back:

Then, a shot of the side:

Last, a picture of the front (sort of):

I spent quite a while cleaning out the interior. The smell is amazing! I think some small vermin might have taken up residence and possibly peed themselves to death inside. Also, note the picture of the control panel area. Before I cleaned that, it was covered with a black, sticky substance. My best guess is someone spilled their Coca-Cola on the control panel in an excited moment.

I went to the hardware store today to check out options for mats or other things to put the cabinet on so as not to damage the floor. I went back later in the day to check out primers, after a tip from the guy I bought the cabinet from. Amazingly, the guy at the hardware store knew exactly what I was doing and asked me all sorts of questions about my plans. Seems to be a popular project. I picked up a can of B-I-N, to seal in the odor in the stained areas of the interior of the cabinet.

2008/12/04

I spent an hour this morning applying the primer to the worst areas of the interior of the cabinet. I think it's going to need two coats...

2008/12/05

Second coat of primer went on this morning for the problem areas, and I did the rest of the inside as well. The cabinet is definitely starting to smell better. I think when I close it up again it should be fine. One of my old college roommates is coming over this weekend, and I am thinking to get his help bringing the cabinet up the stairs, which is why I'm trying to do all the messy work up front. I think there will definitely be some touch-up necessary on the sides and back, but hopefully I can do that very carefully in the apartment (famous last words...).

2008/12/07

Thanks to Rick for helping move the cabinet up from the garage to the first floor. That thing is really heavy! The "Magic Sliders" I bought to put under the cabinet were a huge help once we got it upstairs. These are round coaster-like feet with a rubber backing on one side, and ceramic on the other (to prevent scratching wood floors).

The current plan is to research monitors further while planning out the other components. The monitor needs to be 19", which is looking like a rarer and rarer item these days. Having seen some bad reviews of W-G products, I have changed my mind about getting one of their monitors. Also, the fact that they just took the monitor I was thinking of getting out of production was a deciding factor :-). Am currently in email discussions with Billabs, and will look into Neotek as well. I can easily put together other parts of the cabinet while the monitor is pending, since I can test just about everything while using my computer monitor.

2008/12/10

Spent today taking apart the control panel. Here you can see photos of it in its original state:

I managed to get most of the bolts off with my handy ACE Hardware-brand mini ratcheting wrench kit. I guess John Madden was right -- ACE is mostly definitely the place (for some things). However, the original installer of the cabinet, in his infinite wisdom, had decided to use some carriage bolts that were too long to be removed with the socket bit I had. So, the adjustable wrench was used to remove those nuts.

Some interesting tidbits I noticed: the washer at the base of one joystick was gone, and one microswitch had a wire manually threaded through a tiny hole punched in the metal tab. The sheer attention to detail while avoiding using the right part is admirable.

One major realization I made is that it is going to be more difficult (?) to deal with this control panel since it is metal. The plexiglas top was mounted over the control plate, which is itself mounted on the control panel. As a result, when it was bolted down it naturally cracked in places due to the slightly raised edge that the control plate presented.

I think I can add button holes to the control plate fairly easily. Cutting the panel to accommodate three buttons is probably do-able as well. Lastly, I think I should be able to cannibalize two carriage bolt holes to make the player 1/2 start buttons. The real question is: should I even continue trying to use this control panel or build a totally new one (preferably wood)? If I use wood-grain contact paper on the plate and panel, I'm not sure it will wrap around the sharp edges smoothly. I also am not a big fan of the previous plexiglas mounting. Maybe building a new panel from scratch is the best idea, but then I have issues with tools. This clearly bears some thought.

2009/01/29

It's been a while since I worked on the cabinet, mostly due to the holidays, a family reunion, and starting a new job. However, things have stabilized enough that I think I can pick up again where I left off.

Today I drilled out the button holes for player one on the control panel. First I measured the original three buttons to determine the spacing. They are standard 1 1/8" holes, spaced 1 1/2" apart. I then drew up a diagram in xfig with two rows of three buttons each, spaced according to those dimensions. I also put cross-hairs in each button. I printed out the diagram and taped it to the control panel, aligning the top row holes with the same row in my diagram. Here is a picture of the prepared control panel:

I used a hammer and a center punch to put a divot in the center of the cross-hairs for each button in the lower row. This was my first time drilling such a large hole (through metal, nonetheless), so I was careful drilling the first hole. Here is a photo of the drill and hole saw bit:

The first hole was a little difficult due to lack of experience, and also the fact that the battery had drained a bit on my drill. In fact the drill locked up when the hole saw finally hit the metal. After replacing with a charged battery and switching to a two-handed grip I was able to cut the first hole. Not sure what my neighbors thought of the noise at 9:30am on a Saturday, but hey, my neighborhood is full of contractors drilling and sawing stuff at all hours of the day anyway. The second hole went a little faster, and by the time I got to the third hole I was able to drill it out very smoothly and quickly. Here are the finished results:

I cleaned up the edges with a round file and tested the holes by trying to put a button in each one and it fit perfectly.

2009/03/14

I finally got off my duff and ordered most of the parts I had spec'ed out for the cabinet. The parts I ordered were:

I also drilled out the remaining button holes in the control panel. I started getting the items in bits and pieces. The GPC3 PC I should mention is pretty interesting -- very cheap 2GHz 1GB RAM full PC for $200 on Newegg. Sadly, the unit was DOA (you get what you pay for?). Since it said opening the case voided the warranty, I called tech support and got an RMA and sent it back. Hopefully it comes back in better condition (there was also a small dent on the case, which I can live with). Otherwise everything seems okay. Still waiting on the controls, and need to make a plan for the wiring scheme.

2009/03/22

(Note: I am actually updating this log on 2009/10/31 -- I got so involved in finishing the project that I neglected my duties and didn't update the site at all!)

All the parts started arriving, and I began assembling them. The biggest task was installing the monitor. As you can see below, it fit perfectly onto the existing mounting frame:

A few fun facts about these monitors:

Unfortunately, the frame sticks out the back of the cabinet a bit. However, this is okay since it looks like I can just extend the depth of the back of the cabinet by putting a strip of wood between the back and the cabinet.

One serious mistake I made was in cutting of the monitor bezel. I made a measurement mistake and cut TOO MUCH -- resulting in me having to order and wait for *another* bezel. I was much more paranoid about it this time, and luckily got it right. Putting the bezel on and covering it with the original cabinet glass made the appearance much more professional looking.

You can also see that I applied my wood-grained contact paper to the edges of where the control panel will go. Speaking of the control panel, I learned something interesting when I began removing the vinyl decal from the plate it was mounted on:

This cabinet looks like it was also used for the Indiana Jones and the Temple of Doom game! I removed the decal and another layer of plastic underneath by using a hair dryer and a putty knife. It all came off pretty easily. Then, copious amounts of Goo Gone were used to remove the old adhesive until the metal was clean.

My plan was to make the control panel have a faux wood-grain look, like something out of someone's den in the 70's. What I did was buy some wood-grained contact paper, and very carefully wrap it around both the control panel and its mounting plate. Before covering the control panel itself, I carefully glued the original vinyl overlay onto it using Goop. The reason for doing this is that if I just left the plate as-is, there would be extra holes that the contact paper would cover -- and it would be easy to puncture them and ruin the look. After gluing the vinyl cover on, I just used my hole saw to drill out the extra holes I had added, and this left the old, unused holes covered. All around, this was much easier then trying to get a piece of Lexan cut to cover the control panel (which would have made it too thick, anyway).

2009/03/29

I began work on setting up the controls. First, I made a fixture for the I-Pac controller card:

The idea here was to mount it on a piece of wood, and then attach velcro backing to the wood (stapled on). The other side goes in the cabinet. This lets me change where I "mount" the controller card in the cabinet without major work.

I also purchased some flat black enamel paint, and painted over the metal parts of the front of the cabinet, as well as patching up any spots on the sides and front.

2009/04/18

Began work on the controls and their wiring in earnest. The control layout I had decided on was pretty simple. It is the basic Street Fighter 2 layout: 8-way joystick, 2 rows of 3 buttons each per player. I also had a player 1 and 2 start button and a button per player to do coin insert (since the coin mechanism in my cabinet was totally broken).

As you can see in the picture, I used four CAT-5 ethernet cables to do the wiring. Following the suggestion in the book, I had decided to daisy-chain the grounds. Therefore, the wiring scheme (per player) would be: one cable for joystick up/down/left/right and start/coin, and one cable for the six buttons. Since CAT-5 cables have 8 color-coded wires in them, this left two wires for ground (or future expansion).

After struggling to use my pathetic crimping tool that I had from years ago, I bit the bullet and bought a real, ratcheting crimping tool. Ladies and gentlemen, this is the way to do it! Using my new tool it was fairly easy to crimp terminals onto all the wires in the space of half a day.

I labelled the CAT-5 cables to correspond to the logical groupings I had given them, and then wired up the I-Pac card according to the diagram I'd made assigning functions to wire colors. The I-Pac comes with a Windows utility to test/configure the card, so it was quite easy to track down any loose connections or bad terminals (there were two or three).

Obviously, I forgot to mention that I'd already installed the ArcadeVGA card in the PC and hooked it up to the monitor.

2009/05/02

Began reaching the final stages of construction/configuration. As you can see below, all the pieces are in place. Controls are installed and wired up/tested. Monitor hooked up to PC and working. OS installed and booting. I picked up a USB wireless adapter and set it up so I could remote desktop into the machine from my Mac. This is essential for doing any changes without taking the cabinet apart, and has proved very useful.

I ordered a set of car stereo speakers (Pioneer) to replace the old, busted speakers that came with the cabinet. I found a small, fairly cheap stereo amp online that nevertheless had some power to it. Replacing the speakers improved the look of the cabinet a fair bit, and the speakers are quite powerful! I had to turn the volume down a fair bit, otherwise the bass thump was overpowering. Here's a close-up of the controls:

I decided to go with MameWAH for the front end. MameWAH was a true pain in the posterior to set up, but once I got it working it has been great. The final issue I ran into was a bit of a surprise. I had wanted the cabinet to be able to wake from sleep when I moved one of the controls. It turns out that ACPI and USB do not play well together on the motherboard for the Everex PC. The first problem was that the USB ports did not have power enabled to them by default. I shorted the appropriate pin on the motherboard pin header for this and lo and behold, power! This had the unfortunate side-effect of making the I-Pac be permanently "on", but I thought I could live with this. In the PC's BIOS, it is possible to set the computer to be able to wake on keypress. I thought it would just work, since the I-Pac translates the controller movements into keypresses. It turned out that the BIOS would only accepted keypresses through the PS/2 interface.

In the end, here is how I solved this problem. I changed the USB port power setting back. I drilled an extra hole in the front of the cabinet and installed a button there. I rewired the PC's power switch to this button. I then wrote a wrapper script for MameWAH. The idea is that when you exit MameWAH, it issues the sleep command. Pressing the new power button (the arcade button on the front of the cabinet) wakes the computer back up, and the script re-starts MameWAH. If you want to actually shut the PC down, you just have to hit the button on the front while the computer is running. The same button will power the computer back on. So, this is a nice compromise -- we get the ability to restart from sleep (which is very fast, and lets us save power), and to power on/off manually.

The only other hiccup I ran into with the PC was that I inadvertently disabled auto-login on it, and then promptly forgot the Administrator password. It turns out that I had been paranoid enough to reset the Administrator password from its default value of blank (why on earth this is the case, I will never know -- oh, Windows...). It turns out there is a way to recover from this awful situation short of re-formatting and re-installing. There is a Linux install ISO which has software on it for just this situation. Upon booting, it will mount the NT volumes on your system and allow you to reset passwords, including the Administrator password, back to blank. Even better, the author had screen-by-screen instructions on his web site. This proved essential for me, since the text mode of my monitor resulted in text going off the screen. I had to follow his instructions "blind", but it worked perfectly. I was able to log in as Administrator and re-enable auto login for the primary user. If you think this is a huge physical security hole with Windows, you would be correct. Apparently the same situation exists for OS X as well, so I don't feel quite so bad.

This has been a fantastic project to work on, and something that my family and guests have enjoyed to no end. Asides from a few minor hiccups along the way, it all worked as planned. The cabinet is all sealed up and looks great. We play games on it a few days a week, and it never gets old.

What I'd like to do in the future is replace the marquee with an old game's marquee (might as well replace the light while I'm at it). The other thing that would be possible is to install other emulators than MAME. Not sure if this is overly ambitious or not :-).

Here is a final picture of the cabinet in its current spot in our house:


Last modified: Sat Oct 31 14:39:16 PDT 2009