WinIPAC Interactive Panel Designer
Software
Layout your panel, then program your I-PAC to
match.The
I-PAC (Interface for Pc to Arcade Controls)
is a board which allows connection of arcade controls such as buttons and
joysticks to a keyboard port or USB port on a PC motherboard. It was designed
around the MAME emulator which supports over 1000 arcade games and can be used
with other emulators.
It is designed to be used inside an Arcade
Games cabinet with the PC motherboard also mounted inside, but could just as
easily be used with simply a control panel without a cabinet.
Special
shift function buttons mean that a normal keyboard is only be needed for game
loading and configuration, not for gameplay. All key codes can be programmed
but you dont have to as you can set a jumper which enables all
standard MAME codes for quick and easy installation. Programmed keys codes are
stored even after power off.
The I-PAC
2 has 28 inputs. They
are all programmable and are designated as 2 joysticks, 8 buttons each, plus
coin1, coin2, start1, start2. One of the inputs is assigned as a shift key to
access an alternate code set.
The I-PAC
4 has 56 inputs. All
programmable and designated 4 joysticks, 8 buttons each plus coin 1,2,3,4 and
start 1,2,3,4. Two of the inputs are assigned as shift keys to access two
separate codes sets covering the player 1,2 and the player 3,4 inputs.
I-PAC2 Board
I-PAC4 Board
Features:
- Fully programmable key code set. Stored even after power off
unlike some other interfaces which lose all data when powered off.
- Dual interface USB or Keyboard - just swap the cable.
- Optional pre-assembled LED harness with 3 panel mounting
LEDs which emulate the keyboard Caps/Num/Scroll Lights. Many MAME games drive
the LEDs either for coin insert indicators or during actual gameplay.
Click for high-res picture.
- All joystick/button connections easily made via screw tag
strip. Connections marked on the board.
- Chunky 5mm screw connectors .
- Self-Test LED gives an instant check of all your wiring. Can
indicate which, if any, input has a problem.
- All button inputs referenced to ground - no need to re-wire
separate grounds to each button.
- Lead plugs into keyboard socket on PC or USB port.
- Can be programmed using special utilities (for DOS, Windows, Linux,
MAC) or without special software, using an interactive method.
- Using host software, an unlimited number of keycode configurations
can be stored and downloaded on-the-fly. Retained on power off.
- No separate power needed.
- Does not use a matrix - no ghost keys.
- Does not use a scanning method which causes a variable
delay. Each input has it's own dedicated connection into the on-board CPU .
- Fast running interrupt-driven software gives much better
response than a standard keyboard controller. Key debounce uses a state method
for each key. No delays between keys depressed at the same time. (essential for
fighting games).
- 2 operation modes. Either uses standard MAME keys or you can
program your own character set.
- Shift functions. Holding "Start1" and pressing other buttons
sends a range of codes for MAME functions such as "escape", "Coin 1", "tab",
"enter". This means no extra buttons are needed on the cabinet. In programmable
mode any input can be the shift key and all keys can be programmed with a
shifted code.
- Special note for Windows MAME users! Shift key functions
mean you can select and start games from the Windows interface without using
the keyboard or mouse.
- Connector for ordinary keyboard which can be used together
with the controls if required. No switch-over delays mean you could even play a
game using the control panel and keyboard at the same time.
- Supports selective up/down key repeat in PS/2 mode (all keys repeat
in USB mode) to give easy scrolling through lists with minimal CPU overhead and
interface "clutter".
- No special drivers needed. USB drivers are generic Windows.
On many motherboards USB will work in DOS.
- Fully compatible with all Apple Macs which have USB ports.
- Supports the Apple Mac "command" key and the Windows "GUI"
keys.
- I-PAC4 and I-PAC2 boards and J-PAC can be
paired in any combination to increase the total number of inputs.
- Keycode programming is integrated directly into the popular MAMEWAH
front end for seamless launch of emulator or other applications which require
different codesets.
Technical Info.
The I-PAC uses a
Cypress CY7C63413 programmable microcontroller chip . There is no multiplexing
or sharing of input ports, all inputs have their own dedicated pin on the chip
hence absolutely no ghosting, blocking etc.
The chip is programmed with
custom code, all of which is written in the chip's native RISC instruction set
language. Code copyright (c) Andy Warne 2000-2002. Code modules include:
- Interrupt handler: Processes button-presses from input ports and
the pass-through port
- De-bounce. This uses a state counter method. Each input has it's
own counter. This means simultaneous keypresses are never locked out.
- Key code ROM table
- I2C software interface for communicating with EEPROM for
programmable storage
- Download handler for receiving codes from the programming
utility.
- USB enumeration code
- USB protocol driver and command processor.
- PS/2 protocol driver and command processor.
- Keyboard pass-through driver consists of a bit level and byte level
state machine. Driven by interrupts on each clock pulse. Fully multiprocessing
with the main loop.
- Shift key logic including protection against stuck
keys.
Important Legal Note.
For legal reasons we must
state here that the I-PAC is not designed to be used in revenue-earning
applications where a credit mechanism is used. The I-PAC contains no specific
interface functionality for any credit device. Although it has inputs labelled
"COIN", these are labelled as such because activating a switch connected to
them causes the MAME "coin" keycodes (5 or 6) to be sent. These are designed to
be used with panel pushbuttons not coin doors or note acceptors.