I-PAC Ultimate I/O

$99.00

Please, select one

PUIO+LU02+L5V
+
Add to wish list



I-PAC ULTIMATE I/O Advanced PC interface for arcade buttons,joysticks and LEDs.


Full Speed USB 2.0. 48 Inputs, 96 outputs. Upgradeable Firmware.

NO EXTRA WIRING required for most standard installations. All switch wiring supplied. Trackball and spinner simply plug in. RGB LEDs simply plug in (Ultimarc Ultralux or ClassicRGB).

This board has a total of 176 connections. If you were to hand-wire every LED and switch this would be a total of up to 576 wire ends to strip and connect! Which is why we have done it for you.!


48 inputs each with it's own dedicated microprocessor pin. No interaction or delays, vital for multi-button games such as fighting games.

Emulates a USB keyboard and yet breaks through the USB simultaneously-pressed-switch limit of 6 switches (plus ctrl,alt,shift) which afflicts all USB keyboard devices. This is because it has inbuilt full native USB support, and does not rely on an add-on adaptor.

Multi-mode operation emulates either keyboard/mouse/LEDs, dual gamepad/mouse/LEDs or Dual Xinput controller.

All input pins can be assigned to any keyboard key, gamepad button (including hat switch), mouse button or power/volume control. Also sleep/wake.

Inputs can be assigned as trackball and spinner and our U-Trak and SpinTrak devices plug directly into the board.

Shift function which allows ANY input to be assigned to a shifted secondary keycode and the shift button can have it's own function too so no need for a dedicated extra control panel button.

Self-test LED which gives an instant visible check of your installation.

96 channel LED controller with constand-current drivers. Also 6 high-current 1 amp drivers.

INTERACTIVE configuration utility which applies and reads back any changes "on the fly".

MAME Defaults pre-loaded.

I-PAC Ultimate I/O retains it's programming after power off. Beware! Not all keyboard encoders do this!


The I-PAC series (Interface for Pc to Arcade Controls) are boards which allow connection of arcade controls such as buttons and joysticks to a USB port on a host system. They are 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 host system 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 use the built-in default configuration which has all standard MAME codes for quick and easy installation. Programmed keys codes are stored even after power off.


Full Feature List

INPUTS

  • Fully programmable key code set. Stored even after power off unlike some other interfaces which lose all data when powered off.
  • Controls can be assigned to any keycode, gamepad button, plus mouse buttons, power, volume up/down, sleep or wake.
  • Multi-mode operation, can emulate keyboard/mouse/LEDs, dual gamepad/mouse/LEDs or Dual Xinput controllers.
  • Wiring harness supplied for 32 input connections. Additional harness options for the other 16 inputs. Connections marked on the board.
  • Trackball and spinner interface. When enabled these use a total of 6 of the available 48 inputs.
  • Example configurations include: 2 player with trackball/spinner. 4 player without trackball/spinner.
  • 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.
  • Supplied USB cable plugs into PC USB port.
  • 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 for controls.
  • 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.
  • No special drivers needed. USB drivers are generic Windows.
  • Fully compatible with all Apple Mac (excl config utility).
  • Supports the Apple Mac "command" key and the Windows "GUI" keys.
  • Special board version available with Accelerometer on board. When enabled this sends "arrow" keys, responding to physical movement.

OUTPUTS

  • 96 LED channels with 256 brightness levels for full RGB color mixing
  • Can be used with single-color or RGB LEDs (RGB use 3 channels)
  • Constant current negates the need for resistors for each LED
  • Can be used with LEDs with inbuilt resistors if required
  • 128-command flash storage for “attract-mode” or test sequences which run immediately on power-up with no PC present
  • Supplied configuration utility allows customisation and storage of attract-mode LED sequence.
  • Supports single-command fades with preset speed on-board. Multiple fades can overlap
  • Comes with power cable for plugging into a PC disk drive power connector.
  • Extensive software support including test application, Software Development kit for adding support to your own programs, and LedBlinky third-party software
  • Compact modular connectivity. Our Ultralux RGB and ClassicRGB pushbuttons simply plug in. Other harnesses and connectors available.
  • 6 X 1 amp MOSFET drivers which are suitable for LED strips and other high-power LED applications.


