Welcome to my new Superoma MAME website! 

I started this project back in December, 1999 when the concept of MAME was still pretty much brand new.  I wanted to build something simple that could store all of my classic arcade games in one cabinet, due to space limitations in my current home. (I currently have them locked up in a storage facility awaiting the day when I can relocate them to a new home). Anyway, I read about the MAME project earlier in the year and decided to give it a go.  This page will provide details on the outcome of the project.

MAME 

What is MAME?  MAME is an acronym that stands for Multiple Arcade Machine Emulator.  Nicola Salmoria and a team of other people came up with the concept to: "preserve many historical games from the oblivion they would sink into when the hardware they run on will stop working".  The MAME team ripped software off of the ROM chips on the game boards from basically every arcade game ever made and stored them in ROM files.  They modified the software to conform to various standards used by MAME software.  They then posted these files on the internet to freely share.  They also created a MAME software program to run the software which is also freely available.  Since then, many arcade hobbyists have downloaded the MAME software and ROM files and they built their own arcade games for their own home use.  Please note that there have been stories of riffs with software developers having their hard work freely shared with others.  As a result, there may be some legal issues involved with sharing the ROM files.  However, it has been stated on MAME web sites that if you own the game boards containing the software, you may make back-up copies of the ROM images for your own use. 

GETTING STARTED

I started out by reviewing many of the wonderful web sites created by the hobbyists who successfully created their own MAME arcade machines.  Some of them spent countless hours replicating actual classic arcade games in every detail.  Others made super modern machines that contain every possible feature imaginable.  Some of the machines were built using existing arcade cabinets modified to contain their new MAME retrofitted computer.  These ranged in size from small table top cabinets to cabaret size to super sized models containing a 32" monitor and everything in between.  There are numerous examples of many different configurations.

Reviewing these web sites gave me some ideas and helped me understand some of the complexities others before me faced.  I knew I had space limitations, so I wanted to limit the size of my MAME project to be as small as possible.  I was also only interested in backing up a few classic games that I owned, so many of the extra special features used on others' machines were not needed.  I wanted to build the absolute simplest machine possible.  I made up my mind to build a simple console that could be easily moved and that could be simply plugged into my game room computer.  I also wanted to limit costs (and save money up to buy pinball machines!).  So, I had a general idea of what I wanted.  Onto diving in and building!

DOWNLOADING SOFTWARE

As mentioned above, all of the MAME software is 100% free!  (This really helped my budget!).  The actual MAME program comes in several different flavors with pros and cons about each of them.  As I wanted simplicity, I choose to download the MAME32 windows based program.  There are various other MAME programs available - some boot from DOS, others have other features that help the MAME experience more closely emulate the original arcade game experience.  I choose MAME32 software as it seemed to be the easiest to use, especially since it is windows based.  I was able to obtain the MAME32 program (as well as many other programs and information) from this web site: http://www.mameworld.net/.

Once I downloaded the MAME32 software, I unzipped the files and set up the software.  Many MAME'rs before me provided excellent directions on how to do this.  Here is a link to one of the better guides: http://www.mameworld.net/easyemu/index.htm.

After downloading the MAME32 software, the next step was locate the ROM files containing the game specific software.  This turned out to be a bit difficult due to legalities.  Fortunately for me, I had downloaded most of the ROM software for the games I own back when it was more freely distributed.  However, there are still several web sites out there that make the software freely available.  Use the MAMEworld web site as a starting point for your search.  When you do find the software, download the ROMs to the ROM folder file within MAME32.

My first download was for the Space Invaders game (my Taito Space Invaders arcade game was down for repair and I needed a substitute to fill the void).  Upon first playing the game, I was very impressed by the likeness to my original game.  However, I was also dismayed by the lack of sound, until I realized that many of the classic games (such as Space Invaders) require additional sound patches - also available from the MAMEworld website as freeware.  I was now in seventh heaven - it worked flawlessly!  (Aside from the fact that the sounds were a bit off, but what the heck?)

KEYBOARD INTERFACE

The next step involved making a crucial decision:  What method to use as an interface for the game controls?   Currently, I used the keyboard keys designated by MAME software.  However, I wanted the look and feel of a real arcade game - with real arcade buttons and a joystick.  This topic is widely discussed in the many MAME hobbyists' web sites. 

