loading
Picture of MAME Cabinet in 4 key steps
pc.jpg
conversion_rudiment.jpg
copyright.png
craigslist.png
This Instructable is more like a guideline than a true step by step Instructable. It is about converting - rather than building from scratch - an Arcade Cabinet into a MAME Cabinet. It is more a guideline because there are many different type of Arcade Cabinets, with different setup and hardware.

Per Wikipedia, an "arcade cabinet, also known as an video arcade machine or video coin-op, is the housing within which an video arcade game's hardware resides."

I'm simplifying, but by definition you can run only one game at a time into an arcade cabinet. If you want to run another game on it, you'll have to change the proprietary hardware inside. But since we're at it, why not replacing all the proprietary hardware with a computer running MAME?

Arcade cabinet and MAME

MAME which stands for Multiple Arcade Machine Emulator is a software that allows to run and emulate approximately 3700 different arcade games such as, among the most famous ones Ms Pac Man, Metal Slug, Street Fighter II, Galaga etc.

MAME can run on many different platforms such as Windows, Unix, OS X etc. but by simply playing it on a desktop computer, even though the games are exactly the same as their arcade counterparts, it lacks the look & feel of the original arcade (see attached picture of a desktop PC running...Metal Slug with MAME).

An Arcade Cabinet conversion into a MAME Cabinet consists of:

  • removing the original proprietary electronic game board (PCB) inside a cabinet,
  • replacing it with a computer (a PC) and
  • interfacing it (display, controls, sound etc.)

This is what I detail here in this Instructable. First of all, I'd like to point out there are many different ways of converting an Arcade Cabinet into a MAME Cabinet. The way I did it is not the way, however this is the way that fitted my specifications the most.

Indeed, I wanted my cabinet to look as close to the exact thing as the original and by seeing it from the outside I wanted it in a way that no one could tell if it's a regular Arcade Cabinet or a MAME Cabinet. That means:

  • Keeping the original display monitor (in no way I wanted to use a PC screen, LCD screen or even a TV).
  • Keeping the originals pushbuttons and joysticks.
  • Being coin operated.

I wanted the hardware being as much as integrated as possible ; that means:

  • "one power switch turn it all",
  • no inside keyboard,
  • no inside mouse,
  • no computer case,
  • no floppy or DVD drive,
  • etc.

Concerning the software, I wanted something robust, low tech and low cost that simply allow from booting up, to select a game, play it before finally turning everything off.

Before continuing further I'd also like to point out while you may find most arcade games easily out of the Internet, you must (on a legal standpoint) own the original game before you can run it with MAME. When you run a game with MAME for the first time, MAME display a reminder of this type,see attached screen shot.

Build a cabinet from scratch vs. conversion

Since I wanted something as close to the original, I started with an old cabinet that I have then converted. Of course, you can build a MAME cabinet from scratch but this is beyond the scope of my Instrucable. However you can easily find many information on the Internet about how to built your own enclosure cabinet from scratch.

Let me tell you there is a controversy within the arcade community with converting a cabinet rather than building one from scratch, because some old cabinets may be very rare and unique (think about an original Space Invaders or Pac-Man game Cabinet!) ; by converting a cabinet rather than restoring it to it's original state, it would only accentuate the rarity trend, and most of all destroy a piece of history that just needed some TLC instead. So if you decide to convert rather than building from scratch a cabinet, choose it wisely ! That means choose a generic cabinet instead of a dedicated cabinet.

Get a Cabinet and Prepare it

Anyway. I found my cabinet off of Craigslist, see attached screen shot of the original ad (you can also try eBay, or your local Video Arcade) ; it was sold as "working" but coming without any game board. Also, it wasn't a rare dedicated cabinet, but more like a generic cabinet without any "historic" relevance. That's exactly what I wanted for my project and I bought it for a little over $ 100.

When you convert or even build from scratch a MAME cabinet, there are mainly four critical steps you have to go thru:

  • the ATX power supply power up,
  • the VGA to the arcade monitor hookup,
  • the control interfacing and
  • the software set up.

