Archive for February, 2015

arcade coin door

February 8, 2015

This isn’t a big hack, but it’s simple and something that can be done by anyone wanting to convert an arcade machine to MAME.  I started out with a 3-player coin door which is admittedly strange, but the cabinet used to be for Battletoads (a 3 player game).  I spent a long time stripping, cleaning, polishing, painting, and in general restoring this coin door.  Then I moved the cabinet 500 miles to college and 500 miles back.  It is ‘real arcade authentic’ now with it’s distressed look (I got really lazy).

coin door exterior

The coin mechanisms were purchased off of the BYOAC forum and have micro-switches that trigger any time a coin is accepted.  The door was originally lit by incandescent bulbs but I have replaced those with LEDs so I could change their power source (I only had 5 volts to work with).

White LED and resistor in original housing

MAME has a standard set of controls that are applied to all games, these controls default to keypresses on a keyboard.  For example: Player 1-4 start buttons are the number keys 1-4 and pressing 5-8 simulates putting coins into the player 1-4 slots on a real machine.  This list is mirrored here:

Main Keys
5,6,7,8 Insert coin
1,2,3,4 Players 1 – 4 start buttons
9,0 Insert service coin (Needed by some games)
F1 Enables raster special effects in certain games.
F2 Test/Service Switch
F3 Game Reset
F4 Show the game graphics. Use cursor keys to change the set or colour.
F7 Load a saved game state from a slot number.
Shift+F7 Save game state to 1 of 10 slots.
F8 Decrease frame skip during a game.
F9 Increase frame skip during a game.
F10 Speed Throttle (Makes game overspeed)
F11 Frames Per Second and Frameskip information
Left Shift + F11 Enables the profiler in debug versions.
F12 Saves image of game screen to snaps directory.
P Pause the game
Shift + P Skip one frame forward if paused.
Esc Exit from game
“~” or “�” (Above Tab) Volume Control
Tab Access Mame’s in-game menu
Control Keys (Default)
Arrow Keys Controller (Player 1)
Left Ctrl Fire 1 (Player 1)
Left Alt Fire 2 (Player 1)
Space Fire 3 (Player 1)
Left Shift Fire 4 (Player 1)
Z Fire 5 (Player 1)
X Fire 6(Player 1)
R,F,G,D Controller (Player 2)
A Fire 1 (Player 2)
S Fire 2 (Player 2)
Q Fire 3 (Player 2)
W Fire 4 (Player 2)
Not Set By Default Fire 5 (Player 2)
Not Set By Default Fire 6 (Player 2)

The actual interface between the coin slots and the MAME computer is a usb keyboard controller ripped out of a Superman Returns keyboard I got for free after rebate back in the day.  Some people may complain about interfacing with the key matrix and that it creates ‘ghosting’ problems, but this keyboard only needs 3 keys and they’re almost never going to be simultaneous.  The switches are normally open (or I connected them to the normally open contacts) so they simulate keys perfectly.

so hacky

The whole thing is glued to a playing card (I think it’s a lego basketball card) as a nonconductive substrate and glued to the coin door.  You can see I had grander plans for the keyboard controller when I originally freed it from the melted keyboard (don’t leave them in a hot car all summer, they curl nicely).  The matrix was reverse engineered the easy way: by tracing out all the conductive paint on the sheets of plastic with different colored sharpies.

This is a really simple part of the project, now go forth and MAME! having an unfinished MAME cabinet is a rite of passage for all nerds.

——ADDENDUM——-

So, apparently when setting up the software a control key is useful.  I added one switch behind the player 3 coin up, I wired it in parallel with that switch so you can either have a free coin (for player 3) or control the mame backend with it.