4-ball trough
mechanism.trough
The 4-ball physical trough uses position sensors 18-21 and jam sensor 22. The working script initializes 4 balls and output 1 ejects from the right end.
Stern2012SAMstern.avengers-pro.2012 1 of 2 editions
4 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.
170 placements · 16 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 playfield32 unused, 26 cabinet or service, 8 dip switch, 3 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 | switch.pendulum-tilt | cabinet.tilt | validated | |
| -6 | Slam tiltNC Tilt | switch.slam-tilt | cabinet.slam-tilt | validated | |
| -5 | Ticket notchopt Microswitch | switch.ticket-notch | cabinet.ticket-notch | validated | |
| -4 | Unused dedicated switch D20 | switch.unused-dedicated-switch-d20 | validated | ||
| -3 | Coin-door Back button Button | switch.coin-door-back-button | service.back | validated | |
| -2 | Coin-door Minus button Button | switch.coin-door-minus-button | service.down | validated | |
| -1 | Coin-door Plus button Button | switch.coin-door-plus-button | service.up | validated | |
| 0 | Coin-door Select button Button | switch.coin-door-select-button | service.enter | validated | |
| 1 | (T)HOR target Microswitch | switch.t-hor-target | J1-P1GRN-BRN J6-P9WHT-BRN CPU/Sound board | validated | |
| 2 | T(H)OR target Microswitch | switch.t-h-or-target | J1-P1GRN-BRN J6-P8WHT-RED CPU/Sound board | validated | |
| 3 | TH(O)R target Microswitch | switch.th-o-r-target | J1-P1GRN-BRN J6-P7WHT-ORG CPU/Sound board | validated | |
| 4 | THO(R) target Microswitch | switch.tho-r-target | J1-P1GRN-BRN J6-P6WHT-YEL CPU/Sound board | validated | |
| 5 | Unused matrix switch 5 | switch.unused-matrix-switch-5 | J1-P1GRN-BRN J6-P5WHT-GRN CPU/Sound board | validated | |
| 6 | Unused matrix switch 6 | switch.unused-matrix-switch-6 | J1-P1GRN-BRN J6-P3WHT-BLU CPU/Sound board | validated | |
| 7 | Tesseract standup #1 Microswitch | switch.tesseract-standup-1 | J1-P1GRN-BRN J6-P2WHT-VIO CPU/Sound board | validated | |
| 8 | Unused matrix switch 8 | switch.unused-matrix-switch-8 | J1-P1GRN-BRN J6-P1WHT-GRY CPU/Sound board | validated | |
| 9 | Unused matrix switch 9 | switch.unused-matrix-switch-9 | J1-P1GRN-BRN J12-P9TAN-BLK CPU/Sound board | validated | |
| 10 | Left top lane Microswitch | switch.left-top-lane | J1-P1GRN-BRN J12-P8TAN-RED CPU/Sound board | validated | |
| 11 | Center top lane Microswitch | switch.center-top-lane | J1-P1GRN-BRN J12-P7TAN-ORG CPU/Sound board | validated | |
| 12 | Right top lane Microswitch | switch.right-top-lane | J1-P1GRN-BRN J12-P6TAN-YEL CPU/Sound board | validated | |
| 13 | Tesseract standup #3 Microswitch | switch.tesseract-standup-3 | J1-P1GRN-BRN J12-P4TAN-GRN CPU/Sound board | validated | |
| 14 | Tesseract standup #2 Microswitch | switch.tesseract-standup-2 | J1-P1GRN-BRN J12-P3TAN-BLU CPU/Sound board | validated | |
| 15 | Tournament start Button | switch.tournament-start | cabinet.tournament-start | J1-P1GRN-BRN J12-P2TAN-VIO CPU/Sound board | validated |
| 16 | Start Button | switch.start | cabinet.start | J1-P1GRN-BRN J12-P1TAN-WHT CPU/Sound board | validated |
| 17 | Unused matrix switch 17 | switch.unused-matrix-switch-17 | J1-P3GRN-RED J6-P9WHT-BRN CPU/Sound board | validated | |
| 18 | Trough #4 left Microswitch | switch.trough-4-left | ball.position | J1-P3GRN-RED J6-P8WHT-RED CPU/Sound board | validated |
| 19 | Trough #3 Microswitch | switch.trough-3 | ball.position | J1-P3GRN-RED J6-P7WHT-ORG CPU/Sound board | validated |
| 20 | Trough #2 Microswitch | switch.trough-2 | ball.position | J1-P3GRN-RED J6-P6WHT-YEL CPU/Sound board | validated |
| 21 | Trough #1 right Microswitch | switch.trough-1-right | ball.position | J1-P3GRN-RED J6-P5WHT-GRN CPU/Sound board | validated |
| 22 | Trough jam Microswitch | switch.trough-jam | ball.jam | J1-P3GRN-RED J6-P3WHT-BLU CPU/Sound board | validated |
| 23 | Shooter lane Microswitch | switch.shooter-lane | J1-P3GRN-RED J6-P2WHT-VIO CPU/Sound board | validated | |
| 24 | Left outlane Microswitch | switch.left-outlane | J1-P3GRN-RED J6-P1WHT-GRY CPU/Sound board | validated | |
| 25 | Left return lane Microswitch | switch.left-return-lane | J1-P3GRN-RED J12-P9TAN-BLK CPU/Sound board | validated | |
| 26 | Left slingshot Leaf | switch.left-slingshot | J1-P3GRN-RED J12-P8TAN-RED CPU/Sound board | validated | |
| 27 | Right slingshot Leaf | switch.right-slingshot | J1-P3GRN-RED J12-P7TAN-ORG CPU/Sound board | validated | |
| 28 | Right return lane Microswitch | switch.right-return-lane | J1-P3GRN-RED J12-P6TAN-YEL CPU/Sound board | validated | |
| 29 | Right outlane Microswitch | switch.right-outlane | J1-P3GRN-RED J12-P4TAN-GRN CPU/Sound board | validated | |
| 30 | Left pop bumper Leaf | switch.left-pop-bumper | J1-P3GRN-RED J12-P3TAN-BLU CPU/Sound board | validated | |
| 31 | Right pop bumper Leaf | switch.right-pop-bumper | J1-P3GRN-RED J12-P2TAN-VIO CPU/Sound board | validated | |
| 32 | Bottom pop bumper Leaf | switch.bottom-pop-bumper | J1-P3GRN-RED J12-P1TAN-WHT CPU/Sound board | validated | |
| 33 | Left inner loop Microswitch | switch.left-inner-loop | J1-P4GRN-ORG J6-P9WHT-BRN CPU/Sound board | validated | |
| 34 | Shield target Microswitch | switch.shield-target | J1-P4GRN-ORG J6-P8WHT-RED CPU/Sound board | validated | |
| 35 | Right 2-bank target top Microswitch | switch.right-2-bank-target-top | J1-P4GRN-ORG J6-P7WHT-ORG CPU/Sound board | validated | |
| 36 | Right 2-bank target bottom Microswitch | switch.right-2-bank-target-bottom | J1-P4GRN-ORG J6-P6WHT-YEL CPU/Sound board | validated | |
| 37 | Unused matrix switch 37 | switch.unused-matrix-switch-37 | J1-P4GRN-ORG J6-P5WHT-GRN CPU/Sound board | validated | |
| 38 | Unused matrix switch 38 | switch.unused-matrix-switch-38 | J1-P4GRN-ORG J6-P3WHT-BLU CPU/Sound board | validated | |
| 39 | Unused matrix switch 39 | switch.unused-matrix-switch-39 | J1-P4GRN-ORG J6-P2WHT-VIO CPU/Sound board | validated | |
| 40 | Unused matrix switch 40 | switch.unused-matrix-switch-40 | J1-P4GRN-ORG J6-P1WHT-GRY CPU/Sound board | validated | |
| 41 | Hulk wheel opto #1 Opto | switch.hulk-wheel-opto-1 | J1-P4GRN-ORG J12-P9TAN-BLK CPU/Sound board | validated | |
| 42 | Hulk wheel opto #2 Opto | switch.hulk-wheel-opto-2 | J1-P4GRN-ORG J12-P8TAN-RED CPU/Sound board | validated | |
| 43 | Left ramp exit Microswitch | switch.left-ramp-exit | J1-P4GRN-ORG J12-P7TAN-ORG CPU/Sound board | validated | |
| 44 | Center spinner Other | switch.center-spinner | J1-P4GRN-ORG J12-P6TAN-YEL CPU/Sound board | validated | |
| 45 | Tesseract wheel #1 Opto | switch.tesseract-wheel-1 | J1-P4GRN-ORG J12-P4TAN-GRN CPU/Sound board | validated | |
| 46 | Tesseract wheel #2 Opto | switch.tesseract-wheel-2 | J1-P4GRN-ORG J12-P3TAN-BLU CPU/Sound board | validated | |
| 47 | Left orbit Microswitch | switch.left-orbit | J1-P4GRN-ORG J12-P2TAN-VIO CPU/Sound board | validated | |
| 48 | Right ramp exit Microswitch | switch.right-ramp-exit | J1-P4GRN-ORG J12-P1TAN-WHT CPU/Sound board | validated | |
| 49 | Loki lock 1 bottomNC Opto | switch.loki-lock-1-bottom | J1-P5GRN-YEL J6-P9WHT-BRN CPU/Sound board | validated | |
| 50 | Loki lock 2NC Opto | switch.loki-lock-2 | J1-P5GRN-YEL J6-P8WHT-RED CPU/Sound board | validated | |
| 51 | Loki lock 3NC Opto | switch.loki-lock-3 | J1-P5GRN-YEL J6-P7WHT-ORG CPU/Sound board | validated | |
| 52 | (H)ULK drop target Microswitch | switch.h-ulk-drop-target | J1-P5GRN-YEL J6-P6WHT-YEL CPU/Sound board | validated | |
| 53 | H(U)LK drop target Microswitch | switch.h-u-lk-drop-target | J1-P5GRN-YEL J6-P5WHT-GRN CPU/Sound board | validated | |
| 54 | HU(L)K drop target Microswitch | switch.hu-l-k-drop-target | J1-P5GRN-YEL J6-P3WHT-BLU CPU/Sound board | validated | |
| 55 | HUL(K) drop target Microswitch | switch.hul-k-drop-target | J1-P5GRN-YEL J6-P2WHT-VIO CPU/Sound board | validated | |
| 56 | Unused matrix switch 56 | switch.unused-matrix-switch-56 | J1-P5GRN-YEL J6-P1WHT-GRY CPU/Sound board | validated | |
| 57 | Hulk platter Microswitch | switch.hulk-platter | J1-P5GRN-YEL J12-P9TAN-BLK CPU/Sound board | validated | |
| 58 | Unused matrix switch 58 | switch.unused-matrix-switch-58 | J1-P5GRN-YEL J12-P8TAN-RED CPU/Sound board | validated | |
| 59 | Unused matrix switch 59 | switch.unused-matrix-switch-59 | J1-P5GRN-YEL J12-P7TAN-ORG CPU/Sound board | validated | |
| 60 | Unused matrix switch 60 | switch.unused-matrix-switch-60 | J1-P5GRN-YEL J12-P6TAN-YEL CPU/Sound board | validated | |
| 61 | Right orbit Microswitch | switch.right-orbit | J1-P5GRN-YEL J12-P4TAN-GRN CPU/Sound board | validated | |
| 62 | Hulk eject Microswitch | switch.hulk-eject | J1-P5GRN-YEL J12-P3TAN-BLU CPU/Sound board | validated | |
| 63 | Hulk target Microswitch | switch.hulk-target | J1-P5GRN-YEL J12-P2TAN-VIO CPU/Sound board | validated | |
| 64 | Unused matrix switch 64 | switch.unused-matrix-switch-64 | J1-P5GRN-YEL J12-P1TAN-WHT CPU/Sound board | validated | |
| 65 | Left coin chute Button | switch.left-coin-chute | cabinet.coin.left | validated | |
| 66 | Center coin chute Button | switch.center-coin-chute | cabinet.coin.center | validated | |
| 67 | Right coin chute Button | switch.right-coin-chute | cabinet.coin.right | validated | |
| 68 | Fourth coin chute Button | switch.fourth-coin-chute | cabinet.coin.fourth | validated | |
| 69 | Fifth coin chuteopt Button | switch.fifth-coin-chute | cabinet.coin.fifth | validated | |
| 70 | Unused dedicated switch D6 | switch.unused-dedicated-switch-d6 | validated | ||
| 71 | Unused dedicated switch D7 | switch.unused-dedicated-switch-d7 | validated | ||
| 72 | Unused dedicated switch D8 | switch.unused-dedicated-switch-d8 | validated | ||
| 81 | Right flipper end-of-strokeNC Leaf | switch.right-flipper-end-of-stroke | validated | ||
| 82 | Right flipper button Button | switch.right-flipper-button | cabinet.flipper.right-button | validated | |
| 83 | Left flipper end-of-strokeNC Leaf | switch.left-flipper-end-of-stroke | validated | ||
| 84 | Left flipper button Button | switch.left-flipper-button | cabinet.flipper.left-button | validated | |
| 85 | Unused dedicated switch D16 | switch.unused-dedicated-switch-d16 | validated | ||
| 86 | Unused dedicated switch D15 | switch.unused-dedicated-switch-d15 | validated | ||
| 87 | Unused dedicated switch D14 | switch.unused-dedicated-switch-d14 | validated | ||
| 88 | Unused dedicated switch D13 | switch.unused-dedicated-switch-d13 | validated |
Everything the ROM can energise, grouped the way a table author builds it.
| # | Name | Device ID | Kind | Role | Wiring | Evidence |
|---|---|---|---|---|---|---|
| 1 | Trough up-kicker | device.trough-up-kicker | Coil | Q1BRN-BLK I/O Power Driver board | validated | |
| 2 | Auto launch | device.auto-launch | Coil | Q2BRN-RED I/O Power Driver board | validated | |
| 3 | Hulk counterclockwise | device.hulk-counterclockwise | Motor | Q3BRN-ORG I/O Power Driver board | validated | |
| 4 | Hulk clockwise | device.hulk-clockwise | Motor | Q4BRN-YEL I/O Power Driver board | validated | |
| 5 | Hulk eject | device.hulk-eject | Coil | Q5BRN-GRN I/O Power Driver board | validated | |
| 6 | Center 4-bank drop reset | device.center-4-bank-drop-reset | Coil | Q6BRN-BLU I/O Power Driver board | validated | |
| 7 | Left orbit control gate | device.left-orbit-control-gate | Coil | Q7BRN-VIO I/O Power Driver board | validated | |
| 8 | Shaker motoropt | device.shaker-motor | Motor | cabinet.shaker | Q8BRN-GRY I/O Power Driver board | validated |
| 9 | Left pop bumper | device.left-pop-bumper | Coil | Q9BLU-BRN I/O Power Driver board | validated | |
| 10 | Right pop bumper | device.right-pop-bumper | Coil | Q10BLU-RED I/O Power Driver board | validated | |
| 11 | Bottom pop bumper | device.bottom-pop-bumper | Coil | Q11BLU-ORG I/O Power Driver board | validated | |
| 12 | Left ramp control gate | device.left-ramp-control-gate | Coil | Q12BLU-YEL I/O Power Driver board | validated | |
| 13 | Left slingshot | device.left-slingshot | Coil | Q13BLU-GRN I/O Power Driver board | validated | |
| 14 | Right slingshot | device.right-slingshot | Coil | Q14BLU-BLU I/O Power Driver board | validated | |
| 15 | Left flipper | device.left-flipper | Coil | Q15ORG-GRY I/O Power Driver board | validated | |
| 16 | Right flipper | device.right-flipper | Coil | Q16ORG-VIO I/O Power Driver board | validated | |
| 17 | Hulk arms | device.hulk-arms | Motor | Q17VIO-BRN I/O Power Driver board | validated | |
| 22 | Loki lockup | device.loki-lockup | Coil | Q22VIO-BLU I/O Power Driver board | validated | |
| 23 | Hulk magnet | device.hulk-magnet | Magnet | Q23VIO-BLK I/O Power Driver board | validated | |
| 24 | Coin meteropt | device.coin-meter | Coil | cabinet.coin-meter | Q24VIO-GRY I/O Power Driver board | validated |
| # | Name | Device ID | Role | Wiring | Evidence |
|---|---|---|---|---|---|
| 18 | Left-side flasher | device.left-side-flasher | Q18VIO-RED I/O Power Driver board | validated | |
| 19 | Right-side flasher | device.right-side-flasher | Q19VIO-ORG I/O Power Driver board | validated | |
| 20 | Slingshot flashers | device.slingshot-flashers | Q20VIO-WHT I/O Power Driver board | validated | |
| 21 | Hulk flasher | device.hulk-flasher | Q21VIO-GRN I/O Power Driver board | validated | |
| 25 | Pop-bumper flasher | device.pop-bumper-flasher | Q25BLK-BRN I/O Power Driver board | validated | |
| 26 | Tesseract flasher | device.tesseract-flasher | Q26BLK-RED I/O Power Driver board | validated | |
| 27 | Backpanel left flasher | device.backpanel-left-flasher | cabinet.rear-panel | Q27BLK-ORG I/O Power Driver board | validated |
| 28 | Backpanel flasher #2 | device.backpanel-flasher-2 | cabinet.rear-panel | Q28BLK-YEL I/O Power Driver board | validated |
| 29 | Backpanel flasher #3 | device.backpanel-flasher-3 | cabinet.rear-panel | Q29BLK-GRN I/O Power Driver board | validated |
| 30 | Backpanel flasher #4 | device.backpanel-flasher-4 | cabinet.rear-panel | Q30BLK-BLU I/O Power Driver board | validated |
| 31 | Backpanel flasher #5 | device.backpanel-flasher-5 | cabinet.rear-panel | Q31BLK-VIO I/O Power Driver board | validated |
| 32 | Backpanel right flasher | device.backpanel-right-flasher | cabinet.rear-panel | Q32BLK-GRY I/O Power Driver board | validated |
Sequential addresses, grouped in columns of eight.
| # | Name | Device ID | Role | Wiring | Evidence |
|---|---|---|---|---|---|
| 1 | Start button | lamp.start-button | cabinet.start | I/O Power Driver board | validated |
| 2 | Tournament start | lamp.tournament-start | cabinet.tournament-start | I/O Power Driver board | validated |
| 3 | Shoot again | lamp.shoot-again | I/O Power Driver board | validated | |
| 4 | Right outlane | lamp.right-outlane | I/O Power Driver board | validated | |
| 5 | Right return lane | lamp.right-return-lane | I/O Power Driver board | validated | |
| 6 | Left return lane | lamp.left-return-lane | I/O Power Driver board | validated | |
| 7 | Left outlane | lamp.left-outlane | I/O Power Driver board | validated | |
| 8 | Captain America | lamp.captain-america | I/O Power Driver board | validated | |
| 9 | Thor | lamp.thor | I/O Power Driver board | validated | |
| 10 | Hawkeye | lamp.hawkeye | I/O Power Driver board | validated | |
| 11 | Hulk | lamp.hulk | I/O Power Driver board | validated | |
| 12 | Black Widow | lamp.black-widow | I/O Power Driver board | validated | |
| 13 | Iron Man | lamp.iron-man | I/O Power Driver board | validated | |
| 14 | (T)HOR | lamp.t-hor | I/O Power Driver board | validated | |
| 15 | T(H)OR | lamp.t-h-or | I/O Power Driver board | validated | |
| 16 | TH(O)R | lamp.th-o-r | I/O Power Driver board | validated | |
| 17 | THO(R) | lamp.tho-r | I/O Power Driver board | validated | |
| 18 | Hawkeye #1 bottom | lamp.hawkeye-1-bottom | I/O Power Driver board | validated | |
| 19 | Hawkeye #2 | lamp.hawkeye-2 | I/O Power Driver board | validated | |
| 20 | Hawkeye #3 | lamp.hawkeye-3 | I/O Power Driver board | validated | |
| 21 | Hawkeye #4 | lamp.hawkeye-4 | I/O Power Driver board | validated | |
| 22 | Left orbit purple | lamp.left-orbit-purple | I/O Power Driver board | validated | |
| 23 | Tesseract standup | lamp.tesseract-standup | I/O Power Driver board | validated | |
| 24 | Captain America #1 bottom | lamp.captain-america-1-bottom | I/O Power Driver board | validated | |
| 25 | Captain America #2 | lamp.captain-america-2 | I/O Power Driver board | validated | |
| 26 | Captain America #3 | lamp.captain-america-3 | I/O Power Driver board | validated | |
| 27 | Captain America #4 | lamp.captain-america-4 | I/O Power Driver board | validated | |
| 28 | Left inner loop red | lamp.left-inner-loop-red | I/O Power Driver board | validated | |
| 29 | Special | lamp.special | I/O Power Driver board | validated | |
| 30 | Hulk target arrow | lamp.hulk-target-arrow | I/O Power Driver board | validated | |
| 31 | Black Widow #1 bottom | lamp.black-widow-1-bottom | I/O Power Driver board | validated | |
| 32 | Black Widow #2 | lamp.black-widow-2 | I/O Power Driver board | validated | |
| 33 | Black Widow #3 | lamp.black-widow-3 | I/O Power Driver board | validated | |
| 34 | Black Widow #4 | lamp.black-widow-4 | I/O Power Driver board | validated | |
| 35 | Left ramp red | lamp.left-ramp-red | I/O Power Driver board | validated | |
| 36 | Left ramp green | lamp.left-ramp-green | I/O Power Driver board | validated | |
| 37 | Right 2-bank target top | lamp.right-2-bank-target-top | I/O Power Driver board | validated | |
| 38 | Right 2-bank target bottom | lamp.right-2-bank-target-bottom | I/O Power Driver board | validated | |
| 39 | Hulk eject green | lamp.hulk-eject-green | I/O Power Driver board | validated | |
| 40 | Unused lamp 40 | lamp.unused-40 | I/O Power Driver board | validated | |
| 41 | (C)OSMIC | lamp.c-osmic | I/O Power Driver board | validated | |
| 42 | C(O)SMIC | lamp.c-o-smic | I/O Power Driver board | validated | |
| 43 | CO(S)MIC | lamp.co-s-mic | I/O Power Driver board | validated | |
| 44 | COS(M)IC | lamp.cos-m-ic | I/O Power Driver board | validated | |
| 45 | COSM(I)C | lamp.cosm-i-c | I/O Power Driver board | validated | |
| 46 | COSMI(C) | lamp.cosmi-c | I/O Power Driver board | validated | |
| 47 | (H)ULK | lamp.h-ulk | I/O Power Driver board | validated | |
| 48 | H(U)LK | lamp.h-u-lk | I/O Power Driver board | validated | |
| 49 | HU(L)K | lamp.hu-l-k | I/O Power Driver board | validated | |
| 50 | HUL(K) | lamp.hul-k | I/O Power Driver board | validated | |
| 51 | Tesseract standup left | lamp.tesseract-standup-left | I/O Power Driver board | validated | |
| 52 | Tesseract standup right | lamp.tesseract-standup-right | I/O Power Driver board | validated | |
| 53 | Right orbit red | lamp.right-orbit-red | I/O Power Driver board | validated | |
| 54 | Iron Man #4 | lamp.iron-man-4 | I/O Power Driver board | validated | |
| 55 | Iron Man #3 | lamp.iron-man-3 | I/O Power Driver board | validated | |
| 56 | Unused lamp 56 | lamp.unused-56 | I/O Power Driver board | validated | |
| 57 | Iron Man #1 bottom | lamp.iron-man-1-bottom | I/O Power Driver board | validated | |
| 58 | Shield Agent | lamp.shield-agent | I/O Power Driver board | validated | |
| 59 | Unused lamp 59 | lamp.unused-59 | I/O Power Driver board | validated | |
| 60 | Left pop bumper | lamp.left-pop-bumper | I/O Power Driver board | validated | |
| 61 | Right pop bumper | lamp.right-pop-bumper | I/O Power Driver board | validated | |
| 62 | Bottom pop bumper | lamp.bottom-pop-bumper | I/O Power Driver board | validated | |
| 63 | Top lane Hulk | lamp.top-lane-hulk | I/O Power Driver board | validated | |
| 64 | Unused lamp 64 | lamp.unused-64 | I/O Power Driver board | validated | |
| 65 | Top lane Captain America | lamp.top-lane-captain-america | I/O Power Driver board | validated | |
| 66 | Top lane Hawkeye | lamp.top-lane-hawkeye | I/O Power Driver board | validated | |
| 67 | Top lane Thor | lamp.top-lane-thor | I/O Power Driver board | validated | |
| 68 | Top lane Black Widow | lamp.top-lane-black-widow | I/O Power Driver board | validated | |
| 69 | Extra ball | lamp.extra-ball | I/O Power Driver board | validated | |
| 70 | Top lane Iron Man | lamp.top-lane-iron-man | I/O Power Driver board | validated | |
| 71 | Lock 1 | lamp.lock-1 | I/O Power Driver board | validated | |
| 72 | Unused lamp 72 | lamp.unused-72 | I/O Power Driver board | validated | |
| 73 | Lock 2 | lamp.lock-2 | I/O Power Driver board | validated | |
| 74 | Unused lamp 74 | lamp.unused-74 | I/O Power Driver board | validated | |
| 75 | Lock 3 | lamp.lock-3 | I/O Power Driver board | validated | |
| 76 | Unused lamp 76 | lamp.unused-76 | I/O Power Driver board | validated | |
| 77 | Unused lamp 77 | lamp.unused-77 | I/O Power Driver board | validated | |
| 78 | Iron Man #2 | lamp.iron-man-2 | I/O Power Driver board | validated | |
| 79 | Unused lamp 79 | lamp.unused-79 | I/O Power Driver board | validated | |
| 80 | Unused lamp 80 | lamp.unused-80 | I/O Power Driver board | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 0 | General illumination | gi.general-illumination | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 33 | PinMAME SAM game-on state | virtual.game-on | validated |
| 53 | Unpopulated LE left-ramp gate channel | virtual.unpopulated-le-channel-53 | validated |
| 54 | Unpopulated LE Hulk-magnet channel | virtual.unpopulated-le-channel-54 | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 1 | CPU/Sound board DIP switch 1 Dip | switch.dip-1 | validated |
| 2 | CPU/Sound board DIP switch 2 Dip | switch.dip-2 | validated |
| 3 | CPU/Sound board DIP switch 3 Dip | switch.dip-3 | validated |
| 4 | CPU/Sound board DIP switch 4 Dip | switch.dip-4 | validated |
| 5 | CPU/Sound board DIP switch 5 Dip | switch.dip-5 | validated |
| 6 | CPU/Sound board DIP switch 6 Dip | switch.dip-6 | validated |
| 7 | CPU/Sound board DIP switch 7 Dip | switch.dip-7 | validated |
| 8 | CPU/Sound board DIP switch 8 Dip | switch.dip-8 | validated |
Logical assemblies with their actuators, sensors and observed behaviour. Click a chip to jump to the address it refers to.
mechanism.trough
The 4-ball physical trough uses position sensors 18-21 and jam sensor 22. The working script initializes 4 balls and output 1 ejects from the right end.
mechanism.auto-launcher
Output 2 fires a ball at matrix switch 23. The working script uses a 0.6-second impulse and power 55 with 0.5 randomness as a proven baseline.
mechanism.hulk-eject
A ball rests on switch 62 until output 5 ejects it. The working script uses angle 25, force 20, and route variance.
mechanism.hulk-drop-bank
Switches 52-55 stay down independently. main output 6 resets all four targets.
mechanism.hulk-turntable
Outputs 3 and 4 drive opposite Hulk rotation directions. Wheel optos 41 and 42 report indexed motion; stop each drive at the intended sensed position and never energize both directions together.
mechanism.hulk-arms
Main output 17 through the step-up driver board raises the Hulk arms while active and lowers them when released. The table animation moves from roughly 130 to 200 degrees in two-degree timer steps.
mechanism.hulk-magnet
Switch 57 reports a ball on the Hulk platter. Main output 23 through the step-up driver board energizes the magnet; the working table uses radius 16 and centers the captured ball.
mechanism.loki-lock
Three active-low optos are initialized high when empty and fall low as balls occupy positions bottom-to-top. Output 22 through the step-up driver board drops the retaining post/releases locked balls.
mechanism.tesseract-spinner
The playfield ball physically spins the Tesseract; it has no controller motor. Opposed optos 45 and 46 pulse as the inertial wheel crosses their positions. Preserve free rotation, collision-derived angular velocity, and gradual drag.
mechanism.standard-pops
Left, right, and bottom pop switches 30-32 directly correspond to outputs 9-11; the shared pop flasher is output 25.
mechanism.standard-slings
Slingshot switches 26/27 drive outputs 13/14 and share flasher output 20.
mechanism.flippers
The two lower flippers use outputs 15/16, dedicated cabinet buttons D9/D11, and normally-closed EOS contacts D10/D12. Preserve SAM fast-flip behavior.
mechanism.thor-target-bank
The Pro uses four independently sensed THOR targets at switches 1-4. Unlike LE, the Pro manual and working script provide no THOR reset actuator; do not copy the LE drop-bank output into this machine.
mechanism.control-gates
Output 7 opens the left orbit gate and output 12 raises the left ramp control gate. Both return closed when their drive releases. The Pro has no LE eight-transistor gate outputs.
Working knowledge that has no schema field yet — edition differences, tuning values, pitfalls.
This definition covers avs_110, avs_140, avs_170, and avs_170c; the colored ROM changes display presentation only. The known-working VPW-derived Pro table uses avs_170c and its callbacks match the model-specific Pro manual: it is ground truth for PinMAME addresses, initial state, ball routing, and mechanism causality. The Pro manual governs physical inventory, service numbering, wiring, assemblies, and edition differences. The exact-ROM harness separately confirms the 128x32 four-bit DMD, GI 0, and conventional lamp activity.
The Pro has four balls at switches 18-21 plus jam switch 22. The working table initializes 21, 20, 19, and 18 and output 1 ejects from the right end. Unlike LE, the shooter lane is matrix switch 23; dedicated D15/public 86 is unused. Output 2 drives the auto launcher with a proven 0.6-second impulse, power 55, and 0.5 randomness.
The Pro has no LE eight-transistor auxiliary board. Its center HULK reset is main output 6, left ramp gate is 12, Hulk arms are 17 through a step-up board, Loki lock is 22 through a step-up board, and Hulk magnet is 23 through a step-up board. The pinned PinMAME root configures eight custom callback slots for the whole Avengers clone family, so a Pro ROM can emit public 51-58 transitions even though those drivers are physically absent. The model-specific manual and working Pro script resolve that emulator-family artifact: do not instantiate 51-58 on the Pro playfield.
The Pro THOR switches 1-4 are passive targets with no reset output; do not copy the LE THOR drop bank. The center HULK drop bank uses switches 52-55 and resets through main output 6. Left orbit is switch 47, right ramp exit is 48, and the Pro right orbit is switch 61 rather than LE switch 58. Output 7 opens the left orbit gate and output 12 raises the left ramp gate.
Outputs 3/4 rotate Hulk in opposite directions with wheel optos 41/42. Output 17 lifts the arms. Switch 57 detects the Hulk plate and output 23 energizes its radius-16 centering magnet. Switch 62 holds the eject ball until output 5 kicks it at the proven angle 25 and force 20. The active-low Loki optos 49-51 initialize high when empty and output 22 drops the retaining post. The Tesseract is passive and inertial: ball impact drives rotation, optos 45/46 report it, and there is no motor output.
All 80 matrix addresses are present, with unused 40, 56, 59, 64, 72, 74, 76, 77, 79, and 80 explicit. This matrix is substantially different from LE and must not be shared by number. GI is address 0. Three pops use switches 30-32/outputs 9-11, slings use 26/27 and 13/14, and the lower flippers use outputs 15/16 with dedicated buttons and normally-closed EOS contacts.
All located records use the exact plain Pro table's 952 by 2115 player-view frame: x=0 is left, x=1 is right, y=0 is the rear/backglass end, and y=1 is the apron. The working Pro script establishes causality and semantic addresses; the official Pro manual establishes physical inventory and multiplicity; the exact table is used only for reconciled geometry. Cabinet, service, backpanel, virtual, unused, DIP, and other off-playfield records are explicit N/A dispositions with no fabricated XY. Paired GI render layers and unrelated VPX bloom/render helpers are collapsed or excluded; lock lamps 71/73/75 retain the three dedicated on-playfield L71/L73/L75 bulb-cover primitive centers rather than the unrelated Q18 S118a helper or off-playfield glow planes.
The official maps override two explicitly recorded VPX anomalies. First, the physical switch/coil maps put 30/Q9 left, 31/Q10 right, and 32/Q11 bottom; the exact table's Bumper1 at x=.678933 is scripted to sw31 and Bumper2 at x=.880455 to sw30. The controller bindings stay as scripted, but the physical XY assignments follow the manual. Second, the official coil-test map puts Q18 left flasher at y≈.43, Q12 left ramp gate at y≈.47, and Q19 right flasher at y≈.49. The archive's named S118p/S118a, RampControlGate, and S119a/S119b objects instead land at y=.182622/.264379/.355755. Adjacent mapped assemblies reconcile, so these three isolated vertical VPX placements are rejected; the manual-map approximate anchors are retained without inventing sub-map precision.
The Pro topology remains four trough balls on 18-21 plus jam 22, matrix shooter 23, center HULK reset 6, ramp gate 12, Hulk arms 17, Loki 22, magnet 23, and right orbit 61. No LE bridge, auxiliary board, six-ball trough, or LE-only mechanism is introduced.
Q21 is a manual-map assembly projection at about (0.374,0.252) on Hulk, between the Q17/Q3-Q4 and Q23/Q6 callouts on manual page 15. The VPX S121/S121a centroid at (0.663449,0.238199) is a conflicting render proxy, so it is rejected rather than silently retained; Q21's placement provenance is manual-only.
The four trough sensors and jam sensor are disclosed assembly projections. The exact table's Kicker.Drain and Kicker.BallRelease provide the trough endpoints, Primitive.Apron identifies the apron boundary, and the working script supplies the 18-to-21 physical order and four-ball inventory. Q1 uses the BallRelease assembly anchor. Switches 41/42 use the Hulk assembly anchor and 45/46 use the Tesseract base anchor; these points describe assemblies, not hidden contact leaves.
manual.avengers-pro: official Stern Avengers-Pro-Manual.pdf, SHA-256 fdabec154947bc814d1b172fe68e91ad440780282c759f71668cfe7754f50031; switch chart PDF page 13, coil chart page 16, lamp chart page 19, location maps, and model-specific assembly drawings.vpx-table.avengers-pro-archive-45de3964: exact plain Pro table Avengers (Pro), The (Stern 2012).vpx for ROM avs_170, SHA-256 45de396493ddf562f06baa6950a5b3b46d7803f4aca1ed1df4ad7f45a6a4c5df; bounds 0,0 through 952,2115; read-only extraction and candidate report 03-archive-pro.vpx.avengers-pro.vpw-1-3-1: known-working Pro script at vpxtable_scripts revision 0c036bb61b4b4e8c778c37559f6795df8cd1521e, SHA-256 85ea928246dbdf4b59a73e5237b6d248970770d3146381b06a1620c92cba21e8.runtime.avengers-pro.boot-start: isolated exact avs_170.zip run, raw SHA-256 4fa936ed6307059ef69f17100390a96ef91b9a28a65346d6ca8f45e1823122d6; ROM archive SHA-256 5bf37fe0f4a7a101d941de3659dd29dd9913b01f020d3202d644a86ed8802cc3 remains external.Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| avs_170c | Avengers, The (V1.7) (Colored MOD) Colored-ROM modification only; physical I/O and mechanisms are unchanged. | 2016 | avs_170h | identical |
| avs_170 | Avengers, The (V1.7) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2016 | avs_170h | identical |
| avs_140 | Avengers, The (V1.4) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2013 | avs_170h | identical |
| avs_110 | Avengers, The (V1.1) Firmware revision within this physical edition; playfield I/O and mechanisms are unchanged. | 2012 | avs_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.
manual.avengers-pro
Avengers-Pro-Manual.pdf: PDF pages 13-20 plus model-specific assembly drawings
vpx.avengers-pro.vpw-1-3-1
Avengers (Stern 2012)4k1.3.1.vbs lines 130-388, 609-658, 927-1060, and 1112-1145
runtime.avengers-pro.boot-start
Isolated LibPinMAME boot/start scenario using exact avs_170.zip 5bf37fe0f4a7a101d941de3659dd29dd9913b01f020d3202d644a86ed8802cc3; captures 128x32x4 DMD, GI 0, lamp activity, and public solenoid transitions
pinmame.core.4ec52ff0ac13
src/wpc/sam.c Avengers INITGAME, SAM two-color DMD, and eight-custom-solenoid transport configuration
pinmame.catalog.4ec52ff0ac13
PinmameGetGames Avengers driver family
vpx-table.avengers-pro-archive-45de3964
Avengers (Pro), The (Stern 2012).vpx; ROM avs_170; SHA-256 prefix 45de3964; 81,530,880 bytes; exact playfield bounds 0,0 through 952,2115; read-only extraction/candidate audit in pinmame-review-artifacts/stern.avengers-le/extracted/03-archive-pro and spatial-candidates-03-archive-pro.json
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.
The Avengers shipped in 2 editions with different playfields. Compare what each one actually has before building against this definition.