Four-ball trough
mechanism.trough
Four balls occupy switches 18-21. Q1 ejects the rightmost ball through jam opto 22 toward shooter switch 23; keep individual occupancy and the physical jam transition.
Stern2008SAMstern.batman-the-dark-knight-pro.2008 1 of 2 editions
9 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.
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.d17-pendulum-tilt | cabinet.tilt | J13-P1LGN-BRN J13-P10BLK CPU/Sound board dedicated-switch input | validated |
| -6 | Slam tiltNC Tilt | switch.d18-slam-tilt | cabinet.slam-tilt | J13-P3LGN-RED J13-P10BLK CPU/Sound board dedicated-switch input | validated |
| -5 | Optional ticket notchopt Microswitch | switch.d19-optional-ticket-notch | cabinet.ticket-notch | J13-P4LGN-ORG J13-P10BLK CPU/Sound board dedicated-switch input | validated |
| -4 | Unused dedicated switch D20 | switch.d20-unused-dedicated-switch-d20 | J13-P5LGN-YEL J13-P10BLK CPU/Sound board dedicated-switch input | validated | |
| -3 | Coin-door Back button Button | switch.d21-coin-door-back-button | service.back | J13-P6LGN-BLK J13-P10BLK CPU/Sound board dedicated-switch input | validated |
| -2 | Coin-door Minus button Button | switch.d22-coin-door-minus-button | service.down | J13-P7LGN-BLU J13-P10BLK CPU/Sound board dedicated-switch input | validated |
| -1 | Coin-door Plus button Button | switch.d23-coin-door-plus-button | service.up | J13-P8LGN-VIO J13-P10BLK CPU/Sound board dedicated-switch input | validated |
| 0 | Coin-door Select button Button | switch.d24-coin-door-select-button | service.enter | J13-P9LGN-GRY J13-P10BLK CPU/Sound board dedicated-switch input | validated |
| 1 | BATMAN B target Leaf | switch.1-batman-b-target | J1-P1GRN-BRN J6-P9WHT-BRN CPU/Sound board switch matrix | validated | |
| 2 | BATMAN A target Leaf | switch.2-batman-a-target | J1-P1GRN-BRN J6-P8WHT-RED CPU/Sound board switch matrix | validated | |
| 3 | BATMAN T target Leaf | switch.3-batman-t-target | J1-P1GRN-BRN J6-P7WHT-ORG CPU/Sound board switch matrix | validated | |
| 4 | BATMAN M target Leaf | switch.4-batman-m-target | J1-P1GRN-BRN J6-P6WHT-YEL CPU/Sound board switch matrix | validated | |
| 5 | BATMAN A2 target Leaf | switch.5-batman-a2-target | J1-P1GRN-BRN J6-P5WHT-GRN CPU/Sound board switch matrix | validated | |
| 6 | BATMAN N target Leaf | switch.6-batman-n-target | J1-P1GRN-BRN J6-P3WHT-BLU CPU/Sound board switch matrix | validated | |
| 7 | Left top lane Leaf | switch.7-left-top-lane | J1-P1GRN-BRN J6-P2WHT-VIO CPU/Sound board switch matrix | validated | |
| 8 | Middle top lane Leaf | switch.8-middle-top-lane | J1-P1GRN-BRN J6-P1WHT-GRY CPU/Sound board switch matrix | validated | |
| 9 | Right top lane Leaf | switch.9-right-top-lane | J1-P1GRN-BRN J12-P9TAN-BLK CPU/Sound board switch matrix | validated | |
| 10 | Unused matrix switch 10 | switch.10-unused-matrix-switch-10 | J1-P1GRN-BRN J12-P8TAN-RED CPU/Sound board switch matrix | validated | |
| 11 | Alfred target Leaf | switch.11-alfred-target | J1-P1GRN-BRN J12-P7TAN-ORG CPU/Sound board switch matrix | validated | |
| 12 | Scarecrow VUK Opto | switch.12-scarecrow-vuk | ball.position | J1-P1GRN-BRN J12-P6TAN-YEL CPU/Sound board switch matrix | validated |
| 13 | Center ramp entrance Leaf | switch.13-center-ramp-entrance | J1-P1GRN-BRN J12-P4TAN-GRN CPU/Sound board switch matrix | validated | |
| 14 | Right standup target Leaf | switch.14-right-standup-target | J1-P1GRN-BRN J12-P3TAN-BLU CPU/Sound board switch matrix | validated | |
| 15 | Tournament Start Button | switch.15-tournament-start | cabinet.tournament-start | J1-P1GRN-BRN J12-P2TAN-VIO CPU/Sound board switch matrix | validated |
| 16 | Start button Button | switch.16-start-button | cabinet.start | J1-P1GRN-BRN J12-P1TAN-WHT CPU/Sound board switch matrix | validated |
| 17 | Unused matrix switch 17 | switch.17-unused-matrix-switch-17 | J1-P3GRN-RED J6-P9WHT-BRN CPU/Sound board switch matrix | validated | |
| 18 | Trough 4 left Opto | switch.18-trough-4-left | ball.position | J1-P3GRN-RED J6-P8WHT-RED CPU/Sound board switch matrix | validated |
| 19 | Trough 3 Opto | switch.19-trough-3 | ball.position | J1-P3GRN-RED J6-P7WHT-ORG CPU/Sound board switch matrix | validated |
| 20 | Trough 2 Opto | switch.20-trough-2 | ball.position | J1-P3GRN-RED J6-P6WHT-YEL CPU/Sound board switch matrix | validated |
| 21 | Trough 1 right Opto | switch.21-trough-1-right | ball.position | J1-P3GRN-RED J6-P5WHT-GRN CPU/Sound board switch matrix | validated |
| 22 | Trough jam Opto | switch.22-trough-jam | ball.position | J1-P3GRN-RED J6-P3WHT-BLU CPU/Sound board switch matrix | validated |
| 23 | Shooter lane Opto | switch.23-shooter-lane | ball.position | J1-P3GRN-RED J6-P2WHT-VIO CPU/Sound board switch matrix | validated |
| 24 | Left outlane Leaf | switch.24-left-outlane | J1-P3GRN-RED J6-P1WHT-GRY CPU/Sound board switch matrix | validated | |
| 25 | Left return lane Leaf | switch.25-left-return-lane | J1-P3GRN-RED J12-P9TAN-BLK CPU/Sound board switch matrix | validated | |
| 26 | Left slingshot Leaf | switch.26-left-slingshot | J1-P3GRN-RED J12-P8TAN-RED CPU/Sound board switch matrix | validated | |
| 27 | Right slingshot Leaf | switch.27-right-slingshot | J1-P3GRN-RED J12-P7TAN-ORG CPU/Sound board switch matrix | validated | |
| 28 | Right return lane Leaf | switch.28-right-return-lane | J1-P3GRN-RED J12-P6TAN-YEL CPU/Sound board switch matrix | validated | |
| 29 | Right outlane Leaf | switch.29-right-outlane | J1-P3GRN-RED J12-P4TAN-GRN CPU/Sound board switch matrix | validated | |
| 30 | Left pop bumper Leaf | switch.30-left-pop-bumper | J1-P3GRN-RED J12-P3TAN-BLU CPU/Sound board switch matrix | validated | |
| 31 | Right pop bumper Leaf | switch.31-right-pop-bumper | J1-P3GRN-RED J12-P2TAN-VIO CPU/Sound board switch matrix | validated | |
| 32 | Bottom pop bumper Leaf | switch.32-bottom-pop-bumper | J1-P3GRN-RED J12-P1TAN-WHT CPU/Sound board switch matrix | validated | |
| 33 | Skill shot Leaf | switch.33-skill-shot | J1-P4GRN-ORG J6-P9WHT-BRN CPU/Sound board switch matrix | validated | |
| 34 | Left loop spinner Leaf | switch.34-left-loop-spinner | J1-P4GRN-ORG J6-P8WHT-RED CPU/Sound board switch matrix | validated | |
| 35 | Left loop Leaf | switch.35-left-loop | J1-P4GRN-ORG J6-P7WHT-ORG CPU/Sound board switch matrix | validated | |
| 36 | Left Joker target Leaf | switch.36-left-joker-target | J1-P4GRN-ORG J6-P6WHT-YEL CPU/Sound board switch matrix | validated | |
| 37 | Center Joker target Leaf | switch.37-center-joker-target | J1-P4GRN-ORG J6-P5WHT-GRN CPU/Sound board switch matrix | validated | |
| 38 | Pop bumper target Leaf | switch.38-pop-bumper-target | J1-P4GRN-ORG J6-P3WHT-BLU CPU/Sound board switch matrix | validated | |
| 39 | Pop bumper spinner Leaf | switch.39-pop-bumper-spinner | J1-P4GRN-ORG J6-P2WHT-VIO CPU/Sound board switch matrix | validated | |
| 40 | Unused matrix switch 40 | switch.40-unused-matrix-switch-40 | J1-P4GRN-ORG J6-P1WHT-GRY CPU/Sound board switch matrix | validated | |
| 41 | Right loop Leaf | switch.41-right-loop | J1-P4GRN-ORG J12-P9TAN-BLK CPU/Sound board switch matrix | validated | |
| 42 | Scarecrow VUK exit Opto | switch.42-scarecrow-vuk-exit | J1-P4GRN-ORG J12-P8TAN-RED CPU/Sound board switch matrix | validated | |
| 43 | Unused matrix switch 43 | switch.43-unused-matrix-switch-43 | J1-P4GRN-ORG J12-P7TAN-ORG CPU/Sound board switch matrix | validated | |
| 44 | Top right eject Opto | switch.44-top-right-eject | ball.position | J1-P4GRN-ORG J12-P6TAN-YEL CPU/Sound board switch matrix | validated |
| 45 | Joker drop target Leaf | switch.45-joker-drop-target | position.down | J1-P4GRN-ORG J12-P4TAN-GRN CPU/Sound board switch matrix | validated |
| 46 | Joker lockup Opto | switch.46-joker-lockup | ball.position | J1-P4GRN-ORG J12-P3TAN-BLU CPU/Sound board switch matrix | validated |
| 47 | Batmobile crash target Leaf | switch.47-batmobile-crash-target | J1-P4GRN-ORG J12-P2TAN-VIO CPU/Sound board switch matrix | validated | |
| 48 | Right Joker target Leaf | switch.48-right-joker-target | J1-P4GRN-ORG J12-P1TAN-WHT CPU/Sound board switch matrix | validated | |
| 49 | Left standup target Leaf | switch.49-left-standup-target | J1-P5GRN-YEL J6-P9WHT-BRN CPU/Sound board switch matrix | validated | |
| 50 | Joker position 1 home Opto | switch.50-joker-position-1-home | position.home | J1-P5GRN-YEL J6-P8WHT-RED CPU/Sound board switch matrix | validated |
| 51 | Joker position 2 middle Opto | switch.51-joker-position-2-middle | J1-P5GRN-YEL J6-P7WHT-ORG CPU/Sound board switch matrix | validated | |
| 52 | Joker position 3 away Opto | switch.52-joker-position-3-away | J1-P5GRN-YEL J6-P6WHT-YEL CPU/Sound board switch matrix | validated | |
| 53 | Mini-playfield top left Leaf | switch.53-mini-playfield-top-left | J1-P5GRN-YEL J6-P5WHT-GRN CPU/Sound board switch matrix | validated | |
| 54 | Mini-playfield top right Leaf | switch.54-mini-playfield-top-right | J1-P5GRN-YEL J6-P3WHT-BLU CPU/Sound board switch matrix | validated | |
| 55 | Mini-playfield bottom left Leaf | switch.55-mini-playfield-bottom-left | J1-P5GRN-YEL J6-P2WHT-VIO CPU/Sound board switch matrix | validated | |
| 56 | Crane position 6 away Opto | switch.56-crane-position-6-away | J1-P5GRN-YEL J6-P1WHT-GRY CPU/Sound board switch matrix | validated | |
| 57 | Crane position 5 Opto | switch.57-crane-position-5 | J1-P5GRN-YEL J12-P9TAN-BLK CPU/Sound board switch matrix | validated | |
| 58 | Crane position 4 Opto | switch.58-crane-position-4 | J1-P5GRN-YEL J12-P8TAN-RED CPU/Sound board switch matrix | validated | |
| 59 | Crane position 3 Opto | switch.59-crane-position-3 | J1-P5GRN-YEL J12-P7TAN-ORG CPU/Sound board switch matrix | validated | |
| 60 | Crane position 2 Opto | switch.60-crane-position-2 | J1-P5GRN-YEL J12-P6TAN-YEL CPU/Sound board switch matrix | validated | |
| 61 | Crane position 1 home Opto | switch.61-crane-position-1-home | position.home | J1-P5GRN-YEL J12-P4TAN-GRN CPU/Sound board switch matrix | validated |
| 62 | Unused matrix switch 62 | switch.62-unused-matrix-switch-62 | J1-P5GRN-YEL J12-P3TAN-BLU CPU/Sound board switch matrix | validated | |
| 63 | Mini-playfield bottom right Leaf | switch.63-mini-playfield-bottom-right | J1-P5GRN-YEL J12-P2TAN-VIO CPU/Sound board switch matrix | validated | |
| 64 | Batmobile ramp eject Opto | switch.64-batmobile-ramp-eject | ball.position | J1-P5GRN-YEL J12-P1TAN-WHT CPU/Sound board switch matrix | validated |
| 65 | Left coin chute Button | switch.d1-left-coin-chute | cabinet.coin.left | J2-P2PNK-BRN J2-P1/11BLK CPU/Sound board dedicated-switch input | validated |
| 66 | Center coin chute Button | switch.d2-center-coin-chute | cabinet.coin.center | J2-P3PNK-RED J2-P1/11BLK CPU/Sound board dedicated-switch input | validated |
| 67 | Right coin chute Button | switch.d3-right-coin-chute | cabinet.coin.right | J2-P4PNK-ORG J2-P1/11BLK CPU/Sound board dedicated-switch input | validated |
| 68 | Unused fourth coin chute | switch.d4-unused-fourth-coin-chute | J2-P6PNK-YEL J2-P1/11BLK CPU/Sound board dedicated-switch input | validated | |
| 69 | Optional fifth coin chuteopt Button | switch.d5-optional-fifth-coin-chute | cabinet.coin.fifth | J2-P7PNK-GRN J2-P1/11BLK CPU/Sound board dedicated-switch input | validated |
| 70 | Unused dedicated switch D6 | switch.d6-unused-dedicated-switch-d6 | J2-P8PNK-BLU J2-P1/11BLK CPU/Sound board dedicated-switch input | validated | |
| 71 | Unused dedicated switch D7 | switch.d7-unused-dedicated-switch-d7 | J2-P9PNK-VIO J2-P1/11BLK CPU/Sound board dedicated-switch input | validated | |
| 72 | Unused dedicated switch D8 | switch.d8-unused-dedicated-switch-d8 | J2-P10PNK-GRY J2-P1/11BLK CPU/Sound board dedicated-switch input | validated | |
| 81 | Right flipper end-of-strokeNC Leaf | switch.d12-right-flipper-end-of-stroke | flipper.lower.right.eos | J3-P5GRY-YEL J3-P10BLK CPU/Sound board dedicated-switch input | validated |
| 82 | Right flipper button Button | switch.d11-right-flipper-button | flipper.lower.right.button | J3-P4GRY-ORG J3-P10BLK CPU/Sound board dedicated-switch input | validated |
| 83 | Left flipper end-of-strokeNC Leaf | switch.d10-left-flipper-end-of-stroke | flipper.lower.left.eos | J3-P2GRY-RED J3-P10BLK CPU/Sound board dedicated-switch input | validated |
| 84 | Left flipper button Button | switch.d9-left-flipper-button | flipper.lower.left.button | J3-P1GRY-BRN J3-P10BLK CPU/Sound board dedicated-switch input | validated |
| 85 | Scarecrow crane hit Leaf | switch.d16-scarecrow-crane-hit | mechanism.crane.hit | J3-P9GRY-BLK J3-P10BLK CPU/Sound board dedicated-switch input | validated |
| 86 | Unused upper-right flipper button | switch.d15-unused-upper-right-flipper-button | J3-P8GRY-VIO J3-P10BLK CPU/Sound board dedicated-switch input | validated | |
| 87 | Unused upper-left flipper end-of-stroke | switch.d14-unused-upper-left-flipper-end-of-stroke | J3-P7GRY-BLU J3-P10BLK CPU/Sound board dedicated-switch input | validated | |
| 88 | Unused upper-left flipper button | switch.d13-unused-upper-left-flipper-button | J3-P6GRY-GRN J3-P10BLK CPU/Sound board dedicated-switch input | 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.1-trough-up-kicker | Coil | Q1BRN-BLK I/O Power Driver board | validated |
| 2 | Auto launch | device.2-auto-launch | Coil | Q2BRN-RED I/O Power Driver board | validated |
| 3 | Top right eject | device.3-top-right-eject | Coil | Q3BRN-ORG I/O Power Driver board | validated |
| 4 | Joker lockup | device.4-joker-lockup | Coil | Q4BRN-YEL I/O Power Driver board | validated |
| 5 | Joker drop target up | device.5-joker-drop-target-up | Coil | Q5BRN-GRN I/O Power Driver board | validated |
| 6 | Scarecrow VUK | device.6-scarecrow-vuk | Coil | Q6BRN-BLU I/O Power Driver board | validated |
| 7 | Joker drop target down | device.7-joker-drop-target-down | Coil | Q7BRN-VIO I/O Power Driver board | validated |
| 8 | Optional shaker motoropt | device.8-optional-shaker-motor | Motor | Q8BRN-GRY I/O Power Driver board | validated |
| 9 | Left pop bumper | device.9-left-pop-bumper | Coil | Q9BLU-BRN I/O Power Driver board | validated |
| 10 | Right pop bumper | device.10-right-pop-bumper | Coil | Q10BLU-RED I/O Power Driver board | validated |
| 11 | Bottom pop bumper | device.11-bottom-pop-bumper | Coil | Q11BLU-ORG I/O Power Driver board | validated |
| 12 | Left control gate | device.12-left-control-gate | Coil | Q12BLU-YEL I/O Power Driver board | validated |
| 13 | Batmobile ramp down | device.13-batmobile-ramp-down | Coil | Q13BLU-GRN I/O Power Driver board | validated |
| 14 | Batmobile ramp control gate | device.14-batmobile-ramp-control-gate | Coil | Q14BLU-BLK I/O Power Driver board | validated |
| 15 | Left flipper | device.15-left-flipper | Coil | Q15ORG-GRY I/O Power Driver board | validated |
| 16 | Right flipper | device.16-right-flipper | Coil | Q16ORG-VIO I/O Power Driver board | validated |
| 17 | Left slingshot | device.17-left-slingshot | Coil | Q17VIO-BRN I/O Power Driver board | validated |
| 18 | Right slingshot | device.18-right-slingshot | Coil | Q18VIO-RED I/O Power Driver board | validated |
| 20 | Unused output Q20 | device.20-unused-output-q20 | Coil | Q20VIO-WHT I/O Power Driver board | validated |
| 24 | Optional 5 V controlled deviceopt | device.24-optional-5-v-controlled-device | Coil | Q24VIO-GRY I/O Power Driver board | validated |
| 26 | Joker motor | device.26-joker-motor | Motor | Q26BLK-RED I/O Power Driver board | validated |
| 28 | Scarecrow motor relay | device.28-scarecrow-motor-relay | Relay | Q28BLK-YEL I/O Power Driver board | validated |
| 30 | Joker motor relay | device.30-joker-motor-relay | Relay | Q30BLK-BLU I/O Power Driver board | validated |
| 31 | Scarecrow motor | device.31-scarecrow-motor | Motor | Q31BLK-VIO I/O Power Driver board | validated |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 19 | Scarecrow home flasher | device.19-scarecrow-home-flasher | Q19VIO-ORG I/O Power Driver board | validated |
| 21 | Back panel flasher | device.21-back-panel-flasher | Q21VIO-GRN I/O Power Driver board | validated |
| 22 | Joker flasher x3 | device.22-joker-flasher-x3 | Q22VIO-BLU I/O Power Driver board | validated |
| 23 | Scarecrow flasher | device.23-scarecrow-flasher | Q23VIO-BLK I/O Power Driver board | validated |
| 25 | Pop bumpers flasher x3 | device.25-pop-bumpers-flasher-x3 | Q25BLK-BRN I/O Power Driver board | validated |
| 27 | Left slingshot flasher | device.27-left-slingshot-flasher | Q27BLK-ORG I/O Power Driver board | validated |
| 29 | Right slingshot flasher | device.29-right-slingshot-flasher | Q29BLK-GRN I/O Power Driver board | validated |
| 32 | Batmobile crash flasher x2 | device.32-batmobile-crash-flasher-x2 | Q32BLK-GRY I/O Power Driver board | validated |
Sequential addresses, grouped in columns of eight.
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Start Button | lamp.1-start-button | I/O Power Driver board lamp matrix | validated |
| 2 | Tournament Start Button | lamp.2-tournament-start-button | I/O Power Driver board lamp matrix | validated |
| 3 | Shoot Again | lamp.3-shoot-again | I/O Power Driver board lamp matrix | validated |
| 4 | Left Outlane | lamp.4-left-outlane | I/O Power Driver board lamp matrix | validated |
| 5 | Left Return Lane | lamp.5-left-return-lane | I/O Power Driver board lamp matrix | validated |
| 6 | Joker Played | lamp.6-joker-played | I/O Power Driver board lamp matrix | validated |
| 7 | Batmobile Played | lamp.7-batmobile-played | I/O Power Driver board lamp matrix | validated |
| 8 | Scarecrow Played | lamp.8-scarecrow-played | I/O Power Driver board lamp matrix | validated |
| 9 | Joker Multiplier | lamp.9-joker-multiplier | I/O Power Driver board lamp matrix | validated |
| 10 | Right Return Lane | lamp.10-right-return-lane | I/O Power Driver board lamp matrix | validated |
| 11 | Right Outlane | lamp.11-right-outlane | I/O Power Driver board lamp matrix | validated |
| 12 | Bruce Wayne | lamp.12-bruce-wayne | I/O Power Driver board lamp matrix | validated |
| 13 | Commissioner Gordon | lamp.13-commissioner-gordon | I/O Power Driver board lamp matrix | validated |
| 14 | Rachel Dawes | lamp.14-rachel-dawes | I/O Power Driver board lamp matrix | validated |
| 15 | The Scarecrow | lamp.15-the-scarecrow | I/O Power Driver board lamp matrix | validated |
| 16 | The Joker | lamp.16-the-joker | I/O Power Driver board lamp matrix | validated |
| 17 | Harvey Dent | lamp.17-harvey-dent | I/O Power Driver board lamp matrix | validated |
| 18 | Lucius Fox | lamp.18-lucius-fox | I/O Power Driver board lamp matrix | validated |
| 19 | Alfred Pennyworth | lamp.19-alfred-pennyworth | I/O Power Driver board lamp matrix | validated |
| 20 | BATMAN B | lamp.20-batman-b | I/O Power Driver board lamp matrix | validated |
| 21 | BATMAN A | lamp.21-batman-a | I/O Power Driver board lamp matrix | validated |
| 22 | BATMAN T | lamp.22-batman-t | I/O Power Driver board lamp matrix | validated |
| 23 | BATMAN M | lamp.23-batman-m | I/O Power Driver board lamp matrix | validated |
| 24 | BATMAN A2 | lamp.24-batman-a2 | I/O Power Driver board lamp matrix | validated |
| 25 | BATMAN N | lamp.25-batman-n | I/O Power Driver board lamp matrix | validated |
| 26 | Impostors! | lamp.26-impostors | I/O Power Driver board lamp matrix | validated |
| 27 | Extricate Lau | lamp.27-extricate-lau | I/O Power Driver board lamp matrix | validated |
| 28 | Rescue Rachel | lamp.28-rescue-rachel | I/O Power Driver board lamp matrix | validated |
| 29 | Locate The Joker | lamp.29-locate-the-joker | I/O Power Driver board lamp matrix | validated |
| 30 | Not Used | lamp.30-not-used | I/O Power Driver board lamp matrix | validated |
| 31 | Left Loop Multiplier | lamp.31-left-loop-multiplier | I/O Power Driver board lamp matrix | validated |
| 32 | Crane Position 6 Away | lamp.32-crane-position-6-away | I/O Power Driver board lamp matrix | validated |
| 33 | Bat Missions | lamp.33-bat-missions | I/O Power Driver board lamp matrix | validated |
| 34 | Mystery | lamp.34-mystery | I/O Power Driver board lamp matrix | validated |
| 35 | Left Loop Arrow | lamp.35-left-loop-arrow | I/O Power Driver board lamp matrix | validated |
| 36 | Joker Arrow | lamp.36-joker-arrow | I/O Power Driver board lamp matrix | validated |
| 37 | Joker Lock 3 | lamp.37-joker-lock-3 | I/O Power Driver board lamp matrix | validated |
| 38 | Joker Lock 2 | lamp.38-joker-lock-2 | I/O Power Driver board lamp matrix | validated |
| 39 | Left Gordon Target | lamp.39-left-gordon-target | I/O Power Driver board lamp matrix | validated |
| 40 | Left Multiplier Target | lamp.40-left-multiplier-target | I/O Power Driver board lamp matrix | validated |
| 41 | Joker Lock 1 | lamp.41-joker-lock-1 | I/O Power Driver board lamp matrix | validated |
| 42 | Crane Position 5 | lamp.42-crane-position-5 | I/O Power Driver board lamp matrix | validated |
| 43 | Crane Position 4 | lamp.43-crane-position-4 | I/O Power Driver board lamp matrix | validated |
| 44 | Crane Position 3 | lamp.44-crane-position-3 | I/O Power Driver board lamp matrix | validated |
| 45 | Crane Position 2 | lamp.45-crane-position-2 | I/O Power Driver board lamp matrix | validated |
| 46 | Not Used | lamp.46-not-used | I/O Power Driver board lamp matrix | validated |
| 47 | Batmobile 3 | lamp.47-batmobile-3 | I/O Power Driver board lamp matrix | validated |
| 48 | Batmobile 2 | lamp.48-batmobile-2 | I/O Power Driver board lamp matrix | validated |
| 49 | Batmobile 1 | lamp.49-batmobile-1 | I/O Power Driver board lamp matrix | validated |
| 50 | Center Ramp Multiplier | lamp.50-center-ramp-multiplier | I/O Power Driver board lamp matrix | validated |
| 51 | Scarecrow VUK Multiplier | lamp.51-scarecrow-vuk-multiplier | I/O Power Driver board lamp matrix | validated |
| 52 | Right Loop Multiplier | lamp.52-right-loop-multiplier | I/O Power Driver board lamp matrix | validated |
| 53 | Right Multiplier Target | lamp.53-right-multiplier-target | I/O Power Driver board lamp matrix | validated |
| 54 | Scarecrow VUK Arrow | lamp.54-scarecrow-vuk-arrow | I/O Power Driver board lamp matrix | validated |
| 55 | Super Jackpot | lamp.55-super-jackpot | I/O Power Driver board lamp matrix | validated |
| 56 | Scarecrow | lamp.56-scarecrow | I/O Power Driver board lamp matrix | validated |
| 57 | Extra Ball | lamp.57-extra-ball | I/O Power Driver board lamp matrix | validated |
| 58 | Alfred Target | lamp.58-alfred-target | I/O Power Driver board lamp matrix | validated |
| 59 | Mini-playfield Bottom Left | lamp.59-mini-playfield-bottom-left | I/O Power Driver board lamp matrix | validated |
| 60 | Left Pop Bumper | lamp.60-left-pop-bumper | I/O Power Driver board lamp matrix | validated |
| 61 | Right Pop Bumper | lamp.61-right-pop-bumper | I/O Power Driver board lamp matrix | validated |
| 62 | Mini-playfield Top Left | lamp.62-mini-playfield-top-left | I/O Power Driver board lamp matrix | validated |
| 63 | Right Loop Arrow | lamp.63-right-loop-arrow | I/O Power Driver board lamp matrix | validated |
| 64 | Bat Pod | lamp.64-bat-pod | I/O Power Driver board lamp matrix | validated |
| 65 | Grappling Hook | lamp.65-grappling-hook | I/O Power Driver board lamp matrix | validated |
| 66 | Machine Gun | lamp.66-machine-gun | I/O Power Driver board lamp matrix | validated |
| 67 | Cannon | lamp.67-cannon | I/O Power Driver board lamp matrix | validated |
| 68 | Mini-playfield Bottom Right | lamp.68-mini-playfield-bottom-right | I/O Power Driver board lamp matrix | validated |
| 69 | Scarecrow Skill Shot | lamp.69-scarecrow-skill-shot | I/O Power Driver board lamp matrix | validated |
| 70 | Batmobile Skill Shot | lamp.70-batmobile-skill-shot | I/O Power Driver board lamp matrix | validated |
| 71 | Joker Skill Shot | lamp.71-joker-skill-shot | I/O Power Driver board lamp matrix | validated |
| 72 | Left Top Lane | lamp.72-left-top-lane | I/O Power Driver board lamp matrix | validated |
| 73 | Middle Top Lane | lamp.73-middle-top-lane | I/O Power Driver board lamp matrix | validated |
| 74 | Right Top Lane | lamp.74-right-top-lane | I/O Power Driver board lamp matrix | validated |
| 75 | Mini-playfield Top Right | lamp.75-mini-playfield-top-right | I/O Power Driver board lamp matrix | validated |
| 76 | Bat Symbol | lamp.76-bat-symbol | I/O Power Driver board lamp matrix | validated |
| 77 | Pop Bumpers Illumination | lamp.77-pop-bumpers-illumination | I/O Power Driver board lamp matrix | validated |
| 78 | Batmobile Illumination | lamp.78-batmobile-illumination | I/O Power Driver board lamp matrix | validated |
| 79 | Joker Illumination | lamp.79-joker-illumination | I/O Power Driver board lamp matrix | validated |
| 80 | Scarecrow Illumination | lamp.80-scarecrow-illumination | I/O Power Driver board lamp matrix | validated |
| 81 | Unused crane-board compatibility lamp 81 | lamp.81-unused-crane-board-compatibility | validated | |
| 82 | Unused crane-board compatibility lamp 82 | lamp.82-unused-crane-board-compatibility | validated | |
| 83 | Unused crane-board compatibility lamp 83 | lamp.83-unused-crane-board-compatibility | validated | |
| 84 | Unused crane-board compatibility lamp 84 | lamp.84-unused-crane-board-compatibility | validated | |
| 85 | Unused crane-board compatibility lamp 85 | lamp.85-unused-crane-board-compatibility | validated | |
| 86 | Scarecrow crane board red LED | lamp.86-scarecrow-crane-board-red-led | Scarecrow crane opto/LED board 520-5290-00 | validated |
| 87 | Scarecrow crane board white LED 1 | lamp.87-scarecrow-crane-board-white-led-1 | Scarecrow crane opto/LED board 520-5290-00 | validated |
| 88 | Scarecrow crane board white LED 2 | lamp.88-scarecrow-crane-board-white-led-2 | Scarecrow crane opto/LED board 520-5290-00 | 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 |
| 51 | Unused SAM auxiliary compatibility address 51 | virtual.aux-51 | validated |
| 52 | Unused SAM auxiliary compatibility address 52 | virtual.aux-52 | validated |
| 53 | Unused SAM auxiliary compatibility address 53 | virtual.aux-53 | validated |
| 54 | Unused SAM auxiliary compatibility address 54 | virtual.aux-54 | validated |
| 55 | Unused SAM auxiliary compatibility address 55 | virtual.aux-55 | validated |
| 56 | Unused SAM auxiliary compatibility address 56 | virtual.aux-56 | validated |
| 57 | Unused SAM auxiliary compatibility address 57 | virtual.aux-57 | validated |
| 58 | Unused SAM auxiliary compatibility address 58 | virtual.aux-58 | validated |
| 59 | Unused SAM auxiliary compatibility address 59 | virtual.aux-59 | validated |
| 60 | Unused SAM auxiliary compatibility address 60 | virtual.aux-60 | validated |
| 61 | Unused SAM auxiliary compatibility address 61 | virtual.aux-61 | validated |
| 62 | Unused SAM auxiliary compatibility address 62 | virtual.aux-62 | validated |
| 63 | Unused SAM auxiliary compatibility address 63 | virtual.aux-63 | validated |
| 64 | Unused SAM auxiliary compatibility address 64 | virtual.aux-64 | validated |
| 65 | Unused SAM auxiliary compatibility address 65 | virtual.aux-65 | validated |
| 66 | Unused SAM auxiliary compatibility address 66 | virtual.aux-66 | 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
Four balls occupy switches 18-21. Q1 ejects the rightmost ball through jam opto 22 toward shooter switch 23; keep individual occupancy and the physical jam transition.
mechanism.auto-launch
The player can plunge a ball at switch 23 manually or Q2 can fire the auto-launch assembly.
mechanism.top-right-eject
A ball rests on top-right eject switch 44 until Q3 returns it to play.
mechanism.joker-lock
Switch 46 retains a ball in the Joker lockup and Q4 ejects it. This ball device is separate from the moving Joker reveal and its drop target.
mechanism.joker-drop
The target latches down on switch 45. Q5 raises it and Q7 actively lowers it; preserve both commanded directions rather than modeling a reset-only target.
mechanism.scarecrow-vuk
A ball held at VUK opto 12 is kicked vertically by Q6 and crosses exit switch 42.
mechanism.batmobile-ramp
Q13 pivots the bridge between its approximately 10-degree raised return path and lowered path, moving its collision geometry and any captured ball. Switch 64 captures the ball on the ramp; lowering releases it while the Batmobile travels a linked crash path that closes target 47. Q14 controls the route gate. Preserve the real ball, bridge collision, gate direction, and crash switch transaction; the script's invisible helper ball is implementation scaffolding, not another playfield ball.
mechanism.joker-reveal
Q26 motor motion is gated by relay Q30. The proven table models one 1500 ms, 360-step cycle with home switch 50 at step 359, middle switch 51 at 178-182, and away switch 52 at step 0. Recreate a one-direction reveal with three mutually exclusive position windows and stop/calibrate through the ROM's Joker Motor Test.
mechanism.scarecrow-crane
Q31 drives the one-direction chain crane through relay Q28. Position optos run from 56/away through 61/home; the proven table uses 90 steps over 110 ms with windows 56=0-1, 57=30-33, 58=47-50, 59=59-62, 60=71-74, and 61=89. Dedicated D16/public 85 is the ball-hit leaf. The manual documents two factory crane/motor assembly variants; identify the installed hub and shaft type before selecting service parts, never rotate the crane by hand, and calibrate using the ROM test.
mechanism.upper-mini-playfield
Four rollovers identify top-left 53, top-right 54, bottom-left 55, and bottom-right 63. Preserve the elevated ball path and all four contacts; this entire mini-playfield is absent from the Home Edition.
mechanism.flippers
Q15/Q16 drive left/right flippers. Public button/EOS pairs are 84/83 and 82/81; both EOS contacts are normally closed.
mechanism.pop-bumpers
Left, right, and bottom pairs are Q9/SW30, Q10/SW31, and Q11/SW32.
mechanism.slingshots
Left and right pairs are Q17/SW26 and Q18/SW27.
mechanism.left-control-gate
Q12 controls the left route gate; preserve one-way collision and commanded state.
mechanism.shaker
Q8 drives the optional 16 VAC shaker; absence is a valid configuration.
mechanism.routes-and-targets
Build the manual's lane, loop, ramp, spinner, standup, skill-shot, and lower-lane contacts at their named bindings. Use the pulse/sustained flags from the proven script and do not create devices for unused matrix holes.
Working knowledge that has no schema field yet — edition differences, tuning values, pitfalls.
This is the 2008 commercial machine, IPDB 5307, called the Pro model in current Stern/PinMAME terminology. It covers bdk_130, bdk_150, bdk_160, bdk_200, bdk_210, bdk_220, bdk_240, bdk_290, and bdk_294. The known-working exact bdk_294 VPX script is controller-semantic and causal ground truth; the official manual governs physical construction, wiring, bulb/board types, and service assemblies; pinned PinMAME governs transport, display, and driver identity. The firmware readme documents software-only changes to Scarecrow multiball, Batmobile-ramp handling, crane adjustment/calibration, and Joker motor behavior.
Four balls rest on trough switches 18-21. Q1 feeds the rightmost ball through jam opto 22 to shooter switch 23, where it can be plunged manually or fired by Q2. Top-right switch 44/Q3 and Scarecrow VUK switch 12/Q6/exit 42 are separate eject paths. Joker lock switch 46 retains a ball until Q4 fires. Preserve sustained occupancy and explicit physical release transactions rather than pulsing every ball-position switch.
The Joker area contains three distinct mechanisms. The lockup is switch 46/Q4. The active drop target is switch 45 with Q5 up and Q7 down. The rotating reveal uses motor Q26 through relay Q30 with three positions: 52 away/revealed, 51 middle, and 50 home/hidden. The proven script models a 1500 ms, 360-step one-direction cycle with windows 52 at 0, 51 at 178-182, and 50 at 359. Use the ROM Joker Motor Test to calibrate the physical assembly, retain mutually exclusive position contacts, and never merge its motor, drop, and ball lock into one animation.
The chain-driven crane uses Q31 motor through relay Q28. Position optos run 56 away, 57, 58, 59, 60, and 61 home; D16/public 85 is the ball-hit leaf. The proven table models 90 steps over 110 ms with windows 56=0-1, 57=30-33, 58=47-50, 59=59-62, 60=71-74, and 61=89. PinMAME exposes the board LEDs at lamps 86-88. The official manual documents two factory crane variants with different hub and motor-shaft shapes. Identify the actual variant before selecting parts, never rotate it by hand, and use the ROM test for direction, endpoint, and adjustment.
Q13 pivots the Batmobile bridge between an approximately 10-degree raised return path and its lowered release path, while Q14 controls the gate. Switch 64 captures a real ball on the moving ramp. Lowering the bridge releases that ball and drives the linked Batmobile crash path through switch 47; move collision geometry and the captured ball throughout travel. The proven script uses an invisible helper ball only to animate the Batmobile and pulse the crash transaction, so do not add it to the physical ball count. The upper mini-playfield is a separate elevated area with contacts 53 top-left, 54 top-right, 55 bottom-left, and 63 bottom-right.
Flippers are Q15/Q16 with public button/EOS pairs 84/83 and 82/81; both EOS contacts are normally closed. Pops are Q9/SW30, Q10/SW31, Q11/SW32 and slings are Q17/SW26, Q18/SW27. Q12 controls the left gate and Q8 is an optional shaker. Every lane, standup, spinner, loop, ramp, and target is enumerated in JSON with the manual's assembly part and the working script's pulse/sustained behavior. Lamps 1-80 follow the official grid exactly; only 30 and 46 are unused. Original #555, #44, green, and white-LED parts are preserved, ordinary GI is aggregate 0, crane-board LEDs are 86-88, and the display is native 128x32 four-bit DMD. Public solenoid 33 is synthetic fast-flip/game-on, while 51-66 are unused compatibility capacity.
manual.stern-batman-the-dark-knight.2008: official 207-page manual SHA-256 c09621893c439a966d2c48436b482fdf6326bc99ed5acd45a5634d5ae39c3219, organized under the external manual cache with native-text extraction and rendered grid review.vpx.batman-the-dark-knight-pro-1.16: exact working script SHA-256 1c6bc48c74e7bb8e48293152ee226318a9a8dce230bd6b63554f9c92075dbff0.rom.stern-batman-the-dark-knight.bdk-294: exact archive SHA-256 b82a4b996c6561b273a7eda6bcf2a540cb67b3b8947bf439b8e9a8928ace3f49; ROM bytes remain external.runtime.batman-the-dark-knight-pro.boot-start: exact boot/start trace SHA-256 e54ff7c90c52a3305e10961f5e5833a20506e04f373b58d955f47a40b8780bb4.Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| bdk_294 | Batman: The Dark Knight (V2.94) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2010 | — | identical |
| bdk_290 | Batman: The Dark Knight (V2.9) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2010 | bdk_294 | identical |
| bdk_240 | Batman: The Dark Knight (V2.4) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2009 | bdk_294 | identical |
| bdk_220 | Batman: The Dark Knight (V2.2) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2008 | bdk_294 | identical |
| bdk_210 | Batman: The Dark Knight (V2.1) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2008 | bdk_294 | identical |
| bdk_200 | Batman: The Dark Knight (V2.0) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2008 | bdk_294 | identical |
| bdk_160 | Batman: The Dark Knight (V1.6) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2008 | bdk_294 | identical |
| bdk_150 | Batman: The Dark Knight (V1.5) Firmware revision for the 2008 Pro/commercial physical product. V2.40-V2.94 change Scarecrow multiball and mechanism calibration in software without changing the installed I/O inventory. | 2008 | bdk_294 | identical |
Parent set: bdk_294 — clones share this definition unless a hardware difference is noted.
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.stern-batman-the-dark-knight.2008
Official 207-page operation and parts manual. PDF pages 6, 8, and 10 are the complete Pro switch, lamp, and Q1-Q32 grids; pages 85-96 document the two Scarecrow crane assembly variants; the game-specific diagnostics describe Joker and crane motor tests. For the Home definition it is used only for the shared SAM connector topology and retained crane-board context, never for Home semantic addresses or omitted Pro mechanisms.
pinmame.core.4ec52ff0ac13
src/wpc/sam.c Batman INITGAME/driver family, SAM_GAME_3LEDS_BSTB, public switch translation, 128x32 DMD, bdk_294 fast-flip mapping, missing bdk_300 fast-flip mapping, and prefix-wide output typing that incorrectly applies Pro unused lamps 30/46 to Home V3.00.
pinmame.catalog.4ec52ff0ac13
PinmameGetGames bdk_ driver records and clone graph; source comments identify bdk_294 as Pro and bdk_300 as Standard/Home/Costco.
vpx.batman-the-dark-knight-pro-1.16
Known-working exact bdk_294 script. Lines 166-206 establish four-ball initial state and Joker/crane cvpmMech configuration; lines 239-883 establish ball devices, Batmobile bridge/crash causality, targets, routes, and pulse/sustained switch behavior. It is semantic ground truth for Pro. Home uses it only as an explicitly comparative reference for the retained six-position crane pattern.
rom.stern-batman-the-dark-knight.bdk-294
Read-only user-authorized archive. BDK_V2-94_E.BIN SHA-256 2c003b71212e91b965f314509ff507ad5aa0459f8117228f511c03efd67e3b2b; BATreadme.txt SHA-256 b7965b5528d92bc3f76289e58d7d7f4b180119b309f5936bd98f4bbef6901215 documents Batmobile ramp, Scarecrow crane calibration, Joker motor, and two/three-ball Scarecrow multiball revision changes.
ipdb.batman-the-dark-knight.5307
IPDB 5307 physical identity, 2008 release, playfield feature inventory, photos, and mechanism descriptions for the commercial machine.
runtime.batman-the-dark-knight-pro.boot-start
Exact bdk_294 boot/start run initialized with trough 18-21, Joker home 50, crane home 61, six coins, and start 16; observes 128x32x4 DMD, GI 0, synthetic game-on 33, and lamp activity.
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.
Batman: The Dark Knight shipped in 2 editions with different playfields. Compare what each one actually has before building against this definition.