Playfield matrix, coin-door, diagnostic, EOS, and cabinet inputs
pinmame.input.switch
- 11 … 188 slots
- 21 … 288 slots
- 31 … 388 slots
- 41 … 488 slots
- 51 … 588 slots
- 61 … 688 slots
- 71 … 788 slots
- 81 … 888 slots
- 91 … 988 slots
- 101 … 1088 slots
- 111 … 1188 slots
- libpinmamechannel=switch
- controller_plugingroup_id=1 · contract_revision=a6f6d7266d30
Technical details for Playfield matrix, coin-door, diagnostic, EOS, and cabinet inputsSource-derived address behavior and exceptions
Playfield matrix
Addresses 11-88 use column-times-ten plus one-based row notation. Values ending in 9 or 0 are not matrix positions. PinMAME translates those public addresses through p2k_sw2m and p2k_m2sw.
Dedicated inputs
The board's 24 direct inputs are exposed as three public columns: printed D1-D8 become 91-98, D9-D16 become 101-108, and D17-D24 become 111-118. They carry coin, diagnostic, EOS, cabinet, and action-button inputs.
Polarity
P2K publishes mixed raw public levels. Every switch in the per-game opto list is active-low (0 active/beam blocked, 1 inactive); SWITCH_UPDATE(p2k) refreshes those optos to 1 each frame before game/model activity drives them low. Grounded contacts outside that list are active-high (1 closed/active). The profile's inversion_applied_by_emulator field means consumers use the public state exactly as delivered and must not apply one controller-wide inversion; it does not claim that every public input is active-high.