This is what my Instructable is about. So let me detail each steps...
 
Remove these adsRemove these ads by Signing Up

Step 1: ATX Power Supply power up

Picture of ATX Power Supply power up
atx.png
IMG_2606.JPG
IMG_2622.JPG
atx_psu.jpg
arcade_psu.jpg
The first thing I did when I started my conversion was to open the cabinet, take a multimeterand strip the wiring of the old game board as well as the wiring of the pushbuttons, sticks and coin mechanism .

I just kept intact the original power switch, the 110V wiring for the marquee light, the 110V wiring for the original display monitor and also the 110V wiring for the old game board power supply. Indeed this is where I tapped the standard computer ATX power supply.

Most commonly, you turn on an Arcade Cabinet with the help of one toggle switch (see attached picture), usually located on the back or on the top of the cabinet. This toggle switch commands two main components (eventually among the 110V Marquee Light):

  • The Arcade Monitor (110V)
  • The Switching Power Supply that powers the arcade system board (PCB) 110V

In a MAME Cabinet the arcade system board is replaced with a computer motherboard. In order to power up the motherboard you have to replace the Switching Power Supply with an ATX power supply (PSU) since most recent motherboards are of the ATXtype.

But keep in mind while older AT-style type motherboards had a power button that was directly connected to the computer power supply, ATX power supply does not directly connect to the system power button, allowing the computer to be turned on and off via software. So even after replacing the Switching Power Supply with an ATX power supply, the computer motherboard (unlike the Arcade Monitor) will not turn on once you hit the cabinet main powering switch.

So, how can you, with the help of one switch, power up both the Arcade Monitor and the ATX Power Supply ?

To solve this problem, I soldered together PIN # 14 (Green which is PS-ON) and PIN # 15 (Black which is COM) of the 20-pin ATX power supply connector. After this modification, the monitor and the motherboard would turn On and Off with the command of one level switch.

After the ATX power supply is installed and modified, you're able to power in the motherboard, the hard drive (which are both mounted inside the cabinet with some appropriate mounting brackets) and even the coin mechanism's light bulbs (+5V) using a 4-pin Molex connector.

Step 2: VGA to the Arcade Monitor hookup

Picture of VGA to the Arcade Monitor hookup
vga_pinout.png
avga.jpg
arcade_monitor.jpg
IMG_2572.JPG
When you're converting an Arcade Cabinet into a MAME cabinet, there's roughly three options you can use for the display:

  • Use a PC monitor ; that's the easiest solution but also IMHO the worth solution because you're going to loose all the look & feel of an original Arcade display.
  • Use a TV with the S-Video or HDTV out of the video card ; that's a compromise between the above and below options.
  • Use an original Arcade Monitor ; what's more authentic than the original ? IMHO that's the method you have to use and none others. And that's what I'm going to outline in detail now.

In an Arcade Cabinet, video signals goes from the arcade system board (PCB) to the monitor through a harness. This harness is commonly made of 5 colored wires:

  • Red wire: red signal (rgb)
  • Green Wire: green signal (rgb)
  • Blue wire: blue signal (rgb)
  • Black wire: ground
  • White wire: horizontal synchronization (H)

Harness' can vary from one Arcade monitor model to another, but there should be a wiring diagram labeled on your arcade monitor chassis showing what wire is used for what signal. In any case you should be able to find this information in your Arcade Monitor User's Manual.

In order to connect an Arcade monitor to a VGA card, you have to solder individually the 5 harness' wires to a 15 pins VGA male connector. (mini D15) using the attached diagram.

Please also note, one some arcade monitors there's also a vertical synchronyzation wire (V) ; if there's such a wire, simply solder it together with the horizontal synchronization wire (H). That concludes the wiring part.

