by Kevin Steele
One of the most important parts of creating a MAME cab is connecting the arcade buttons and joysticks to the computer — without working buttons or a joystick, you just don't have an arcade machine! Since the PC can't accept arcade controller input directly, you need to adapt the button and joystick input into a format that the PC can understand.
MAME by default interprets keypresses on your PC keyboard as arcade buttons, so to use real arcade buttons with MAME, you in essence need to convince the computer that your arcade buttons are actually keyboard keys (yes, it's a bit of a roundabout, but it works!). Basically, there are two ways of accomplishing this — by “hacking” (literally) a keyboard controller chopped out of an old keyboard and decoding out the keyboard matrix (which inputs have to be connected to register a specific keypress), or by using a custom designed keyboard encoder such as the I-PAC, by Ultimarc. The I-PAC is, in my opinion, the better of the two solutions.
The IPAC Hardware
The I-PAC is a relatively small circuit board, with terminal strips along the edge that allow you to wire up to 26 inputs (52 on the I-PAC4). It acts as a keyboard encoder, and will show up as a keyboard in the Device Manager when connected to a Windows-based PC — it even uses the default keyboard drivers. The I-PAC supports PS/2 and USB connections, and has a pass-through connector to allow you to add a PS/2 keyboard (which will work even if the I-PAC itself is set to USB mode).
|From: Andy Warne
Sent: Thursday, January 16, 2003 4:18 AM
To: 'Kevin Steele'
Thanks for the positive review!
I also had a look at the Slikstik review. I was very disappointed
to see that you got one of the units with the faulty I-PAC chips.
This was a very unfortunate incident, probably the only real "disaster" we
had since starting to sell the I-PAC and doubly unlucky that the
bad chips got out to one of our most valued customers.
When I started getting “ghost” keypresses on my SlikStik (a problem that was later tracked down to a defective wiring harness), I did a lot of multiple-keypress testing in an attempt to reproduce the problem. I also disconnected and reconnected a lot of wires on the I-PAC, trying to isolate where the problem originated. (I have to say I was impressed at how easy it is to connect wires to the terminal strips on the I-PAC — simply insert the wire into a small hole and tighten a small screw. If I was setting up a control panel from scratch it would have taken just minutes to wire up the entire I-PAC.)
Anyway, after I had repaired the wiring harnesses, I was completely unable to create ghosted or blocked buttons even when I mashed multiple buttons as rapidly as I could (I actually got bruises from pushing the buttons so rapidly!) This is a testament to the I-PAC's claim of no ghosting or blocked keypresses. It can handle all 26 inputs being pushed simultaneously without a problem (of course, not even two people could accomplish pushing all 26 buttons at once!)
The I-PAC is extremely easy to program, thanks to programming utilities available for DOS, Windows, Macintosh, and even Linux. Not only that, but you can even program the I-PAC using just a simple text editor (more on this later!)
All of the utilities are intuitve and easy to use (even the DOS program has a graphical interface) — assigning keycodes to your buttons using an attached keyboard is a cinch.
As I mentioned earlier, you can also program the I-PAC using an “interactive” programming mode that is accessed from a DOS Window or a text editor. Basically, you can activate a built-in programming system by pressing CTRL-ALT-P on a PS/2 keyboard attached to the I-PAC. This activates the interactive programming mode and the I-PAC will output a text menu to your text editor.
From this menu you can list the current key assigments, test the buttons attached to the I-PAC, save new key assignments, or even revert key settings to their defaults. This is a very handy built-in utility package to have, especially the button testing feature. If you think you may have a stuck button, the button tester will show you immediately which button is being depressed.
I tried to think of some negatives about using the I-PAC, and aside from the bad flash memory programming in the first I-PAC I received, I cannot think of anything to complain about. The I-PAC sells for $39 US (plus $12 shipping from England), and is (in my opinion) worth every cent. It is by far the quickest, easiest, and most comprehensive method for adding arcade controls to your MAME cabinet that is available today. If you're thinking of building your own arcade controller or cabinet, put the I-PAC at the top of your shopping list.