Doing a MAME (Multiple Arcade Machine Emulator) machine build is one of the more challenging DIY projects you will come across in terms of skill sets and tools. By the time you are done, you will have used your wood working/furniture building, electrician, painting/finishing, PC building and, finally, software programming skills. All of this just to have a chance to use your gaming skills!
There are a ton of on-line resource about MAME programs and the ROMs. So this Instructable will primarily look at the design and construction of the machine – not the actual MAME programs and related software. In particular, I wanted to pay special attention to how I mounted the monitor and made the bezel. These two are areas that do not seem to get much attention on many of the sites I visited.
In addition, because of the unique nature and diverse possibilities of doing a MAME build, I opted to mainly focus on the details and techniques unique to my build. However, they but might apply to other designs.
This project did not start out to be an Instructable. But after I completed the cabinet it seemed like a good idea to start taking pictures.
- ½” Baltic Birch Plywood – 2’ x 4’
- ¾” plywood for the control panel
- ¾”x ¾” pine for cabinet bracing
- 1/8” hardboard rear panel wood
- Wood Glue
- Cabinet feet
- Pneumatic brad nailer and brads
- Various paints, clear coat
- Sticker Stencils
- Motherboard: EPIA-SP Mini-ITX VIA C3/Eden EBGA CPU – Nehemia 1.3 GHz
- OS: WIN XP
- RAM: 1 GB
- Graphics: Radeon 9250, 128 MB
- HDD: 80 GB
- On board sound and external Creative Amp/speakers
- Acer 19” LCD Monitor
- Belkin wireless adaptor
- USB, Headphone, Mic I/O board
- Ultimarc I-PAC interface
- Game buttons and 8-way joystick from X-Arcade (shop.xgaming.com)
- MAME32 – Is the main program that runs the games. It can be used as is or with a front end – is this case MALA. You can change individual game configurations from this program (e.g. screen orientation). All of the ROMs and marquee art are stored in the MAME32 directories.
- MALA – Is the “frontend”. This program talks to MAME32 and tells it what to run. The frontend makes for an easier user experience – its more “arcade like” than using a Windows program.
- Dust mask, respirator, mechanic’s gloves
- Table saw for cutting plywood sheets
- Chop saw for misc wood pieces
- Electric drill
- 100 grit sandpaper and sander
- Painter's tape
- Black duct (or gaffers) tape
- Double sided mounting tape (the thick 3M type)
- Short screws (1/2” max)
- Deck brackets
- Angle iron
- 1” Corner angles
- Cabinet door spring locks
- Pop rivet tool and pop rivets
- Electrical tape
- Sharp cutting tool (e.g. box cutter)
- Stereo volume potentiometer
- Speaker grill material
- Wire ties
- Power strip
- Master on/off switch
- PC Fan
- Under-cabinet florescent light (for behind marquee)
- White stick on letters
- Wire crimping tool and small female space connectors
- Soldering iron and solder for wiring bezel switches
- There are plenty of places to get hurt doing a project like this. Pay attention to what you are doing – you will be using power tools of various sorts, paints with noxious/flammable fumes, AC line voltage and sharp knives just to name a few hazards.
- The short list of safety items you should ALWAYS have for an intense project like this include:
- Safety glasses
- Hearing protection
- Dust mask
- Respirator (for painting as needed)
- Hand protection
Step 1: Fundamental Cabinet Design Questions
This section is extremely wordy - but it is also the most important step of your MAME project. Take time to do your homework and really understand what you are getting into and what you want to end up with. Before you run out and by two sheets of 4’x8’x3/4” MDF, you should probably carefully consider the following:
a. Horizontal vs. Vertical – This depends on the primary purpose of the machine. If you are mostly looking at fighting games, then go with horizontal. If you like older games (e.g. Space Invaders, Donkey Kong) then use a vertical layout. All of the games can play in either orientation, so it’s not like you will be locked into a certain kind of game. It’s just that some will not look as nice with the wrong screen orientation due to the image either getting squished or stretched out.
b. Screen ratio – 4:3, 16:9, etc. Again depends on the kinds of games you think you’ll spend most your time playing.
c. Flat screen vs. CRT – A flat screen will be a lot easier to mount, will probably run cooler and may have better resolution. CRT’s can be used, but it can add another layer of complexity. Plus they add to the overall weight of the unit.
2. Number of players/Controls (e.g. buttons, joystick, trackball, guns) – This may dictate the overall size of the machine. At the very least it will dictate the size of the control panel and the number and type of controllers you will need. The controls for a multi-player fighting style game layout will take up a lot more real estate than single player Donkey Kong.
3. Full size vs. table top cabinet – Full size will give you the original arcade feel. But you can’t move a full size one around like you can a table top size. The type of display you select may have a significant impact on the overall depth and weight of the finished product. A full size cabinet with a CRT and made of MDF can weigh several hundred pounds.
4. Cabinet material
a. MDF – Medium density fiberboard (MDF) was probably used on all of the original arcade machines. It’s cheap and easy to work with, but extremely heavy. Not all MDF is created equal – some will have a consistent density throughout the depth of the panel. Others are more like compressed sawdust after you get through the surface layer. This will affect the overall strength of the cabinet. My personal opinion is that MDF is an inferior material compared to a quality plywood product. On the other hand, most of the MAME machines I have seen online were made of MDF and MDF is very affordable. So if you want to be like everybody else, stick with MDF.
b. Plywood – More specifically, multi-ply Baltic birch plywood. And even more specifically, Baltic birch plywood from a woodworker supply house (e.g. Rockler, Wood Craft – not Menards, Home Depot, etc.). These high quality plywoods will have fewer voids in the layers. But actually, just about any reasonable quality plywood will work depending on your budget. Plywood will be much lighter and stronger compared to an equal thickness MDF board. You can even use thinner plywood sheets for smaller cabinets. You may not have the option of thinner sheets with MDF. Downside - The plywood will cost more.
c. Solid wood – Not recommended for most people for a cabinet build. Solid wood will look nice if you want the cabinet to be more of a piece of furniture. But it may be susceptible to cracking, warping, etc. unless you have experience in building furniture.
5. Bezel – The bezel is the cover glass (or Plexiglas) that will cover the monitor and may provide decorative details, instructions, etc. I suppose this is optional, but having a bezel really adds to the professional look of the entire unit. It’s a good idea to include the framing method into your cabinet design. The bezel can be a pain, so take time to think about how you are going to deal with the bezel during the design process.
6. Sound system – What would an arcade machine be without sound? Be sure to design the cabinet with a place for the speakers.
7. Marquee – Not a requirement, but they sure add to the look. There are loads of pre-made marquees on the market, or you can design your own. Similar to the bezel, you will need to design a framing system into your cabinet design for the marquee. If you want to backlight the marquee, you will need to include that in your plan.
8. Internal hardware placement - Another thing to consider when you layout out your cabinet is how/where things are going to be mounted inside and the amount of room you will have. If you are building a full sized cabinet, you should not have any problems finding room for everything. With my smaller sized cabinet, I needed to spend a little more time planning and playing.
Here’s how I answered the questions and decide on what style to build:
1. Display - My arcade gaming experience started with pinball, before the electronic games came out. Since I was about 15 when Space Invaders was introduced, my formative arcade years were mainly those early vertical games. I elected to go with a vertical layout for my design. I had an older LCD monitor available that looked great for MAME games during testing.
2. Number of players/Controls – I like single player games for the most part, so I only needed one set of controls. But even though I planned on playing the early games that only had a few buttons, I liked the idea of having extra buttons just in case. So my button layout is similar to fighters. I also added two side buttons to play pinball type games.
3. Full size vs. Table Top – Because we don’t have unlimited space at home and I like the idea of being able to move the machine around; I chose the table top design.
4. Cabinet Material – I personally hate MDF and even though it’s the cheapest material, it’s also the cheapest LOOKING material to use for just about anything. I could vent on my hatred of MDF, but I’ll spare you. I really like working with Baltic birch ply. So because I’m going with a table top design, I chose to use ½” thick ply instead of ¾” to make things look more proportional. The plywood from a local Rockler Woodworking store cost $30.
5. Bezel – My design had a simple frame in the cabinet to accept the Plexiglas bezel.
6. Sound system – We had an unused PC amp/speaker system that I was able to salvage. This included two small mains, a sub and the amp.
7. Marquee – I found a nice graphic online (“Supercade”) that I copied and use for mine.
8. Internal hardware placement – Things got tight in my cabinet, but everything fit fine.
Weight of the entire machine after I got done: 45 lbs
Step 2: Cabinet Construction
This section is here just to give you an idea of the cabinet construction process. I was not initially planning on making this an Instructable – so the cabinet construction pictures were not taken.
1. I was able to lay the entire plywood design out on a 2’ x 4’ sheet of ½” Baltic Birch ply.
2. Once all the plywood was cut, I dry fitted the cabinet and measured for the ¾”x ¾” pine bracing.
3. For the final carcass build, I glued the pieces and nailed things together using a pneumatic nailer to help move thing along. Nailing is not as tight as a clamp, but I had plenty of surface area for the glue by having both the plywood and pine bracing. You might notice that the speaker panel uses metal corner angle braces. This was because I cut the holes first and didn’t plan on the space requirements of the pine bracing.
4. The last wood I added was the ¾”x ¾” pine bracing wood for the bezel frame.
5. As a last step, I drilled/cut the additional openings for the control buttons and USB access.
6. When I finished up the cabinet construction, I was surprised at how light and substantial it was given its size and shape.
7. The control panel was made from some scrap ¾” plywood I had.
8. To get the carcass ready for painting I sanded all surfaces with a quarter sheet sander. One thing I like to do is slightly round all corners and edges with the sander to give everything a nice smooth feel. If this were ¾” material, you could use a router on the edges instead.
Step 3: Painting the Cabinet
When thinking about how to do the outside, I found I could either paint it or buy premade decals. The decals were pretty pricy. Plus they look like big decals, nice decals, but decals nonetheless. So I choose to go the paint route.
When trying to decide on how to paint it, I came across these guys painting their skateboards using some cool multi-layer painting using stencils. So that’s the technique I went with. Here’s a brief rundown of the process:
1. Sprayed the entire cabinet with primer – Both inside and outside.
2. Sprayed flat black inside and on bottom – one coat just to make it look a little cleaner.
3. Randomly sprayed three colors on case and a pattern on control panel.
4. Let the paint dry overnight and then added stencils. This was followed up with black spray paint. I put two coats of black before some of the stickers starting falling off. So I stopped there and that seems fine.
5. Pulled the stickers off about an hour after spraying the black. The stickers pulled a little of the base colors off in a cool way – really helped add depth and shadowing to the patterns.
6. Let the entire thing sit for two days.
7. Sprayed five light coats of clear coat. I was worried about how the clear coat would affect the metallic colors – but it seemed fine afterwards.
Step 4: Painting the Cabinet (Continued)
Additional photos for the control panel and the stickers that were described in the previous step.
Step 5: Mounting the Monitor
Before getting the monitor mounting figured out, you need to know where the bezel will be in relation to the monitor and the rest of the cabinet. Placement/attachment of the bezel will be a critical part of your design.
The main components you will need to have available for this section are the monitor, bracket assemblies and Plexiglas. The brackets are corner brackets originally used for deck builds. The idea is to attach the brackets and then lay angle iron across them. The monitor then sits in the angle iron.
1. Cut one end of the brackets so they are in an “L” shape. You will need to determine how far back the mounting brackets need to be so that the front of the monitor sits up against the bezel. Be sure to account for both the monitor thickness AND the double sided mounting tape. Keep in mind you will have a right bottom, left bottom, right top and left top bracket – so cut accordingly – and maybe write on them as you go.
2. I put the control panel in place and then got a feel where to put the two brackets so the monitor would sit nicely horizontally and vertically behind the bezel. The monitor ended up being perfectly center.
3. Once the bottom bracket assembly was in place, I dry fitted the monitor, lay the angle iron on the top and then marked the sides of the cab where the top brackets would go. With an LCD monitor, this entire process was somewhat painless.
4. Put the mounting tape on the angle irons and carefully position the monitor in place.
Step 6: Mounting the Monitor - Pop Rivet Details
This step provides additional photographic details on using pop rivets.
Step 7: Cutting, Painting and Mounting the Plexiglas Bezel
1. Getting the Plexiglas cut – I needed the Plexiglas for both the bezel and the marquee. Cutting this stuff can be a pain – I let the friendly hardware man at Ace Hardware do all those cuts for me. Thank you! BTW – keep the protective plastic on as long as possible.
2. Positioning/drilling control button holes – You’ll notice I did this after painting. However, I would suggest doing the drilling before painting in case something goes wrong. Use the magical step drills for this – they are very gentle on the Plexiglas and do not cause the Plexiglas to crack like a regular twist drill does.
3. Measuring/stenciling for painting – With the monitor in place, put the Plexiglas in the frame and mark where the display’s edges are. Draw your lines on the protective plastic and then, using a straight edge and cutting blade, gently cut through the protective plastic only. There will be some scoring on the Plexiglas itself, but try to keep it to a minimum. Finally, remove the outer frame of protective plastic so you can paint the outer edge of the Plexiglas.
4. Painting – Finally, something easy. Paint the Plexiglas. I used Krylon Fusion black. After the paint dries, remove the center protective plastic. Custom bezel! Remember, the painted side will face the INSIDE of the cabinet.
5. Adding Pause, Exit, PC Power, PC Reset buttons – this is pretty simple. Put in your pre-wired buttons. Two will end up going to the PC motherboard (power, reset) and two will go to the Ultimarc I-PAC interface (pause, exit).
6. Securing the bezel on the cabinet – Once the bezel is in place, you will need to secure it somehow. I used painted black quarter round strips I made out of bass wood. You can use whatever you want to glue, nail, or screw them in place. I used silicon glue.
Step 8: Mounting the Marquee and Backlight
1. Marquee – I probably should have thought about this more when I started, but I think it turned out fine. Sizing was the big problem. If you are looking at a premade marquee, then simply plan on those dimensions in your design. After looking around for awhile, I found the Supercade marquee that someone posted. I was able to take that file and tweak it a little in Photoshop to get the dimensions I was looking for. I had the final marquee printed at Fastsigns. You just email them the file and tell them what you are using it for and they can print it on the correct material.
2. Mounting the marquee – Because my marquee was printed on a flexible plastic film material, I needed to mount it between two Plexiglas sheets. Once I had the marquee sandwich ready, I secured it in with place by using mounting tape on the inside.
3. Light type and placement – I used an under-counter florescent lamp for the backlighting. Screw it to the center underside top of the cabinet, near the back and you’re done. The lamp is plugged into the power strip so it turns on when you turn on the master power switch.
Step 9: Mounting the Control Panel
I wanted to attach the control panel so I could easily remove it if I wanted to change up the panel layout at a later date. The pictures show the steps I went through to attach the 1” corner angles used to line the board up with the opening and cabinet door spring locks to hold it in place.
The idea here is to hide the fasteners and keep the control panel on securely... PLUS you can easily remove the control panel if needed.
Step 10: Installing the Other Hardware
At this point, the main construction is done. Now you just need to find a place to put all the internal components. Attaching some of the PC parts in a non-PC case is another chance to use your creative juices.
1. Speakers – The little main speakers screw into the panel above the monitor. You get pretty good stereo separation from there. The down-firing sub was screwed into the bottom of the cabinet. I cut the hole early in the process – so I took a chance that the mounted sub might have interfered with something else. But it turned out OK. Just keep that in mind when you do your own.
2. Motherboard, hard drive, power supply, audio amplifier and power strip – dry fit everything first and figure out how the attachments will be made. Be sure to keep in mind airflow, distances between components, etc.
3. Master power switch – Since everything is plugged into the power strip inside the cabinet, I wanted a master switch on the outside. I cut the cable to the power strip and wired it to the master switch. When you turn on the master power, the marquee light comes on. You use the PC power button on the front bezel to actually start the PC.
4. Volume control – I made a little bracket to hold the volume knob in the back of the cabinet.
5. USB/Headphone jack – I did not mention this before, but I wanted easy access to a USB port and I’m glad I did. It makes life much easier when you need to attach a keyboard/mouse for programming, etc. This part came from the front panel of an old PC case.
6. Wireless adapter – The alternative here is to hardware to the network. But there is really nothing in this system that needs super high-speed streaming. You’ll only be downloading ROMs, etc.
7. Fan – I put a small PC case fan in the top rear to help keep the heat down. All the individual components added together create enough heat to potentially cause a problem if not vented.
8. Rubber Feet – Keeps from marking up surfaces, but also raises the cabinet to let the sub-woofer do its job. Plus it makes it easier to pick up because you can get your fingers underneath.
9. Rear panel – Hopefully you won’t have to get into your cabinet anymore at this point. Be sure to add ventilation openings. The rear panel will also help with the overall structural strength and stability of the cabinet.
Step 11: IPAC and Game Controllers
This is when it really starts feeling like a MAME arcade. All the buttons are connected to the IPAC interface. The IPAC is then connected to the mother board via a PS/2 style cable. They have a few different models, but this one is all I needed.
1. Connect the buttons to the IPAC – the buttons are actually just substituting for a regular keyboard. If you look at the picture with the Control Panel Button Assignment, you will notice that each button refers to a keyboard character and a code that’s listed on the IPAC. The joystick is similar, but labeled appropriately on the IPAC. The button that I don’t have referenced in that picture is the single player button on the front.
Step 12: IPAC and Game Controllers - Spacing Issue
1. Issue with joystick and single player button – after I got everything wired and attached in their respective places, I discovered that the single player button (on the bottom front of the cabinet) stuck out too far and interfered with the joystick housing (on the control panel). This led to me re-engineering a new button (see pics). It works fine – it was just something I wish I had thought about earlier. Drilling the hole for the single player button 2” over either direction would have saved me a couple of evenings of work.
Step 13: System Setup Issue
1. Screen orientation issue – When I first started testing the concept of a MAME machine several months earlier, I used a different motherboard that was sitting around at the time. On that board, it was a simple Windows command to change the screen orientation from landscape to portrait. Not-so on the board I ended up using. My original plan was to just use the onboard graphics and not need an extra graphics card. I ended up having to buy a PCI Radeon 9250 graphics card to let me do the orientation change – at least I was able to match the performance level of the on-board graphics (and that’s not saying much). I was happy that I didn’t have to permanently move anything inside to add the card to the motherboard.
Step 14: Software and Hardware Review
1. MAME32 – This is the MAME emulator that actually runs the ROMs. There are a number of them out there. Plus you can get emulators for just about every other gaming platform ever made (e.g. Sega, Genesis, etc.). This was designed to be a MAME machine only - there was no need to make it run everything out there.
2. MALA – This is the “front end” that makes the machine look more like an arcade. The front end can actually require much more horsepower than the emulator. So this is a low powered one, but works great for my application. Plus when I installed it, it already had the space theme as the default layout! I have it set up so that when you power up the Supercade, it eventually boots into MALA.
3. I found keeping a small keyboard and mouse attached has made life easier. You don’t need to use them very often, but having a small keyboard velcro’ed to the side is not really distracting and saves time when you need to get into Windows to download more ROMS and/or work in the Windows environment.
4. Hard drive – Even with the MAME, MALA, 129 games, game marquees and a handful of other emulators and games, I’m using less than 20GB of the 80GB drive.
5. Performance – You might laugh at the level of processor I’m using. But for these ROM games, this machine could still be considered overkill! It’s the emulator and front end programs that get you. If I wanted to expand this to anything other than MAME, the first thing I would need to do is replace the entire PC section.
6. Documentation – I created a couple of documents to help refresh my memory on how to use the system and how to explain it to the game player. The User’s Manual explains the technical details of my system and how to use MAME32 and MALA (among other things). The other file is a small label I made for the bottom for the bezel with instruction on how to play games.
Step 15: Playing Games and Closing Thoughts
This thing has been a blast. I find that I tend to use it when I have an extended break, like over Thanksgiving or Christmas. I just leave the machine on all the time and jump in to play something when I have a few minutes. The game play is smooth – not glitchy (unless the ROM programming is glitchy).
With having so many types of games available for the MAME (I’ve heard as high as 20,000 games?!?!?), the hard part is trying to find games, screen them, get the marquee artwork (so it displays in the front end) and catalog them into the front end properly. I found I really enjoy, what I call, puzzle games. There are dozens (hundreds?) of these that were released in Japan and never made it to the US. Sometimes the fun part is trying to figure out how to play the game (everything is in Japanese). Keep in mind that about 1/3 of the ROMs you come across simply do not work.
Of the 129 games I have, I have a core group of about 10 games that I play all the time and then another 20 or so I play less often. My favorites are vertical shooters, side scrollers and puzzle games and this machine works perfect for those.
As you will find when you review other people projects, the cost can vary wildly – I saw one guy was up to several thousand dollars on his! (Most of it was PC overkill IMHO). My entire project was around $300 by the time I finished. If I ever do something like this again, I would try for a pinball table emulator – but I can see that running in the $1,500 on up category. Sounds like a retirement project.
There are a ton of resources out there for these things. Do your homework before you get started. Hopefully this Instructable explained some of the things that are not covered quite as clearly elsewhere on the web.
Please let me know if you see anything that needs corrections or clarification – or just let me know if you have a question. Thanks for looking!