brad's mame arcade story - build your own vintage arcade!
DESCRIPTION
This deck shows how I took an old TAITO vintage arcade cabinet and made a MAME-based gaming machine for two players that runs 193 games.TRANSCRIPT
MAME Arcade Construction 101157.5 : 1
Wherein Brad shares his experiences creating a MAME arcade machine in 2013 from a vintage Taito cabinet from 1981.
Early in 2013 I discovered MAME and I began to dream of my own arcade machine. Once I got the bug it was only a matter of time before I built one and put it in the basement. I actually dreamt of it in the living room, but my lovely wife has veto power up there.
When I was a 13-year-old kid in Nanaimo I went to the “Fun Centre” arcade with my cousin Trent and plugged quarter after quarter into the buzzing, beeping machines. I wasn’t very good nor did I have the attention span to develop real skill, so I dreamt of having unlimited quarters.
I would have never guessed that come 2013, and thanks to the volunteer open source programmers who created MAME, I’d have something better than unlimited quarters – unlimited games AND unlimited quarters!
Vintage arcade machines are not just for playing alone, the fun is exponential by the number of people.
Software Configuration
What is MAME?
MAME = Multiple Arcade
Machine Emulator
Project created to save old
video games from extinction
The fact that they can be
played has created a bit of a
cottage industry
ROMs are “read” into source
binaries and MAME fools them
into thinking they are on a
board
ROMs
Legal ROMs are available on
the MAME website
http://www.mamedev.org/ro
ms/
Other ROMs are under
copyright by their respective
owners
I will not publish mechanisms
to find these files
MAME is Configurable
To accommodate all the
different cabinet types,
MAME has developed a large
amount of configurability
The key files are:
All Games.mlg (for MALA)
catver.ini
controls.ini
nplayers.ini
These files are also used by
RomLister
Arcade Front Ends
MaLa
The front end created by some
of the same open source team
members as MAME
Simple, and highly
configurable
HyperSpin
Flashy and built for machines
that contain many emulators
Others
There are many other, less
popular, front ends
Configuring MALA — First Run
On first run a bunch of files
get created
“all games” files are most
important
Must re-run initial start to get
the file if anything happens to
it
Then you get…
The default MaLa layout is workable, but let’s face it, you’ll want to customize it for your cabinet!
Configuring MALA — Games List
Create full game list that
contains only the games you
want
MalaGamelist allows you to
create a more manageable
list
RomLister auto-generates
based on the controls you
have
Configuring MALA — Games List
RomLister created a list that
was too long for me, and I
wanted the older games, so…
Sort games by date in the GUI
Scan screen captures to see
what triggers memories
This process re-discovered
games I would never have
remembered
Recognition vs. recall
I made a spreadsheet to
ensure that I made the right
choice on my control panel /
screen orientation…
Example of the information I compiled about my target games to determine how many buttons to use and which orientation for the screen.
Configuring MALA — Screen
MALA uses a layout file to
create the screen
MalaLayout.exe
Time
Marquee
Screen Shot
Control Panel
Game Details
Game Name
Game List Details
Cabinet Shot
And many more…
Here is the version I’m using now, except the brochure is replaced with the cabinet photo.
The Cabinet — Build or Buy?
The Cabinet — Build
Build or Buy?
Build
You can get exactly what you
want
Room for as many controls as
needed
Will take some woodworking
skills, tools, and a workshop
The Cabinet — Build
Build or Buy?
Build
You can get exactly what you
want
Room for as many controls as
needed
Will take some woodworking
skills, tools, and a workshop
However!
Beware the Crapmame
syndrome
The Cabinet — Build Kit
The Cabinet — Build Kit
Sometimes you can find a
local guy with access to a
CNC machine can make kits
For example, in Toronto:
1-player bartop: $150
2-player bartop: $175
Small cocktail: $250
Large cocktail: $300
Visual pinball: $350
Bartops can be made as full
uprights but pricing is $425
Kits use mortise and tenon
joinery and glue together
The Cabinet — Buy
Build or Buy?
Buy
Cabinet can be authentic to
the time you remember
They tend to be smaller (but
you can build smaller ones)
Buying is way easier than
building
However!
You won’t be able to get all
controls on one panel
Solution: multiple panels!
The Cabinet Restoration
When I found two cabinets for sale on Craigslist the vintage Taito won over the home-built model because:• It fit in my Honda Fit• It had wheels for rolling• It was a real cabinet from 1981• It fit in my Honda Fit (can’t stress
that enough)
I single-handedly got it out of the car, and the wheels made it easy to get into the garage.
It was already mostly gutted, but still had to clean it up, rip out the wires, and make a list of tasks to get it together.
Scale drawings of the available
control space
I created a space in Visio where I could play with different layouts at scale. The shaded regions are where the cabinet wood intrudes on the control surface underneath.
My first control panel (not the
only control panel)
The first control panel ended up looking like this. These are enough buttons for the games I want and the two player layout fits perfectly in the vintage cabinet. Notice I failed to include the 1- and 2-player buttons, they show up later.
One day…
Recently I had the idea of getting the whole control panel printed at a laminating shop directly on fiberboard and mount the controls on that. It seems like it should work.
I’ve been playing with some graphics that I want to print at GameOnGraphix.com and overlay the wood panel.
The parts are affordable!
Joystick: $12.00
Pushbutton: $1.85
Control board: $23.25
Adam Allan is always willing
to help
Other sites as well if you can
stomach international
shipping, depending on where
you are. I haven’t heard of
any issues but do your
research.http://wiki.arcadecontrols.com/wiki/Vendorshttp://www.ultimarc.com/
http://www.multicade.ca/
The parts arrive from Multicade.ca! It’s great to have a parts source in Canada so I don’t have to deal with random border issues.
http://www.slagcoin.com/joystick/mounting_layering.html
Don’t Over-design
There is a lot of information
online about creating control
panels
My experience is that over
planning just gets in the way
Create your layout and screw
the damn thing together
For Example…
It turned out that one hardboard layer and the plywood was fine, I didn’t need the second layer for the joystick mounting plates.
In fact, I think the plywood would have been fine on its own, just make sure to get cabinet-quality wood that has a “good” side that is nice and flat.
The hardboard does provide a great surface so I may still do this on my next control panel.
You can’t countersink hardboard by hand using a large drill bit – it rides up the bit every time. Buy a special countersink bit for this task.
Align and bolt the two pieces together. Make sure the second bolt is in the right place for trimming the panel width.
Cut to correct dimensions.
Now you have a clean cut through all the sandwiched boards and you’re ready to drill some more bolt holes.
Oops, a red button was missing from the order. And where are my 1- and 2-player buttons going to go?
Pieces bolted together and the pushbutton holes started.
A spade bit worked, but you’ll get cleaner edges with a hole saw. It’s worth the extra few dollars.
For the joysticks I just traced the mounting holes. You can mount in any orientation as the wires will define up / down / left / right.
The Xin Mo USB control board came with all the wiring I could possibly need. A great kit for the money.
Painting the monitor mounting board and the control panel traditional black.
Buttons and joysticks mounted. I didn’t need to sandwich them, the joysticks were plenty long enough to mount under the plywood.
The buttons in place. This is starting to look like a control panel.
Using an old, cheap, Bic-style pen made great offsets for the board. The height afforded by 1½” wood screws gives lots of room to work.
My initial wiring of the buttons was wrong – they were set to always-on. A quick flip of the positive wire fixed that. The windows game control panel made short work of the diagnosis.
The pushbuttons with the relays mounted.
Initial wiring to the Xin Mo board. This shows the positive leads being connected to the pins on the board. The negative leads will be daisy-chained across the controls using the provided cables.
The joysticks were a close fit with the edges of the cabinet where the control panel rests so a couple of the connectors had to be bent a bit.
Testing USB Joysticks
Open the Game Controllers
dialog (from Devices)
You should see two USB
Joystick controllers
Opening properties will show
the joystick movement and
the buttons
Test all connections
Then map connections in
MAME
Mapping Controls in MAME
Start any game
Press Tab to open the MAME
configuration controls
Select Input (general)
Map your User Interface and
Player 1 & 2 Controls to the
correct buttons
The general setup is used by
all games by default and can
be changed on a game-by-
game basis
Testing the control panel on a handy laptop. It’s great to be able to set up MAME on a laptop and then move everything over to the arcade system on a USB key. It works this way because the programmers are careful not to depend on OS-specific things like the Windows Registry etc.
In theory I could connect the XP machine to my internal network and just copy the files over but I want the system to be standalone so I don’t need to ever apply further patches so I’m never going to connect it.
The full wiring. Notice that the negative leads (the top ones on the relays) are daisy-chained to one connection on the controller board.
Meanwhile, on the Bench
My first choice for a PC was an old IBM system I had hanging around. I remember it being slow but I thought it should be ok.
This old computer couldn’t even get out of its own way. I was afraid of all the IBM hardware re: clean install of XP so I abandoned this one.
My next one was a great old 2.0GHz Intel board. I was confused when it wouldn’t get past BIOS and I finally discovered a nick in the CPU traces on the motherboard. I should improve my storage techniques.
Finally, success! I found an old Optiplex 2.6GHz board on Kijiji for $10. Three hour trip later (traffic in Toronto is always hell) and I had my board.
I had to figure out the Dell pinoutsto get it to boot, but once I got it running I just set it to auto-boot on power.
In the background you’ll see an old ATI video card with NTSC out. The Dell motherboard graphics didn’t make the cut for MAME and this way I can use a TV in the future if I want to.
Putting it all Together
Got both sides connected and they are still holding four months later. If the control panel slips fore / aft I might needs pins but for now it’s solid.
The old cabinets had quick-release latches for the control panels. This looks like it would make a great way to mount my new panel.
Some wire clothes hangers provided the raw materials needed to create the control panel hangers.
The coin mechs worked. This was a shot before I stripped the wires.
A poor man’s VESA mount for the LCD monitor. Finding the right metric bolts was a pain, but Canadian Tire came through where Home Depot failed.
The motherboard came on a tray from the original PC and this made a great quick-detach mount for the side of the cabinet. I kept all the equipment on the wall to avoid anything falling on it.
Always drill pilot holes in MDF, the stuff is hard and will either strip the hole or rip the head off the screw.
The first game started up on the cabinet with the real PC and monitor installed.
Purists say a real arcade monitor is needed but I find the old LCD fine for my purposes, and I had it free. LCDs can get dark at some view angles though, so YMMV.
Other options include old CRT TVs (I chose a video card that would work in that configuration), or old CRT computer monitors.
Time to get the soldering iron hot, we have some audio to install.
Velcro patch to mount the board.
Cheap and plentiful, old PC speakers provide plenty of volume and sound quality for the electronic sounds of the old games.
Ripping out the audio board was easy, and the speaker wires were simple to strip.
Some industrial-strength Velcro will hold the board to the cabinet. I could have mounted with offsets like the controller board but this is easier.
The board mounted. The speaker wire connections (large bolts) were eventually covered in electrical tape. The two speakers (right is original) work fine and I don’t have any real stereo games anyway.
The bulbs used in the old cabinets are not easy to find, but a quick search found the 6V, 0.15A, bayonette bulbs at places I could order from online in Canada. I used RP Electronics.
Not shown are the wires to the coin lights. Let’s face it, you simply must have the coin lights working.
The coin mechs with the wiring that connects to the Xin Mo controller board. These connections map to pushbuttons that are set as Coin 1 and Coin 2.
Beware some games that map the Coin relays to more than one credit (Williams games had Coin 2 set to a dollar bill reader and gave 4 credits in Joust).
The 6V bulbs weren’t very bright so I wired them to the +5V and -5V (which provides the equivalent of 10V). The bulbs burned very bright but the power supply had a 1Amp breaker on the -5V side and it failed.
Back to plain old 5V operation. The bulbs aren’t as bright but they should last forever.
Shots of the final layout and wiring of the cabinet interior. I kept everything on the walls to keep the whole thing organized and clean and protect the motherboard from anything that might fall on it.
Eventually, I ripped the power strip wiring apart and mounted it through the original on/off switch in the front floor of the cabinet. This allows me to turn it on and off without messing with an external power bar.
I have MaLa set to shut down Windows when I hit a two-button combination and the motherboard boot-on-power setting takes care of the rest.
Clean and simple. That’s how I like it.
Don’t make the same mistake I did and cut the tape on the Plexiglas with a knife, the blade will score the plastic.
Oh well, it’s not “the bezel” … it’s the “first bezel.”
There are great places to have bezels printed, but for efficiency I decided just to paint the back of the Plexiglas black.
Using masking tape and black spray paint did the job. Don’t read the hype online about how to cut Plexiglas, it’s way too anal. If you won’t be seeing the edge, just grab your skill saw and have at it.
The job isn’t perfect, and I’ll want a real bezel one day, but for now it totally fits the bill.
It’s starting to look like an arcade machine. A couple of cigarette burns in the Plexiglas are the only things that would make it look more authentic.
There is still the issue of the giant gap under the control panel. The original control panels often wrapped around and covered this area.
Some hardboard and a couple of wood mount hanger bolts will hold this in place.
First, mount the bolts into the cabinet wood, then put some black ink on the ends and press the hardboard onto them.
That’s where you need to drill your holes.
Hanger bolt
Looks like a good fit.
Paint it black, and we’re good to go.
It is far from perfect, but there is color there where there wasn’t before. This now looks like a real arcade machine!
I really want a marquee printed by GameOnGrafix.com but the guys were coming over for the inaugural Vintage Arcade Party so I needed a quick fix.
Masking tape and some colorful spray paint did the trick.
The first guest to the party had the honor of helping me get the machine downstairs (thanks, Franz). It’s heavy, but the wheels on the back make it easy to move and I had a straight-shot from my side door to the basement.
Welcome to your new home, 1981 Taito cabinet!
What do I Need?
Money — $419.60
Item Cost, Ea. # Cost, Tot. Date Supplier
Taito Generic Cabinet, Green $150.00 1 $150 27-Jul-13 Craigslist
Celeron 2.26GHz MB & CPU $10.00 1 $10 15-Aug-13 Kijiji
80GB IDE HD $ - 1 $ - - Existing
ATX Power Supply $ - 1 $ - - Existing
Joysticks $12.00 2 $24 5-Sep-13 Multicade
Push buttons $1.80 8 $14 5-Sep-13 Multicade
Player start buttons $1.80 2 $4 5-Sep-13 Multicade
Plywood mount for LCD $25.00 1 $25 10-Sep-13 Home Depot
LCD Monitor, 19" $ - 1 $ - - Existing
Keyboard $ - 1 $ - - Existing
Mouse $ - 1 $ - - Existing
Plexiglass panel $45.00 1 $45 10-Sep-13 Home Depot
Xin Mo arcade controller USB with wires $23.25 1 $23 5-Sep-13 Multicade
Hardboard for control surface $5.00 2 $10 10-Sep-13 Home Depot
Speaker $1.95 1 $2 5-Sep-13 Multicade
Bolts for controller construction $10.00 1 $10 10-Sep-13 Home Depot
Strapping to secure monitor $2.00 1 $2 10-Sep-13 Home Depot
Cable routing clips (pack of 10) $2.00 2 $4 10-Sep-13 Home Depot
Black spray paint $10.00 1 $10 10-Sep-13 Home Depot
Countersink bit $7.00 1 $7 16-Sep-13 Canadian Tire
VESA mount bolts $1.00 4 $4 30-Sep-13 Canadian Tire
Industrial Velcro $6.00 1 $6 2-Oct-13 Canadian Tire
Monitor mount stove bolts $2.00 4 $8 2-Oct-13 Canadian Tire
Zip Tie mounts $1.00 3 $3 7-Oct-13 Canadian Tire
Replacement bulbs for marquee $1.72 20 $34 13-Oct-13 RP Electronics
Hangers for marquee $4.00 1 $4 11-Nov-13 Canadian Tire
Paint for temporary marquee $5.00 4 $20 8-Nov-13 Canadian Tire
Computer
Item Description
CPU Intel Pentium Celeron single core 2.26GHz
RAM 1 GB
Video ATI Radeon (PowerColor) c. 2001
Hard Disk Seagate 7,200 RPM 80GB IDE
Arcade Controller Xin Mo buttons-to-USB interface
Sound Creative Labs SoundBlaster Pro c. 1995
Speakers KOSS all-in-one PC speakers, dismantled
Keyboard Generic PS/2
Mouse Generic PS/2 (mechanical ball)
Operating System MS Windows XP SP3, fresh install
Time — 157.5 hoursTask Hours Date
Research & load MAME 20 7-Jun-13
Find ROMS 20 7-Jun-13
Configure MALA 10 6-Sep-13
Pick up cabinet 3 29-Jul-13
Design control layout 5 6-Aug-13
Design control graphics 15 6-Aug-13
Clean cabinet 2 30-Jul-13
Map games to controls and screen orientation 10 1-Aug-13
Build control panel - 1st try 4 15-Sep-13
Pick up motherboard 3 16-Aug-13
Build control panel - 2nd try 4 16-Sep-13
Wire control panel 4 23-Sep-13
Home Depot 1 4 11-Sep-13
Canadian Tire 0.5 16-Sep-13
Paint control panel 2 17-Sep-13
Mount motherboard 1 24-Sep-13
Mount PC components 4 30-Sep-13
Mount monitor 4 30-Sep-13
Control panel locking mechanism 1 1-Oct-13
Wire coin mech 2 2-Oct-13
Install audio amp 2 2-Oct-13
Configure MALA 1 4-Oct-13
Configure MALA 4 5-Oct-13
Zip tie cables & wire coin mech lights 3 8-Oct-13
Cut plexiglass bezel 2 9-Oct-13
Paint bezel 2 14-Oct-13
Review Games 8 1-Sep-13
Configure MALA 8 8-Nov-13
Configure MALA 2 11-Nov-13
Bezel Mounts 1 11-Nov-13
Mount light power supply 2 13-Nov-13
Configure MALA 4 25-Nov-13
Summary
So far:
$419.60
157.5 hours
6 months
20 litres of beer
Coming next:
Printed Marquee
Printed Control Panel
Second Control Panel with
trackball and spinners /
steering wheels