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.
Stern2012SAMstern.ac-dc-pro.2012 1 of 4 editions
10 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 | Hell's Bell standup target Microswitch | input.switch.36.hell-s-bell-standup-target | 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 conventional standup target pulses switch 36; the original 2012 Pro has no swinging-bell mechanism.
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 record is the original 2012 Pro playfield and owns non-h firmware revisions 1.21 through 1.65. Later 1.68 software is assigned to the separately documented 2014 LED Pro, and 1.70 to the Vault Edition. The split is intentional: the original has a conventional standup Hell's Bell target at switch 36, while the later products use a passive swinging bell.
The known-working AC/DC Pro 1.0 script is ground truth for PinMAME bindings and behavior; the Pro manual supplies wiring and construction. Initialize four trough balls on 18-21 and the empty cannon at home on switch 61. Output 1 ejects through stack opto 22, output 2 auto-launches from switch 23, and output 12 clears the Jukebox/top saucer at 37.
The Pro replaces Premium drop banks with standup AC/DC, ROCK, and TNT targets and omits the lower mini-playfield, bell saucer/magnet, band animation, detonator actuator, crossover diverter, and auxiliary 8-coil board. The motorized cannon still captures on 45, reports home 61 and mark 62, and fires through output 3. Output 4 selects the cannon route at the right ramp and output 5 controls the right gate. Three pops, two slings, two main flippers, top lanes, both ramps, both orbits, and spinner 33 complete the active playfield.
Only the 1-80 lamp matrix and GI 0 are controller outputs. The service manual marks matrix positions 14, 15, 16, and 17 unused, but the proven Pro VPX script actively binds l14, l15, and l17 and the Vault script explicitly comments those same three bindings out as removed in the Vault Edition. Preserve 14, 15, and 17 as VPX-visible original/LED-Pro playfield inserts, preserve 16 as unused, and treat their artwork semantics as table-asset-defined rather than inventing manual names. The VPX script's 177-191 values are private flasher mirror indices fed by solenoid callbacks and are not lamps. Flashers remain solenoid outputs 17 and 20-31. Public dedicated flipper switches are 84/83 left and 82/81 right; lower-playfield dedicated slots are unused.
Every playfield switch, effect, insert, flasher, and GI emitter has a reviewed normalized placement in VPX/player view (x=0 left, x=1 right, y=0 rear, y=1 apron). Coordinates come from the exact working AC-DC Pro-1.0.vpx table. The original standup target at switch 36 uses that table's target point rather than the different swinging-bell contact point used by LED Pro and Vault. Switches 18-22 describe the real under-apron trough order, while cannon switches 61 and 62 share one projected assembly center because their distinction is cam state rather than playfield position.
GI 0 has 38 normalized playfield emitter placements and physical quantity 45; the seven rear-panel GI bulbs are documented physically but receive no playfield coordinates. Rear-panel lamp addresses 53-56 and 65-72 and rear-panel flasher solenoid 22 likewise retain their physical quantity and construction notes while remaining spatially N/A. This keeps cabinet/rear-panel fixtures out of the normalized playfield plane without losing hardware needed to recreate the machine.
PinMAME public solenoid 33 is the synthetic SAM game-on/fast-flip state, not a Q33 ticket driver. Optional physical ticket-service identities 33-35 are preserved in the untransported physical.output.ticket group.
The working script sweeps the cannon from roughly 110 degrees to 20 and back, asserts 62 at about 80 degrees, and will fire only before the cannon returns near home. Auto-launch uses an implementation impulse near 65 and the Jukebox eject uses the saucer route at switch 37. Keep these state boundaries; tune physical velocities to the target simulation.
AC-DC Pro-1.0.vpx SHA-256 44bf3d67f96968103ab71f26b8b12786e5590f62bd73589b85060983dc62d9e9; 78,274,560 bytes; verified and extracted with vpxtool. The source table is retained in the organized external VPX cache and is not redistributed by this repository.Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| acd_165 | AC/DC (V1.65) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2013 | acd_170h | identical |
| acd_163 | AC/DC (V1.63) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2013 | acd_170h | identical |
| acd_161 | AC/DC (V1.61) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2012 | acd_170h | identical |
| acd_160 | AC/DC (V1.6) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2012 | acd_170h | identical |
| acd_152 | AC/DC (V1.52) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2012 | acd_170h | identical |
| acd_150 | AC/DC (V1.5) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2012 | acd_170h | identical |
| acd_140 | AC/DC (V1.4) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2012 | acd_170h | identical |
| acd_130 | AC/DC (V1.3) Firmware revision intended for the original 2012 Pro playfield with a standup Hell's Bell target and no Premium auxiliary mechanisms. | 2012 | 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
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
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.