Introduction: Mame Arcade With 30,000 Games
This. Is. Awesome...
MAME has been around for awhile. There are multiple variants for various operating systems. While the project is open source, you can definitely install it on a closed source platform like MS Windows or Apple's Darwin Unix. For something the scale of an arcade cabinet it generally wouldn't make sense to buy an apple computer, but Windows is still an option. There are also multiple products that you can buy to just install MAME on Windows and everything will run pretty smoothly. There are a few caveats to this approach that may leave you wanting another option.
First, the Windows OS isn't free. It is also pretty picky about what hardware you can run a particular version on. For example Windows 8 now requires special UEFI hardware (a little bit of a ripoff of Apple's traditional Open Firmware system) because it takes so long to start that Microsoft actually saves the contents of RAM on a successful startup to disk instead of executing the hundreds of thousands of lines of code to prop it up every time you turn it on. Second, MAME is free so do you really want to pay for it? As mentioned previously there are plenty of great MAME products out there with commercial support that will let you just double click an installer, download some game ROMs (Read Only Memory) to a directory, and off you go. A decent package will run you $50 or more. there are options for running MAME for free on Windows as well and definitely feel free to explore them on your shiny new windows license or on the old PC that you are cannibalizing that already has Windows installed but there are more things you should consider.
Everyone who has access to this post is probably aware of virus scanners. Small armies of independent coders around the world hate Microsoft products, and Microsoft has made it easy by attaching everything in the computer to a central registry for malicious code to infect and eventually take over your computer. To combat these miscreants an entire industry was born to sell you software to keep your system usable. Not only does this software chew up system resources like RAM and processor cycles, it also costs money to make and maintain. There are free alternatives like Clamwin out there that are well maintained so the cost isn't really an issue as much as the drag on your system. This will definitely be noticable on older hardware and will force you to pay out of pocket for extra hardware horsepower to keep these processes from interrupting your gameplay experience. Alternatively not installing it is fine if you aren't connected to the internet and are careful not to put files on your arcade that haven't been checked out first.
For my build I used a Core2 Duo machine with 4GB of RAM and plenty of SATA hard drive space (1TB) for use as a media server. More on that adventure later...
There are many variants of Linux to choose from that are free and relatively easy to use. I recommend Mint, Fedora, and Ubuntu for this. For the purposes of this build I chose Ubuntu because I use it at work, my kids have used it since before they could talk, and it even supports phones now. It has a huge community of helpful members, is easy to use and learn, and is absolutely free. MAME is part of most Linux software repositories (Think iTunes store for Linux) and is well supported by the Linux community.
Linux runs on pretty much any hardware ever made including whatever you may have in your closet that "doesn't start anymore" or that computer you bought at that garage sale 2 years ago as well as the latest ARM processors and even the old Apple G series systems. If you know what kind of processor your machine has go get the right version of Ubuntu Desktop from Ubuntu.com and follow their instructions for creating a bootable CD/DVD or USB thumb drive.
If you don't know what type of processor you have, it's probably an Intel chip, and at 4Gb RAM you should be fine with the 32 bit Ubuntu installer.
1. Boot the installation media, follow the onscreen installation instructions (defaults are fine) and you should have a pretty new desktop operating system when it reboots on it's own. If not go to ask.ubuntu.com and ask what happened. They are a global community of passionate Linux users who really care about helping. Just be sure to identify yourself as a Linux noob if that applies to you. :)
2. Once you have a working computer, click on the menu button at the top left and search for "terminal" in the search bar. This is the Linux command line. Not to worry though, I will tell you what to type. If you still aren't comfortable you can also open the Ubuntu Software Center application, find "mame", and install it. It will ask for the password you set during the install.
If you aren't scared to do so, at the terminal command prompt "$" type the following; sudo -i
You will be asked to enter your password. Once you have passed this authentication step you are now the superuser and can change or ruin anything at will. You are the giver of life and destroyer of worlds to your new machine. Be careful from here on out.
3. Next, we need to install the MAME core components on Ubuntu with the following;
This pulls the latest software version lists to your computer. so you know what can be updated.
4.apt-get upgrade -y
This updates the currently installed software on your machine. You will see a flurry of activity as the system updates. Unlike Windows there is no urgent need to reboot afterward.
5.apt-get install -y mame
This one gets the girls excited. It installs the base components needed to run ROMs on your system. Once it completes you have everything that is absolutely required to run MAME
6. QMAME Catalog Launcher II
QMC2 is a set of packages and utilities that work with MAME on your system, give you a much nicer interface than what is provided by default, and give you some nice management utilities to work with. Head on over to their site and follow the Ubuntu instructions to get set up.
Currently Ubuntu 12.04 through 15.10 are supported officially, just follow their instructions for Ubuntu or whatever OS you prefer. If this is getting a little deeper than you want to go there are Windows instructions if you need to tap out. If you get stuck, hit the forums again.
7. Remember when the internet was awash with applications for sharing files across the globe and all anyone used it for was to steal music? Napster didn't fare so well, but Limewire is still kicking. It's cousin Frostwire is alive and well and a great resource for finding huge files like OS installers and more importantly, ROMs. Head on over and get it for free.
8. There are a lot of sites that offer ROM downloads but they are somewhat painful and generally only let you download and try out 1 ROM at a time to see if it works. Fortunately our friends at archive.org maintain the current ROM library for each version of MAME. While you can find the version of MAME you are running with this command from the CLI;
The latest version is usually the best one since it contains the latest and greatest versions of each ROM for MAME at this time, and MAME hasn't made any significant changes to the way it works with them in a long, long time. The archive should be about 40GB in size and should take a fair amount of time to download. Have a beer and come back tomorrow.
The MAME 1.51 archive that I am using contains 29,646 ROMs. Many are duplicates or alternative versions from other countries, and some of them just don't quite work yet but probably will one day when someone has time to fix them properly.
9. Once your archive has downloaded, you will want to extract it to the following location on your Ubuntu filesystem;
This requires administrative or superuser permissions to perform so it's best to extract it to your home folder and then move them from the command line. You are now ready to start QMC2 and play with your new collection. you can use the keyboard to play and do not need a special control surface to use MAME, but it helps.
I will cover that in the next section.
10. When QMC2 starts up you are presented with a quandary. It wants to know where you put everything. It can be a little intimidating, but I already know where your files are;
SDLMAME executable path: /usr/games/mame
Working directory: /usr/local/share/games/mame
ROM path: /usr/local/share/games/mame/roms
Sample path: /usr/local/share/games/mame/samples
Hash path: /usr/local/share/games/mame/hashes
Feel free to create the missing samples and hashes folders if you want, but you probably wont use them. Once the application loads you may want to search for QMC2 and add a shortcut to it on your sidebar. you should see this if everything went according to plan.
11. Hit enter to start a game, escape to leave, and refer to this guide for the keyboard controls:
You just won. Go play some games!
Step 1: The Controller
Once of the most important parts of an arcade machine is the control surface. There are as many options for building a controller as there are variations of snowflake. For my build I decided to take the easy way out, and while the result is still good I regret not building my own from scratch now. Nevertheless, behold my modified Tankstick control from X-Gaming.
The X-Arcade controllers are well built, well reviewed, and even compatible with home gaming consoles with the appropriate adapters. Yes, you can also hook it up to your Playstation/XBox. ;)
One of the images above is the X-Arcade Tankstick ($199) set up in my test bed. I have it plugged into an Ubuntu media center and studio machine I built. This is where I performed the initial setup of MAME, figured out how everything fit together, and determined the initial requirements for the project.
This device is on sale a lot. Usually $30 or so. They also frequently throw in free shipping and include a licensed copy of Maximus arcade which definitely influenced my decision to purchase it. Maximus is a MAME application for Windows and I decided early on that if this became too much of a hassle or I just couldn't get it working I would just run Windows 7 to be done with it. Thankfully it wasn't needed but I still have a license in case I build a less complicated machine to sell later. You may have noticed some differences between to first picture and the second. Lets get into that. First, I decided on this model of control surface because it has a trackball. While bowling games are fun and all, I am old enough to remember trackball mice on my PC growing up and how difficult they made playing Wing Commander.
This trackball is a PS2/USB mouse and since we are essentially just building a really expensive computer case, it obviously needed a mouse. The problem with having a mouse with no buttons is that it doesn't do much. Enter the first serious warranty voiding modification...
1. I visited my new friends at Twistedquarter.com and picked up what in my opinion was an elegant solution to provide a 3 button mouse. Before drilling or taking anything apart I tried any destructive mouse button mashing technique i could think of while playing a game and determined that it doesn't matter if you hit the mouse buttons while a ROM is running, so if you accidentally hit these during gameplay it doesn't matter.
This was good news because the while the surface of the Tankstick is very large and appears to have a fair amount of real estate available, the inside of the unit is a different story.
Working around the massive trackball assembly I decided the if playing alone, pretty much everyone likes to be player 1, and most people are right handed, so I decided on some open space below and to the left of the trackball when it is right side up.
You can see where I have marked off some other additions as well. During gameplay you have to hit the escape key to exit a game and return to the catalog menu to select another one. It would also be nice to have an enter key for starting games. I added these to the top Left corner of the controller using red and purple buttons respectively.
Twisted Quarter sells additional buttons with the required microswitches in different colors for $1.79 each.
2. Once everything is marked out it's time to make holes. The standard button hole size is 1 1/8".
I picked up a set of paddle bits for my drill for around $15 that included one. As you can see from the images, the Tankstick is made from pressed fiber board which kicks up a huge amount of fine dust when you cut it.
Be sure to keep it from getting into your trackball. I used a piece of duct tape to seal the holes before cutting. Be sure to vacuum the case out after cutting and I recommend blowing it clean with an air nozzle if you have air nozzle technology at hand.
Note: Before you drill ensure that there is enough clearance between surfaces for not only the button you are installing, but also for the plastic nut that holds it in place as well as the microswitch and connectors or you may end up with a hole that you cant use or plug.
This is where I encountered a small problem...
Because it is mostly a one-off the triple button piece has a shorter shaft than a standard button. After drilling the hole I discovered that the nut that comes with it couldn't grab the threads on the shaft because the fiber board is too thick.
Fortunately just as fiber board has its problems, it also has some advantages. I was able to cut halfway through the fiber board with a hole saw and then pry the bottom half loose with a screwdriver to attach the nut to the shaft.
3. By this point you may be asking yourself how you could possibly diagnose the purpose of and work around all those mysterious wires.
The answer is fairly simple.
Each control surface like this one has what is known as an HID or Human Interface Device controller. This is what terminates in a keyboard cable or USB plug. The manufacturers of this device use a HID controller that is just about perfect for their needs and doesn't do anything extra to save cost. Instead of attempting to mess with the existing controller and risk breaking it, messing up the programming, or making it impossible for them to help you get it working again, I just added another HID controller for my additional features.
Ultimarc (UK) sells the UHID Nano interface controller. It is fully programmable and allows you to connect 7 buttons to the computer and assign keyboard keys or macros. While it is pretty awesome, the configuration utility only works with Windows.
If you are bored and feel like contributing, head over to Github and help Katie work on the Linux version so I dont have to borrow a computer to make changes.
4. The wiring is very basic for the buttons. It looks like a lot but there are only 2 connections per microswitch. Positive, and ground. A single ground wire attaches to the UHID and you daisy chain it to every button. Next you attach the positive wire for each of the 7 interfaces to the corresponding pin on the UHID, plug the USB cable into a laptop, and select the keystrokes/actions for each pin.
Make sure you save the config when you set it with their included Windows utility, or it wont set your actions to the pins.
5. At this point you have a USB cable that needs to get out to the outside world so you can plug it into your computer. Simply drill a 1/2" hole in the rear panel of the Tankstick for your USB cable and fill it with our favorite adhesive, polyurethane caulking to make sure that pulling on the USB cable doesn't damage your precious internal wiring.
You may have noticed the two white buttons on either side of this controller. The one closest to the player is the 1P or 2P coin button depending on what side you are on. The one farther away serves as the tilt button.
I decided that I would be adding a coin door and coin mech to this project which will require additional wiring to the base of the cabinet.
Because the coin buttons are already installed and the controller for the Tankstick is already configured for this function I spliced the positive and negative wires to the coin buttons and ran them out the hole I drilled for the USB cable to attach later.
6. During previous "play testing" I noticed that the Tankstick had a set of NEO-GEO style buttons on it that are actually mapped to NEO-GEO ROMs, but they were all black instead of colored ones.
Twisted Quarter to the rescue again.
I also added one of the Black buttons that I swapped out for colors as a pause button (top right.)
Note: Not all ROMs support pausing, but its nice to have when the phone rings or something comes up that since you built an arcade machine you aren't really that interested in any more like work, school, or your kids.
Step 2: The Cabinet
After a fair amount of debate I decided on the Ultimate Arcade II package from Northcoast Custom Arcades. They have a lot of options accessories, and experience. Additionally, everything is cut by robots so it all fits together perfectly.
The UA2 kit provides the look and feel of a classic arcade machine with the nice to have for a computer based arcade machine of a keyboard/mouse drawer.
These guys have been around for awhile and take really good care of their customers. They are also happy to answer any questions you may have and if they make a mistake they will send you whatever is needed to make it right.
1. I ordered 2 colors of T-molding (light blue and black.) If you order 1 color they will still include enough to finish the kit out. I also highly recommend their custom control surfaces and wish now that I had ordered one instead of purchasing a pre-built unit, although the X-Arcade Tankstick I used for this build is still pretty awesome.
Definitely hammer the T-Molding on AFTER you assemble things, or be sure to trip the edges before assembly because there are a couple of spots where it goes to battle with an adjoining piece during assembly.
2. This thing is very heavy and shipping was around $100 but sometimes they offer free shipping as a promotion. Get everything you need the first time and save some money on freight. Also, be aware that since it is actually freight they may just drop it off at the curb so you may have some fun getting it indoors to build it.
Either way, head down to Harbor Freight and get yourself a furniture dolly. It will let you reposition your project without scratching it up or knocking it over, and allows you to install and trim your molding after assembly if you choose to.
3. It probably doesn't seem like it at this stage and you may be inclined like i was to worry about the control surfaces later, but now is the time for you to decide how many players you want to provide for at a time, what type of monitor you want to use (crt or digital) and whether you are building your controls or you want to use a pre-built setup. The cabinet type you decide on will help you determine what you need for the most part.
Having gotten this far I have to recommend the digital monitor. MAME lets you add a directive to the startup script and an artwork file if you want to be true to your roots and have scan lines. See the video I included for details on on adding them.
When you are not playing a game you can still use this machine as a jukebox, media server, and internet connected computer. If you spring for the CRT display not only do you pay extra, you also stand a good chance of shocking yourself (never touch a flyback transformer) or starting a fire, and your desktop will be blurry and a general pain to use.
Northcoast will be happy to send you the appropriate glass, brackets, recommend a monitor, and are generally will answer any questions you have about your choices at this stage. They also sell construction plans if you are on a tighter budget and don't mind cutting the pieces out yourself.
Be advised if you do so you will have to cut the grooves in the edges for all the T-molding which is a requirement for building with particle board. This is painful, but if you opt for hardwood, plywood, or if you enjoy suffering the pain of Lexan you can opt out.
4. Construction of the cabinet is pretty easy once you download the instructions (they weren't included because they are subject to change) and takes about an hour. Give yourself plenty of space because the pieces are awkward.
I put the top and bottom together separately, then flipped the divider upside down to make it easier to install the top section by just dropping it into the screw sockets. Everything fit perfectly but I had to shim out the keyboard drawer brackets a little bit. I will probably install a lock on it later. If you read the controller section of this tutorial you already know why it's no longer needed, but still good to have just in case.
All you should need for the assembly is a screwdriver.
5. As a procedural note, particle board is very brittle.
The post and seat connectors used in most particle board constructed items are also not known for their durability. Polyurethane calking holds the windshield on your car in place while you are barreling down the interstate at 90 miles per hour and is rumored to have held the ceramic tiles on the space shuttle in place to keep it from burning up when it reenters earth's atmosphere. It is relatively cheap, remembers the shape it took when it dried, is paintable, and when used on particle board joints after they are assembled will make your cabinet pretty much indestructible. This pays dividends if you are building the cabinet in one location and ever (I mean ever) have to move it somewhere else later.
Lay a fine bead on the inside of your seams and joints to protect your project for future generations. One tube will do the job easily with enough left over for you to glue a brick to a window afterward. http://smile.amazon.com/Henkel-828471-Polyurethan...
Allow 24 hours for your creation to dry. When you are done you will have something like the attached image of a finished cabinet.
Step 3: Adding Sound
My prototype machine was an HP mutation with an Intel Core 2 Duo processor and a surprisingly loud internal speaker. Unfortunately that just wasn't going to cut it here and we needed something bigger. Since we already have a computer in the cabinet the task of creating a signal for speakers to reproduce is handled nicely, but the onboard micro-amplifier on most motherboards isn't Jukebox worthy and not very loud. Essentially we need to amplify the sound leaving the board and hopefully provide at least stereo audio. It would also be nice if we could plug in an MP3 player to the circuit and to be able to port the signal out of the unit to an external amplifier as well.
There are a few options but most of them aren't very attractive.
Let's review the options:
Option I. Car Stereo Amplifier
On the upside, it would attach nicely to the cabinet and carries little to no risk of starting a fire. Sadly, we would have to purchase a power supply to translate AC power into something it could use and they have a decent cost associated with them. Direct current electrical systems are also more sensitive to resistance in the transmission media, so we would need to spend more money on heavier gauge supply wires to minimize the effect. In addition, most car stereo amplifiers are probably overbuilt for this application, and we would need to turn the gain way down, making the investment in those heavy power handling components a waste.
Option II. Home Stereo Amplifier
I actually had a couple of these that I could have used lying around, but if you refer back to the previous list of wants you will notice that we would have to start cutting artisan holes in the cabinet to satisfy some of them and it would look terrible. I also needed to buy something new in case I ever sold the unit. I wouldn't feel right using am amplifier from the corner of the garage because I don't know how much life is left in it. Additionally we could create a situation that requires a screwdriver and exposure of high voltage current to body parts whenever you needed to change the volume or adjust the sound. While fun to watch this is not preferred.
Option III. Build Something!
Guess which one I decided on...
Introducing the TDA 2030 power amplifier.
It is a 4X16 watt audio amplifier as 2.1 stereo for 2X16 watt stereo channels and 1X32 watt subwoofer channel. That doesn't sound like much power but is actually pretty close to what your factory car stereos produce per audio channel. We also have the luxury of being indoors instead of traveling down the interstate where it is much quieter (hopefully.)
I didn't do much research on this device initially because to cost was low enough that it didn't really matter if I could use it for this project or not, and thought it might be something fun to do with the kids. This device accepts 12V to 18V AC input power which is a little bit of a pain because you have to buy a transformer, but it is so small and light that it gave me an idea.
What if we cut out a couple pieces of the cabinet's back panel, attached a piece of Lexan (which I actually had lying around for some reason, something to do with a chameleon cage...) and attached it directly to the transparent back panel?
That would actually look pretty cool, I thought.
It turns out I was right. Here is what it took to get this done.
1. Heat is an unavoidable (and generally undesirable) byproduct of power amplification. As such the components designed to do this job are generally designed specifically to be attached to heat sinks, cooling towers, and the like.
The TDA2030 integrated circuit has a screw hole and a flat back to attach a heat sink to on the little amplifier ICs. Notice how they are lined up in a row on the outside edge of the board? That is why. Without proper cooling these little guys will burn up under load. To solve, we have to add a heat sink.
1-a. My 90mm aluminum heat sink came from Amazon.com and didn't cost very much. Since it is universal, we have to mark, tap, and mount it to our amplifier. This was accomplished by simply placing the amplifier on it's side and marking the screw holes with a sharpie.
1-b. I had to get creative to find an easy way to transfer the hole markings to the inside of the channels so I didn't drill through a fin. This is double sided tape. I used it because it was thicker than regular clear tape, but could have used any reasonably strong tape (not stretchy) that you can see a sharpie mark through.
1-c. The holes were drilled top down into a piece of 1X6 to keep from scratching up my beautiful workbenches. Note the slight variations in the elevation of the holes. These are small enough to not matter a lot, but I should have used a sharper drill bit to keep them from wandering so much.
I also visually estimated that the when the base of the heat sink is even with the plane of the circuit board I am attaching it to the holes all land between the 3rd and 4th fins. We want it even with the board so we aren't wasting real estate on our backplane since we are cramming a lot of things into a space space back there.
1-d. I tapped the screw holes by simply screwing the supplied screws in. Selecting the perfect size drill bit is crucial. Too small and you might not be able to tap the hole with the screw. Too big and you will need to find bolts that are long enough to pass all the way through the heat sink fins obstructing airflow. If in doubt, use the smaller option, try to tap the screws with a screwdriver, and ream it out with a bigger one if needed.
Fortunately aluminum is pretty soft and easy to work with.
1-e. The TDA 2030 kit came with insulators for the screw holes and the ICs. The 2030 IC is V- or carries a negative voltage. If it is allowed to touch the heatsink directly without an insulator strange things can happen, but the main concern is that if any of the 4 ICs ever died it would be nearly impossible to determine which one it was using a voltmeter without completely removing the heatsink. Place the insulators on the heatsink where the Pads for the ICs will go to prevent them grounding to the heatsink before you attach them.
Note: This unit accepts AC voltage and passes it through a rectifier circuit that evens it out into non-oscillating DC current, so the current at the heat sink is nothing serious to worry about at this stage, but short circuits should always be avoided.
Attach all the ICs to the heatsink using the supplied screws and insulators.
2. Now that we have a heat sink installed and it looks like we did it on purpose we need to handle a couple of things.
2-a. First, to get our audio signal from the computer to the board we need to send it to this little white block on the corner of the board. The PCB is labeled with the purpose of each input pin, so we should just be able to connect the proper computer cable and cut the end off, then solder to an 1/8" TRS jack that plugs into the computer sound card port.
I mistakenly identified the socket on the audio board as a 3 pin molex and ordered the wrong cable, but they are just similar enough to be somewhat interchangeable. I had to cut down the outward facing plastic on the socket with an Exacto knife, however the molex connector slipped in nice and tight with that slight modification. I added a blob of polyurethane to the joint to make sure it will never come apart ever again.
2-b. Next I made a template of the PCB control knob positions so that I can just stick it to my Lexan back plate and drill the holes in the right spots. When it is mounted the unit needs to be installed with the cooling fins running perpendicular to the floor (or vertical) to maximize cooling efficiency. I also added a fan directly adjacent to the amplifier to help keep it cool while it pumps air into the cabinet.
With what we will assume is a working 2.1 channel stereo amplifier now, it is time to work on the backplate.
3. Without getting into too much detail about how to measure, draw lines, or cut holes let me just say this. Lexan is hard to work with. It is brittle, hard to cut and score, any cracks run like they do in a sheet of glass if you tighten something down too tight. It's a little bit sharp on the edges so its a good idea to "seam" the edges (round them down with some sand paper).
That being said, I used a 120MM hole saw to cut holes for my Coolermaster PC case fans, a 13/16" hole saw for the Neutrik panel mount passthrough connectors, the jigsaw for detail work, and a few different drill bits for the various holes needed for mounting and attaching things. You tool requirements will vary depending on what ports and options you decide to install.
Mine is pretty complicated as you can see and I used a big stack of bits, files, and power tools.
3-a. Make a mock up of how you want everything laid out on the back panel and measure from the edges.
3-b. Use a Sharpie to mark important measurements and start boring and cutting.
- The left side will house the power plug with fuse assembly, a 120MM fan to force cool air into the cabinet, and a Neutrik panel mount ethernet passthrough jack for network connectivity.
- The right panel will hold our amplifier, RCA IN/OUT jacks and a second cooling fan. Small holes were drilled around the border of the Lexan pane to attach it to the backplate securely with #6 screws.
I ordered a ton of small wood screws because I can use them for other projects later. This project took less than 20 to complete, but I could have used less than a dozen and been fine.
4. With all the holes in the right spots now we can add the components. Our amplifier mounts perfectly and the Lexan sheet holds it securely if we did it right. Ensure there are also no distortions in the plastic from the weight of the assembly so it looks like it will hold up well to being moved around when we get evicted because we were too busy playing games to go to work.
I used Seismic Audio RCA panel jacks for the audio in/out ports. They were relatively inexpensive and used the same 13/16" hole saw as the Neutrik ports for the USB and ethernet connections. I predrilled the screw holes and self threaded the #6 screws directly into the plastic. Connections were then soldered onto the back to complete the connections to the amplifier.
4-a. It took some research to find a suitable power supply. I settled on a 12V 2A AC Center Tap Transformer. It's funny because the image i included is actually a stock photo from the distributor of these transformers and the right side of the bracket is bent up a little bit. Coincidentally when mine arrived in the mail it was also bent the same way and needed to be flattened with a pair of pliers to prevent wiggle. Maybe someone in China thinks that is how they should come?
It accepts 120V household power OR 240V and converts it down for the amplifier.
For connecting all the AC components to the common V+ and V- rails I purchased a power distribution block ($4.99) from Amazon.
Note: These instructions cover a 120V 60Hz installation in the U.S. Modifications to power this project with 240V 75Hz supply are not covered here, but the changes are minimal.
4-b. Next I added speaker wires for the arcade top speakers. We decided to use Boss 40W peak 4" dual cone speakers. While these are not top of the line by any means, when compared to the generic and ultra-cheap speakers that are generally used in arcade cabinets they are pretty nice. Additionally, we aren't pushing a huge number of watts here, so these are technically overbuilt for this application and components designed for heavier loads would be a waste for this.
Included is a detailed view of the soldered connections for our sound system and what has become a "wire harness" of power, signal, and speaker wires.. I used the heavier speaker wire for the signal input since this application is highly sensitive to signal noise here. Note how short I made the small gauge wires for the amplifier input harness for this very reason. I bundled everything together with zip ties and routed them down and away from the amplifier to keep them from blocking airflow or being pulled out during panel installation.
4-c. The green wire is soldered to the underside of the amplifier board through a hole with the letter "G" on the other side, and tied to the green earth ground wires for the other components. This is important because if there is an electrical issue on the board when it is powered on it should short the issue to ground and break the circuit (Remember our fuse?) instead of letting the onboard components melt or explode.
There is a good sized pair of capacitors on this board and as you know if you have ever wired one up wrong, they can go of like little bombs under the right circumstances.
Putting it all together it starts to look more complicated although the individual components are pretty simple.
5. I have added ports for airflow from the bottom of the cabinet to the top. Since hot air rises the heat generated down below will need an escape route to the vents in the top of the cabinet. I used a decent sized hole saw, taking care not to damage the pre-drilled holes for the monitor brackets.
6. I have included an image of the subwoofer and our homemade bracket mocked up on the top side of the monitor shelf. We will be mounting it to the underside in this location with the cone pointed directly at the player. I decided to use the 2.1 channel amplifier board over the 2 channel or 4 channel variants because I wanted to give this system a little bass. I am very happy with the result. It sounds great.
I used a Boss 8" 4 Ohm sub. I really can't consider anything smaller to be a woofer, and since we are just trying to add more low frequency response with very little power (36 watts for the woofer), again it doesn't make sense to pay more or go bigger here. This speaker says it is rated at 800 watts, but I would guess that is pretty generous.
6-a. Start the screws that will fasten the subwoofer to the bottom of the monitor shelf. I probably went overboard with the quantity, but this thing is surprisingly heavy and I definitely don't want it falling or coming loose. These are 1" wood screws in 1/2" particle board I had lying around. This puts the screws a little less than 1/2" deep into the bottom of the monitor shelf so it made sense to use extras.
6-b. Just like putting a t-shirt behind your license plate to keep your car subwoofers from making it buzz from the sound waves hitting it, I used the rest of our tube of polyurethane (the same one we started with...) as a buffer and to ensure that only acts of god could ever remove this piece from the cabinet. If we ever need to replace the woofer we can just unscrew it from the bracket, so the bracket can be permanent.
6-c. Install the woofer in it's final home inside the bottom of the cabinet. It sits just behind the end of the keyboard shelf and points towards player's chest. Boom Boom. Make sure that this doesn't interfere with the pending coin door and that it is set back far enough to ensure that the throw of the cone didn't touch anything during operation. I was surprised to see how far this speaker throws when it is playing given the low wattage we are feeding it.
7. USB cables from the control surfaces and the USB dock need to be tied together and rolled up to keep them from rattling around and buzzing against the cabinet, or getting in the way during maintenance. At this point I made sure to clean the interior out top to bottom to eliminate any unwanted dust and debris from our cutting and drilling.
Once the build is completed it is essential that the interior be spotless or the electrical components could be damaged over time.
8. Now that everything is installed it is time to hook up the speakers, connect the amplifier input to the computer sound board, plug the computer, monitor, and marquee lighting into the power strip, connect the fan power cable to one of the computer's Molex power connectors, and button up the back of the cabinet.
Note: A crossover ethernet cable is needed to connect the internal jack of the Neutrik ethernet passthrough port to the computer. A regular "straight through" cable will not work here. When testing out our new sound system before installing in the cabinet (we tested everything before getting to this stage,) it actually gets very loud. Eye protection is definitely recommended for testing. I was concerned about the heat sink not being large enough to protect the amplifier ICs, but at high power for several hours it turned out not to be an issue at all and with the 120mm computer fan blowing cool air in it gets warm but not very.
From top to bottom in our installation, the control knobs on the amplifier board are as follows:
Bottom Subwoofer Volume
The Seismic RCA ports are Left/Top, Right/Bottom. We terminated our audio inputs from the computer to the amplifier inputs instead of adding more signal noise and terminating to another location. Since these are inline between the computer and any external device they work as both inputs or outputs depending on your preference/application.
I designed this system to fill the roles of both a coin-op jukebox as well as an arcade machine so this seemed to be the easiest way to provide that functionality. I hooked these ports up to an MP3 player to test and it amplifies incoming signals with no noise issues. Hooking it up to an external amplifier provides a nice clean output to an external from the computer as well.
I am very happy with the finished product. Everything works beautifully, and once we dress up the cabinet with vinyl graphics it should be very impressive.
Step 4: Graphics and Finishing Touches
Here is how we finish this up.
1. The monitor
This is a very important piece and I spared no expense here.
I purchased a Wells Gardner 27" LCD arcade monitor from X-Arcade for $429 to finish this project off. This this is big, heavy, and industrial quality. I am very impressed with the quality and the picture. There are other options, but this is probably the best for this cabinet.
I have included an image of what comes in the box. We have an AC power adapter, some black masking tape, and some brackets along for the ride, as well as some odd industry standard power supply adapter that we wont be using for anything.
The monitor accepts DVI or VGA connections. I didn't notice any real difference in quality between them and decided to run with DVI since it should provide a smoother picture when this system is being used as a full fledge computer and when watching videos.
It took me a few minutes to figure out how the monitor brackets work. Its not readily apparent and there are no instructions provided. Maybe my fuzzy bracket image will help. :)
I got the monitor bolted into place with the UA2 monitor mounting kit (optional, $49.99) and some heavy duty bolts with wing nuts on the back because it is pretty hard to get a tool to them in the back. I opted to hose the North Coast monitor mounts down with heavy duty construction adhesive to make sure that under no circumstances would the monitor move around in the cabinet if/when I eventually have to move it.
So now that we have spent all this time, money, and effort on this project it is time to decide what it's going to look like. After expending this much effort I really wanted something that would pop to tie the whole thing together as well as cover up any of our screw ups and blemishes.
After some fruitless internet searches, I was referred to Game On Graphix by another vendor and contacted their graphic designers. Apparently you need exact sized PSD files for your cabinet to submit your own designs and I had literally no interest in creating them myself. I decided to just hire their people to do the graphic design work since they already have templates for most cabinets. I emailed them some high-res images I had found on the internet, and answered a few questions. They provided the side, kick plate, marquee, and bezel graphics. I was blown away by how great they looked and I highly recommend them over trying to do this yourself. Everything comes cut to size except the monitor hole in the bezel and I think everyone can agree that this machine is a piece of Geek Artwork when its done.
The graphic design work cost $90 and was worth every penny. The final printed graphics ab out $200 for the bezel, sides, kickplate, and marquee. This is not the place to save money on a project like this, and it totally paid off in the end.
When installing the graphics, I recommend that you use masking tape to affix them in place where you want them to go first. Once you have them "stuck" in the right position, start at the top corner and peel the paper off from the back slowly to the opposite corner. You will need a plastic card of some sort, like a credit card to push out the bubbles under the decal as you go. Try to go in a straight line and push the creases and bubbles away from your starting point towards the paper as you peel it back for best results.
3. The Monitor Bezel
I want to note a pitfall that I found here. I could not find a single place on planet earth that could sell me a monitor bezel for this monitor that fit an upright cabinet. They simply do not exist. Eventually I purchased a cocktail bezel kit because the dimensions were at least larger than what I needed and I decided I could just cut it down to fit.
The kit cost $75 from Suzo-Happ and consisted of 1 roll of black masking tape that already came with the monitor, 1 bracket for said monitor that I already had, and a warped piece of heavy poster board with no hole for the screen pre-cut.
I carefully cut it to fit the same way I would have done a piece of poster board anyway, only I am out $75 for the trouble.
Just measure carefully and cut your own.
This monitor is huge and beautiful in this cabinet with our custom bezel. The black effect on the sides is nice too because not all games have the same resolution, so most of the time the sides of the monitor are dark depending on the native resolution of the game.
4. Coin Door
So what good is a life sized retro arcade cabinet without a working coin door? Twisted Quarter to the rescue again. I purchased brand new, fully functional dual slot coin door from them that fit the cabinet opening perfectly for $75.99.
4-a. I wired up the lights to my mini-molex connector that I used to power our big cabinet fans and soldered them in.
4-b. Solder the connections for the coin door microswitches leaving plenty of slack on the end to connect to your controller. You don't have to solder them, but its preferred for the sake of longevity, and I ran out of crimp-on connectors anyway.
4-c. Use zip-ties to tie your wire harness into a manageable trunk to keep things from getting damaged or pinched. This door will need to open and close without causing damage so take care to route your wires safely and leave just the right amount of length.
Since this is a 2-player control surface, I wired the left slot to player 1's coin door wire that we left hanging out during our controller mod, and player 2's wire to the right side with the shared ground wire we included.
I recommend using marine grade heat shrink tubing to insulate the solder joint to your molex plug.
4-d. Connect your coin door switches to the leads we left hanging out of the controller for them. We added on to the internal circuit for the coin buttons on either side and now we connect them before we drop the controller into its final resting place and screw it down wth some wood screws.
Wire nuts are a good idea for connecting your coin door to the controller. If you need to disconnect and remove the coin door for any reason you can simply unplug the molex and twist off the wire nuts without too much hassle. You may also discover that you wired the coin door to the wrong leads and this makes it simple to fix.
I am happy to provide my PSD files if anyone wants them. Just hit me up. If anyone else builds one of these I would love to hear about it, and if you have pics, suggestions, or want to tell me why I am an idiot please feel free.
I am sure there is a good amount of information missing and I am happy to edit and answer any questions you may have. This is a pretty big project and it took me a little over a year in my free time, but the result is phenomenal and I couldn't be happier.
Participated in the
Summer Fun Contest 2016
Participated in the
Wood Contest 2016
Participated in the
Maker Olympics Contest 2016
2 years ago
Just discovered this post (11/8/20) -- awesome info! Trying to redo a Win98 machine running a much much much earlier version of mame32 (early 90s) -- to latest running Ubuntu. Also have been using an X-Arcade tankstick (no trackball - wasn't available back then).
Got Ubuntu up and running (I'm pretty much a Linux rookie!) and MAME 0.22 installed -- but at this point things seem to error out when trying to install QMC2 - following their instructions. Any idea if it works with MAME 0.22 & Ubuntu 20.x and if not any alternative suggestions?
thanks again for the Great info -- it Rocks!
Reply 2 years ago
that was awhile ago. I have upgraded from a core-2 duo ( because the CMOS battery died, not because it needed it...) to an RPI 4B and am in the middle of configuring one of the Pi MAME distros. Retro Pi. Try this instead and see what you think:
Reply 2 years ago
thanks for reply! At this point I'm finalizing my Ubuntu installation and trying to supplement my Linux knowledge -- I'm a rookie.
Just gotta figure out how things work in this version of MAME (.220) .
Downloaded the 66GB Rom's file and copied it into /user/local/share/games/mame/roms and made sure the app was pointing at that folder for ROMS -- but can't seem to get the ROMs to be recognized yet. :-( Maybe a Linux issue I'm missing...not sure. I left it as the on Big .7z file --- do I need to extract all the ROMs?
So some playing around with things still needed.
Might give that RetroPie a look-see -- appears to be a different gaming front-end. Will it work with the MAME .22 ROMs I just downloaded??
2 years ago
You can add a pair of Bluetooth USB dangles, connect a pair of Playstation or XBox controllers, and configure your emulator to use the controllers for player 3 and player 4!
6 years ago
Awesome detail on this project. I have been getting items together to build one of these myself. Thanks for the info on setup. I didn't see anything about the cabinet, did you build this or buy an empty cabinet?
Reply 6 years ago
I purchased the Ultimate Arcade II cabinet from North Coast Custom Arcades for $549 and assembled it. Next time I will just purchase the plans from them and do it myself with hardwoods, but the kit is very nice.
6 years ago
That turned out looking great! I made a bartop cabinet many years back. I'll see if I can find a picture of it.
Reply 6 years ago
I am pretty happy with it. Its a little painful that I cant attach an image to a step, but it isnt bad. The only real issue I had publishing my fir instructable is that the cover image is horrible and I couldnt figure out how to put a better one on it.