It makes a big difference if you sit in the front of your computer instead of stading in front of a big arcade cabinet.
Arcade cabinets are very cheap nowadays (if you're lucky you can get them for free!), but unfortunately the games itself are still too expensive for a normal, somewhat sane person.
So ... how about connecting your PC+MAME -setup to an arcade cabinet? That way the "feel" would be "much better", and you could switch between different arcade games just by loading a new game to MAME. That's what this thing is all about.
BEFORE YOU BEGIN
Connecting a PC to an arcade cabinet, huh? Believe me, it sounds a lot more difficult than it really is. All you need some basic soldering skills and a little bit of patience and you'll be okay. There is nothing hadzarous involved, and you must mess up your wirings really well to break any of your stuff.
BUT! Most probably you will get lost at some point, so please post your questions about this project to the message board. Why not just to mail me? Because if you post your questions publicly, other people can benefit from them - as most of the questions ask almost the same things.
The following list is roughly the stuff I had to buy in order it connect my PC to my arcade cabinet. Note that the prices can vary a lot. The list does not contain any tools I've used, but basically a soldering iron is all you need.
|Item:||Notes:||Price (FIM)||Prices (USD)|
|Arcade Cabinet||The most important is that the cabinet you buy is JAMMA (more of that later). Make sure there are enough buttons and joysticks (mine is a two player one-8-way-stick/3-buttons per player). If possible, buy a H/W cabinet, meaning that you can rotate the screen 90 degrees to play both vertical & horizontal games properly. A word of warning: my cabinet with 19" screen weights about 150kg and the wheels in the bottom make deep grooves to the floor, so make sure you always lift it up when you move it.||1200,-||$200
|LP24 Encoder||LP24 is a cheap programmable keyboard encoder. We use it to convert the button pressed & joystick input to normal PC keystrokes. The cheaper encoder, KE18 is not programmable (you can not change the keyboard config) and KE24 is simply just more expensive with options you never need. Available from Hagstrom Electronics.||500,-||$79.75
|Keyboard extension cable||Your keyboard plugs to the back of the LP24, and you need a cable from LP24 to your computer's keyboard port. Unfortunately such a cable is not shipped with the LP24 but you have to buy it yourself. I bought mine from Hagstrom Electronics.||$5.95|
|JAMMA fingerboard||A connector which plugs into your arcade cabinet (that's why it has to be JAMMA) and to which you solder all the PC I/O stuff. Fingerboards are usually used to convert non-JAMMA games so that they can be plugged into a JAMMA cabinet - this time our "source game" is a normal PC. I ordered my fingerboard from Andy, and just to be sure I bought four of 'em altough you really need only one of them.||10,-||$2|
|Audio cable||The one which goes from your PC to the JAMMA connector.||20,-||$3|
|SCSI-cable||Loads of wires coming from the LP24 encoder and going to the JAMMA fingerboard. Not neccessarily a SCSI-cable, but it makes a life a lot easier when you have one big cable instead of many tiny wires.||24,-||$4|
|VGA-cable||A cable which you plug into your PC's VGA card and the other way you solder into the fingerboard. I cut mine off from a broken VGA monitor.||20,-||$3|
USE THE JAMMA CONNECTOR
Many people simply put their PC into the cabinet, use normal PC monitor instead of the arcade screen and ignore the JAMMA connectors. I didn't want to do that, because:
- I didn't want to physically alter the cabinet in any way in case I sell it later (indeed, I have now sold that cabinet).
- I want to use my computer also "the normal way", so it had to remain outside the cabinet.
- I want to use genuine coin'op PCBs.
People don't seem to realize that drawing graphics for a arcade screen & pc screen are two completely different things. Arcade games
were never meant to be played on a PC hi-pitch monitor - so, please do
use a genuine arcade monitor instead a PC monitor.
WHAT IS JAMMA CONNECTOR
All the wires from controls, speakers and monitor are gathered to a JAMMA (Japanese Amusement Machinery Manufacturers Association) connector found inside the arcade cabinet. This is where we connect our PC - we fool the cabinet into thinking that in the JAMMA connector there's a coin'op PCB.
Below you see an empty unused fingerboard. This piece of plastic is designed to fit into the JAMMA connector. The fingerboard has two set of holes, one is for parts-side pins and the other one is for the solder-side pins.
In the end you have a fingerboard, that has all the controls/video/audio wires soldered to it. Just plug that into the JAMMA connector and you can use your MAME with you arcade cabinet. If you want to play games on JAMMA PCBs, just disconnect the fingerboard and plug in your JAMMA arcade game - it really is that easy!
|USAGE||SOLDER SIDE||#||#||PARTS SIDE||USAGE|
|Key, no pin||H||7||Key, no pin|
|Coin counter 2||J||8||Coin counter 1|
|Coin lockout||K||9||Coin lockout|
|SOUND||Speaker left (-)||L||10||Speaker left (+)||SOUND|
|Speaker right (-)||M||11||Speaker right (-)|
|VGA||Video green||N||12||Video red||VGA|
|Video sync||P||13||Video blue|
|UNUSED||Service switch||R||14||Video ground|
|Coin B||T||16||Coin A|
|ENCODER||2UP Start||U||17||1UP Start||ENCODER|
|2UP Up||V||18||1UP Up|
|2UP Down||W||19||1UP Down|
|2UP Left||X||20||1UP Left|
|2UP Right||Y||21||1UP Right|
|2UP Fire 1||Z||22||1UP Fire 1|
|2UP Fire 2||a||23||1UP Fire 2|
|2UP Fire 3||b||24||1UP Fire 3|
|2UP Fire 4||c||25||1UP Fire 4|
|2UP Fire 5||d||26||1UP Fire 5|
A very common way is to break a keyboard and use that as a part of the controller setup. I chose to buy a keyboard encoder instead, since keyboard setups are prone to key ghosting and usually ignore some key combinations. Also, redefining keys is impossible when using a hacked keyboard - with a programmable encoder it's very easy.
First connect the LP24 Encoder to your keyboard port by using the extension cable (this really feels like writing a walktrough for an adventure game) and connect your keyboard to the encoder. Connect the other end of the SCSI-cable to the keyboard encoder and cut the connector from the other end so that you have a nice set of wires. After that it's time to heat up the soldering iron!
Solder the wires to the fingerboard so that pins B-Q (for some reason A behaved incorrectly on my encoder) of the encoder gets connected to an unique pin on the fingerboard. Start soldering from pin U17 and stop when you have reached pin b24 (if you have 3 buttons/player). Note:Don't solder every wire of the SCSI cable, but every other wire, since the Encoder's "keys" have two pins/key - you know what I mean once you look at the encoder & the cable, but I made this mistake and wondered why my controls weren't working as they should.
|Default MAME keyboard settings:|
|1UP Start||1||2UP Start||2|
|1UP Up||UP||2UP Up||R|
|1UP Down||DOWN||2UP Down||F|
|1UP Left||LEFT||2UP Left||D|
|1UP Right||RIGHT||2UP Right||G|
|1UP Fire #1||L.CTRL||2UP Fire #1||A|
|1UP Fire #2||ALT||2UP Fire #2||S|
|1UP Fire #3||SHIFT||2UP Fire #3||Q|
After you have soldered the wires, boot to DOS (DOS shell won't do), load up LP24CFG and configure the encoder to use 1-high 16-wide matrix. Set the matix so that the pin X is the ground and pins B-Q are the "triggers". Make the pins B-Q to give unique keypresses, for example alphabets A to P. When done, save the configuration and reboot.
Open any program in which you can write something (COPY CON, Notepad, PICO for example). Move your joysticks and press the buttons on the cabinet and you should see the letters A to P displayed to the screen just like you'd write them from the keyboard. Run LP24CFG again and change the keys so that they are identical to MAME defaults.
Now you should be able to play any game in MAME with your arcade controls!
Just take the wires from the VGA connector and find out which pins they connect to. The picture on the right is taken from the VGA cable coming from the monitor.
After you have figured out what wire connects to what pin, solder the wires according to the table below. You can ignore pin 11 - it is Monitor ID-pin, and it is not used.
|6||14||Ground||Solder a wire from this to a GND pin (e)|
|7||14||Ground||Solder a wire from this to a GND pin (e)|
|8||14||Ground||Solder a wire from this to a GND pin (e)|
|10||14||Ground||Solder a wire from this to a GND pin (e)|
|11||-||Monitor ID||Do not connect this pin anywhere|
|13||P||Horizontal Sync||Make a composite sync by twisting the sync wires together|
|14||P||Vertical Sync||Make a composite sync by twisting the sync wires together|
This is very simple. Just solder the wires coming from your PC to pins L-10 (left channel) and M-11 (right channel).
- Test it: Load up mame with -monitor arcade switch and play. You might also consider installing ArcadeOS by Brian Lewis - it's a frontend for many emulators, and even allows you to run normal DOS software with the cabinet (I've played Quake with mine).
- Change the default coint-insertion buttons from 3 and 4 to 1 and 2. That way if a game does not support free play you can insert coins and start a game simply by pressing 1UP Start twice - no need to press any keys on the keyboard.
- Clean up the cabinet! It probably has a lot of dirt and dust everywhere.
- Make a marquee, here's what I did:
- Finally, sell your PC<->Jamma adapter for a good price at eBay, and buy a lots of real arcade games with that money, as nothing really beats the real thing. :)
I bought a VGA switchbox so that I could switch between my monitor and the cabinet, but unfortunately the switchbox makes the picture quality so bad that using my PC monitor with the box is not possible. So, don't try it unless you're getting one of those high-quality powered switchboxes (that cost a LOT of money).
I thought my people would grow tired of killing. But you were right, they see it is easier than trading. And it has its pleasures. I feel it myself. Like the hunt, but with richer rewards.
-- Apella, "A Private Little War", stardate 4211.8
-- Apella, "A Private Little War", stardate 4211.8