Configuration Software


USB LED Controller
USB keyboard interface
LED test and scripting utility WinIPAC for reconfiguring controls


LED CONTROL APPLICATION SOFTWARE

In addition to our own test and script utility shown above, Ultimarc LED and output controllers have great software support, including PC and Linux software and our own SDK which enables easy addition of output control to your own programs.

Also a Linux library is available. See our Programming Page


LEDBlinky logo For Windows

RGB Commander logo For Linux

There are more details and screenshots of third party software on our PacDrive page


LEDBlinky overview


This is a third-party application available in free or paid versions. It is actually a suite of programs enabling configurations to be stored, animations to be created, and has special MAME features.

Note that LEDBlinky supports direct control of the board via USB only. It does not support creation of scripts for storing on the board.

Version 5.0 required.

  • With RGB LEDs, you can specify colors for individual controls or using a pre-defined colors.ini file. Colors or intensities can also be customized on a game-by-game basis.
  • Use audio output (music or game sounds) to blink, fade, or animate LEDs – great for use with Jukebox software.
  • Blink and speak front-end UI controls by pressing a pre-defined “Help” button.
  • Blink and speak controls when pausing a game and/or play a LED animation (selected, random, random montage) or use audio output (music) to animate the LEDs. This is a MAME only feature.
  • Flash start buttons when credits are available - this is a MAME only game dependent feature.
  • Light start and coin buttons based on active player count for the current game.
  • Flash all or active buttons when any is pressed.
  • Full support for other MAME Outputs - light LEDs based on any output. Outputs can be linked to controls (P1_Button1, P2_Button2, etc.) or directly linked to a Device/Port.
  • Extensive audio animation options let you completely customize how the LEDs blink to music or game sounds.
  • When starting a game, LEDBlinky can play a LED animation (selected or random), speak the game name, speak each button “action” while blinking the button in its correct color, speak the primary controls, and speak a custom message. When speaking the game name or custom message, LEDs can blink in sync with the speech.
  • While playing a game, LEDBlinky can play a continuous LED animation (selected, random, or random montage) or use audio output (game sounds) to animate the LEDs. The LED animation will only effect unused controls.
  • See the LEDBlinky website for all details


Installation Information

The diagram below shows some examples of connected devices. For clarity only a few items shown.

Ultimate IO wiring

Click tabs above for default key codes, wiring and power information.

LED support works in an identical way to our PacLED64 except there are 96 LEDs instead of 64.
LEDs can be controlled using our SDK or the third-party LEDBlinky utility.
The board is supplied with a power cable which supplied 5 volts to the LED power black connector from a spare HDD connector.
Alternative power source can be used such as a wall-plug power supply. Voltage should be 5V for all LEDs supplied by Ultimarc. Current 0.02 amps per LED channel.
Ensure CENTER pin on the connector is 5V, BARREL is ground. Connector is 5.5mm diameter, 2.1mm pin.
The board is shipped with a pre-configured LED script which fades up all LEDs, then down, then enables each LED in turn, to one color, then cycles. You can change this script if you wish. The LED script runs from power-on even before the PC is running and stops running as soon as any control is activated.

USB keyboard encoder


What to Order
Example Configurations Items to Order
2 Players using Ultralux RGB or ClassicRGB buttons, U-Trak trackball, Spintrak Spinner Nothing extra required. Order Board with 2-player harness kit.
This includes:
USB cable
LED Power Cable
32-way harness
Ground daisy-chain harness
4 Players using Ultralux RGB or ClassicRGB buttons, No trackball or Spinner (these are not supported in a 4-P config) Order standard board/harness (see above)
Order 4-player expansion kit.
Either of the above but using single-color LEDs such as Ultralux. Order as above plus one "LED Connection Pack" per 9 LEDs, Also one "Daisy-Chain Harness" per panel for LED common connections.
Optional Extras Extension Harness Pack. This is used for unusually large panels for increasing reach of any longer wires.
PCB Mounting Feet



