The I-PAC is a specialized keyboard encoder designed for hooking up real arcade controls for use with the MAME emulator. It was specifically designed to be used inside a MAME cabinet, but many people have also used them for other joystick interface purposes.
The I-PAC interfaces through your standard keyboard port (or even through a USB port if you are so inclined), and is seen as a keyboard by the computer. You can then wire up your arcade buttons and joysticks to the I-Pac, and have them be seen as keypresses by your computer.
The I-Pac is configured by default to send the keypresses for standard MAME controls (but has a customizable mode that allows for a whole array of other keystrokes to be sent). The I-PAC has 28 inputs, which allows for 2 joysticks, 6 buttons per player, 2 coin mechs, and 2 start buttons, with 4 inputs left over (just enough to add a 4-Way joystick).
All this is powered by a Cypress CY7C63413 programmable microcontroller chip, which is vastly superior to the standard 8402 keyboard controller. This upgraded controller allows the I-Pac to do some things that a normal keyboard, or keyboard hack cannot do. Such as trigger all of it's inputs at once. A standard keyboard will usually only be able to "see" about 6 keypresses at the same time, and it is actually possible to trigger entirely different keypresses (or block off keypresses), simply by pressing the wrong combination of keys. That limitation is no problem for typing, but gaming is a whole different manner (your average fighting game may need up to 16 simultaneous keypresses for normal play, and Dungeons & Dragons: Tower Of Doom can actually have up to 32 keypresses at the same time for 4 player mode). The CY7C63413 microcontroller also uses an entirely different method to detect keystrokes, which allows it to send them to the computer at a much faster rate than a standard keyboard.
The I-PAC is easy to install. It has a clearly labeled screw tag strip (and can be wired up to a pre-existing control panel in minutes). Installation is made even easier because the I-PAC uses a common ground for all buttons (you just daisy chain all the ground wires for each button together). You can then plug your existing keyboard into a port on the I-PAC (both of them will work at the same time), you can even chain multiple I-PACs together for massive projects.
The I-PAC was designed (and is sold), by Andrew Warne (who has a great reputation in the arcade/emulation community), and can be purchased for $39 USD from http://www.ultimarc.com/ (prices current as of Dec, 2001).