Projects - Arcade
From atomicsatchel
Contents |
Introduction
In early 2000 myself and a co-worker decided to build arcade cabinets. The project took about 4 months from the start of planning to having the finished cabinet. After I completed the cabinet, I created a web site detailing the process I followed. This information I placed on sithspawn.net and it has resided there for years.
I decided to do a bit of consolidation and this is the result. The entire contents of Sith's Arcade and sithspawn.net can now be found in this Wiki. It's been years since I worked on the arcade, but I want to keep the info around. Occasionally I get an email on the project, and the info, (while old) may still be helpful to someone out there. Aside from this introduction, everything included here is directly imported from Sith's Arcade and has not been changed except for formatting.
Cabinet
Finding a Cabinet
When I first got the idea to build a MAME cabinet I had NO clue where to start looking for a box. I did however know that I wanted to FIND a box as opposed to build one. I wanted a REAL arcade box, one that had some history behind it. I felt that if I was to get and keep that arcade feel, building one just wouldn't cut it.
I started my search with the local phone book. I found a few places in my area that sold and/or fixed arcade units. I visited place number one on the first day and found that they had no cabinets left, and that they "just trashed like 15 of them the other day." I was pissed but began to realize if places are THROWING away cabinets, then there is a good chance I could get one for free.
My hunch was right when I visited the next place. I kindly asked (politeness is the key to getting free shit) if they had any used and/or junk cabinets in the back. After talking to a very nice guy for some time he told me that they didn't have allot, but anything I found in the back, I could HAVE. After hours I took my truck in the back and found a few cabinets. Most of them were too jacked to use, but I did find one that would suit my needs. It was an old "Bad Dudes" cabinet. It had nothing in it....not even a control box, and had some slight water damage, but other than that it was in good shape. After looking around for anything else I could use, I loaded up the case and left.
Cleaning the damn thing
I took the cabinet over to a friends house and gave it a good cleaning. This I had to do since it had leaves and such in it from sitting outside. Some advice I can give on cleaning is to first vacuum it out, then go over it with a wet or soapy cloth. Remember this is WOOD we are dealing with, so promptly dry up after your done. Also inspect the unit for bugs and such. It would suck to bring a termite infested box home with you.
Further Inspection
Now that you have the thing clean you can check it out more closely. I recommend going over the case and getting a general Idea if it will really work. You don't want to start a project in a case that is too beat up or won't work for what you are going to do. Here are some pictures of my case after I cleaned it up. Check out some of the things I found after taking a closer look.
Building your own cabinet
I decided not to build a cabinet, but many others have. Check out some of these sites for building your own cabinet.
http://plaza.powersurfr.com/kevin/arcade
http://www.wizard.com/~stranger
Interface and Wiring
I've been looking at allot of cabinet pages lately and I have noticed basically 3 different solutions to hooking up an interface. By interface, I mean the stuff that lets the computer talk to the arcade controls (joysticks, buttons, etc). Those 3 solutions are a gamepad interface, keyboard interface, or a keyboard encoder. Keep in mind that these are probably not the ONLY way to hook things up, but these are the main 3 that I have seen.
Gamepad Interface
I have noticed a few pages like this. Basically you take apart a gamepad or joystick and wire the controls right to the circuit board. The main problem with this, is limitation of how many buttons you can have and support. Most gamepads have either 4 buttons (older ones) or 8-10 buttons. The problems are, if you want two players with 6 buttons each, you will have to get 2 USB joysticks and your computer must have USB support. Also keep in mind that you will need buttons for escape, one and two player start, etc. Another thing is, if you plan on running DOS MAME, DOS may not have support for all the buttons on your gamepad...forcing you to run DOS MAME under Windows or run MAME32. If you want to do your project this way, I would suggest shopping around and finding a controller that has allot of buttons and has some sort of programmable features.
Here's a link to Laserrot's Arcade Cabinet Homepage he uses the gamepad control method.
Keyboard Interface
The majority of the MAME projects out there use this method. I could tell you how this kind of interface works but http://www.arcadecontrols.com has a very good explanation and Saint has given me permission to scam it from his page - THANKS!
Hacking a keyboard - The most hard core folks seem to be going with the keyboard port for interfacing their controls to. This allows the highest number of inputs (more than 100 controls possible). To maintain use of your computer with a keyboard hack, use a keyboard splitter of some kind. Wiring your controls to a keyboard is a bit complex. It is impractical to wire directly to the individual keyboard keys for a variety of reasons. The way most keyboards seem to work is via a matrix -- There's a set of wiring going to one side of the matrix (call it the X axis) and another to the other side (Y axis). If you had 10 wires on the X axis, and 10 on the Y, you have a 10 x 10 matrix, with 100 possible key combinations (just about every keyboard has a unique matrix - to use this technique, you'll have to experiment with your keyboard). For instance, in this example, keys "Q", "A", and "Z" all hook up to the X1 wire. The "Q" key also hooks up to the Y1 wire. "A" hooks up to Y2, and "Z" hooks up to Y3. When you push the "Q" button, it completes a circuit from X1 to Y1. The keyboard controller chip recognizes that as the "Q" button and sends a Q to the computer. Now, using this, instead of wiring our button directly to the "Q" on the keyboard, we wire our "Q" arcade button to X1 and Y1. To get a "A", we wire up our "A" button to X1 and Y2. This is a bit confusing - the best bet is to open up a keyboard and inspect how it works.
As you can see this is more of a pain, but still gets the job done, and is the cheapest of the others. I, however, am not using this method because of ghosting and overflow concerns. Using the above method MAY lead you to a ghosting problem, that's when you are pressing two keys a third key "presses itself". This happens because of how current is passed through the grid on the keyboard. Another problem is an overflow. This happens when you press two many keys at once in too short of a time. Like if you keep pressing DEL to get into the BIOS of a PC, you may hear the computer beep when you have pressed it too many times. That's what happens under MAME, but instead it beeps and freezes your screen for a short time. Even if you don't get that while playing MAME with a keyboard, remember that if you have a two player console BOTH of you pounding away at the buttons may lock you up.
Keyboard Encoder
This is perhaps the best way to go for an interface. Basically a keyboard encoder is a keyboard without the keys. You simply wire the buttons right to the card. Then using the software provided, you program the encoder with what keys to press with what buttons. Using this method you eliminate the ghosting and other problems, and have more than enough buttons (72). The down side to this, is the price. Currently the KE72 from Hagstrom Electronics goes for about $119.95 + shipping, WITHOUT support for a trackball. This is a little pricey, but for the features you get and the flexibility of the software it is more than worth it. This is the solution that I will use for my MAME project. Check out those links for more information and/or other products from Hagstrom.
Controls
Welcome to the controls section. This is perhaps the hardest/most fun part of the project. Since I am finished with my controls I have allot of info and pics. You will find that I have divided this section up into the steps that I took to make my control panel (cpl).
Planning
Getting your thoughts together on making the control panel (cpl) is probably the most important part of the project. Some of the things that you need to think about are:
- How many players do I want to accommodate?
- How many buttons do I want per player?
- Do I want a trackball, spinner, or any other special controls?
- What other buttons do I want on the main part of the cpl?
- How do I want everything spaced out?
Once you figure this out it's time to work up a layout. A fiend of mine c0nsumer worked ours out (we used the same design) in Pagemaker. The template is available HERE. The general shape of the cpl was inspired by LuSiD's cpl.
Another consideration is if you want the cpl to be removable. I found that this is a VERY good idea, because the cabinet will not fit through a doorway with my cpl attached. Also keeping the cpl removable will aid in being able to test and use the cpl BEFORE the cabinet is done.
After you have all the details worked out, and a full size template ready, its time to build the box.
Ordering the Stuff
Basically for all the controls I recommend working with HAPP. They are like the Sysco of the food service business. Just like a used car salesman would say, "We have everything." But the thing is...HAPP really DOES have everything. Perhaps the only down side to ordering from them is the minimum order of $25.00, and the weird way they have the salesmen set up by state. Shipping is a little wack too.
Below you will find a table of everything I got from them. It may be incomplete, as I'm still not done with my project. Listed will be the prices (may be off a bit) and where appropriate, a picture and any other info I deem helpful.
| Part Number | Description | Price | Picture |
|---|---|---|---|
| 56-0100-12 | 3" Diameter Trackball with Harness (Blue) | $80.00 | Yes |
| 56-5530-16 | Plate for 3" trackball, painted black wrinkle | $6.25 | Yes |
| 43-0149-00 | Carriage bolt 10-24 x 2" black | $0.20 | No |
| 90-1204-00 | Nut 10-24 hex w/SEMS | $0.15 | No |
| 95-0931-00 | Trackwheel Control | $110.00 | No |
| 50-6084-00 | Super Joystick 4-way, 8-way Microswitch | $11.95 | Yes |
| 58-9111-L1PLY | 1 Player, White | $1.55 | Yes |
| 58-9111-L2PLY | 2 Player, White | $1.55 | Yes |
| 58-9166-L | Pushbutton with Horizontal Microswitch (Black) | $1.45 | Yes |
| 95-4009-00 | Blank I.D. Tag | $0.20 | Yes |
| 40-0038-00 | Over/Under Door with Cashbox and Full Metal Enclosure | $75.00 | No |
| 49-1002-02 | Leg Leveler w/ nut | $0.75 | Yes |
| 49-1500-00 | Leg Leveler Mounting Plate | $2.50 | Yes |
Now for some things I feel compelled to mention. First off...DON'T just print this list and call HAPP with the part numbers. Go ahead and call HAPP, and tell them to send you a catalog. I have found some small discrepancies between the catalog and the web site. Like wrong PART NUMBERS and such. Also the catalog has a MUCH more detailed description and measurements of the parts.
Another thing is, I wouldn't recommend telling them you are "Building an arcade machine", or "Building a MAME box". I have heard stories of the folks at HAPP laughing at people who tell them this. You may think that's rude, but think about it this way. HAPP is THE company that most arcade repair/sales shops order from...these places order thousands of dollars in parts at a time. If you (Joe Shmoe) call and tell them that you are building an arcade in your house, they may laugh at you. When they asked, I told them I was refurbishing some used arcade cabinets.
Also, HAPP is NOT arcade technical support. Apparently people call all the time and ask stuff like, "Can you walk me though installing and wiring this trackball?" or "Can you tell me how to wire an arcade control panel?" Once again...HAPP sells to arcade repair shops and such. They assume when you call you know what the hell your doing, furthermore the catalog doesn't give any installation instructions either. There are plenty of sites on the net that can help you (including this one). If you really need help and can't figure something out....just drop me a line. If I know the answer I will get back, if I don't, I will try to point you in the right direction.
Building the Box
Building the box was the hardest part for me because I suck at using power tools and shit. On top of the fact that I suck, is that I just don't have any power tools either. Lucky for me c0nsumer's dad is a NINJA when it comes to wood working and such. With his help I was able to make a phat cpl that looks professional. Special thanks go out to him for all his help, and letting me use his tools, garage, etc.
I made my cpl as a complete functional unit. Meaning it can be removed from the arcade cabinet and still hook up to any PC and work. Check out the pics below.
Here is the last pic. Here I have applied WilsonArt laminate to the top. A closer pic of the laminate is available here, so you can get a closer look at the color and texture. There is also a black sample by it for contrast. You can't see from this pic but I also cut a slot all around the edges of the cpl and applied black "T" molding. |
Hopefully the above gave you a good idea on how I did things. A few things you DON'T see above are the slots I cut in the side and back for buttons and connectors. Here is a pic of the button slot on the RIGHT side of the cpl. The 3 buttons are SERVICE, RESET, and CHEAT. The other pic is where the cpl connects to the stuff in the cabinet. Also keep in mind the cpl has a full bottom cover. The cover is just a 1/4 inch piece of plywood, lightweight, but does the job. All wood is painted flat black.
Installing the Controls
Once you have your box finished it's time to install the controls. By this I mean put the buttons, joysticks, and anything else that needs to go in there. In my case, and I'm sure many others, it is agreed that you will need a keyboard close by. Instead of making a drawer or putting a keyboard in the coin door I opted for an RF keyboard. With an RF keyboard it's of course wireless, but unlike IR keyboards you don't have to be in view of the receiver. So I installed the receiver right into the cpl. Check it out below.
Besides the controls and RF block I also decided to put the keyboard encoder right in there too. I don't think that I have seen anyone else do this. All I did was drill some small holes and screw in some motherboard standoff's. All you have to do is just screw the KE 72 right into place. Here is a pic below.
That's about it for this section. Most of the inside of the cpl is covered in the next section on wiring. One last thought though. When you order your stuff from HAPP make sure you BUY THE DAMN BUTTON WRENCH!!!!! Those buttons are a pain in the ASS if you don't have this cheap tool. I mean cheap, it's only like 2 bucks...buy it or kick yourself in the ass for not.
WIRE that b!*ch up!
Ahhhh here we are. The most tedious, shitty part of my whole project so far...and I DIDN'T EVEN DO IT! The truth is, I'm about as good at soldering as I am at wood working (I suck at both). So my friend c0nsumer came over and helped with the wiring. The first thing I wanted to do is make sure I DID NOT solder right to the KE 72. It cost me $119.00 and I wanted to make sure it was removable. So c0nsumer devised a way to do it. We took a project board and cut the connections so we had a trace for every pin for every button, here is a pic.
The small board you see above the KE 72 is the piece we made. There is an IDE connector in the middle and each of those wires corresponds to a pin on the IDE cable. IDE cable you say...so does that mean you limited yourself to 40 switches? YES it does. We felt that we didn't need any more than that. However if you think you will, you can always modify the IDE piece and add another cable. Using this method, the only thing that touches the KE 72 is the IDE cable and the screws that hold it in. The piece is kind of a go-between from the controls to the encoder.
Next we took a minute and just drew with pen on the wood a route where all the wires would run. It only takes a sec and makes it easy to keep the wires in order. What you want to do now is get some quick disconnects like these and start the wiring. Check out this pic of what mine looks like.
You can see in the pic what I mean about running the wire. It gives it a very neat look and keeps things in order. In the pic the red wires go to switches and the white is ground. You can see where I drew the routing lines on the wood. Below are some closer pics of each side.
In the pic on the left you see a small white block in the corner...that's for the common grounds. In the pic on the right you see two cables coming out of the KE 72. The purple goes to the RF block for the keyboard and the other goes to a connector on the back. From there you plug it into the cabinet. Here is a pic of that connector. Using that connect is how I can hook this up to any PC. Also if you remember from the other section I have put a block of 3 buttons on the side of the cpl...here is a shot of the back of that connector, here is a shot of the type of buttons I used, sucked them up from Radio Shack.
As we ran the wire we just twist tied them in and when we were done we hit them up with a zip tie. After the wiring was done we soldered the wires to the special connector we made, and that was it. Below is another tasty pic that shows the 3 side buttons.
That's all for the wiring part. If you don't understand anything or need some advice shoot me an e-mail or hit up c0nsumer.
TEST the finished product
After you get the cpl done you need to test it. This means programming the KE 72 (if you have one). I won't go into detail about how to work/program a KE 72 because not everyone has one. All you need to do is make sure that the keys you want show up when you hit that button. If they don't, then you either need to re-solder or reprogram to correct the error. In order to see what keys are being pressed you can use notepad or whatever. However, to see if a key is being hit like LEFT SHIT and stuff like that you will need THIS program called Keyhook. It's a great little program that shows what keys you are hitting. If you are using ARCADEOS and need to get scancodes under DOS then use THIS.
Now for a word on other emulators. Keep in mind that if you use other emulators like Nesticle or XSNES they may or may not be able to use the same mappings that MAME uses. So when you are programing or soldering make sure that the buttons you are mapping can be used with ALL the emulators that you will want. It's not such a big deal with the KE 72 cuz you just reprogram, but if you use a keyboard hack you are out of luck. I know that I ran into some problems with some of the keys that MAME uses by default. Keys like left shift are reserved under Windows.
Video
After sizing up my case, I knew that I could not fit much more than a 15" monitor inside. My cabinet used to be for Bad Dudes, so it had a vertical tube. That meant that the cabinet was narrow and high, rather than wide and deep. I decided to go with a 15" View Mate monitor....Why View Mate you ask? Because that's what I had extra, and it's better than a 14" :)
Below are a few pics of the monitor...keep in mind that I had to pull off the base to fit it in the cabinet.
Sound
For the sound I used an AIWA NSX-2700 stack system. I hacked apart the speakers and mounted them as you would any arcade speaker. I will ran the output from the computer right into the stereo and then out to the speakers. This way I can get the power and range of sound that I want. Below are some pics of the speakers and the system.
The System
Specs on the computer I used are as follows:
- K6-2 300
- 96MB SDRAM (66)
- Spacewalker HOT 566 ATX Motherboard
- Soundblaster AWE 32
- Maxtor 6GB UDMA Hard Drive
- 24x CDROM
- Floppy
- 3Com 10base NIC
- Diamond Viper V550 Video Card.
- 250W Power Supply
Keep in mind if you have the extra loot get a faster system for your cab. This system runs MOST everything quite well. However, games like NARC and Mortal Kombat run shitty on this hardware. When I upgrade my system I will put a 450 in there with about 128MB of RAM...that should be all I need.
MEWL
(Multiple Emulator and Windows Launcher)
If you reached this page I'm sure you're wondering what the hell a MEWL is. MEWL is basically an arcade shell replacement for Windows. It serves as a reasonably secure front end for your emulators and other programs. For my MAME box I run a front end called ArcadeOS for MAME. This is a DOS front end and requires DOS sound drivers and such loaded. Therefore I dual boot my system between ArcadeOS and MEWL. For the Windows side of things I run other emulators/programs such as Bleem!, XSNES, Nesticle, Winamp and so on. This is where MEWL comes in...
What I wanted to achieve is a simple front end for all emulators/programs that would also serve as a lockdown for Windows. Basically with MEWL you set up any of the emulators you want and you can leave the box alone. Just like Ron Popiel says, "You set it and forget it". All that is accessible by the "normal" player is the main window with the various emulator buttons and Internet browser.
What about using Explorer, DOS, Etc.? Well, MEWL comes with a built-in ADMIN screen. From here you can open a DOS window, use the control panel, run Explorer, Etc. The admin screen is password-protectable which is encrypted and saved in the MEWL.INI file.
Keep in mind that MEWL started out as a project that only I was going to use. After suggestions from friends I decided to release it to the public as FREEWARE. Check above for the latest version, and remember to read the README before you do anything.
Finishing
Welcome to the finishing section. This is where it all comes together. Below you will see allot of pics and notes by each. I will be adding/changing pics as I get better quality ones.
Links
Hardware
Controls
- Happ Controls (They have EVERYTHING)
- WICO (Not as good as Happ)
Interfaces and Wiring
- Hagstrom Electronics (DON'T make your project without the KE72)
- Digi-Key (All the phat wiring you need)
RAM
- Crucial.com I buy all my RAM from them and you should too. I don't advertise or have banners on this site with the exception of Crucial. They have the best memory you can get, hands down, and cover it with a lifetime warranty.
Software
MAME
- MAME.NET (Self Explanatory)
- MAME32 (Same as MAME but for native windows -Slower-)
- X-MAME (MAME ported on over to Linux, FreeBSD, and the like. Check out the README for supported platforms)
Front-Ends
- Arcade@Home (I think the best WINDOWS front-end)
- ArcadeOS (Very nice DOS front-end)
Other
- BlueJustice Arcade Hacks (Lot of PAC HACKS)
Information
Below are any and all websites that helped me get my project done. Please take note of the first link - www.arcadecontrols.com. This is the best place to get MAD info and on top of that there is a message board with folks that are more than willing to answer your questions. Thanks to saint for this great site.
- Build your own arcade controls
- ebay - Grab side art, PCB's, whole machines, and tons of other stuff
- Killer list of video games