USB keyboard interface

The above picture shows the board fully wired for 2 players including::

  • Power Cable (included)
  • USB Cable (Included)
  • Switch harness (included)
  • Daisy-chain ground harness (included)
  • LEDs (not included). Note these are examples only, to show connection. Our Ultralux RGB and ClassicRGB LEDs have longer wires than those shown.
  • U-Trak Trackball (Not included)
  • Spintrak Spinner (Not included)

This board will also control our RGB illuminated joystick handle which simply plugs in.

Illuminated joystick handle

Wiring Harness Detailed Information
usb interface harness USB LED controller
Player 3-4 Connection Pack 9-LED Single Color Connection Pack


Harness
Wires Length
Main Harness Included 32 330mm / 13 inches
Daisy Chain Ground harness Included 32 Links 90mm / 3.5 inches per link
LED Power Cable Included n/a 1.5 M
USB Cable Included n/a 1.5 M
Extension Harness Pack (Wires replace existing) Not Included 10 560mm / 22 inches
Player 3,4 Connection Pack Not Included 20 Plus 20 Ground 560mm / 22 inches
9-LED Connection Pack. Required for each 9 single-color LEDs (Our RGB are pre-wired) Not Included 9 plus common 560mm / 22 inches


Latest Firmware

Click the IPAC Downloads tab above to download the latest firmware.

Default Keycode Table
INPUT NORMAL CODES CODES WITH SHIFT
(hold 1 player start)
COIN 1 5
COIN 2 6
START 1 1
START 2 2 ESC
1 RIGHT R arrow Tab
1 LEFT L arrow Enter
1 UP U arrow Key Below ESC (Volume, gamma, etc )
1 DOWN D arrow P (pause)
1 SW 1 L-ctrl 5 (Coin A)
1 SW 2 L-alt
1 SW 3 space
1 SW 4 L-shift
1 SW 5 Z
1 SW 6 X
1 SW 7 C
1 SW 8 V
1 A P
1 B ENTER
START 1 1
START 2 2 Esc
2 RIGHT G
2 LEFT D
2 UP R
2 DOWN F
2 SW 1 A
2 SW 2 S
2 SW 3 Q
2 SW 4 W
2 SW 5 I
2 SW 6 K
2 SW 7 J
2 SW 8 L
2 A TAB
2 B ESC
THE FOLLOWING CODES FOR THE I-PAC 4 ONLY
COIN 3 7
COIN 4 8
START 3 3
START 4 4
3 RIGHT L
3 LEFT J
3 UP I
3 DOWN K
3 SW 1 R-CTRL
3 SW 2 R-SHIFT
3 SW 3 ENTER
3 SW 4 O
3 SW 5
3 SW 6
3 SW 7
3 SW 8
4 RIGHT U
4 LEFT V
4 UP Y
4 DOWN N
4 SW 1 B
4 SW 2 E
4 SW 3 H
4 SW 4 M
4 SW 5
4 SW 6
4 SW 7
4 SW 8
Using the built-in code set

When the board is first powered on, it contains a pre-loaded code set. This matches the MAME default key codes as the table above indicates. For many users there is no need to do any re-assignment, just power up and play.

You may want to re-program the codes if any of the following apply:

  • · You use an emulator or other PC application without a key re-mapper.
  • · You don't want people to be able to access the MAME game config menus by using shift buttons (for example game contests etc)
  • · You want to limit coin insert to a real coin slot rather than using shift button feature.
Installation

You do not need to install any drivers or software from the Ultimarc CD to get the board to operate.

