Element: keypad
Basic keypad definition. The type attribute defines one of the different keypad HW configurations:
- elf (Cosmac Elf)
- latch (using attribute pad with value 1/2 or a/b)
- fred (FRED 1 or 1.5)
- hug or eti (both configure the same keypad as used for the ETI-660, HUG1802 or HEC1802)
- cv (Cybervision or large keypad)
- bit (keypad using one bit per key, pad with value 1/2 or a/b)
Type: elf
Keypad definition for the Cosmac Elf.
child element | attribute | value | description |
---|---|---|---|
ef | pol, q | ef flag (1 to 4) | Cosmac Elf keypad EF flag. With type="in_elf" the port will be configured for the IN button. With type="ready" (or "data") the port will be configured for the data ready signal. For details about attribute and value usage see XML - I/O. |
in | mask, q | port (1 to 7) | Cosmac Elf keypad input port definition to read data. For details about attribute and value usage see XML - I/O. |
iogroup | group number (8 bit) | Cosmac Elf keypad iogroup definition. For details about value usage see XML - I/O. |
Type: latch
Keypad definition for a solution using a key latch (using attribute pad with value 1/2 or a/b).
child element | attribute | value | description |
---|---|---|---|
auto | on / off | Default off, but when using 'on' a keydefinition file is loaded to set the keymap automatically. | |
diagonal | key1, key2 | Activate diagonal direction key, the specified key will be emulated if key x and key y are pressed. All specified keys are key values as used in the emulated computer. See Studio II xml file for an example. | |
ef | pol, q | ef flag (1 to 4) | Latch keypad EF flag, active when latched key is pressed definition. For details about attribute and value usage see XML - I/O. |
keydef | out, type | raw ASCII key value / predefined key text | When attribute out="x" represents the key latch to be mapped to the given raw (shift, ctrl keys are ignored) ASCII PC key value (assuming no type attribute is used). A type attribute can be used to activate the following options:
|
iogroup | group number (8 bit) | Latch keypad iogroup definition. For details about value usage see XML - I/O. | |
out | mask, q | port (1 to 7) | Latch keypad output port definition to set the key latch . For details about attribute and value usage see XML - I/O. |
Type: fred
Keypad definition for FRED 1 or 1.5.
child element | attribute | value | description |
---|---|---|---|
ef | mode, pol, q, type | ef flag (1 to 4) | FRED keypad EF flag definition. When attribute type="key" a data ready flag is configured. For a data ready flag, atttibute mode="x" sets in which ef mode data ready is used (default 1, keypad mode). When attribute type="error" or "coin", a tape error flag is configured. When a Coin Arcade input port is defined the data ready flag will also function as fire player A flag and the tape error flag will function as a coin flag. When attribute type="fireb", a Coin Arcade fire player B flag is configured. For details about attribute and value usage see XML - I/O. |
in | mask, mode, q, type | port (1 to 7) | FRED keypad input port definition. When attribute type="key" a keypad read data port is configured. For a keypad port, atttibute mode="x" sets in which input mode keypad data is read (default 1, keypad mode). When attribute type="coin", a Coin Arcade input port is configured. For details about attribute and value usage see XML - I/O. |
iogroup | group number (8 bit) | FRED keypad iogroup definition. For details about value usage see XML - I/O. | |
mode | byte (byte mode), hex (hex mode), p-hex (hex pulse mode) | Select input mode. | |
out | mask, q | port (1 to 7) | FRED keypad output port definition to select mode (program or direct mode) . For details about attribute and value usage see XML - I/O. |
Type: hug or eti
Keypad definition for the ETI-660, HUG1802 or HEC1802.
child element | attribute | value | description |
---|---|---|---|
caps | Force uppercase (do not specify for normal operation). | ||
ef | pol, q | ef flag (1 to 4) | ETI-660, HUG1802 or HEC1802 keypad EF flag definition to step key signal. For details about attribute and value usage see XML - I/O. |
in | mask, q | port (1 to 7) | ETI-660, HUG1802 or HEC1802 keyboard input port definition to read the pia port. For details about attribute and value usage see XML - I/O. |
iogroup | group number (8 bit) | ETI-660, HUG1802 or HEC1802 keypad iogroup definition. For details about value usage see XML - I/O. | |
out | mask, q | port (1 to 7) | ETI-660, HUG1802 or HEC1802 keypad output port definition to write to the pia port. For details about attribute and value usage see XML - I/O. |
Type: cv
Keypad definition for the Cybervision or a large keypad.
child element | attribute | value | description |
---|---|---|---|
ef | pol, q | ef flag (1 to 4) | Cybervision keypad EF flag definition for data ready flag. For details about attribute and value usage see XML - I/O.. |
in | mask, q | port (1 to 7) | Cybervision keypad input port definition to read data. For details about attribute and value usage see XML - I/O. |
iogroup | group number (8 bit) | Cybervision keypad iogroup definition. For details about value usage see XML - I/O. | |
keydef | type, value | Attribute value defines the input code for specified PC key. Use type="text", for predefined keys: return, end, home, esc, back, up, down, left or right. | |
pad | mask | shift, control, alt, cmd (same as control), caps | Defines the key to activate keypad 2, mask indicates the bit to be set when keypad 2 is active. |
Type: bit
Keyboard definition for a bit keypad (using one bit per key, pad with value 1/2 or a/b).
child element | attribute | value | description |
---|---|---|---|
bit | key | bit numbers (0 to 7 | Attribute key defines the ASCII code for key defined on the specific bit number(s). Multiple bit numbers can be defined for the same key, to do so use multiple numbers separated by a comma. |
bitX | ef | ASCII key code | X=0 to 7 defines the bit number to define to the specififed ASCII key code. Attribute ef is used to force a SHIFT or CONTROL. For an example see the VIP2K xml file |
in | mask, q | port (1 to 7) | Bit keypad input port to read data keypad / row. For details about attribute and value usage see XML - I/O. |
iogroup | group number (8 bit) | Bit keypad iogroup definition. For details about value usage see XML - I/O. | |
pressed | 0 or 1 | Bit value defining a pressed key | |
repeat | on / off | Turn repeat feature off (on is default) |