Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Brad's MAME arcade story - Build your own vintage arcade!


Published on

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.

  • Be the first to comment

Brad's MAME arcade story - Build your own vintage arcade!

  1. 1. MAME Arcade Construction 101 157.5 : 1 Wherein Brad shares his experiences creating a MAME arcade machine in 2013 from a vintage Taito cabinet from 1981.
  2. 2. 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!
  3. 3. Vintage arcade machines are not just for playing alone, the fun is exponential by the number of people.
  4. 4. Software Configuration
  5. 5. 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
  6. 6. ROMs  Legal ROMs are available on the MAME website  ms/  Other ROMs are under copyright by their respective owners  I will not publish mechanisms to find these files
  7. 7. 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
  8. 8. 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
  9. 9. 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…
  10. 10. The default MaLa layout is workable, but let’s face it, you’ll want to customize it for your cabinet!
  11. 11. 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
  12. 12. Configuring MALA — Games List  RomLister created a list that was too long for me, and I wanted the older games, so…    Scan screen captures to see what triggers memories This process re-discovered games I would never have remembered   Sort games by date in the GUI Recognition vs. recall I made a spreadsheet to ensure that I made the right choice on my control panel / screen orientation…
  13. 13. Example of the information I compiled about my target games to determine how many buttons to use and which orientation for the screen.
  14. 14. 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…
  15. 15. Here is the version I’m using now, except the brochure is replaced with the cabinet photo.
  16. 16. The Cabinet — Build or Buy?
  17. 17. 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
  18. 18. 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
  19. 19. The Cabinet — Build Kit
  20. 20. 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
  21. 21. 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!
  22. 22. The Cabinet Restoration
  23. 23. 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)
  24. 24. I single-handedly got it out of the car, and the wheels made it easy to get into the garage.
  25. 25. 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.
  26. 26. 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.
  27. 27. 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.
  28. 28. One day… I’ve been playing with some graphics that I want to print at and overlay the wood panel. 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.
  29. 29. The parts are affordable!    Joystick:  Adam Allan is always willing to help  Pushbutton: Control board: $12.00 $1.85 $23.25 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.
  30. 30. The parts arrive from! It’s great to have a parts source in Canada so I don’t have to deal with random border issues.
  31. 31. 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
  32. 32. 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.
  33. 33. 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. 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.
  34. 34. 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. Oops, a red button was missing from the order. And where are my 1- and 2-player buttons going to go?
  35. 35. Painting the monitor mounting board and the control panel traditional black. The buttons in place. This is starting to look like a control panel. Buttons and joysticks mounted. I didn’t need to sandwich them, the joysticks were plenty long enough to mount under the plywood. The Xin Mo USB control board came with all the wiring I could possibly need. A great kit for the money.
  36. 36. 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.
  37. 37. The pushbuttons with the relays mounted. 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. 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 daisychained across the controls using the provided cables. My initial wiring of the buttons was wrong – they were set to alwayson. A quick flip of the positive wire fixed that. The windows game control panel made short work of the diagnosis.
  38. 38. 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
  39. 39. Mapping Controls in MAME   Start any game   Select Input (general)  The general setup is used by all games by default and can be changed on a game-bygame basis Press Tab to open the MAME configuration controls Map your User Interface and Player 1 & 2 Controls to the correct buttons
  40. 40. 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.
  41. 41. The full wiring. Notice that the negative leads (the top ones on the relays) are daisy-chained to one connection on the controller board.
  42. 42. Meanwhile, on the Bench
  43. 43. 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.
  44. 44. 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.
  45. 45. 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.
  46. 46. 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 pinouts to 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.
  47. 47. Putting it all Together
  48. 48. 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. 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.
  49. 49. The coin mechs worked. This was a shot before I stripped the wires.
  50. 50. 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.
  51. 51. 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.
  52. 52. 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.
  53. 53. Time to get the soldering iron hot, we have some audio to install.
  54. 54. Cheap and plentiful, old PC speakers provide plenty of volume and sound quality for the electronic sounds of the old games. 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. Ripping out the audio board was easy, and the speaker wires were simple to strip. Velcro patch to mount the board.
  55. 55. 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.
  56. 56. 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. Not shown are the wires to the coin lights. Let’s face it, you simply must have the coin lights working. 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 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.
  57. 57. 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.
  58. 58. 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.
  59. 59. 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.
  60. 60. Clean and simple. That’s how I like it.
  61. 61. There are great places to have bezels printed, but for efficiency I decided just to paint the back of the Plexiglas black. The job isn’t perfect, and I’ll want a real bezel one day, but for now it totally fits the bill. 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. 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.”
  62. 62. 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.
  63. 63. There is still the issue of the giant gap under the control panel. The original control panels often wrapped around and covered this area.
  64. 64. 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
  65. 65. Looks like a good fit.
  66. 66. Paint it black, and we’re good to go.
  67. 67. I really want a marquee printed by 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. It is far from perfect, but there is color there where there wasn’t before. This now looks like a real arcade machine!
  68. 68. 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!
  69. 69. What do I Need?
  70. 70. 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
  71. 71. 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
  72. 72. Time — 157.5 hours Task 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 15 6-Aug-13 2 30-Jul-13 Design control graphics Clean cabinet 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
  73. 73. 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