Connect one side of each switch to the screw terminals as indicated on PCB. "Daisy chain" the other side of all switches together and connect to either of the "GND" terminals on PCB. Some micro-switches have 3 connections – only use the ones marked "NO" and "COM". Don't connect anything to the "NC" tag. Below is a diagram showing an example of 3 joystick micro-switches connected to inputs on the I-PAC board.

The gauge of wire used is not critical. Any insulated stranded wire will do providing it is thick enough to be gripped by the screw connectors. The wire we supply in our wiring kit is 16 X 0.2 mm.
You can connect more than one switch to one I-PAC input, to perform the same function. For example you might want to have side flipper buttons connected to the same inputs as fire buttons as these are used in different games. This applies to joysticks too. You can connect a 4 and an 8-way stick to the same inputs. (But check our 4-8 way switchable sticks though!)

schematic

The I-PAC 2 and I-PAC 4use screw connectors for the controls:

I-PAC wiring

The Mini-PAC and I-PAC UIO use a supplied wiring harness. The harness comes in two sections. There is a "daisy-chain" ground harness and a 32-way switch harness.

The first step is to connect the male end of the black ground harness to the black wire on the main harness. Then connect to every switch. The example below shows 3 connected switches:

Keyboard encoder wiring

Plug one end of cable into the USB connector and other end to motherboard USB connector.

Start windows. Windows will detect the device and automatically load drivers. The drivers for this device are already within Windows. There are no Ultimarc drivers for the I-PAC.

Basic Testing

Boot PC and run a text program such as Notepad. Observe the LED on the I-PAC should be ON in normal use. If there is a failure detected during power-up, the LED will flash a number of times then stay OFF.
Press various player 2 buttons (some of the player 1 buttons are mapped to non-displayable codes such as ALT so best to use player 2). You should see characters displayed, just as if they were typed on the keyboard.

Reassigning keycodes

This is done using WinIPAC V2. For full instructions, click the Configuration Utility tab.

I-PAC boards support left/right mouse buttons plus game controller buttons, volume up/down, power, sleep and wake, in addition to keyboard keys. Extensive macro support is available.

Shift Mode

Pressing and holding 1player start enables shift mode with access to the following keys (when "MAME" setting is used):

2 player start =Esc – for jumping back to the menu

Joystick left =Enter – for running games in Windows and for MAME game config menu

Joystick right =Tab – for entering MAME config menu

Joystick up =~ - for entering MAME volume/gamma menu

Joystick down =P MAME pause key

1 fire (button 1)=5 – for simulating coin insert.
The above shift keys can be changed/turned off as required if the board is programmed.

MAME HINT: to get past "Type OK to continue" prompt, just move joystick left then right.

Additional Info

KEYBOARD: PC should pass BIOS keyboard self-test with or without a normal keyboard connected. The unit is capable of being used in a closed arcade cabinet with no additional keyboard or controls and motherboard booting into an emulation menu. If an auxiliary keyboard is connected it can be used fully and even used during gameplay alongside your control panel.

USB DOS SUPPORT : Most PCs support a USB keyboard in DOS mode so I-PAC in USB mode MAY work in DOS. (USB keyboard support may have to be enabled in the BIOS). HOWEVER: many BIOSes have poor USB support which prevent use for gaming, as the response is too slow. USB is intended for Windows use, either in a "DOS box" or a windows application.

USING TWO I-PACs TOGETHER : Two boards can be used for doubling the number of inputs. Each board can be individually programmed with the required code set, then the two boards can be connected together as above.

WIRING TWO JOYSTICKS TO THE SAME CONNECTION : This is fine, and is often done when using a dedicated 4-way joystick alongside an 8-way. Both joysticks could be wired to the Player 1 inputs. They will both perform the same function of course.


Using the Accelerometer on I-PAC UIO (Special Verion Only)

The accelerometer, when enabled in WinIPAC causes up/down/right/left arrow keys to be sent when the unit is nudged. The firmware and software for this feature is currently available as a beta version on request.

