
I used an encoder from an old keyboard to interface the main controls. Basically each time a key is pressed on the keyboard it closes a circuit on two of the pins on the encoder. This send a signal in hex to the computer which decodes it and processes it as a key press. There are a few sites on the links page which can explain this better than I can but basically it's the simplest method, though not the best. The key press matrix was made by using keyhook software to get the full keyboard matrix mapped out.
I am eventually going to swap it for Andy's I-PAC at www.spaceinvaders.uk.com for ease of use and to allow a second keyboard.
Notice the wires coming from the joysticks and switches to the electrical block. The keyboard encoder is soldered to an old IDE cable which is perfect for the job as it keeps all the wires together tidily, then wired up to the other side of the electrical strip.

The easiest way to get a second joystick hooked was to buy a cheap joy pad and gut it. You can see where I've soldered two wires for each button to the PCB. which is in turn is wired to the cabinet controls. Tip: when doing this the contacts must be clean of any conductive paint on the board. I used fine wire wool to take it off. Also I used a small hobbyist drill to drill a hole 0.5mm in each of contacts. This allowed the wire to pass through, so keeping it in position and making the soldering so much easier. The joy pad incidentally has eight directions and four action buttons and an auto fire switch should you feel the need!

Here's the key press layout I've chosen. With this method I can control all of Windows menus without the need for a keyboard. Notice coin input No. 3 (insert coin). When the cabinet is locked to gain a credit you have to put some money in. With the front open you can access the control box and press `coin` to gain credit.

The coin mechanism is electronic rather than mechanical. Therefore when a coin is inserted it uses a series of electronic `pulses` to tell the (originally JAMMA) PCB how many credits to give. I couldn't just wire it up to the encoder but had to make up a small circuit to interface it. This converts the `pulses` into switches and is wired into the encoder - in this case to number 3 (insert coin). The circuit I made can be found here Full credit to Brian Lewis for the design of these boards - his complete JAMMA to PC page can be found on the links page.
The credit board takes new 10p's, 20p's, 50p's and £1 coins and can be set up for bonus games. You can see the small circuit interfacing the coin credit board and the keyboard encoder. I could have wired up the whole JAMMA loom using this method but decided against it as I'd need one huge circuit board and I don't have the correct electronic diagnosing equipment should I get stuck.

Here's the credit board. Manufactured by Mars Electronics the price and bonus of games can be set with dip switches as shown above. It can also be set to accept or reject certain coins. I have a printed copy of the credit board settings, so if anyone would like a copy let me know and I'll email you a copy.

Here's the front control panel shown from inside. The speakers only handle about 3-5 W RMS so sound on the original JAMMA PCB wouldn't be up to much. With the subwoofer system sound is much better. I still use the front speakers though, but get plenty of base grunt from the powered subwoofer. Base sound is non directional, so it booms out at the rear vent behind the cooling fan. Altogether sound is very good.

Here's the CD ROM drive, floppy drive (for those small files), mouse, and control box which at the present time controls some of MAME's parameters. The top button on the box is the frame rate button, perfect for optimizing game speed. Underneath there is ESCAPE, COIN, SET and PAUSE. SET is the tilde key, so controlling sound etc., when used with the joystick.
Questions/Suggestions/Comments :