However even after the harness is properly rewired, the display will still not work because real Arcade monitors works with a 15 or 25 Khz refreshing rates and computer video cards displays at rates over 31 Mhz (depending on the video card model). To go around this problem, you have basically two options. Beware that plugging an Arcade monitor to a regular computer video card without the use of iether options below can irreversibly damage the monitor !

  • Set the frequency of your existing video card to 15 khz with the help of a special software called a Tweaker. This can be done directly through front-ends for MAME such as ArcadeOS or AdvanceMAME for examples. This option as one major drawback, besides its initial setup and tuning which may be tricky: you have to delay the powering of your monitor, in order to wait for the Operating System and the Tweaker to load first.
  • Get the ArcadeVGA video card from Ultimarc. This card is based on a regular ATI Radeon but was modified to work natively at a 15 khz refreshing rate. This option, even though it can be pricey (although at the price of a medium range video card), is by far the easiest because it is literally plug & play.

In all the four critical steps I'm describing here, I consider this one to be the most tricky because of the many parameters that are involved at the same time (wiring of the VGA harness, software to setup, monitor tuning etc.) and thus may be difficult to troubleshot all at once.

Step 3: Control interfacing : Keyboard Hack

Now let's go over the controls: the pushbuttons and the sticks.

MAME use different keyboard key codes to control the game: for example you get Fire1 by pressing the Ctrl key. So basically what I did is substitute some keys of the keyboard with original arcade pushbuttons. This method is called Keyboard Hack.

You need, on top the sticks and pushbuttons, a standard PC keyboard (PS2 connector) that you take apart to take is circuit board (called encoder). A keyboard encoder is made of different electric contacts separated in 2 groups (let's call them X and Y) and by randomly connecting contacts from the group X and the group Y using all the possible combination, you get the desired key code.

The key codes used by MAME are (by default, see attached screen-shot):

Player 1

  • Up: Arrow Up
  • Down: Arrow Down
  • Left: Arrow Left
  • Right: Arrow Right
  • Fire 1: Left Ctrl
  • Fire 2: Left Alt
  • Fire 3: Space
  • Fire 4: Left Shift
  • Fire 5: Z
  • Fire 6: X

Player 2

  • Up: R
  • Down: F
  • Left: D
  • Right: G
  • Fire 1: A
  • Fire 2: S
  • Fire 3: Q
  • Fire 4: W
  • Fire 5: n/a
  • Fire 6: n/a

Generic keys:

  • Start 1: 1
  • Start 2: 2
  • Coin 1: 5
  • Coin 2: 6

With the help of the keyboard's matrix sheet (which is in contact inside the keyboard with the encoder and each keys, see attached image) and a continuity tester, you need to look which contact from the group X and which contact from the group Y to connect, in order to produce each key code used by MAME.

For example, on my encoder - each encoder is different - if I connect the contact 4 of the group X and the contact 11 of the group Y, I get the key code R (the key R in MAME stands for player 2 up).

Once you studiously wrote down in a table all the necessary combination in order to generate each key codes used by MAME (see attached image with a table for my example) , you can solder small wires on each contacts X and Y of the encoders to each microswitch contact from the pushbuttons and joysticks.

I would say this step is time consuming and can only be successfully achieved with careful planning.

However, the Keyboard Hack method I just described is obsolete (but is the most fun!). There are now on the market commercial programmable keyboard encoders, (such as the Ultimarc I-PAC) which allow to simply connect without any soldering iron all the pushbuttons and joysticks to the PS2 connector of the motherboard.

Step 4: Software set up

Picture of Software set up
mame_diagram.png
mame_roms_listing.PNG
mamedos_root.PNG
ug00a095.gif
Now that most of the hardware steps have been reviewed, let's talk about the software. Well actually let's talk first on the computer I'm using, from salvaged parts here and there. Rough specs:

  • AMD K6 II
  • 64 SDRAM
  • ArcadeVGA AGP Videocard
  • Sound Blaster PCI 128
  • 10 Gb Harddrive

It may appear completely outdated, and it is, but it's actually enough to run most games emulated by MAME. (however don't try to play digitize games such as Mortal Kombat or NBA Jam!). Please note I did not include a floppy drive or a CD/DVD drive since it will be irrelevant for the use here: I just temporary plugged a CD drive just to do the initial install and setup.

