All of these programming methods can be used to re-assign key-codes
generated by the I-PAC / J-PAC. Codes are stored in EEPROM and kept
after power-off. Note that you don't need to program the board at all
if you don't want to, just leave it with the factory MAME settings".
Click here
to download any of these programs
Click below for preferred programming method:
While we're on the subject of programming, it's useful to understand
exactly how the I-PAC shift functions work. here's some info:
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.
The I-PAC
4
has two shift buttons. The codes on the I-PAC
4
are divided into two pages. Each of the two pages has it's own shift
button which only acts on controls in it's own page.