Using the Expansion/Trackball/Spinner interface on I-PAC 2

These pins form a dual-purpose interface. The function is configured in the "config" tab in WinIPAC.

There are 2 modes:

Expansion Interface Disabled: In this mode, an Ultimarc U-Trak trackball and SpinTrak spinner can be directly plugged into the header pins. The wire colors are marked.

Expansion Interface Enabled : In this mode, one or two Ultimarc Xbox360/PS3/Xinput converters can be plugged into the header pins. The wire colors are marked.

Troubleshooting

General Approach:

Remember that the I-PAC emulates a keyboard. So if you bear this in mind, you can use any program that displays text to test the response with certain limitations. Notepad or the DOS prompt can be used for example. You can connect a short piece of wire to GND and use the other end to touch onto various input connections, and characters should be typed on the screen. Bear in mind, though, that the default MAME configuration includes many non-printing keys such as ALT, CTRL and the arrow keys, so trying the player 2 inputs is best as these are all printable characters.

But Notepad or DOS cannot tell you whether an input is "stuck" though so is not a complete test. For Windows, the best test is the Passmark keyboard Test which we can recommend downloading. It's a 30-day trial version but hopefully you will have it working by then!

Problem: Player 2 buttons 5 and 6 not working.

This is not an I-PAC problem! By default, MAME does not have these buttons assigned to any keycodes. Just go into the MAME controls menu (press tab in a game) and assign them. Button 5 is "I" and Button 6 is "K".

Problem: No shift functions work.

Part of the shift function design means that to avoid "stuck" keys, shift functions are disabled when any key is pressed. So loss of shift functions means you have a shorted or stuck switch.

Problem: Erratic behaviour of joystick directions. Shift functions not working. "Stuck" keys.

A very common cause is connection of the inputs to the "NC" contact on the switches instead of "NO". See the "no shift functions work" heading above for more info. This type of problem usually occurs when a large number of switches are incorrectly connected. The self-test LED will indicate this problem by flashing at power-up then staying off.

Problem: In USB mode, the I-PAC was not detected properly once before and now I can't get it out of this state.

You will need to remove it from Windows and let it re-detect. Go into Control Panel, System, Device Manager, Hardware. Open up the USB controller by clicking on the plus sign next to it. Under this heading will be displayed all the USB devices. Right click on all devices one by one except the controller itself and Root Hubs and select"uninstall". Now unplug and re-plug the I-PAC. It should be re-detected.

Problem: In USB mode, it is only detected as "Unknown Device" or "device has a problem".

Under certain conditions, shorted inputs can cause this, or inputs that are held at 5 volts. This may happen either because of a wiring error (see steps for checking this, above) or the I-PAC inputs being connected to something other than an open-circuit switch. If you need to connect non-switch devices please email for advice.

Problem: Keys intermittently sticking in one direction.

This is usually not an I-PAC problem. If you check the I-PAC installation using the PassmarkKeyboard Test you will probably find that this works fine and you may need to look elsewhere on your PC installation such as some errant software consuming PC resources.

Performing a USB Device Reset

Windows 7 and later cache information about all USB devices which is not refreshed when the device is unplugged/reconnected. This can cause issues with devices appearing not to work. This process is always required when firmware is changed from versions which support game controller device, to versions without game controller support or vice-versa.

To reset the device settings, open Device Manager. A quick way to do this is to click the Windows button and in the "search programs" enter:

devmgmt.msc

usb device reset

  • Expand the "USB Controllers" entry
  • Find the "Composite Device". There may be more than one. There is no harm in applying this to all of them with the exception that a keyboard with integrated trackball might be one of them and this will prevent any further use of the trackball if uninstalled.
  • Right click on the Composite Device and "Uninstall" it.
  • At the the top select "Action", "Scan for New Hardware". Alternatively, if you have "lost" your USB mouse, just unplug/reconnect it.
How the I-PAC Shift Button Works