I initially decided I would build my own interface.  I was very impressed by a design known as the ButtonBox designed by some guy in Australia: http://w1.132.telia.com/~u13205992/buttonbox/index.htm  I had heard of others hacking up a keyboard to use the keyboard interface.  The downside was that this often caused a problem commonly known as ghosting or masking, when certain keys are pressed down simultaneously.  The other choice was to buy a keyboard interface ready-made, however at the time these cost mucho $$. Besides, I wanted to build my own project from bottom up, as much as possible to make it a great learning experience.

Initially, I decided to give the Button Box a try.  The cost of the various parts needed to build the interface was approximately $31.25.  At the heart of this interface device was an Atmel AT90S2313 micro controller chip. This chip would need to be programmed with the free software that came with the plans. It would be a great learning process in using micro controller chips - something that has always fascinated me.  The downside to this design was that in addition to purchasing the parts and building the interface, I would also need to purchase a programmer to flash program the Atmel chip, which immediately altered my decision to proceed with this interface, as the programmers cost well over $200.  I've read on one of the bulletin boards that someone was able to flash program the Atmel chip using a device called a smart card unlooper, widely used for smart card security.  These devices were being sold for under $60.  I may give this a try later down the road.

Update:  I put together a prototype of the above mentioned interface.  It actually works very well, although I have not yet fully wired it up to buttons and a joystick yet.  If anyone is interested in purchasing one of these ready built, please let me know by email: arcadenutguy@yahoo.com.  If I get enough people interested, I may make up a batch of PCBs and market them.  Check this page for more details: Button Box Offer.

I reverted to plan B, hack an old keyboard and map the contacts used for the keys to the buttons used on the arcade console and joystick.  Fortunately for me, by the time I got started building the arcade console, advances were made to the software to prevent the ghosting effect.  I pulled out an old keyboard from my electronics junk box and plugged it into my designated MAME computer to make sure it worked.

The downside to doing a keyboard hack is that you need to test each contact yourself to determine the keystroke.  This took about two tedious and boring hours to do, but once done you are halfway there!  By the way, each keyboard is different and could potentially have a different mapping, even if produced by the same manufacturer! 

The instructions for mapping the keyboard strokes are clearly outlined in the MAMEworld instructions for MAME32 document.  Basically, test the keyboard with the computer you will be using for MAME (you want to especially be sure the keyboard plug fits in the computer before hacking it!).  I used an old Comqaq Pentium 2 PC with a PS2 keyboard port.  I also use a nice 19" super VGA monitor.

Next, remove all the screws on the bottom of the keyboard.  Separate the two halves of the keyboard.  Follow the cord to locate the keyboard interface board.  Unplug the connector and unscrew any straps or screws that hold the board in place.  Throw all the keys and other plastic garbage out.  All you will need from this point on is the board with the cord attached.

Boot up your MAME PC and download the Keystroke program from the MAMEworld website.  Run the Keystroke program.  This program will help you map out the keystrokes. Plug the keyboard interface into the back of the MAME PC, and tape the interface board down to the table so it does not move around while you are mapping out the keystrokes. Make sure you don't tape across the edge connector contacts.

On the keyboard interface board I mapped out, the first four and the last four contacts on the edge of the board were what I call the control connectors.  Using a small piece of bell wire, bared at both ends, touch the first control contact and the fifth contact.  Observe the screen and note which key is hi-lited when contact is made.  Make a note of the keystroke (e.g., 1 + 5 = E).  Next, touch contacts 1 and 6 and make note of the keystroke.  Then do one and seven, etc. until you get all of the possible combinations for the first contact.  Then do the second, then third, then fourth.  Finally, do the fourth from last, third from last, second from last, and last contact.  You should get a pair of numbers to represent each keystroke.  You will get some duplicates - don't be alarmed about these.

My neighbor was getting rid of his old kitchen cabinets, due to a renovation, so I snatched one of the shelves he was discarding. The shelf measured approximately 1" X 12" X 28".  I sanded it down a bit and painted it red using a high quality metallic spray paint. 

I used a joystick/button template to map out the location of where all the buttons and joysticks would be placed.  Once again, there are lots of possibilities here, but I decided to go with a template used by some of the standard controls. I marked the board by placing the template I printed at this web site:    I used a razor knife to mark a small X for each button center.  I then drilled the holes using a 1 1/8th" spade bit drill in my cordless drill.  (In hindsight, I would have gotten a little better results had I used my drill press).  Tip:  Keep the drill straight when drilling the holes so the button shaft goes through.

