Every so often, that console-modding Benjamin Heckendorn wanders away from his lair at benheck.com to share some interesting projects with Engadget.
If you're like us, you probably have many fond memories of playing arcade games in your younger days. As the years passed the consoles became the most advanced machines available and arcades faded from the limelight, eventually popping up only as the occasional deer-slaying simulator or 500th version of Golden Tee.
In this How-To we're going to describe the method by which you can take old arcade motherboards, easily attainable on eBay, and "consolize" them for use with a standard TV and controllers. Many people are satisfied with emulators such as MAME, and while they're become better and even more legal (thanks to the recent "abandonware" legislation) you still can't beat the real deal. Certain arcade machines, such as the Neo-Geo, are great choices for this project because you can actually plug new games into the hardware using the cheap and plentiful "MVS Cartridges."
Another benefit of this project is that it can start you on the path to building one of the coolest home accessories around -- your own arcade machine! Since you can use a cheap standard TV instead of an expensive RGB arcade monitor it'll cut much of the cost out.
Alright, let's get started on this puppy!
Back in the 1980's a standard was created that allowed most arcade machine cabinets to use easily interchangeable game PCB's (printed circuit boards). It was called JAMMA, which stands for Japanese Amusement Machine Manufacturer's Association. This involved a card-edge connector on the cabinet side (like a cartridge slot in a game system) that plugged into the arcade PCB. It contained all the required connections, from power to video output, sound, coin detection and game controls. For this project we'll be covering JAMMA machines, which is most units made from 1986 onward.
A close-up of the JAMMA edge connector on a motherboard. The left portion is for power, the larger right portion is for everything else.
For this project's example I have chosen a Neo-Geo MVS (multi video system) motherboard, as seen below.
Parts we'll will need:
An arcade machine motherboard: Find these on eBay by searching for "gamename PCB." For a Neo-Geo use "neo geo mvs" The Neo-Geo arcade cartridges themselves are "[game name] MVS." Neo-Geo motherboards can still be a bit pricey (especially for the ones with multiple cartridge slots) but the games themselves are usually quite cheap, making it an overall good investment. Neo-Geos are very popular to consolize.
JAMMA hardness: We can make connections to the JAMMA traces on our PCB one of two ways. The first is to solder directly to the copper traces - this works but of course kind of locks us into only that board. If we're using a multi-system board such as the awesome Neo-Geo, this isn't a huge problem, but to swap out PCB's easily, a better bet is to buy a JAMMA wiring harness. Available on eBay (Search for "jamma harness"), these usually run about $10 and include the card-edge connector and all the wiring we might possibly need.
A JAMMA harness. It even has the pinouts labeled, how nice of them.
We'll want to get one that has all 56 pins (28 pins per side). Since not all machines use all 56 connections some cables have pins missing, such as those with only 2 triggers. With a full 56 pin cable we know we'll be covered, come what may.
A standard PC power supply: We'll be covering the standard modern ATX type, but we can use an older AT model as well (pre-1997 or so, the kind in PCs that told you "It's now safe to turn off your computer"). If any of your neighbors have recently thrown their old Pentium III out the window now might be a good time to grab it . There's no sense in actually spending -- gasp -- MONEY on a new power supply when there's literally tons of obsolete computers laying around. This type of power supply have all the voltages we need (+5, +12 and even -5) for an arcade PCB.
The plug on an ATX power supply.
Toggle or slide switch: This will be used as the switch to turn on the power supply. Any type switch will work, just choose something at Radio Shack that's looks decent and is cheap.
RGB to NTSC video adapter: This is the trickiest part of the project. We basically have 2 options...
1. Buy a pre-built RGB to NTSC video adapter. They can be found online (here's a link, or Google "RGB to NTSC adapter") but it's going to cost significantly more than buying the parts and building it ourselves.
2. Build one ourselves. This is the cheapest option but requires a bit of soldering skill and assembly of a simple circuit. All components are available from Digi-Key, the parts list is below:
AD725 chip (Digi-Key part #AD725AR-ND) This is a 16 pin RGB to NTSC/PAL convertor chip. Actual arcade monitors use an RGB signal, similar to your computer, but this isn't compatible with most TV's in America. This chip will convert the RGB into a signal a standard TV can use, either composite video (yellow jack) or S-Video. The S-video, while a bit garish, still looks pretty darn good. Use it instead of composite if at all possible.
NTSC Oscillator (Digi-Key part #535-9170-5-ND)
(6) 75 ohm resistors (Digi-Key part #75QBK-ND)
(5) 0.1uf ceramic capacitors (Digi-Key part #478-3193-ND)
(3) 220uf electrolytic capacitors (Digi-Key part #P12920-ND)
(2) 10uf electrolytic capacitors (Digi-Key part #604-1061-ND)
S-video port (Digi-Key part #CP-2440-ND )
Composite video jack, yellow (Digi-Key part #CP-1415-ND) We'll only need this if composite video is to be used.
RCA phono jacks, for audio. (Digi-Key part #CP-1413-ND - red, and #CP-1414-ND - white)
You'll also need a small PCB board if you plan to wire the circuit by hand. The Radio Shack catalog #276-148 works great.
Tools we'll need:
Soldering iron. As usual, I suggest a smaller, 15 watt range version with a small tip for best results when doing finely detailed work
Some solder, the thinner the better.
Old hard drive ribbon cable. The thin ATA-33 type, the kind with a blue plug on one end, is ideal for this project. We'll be using it for the RGB converter circuitry. Use the kind that bends and holds its shape, this means it has solid wire (not stranded) inside.
Tweezers. These are very useful when doing soldering work, especially on smaller parts.
A hot glue gun. Of course.
Multimeter with circuit testing function. The mode where it beeps if you touch the leads together.
Note: All links/downloads will open in a new window so you won't get lost, thus. Feel free to click away at them as you read though this.
Step 1: Examining the JAMMA pinout and attaching the power supply to it
The JAMMA connections are very easy to use and often listed on the connector itself. Regardless, here is a JAMMA pinout I drew up. Since the Neo-Geo hookup is close to JAMMA but slightly different I made notes for it as needed.
Click here to download a printable version of this.
If you're working with a Neo-Geo here's a great diagram I found describing the differences.
And now here's the pinout of an ATX power supply, viewed looking at the end of the plug. The color of the boxes should match the wires.
If, for some reason, this isn't big enough click here for a printable version.
To wire the ATX power supply to your JAMMA cable:
Connect the +12, +5, -5 and GROUND wires from the power supply to the JAMMA harness as indicated in the above diagrams. As a general rule PC power supply wires are black for ground (GND), red for +5v, yellow for +12v and white for -5v. You can also use the yellow and red wires on the cables that typically go to the hard drive.
Don't use the purple "+5v constant" supply as it's always on.
Wire a switch (toggle, slide, any type that can stay "on") between pin 14 and any GND. This will allow you to turn the power supply on and off.
That's pretty much all we have to do! But of course the system won't do anything without a video output so we'll be handling that next, along with sound.
Step 2: Building the RGB to NTSC adapter
The heart of this project is the AD725 video converter. It's a surface-mount component that looks like this:
There are two ways we can build the RGB converter circuit: wire it by hand or create a small PCB. If you're good at soldering then wiring it by hand isn't very hard, but if you make a PCB it's easier to install the surface-mount chip. Use whichever method you're most comfortable and familiar with.
Wiring it by hand:
The pins are small but if you follow these steps you should be able to attach all 16 wires to the AD725:
Place a small bit of solder on each of the 16 pins. This "pre-tins" them and makes the wire easier to attach.
Cut (2) portions of your thin hard drive ribbon cable into pieces of (8) wires each and about 5 inches long. Peel apart the ends of each section (slicing between the wires with an X-Acto knife works well) and strip a very small amount of the plastic off the wire. Again, using solid wire ribbon cable is much easier than stranded, which can flail apart and create short-circuits.
Put a small amount of solder on the end of each of the wires. This will cause the plastic coating to shrink back a bit, which is why you don't need to strip much off initially.
Carefully solder the ribbon cable to the chip. It's best to start with the center wires and work your way out. Touch the wire to the pin and heat it slightly - the solder on both will then connect them.
Use a multimeter to check if any of the wires are touching each other. Once you're sure they're all connected and good you can put a thin layer of hot glue on both sides of the pins to hold them in place and keep them from breaking.
Once we have the 16 wires attached to the AD725 we can begin to build the circuit. I used a small piece of perfboard from Radio Shack. The drawing below shows how everything is connected. Blue bold text indicates inputs from the arcade motherboard, red bold text indicates outputs to your TV.
Click here to download a large, printable version of this.
Lay the AD725 in the center of the perfboard on the non-copper side and secure it with a small dab of hot glue on the bottom.
Place the other components on the perfboard around the AD725 in the general locations shown above. The "uf" parts are the capacitors, the "ohm" parts are the resistors.
Solder the component leads to the copper pads on the bottom of the perfboard.
Connect the wires coming from the AD725 to the components as shown. We can snip off extra leads and use them for large connections such as GND and +5 volts.
Connect the red "Comp" (composite video) spot to the center terminal of an RCA phono jack. Connect the outer shield of the jack to ground. (Again, only if you want composite video out.)
The red "C" and "Y" spots are the S-video signals. Connect them to a loose S-video jack as shown below:
Connect +5 volts and ground to the JAMMA connector to get power.
When assembling this circuit, please keep in mind the larger electrolytic capacitors (the 10uf and 220uf ones) are polarized. Make sure you attach the + and - leads on them correctly as shown in the schematic. The negative lead is indicated by a long stripe, whaich is usually white but sometimes black. See below:
Here's some photos of the perfboard circuit I built. As you can see I mounted [almost] all the components on the front, and snaked the wires from the AD725 through the nearby holes.
Here we see the back of the perfboard where all the connections are made. I used snipped-off wire leads from components to connect the ground and power lines.
Making a PCB for this circuit:
If you'd rather etch your own circuit board for this project I have created an actual-size layout of the board you can use. Download it in PDF format / JPG format. You'll need a 2.5 x 2-inch piece of copper-clad board.
Note how the blue text indicates inputs (from the arcade board) and red indicates outputs (to your TV) For information on printing and etching your own boards please see this portion of Will O'Brien's iPod Super Dock article.
You can drill out the 5 holes on the lower right ride and insert the S-Video jack directly onto the board if you wish.
Here's a link to the schematic of the AD725 from the supplier's website. Check out page 12 of the datasheet if you wish to take your own crack at it or cross-reference your work.
There are 4 pins on the oscillator labeled 1, 4, 5 and 8. Pin 1 is located on the corner of the oscillator with the pointed edge. To double check that you've attached it correctly, please reference this datasheet.
Hooking Up Sound:
Hooking up the sound is pretty simple but there's something we have to be careful of. Thing is, arcade motherboards have a sound amplifier built right into them so they can directly drive the speakers. If we're building a cabinet with separated speakers that's fine but if we're piping it through a TV we definitely don't want to overdo it.
Look on your arcade board for a smaller potentiometer or slider. Here's the one on the example motherboard, it's the blue thing in the center with the slot inside it.
This controls the amplified volume. Notice how there's a heatsink nearby, this is actually attached to the sound amplifier itself. Using a small screwdriver, turn the potentiometer all the way to the lowest setting.
When first testing this board with a TV have your volume all the way down and slowly turn it up, in case you turned this pot the wrong way. Even then you'll only need to turn the pot a little above the lowest setting to get sound to the TV.
For mono games: Connect the Speaker + wire of the JAMMA (pin 10) to the center terminals of 2 RCA phono jacks. Connect the outside of the jacks to any ground. This will put the mono sound on both speakers if you have a stereo TV.
For stereo games (such as Neo-Geo): Connect the left and right (L and 10) wires to the center terminals of 2 RCA phono jacks. Connect the outside of the jacks to any ground.
Alright now we have audio and video ready to go. At this point we can connect an S-video cable to your TV, RCA cables for the sound, and switch this sucker on. There's no controls yet but at least we can see if it's working this far. If there's a problem, skip ahead to the Testing and Troubleshooting section. If the game video turns on and there's sound (remember to start you TV with the volume all the way down and SLOWLY dial it up) we can move onto Step 3.
Step 3: Attaching controllers and switches to the motherboard
The joystick and buttons on an arcade machine are very simple: the button is "pushed" when the pin is connected to ground. This is pretty much like how old console controllers worked, such as the Atari 2600 or the Genesis to some extent. Inserting a coin is the same thing, it simply clicks a switch to ground for a split second.
We'll cover 2 ways of attaching controls to the JAMMA connector, using an available controller and building our own.
Using a Neo-Geo gamepad / arcade stick:
These are controllers designed for the Neo-Geo home system, but they also work perfectly with JAMMA arcade machines since they use a direct wiring connection for every button. Find one by doing a search on eBay for "neo geo controller", they're pretty reasonable priced.
We'll need a 15 pin jack, Digi-Key part #215ME-ND, to connect this type of controller to the JAMMA harness. Here's the pinout, viewed from the BACK (solder end) of the jack:
Simply connect the appropriate wires from the JAMMA harness to this connector and you're set. For the +5 volts we can use one of the 4 red wires coming off the JAMMA +5v, they're all connected to the same place anyway. Note that the "D" button wire is connected to two pins, we can add a small wire between the two spots to make this connection.
There also exists on the market adapters that allow you to use a PS1 / PS2 controller with your Neo-Geo AES system. (That's the home version of the Neo-Geo.) Such devices could be plugged into the jack described above since it is the same as the kind in the AES. Here's a link to one I've found. Be sure you've connected the +5v to the jack so the device has a power source.
Creating your own joysticks:
Arcade controls are fairly cheap, we can buy brand new parts and build a real arcade controller for under $20! Check out these links, then we'll discuss how to wire it.
Joysticks - From Happ Controls
Joysticks - From Centsible Amusements
Buttons - From Happ Controls
Buttons - From Centsible Amusements
Wiring up these parts is quite simple:
Each leaf switch on the joystick or button has 3 leads: NO (normally open) NC (normally closed) and C (common)
Wire the "C" leads of all the switches together, and then attach these to a GND on the JAMMA.
Connect the "NO" lead of each switch to the appropriate wire of the JAMMA connector. Because of the way the joystick tilts please note you have to wire it "backwards", that is, the bottom switch is actually UP, LEFT is actually RIGHT.
You can buy some female disconnects (find them in the electric aisle of the hardware store) to crimp onto the ends of the JAMMA wires. They can then be slid onto the leaf switch terminals if you'd like to attach wires the "proper" way.
Wiring diagram of the Player 1 Joystick. Click here for super-sized version.
You can then put your joystick in a custom enclosure of your choosing -- I'll leave that up to you to keep this How-To under 50,000 words.
Coin insertion and start:
Most arcade motherboards have a "free play" setting that can be set using a DIP switch. (On the Neo-Geo it's dip switch 7 - on). Thus, we don't actually need to add an "insert coin" button. If you want one, simply put a switch or pushbuttom between ground and pin 16 (player 1) or pin T (player 2) on the JAMMA harness. You can also use arcade buttons as described above in the controller section.
Testing and Troubleshooting
Most of this project is fairly straightforward, save for the RGB circuit. Here's what to check if things aren't working properly:
No picture, but sound: Something is probably wrong with the RGB convertor circuit. Double check that is it wired correctly and the +5v and ground connections are all in place. Be sure none of the pins on the AD725 are touching each other. More often than not you'll get SOME sort of picture rather than nothing at all. If there's no picture whatsoever, check the connections on the oscillator first.
Picture, no sound: Make sure you've connected the RCA jack to the positive pin of the sound (spot 10 on the JAMMA). Check if the volume control on the motherboard is turned all the way down. Also check if the +12v line is working as this is most often used for the sound amplification in an arcade machine.
No sound OR picture: Use a multimeter to check all the voltages coming off the power supply. Also be sure you have GND connected everything, something might be "floating".
Controls don't work: If you're using a Neo-Geo stick or gamepad, check that you've wired the controller jack properly and the GND and +5v connections are provided. If you've created your own joystick, be sure you've used the "NO" (normally open) leads on the switches and not the "NC" (normally closed) ones, as this would cause the buttons to be stuck "on"
Using this How-To we can now run a JAMMA arcade board off a PC's power supply, send a picture to a standard TV using the RGB convertor circuit, and play the game using either a Neo-Geo stick or our own custom controls. This information allows us to build a unique console that plays authentic classics, or it can be used as a stepping stone to building an arcade machine using a large (and cheap) TV screen. Use this information wisely and help keep original, vintage hardware alive. A ROM image is no way to live!