Besides the games that are in fact single computer files called ROM which contains a copy of the data from a read-only memory chip from an arcade game's main board, I'm using three different softwares:

  • First, the Operating System: I'm using Freedos which is a free and open source Operating system belonging to the DOS family. Just download Freedos from their website, burn the ISO file to a CD, launch the CD at the boot and follow the installation steps in order to install it on your harddrive. I'm also using a DOS sound card driver for the Sound Blaster PCI 128 that you can download from here. After downloading it, unzip it in the root of your harddrive (i.e. C:\). Then, go to the SBPCI folder and run install.bat. You can then delete the install folder SBPCI. At the next boot, the sound driver will be loaded with the execution of the autoexec.bat.
  • On top of this I'm using Mame for Dos. There are many different versions, I let you Google it (or Bing it) or you can use this version here. After downloading it, unzip it in a folder called MAME in the harddrive's root (i.e. C:\). Then copy all your game ROMs in the MAME subfolder called ROMS. Freedos and MAME for Dos make up the back-end.
  • Since Freedos and MAME for Dos are command-line only software, I'm using a frontend which is called Game Launcher. You can download it here (choose the DOS Binary zip file). After the download is completed just unzip the file in the harddrive's root. Game Launcher will be located in C:\GLAUNCH. You'll have to edit mainly two batch files (MAME.CFG and MAMESCAN.CFG) in order to let Game Launcher where MAME and the ROMS are located in your harddrive, see bellow. Also you'll have to manually launch MAMESCAN.EXE under the GLAUNCH folder to let it create an available game menu list for Game Launcher.

After all of the above is done, your filing structure should look like this in your C: drive (also see attached image):

DOS (the FreeDOS folder)
DOSDRV (the Sound Blaster driver folder)
GLAUNCH (the Game Launcher folder)
MAME (the MAME folder)
TEMP (a temp file folder)
autoexec.bat (file)
config.sys (file)

The above is just a general guideline, you're going to need some basic DOS knowledge, and read each software documentation if you really want to do it this way, but here is the content of the final autoexec.bat and config.sys (of course you can configure / customize it to better suit your needs):

AUTOEXEC.BAT
@ECHO OFF
SET BLASTER=A220 I5 D1 H7 P330 T6
SET SBPCI=C:\DOSDRV
C:\DOSDRV\SBLOAD.EXE
C:\DOSDRV\SBINIT.COM
C:\DOS\SMARTDRV.EXE
PATH C:\;C:\DOS;C:\MAME;C:\GLAUNCH
CD GLAUNCH
GLAUNCH.EXE

CONFIG.SYS
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS NOVCPI
DOS=HIGH, UMB

Also the two files MAME.CFG (under the C:\GLAUNCH\CONFIG folder), and the MAMESCAN.CFG (under the C:\GLAUNCH\ folder):

MAME.CFG
[Emulator]
# Emulator name, i.e. MAME
name = MAME

# Short description of emulator, i.e. Arcade Machines
description = Arcade Machines

# Location of emulator, i.e. c:\mame
directory = c:\mame

# Name of emulator executable, i.e. mame.exe
executable = dmame.exe

# Global options passed to emulator, i.e. -sound 1
global_options = -soundcard 1

MAMESCAN.CFG
[Main]
# The path to the MAME executable
mame_executable = c:\mame\dmame.exe

# The path to the MAME ROM directory
mame_rom_directory = c:\mame\roms

# This is a base path to use for the Game Launcher files to be
# created. Two files will be created by appending ".rom" and ".map"
# to this base path.
base_configuration_path = config\mame

Finally, to customize the control for Game Launcher you'll have to edit the section # Key mappings of the file GLAUNCH.CFG (under C:\GLAUNCH\).