I purchased most of my buttons and two joysticks for about $20 from a vendor called X Arcade Gaming via Ebay.  They only sell black buttons but I wanted to add some color to the game so I used some spare parts I had in my electronics junk box.   X Arcade has a website: http://www.x-arcade.com/.  You can buy their parts - or if you're less adventuresome, buy their ready-made controllers for less than $200.

The microswitchs are located below the buttons.  They can be mounted with the lugs below the switch (such as on the white button above) or to the side (such as the X Arcade black buttons on the left).  Either type works fine.

The joysticks each have four microswitchs mounted below them.  When you push on the joystick control, a knob that protrudes under the control panel presses one of the switches.

The buttons have long, threaded shafts that fit nicely within the 1 1/8" holes in the control panel.  A nut tightens over the shaft to secure the button in place.  Then microswitchs can be inserted in place.

The parts slipped right in to the holes I drilled in the red board.  The joysticks came with some extra plastic bushings that I did not need. I tightened everything down and pressed each button and listened to make sure they all clicked.  A few adjustments were needed, especially for the joysticks, as the buttons did not click when pressed by the joystick rod (simply bend the metal contact back a bit).  I then numbered each button based on the corresponding MAME software keystrokes used by the games.

There is also an extra button under the console for the Escape button.  I located it under the console to prevent accidental pressing.  This way, if we are having a party and someone is playing the game, they will not have to interrupt me if they screw up and press it!  

On top of the console, I included buttons for two players.  Button 5 adds a credit for one player, 6 adds a button for two players.  P pauses the game play (great if I have to answer the phone or change a diaper!).  The black buttons are standard game play buttons assigned to most of the arcade games.  Each joystick uses 4 microswitchs: One for up direction, one for down, one for left and one for right.  Tip:  When wiring your joysticks, keep in mind that when you want to move in the down position, you actually operate the upper switch (and down switch to go upward).  When you want to move right, you actually operate the left switch (and right to go left).

I next took the interface board and cleaned the edge connector contacts off with a razor knife to prepare for soldering.  I decided I would make a permanent connection, rather than opt for installing removable connectors.  Solder will not stick to the contacts unless they have a clean metal contact.   This step is a bit time consuming and requires great care not to scrape too deep and remove the trace altogether. 

Once again, economy prevailed.  I cut up 20" lengths of standard bell wire using two colors: blue and yellow.  I soldered the blue wires to the first four and last four contacts.  I soldered the yellow wires to the rest of the contacts.  I numbered each wire with a small piece of masking tape.  

Then, I soldered the blue and yellow wires to the lugs on the microswitch buttons.  Where a numbered wire is used for multiple buttons, I daisy chained the connections from one switch to the other.  I tried to keep soldering to the interface board to a minimum.  In one instance, I scraped too much off of the edge connector contact, so I had solder the wire to a pin off of the IC chip on the interface board.

After soldering and testing each key, using the keystroke program again, I used a hot glue gun to glue over the edge connector contacts.  That provides extra strength to the connection.  I also hot glued the interface board to the underside of the board and tacked it to the board.

I made a simple frame for the control board using a three inch strip of wood for the front and back, and four inch strips for the two sides.  I glued and nailed them together and painted them black.  The control board rests on top of the two three inch pieces and is held in place by pressure by the two four inch pieces. 

To add some flair, I made a decal using MS WordArt and printed it in color.  I sprayed the decal with two coats of clear, high gloss lacquer and stuck it to the front three inch strip of wood.

I store my computer keyboard under the control, along with the mouse.  When I wish the use the computer for other than playing games, I simply plug in the keyboard.  When having fun, the game console covers the keyboard and mouse.

Here is an approximate price list of the parts used to create my SUPEROMA MAME  project:

Switches and Joysticks  X-Arcade     $20

Wire Radio Shack                                   2

Red and Black Paint                               6

Wood                                                        5

Keyboard (for hack)                              10

                                                            ----------

Total                                                      $43

The game is now complete and ready for these sticky fingers.  Have fun!

 

"Thank you daddy for providing me with more fun arcade games than anyone else in the whole world!"