When a shift button has been assigned, pressing and holding this button causes the "SHIFTED" code page to be used. The way this works is not the same as defining "key multiple" in an emulator.

To explain this, consider the following example which is part of the standard I-PAC code set in non-programmable mode (and can of course also be set up in programmable mode)

For example say "Start 1" is the shift button and "Player 1 Button 1" is "Coin 1" in the shifted codes. Now if you set this as a key multiple in an emulator, you could generate a coin insert by pressing these two buttons together. BUT you would also send the code for the first button you pressed. Imagine you are starting a game and have one coin insert already done and you want to play a 2-player game which needs two coin inserts. You press the key combination again to send another coin. Unfortunately what may happen is that a one-player game will start as you have pressed "start1" as one half of the coin key combination!

How does the I-PAC get around this? When you press the "Start 1" (shift) button nothing happens immediately. The I-PAC waits to see if you are going to press another key at the same time. If you do press the "Player 1 Button 1" the shifted "Coin 1" code is sent. If you don’t press any other button the "Start 1" code is sent when you RELEASE the "Start 1" button. So you don’t get any unwanted key codes.

WinIPAC V2 Configuration Utility for I-PAC



winipac


Features

  • Configures each pin of the board as the correct device type, ie keyboard, gamepad, analog, mouse, volume/power.
  • Displays a pictorial representation of the board
  • Fully real-time interactive. Reads and write board configuration "on the fly"
  • Can be run in command-line mode or GUI
  • Read/Save configuration to a file

Explanation of "GAMEPAD ENABLED" indicator

This was added because the boards are now shipped with firmware which enables keyboard and mouse support, which is the default for almost all host software. There is alternative firmware available which adds gamepad support, so that all pins can be configured as game controller buttons in addition to keyboard keys or mouse buttons. This is available on our download page if this feature is required.

Operation

GENERAL tab (main window)

PIN drop down

This displays the selected pin you are configuring. You can select pins from here or from the main graphic.

NICKNAME

You can type text in here which will remind you of which device this pin is connected to. The test is saved with the configuration (on the PC only) and is not sent to the board.

FUNCTION area

Here you configure the selected pin as the required device type and assign values to it.
You can select one of the radio buttons to define the pin as the following:

  • Switch (which includes keyboard key, gamepad button and mouse buttons)
  • Trackball/Spinner (includes optical steering wheels etc). This is only relevant to certain pins on the Ultimate I/O board.

    NOTE: Trackball/Spinner uses 2 pins per axis. The partner pin will also automatically be assigned. You can select X, Y or Z (wheel) axis.Trackballs use two axes (4 pins).
    Only the appropriate pins on the top two smaller connectors on the I-PAC Ultimate I/O can be assigned as trackball and spinner. It is recommended that you assign trackball on the left connector and spinner on the right otherwise you cannot use the special connectors for the U-Trak or Spintrak devices. The connectors for these devices are not unique. They use two or 4 of the total 48 input pins available.
    The I-PAC 2 and Mini-PAC also support trackball and spinner but these use dedicated pins.

Detail Configuration Example (Switch)

The switch is connected with one terminal to the required pin and other terminal to GND.

Select the pin by clicking on require pin in the graphic area.

Select "switch" radio button in the function area.

You now can select the control type eg whether keyboard key,

mouse button or gamepad button.

In the primary drop-down all possible keys are available plus macros defined separately (see later). Note that the I-PAC sends key scan codes just like a keyboard. It does not send characters so has no concept of upper/lower case. An upper-case key is a macro consisting of the Shift key plus the required character.

If required, you can select a secondary keycode. This is sent instead of the standard code when the I-PAC shift button is held. (This is by default the Start1 button but can be changed).

There is no need a secondary code unless you wish to use shift feature.



Macros

To assign a macro proceed as follows:


  • Click on the MACRO tab
  • Click NEW In the drop-down box, select the first character of the macro
  • Click "Add Entry"
  • In the drop-down box, select the second character of the macro
  • Click "Add Entry"
  • Repeat above 2 steps to add further characters
  • Click "Add Macro".
  • Return to the main tab. Select the macro in the drop-down when configuring the required pin.


