Four-ball trough
mechanism.trough
The working Pro script models four balls at switches 18-21 with output 1 feeding the shooter lane through jam opto 22.
Stern2012SAMstern.x-men-pro.2012 1 of 2 editions
7 ROM sets resolve to this machine. Clones share the definition unless a hardware difference is listed.
PinMAME already reports logical active state. Do not invert again in the table — normally-closed is a physical fact recorded per switch, not a runtime transform.
A single aggregate GI channel — the whole string switches together.
Create balls on these switches so the ROM finds a full trough at boot.
Real evidence exists, but authoring requirements are still missing or in conflict. Verify before shipping a table.
The addresses PinMAME reports as closed. Numbers are the public API values, not matrix hardware pins.
Sequential addresses, grouped in columns of eight.
Outside the matrix-7, -6, -5, -4, -3, -2, -1, 0 — dedicated, diagnostic or flipper-column addresses. See the table below.
| # | Name | Device ID | Role | Wiring | Evidence |
|---|---|---|---|---|---|
| -7 | Pendulum tilt Tilt | switch.pendulum-tilt | validated | ||
| -6 | Slam tiltNC Tilt | switch.slam-tilt | validated | ||
| -5 | Ticket notchopt Microswitch | switch.ticket-notch | validated | ||
| -4 | Unused dedicated switch D20 | switch.unused-dedicated-switch-d20 | validated | ||
| -3 | Coin-door Back button Button | switch.coin-door-back-button | validated | ||
| -2 | Coin-door Minus button Button | switch.coin-door-minus-button | validated | ||
| -1 | Coin-door Plus button Button | switch.coin-door-plus-button | validated | ||
| 0 | Coin-door Select button Button | switch.coin-door-select-button | validated | ||
| 1 | Left two-bank bottom target Microswitch | switch.left-two-bank-bottom-target | J1-P1GRN-BRN J6-P9WHT-BRN CPU/Sound board | validated | |
| 2 | Left two-bank top target Microswitch | switch.left-two-bank-top-target | J1-P1GRN-BRN J6-P8WHT-RED CPU/Sound board | validated | |
| 3 | Unused matrix switch 3 | switch.unused-matrix-switch-3 | J1-P1GRN-BRN J6-P7WHT-ORG CPU/Sound board | validated | |
| 4 | Lower-left eject Microswitch | switch.lower-left-eject | ball.loaded | J1-P1GRN-BRN J6-P6WHT-YEL CPU/Sound board | validated |
| 5 | Unused matrix switch 5 | switch.unused-matrix-switch-5 | J1-P1GRN-BRN J6-P5WHT-GRN CPU/Sound board | validated | |
| 6 | Unused matrix switch 6 | switch.unused-matrix-switch-6 | J1-P1GRN-BRN J6-P3WHT-BLU CPU/Sound board | validated | |
| 7 | Right two-bank top target Microswitch | switch.right-two-bank-top-target | J1-P1GRN-BRN J6-P2WHT-VIO CPU/Sound board | validated | |
| 8 | Right two-bank bottom target Microswitch | switch.right-two-bank-bottom-target | J1-P1GRN-BRN J6-P1WHT-GRY CPU/Sound board | validated | |
| 9 | Unused matrix switch 9 | switch.unused-matrix-switch-9 | J1-P1GRN-BRN J12-P9TAN-BLK CPU/Sound board | validated | |
| 10 | Unused matrix switch 10 | switch.unused-matrix-switch-10 | J1-P1GRN-BRN J12-P8TAN-RED CPU/Sound board | validated | |
| 11 | Left ramp exit Opto | switch.left-ramp-exit | J1-P1GRN-BRN J12-P7TAN-ORG CPU/Sound board | validated | |
| 12 | Unused matrix switch 12 | switch.unused-matrix-switch-12 | J1-P1GRN-BRN J12-P6TAN-YEL CPU/Sound board | validated | |
| 13 | Left ramp entrance Opto | switch.left-ramp-entrance | J1-P1GRN-BRN J12-P4TAN-GRN CPU/Sound board | validated | |
| 14 | Left orbit Leaf | switch.left-orbit | J1-P1GRN-BRN J12-P3TAN-BLU CPU/Sound board | validated | |
| 15 | Tournament start Button | switch.tournament-start | J1-P1GRN-BRN J12-P2TAN-VIO CPU/Sound board | validated | |
| 16 | Start Button | switch.start | J1-P1GRN-BRN J12-P1TAN-WHT CPU/Sound board | validated | |
| 17 | Unused matrix switch 17 | switch.unused-matrix-switch-17 | J1-P3GRN-RED J6-P9WHT-BRN CPU/Sound board | validated | |
| 18 | Trough 4 left Microswitch | switch.trough-4-left | ball.position | J1-P3GRN-RED J6-P8WHT-RED CPU/Sound board | validated |
| 19 | Trough 3 Microswitch | switch.trough-3 | ball.position | J1-P3GRN-RED J6-P7WHT-ORG CPU/Sound board | validated |
| 20 | Trough 2 Microswitch | switch.trough-2 | ball.position | J1-P3GRN-RED J6-P6WHT-YEL CPU/Sound board | validated |
| 21 | Trough 1 right Microswitch | switch.trough-1-right | ball.position | J1-P3GRN-RED J6-P5WHT-GRN CPU/Sound board | validated |
| 22 | Trough jam Opto | switch.trough-jam | ball.position | J1-P3GRN-RED J6-P3WHT-BLU CPU/Sound board | validated |
| 23 | Shooter lane Microswitch | switch.shooter-lane | ball.position | J1-P3GRN-RED J6-P2WHT-VIO CPU/Sound board | validated |
| 24 | Left outlane Leaf | switch.left-outlane | J1-P3GRN-RED J6-P1WHT-GRY CPU/Sound board | validated | |
| 25 | Left return lane Leaf | switch.left-return-lane | J1-P3GRN-RED J12-P9TAN-BLK CPU/Sound board | validated | |
| 26 | Left slingshot Leaf | switch.left-slingshot | J1-P3GRN-RED J12-P8TAN-RED CPU/Sound board | validated | |
| 27 | Right slingshot Leaf | switch.right-slingshot | J1-P3GRN-RED J12-P7TAN-ORG CPU/Sound board | validated | |
| 28 | Right return lane left Leaf | switch.right-return-lane-left | J1-P3GRN-RED J12-P6TAN-YEL CPU/Sound board | validated | |
| 29 | Right outlane Leaf | switch.right-outlane | J1-P3GRN-RED J12-P4TAN-GRN CPU/Sound board | validated | |
| 30 | Left pop bumper Leaf | switch.left-pop-bumper | J1-P3GRN-RED J12-P3TAN-BLU CPU/Sound board | validated | |
| 31 | Right pop bumper Leaf | switch.right-pop-bumper | J1-P3GRN-RED J12-P2TAN-VIO CPU/Sound board | validated | |
| 32 | Bottom pop bumper Leaf | switch.bottom-pop-bumper | J1-P3GRN-RED J12-P1TAN-WHT CPU/Sound board | validated | |
| 33 | Right return lane right Leaf | switch.right-return-lane-right | J1-P4GRN-ORG J6-P9WHT-BRN CPU/Sound board | validated | |
| 34 | Unused matrix switch 34 | switch.unused-matrix-switch-34 | J1-P4GRN-ORG J6-P8WHT-RED CPU/Sound board | validated | |
| 35 | Unused matrix switch 35 | switch.unused-matrix-switch-35 | J1-P4GRN-ORG J6-P7WHT-ORG CPU/Sound board | validated | |
| 36 | Wolverine bash target Microswitch | switch.wolverine-bash-target | J1-P4GRN-ORG J6-P6WHT-YEL CPU/Sound board | validated | |
| 37 | Unused matrix switch 37 | switch.unused-matrix-switch-37 | J1-P4GRN-ORG J6-P5WHT-GRN CPU/Sound board | validated | |
| 38 | Center lock 2 Opto | switch.center-lock-2 | ball.position | J1-P4GRN-ORG J6-P3WHT-BLU CPU/Sound board | validated |
| 39 | Center lock 3 Opto | switch.center-lock-3 | ball.position | J1-P4GRN-ORG J6-P2WHT-VIO CPU/Sound board | validated |
| 40 | Center lock 4 top Opto | switch.center-lock-4-top | ball.position | J1-P4GRN-ORG J6-P1WHT-GRY CPU/Sound board | validated |
| 41 | Light lock target left Microswitch | switch.light-lock-target-left | J1-P4GRN-ORG J12-P9TAN-BLK CPU/Sound board | validated | |
| 42 | Light lock target right Microswitch | switch.light-lock-target-right | J1-P4GRN-ORG J12-P8TAN-RED CPU/Sound board | validated | |
| 43 | Unused matrix switch 43 | switch.unused-matrix-switch-43 | J1-P4GRN-ORG J12-P7TAN-ORG CPU/Sound board | validated | |
| 44 | Unused matrix switch 44 | switch.unused-matrix-switch-44 | J1-P4GRN-ORG J12-P6TAN-YEL CPU/Sound board | validated | |
| 45 | Unused matrix switch 45 | switch.unused-matrix-switch-45 | J1-P4GRN-ORG J12-P4TAN-GRN CPU/Sound board | validated | |
| 46 | Unused matrix switch 46 | switch.unused-matrix-switch-46 | J1-P4GRN-ORG J12-P3TAN-BLU CPU/Sound board | validated | |
| 47 | Cyclops spinner Other | switch.cyclops-spinner | J1-P4GRN-ORG J12-P2TAN-VIO CPU/Sound board | validated | |
| 48 | Right ramp entrance Opto | switch.right-ramp-entrance | J1-P4GRN-ORG J12-P1TAN-WHT CPU/Sound board | validated | |
| 49 | Right orbit Leaf | switch.right-orbit | J1-P5GRN-YEL J6-P9WHT-BRN CPU/Sound board | validated | |
| 50 | Unused matrix switch 50 | switch.unused-matrix-switch-50 | J1-P5GRN-YEL J6-P8WHT-RED CPU/Sound board | validated | |
| 51 | Unused matrix switch 51 | switch.unused-matrix-switch-51 | J1-P5GRN-YEL J6-P7WHT-ORG CPU/Sound board | validated | |
| 52 | Right ramp exit Opto | switch.right-ramp-exit | J1-P5GRN-YEL J6-P6WHT-YEL CPU/Sound board | validated | |
| 53 | Center lock 1 bottom Opto | switch.center-lock-1-bottom | ball.position | J1-P5GRN-YEL J6-P5WHT-GRN CPU/Sound board | validated |
| 54 | Left inner loop Leaf | switch.left-inner-loop | J1-P5GRN-YEL J6-P3WHT-BLU CPU/Sound board | validated | |
| 55 | Left up-kicker Microswitch | switch.left-up-kicker | ball.loaded | J1-P5GRN-YEL J6-P2WHT-VIO CPU/Sound board | validated |
| 56 | Unused matrix switch 56 | switch.unused-matrix-switch-56 | J1-P5GRN-YEL J6-P1WHT-GRY CPU/Sound board | validated | |
| 57 | Unused matrix switch 57 | switch.unused-matrix-switch-57 | J1-P5GRN-YEL J12-P9TAN-BLK CPU/Sound board | validated | |
| 58 | Unused matrix switch 58 | switch.unused-matrix-switch-58 | J1-P5GRN-YEL J12-P8TAN-RED CPU/Sound board | validated | |
| 59 | Unused matrix switch 59 | switch.unused-matrix-switch-59 | J1-P5GRN-YEL J12-P7TAN-ORG CPU/Sound board | validated | |
| 60 | Unused matrix switch 60 | switch.unused-matrix-switch-60 | J1-P5GRN-YEL J12-P6TAN-YEL CPU/Sound board | validated | |
| 61 | Unused matrix switch 61 | switch.unused-matrix-switch-61 | J1-P5GRN-YEL J12-P4TAN-GRN CPU/Sound board | validated | |
| 62 | Unused matrix switch 62 | switch.unused-matrix-switch-62 | J1-P5GRN-YEL J12-P3TAN-BLU CPU/Sound board | validated | |
| 63 | Unused matrix switch 63 | switch.unused-matrix-switch-63 | J1-P5GRN-YEL J12-P2TAN-VIO CPU/Sound board | validated | |
| 64 | Unused matrix switch 64 | switch.unused-matrix-switch-64 | J1-P5GRN-YEL J12-P1TAN-WHT CPU/Sound board | validated | |
| 65 | Left coin chute Button | switch.left-coin-chute | validated | ||
| 66 | Center coin chute Button | switch.center-coin-chute | validated | ||
| 67 | Right coin chute Button | switch.right-coin-chute | validated | ||
| 68 | Fourth coin chuteopt Button | switch.fourth-coin-chute | validated | ||
| 69 | Fifth coin chuteopt Button | switch.fifth-coin-chute | validated | ||
| 70 | Unused dedicated switch D6 | switch.unused-dedicated-switch-d6 | validated | ||
| 71 | Unused dedicated switch D7 | switch.unused-dedicated-switch-d7 | validated | ||
| 72 | Unused dedicated switch D8 | switch.unused-dedicated-switch-d8 | validated | ||
| 81 | Right flipper end-of-strokeNC Leaf | switch.right-flipper-end-of-stroke | validated | ||
| 82 | Right flipper button Button | switch.right-flipper-button | validated | ||
| 83 | Left flipper end-of-strokeNC Leaf | switch.left-flipper-end-of-stroke | validated | ||
| 84 | Left flipper button Button | switch.left-flipper-button | validated | ||
| 85 | Unused dedicated switch D16 | switch.unused-dedicated-switch-d16 | validated | ||
| 86 | Upper-right flipper button Button | switch.upper-right-flipper-button | validated | ||
| 87 | Unused dedicated switch D14 | switch.unused-dedicated-switch-d14 | validated | ||
| 88 | Unused dedicated switch D13 | switch.unused-dedicated-switch-d13 | validated |
Everything the ROM can energise, grouped the way a table author builds it.
| # | Name | Device ID | Kind | Wiring | Evidence |
|---|---|---|---|---|---|
| 1 | Trough up-kicker | device.trough-up-kicker | Coil | Q1BRN-BLK I/O Power Driver board | validated |
| 2 | Auto launch | device.auto-launch | Coil | Q2BRN-RED I/O Power Driver board | validated |
| 3 | Lower-left eject | device.lower-left-eject | Coil | Q3BRN-ORG I/O Power Driver board | validated |
| 4 | Magneto magnet | device.magneto-magnet | Magnet | Q4BRN-YEL I/O Power Driver board | validated |
| 5 | Left up-kicker | device.left-up-kicker | Coil | Q5BRN-GRN I/O Power Driver board | validated |
| 6 | Center lock up-posts | device.center-lock-up-posts | Coil | Q6BRN-BLU I/O Power Driver board | validated |
| 7 | Center lock latch | device.center-lock-latch | Coil | Q7BRN-VIO I/O Power Driver board | validated |
| 8 | Shaker motoropt | device.shaker-motor | Motor | Q8BRN-GRY I/O Power Driver board | validated |
| 9 | Left pop bumper | device.left-pop-bumper | Coil | Q9BLU-BRN I/O Power Driver board | validated |
| 10 | Right pop bumper | device.right-pop-bumper | Coil | Q10BLU-RED I/O Power Driver board | validated |
| 11 | Bottom pop bumper | device.bottom-pop-bumper | Coil | Q11BLU-ORG I/O Power Driver board | validated |
| 12 | Upper-right flipper | device.upper-right-flipper | Coil | Q12BLU-YEL I/O Power Driver board | validated |
| 13 | Left slingshot | device.left-slingshot | Coil | Q13BLU-GRN I/O Power Driver board | validated |
| 14 | Right slingshot | device.right-slingshot | Coil | Q14BLU-BLU I/O Power Driver board | validated |
| 15 | Left flipper | device.left-flipper | Coil | Q15ORG-GRY I/O Power Driver board | validated |
| 16 | Right flipper | device.right-flipper | Coil | Q16ORG-VIO I/O Power Driver board | validated |
| 23 | Unused Pro output 23 (no Magneto disc motor) | device.unused-pro-output-23-no-magneto-disc-motor | Relay | Q23VIO-BLK I/O Power Driver board | validated |
| 24 | Coin meteropt | device.coin-meter | Coil | Q24VIO-GRY I/O Power Driver board | validated |
| 26 | Orbit diverter | device.orbit-diverter | Coil | Q26BLK-RED I/O Power Driver board | validated |
| 32 | Wolverine magnet | device.wolverine-magnet | Magnet | Q32BLK-GRY I/O Power Driver board | validated |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 17 | Left-side double flasher | device.left-side-double-flasher | Q17VIO-BRN I/O Power Driver board | validated |
| 18 | Right-side flasher | device.right-side-flasher | Q18VIO-RED I/O Power Driver board | validated |
| 19 | Unused Pro output 19 (no Magneto disc clear flasher) | device.unused-pro-output-19-no-magneto-disc-clear-flasher | Q19VIO-ORG I/O Power Driver board | validated |
| 20 | Unused Pro output 20 (no Magneto disc blue flasher) | device.unused-pro-output-20-no-magneto-disc-blue-flasher | Q20VIO-YEL I/O Power Driver board | validated |
| 21 | Wolverine flasher | device.wolverine-flasher | Q21VIO-GRN I/O Power Driver board | validated |
| 22 | Magneto feature double flasher | device.magneto-feature-double-flasher | Q22VIO-BLU I/O Power Driver board | validated |
| 25 | Pop bumper flasher | device.pop-bumper-flasher | Q25BLK-BRN I/O Power Driver board | validated |
| 27 | Center-left red feature flasher | device.center-left-red-feature-flasher | Q27BLK-ORG I/O Power Driver board | validated |
| 28 | Backpanel left triple flasher | device.backpanel-left-triple-flasher | Q28BLK-YEL I/O Power Driver board | validated |
| 29 | Backpanel right triple flasher | device.backpanel-right-triple-flasher | Q29BLK-GRN I/O Power Driver board | validated |
| 30 | Unused Pro output 30 | device.unused-pro-output-30 | Q30BLK-BLU I/O Power Driver board | validated |
| 31 | Magneto center red feature flasher | device.magneto-center-red-feature-flasher | Q31BLK-VIO I/O Power Driver board | validated |
Sequential addresses, grouped in columns of eight.
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Unused Pro lamp channel 1 | lamp.unused-1 | I/O Power Driver board lamp matrix | validated |
| 2 | Unused Pro lamp channel 2 | lamp.unused-2 | I/O Power Driver board lamp matrix | validated |
| 3 | Shoot Again | lamp.shoot-again-3 | I/O Power Driver board lamp matrix | validated |
| 4 | Left Special | lamp.left-special-4 | I/O Power Driver board lamp matrix | validated |
| 5 | Left return lane | lamp.left-return-lane-5 | I/O Power Driver board lamp matrix | validated |
| 6 | Blackbird launch left | lamp.blackbird-launch-left-6 | I/O Power Driver board lamp matrix | validated |
| 7 | Blackbird launch right | lamp.blackbird-launch-right-7 | I/O Power Driver board lamp matrix | validated |
| 8 | Right Special | lamp.right-special-8 | I/O Power Driver board lamp matrix | validated |
| 9 | Left two-bank bottom | lamp.left-two-bank-bottom-9 | I/O Power Driver board lamp matrix | validated |
| 10 | Left two-bank top | lamp.left-two-bank-top-10 | I/O Power Driver board lamp matrix | validated |
| 11 | Left Nightcrawler feature insert | lamp.left-nightcrawler-feature-insert-11 | I/O Power Driver board lamp matrix | validated |
| 12 | Dark Phoenix | lamp.dark-phoenix-12 | I/O Power Driver board lamp matrix | validated |
| 13 | Extra Ball | lamp.extra-ball-13 | I/O Power Driver board lamp matrix | validated |
| 14 | Danger Room | lamp.danger-room-14 | I/O Power Driver board lamp matrix | validated |
| 15 | Villain | lamp.villain-15 | I/O Power Driver board lamp matrix | validated |
| 16 | Gambit | lamp.gambit-16 | I/O Power Driver board lamp matrix | validated |
| 17 | Beast | lamp.beast-17 | I/O Power Driver board lamp matrix | validated |
| 18 | Far-left upper lane red arrow | lamp.far-left-upper-lane-red-arrow-18 | I/O Power Driver board lamp matrix | validated |
| 19 | Storm | lamp.storm-19 | I/O Power Driver board lamp matrix | validated |
| 20 | Left ramp red arrow | lamp.left-ramp-red-arrow-20 | I/O Power Driver board lamp matrix | validated |
| 21 | Upper-left orbit red arrow | lamp.upper-left-orbit-red-arrow-21 | I/O Power Driver board lamp matrix | validated |
| 22 | Rogue | lamp.rogue-22 | I/O Power Driver board lamp matrix | validated |
| 23 | Left Lock | lamp.left-lock-23 | I/O Power Driver board lamp matrix | validated |
| 24 | Upper-center lane red arrow | lamp.upper-center-lane-red-arrow-24 | I/O Power Driver board lamp matrix | validated |
| 25 | Xavier | lamp.xavier-25 | I/O Power Driver board lamp matrix | validated |
| 26 | Unused Pro lamp channel 26 | lamp.unused-26 | I/O Power Driver board lamp matrix | validated |
| 27 | Unused Pro lamp channel 27 | lamp.unused-27 | I/O Power Driver board lamp matrix | validated |
| 28 | Left Light Lock | lamp.left-light-lock-28 | I/O Power Driver board lamp matrix | validated |
| 29 | Right Light Lock | lamp.right-light-lock-29 | I/O Power Driver board lamp matrix | validated |
| 30 | Wolverine feature insert | lamp.wolverine-feature-insert-30 | I/O Power Driver board lamp matrix | validated |
| 31 | Wolverine red arrow | lamp.wolverine-red-arrow-31 | I/O Power Driver board lamp matrix | validated |
| 32 | Unused Pro lamp channel 32 | lamp.unused-32 | I/O Power Driver board lamp matrix | validated |
| 33 | Magneto feature insert | lamp.magneto-feature-insert-33 | I/O Power Driver board lamp matrix | validated |
| 34 | Center Lock | lamp.center-lock-34 | I/O Power Driver board lamp matrix | validated |
| 35 | Magneto red arrow | lamp.magneto-red-arrow-35 | I/O Power Driver board lamp matrix | validated |
| 36 | Cyclops red arrow | lamp.cyclops-red-arrow-36 | I/O Power Driver board lamp matrix | validated |
| 37 | Cyclops | lamp.cyclops-37 | I/O Power Driver board lamp matrix | validated |
| 38 | Right Nightcrawler feature insert | lamp.right-nightcrawler-feature-insert-38 | I/O Power Driver board lamp matrix | validated |
| 39 | Unused Pro lamp channel 39 | lamp.unused-39 | I/O Power Driver board lamp matrix | validated |
| 40 | Unused Pro lamp channel 40 | lamp.unused-40 | I/O Power Driver board lamp matrix | validated |
| 41 | Unused Pro lamp channel 41 | lamp.unused-41 | I/O Power Driver board lamp matrix | validated |
| 42 | Unused Pro lamp channel 42 | lamp.unused-42 | I/O Power Driver board lamp matrix | validated |
| 43 | Iceman red arrow | lamp.iceman-red-arrow-43 | I/O Power Driver board lamp matrix | validated |
| 44 | Iceman | lamp.iceman-44 | I/O Power Driver board lamp matrix | validated |
| 45 | Phoenix red arrow | lamp.phoenix-red-arrow-45 | I/O Power Driver board lamp matrix | validated |
| 46 | Phoenix | lamp.phoenix-46 | I/O Power Driver board lamp matrix | validated |
| 47 | Right Lock | lamp.right-lock-47 | I/O Power Driver board lamp matrix | validated |
| 48 | Magneto completion medallion left | lamp.magneto-completion-medallion-left-48 | I/O Power Driver board lamp matrix | validated |
| 49 | Magneto completion medallion right | lamp.magneto-completion-medallion-right-49 | I/O Power Driver board lamp matrix | validated |
| 50 | Iceman character ring | lamp.iceman-character-ring-50 | I/O Power Driver board lamp matrix | validated |
| 51 | Wolverine character ring | lamp.wolverine-character-ring-51 | I/O Power Driver board lamp matrix | validated |
| 52 | Xavier character ring | lamp.xavier-character-ring-52 | I/O Power Driver board lamp matrix | validated |
| 53 | Storm character ring | lamp.storm-character-ring-53 | I/O Power Driver board lamp matrix | validated |
| 54 | Phoenix character ring | lamp.phoenix-character-ring-54 | I/O Power Driver board lamp matrix | validated |
| 55 | Cyclops character ring | lamp.cyclops-character-ring-55 | I/O Power Driver board lamp matrix | validated |
| 56 | Beast character ring | lamp.beast-character-ring-56 | I/O Power Driver board lamp matrix | validated |
| 57 | Rogue character ring | lamp.rogue-character-ring-57 | I/O Power Driver board lamp matrix | validated |
| 58 | Unused Pro lamp channel 58 | lamp.unused-58 | I/O Power Driver board lamp matrix | validated |
| 59 | Unused Pro lamp channel 59 | lamp.unused-59 | I/O Power Driver board lamp matrix | validated |
| 60 | Left pop bumper | lamp.left-pop-bumper-60 | I/O Power Driver board lamp matrix | validated |
| 61 | Right pop bumper | lamp.right-pop-bumper-61 | I/O Power Driver board lamp matrix | validated |
| 62 | Bottom pop bumper | lamp.bottom-pop-bumper-62 | I/O Power Driver board lamp matrix | validated |
| 63 | Unused Pro lamp channel 63 | lamp.unused-63 | I/O Power Driver board lamp matrix | validated |
| 64 | Unused Pro lamp channel 64 | lamp.unused-64 | I/O Power Driver board lamp matrix | validated |
| 65 | Sabretooth | lamp.sabretooth-65 | I/O Power Driver board lamp matrix | validated |
| 66 | Shadow King | lamp.shadow-king-66 | I/O Power Driver board lamp matrix | validated |
| 67 | Hellfire Club | lamp.hellfire-club-67 | I/O Power Driver board lamp matrix | validated |
| 68 | Juggernaut | lamp.juggernaut-68 | I/O Power Driver board lamp matrix | validated |
| 69 | Brotherhood | lamp.brotherhood-69 | I/O Power Driver board lamp matrix | validated |
| 70 | Sentinels | lamp.sentinels-70 | I/O Power Driver board lamp matrix | validated |
| 71 | Omega Red | lamp.omega-red-71 | I/O Power Driver board lamp matrix | validated |
| 72 | Unused Pro lamp channel 72 | lamp.unused-72 | I/O Power Driver board lamp matrix | validated |
| 73 | Unused Pro lamp channel 73 | lamp.unused-73 | I/O Power Driver board lamp matrix | validated |
| 74 | Unused Pro lamp channel 74 | lamp.unused-74 | I/O Power Driver board lamp matrix | validated |
| 75 | Unused Pro lamp channel 75 | lamp.unused-75 | I/O Power Driver board lamp matrix | validated |
| 76 | Unused Pro lamp channel 76 | lamp.unused-76 | I/O Power Driver board lamp matrix | validated |
| 77 | Unused Pro lamp channel 77 | lamp.unused-77 | I/O Power Driver board lamp matrix | validated |
| 78 | Unused Pro lamp channel 78 | lamp.unused-78 | I/O Power Driver board lamp matrix | validated |
| 79 | Unused Pro lamp channel 79 | lamp.unused-79 | I/O Power Driver board lamp matrix | validated |
| 80 | Unused Pro lamp channel 80 | lamp.unused-80 | I/O Power Driver board lamp matrix | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 0 | General illumination master | gi.master | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 33 | PinMAME SAM game-on state | virtual.game-on | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 1 | CPU/Sound board DIP switch 1 Dip | switch.dip-1 | validated |
| 2 | CPU/Sound board DIP switch 2 Dip | switch.dip-2 | validated |
| 3 | CPU/Sound board DIP switch 3 Dip | switch.dip-3 | validated |
| 4 | CPU/Sound board DIP switch 4 Dip | switch.dip-4 | validated |
| 5 | CPU/Sound board DIP switch 5 Dip | switch.dip-5 | validated |
| 6 | CPU/Sound board DIP switch 6 Dip | switch.dip-6 | validated |
| 7 | CPU/Sound board DIP switch 7 Dip | switch.dip-7 | validated |
| 8 | CPU/Sound board DIP switch 8 Dip | switch.dip-8 | validated |
Logical assemblies with their actuators, sensors and observed behaviour. Click a chip to jump to the address it refers to.
mechanism.trough
The working Pro script models four balls at switches 18-21 with output 1 feeding the shooter lane through jam opto 22.
mechanism.auto-launcher
Output 2 launches the ball from switch 23.
mechanism.lower-left-eject
Switch 4 holds the ball and output 3 ejects it.
mechanism.left-up-kicker
Switch 55 holds the ball; output 5 kicks it vertically onto the left ramp.
mechanism.center-lock
The dual up-post lock uses outputs 6/7 and occupancy sensors 53, 38, 39, and 40.
mechanism.orbit-diverter
Output 26 sends the orbit shot into the rear of the lock.
mechanism.magneto-magnet
PWM output 4 controls the Magneto magnet. The Pro has no spinning disc motor.
mechanism.wolverine
Switch 36 senses the passive wobbling bash toy; the proven Pro table binds output 32 to a nearby playfield magnet with center-grab disabled, so the ball is deflected rather than rigidly centered.
mechanism.flippers
Physical outputs 15/16 drive the lower pair and output 12 drives the upper-right flipper; dedicated switch 86 is the staged upper button. The legacy table visually couples the upper flipper to output 16 and comments out callback 12, so recreations must retain the physical 12/86 mapping instead of copying that shortcut.
mechanism.pop-bumpers
The three pop output/switch pairs are 9/30, 10/31, and 11/32.
mechanism.slingshots
Left and right slings use output/switch pairs 13/26 and 14/27.
mechanism.spinner
The passive spinner pulses switch 47.
mechanism.standup-targets
The seven physical targets are the two Hellfire, two Brotherhood, two Light Lock, and Wolverine bash targets.
mechanism.ramps-and-orbits
The Pro has two molded ramps, left/right orbits, and the inner loop; it does not have the Iceman transfer ramp. Lamps 11 and 38 retain Nightcrawler-themed printed feature art but are static inserts, not sensors or moving mechanisms.
mechanism.optional-shaker
Output 8 is the optional 16 VAC shaker installation and may be absent from a stock machine.
Working knowledge that has no schema field yet — edition differences, tuning values, pitfalls.
This definition covers non-LE drivers xmn_100, xmn_104, xmn_105, xmn_130, xmn_150, xmn_151, and xmn_151c, using Stern model I-00D1 and IPDB 5822. Those revisions use one physical Pro playfield; xmn_151c only changes ROM colorization. The authenticated XMen FS (physmod5).vpt table running xmen_150 is ground truth for controller callbacks, object placement, playfield labels, mechanisms, and active-high rendering behavior. The independent known-working Pro script corroborates public addresses. The combined Stern manual supplies common SAM service topology and shared assemblies but its edition-specific lamp and low-current output charts describe the LE, so those labels are deliberately not transferred to the Pro. Pinned PinMAME source governs driver identity, SAM serialization, and the native 128x32 four-bit DMD.
The SAM switch matrix is public 1-64; dedicated cabinet inputs occupy 65-72, 81-88, and -7 through 0; DIP inputs are 1-8. The four-ball trough initializes switches 18-21 closed, and switch 22 is its jam opto. Standard lamps are public 1-80 and GI is public 0. Main outputs are public 1-32. The Pro does not install the LE auxiliary eight-transistor board or its public 51-58 output range.
All public lamp addresses 1-80 are explicit in the JSON. The authenticated table consumes exactly 3-25, 28-31, 33-38, 43-57, 60-62, and 65-71; every other address is explicitly unused. Each used lamp was correlated with an extracted VPX coordinate during curation, but those coordinates have not yet been normalized and promoted into this definition. Semantic labels come from the table's playfield art. Descriptive location labels are retained for otherwise unlabeled red route arrows and the two Magneto completion medallions so an author can identify them without inventing rule terminology. Lamps 11 and 38 carry left/right Nightcrawler feature artwork but are ordinary static inserts on the Pro, not moving toys. Lamp callbacks and GI 0 are active-high in the proven scripts.
Outputs 1-18 are the common trough, launcher, eject, magnets, lock, optional shaker, pops, three physical flippers, slings, and left/right flashers. Outputs 19, 20, 23, and 30 are unused on the Pro; in particular there is no spinning Magneto disc motor. Output 21 flashes Wolverine, 22 Magneto, 25 the pop area, 26 moves the orbit diverter, 27 is a center-left red flasher, 28/29 drive left/right backpanel groups, 31 is the Magneto center red flasher, and 32 is the Wolverine playfield magnet. The JSON records every observed flasher object's coordinates, including multi-object groups.
The physical upper-right flipper is output 12 with staged dedicated button 86/D15. The legacy table comments out callback 12 and rotates its upper flipper object together with lower-right output 16. That is a table shortcut, not machine wiring; authors must implement the physical 12/86 channel pair. Lower flippers are outputs 15/16 with buttons 84/82 and normally-closed EOS inputs 83/81.
PWM output 4 controls the Magneto playfield magnet. Output 26 routes the orbit shot into the four-position vertical Magneto lock. Occupancy switches are 53 at the bottom, followed by 38, 39, and 40 at the top; outputs 6 and 7 operate the linked up-post and latch mechanism. Wolverine is a passive wobbling bash toy on switch 36 plus a separate output-32 playfield magnet. The proven table disables center-grab so the magnet deflects the ball rather than pinning it rigidly.
The Power Scoop holds a ball at switch 4 and ejects with output 3. The left vertical up-kicker holds at switch 55 and output 5 sends the ball onto the left ramp. Output 2 auto-launches from shooter switch 23 while the cabinet also retains a manual plunger. Pops use output/switch pairs 9/30, 10/31, and 11/32; slings use 13/26 and 14/27. The passive Cyclops spinner pulses switch 47.
The Pro omits the LE motorized Iceman Ice Slide, both latched Nightcrawler pop-up mechanisms, the spinning Magneto disc, red/blue/white subtractive color-GI channels, and auxiliary driver board. It retains two printed Nightcrawler lamp features and ordinary Iceman inserts, which must not be mistaken for the missing LE mechanisms. The Wolverine magnet moves from LE public 51/physical Q41 to Pro main output 32. Output 27 is a flasher instead of the LE Iceman motor, and output 31 is a different red feature flasher. Never apply the combined manual's LE lamp table or these LE output labels to a Pro recreation.
Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| xmn_151c | X-Men (V1.51) (Colored MOD) Colored-ROM modification only; physical I/O and mechanisms are unchanged. | 2014 | xmn_151h | identical |
| xmn_151 | X-Men (V1.51) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2014 | xmn_151h | identical |
| xmn_150 | X-Men (V1.5) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2014 | xmn_151h | identical |
| xmn_130 | X-Men (V1.3) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2013 | xmn_151h | identical |
| xmn_105 | X-Men (V1.05) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2013 | xmn_151h | identical |
| xmn_104 | X-Men (V1.04) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2012 | xmn_151h | identical |
| xmn_100 | X-Men (V1.0) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2012 | xmn_151h | identical |
Every claim above traces to one of these. When they disagree: a known-working VPX script wins on controller addresses and causality, the manual wins on wiring and construction, pinned PinMAME wins on emulator routing and display layout.
manual.x-men-pro-le.2012
XMenManual_042214.pdf: PDF pages 56-62 and 97-117; official low-resolution manufacturer copy; page 60 was visually verified at the root for the F17/F18 flasher quantities
manual.x-men-pro-le.2012.high-resolution
Higher-resolution scan of the same Stern manual; switch table page 56, lamp table page 58, coil table page 60, eight-transistor board page 101, LE LED boards pages 103-104, GI maps pages 109-111
vpx.x-men-pro-icpjuggla
X-Men(ICPjuggla)6-27c.vbs: Pro ROM xmn_151, solenoid callbacks, lamp callback addresses, Wolverine and Magneto magnets, trough, lock, kickers, ramps, and switches
stern.x-men-product-page
Manufacturer Pro and Limited Edition feature inventories, including edition-only Ice Slide, Nightcrawler, spinning disc, and color GI mechanisms
pinmame.core.4ec52ff0ac13
src/wpc/sam.c X-Men INITGAME and full driver family; src/wpc/sam_original.c historical ROM identity; public custom outputs 51-58 for the eight-transistor board
pinmame.catalog.4ec52ff0ac13
PinmameGetGames X-Men driver records
vpx-table.x-men-pro-physmod5
XMen FS (physmod5).vpt from XMen FS (physmod5).zip; archive SHA-256 6f5eae417c894af5947a819448f45616cb2348a1cfdca5cff544e6bdcda439fb; embedded script SHA-256 90cd88f121798f7c91ba738713c2aae99784751637380beb864ee3e2bcde25cb; read-only inventory SHA-256 ff52f1deaee9182f1b6e33785887dab774d15aa6b963f1ca627a835198ce1020; playfield artwork PF A.jpg SHA-256 bc62ed5d55b1c3394beae1c78b1f72544bcdcf3d3008cf51b1cfefea8be01cc1. The embedded xmen_150 script, physical lamp/flasher objects, coordinates, playfield labels, switches, and mechanisms were inspected.
This definition still has 1 unmet requirement, listed under Coverage above. Fixes belong in the definition itself — editing on GitHub forks it for you and opens the pull request.
Cite a source for anything you change — a manual page, a line in a working VPX script, PinMAME source, or a reading from the machine's own service menu. Claims without provenance cannot be validated.
X-Men shipped in 2 editions with different playfields. Compare what each one actually has before building against this definition.