Now that Freedos and the sound driver are properly installed, MAME is installed with it's ROM in the subfolder and Game Launcher is installed and configured, here is what happen when I turn on my cabinet:

  • Initial power up - BIOS screen is displayed
  • FreeDOS boots
  • AUTOEXEC.BAT & CONFIG.SYS starts to load
  • Sound card driver loads
  • GLaunch loads

From here I can select the game I wanna play from a list, using the sticks and the push buttons. I select a game, which is then launched with MAME for Dos and can then play with it. I have attached an animated picture that simulates what happens when I boot my machine.

Step 5: Conclusion / Links

Picture of Conclusion / Links
I have now reviewed each of the four key points for converting an Arcade Cabinets into a MAME cabinet.

Since it wasn't the primary objective of this Instructable, I deliberately overlooked the aesthetic aspect of it (you can find many different side arts, marquee art , control panel art or even plastic T-molding at online stores such as MAMEMarquees or ArcadeOverlays) or how to built your own enclosure cabinet.

I also completely overlooked the sound hardware part, but there's not much to say about it: it's just basically a sound card and just the matter of integrating a speaker inside the cabinet.

I have put together a set of picture of my MAME Cabinet on Flickr and you can take a look at it here to get some inspiration (or not) since you can see some details I overlooked here like the mouting of the motherboard inside the cabinet, the support bracket I custom made for the extension cards (PCI Sound Card and AGP Video Card), harddrive mouting brackets etc.

To end, let' me briefly review some links of interest:

  • Like on any topics, the online collaborative encyclopedia Wikipedia has some good articles of interest: about Arcade Games in general, about Arcade Cabinets and about MAME.
  • The official MAME website where you can download the latest version and read some related documentation.
  • The website MAMEWorld claims to be the "Largest MAME resource on the Internet" and I frankly believe this claim to be true ; a ton of information about various software, tips projects and so on.
  • Dos MAME support is I believe the most complete website documenting a DOS Arcade Cabinet running MAME. Great stuff there.
  • MAWS is THE database where you can find information about any games available for MAME ; a reference website !
  • KLOV for "Killer List of Videogames" is a full database of the different arcade cabinets produced throughout the years: 4000+ machines listed !
  • The BYOAC Wiki contains some really exhaustive information for whoever wants to build their own MAME Cabinet.
  • You got a problem, have questions or would like to show off your newly built MAME cabinet ? The BYOAC Forum is probably the most active forum of interest where you can some very resourceful and knowledgeable people.
  • The official Freedos website where you can download the latest installation CD or floppy disk as well as the related page, on Wikipedia of course.
  • The official website of Game Launcher, unfortunately the development has stopped in 2003, but Game Launcher is still a great a functional piece of software.

Some online stores I personally tried and was very happy with:

  • Ultimarc where you can find, among many other thing the ArcadeVGA Video Card, the I-Pac or even sticks and pushbuttons. Shipping from the UK with no problems at all. Really a great website.
  • MAMEMarquees or ArcadeOverlays are websites where you can order any type of graphics for your cabinet. Has many reproduction or can even do custom work, as you wish. I tried them both, excellent quality and service. Great stuff.
  • Finally, a book "Project Arcade: Build Your Own Arcade Machine" by John St. Clair Wiley Publisher that may be considered as THE Bible within the MAME community because of the thorough information it contains.

This concludes this Instructable. I hope you had enjoyed it !
Of course, feel free to ad any comments, remarks or questions below. Thanks !

You can view two shorts videos I made that summarize this Instructable:




ildiocr.isto.911 months ago

Hello! tks for the helpful info...but i don't understand this step about mainboard power on:

To solve this problem, I soldered together PIN # 14 (Green which is PS-ON) and PIN # 15 (Black which is COM) of the 20-pin ATX power supply connector. After this modification, the monitor and the motherboard would turn On and Off with the command of one level switch.

I've look your pic but i didn't see any RED cable +5v (the 20 of ATX) solder to other 2 ATX power connector...