Variable De-Bounce Delay

This feature was added following user request. In the "Config" tab, the setting can be changed to 4 values as required. The default is the "standard" setting.

This value affects the rate at which the SAME input can be re-activated. Setting a low value will allow faster repeat of presses of the same button, but may also cause unwanted key repeat caused by switch bounce.

This is a specialized setting and should only be changed following testing with the specific switches being used. It does not affect overall performance because it only affects repeated action of the same input.

Upgrading Firmware

The firmware upgrade is a two-stage process.

First, the board is placed in firmware upgrade mode. Also a driver is installed on-the-fly if this is the first time an upgrade has been done on the PC.

Then, a program called UUPLOAD performs the upload of the firmware to the board. This program will not detect the board unless it has been placed into upgrade mode from within WinIPAC.

The following steps need to be followed:

  • Run WinIPAC as administrator (right click and select "run as administrator")
  • Ensure the board is detected and click "File, Firmware Upgrade".
  • OK the prompts. The board should reset and change to "Firmware Upgrade Device" (If you have Device Manager open you will see the new device appear under the USB Controllers entry.
  • A program called UUPLOAD.EXE should automatically start. If the process fails you can manually run this program if you have a "Firmware Upgrade Device showing in Device Manager
  • Select the firmware file
  • Uploading to the board should take approx 2-3 minutes. After that, the board should reset again and re-appear as a keyboard, mouse and game controller and be ready for use.

    Note: If the process will not work, you can try manually pre-installing the firmware upgrade driver by downloading the installer from this page which also contains additional information on the process and how to recover from failures.

USB keyboard encoder

I-PAC keyboard encoder
What software can I use?

The units were designed around MAME and normally you would use a front-end menu for selecting games. But of course, as the I-PAC emulates a real keyboard (without all the drawbacks) you can use any PC application which uses keyboard input.



Can I use other emulators?

Yes. You can use the fully programmable code sets of I-PAC to customise for any emulator or other application. Several popular front-end menus even have integrated support for downloading I-PAC codesets on-the-fly.



Do I have a lot of setting up to do before playing?

NO. Using the key-code programming is entirely optional. When the board is shipped, all codes are automatically assigned to MAME standard keys. As many people have found, this makes installation very quick and easy.


What are the other alternatives?

One method is to hack a keyboard, i.e. connect all the controls to the keyswitches so each button appears as a key. This is pretty unsatisfactory for several reasons: It takes ages to wire up as 2 wires need to be run to each switch.

Most arcade cabs have one side of all switches commoned so you have to re-wire everything.

Key Ghosting: This happens because of the matrix nature of keyboard encoders.

Extra buttons: With this solution, with some emulators you have to have extra buttons on the cabinet for functions such as "escape", "insert coin" etc. Nobody likes drilling extra holes in their nice original arcade cab!

Speed: Keyboard encoders use a scanning method. So each key is checked in sequence for a press or release. I-PAC does not use a matrix or scanning.



What is the "shift button"?

Shifted function keys will do various functions ie press "1 player start" and "fire" and you will insert a coin. Press "1 player start" and "2 player start" and you will jump back to the menu. You can also use the MAME game config menus with shift buttons, ie tab and enter are shift joystick right and left. The 1 player start button is always the shift button if you are using the standard MAME codes. In programmable mode you can assign any input to be the shift button and you can program all of the buttons to have shifted codes. The unique feature of the shift function is that it requires no dedicated extra button.



How do programmable keycodes work?

When the board is shipped it contains all standard MAME codes including the shift codes mentioned above. If you only ever use MAME and want a quick and easy install this will probably do for you. But if you need to, you can re-program as required, including "on the fly", and the board will remember your new settings.



Why would I need to program the board?

You may find you need to change the assignment of keys for other emulators or maybe you don't want to have the shift functions of the MAME code set. The code set can be changed using the WinIPAC utility.

Normally you would install and test the board before getting into programming.

Do I need to use a normal keyboard as well? You can use a normal keyboard connected to the pass-thru connector or direct to the PC as usual. But if everything is set up properly with the PC booting into an emulation front-end menu, and each game is configured correctly, you can do everything with the standard controls on the cabinet.
What about key-repeat (Typematic)? In USB mode key repeat is supported as on a normal keyboard and is handled by the PC.


Are 32 Inputs enough or do I need the I-PAC4 56-input board?
The answer is almost certainly yes for a 2-player cabinet. Remember that an 8-way joystick uses only 4 inputs (the diagonals hit 2 switches at once). So with two sticks you can also have 20 buttons. A normal sized 2-player control panel would get very cluttered with this number. Most people go for 6 per player which gives plenty of spare inputs for 1 player start, 2 player start and coin. A 4-player cabinet would need the I-PAC4 board (and a large panel!).


Will it work on a MAC?

Yes the I-PAC will work on a MAC with USB. There is even a Mac version of the programming utility.




Will it work on a Linux host including Raspberry Pi?

Yes the I-PAC will work on a Linux host. There is third-party Linux programming utility support (see Downloads page).




What is the size of the board?

Dimensions shown below. Height is approx 17mm.

I-PAC 2 dimensionsI-PAC 4 dimensions


Click Here for older software versions for pre-2015 boards

WinIPAC Version 2


Compatible with I-PAC Ultimate I/O, I-PAC 2, I-PAC 4, Mini-PAC, J-PAC. (2015-16 boards only).


Winipac V2

Click Here to Download Program


Firmware

Latest firmware files for all 2015-onwards I-PAC, Mini-PAC and J-PAC boards plus all Ultimate I/O boards regardless of date.

NOTE: Attempting to upgrade a pre-2015 board which this firmware will render it inoperable.

History:

1.22. Cures intermittent failure to send keycodes on some hosts.
1.23 Correct stuck shift on I-PAC 4. Extend Start1 pulse time. Following customer feedback this version reverts the self-test LED function to that of pre-2015 boards. The LED is ON when no error detected.
1.30 Correct false self-test failures (flashing LED at power on).
1.31 Correct various PacLink issues
1.32 Improved performance, reduce debounce timer value.
1.33 Remove scan of unused connections
1.34 Split version of game controller/no game controller support.
1.35 (UIO only) shift key pulse too long when LEDs active.
1.36 Gamepad-enabled firmware now appears as TWO gamepads.
1.37 (UIO only) Lockup during LED animations
1.38 Add variable de-bounce delay, selectable with 4 values in WinIPAC
1.39 Harmonize all versions, no functional changes.

Firmware with/without the Game Controller device.


Starting with version 34 there are separate firmware versions which have the game controller device present/not present.
Versions without game controller (ie with keyboard and mouse support) have the first version digit as "4" eg 1.44.
Versions with game controller (ie with gamepad button, keyboard and mouse support) have the first version digit as "3" eg 1.34.
Starting with version 1.36, gamepad-enabled firmware enables TWO gamepad devices, one for each player.
When changing versions it is necessary after the firmware change to locate the "composite device" under the USB Controllers entry in Device Manager and "Uninstall" this so that Windows can re-detect the new version correctly.

Click here to download all firmware versions with dual gamepad, keyboard, mouse, power/volume support (excl J-PAC)

Click here to download all firmware versions with keyboard, mouse, power/volume support
Programming Utility for Mac

MacIPAC

Thanks to John K. Morris of Evolution Interactive for this software

Click here to download the new version for Intel Macs

Click here to download the older PowerPC version.

Linux Utilities

Linux software utilities are available. These cover several of our products and are being added-to. Please note we are not able to provide direct support for these utilities:

Linux Library and command line utilities developed by Katie Snow