Four-ball trough
mechanism.trough
Create four balls on switches 18-21. Output 1 ejects the rightmost ball and the proven script pulses stack opto 22 when balls remain.
Stern2014SAMstern.ac-dc-led-pro.2014 1 of 4 editions
2 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.
Portable roles — the consuming engine maps them to its own input actions.
Where each address physically sits. The switch and lamp maps below show the electrical layout — this shows the same devices as the player sees them.
168 placements · 17 stacked · normalised player view · outline is nominal
Hover a marker to identify it, or click to keep it selected. Numbered markers are several devices in one spot — clicking lists them.
Not on the playfield38 cabinet or service, 37 unused, 8 dip switch, 1 virtual — declared rather than missing.
Full semantic I/O, mechanisms, variants, wiring and recreation notes passed the completeness validator.
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 | input.dedicated.neg7.pendulum-tilt | cabinet.tilt | validated | |
| -6 | Slam tiltNCopt Tilt | input.dedicated.neg6.slam-tilt | cabinet.tilt | validated | |
| -5 | Ticket notchopt Microswitch | input.dedicated.neg5.ticket-notch | service.ticket | validated | |
| -4 | Unused dedicated switch D20 | input.dedicated.neg4.unused-dedicated-switch-d20 | validated | ||
| -3 | Coin-door Back button Button | input.dedicated.neg3.coin-door-back-button | service.button | validated | |
| -2 | Coin-door Minus button Button | input.dedicated.neg2.coin-door-minus-button | service.button | validated | |
| -1 | Coin-door Plus button Button | input.dedicated.neg1.coin-door-plus-button | service.button | validated | |
| 0 | Coin-door Select button Button | input.dedicated.0.coin-door-select-button | service.button | validated | |
| 1 | AC/DC standup target A (left) Microswitch | input.switch.1.ac-dc-standup-target-a-left | J1-P1GRN-BRN J6-P9WHT-BRN CPU/Sound board | validated | |
| 2 | AC/DC standup target C (second) Microswitch | input.switch.2.ac-dc-standup-target-c-second | J1-P1GRN-BRN J6-P8WHT-RED CPU/Sound board | validated | |
| 3 | AC/DC standup target slash (center) Microswitch | input.switch.3.ac-dc-standup-target-slash-center | J1-P1GRN-BRN J6-P7WHT-ORG CPU/Sound board | validated | |
| 4 | AC/DC standup target D (fourth) Microswitch | input.switch.4.ac-dc-standup-target-d-fourth | J1-P1GRN-BRN J6-P6WHT-YEL CPU/Sound board | validated | |
| 5 | AC/DC standup target C (right) Microswitch | input.switch.5.ac-dc-standup-target-c-right | J1-P1GRN-BRN J6-P5WHT-GRN CPU/Sound board | validated | |
| 6 | ROCK standup target R Microswitch | input.switch.6.rock-standup-target-r | J1-P1GRN-BRN J6-P3WHT-BLU CPU/Sound board | validated | |
| 7 | ROCK standup target O Microswitch | input.switch.7.rock-standup-target-o | J1-P1GRN-BRN J6-P2WHT-VIO CPU/Sound board | validated | |
| 8 | ROCK standup target C Microswitch | input.switch.8.rock-standup-target-c | J1-P1GRN-BRN J6-P1WHT-GRY CPU/Sound board | validated | |
| 9 | ROCK standup target K Microswitch | input.switch.9.rock-standup-target-k | J1-P1GRN-BRN J12-P9TAN-BLK CPU/Sound board | validated | |
| 10 | TNT standup target T (left) Microswitch | input.switch.10.tnt-standup-target-t-left | J1-P1GRN-BRN J12-P8TAN-RED CPU/Sound board | validated | |
| 11 | TNT standup target N (center) Microswitch | input.switch.11.tnt-standup-target-n-center | J1-P1GRN-BRN J12-P7TAN-ORG CPU/Sound board | validated | |
| 12 | TNT standup target T (right) Microswitch | input.switch.12.tnt-standup-target-t-right | J1-P1GRN-BRN J12-P6TAN-YEL CPU/Sound board | validated | |
| 13 | Left ramp exit Leaf | input.switch.13.left-ramp-exit | J1-P1GRN-BRN J12-P4TAN-GRN CPU/Sound board | validated | |
| 14 | Left ramp entrance Leaf | input.switch.14.left-ramp-entrance | J1-P1GRN-BRN J12-P3TAN-BLU CPU/Sound board | validated | |
| 15 | Tournament start Button | input.switch.15.tournament-start | cabinet.tournament | J1-P1GRN-BRN J12-P2TAN-VIO CPU/Sound board | validated |
| 16 | Start Button | input.switch.16.start | cabinet.start | J1-P1GRN-BRN J12-P1TAN-WHT CPU/Sound board | validated |
| 17 | Unused matrix switch #17 | input.switch.17.unused-matrix-switch-17 | J1-P3GRN-RED J6-P9WHT-BRN CPU/Sound board | validated | |
| 18 | Trough #4 (left / drain end) Microswitch | input.switch.18.trough-4-left-drain-end | ball.position | J1-P3GRN-RED J6-P8WHT-RED CPU/Sound board | validated |
| 19 | Trough #3 Microswitch | input.switch.19.trough-3 | ball.position | J1-P3GRN-RED J6-P7WHT-ORG CPU/Sound board | validated |
| 20 | Trough #2 Microswitch | input.switch.20.trough-2 | ball.position | J1-P3GRN-RED J6-P6WHT-YEL CPU/Sound board | validated |
| 21 | Trough #1 (right / eject end) Microswitch | input.switch.21.trough-1-right-eject-end | ball.position | J1-P3GRN-RED J6-P5WHT-GRN CPU/Sound board | validated |
| 22 | Trough stack opto / jam Opto | input.switch.22.trough-stack-opto-jam | ball.jam | J1-P3GRN-RED J6-P3WHT-BLU CPU/Sound board | validated |
| 23 | Auto-launch shooter lane Microswitch | input.switch.23.auto-launch-shooter-lane | ball.loaded | J1-P3GRN-RED J6-P2WHT-VIO CPU/Sound board | validated |
| 24 | Left outlane Leaf | input.switch.24.left-outlane | J1-P3GRN-RED J6-P1WHT-GRY CPU/Sound board | validated | |
| 25 | Left return lane Leaf | input.switch.25.left-return-lane | J1-P3GRN-RED J12-P9TAN-BLK CPU/Sound board | validated | |
| 26 | Left slingshot Leaf | input.switch.26.left-slingshot | J1-P3GRN-RED J12-P8TAN-RED CPU/Sound board | validated | |
| 27 | Right slingshot Leaf | input.switch.27.right-slingshot | J1-P3GRN-RED J12-P7TAN-ORG CPU/Sound board | validated | |
| 28 | Right return lane Leaf | input.switch.28.right-return-lane | J1-P3GRN-RED J12-P6TAN-YEL CPU/Sound board | validated | |
| 29 | Right outlane Leaf | input.switch.29.right-outlane | J1-P3GRN-RED J12-P4TAN-GRN CPU/Sound board | validated | |
| 30 | Left pop bumper Leaf | input.switch.30.left-pop-bumper | J1-P3GRN-RED J12-P3TAN-BLU CPU/Sound board | validated | |
| 31 | Right pop bumper Leaf | input.switch.31.right-pop-bumper | J1-P3GRN-RED J12-P2TAN-VIO CPU/Sound board | validated | |
| 32 | Bottom pop bumper Leaf | input.switch.32.bottom-pop-bumper | J1-P3GRN-RED J12-P1TAN-WHT CPU/Sound board | validated | |
| 33 | Loop spinner Other | input.switch.33.loop-spinner | J1-P4GRN-ORG J6-P9WHT-BRN CPU/Sound board | validated | |
| 34 | Thunder standup target (left) Microswitch | input.switch.34.thunder-standup-target-left | J1-P4GRN-ORG J6-P8WHT-RED CPU/Sound board | validated | |
| 35 | Thunder standup target (center) Microswitch | input.switch.35.thunder-standup-target-center | J1-P4GRN-ORG J6-P7WHT-ORG CPU/Sound board | validated | |
| 36 | Swinging Hell's Bell score switch Leaf | input.switch.36.swinging-hell-s-bell-score-switch | J1-P4GRN-ORG J6-P6WHT-YEL CPU/Sound board | validated | |
| 37 | Jukebox / top eject saucer Microswitch | input.switch.37.jukebox-top-eject-saucer | ball.loaded | J1-P4GRN-ORG J6-P5WHT-GRN CPU/Sound board | validated |
| 38 | Top lane rollover (left) Leaf | input.switch.38.top-lane-rollover-left | J1-P4GRN-ORG J6-P3WHT-BLU CPU/Sound board | validated | |
| 39 | Top lane rollover (center) Leaf | input.switch.39.top-lane-rollover-center | J1-P4GRN-ORG J6-P2WHT-VIO CPU/Sound board | validated | |
| 40 | Top lane rollover (right) Leaf | input.switch.40.top-lane-rollover-right | J1-P4GRN-ORG J6-P1WHT-GRY CPU/Sound board | validated | |
| 41 | Right ramp entrance Leaf | input.switch.41.right-ramp-entrance | J1-P4GRN-ORG J12-P9TAN-BLK CPU/Sound board | validated | |
| 42 | Thunder standup target (right) Microswitch | input.switch.42.thunder-standup-target-right | J1-P4GRN-ORG J12-P8TAN-RED CPU/Sound board | validated | |
| 43 | Right ramp exit Leaf | input.switch.43.right-ramp-exit | J1-P4GRN-ORG J12-P7TAN-ORG CPU/Sound board | validated | |
| 44 | Left orbit Leaf | input.switch.44.left-orbit | J1-P4GRN-ORG J12-P6TAN-YEL CPU/Sound board | validated | |
| 45 | Cannon entry / loaded Microswitch | input.switch.45.cannon-entry-loaded | ball.loaded | J1-P4GRN-ORG J12-P4TAN-GRN CPU/Sound board | validated |
| 46 | Unused matrix switch #46 | input.switch.46.unused-matrix-switch-46 | J1-P4GRN-ORG J12-P3TAN-BLU CPU/Sound board | validated | |
| 47 | Unused matrix switch #47 | input.switch.47.unused-matrix-switch-47 | J1-P4GRN-ORG J12-P2TAN-VIO CPU/Sound board | validated | |
| 48 | Manual plunger lane Microswitch | input.switch.48.manual-plunger-lane | ball.loaded | J1-P4GRN-ORG J12-P1TAN-WHT CPU/Sound board | validated |
| 49 | Unused matrix switch #49 | input.switch.49.unused-matrix-switch-49 | J1-P5GRN-YEL J6-P9WHT-BRN CPU/Sound board | validated | |
| 50 | Unused matrix switch #50 | input.switch.50.unused-matrix-switch-50 | J1-P5GRN-YEL J6-P8WHT-RED CPU/Sound board | validated | |
| 51 | Unused matrix switch #51 | input.switch.51.unused-matrix-switch-51 | J1-P5GRN-YEL J6-P7WHT-ORG CPU/Sound board | validated | |
| 52 | Unused matrix switch #52 | input.switch.52.unused-matrix-switch-52 | J1-P5GRN-YEL J6-P6WHT-YEL CPU/Sound board | validated | |
| 53 | Unused matrix switch #53 | input.switch.53.unused-matrix-switch-53 | J1-P5GRN-YEL J6-P5WHT-GRN CPU/Sound board | validated | |
| 54 | Unused matrix switch #54 | input.switch.54.unused-matrix-switch-54 | J1-P5GRN-YEL J6-P3WHT-BLU CPU/Sound board | validated | |
| 55 | Unused matrix switch #55 | input.switch.55.unused-matrix-switch-55 | J1-P5GRN-YEL J6-P2WHT-VIO CPU/Sound board | validated | |
| 56 | Unused matrix switch #56 | input.switch.56.unused-matrix-switch-56 | J1-P5GRN-YEL J6-P1WHT-GRY CPU/Sound board | validated | |
| 57 | Unused matrix switch #57 | input.switch.57.unused-matrix-switch-57 | J1-P5GRN-YEL J12-P9TAN-BLK CPU/Sound board | validated | |
| 58 | Unused matrix switch #58 | input.switch.58.unused-matrix-switch-58 | J1-P5GRN-YEL J12-P8TAN-RED CPU/Sound board | validated | |
| 59 | Right orbit Leaf | input.switch.59.right-orbit | J1-P5GRN-YEL J12-P7TAN-ORG CPU/Sound board | validated | |
| 60 | Unused matrix switch #60 | input.switch.60.unused-matrix-switch-60 | J1-P5GRN-YEL J12-P6TAN-YEL CPU/Sound board | validated | |
| 61 | Cannon home Microswitch | input.switch.61.cannon-home | position.home | J1-P5GRN-YEL J12-P4TAN-GRN CPU/Sound board | validated |
| 62 | Cannon mark / mid-rotation Microswitch | input.switch.62.cannon-mark-mid-rotation | position.mark | J1-P5GRN-YEL J12-P3TAN-BLU CPU/Sound board | validated |
| 63 | Unused matrix switch #63 | input.switch.63.unused-matrix-switch-63 | J1-P5GRN-YEL J12-P2TAN-VIO CPU/Sound board | validated | |
| 64 | FIRE button Button | input.switch.64.fire-button | cabinet.fire | J1-P5GRN-YEL J12-P1TAN-WHT CPU/Sound board | validated |
| 65 | Left coin chute Button | input.dedicated.65.left-coin-chute | cabinet.coin | validated | |
| 66 | Center coin chute Button | input.dedicated.66.center-coin-chute | cabinet.coin | validated | |
| 67 | Right coin chute Button | input.dedicated.67.right-coin-chute | cabinet.coin | validated | |
| 68 | Fourth coin chuteopt Button | input.dedicated.68.fourth-coin-chute | cabinet.coin | validated | |
| 69 | Fifth coin chuteopt Button | input.dedicated.69.fifth-coin-chute | cabinet.coin | validated | |
| 70 | Unused dedicated switch D6 | input.dedicated.70.unused-dedicated-switch-d6 | validated | ||
| 71 | Unused dedicated switch D7 | input.dedicated.71.unused-dedicated-switch-d7 | validated | ||
| 72 | Unused dedicated switch D8 | input.dedicated.72.unused-dedicated-switch-d8 | validated | ||
| 81 | Right main flipper end-of-strokeNC Leaf | input.dedicated.81.right-main-flipper-end-of-stroke | validated | ||
| 82 | Right main flipper button Button | input.dedicated.82.right-main-flipper-button | cabinet.flipper | validated | |
| 83 | Left main flipper end-of-strokeNC Leaf | input.dedicated.83.left-main-flipper-end-of-stroke | validated | ||
| 84 | Left main flipper button Button | input.dedicated.84.left-main-flipper-button | cabinet.flipper | validated | |
| 85 | Unused dedicated switch D16 | input.dedicated.85.unused-dedicated-switch-d16 | validated | ||
| 86 | Unused dedicated switch D15 | input.dedicated.86.unused-dedicated-switch-d15 | validated | ||
| 87 | Unused dedicated switch D14 | input.dedicated.87.unused-dedicated-switch-d14 | validated | ||
| 88 | Unused dedicated switch D13 | input.dedicated.88.unused-dedicated-switch-d13 | validated |
Everything the ROM can energise, grouped the way a table author builds it.
| # | Name | Device ID | Kind | Role | Wiring | Evidence |
|---|---|---|---|---|---|---|
| 1 | Trough up-kicker | output.solenoid.1.trough-up-kicker | Coil | Q1 I/O power-driver board | validated | |
| 2 | Auto launch | output.solenoid.2.auto-launch | Coil | Q2 I/O power-driver board | validated | |
| 3 | Cannon eject / fire | output.solenoid.3.cannon-eject-fire | Coil | Q3 I/O power-driver board | validated | |
| 4 | Right-ramp cannon diverter | output.solenoid.4.right-ramp-cannon-diverter | Coil | Q4 I/O power-driver board | validated | |
| 5 | Right control gate | output.solenoid.5.right-control-gate | Coil | Q5 I/O power-driver board | validated | |
| 6 | Unused main output 6 | output.solenoid.6.unused-main-output-6 | Coil | Q6 I/O power-driver board | validated | |
| 7 | Unused main output 7 | output.solenoid.7.unused-main-output-7 | Coil | Q7 I/O power-driver board | validated | |
| 8 | Shaker motoropt | output.solenoid.8.shaker-motor | Motor | cabinet.shaker | Q8 I/O power-driver board | validated |
| 9 | Left pop bumper | output.solenoid.9.left-pop-bumper | Coil | Q9 I/O power-driver board | validated | |
| 10 | Right pop bumper | output.solenoid.10.right-pop-bumper | Coil | Q10 I/O power-driver board | validated | |
| 11 | Bottom pop bumper | output.solenoid.11.bottom-pop-bumper | Coil | Q11 I/O power-driver board | validated | |
| 12 | Jukebox / top eject | output.solenoid.12.jukebox-top-eject | Coil | Q12 I/O power-driver board | validated | |
| 13 | Left slingshot | output.solenoid.13.left-slingshot | Coil | Q13 I/O power-driver board | validated | |
| 14 | Right slingshot | output.solenoid.14.right-slingshot | Coil | Q14 I/O power-driver board | validated | |
| 15 | Left main flipper | output.solenoid.15.left-main-flipper | Coil | Q15 I/O power-driver board | validated | |
| 16 | Right main flipper | output.solenoid.16.right-main-flipper | Coil | Q16 I/O power-driver board | validated | |
| 18 | Unused main output 18 | output.solenoid.18.unused-main-output-18 | Coil | Q18 I/O power-driver board | validated | |
| 19 | Unused main output 19 | output.solenoid.19.unused-main-output-19 | Coil | Q19 I/O power-driver board | validated | |
| 24 | Knocker / optional coin-meter channelopt | output.solenoid.24.knocker-optional-coin-meter-channel | Coil | cabinet.knocker | Q24 I/O power-driver board | validated |
| 32 | Cannon motor | output.solenoid.32.cannon-motor | Motor | Q32 I/O power-driver board | validated | |
| 33 | Ticket advanceopt | output.ticket.33.ticket-advance | Coil | service.ticket | validated | |
| 34 | Ticket meteropt | output.ticket.34.ticket-meter | Coil | service.ticket | validated | |
| 35 | Ticket switched groundopt | output.ticket.35.ticket-switched-ground | Relay | service.ticket | validated |
| # | Name | Device ID | Role | Wiring | Evidence |
|---|---|---|---|---|---|
| 17 | Train flasher | output.solenoid.17.train-flasher | Q17 I/O power-driver board | validated | |
| 20 | Left ramp flasher | output.solenoid.20.left-ramp-flasher | Q20 I/O power-driver board | validated | |
| 21 | Left-side flasher | output.solenoid.21.left-side-flasher | Q21 I/O power-driver board | validated | |
| 22 | Back-panel flasher | output.solenoid.22.back-panel-flasher | cabinet.rear-panel | Q22 I/O power-driver board | validated |
| 23 | Top-eject flasher | output.solenoid.23.top-eject-flasher | Q23 I/O power-driver board | validated | |
| 25 | Pop-bumper flashers | output.solenoid.25.pop-bumper-flashers | Q25 I/O power-driver board | validated | |
| 26 | Bell-arrow flasher | output.solenoid.26.bell-arrow-flasher | Q26 I/O power-driver board | validated | |
| 27 | Left-ramp left-side flasher | output.solenoid.27.left-ramp-left-side-flasher | Q27 I/O power-driver board | validated | |
| 28 | Left-ramp right-side flasher | output.solenoid.28.left-ramp-right-side-flasher | Q28 I/O power-driver board | validated | |
| 29 | Right-ramp right-side flasher | output.solenoid.29.right-ramp-right-side-flasher | Q29 I/O power-driver board | validated | |
| 30 | Right-ramp flasher | output.solenoid.30.right-ramp-flasher | Q30 I/O power-driver board | validated | |
| 31 | Right-side flasher | output.solenoid.31.right-side-flasher | Q31 I/O power-driver board | validated |
Sequential addresses, grouped in columns of eight.
| # | Name | Device ID | Role | Wiring | Evidence |
|---|---|---|---|---|---|
| 1 | Start button | output.lamp.1.start-button | cabinet.start | Q33 I/O power-driver board lamp matrix | validated |
| 2 | Tournament start button | output.lamp.2.tournament-start-button | cabinet.tournament | Q33 I/O power-driver board lamp matrix | validated |
| 3 | Left outlane | output.lamp.3.left-outlane | Q33 I/O power-driver board lamp matrix | validated | |
| 4 | Left return lane | output.lamp.4.left-return-lane | Q33 I/O power-driver board lamp matrix | validated | |
| 5 | 2X | output.lamp.5.2x | Q33 I/O power-driver board lamp matrix | validated | |
| 6 | 3X | output.lamp.6.3x | Q33 I/O power-driver board lamp matrix | validated | |
| 7 | Right return lane | output.lamp.7.right-return-lane | Q33 I/O power-driver board lamp matrix | validated | |
| 8 | Right outlane | output.lamp.8.right-outlane | Q33 I/O power-driver board lamp matrix | validated | |
| 9 | AC/DC last C | output.lamp.9.ac-dc-last-c | Q34 I/O power-driver board lamp matrix | validated | |
| 10 | AC/DC D | output.lamp.10.ac-dc-d | Q34 I/O power-driver board lamp matrix | validated | |
| 11 | AC/DC slash | output.lamp.11.ac-dc-slash | Q34 I/O power-driver board lamp matrix | validated | |
| 12 | AC/DC first C | output.lamp.12.ac-dc-first-c | Q34 I/O power-driver board lamp matrix | validated | |
| 13 | AC/DC A | output.lamp.13.ac-dc-a | Q34 I/O power-driver board lamp matrix | validated | |
| 14 | VPX playfield insert l14 | output.lamp.14.vpx-playfield-insert-l14 | Q34 I/O power-driver board lamp matrix | validated | |
| 15 | VPX playfield insert l15 | output.lamp.15.vpx-playfield-insert-l15 | Q34 I/O power-driver board lamp matrix | validated | |
| 16 | Unused lamp-matrix output #16 | output.lamp.16.unused-lamp-matrix-output-16 | Q34 I/O power-driver board lamp matrix | validated | |
| 17 | VPX playfield insert l17 | output.lamp.17.vpx-playfield-insert-l17 | Q35 I/O power-driver board lamp matrix | validated | |
| 18 | Left-loop arrow (white) | output.lamp.18.left-loop-arrow-white | Q35 I/O power-driver board lamp matrix | validated | |
| 19 | Left-ramp standup (left) | output.lamp.19.left-ramp-standup-left | Q35 I/O power-driver board lamp matrix | validated | |
| 20 | Left-ramp arrow (white) | output.lamp.20.left-ramp-arrow-white | Q35 I/O power-driver board lamp matrix | validated | |
| 21 | Left-ramp standup (right) | output.lamp.21.left-ramp-standup-right | Q35 I/O power-driver board lamp matrix | validated | |
| 22 | TNT T (left) | output.lamp.22.tnt-t-left | Q35 I/O power-driver board lamp matrix | validated | |
| 23 | TNT N | output.lamp.23.tnt-n | Q35 I/O power-driver board lamp matrix | validated | |
| 24 | TNT T (right) | output.lamp.24.tnt-t-right | Q35 I/O power-driver board lamp matrix | validated | |
| 25 | TNT arrow (white) | output.lamp.25.tnt-arrow-white | Q36 I/O power-driver board lamp matrix | validated | |
| 26 | Right-ramp arrow (white) | output.lamp.26.right-ramp-arrow-white | Q36 I/O power-driver board lamp matrix | validated | |
| 27 | Extra Ball | output.lamp.27.extra-ball | Q36 I/O power-driver board lamp matrix | validated | |
| 28 | Right-loop arrow (red / horns) | output.lamp.28.right-loop-arrow-red-horns | Q36 I/O power-driver board lamp matrix | validated | |
| 29 | Right-loop arrow (white) | output.lamp.29.right-loop-arrow-white | Q36 I/O power-driver board lamp matrix | validated | |
| 30 | ROCK R | output.lamp.30.rock-r | Q36 I/O power-driver board lamp matrix | validated | |
| 31 | ROCK O | output.lamp.31.rock-o | Q36 I/O power-driver board lamp matrix | validated | |
| 32 | ROCK C | output.lamp.32.rock-c | Q36 I/O power-driver board lamp matrix | validated | |
| 33 | ROCK K | output.lamp.33.rock-k | Q37 I/O power-driver board lamp matrix | validated | |
| 34 | Special | output.lamp.34.special | Q37 I/O power-driver board lamp matrix | validated | |
| 35 | Bell arrow (red / horns) | output.lamp.35.bell-arrow-red-horns | Q37 I/O power-driver board lamp matrix | validated | |
| 36 | Bell arrow (white) | output.lamp.36.bell-arrow-white | Q37 I/O power-driver board lamp matrix | validated | |
| 37 | Left top lane | output.lamp.37.left-top-lane | Q37 I/O power-driver board lamp matrix | validated | |
| 38 | Center top lane | output.lamp.38.center-top-lane | Q37 I/O power-driver board lamp matrix | validated | |
| 39 | Right top lane | output.lamp.39.right-top-lane | Q37 I/O power-driver board lamp matrix | validated | |
| 40 | Tunes N Stuff | output.lamp.40.tunes-n-stuff | Q37 I/O power-driver board lamp matrix | validated | |
| 41 | Jam Multiball | output.lamp.41.jam-multiball | Q38 I/O power-driver board lamp matrix | validated | |
| 42 | Super Targets | output.lamp.42.super-targets | Q38 I/O power-driver board lamp matrix | validated | |
| 43 | Super Lanes | output.lamp.43.super-lanes | Q38 I/O power-driver board lamp matrix | validated | |
| 44 | Album Multiball | output.lamp.44.album-multiball | Q38 I/O power-driver board lamp matrix | validated | |
| 45 | Cannon Fodder | output.lamp.45.cannon-fodder | Q38 I/O power-driver board lamp matrix | validated | |
| 46 | Cannon Volley | output.lamp.46.cannon-volley | Q38 I/O power-driver board lamp matrix | validated | |
| 47 | Cannon Chaos | output.lamp.47.cannon-chaos | Q38 I/O power-driver board lamp matrix | validated | |
| 48 | Rock Again | output.lamp.48.rock-again | Q38 I/O power-driver board lamp matrix | validated | |
| 49 | Tour Multiball | output.lamp.49.tour-multiball | Q39 I/O power-driver board lamp matrix | validated | |
| 50 | Super Combos | output.lamp.50.super-combos | Q39 I/O power-driver board lamp matrix | validated | |
| 51 | Super Loops | output.lamp.51.super-loops | Q39 I/O power-driver board lamp matrix | validated | |
| 52 | Left-loop arrow (red / horns) | output.lamp.52.left-loop-arrow-red-horns | Q39 I/O power-driver board lamp matrix | validated | |
| 53 | Track: You Shook Me All Night Long | output.lamp.53.track-you-shook-me-all-night-long | cabinet.rear-panel | Q39 I/O power-driver board lamp matrix | validated |
| 54 | Track: Highway to Hell | output.lamp.54.track-highway-to-hell | cabinet.rear-panel | Q39 I/O power-driver board lamp matrix | validated |
| 55 | Track: Rock N Roll Train | output.lamp.55.track-rock-n-roll-train | cabinet.rear-panel | Q39 I/O power-driver board lamp matrix | validated |
| 56 | Track: Whole Lotta Rosie | output.lamp.56.track-whole-lotta-rosie | cabinet.rear-panel | Q39 I/O power-driver board lamp matrix | validated |
| 57 | Jukebox horn (left) | output.lamp.57.jukebox-horn-left | Q40 I/O power-driver board lamp matrix | validated | |
| 58 | Jukebox horn (right) | output.lamp.58.jukebox-horn-right | Q40 I/O power-driver board lamp matrix | validated | |
| 59 | Unused lamp-matrix output #59 | output.lamp.59.unused-lamp-matrix-output-59 | Q40 I/O power-driver board lamp matrix | validated | |
| 60 | Left pop-bumper insert | output.lamp.60.left-pop-bumper-insert | Q40 I/O power-driver board lamp matrix | validated | |
| 61 | Right pop-bumper insert | output.lamp.61.right-pop-bumper-insert | Q40 I/O power-driver board lamp matrix | validated | |
| 62 | Bottom pop-bumper insert | output.lamp.62.bottom-pop-bumper-insert | Q40 I/O power-driver board lamp matrix | validated | |
| 63 | FIRE button | output.lamp.63.fire-button | cabinet.fire | Q40 I/O power-driver board lamp matrix | validated |
| 64 | Right-ramp standup | output.lamp.64.right-ramp-standup | Q40 I/O power-driver board lamp matrix | validated | |
| 65 | Track: Hells Bells | output.lamp.65.track-hells-bells | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 66 | Track: Thunderstruck | output.lamp.66.track-thunderstruck | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 67 | Track: Back in Black | output.lamp.67.track-back-in-black | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 68 | Track: War Machine | output.lamp.68.track-war-machine | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 69 | Track: For Those About to Rock | output.lamp.69.track-for-those-about-to-rock | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 70 | Track: TNT | output.lamp.70.track-tnt | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 71 | Track: Hell Ain't a Bad Place to Be | output.lamp.71.track-hell-ain-t-a-bad-place-to-be | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 72 | Track: Let There Be Rock | output.lamp.72.track-let-there-be-rock | cabinet.rear-panel | Q41 I/O power-driver board lamp matrix | validated |
| 73 | Unused lamp-matrix output #73 | output.lamp.73.unused-lamp-matrix-output-73 | Q42 I/O power-driver board lamp matrix | validated | |
| 74 | Unused lamp-matrix output #74 | output.lamp.74.unused-lamp-matrix-output-74 | Q42 I/O power-driver board lamp matrix | validated | |
| 75 | Unused lamp-matrix output #75 | output.lamp.75.unused-lamp-matrix-output-75 | Q42 I/O power-driver board lamp matrix | validated | |
| 76 | Unused lamp-matrix output #76 | output.lamp.76.unused-lamp-matrix-output-76 | Q42 I/O power-driver board lamp matrix | validated | |
| 77 | Unused lamp-matrix output #77 | output.lamp.77.unused-lamp-matrix-output-77 | Q42 I/O power-driver board lamp matrix | validated | |
| 78 | Unused lamp-matrix output #78 | output.lamp.78.unused-lamp-matrix-output-78 | Q42 I/O power-driver board lamp matrix | validated | |
| 79 | Unused lamp-matrix output #79 | output.lamp.79.unused-lamp-matrix-output-79 | Q42 I/O power-driver board lamp matrix | validated | |
| 80 | Unused lamp-matrix output #80 | output.lamp.80.unused-lamp-matrix-output-80 | Q42 I/O power-driver board lamp matrix | validated |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 0 | Conventional GI / game-on illumination channel | output.gi.0.conventional-gi-game-on-illumination-channel | I/O power-driver board | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 33 | PinMAME SAM game-on state | output.solenoid.33.pinmame-sam-game-on-state | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 1 | CPU/Sound board DIP switch 1 Dip | input.dip.1.cpu-dip-1 | validated |
| 2 | CPU/Sound board DIP switch 2 Dip | input.dip.2.cpu-dip-2 | validated |
| 3 | CPU/Sound board DIP switch 3 Dip | input.dip.3.cpu-dip-3 | validated |
| 4 | CPU/Sound board DIP switch 4 Dip | input.dip.4.cpu-dip-4 | validated |
| 5 | CPU/Sound board DIP switch 5 Dip | input.dip.5.cpu-dip-5 | validated |
| 6 | CPU/Sound board DIP switch 6 Dip | input.dip.6.cpu-dip-6 | validated |
| 7 | CPU/Sound board DIP switch 7 Dip | input.dip.7.cpu-dip-7 | validated |
| 8 | CPU/Sound board DIP switch 8 Dip | input.dip.8.cpu-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
Create four balls on switches 18-21. Output 1 ejects the rightmost ball and the proven script pulses stack opto 22 when balls remain.
mechanism.auto-launch
Switch 23 holds while a ball is in the auto-launch lane. Output 2 fires the impulse plunger; the working scripts use a 55-65 strength implementation-dependent impulse.
mechanism.top-eject
A ball closes switch 37 until output 12 ejects it. Premium code can PWM output 12 and the working table preserves the stronger super-skill-shot kick.
mechanism.cannon
Switch 45 holds a captured ball. The motor sweeps from roughly 110 degrees home toward 20 degrees and back; switch 61 is home and switch 62 is the mid mark. The eject output launches at the current angle and clears switch 45.
mechanism.cannon-diverter
The right-ramp diverter selects normal ramp travel or the cannon capture path. Recreate both physical routes; do not model it as a cosmetic gate.
mechanism.right-control-gate
The controlled gate changes the right-ramp/right-orbit return path. The VPX script treats energized and released states as distinct collidable gate states.
mechanism.main-flippers
Two main flippers use dedicated button and normally-closed EOS contacts. PinMAME exposes the dedicated contacts in reverse-numbered public order.
mechanism.pop-bumpers
Each bumper contact pulses its corresponding coil; keep the physical switch-to-coil order left, right, bottom.
mechanism.slingshots
Each leaf switch pulses its corresponding slingshot coil.
mechanism.spinner
Pulse switch 33 once for each spinner blade transition; do not hold it for a complete spin.
mechanism.bell
A freely swinging pendulum with a captive ball closes switch 36 when struck; it has no controller actuator.
Connections that exist in copper, not in the ROM. These fire whether or not a game is running.
Working knowledge that has no schema field yet — edition differences, tuning values, pitfalls.
This is Stern's upgraded 2014 LED Pro production and it owns the 1.68 and 1.68 colored PinMAME drivers. The physical differences from the original Pro are all-LED lighting, a newly designed passive swinging Hell's Bell, and the modern metal/wood backbox and cabinet. The game's features, playfield art, and music remain otherwise unchanged. Stern's official August 5, 2014 announcement is the product-identity boundary.
Use the complete original Pro switch, lamp, solenoid, cannon, ramp, trough, shooter, pop, sling, flipper, art, music, and game-feature contract. Replace the standup bell with a freely swinging captive-ball pendulum whose score contact is still public switch 36. There is no bell magnet or bell actuator; collision energy alone moves it. Retain the VPX-visible original Pro insert addresses 14, 15, and 17 even though the Pro service manual labels those matrix positions unused; the Vault script's explicit removal is the edition-delta evidence. Implement the factory all-LED lighting without changing the 1-80 PinMAME bindings.
The supplied AC-DC Pro VPX table is used only as shared original-Pro/LED-Pro geometry evidence: its cGameName=acd_170 and splash identify it as AC/DC Pro (Stern 2012), so it does not establish LED Pro product identity. Its 235 centered candidates provide the normalized VPX/player-view geometry for the shared playfield, including active LED-Pro lamps 14, 15, and 17 and GI 0. The Pro script and manual supply the shared controller, wiring, and physical placement conventions. The exact Vault VPX table and script, together with Stern's LED Pro announcement, establish the passive swinging-bell contact at switch 36 and its 2014 product boundary. Cannon and ball-device timing remains as documented for the original Pro. Rear-panel lamp addresses 53-56 and 65-72, the seven rear-panel GI bulbs, and flasher solenoid 22 are physical fixtures with recorded quantities but intentionally have no normalized playfield coordinates.
Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| acd_168c | AC/DC (V1.68) (Colored MOD) Colored-ROM modification only; native display colorization does not change physical I/O or mechanisms. Firmware release paired with the 2014 LED Pro hardware: Pro playfield topology, factory LED lighting, and a passive swinging Hell's Bell at switch 36. | 2014 | acd_170h | identical |
| acd_168 | AC/DC (V1.68) Firmware release paired with the 2014 LED Pro hardware: Pro playfield topology, factory LED lighting, and a passive swinging Hell's Bell at switch 36. | 2014 | acd_170h | 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.
pinmame.catalog.4ec52ff0ac13
src/wpc/driver.c and generated exact driver catalog
pinmame.core.4ec52ff0ac13
src/wpc/sam.c AC/DC ROM declarations, clone lineage, SAM generation, auxiliary-output flags, public output mapping, and DMD topology
manual.acdc-pro
ACDC_Pro_web.pdf pages 16-21 and major-assembly/wiring sections; local cache manufacturer.stern.987d42c68b58
vpx-table.acdc-pro-1.0
AC-DC Pro-1.0.vpx (78,274,560 bytes); cGameName=acd_170 and splash says AC/DC Pro (Stern 2012); 235 centered candidates; normalized bounds 0,0-952,2115; geometry-only shared original-Pro/LED-Pro evidence, not LED-Pro product identity
vpx.acdc-pro-1.0-lighting-fix
AC-DC Pro-1.0 Lighting Bug Fix.vbs; exact Pro controller callbacks, ball devices, cannon positions, switch semantics, GI, lamps, and flashers
vpx.acdc-pro-vault-1.0-lighting-fix
AC-DC Pro Vault-1.0 Lighting Bug Fix.vbs; exact passive swinging-bell behavior at switch 36 and removed inserts 14, 15, and 17
vpx-table.acdc-pro-vault-1.0
AC-DC Pro Vault-1.0.vpx (79,429,632 bytes); verified and extracted with vpxtool git:v0.33.3; normalized gameitem geometry and collection membership reviewed against manual pages 17, 19, 21, 42, and 48
runtime.acdc-pro.boot-start
Exact acd_170.zip SHA-256 e55c7386950272568dd639f3c8d70beff6fbd584ed49601d4196b46cb1e66ca5; four-ball trough plus cannon-home initial state; boot, four credits, start, and observation
stern.acdc-product-page
Official edition feature inventory for Pro, Premium, and LUCI; reviewed 2026-08-02
stern.acdc-led-pro-announcement
Official August 5, 2014 announcement proving LED Pro and newly designed swinging bell
This site renders the catalog and adds nothing to it, so fixes belong in the definition itself. Editing on GitHub forks it for you and opens the pull request; no local checkout needed.
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.
AC/DC shipped in 4 editions with different playfields. Compare what each one actually has before building against this definition.