JerryBoi8312 years ago
Hello I just finished building a "WeeCade" or Bartop MAME Arcade and have ALL the parts needed like the Mobo, PSU, Monitor and all the rest but im having a VERY difficult time because i want to know how to power the Mobo, Monitor, and Speakers all from the PSU. My son's birthday is in 4 days and i wanted this to be his surprise birthday present. I need help asap so if you or anyone could help i would greatly appreciate it. Please help Chrismake or anyone who can, please email me to "deeznuts4298@yahoo.com".

Thanks again!
A rough thought, but I would suggest a modular psu if u don't have not, as then u can manually mod a wire to create an adaptor for the monitor, and speakers...
1000w would be more than sufficient i think, anyone with more knowledge please correct as nessisary :-)

It would give enough juice to get some decent stability...

I'm contemplating on one I'm doing, mabye using a remote, and attach wires to the individual components via rf to turn em on :-)
ps. i want all to turn on from one switch like you did yours
supermorph2 years ago
Question on switch:
Pc cases are soft buttons, and the switch you show looks like a flick switch that doesn't go back to neutral position, so do you press it on then off in your case?

I'm building a manual game/mame box from scratch with a pc case for less wires hanging...

And was thinking of either extending the power switch or doing what you did,
With trying to figure the 4 second caveat (and make it kid proof lol)
I just bought and installed the Star Wars Arcade in my garage (http://wp.me/p1F8Wq-p1). Next step is your MAME cabinet. "Street Fighter II" here I come!!

-Dork Dad
how much did that thing cost.
kyleslab3 years ago
This is great because it highlights all of the main things
that must be done. I also liked how you integrated it as much as possible, no
keyboard or mouse inside and you kept it very authentic. The interface
part was a great help because I was going to build an arcade cabinet but didn't
because I thought I would have to buy the pricey controls. I'm using an emulator
called Stella, I will have to find out what the keyboard coding for my emulator is so I can do the same thing you did. Thanks, I have been looking for interface help on
Instructables for a while and now I found it.
alexmoi5 years ago
was thinking of fallowing your tutorial to build my own little arcde for the kids. Got all the parts. Got a intel celeron 733 mhz pc with a 32 mb graphic card. Everythign goes good. I install Freedos, but after installation, freedos won't boot on it's own. Am i doing something wrong?
jenkinch5 years ago
This is a great instructable, I am curently gathering parts to make one of these myself. I would just like to add a few things. I work for an amusement company  and work on these games every day. Most of the issues with making one of these can be solved with this:
http://www.arcadeshop.de/product_info.php?pidmod=us&products_id=us-829&currency=USD
It connects directly to the wire harness in these games with whats called a jamma connector and then connects to the PC, which then gets rid of all the complicated wiring. It fixes the monitor frequency issue and adds a sound amp so you can use the original speakers in the game. Also for the powering up issue most newer video games out right now (Big Buck Pro/Safari, Tokyo Drift, All the Merit Megatouchs) use normal computer inside them (Dell optiplexs, merit uses normal Asus and Foxconn Motherboards) You can set inside the bios of the computer to power on after power failure and they will boot up every time the game is turned on. With those two things you have a plug and Play Mame Arcade game! No Soldering or wiring except power to the computer!
taris_kah5 years ago
What wattage power supply did you use? Any idea what the wattagerequirements are on the screens?

Thanks!
mwwdesign5 years ago
Excellent 'ible. Keep it up!
slimguy3796 years ago
wow,iu already built mine but your way is very nice, im suprised this is not featured.mad props
chrismake (author)  slimguy3796 years ago
slimguy379 --> Thanks. In all modesty, I'm surprised too. ;o)
dont feel bad i felt a few of mine were worthy but i guess not. actually alot that i slapped together became featured
Decepticon6 years ago
That's a pretty good writeup on a conversion. I only wish I could find a used cabinet (in decent condition) to use. I plan on building my own cabinet once I get all the parts together.