Three-ball trough
mechanism.ball-trough
The retained BallStack initializes three occupied trough positions. Trough output 32 ejects the front ball at switch 47 through BallRelease toward the manual-plunger lane; balls advance toward switch 47.
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.
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.
118 placements · 6 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 playfield19 virtual, 17 unused, 11 cabinet or service, 9 internal nonvisual, 1 dip switch — declared rather than missing.
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 — dedicated, diagnostic or flipper-column addresses. See the table below.
| # | Name | Device ID | Role | Wiring | Evidence |
|---|---|---|---|---|---|
| -7 | Black Button / Advance | switch.diagnostic-7 | service.diagnostic | validated | |
| -6 | Green Button / Up-Down | switch.diagnostic-6 | service.diagnostic | validated | |
| 1 | Plumb Tilt | switch.matrix-1 | cabinet.tilt | GRN-BRN WHT-BRN CPU Board | validated |
| 2 | Unused Switch 2 | switch.matrix-2 | GRN-BRN WHT-RED CPU Board | validated | |
| 3 | Credits Button | switch.matrix-3 | cabinet.start | GRN-BRN WHT-ORN CPU Board | conflicted |
| 4 | Right Coin | switch.matrix-4 | cabinet.coin | GRN-BRN WHT-YEL CPU Board | validated |
| 5 | Center Coin | switch.matrix-5 | cabinet.coin | GRN-BRN WHT-GRN CPU Board | validated |
| 6 | Left Coin | switch.matrix-6 | cabinet.coin | GRN-BRN WHT-BLU CPU Board | validated |
| 7 | Slam Tilt | switch.matrix-7 | cabinet.slam-tilt | GRN-BRN WHT-VIO CPU Board | validated |
| 8 | Unused Switch 8 | switch.matrix-8 | GRN-BRN WHT-GRY CPU Board | validated | |
| 9 | Shooter Lane | switch.matrix-9 | shooter-lane | GRN-RED WHT-BRN CPU Board | validated |
| 10 | Bullet Target | switch.matrix-10 | GRN-RED WHT-RED CPU Board | validated | |
| 11 | Eater 1 (KGB Hideout) | switch.matrix-11 | eater.ball | GRN-RED WHT-ORN CPU Board | conflicted |
| 12 | Eater 2 (KGB Hideout) | switch.matrix-12 | eater.position-down | GRN-RED WHT-YEL CPU Board | conflicted |
| 13 | Eater Target (KGB Hideout) | switch.matrix-13 | GRN-RED WHT-GRN CPU Board | conflicted | |
| 14 | Target 1 | switch.matrix-14 | GRN-RED WHT-BLU CPU Board | validated | |
| 15 | Target 2 | switch.matrix-15 | GRN-RED WHT-VIO CPU Board | validated | |
| 16 | Target 3 | switch.matrix-16 | GRN-RED WHT-GRY CPU Board | validated | |
| 17 | Right Spinner | switch.matrix-17 | GRN-ORN WHT-BRN CPU Board | validated | |
| 18 | Top 310 Point | switch.matrix-18 | GRN-ORN WHT-RED CPU Board | conflicted | |
| 19 | Top Right Eject | switch.matrix-19 | eject.top-right | GRN-ORN WHT-ORN CPU Board | validated |
| 20 | Red Pop Bumper | switch.matrix-20 | pop-bumper.red | GRN-ORN WHT-YEL CPU Board | validated |
| 21 | Clear Pop Bumper | switch.matrix-21 | pop-bumper.clear | GRN-ORN WHT-GRN CPU Board | validated |
| 22 | Blue Pop Bumper | switch.matrix-22 | pop-bumper.blue | GRN-ORN WHT-BLU CPU Board | validated |
| 23 | S Lane | switch.matrix-23 | GRN-ORN WHT-VIO CPU Board | validated | |
| 24 | P Lane | switch.matrix-24 | GRN-ORN WHT-GRY CPU Board | validated | |
| 25 | Y Lane | switch.matrix-25 | GRN-YEL WHT-BRN CPU Board | conflicted | |
| 26 | Left Spinner | switch.matrix-26 | GRN-YEL WHT-RED CPU Board | validated | |
| 27 | Left 310 Point | switch.matrix-27 | GRN-YEL WHT-ORN CPU Board | conflicted | |
| 28 | Left Slingshot | switch.matrix-28 | slingshot.left | GRN-YEL WHT-YEL CPU Board | conflicted |
| 29 | Right Slingshot | switch.matrix-29 | slingshot.right | GRN-YEL WHT-GRN CPU Board | conflicted |
| 30 | Left Flipper EOS | switch.matrix-30 | flipper.left.eos | GRN-YEL WHT-BLU CPU Board | conflicted |
| 31 | Right Flipper EOS | switch.matrix-31 | flipper.right.eos | GRN-YEL WHT-VIO CPU Board | conflicted |
| 32 | Laser Kickback | switch.matrix-32 | kickback | GRN-YEL WHT-GRY CPU Board | conflicted |
| 33 | Left Return | switch.matrix-33 | GRN-BLK WHT-BRN CPU Board | validated | |
| 34 | Right Return | switch.matrix-34 | GRN-BLK WHT-RED CPU Board | validated | |
| 35 | Right Outlane | switch.matrix-35 | GRN-BLK WHT-ORN CPU Board | validated | |
| 36 | Drop 1 | switch.matrix-36 | drop-bank.position-1 | GRN-BLK WHT-YEL CPU Board | validated |
| 37 | Drop 2 | switch.matrix-37 | drop-bank.position-2 | GRN-BLK WHT-GRN CPU Board | validated |
| 38 | Drop 3 | switch.matrix-38 | drop-bank.position-3 | GRN-BLK WHT-BLU CPU Board | validated |
| 39 | Drop 4 | switch.matrix-39 | drop-bank.position-4 | GRN-BLK WHT-VIO CPU Board | validated |
| 40 | Drop 5 | switch.matrix-40 | drop-bank.position-5 | GRN-BLK WHT-GRY CPU Board | validated |
| 41 | Kickbig 1 (Whitehouse) | switch.matrix-41 | whitehouse.lock-1 | GRN-BLU WHT-BRN CPU Board | conflicted |
| 42 | Kickbig 2 (Whitehouse) | switch.matrix-42 | whitehouse.lock-2 | GRN-BLU WHT-RED CPU Board | conflicted |
| 43 | Top Left Switch (Ramp) | switch.matrix-43 | GRN-BLU WHT-ORN CPU Board | conflicted | |
| 44 | Top Right Switch (Ramp) | switch.matrix-44 | GRN-BLU WHT-YEL CPU Board | conflicted | |
| 45 | 310 Point Behind Drops | switch.matrix-45 | GRN-BLU WHT-GRN CPU Board | conflicted | |
| 46 | Outhole | switch.matrix-46 | outhole | GRN-BLU WHT-BLU CPU Board | validated |
| 47 | Trough 1 | switch.matrix-47 | trough.position-1 | GRN-BLU WHT-VIO CPU Board | validated |
| 48 | Trough 2 | switch.matrix-48 | trough.position-2 | GRN-BLU WHT-GRY CPU Board | validated |
| 49 | Trough 3 | switch.matrix-49 | trough.position-3 | GRN-VIO WHT-BRN CPU Board | validated |
| 50 | Star Rollover | switch.matrix-50 | GRN-VIO WHT-RED CPU Board | validated | |
| 51 | Unused Switch 51 | switch.matrix-51 | GRN-VIO WHT-ORN CPU Board | validated | |
| 52 | Up Post | switch.matrix-52 | up-post.position-down | GRN-VIO WHT-YEL CPU Board | validated |
| 53 | Unused Switch 53 | switch.matrix-53 | GRN-VIO WHT-GRN CPU Board | validated | |
| 54 | Unused Switch 54 | switch.matrix-54 | GRN-VIO WHT-BLU CPU Board | validated | |
| 55 | Unused Switch 55 | switch.matrix-55 | GRN-VIO WHT-VIO CPU Board | validated | |
| 56 | Unused Switch 56 | switch.matrix-56 | GRN-VIO WHT-GRY CPU Board | validated | |
| 57 | Unused Switch 57 | switch.matrix-57 | GRN-GRY WHT-BRN CPU Board | validated | |
| 58 | Unused Switch 58 | switch.matrix-58 | GRN-GRY WHT-RED CPU Board | validated | |
| 59 | Unused Switch 59 | switch.matrix-59 | GRN-GRY WHT-ORN CPU Board | validated | |
| 60 | Unused Switch 60 | switch.matrix-60 | GRN-GRY WHT-YEL CPU Board | validated | |
| 61 | Unused Switch 61 | switch.matrix-61 | GRN-GRY WHT-GRN CPU Board | validated | |
| 62 | Unused Switch 62 | switch.matrix-62 | GRN-GRY WHT-BLU CPU Board | validated | |
| 63 | Unused Switch 63 | switch.matrix-63 | GRN-GRY WHT-VIO CPU Board | validated | |
| 64 | Unused Switch 64 | switch.matrix-64 | GRN-GRY WHT-GRY CPU Board | validated |
Everything the ROM can energise, grouped the way a table author builds it.
| # | Name | Device ID | Kind | Wiring | Evidence |
|---|---|---|---|---|---|
| 10 | Left/Right Coil Relay | coil.driver-10 | Relay | Q29 CPU Board / MRB | validated |
| 14 | Post | coil.driver-14 | Coil | Q25 CPU Board / MRB | validated |
| 15 | Laser Kickback relay and coil | coil.driver-15 | Coil | Q24 CPU Board / MRB | validated |
| 16 | Kickbig relay and coil | coil.driver-16 | Coil | Q23 CPU Board / MRB | validated |
| 17 | Red Pop Bumper | coil.driver-17 | Coil | Q11 CPU Board / MRB | conflicted |
| 18 | Clear Pop Bumper | coil.driver-18 | Coil | Q9 CPU Board / MRB | conflicted |
| 19 | Blue Pop Bumper | coil.driver-19 | Coil | Q8 CPU Board / MRB | conflicted |
| 20 | Left Slingshot | coil.driver-20 | Coil | Q10 CPU Board / MRB | conflicted |
| 21 | Right Slingshot | coil.driver-21 | Coil | Q12 CPU Board / MRB | conflicted |
| 22 | Unused SP6 Driver | coil.driver-22 | Coil | Q13 CPU Board / MRB | conflicted |
| 25 | Ball Eater Down | coil.driver-25 | Coil | Q46 CPU Board / MRB | conflicted |
| 26 | Outhole | coil.driver-26 | Coil | Q45 CPU Board / MRB | conflicted |
| 27 | Eject Hole | coil.driver-27 | Coil | Q44 CPU Board / MRB | conflicted |
| 28 | 5-Bank Reset | coil.driver-28 | Coil | Q43 CPU Board / MRB | conflicted |
| 29 | Unused 05R Driver | coil.driver-29 | Coil | Q42 CPU Board / MRB | conflicted |
| 30 | Ball Eater Up | coil.driver-30 | Coil | Q41 CPU Board / MRB | conflicted |
| 31 | Knocker | coil.driver-31 | Coil | Q40 CPU Board / MRB | conflicted |
| 32 | Trough | coil.driver-32 | Coil | Q39 CPU Board / MRB | conflicted |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Top Left Red Hotdog / Left Red Marquee | coil.driver-1 | Q46 CPU Board / MRB | conflicted |
| 2 | Top Left Yellow Hotdog / Left Yellow Marquee | coil.driver-2 | Q45 CPU Board / MRB | conflicted |
| 3 | Blue Mars (backstop) / Blue Marquee | coil.driver-3 | Q44 CPU Board / MRB | conflicted |
| 4 | Top Right Yellow Hotdog / Right Yellow Marquee | coil.driver-4 | Q43 CPU Board / MRB | conflicted |
| 5 | Top Right Red Hotdog / Right Red Marquee | coil.driver-5 | Q42 CPU Board / MRB | conflicted |
| 6 | White House / Backglass (2) | coil.driver-6 | Q41 CPU Board / MRB | conflicted |
| 7 | Russian Embassy / Backglass (2) | coil.driver-7 | Q40 CPU Board / MRB | conflicted |
| 8 | Shield, Clear Mars (backstop) | coil.driver-8 | Q39 CPU Board / MRB | conflicted |
| 9 | KGB Hideout / Music Credits (Speaker panel) | coil.driver-9 | Q30 CPU Board / MRB | validated |
| 12 | 2 Spies (Backglass) | coil.driver-12 | Q27 CPU Board / MRB | validated |
| 13 | Secret Service (Backglass) | coil.driver-13 | Q26 CPU Board / MRB | conflicted |
Sequential addresses, grouped in columns of eight.
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Spy Again | lamp.matrix-1 | CPU Board | candidate |
| 2 | White House #2 | lamp.matrix-2 | CPU Board | candidate |
| 3 | Russian Embassy #2 | lamp.matrix-3 | CPU Board | conflicted |
| 4 | Jefferson Memorial #1 (Jackpot) | lamp.matrix-4 | CPU Board | candidate |
| 5 | Jefferson Memorial #1 (Jackpot) | lamp.matrix-5 | CPU Board | conflicted |
| 6 | "S" Lane | lamp.matrix-6 | CPU Board | candidate |
| 7 | "P" Lane | lamp.matrix-7 | CPU Board | candidate |
| 8 | "Y" Lane | lamp.matrix-8 | CPU Board | candidate |
| 9 | Left Red Arrow | lamp.matrix-9 | CPU Board | candidate |
| 10 | Left Red Circle | lamp.matrix-10 | CPU Board | candidate |
| 11 | Center Red Circle | lamp.matrix-11 | CPU Board | candidate |
| 12 | Right Red Circle | lamp.matrix-12 | CPU Board | candidate |
| 13 | Right Red Arrow | lamp.matrix-13 | CPU Board | candidate |
| 14 | Russian Embassy Green? Shield | lamp.matrix-14 | CPU Board | conflicted |
| 15 | Russian Embassy Yellow Shield | lamp.matrix-15 | CPU Board | conflicted |
| 16 | Russian Embassy Clear Shield | lamp.matrix-16 | CPU Board | conflicted |
| 17 | Left Clear Arrow | lamp.matrix-17 | CPU Board | candidate |
| 18 | Left Clear Circle | lamp.matrix-18 | CPU Board | conflicted |
| 19 | Center Clear Circle | lamp.matrix-19 | CPU Board | candidate |
| 20 | Right Clear Circle | lamp.matrix-20 | CPU Board | candidate |
| 21 | Right Clear Arrow | lamp.matrix-21 | CPU Board | candidate |
| 22 | All Scores Double | lamp.matrix-22 | CPU Board | conflicted |
| 23 | Bonus Held | lamp.matrix-23 | CPU Board | conflicted |
| 24 | Up Post | lamp.matrix-24 | CPU Board | candidate |
| 25 | Left Blue Arrow | lamp.matrix-25 | CPU Board | candidate |
| 26 | Left Blue Circle | lamp.matrix-26 | CPU Board | candidate |
| 27 | Center Blue Circle | lamp.matrix-27 | CPU Board | candidate |
| 28 | Right Blue Circle | lamp.matrix-28 | CPU Board | candidate |
| 29 | Right Blue Arrow | lamp.matrix-29 | CPU Board | candidate |
| 30 | Super Arrow | lamp.matrix-30 | CPU Board | candidate |
| 31 | Left Spinner | lamp.matrix-31 | CPU Board | candidate |
| 32 | Right Spinner | lamp.matrix-32 | CPU Board | candidate |
| 33 | 5-Bank Arrow 1 | lamp.matrix-33 | CPU Board | candidate |
| 34 | 5-Bank Arrow 2 | lamp.matrix-34 | CPU Board | candidate |
| 35 | 5-Bank Arrow 3 | lamp.matrix-35 | CPU Board | candidate |
| 36 | 5-Bank Arrow 4 | lamp.matrix-36 | CPU Board | candidate |
| 37 | 5-Bank Arrow 5 | lamp.matrix-37 | CPU Board | candidate |
| 38 | Bullet Target | lamp.matrix-38 | CPU Board | candidate |
| 39 | Hotline (White House) | lamp.matrix-39 | CPU Board | conflicted |
| 40 | Eject Green Shield | lamp.matrix-40 | CPU Board | conflicted |
| 41 | 5-Bank Green Shield | lamp.matrix-41 | CPU Board | conflicted |
| 42 | 5-Bank Orange Shield | lamp.matrix-42 | CPU Board | conflicted |
| 43 | 5-Bank Amber Shield | lamp.matrix-43 | CPU Board | conflicted |
| 44 | 5-Bank Clear Shield | lamp.matrix-44 | CPU Board | conflicted |
| 45 | Eject Red Arrow | lamp.matrix-45 | CPU Board | conflicted |
| 46 | Eject Clear Arrow | lamp.matrix-46 | CPU Board | conflicted |
| 47 | Eject Blue Arrow | lamp.matrix-47 | CPU Board | conflicted |
| 48 | Eject Amber Shield | lamp.matrix-48 | CPU Board | conflicted |
| 49 | Laser Kickback | lamp.matrix-49 | CPU Board | conflicted |
| 50 | Left Outlane Special | lamp.matrix-50 | CPU Board | conflicted |
| 51 | Left Return Lane | lamp.matrix-51 | CPU Board | conflicted |
| 52 | Right Return Lane | lamp.matrix-52 | CPU Board | conflicted |
| 53 | Right Outlane Special | lamp.matrix-53 | CPU Board | conflicted |
| 54 | 1K Bonus | lamp.matrix-54 | CPU Board | conflicted |
| 55 | 2K Bonus | lamp.matrix-55 | CPU Board | conflicted |
| 56 | 4K Bonus | lamp.matrix-56 | CPU Board | conflicted |
| 57 | 8K Bonus | lamp.matrix-57 | CPU Board | conflicted |
| 58 | 16K Bonus | lamp.matrix-58 | CPU Board | conflicted |
| 59 | 32K Bonus | lamp.matrix-59 | CPU Board | conflicted |
| 60 | 64K Bonus | lamp.matrix-60 | CPU Board | conflicted |
| 61 | 2X | lamp.matrix-61 | CPU Board | conflicted |
| 62 | 3X | lamp.matrix-62 | CPU Board | conflicted |
| 63 | 4X | lamp.matrix-63 | CPU Board | conflicted |
| 64 | 5X | lamp.matrix-64 | CPU Board | conflicted |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 11 | General Illumination Relay | coil.driver-11 | Q28 CPU Board / MRB | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 24 | Unused Solenoid 24 | coil.driver-24 | validated |
| 33 | Inert Solenoid Address 33 | coil.driver-33 | validated |
| 34 | Inert Solenoid Address 34 | coil.driver-34 | validated |
| 35 | Inert Solenoid Address 35 | coil.driver-35 | validated |
| 36 | Inert Solenoid Address 36 | coil.driver-36 | validated |
| 37 | Inert Solenoid Address 37 | coil.driver-37 | validated |
| 38 | Inert Solenoid Address 38 | coil.driver-38 | validated |
| 39 | Inert Solenoid Address 39 | coil.driver-39 | validated |
| 40 | Inert Solenoid Address 40 | coil.driver-40 | validated |
| 41 | Inert Solenoid Address 41 | coil.driver-41 | validated |
| 42 | Inert Solenoid Address 42 | coil.driver-42 | validated |
| 43 | Inert Solenoid Address 43 | coil.driver-43 | validated |
| 44 | Inert Solenoid Address 44 | coil.driver-44 | validated |
| 45 | Synthetic Right Flipper Power | coil.driver-45 | conflicted |
| 46 | Synthetic Right Flipper Hold | coil.driver-46 | conflicted |
| 47 | Synthetic Left Flipper Power | coil.driver-47 | conflicted |
| 48 | Synthetic Left Flipper Hold | coil.driver-48 | conflicted |
| 49 | Simulation Ball Shooter | coil.driver-49 | validated |
| 50 | Reserved Solenoid 50 | coil.driver-50 | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 0 | Jumper W7 (function undocumented) Dip | dip.jumper-w7 | observed |
Logical assemblies with their actuators, sensors and observed behaviour. Click a chip to jump to the address it refers to.
mechanism.ball-trough
The retained BallStack initializes three occupied trough positions. Trough output 32 ejects the front ball at switch 47 through BallRelease toward the manual-plunger lane; balls advance toward switch 47.
mechanism.outhole
Drain_Hit adds the ball to the retained BallStack. Its SolIn callback is output 26, the production-manual 02R Outhole coil, which transfers the ball into the three-position trough.
mechanism.top-right-eject
The retained saucer captures one ball at switch 19 and output 27 invokes its SolOut eject.
mechanism.five-bank
Five individual targets report switches 36-40. Output 28 invokes SolDropUp to reset the whole bank to its standing home state.
mechanism.kgb-eater
A ball entering switch 11 is captured. Eater Down output 25 lowers the surround/wall, disables the capture object and asserts down-position switch 12; Eater Up output 30 raises and re-enables it, clears switch 12, and ejects a held ball.
mechanism.whitehouse-lock
The retained VLock binds Trigger2/Kickbig1 to switch 41 and Trigger1/Kickbig2 to switch 42. Output 16 calls SolExit for the staged two-position lock. The production table describes one Kickbig relay/24-900 coil circuit; the table's two kicker objects model ball positions, not two printed coils.
mechanism.up-post
Output 14 raises the post and clears the normally active down-position switch 52. The retained DrainPlug timer later lowers the post, restores switch 52, and disables itself; its exact real-machine dwell is not documented.
mechanism.kickback
Output 15 drives the retained plunger1 fire/pullback callback at the Laser Kickback lane. The production parts illustration identifies Kick Back Assembly 500-5000-00; switch 32 is the lane sensor.
mechanism.left-slingshot
The retained runtime pulses switch 28 and animates the sling. The production Coil Test explicitly pairs public 20 with SP4; a conflicting interpretation of pinned Data East source remains unresolved pending a public-output trace. Callback pulse timing and actuator placement are also unresolved.
mechanism.right-slingshot
The retained runtime pulses switch 29 and animates the sling. The production Coil Test explicitly pairs public 21 with SP5; a conflicting interpretation of pinned Data East source remains unresolved pending a public-output trace. Callback pulse timing and actuator placement are also unresolved.
mechanism.red-pop-bumper
The retained runtime pulses switch 20. The production Coil Test explicitly pairs public 17 with SP1; a conflicting interpretation of pinned Data East source remains unresolved pending a public-output trace. The production schematics also correct the table's SP1 transistor to Q11. Callback pulse timing and actuator placement are unresolved.
mechanism.clear-pop-bumper
The retained runtime pulses switch 21. The production Coil Test explicitly pairs public 18 with SP2, and the production tables and schematic agree on the clear pop bumper circuit. A conflicting interpretation of pinned Data East source remains unresolved pending a public-output trace; callback pulse timing and actuator placement are also unresolved.
mechanism.blue-pop-bumper
The retained runtime pulses switch 22. The production Coil Test explicitly pairs public 19 with SP3, while the production schematics correct the table's SP3 transistor to Q8. A conflicting interpretation of pinned Data East source remains unresolved pending a public-output trace; callback pulse timing and actuator placement are also unresolved.
mechanism.left-flipper
PinMAME synthesizes left power/hold outputs and the retained left callback moves the lower-left flipper. Address 30 is printed as the physical Left Flipper EOS but is fed player-button state by FLIP3031; the production cabinet-button circuit is separate.
mechanism.right-flipper-pair
PinMAME synthesizes shared right power/hold outputs and the retained right callback moves both the lower-right and upper-right flipper objects. The production table and schematic show two separate physical right coils but no separate upper-right EOS address. Address 31 is printed as physical Right Flipper EOS and is fed player-button state by FLIP3031.
mechanism.right-spinner
A passive spinner pulses switch 17; it has no CPU actuator.
mechanism.left-spinner
A passive spinner pulses switch 26; it has no CPU actuator.
mechanism.wire-ramp
Top-left and top-right ramp switches report traversal of the fixed wire-ramp assembly. The retained table scripts no motor or diverter.
mechanism.manual-plunger
The spring plunger is player-driven; launched balls traverse shooter-lane switch 9. There is no physical CPU shooter coil.
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.
Pinned PinMAME groups four 03/88 drivers under root ssvc_a26: root 2.6, ssvc_b26 2.6 alternate sound, ssvc_e40 4.0 Europe, and ssvc_a42 4.2 alternate sound. All use INITGAMES11(ssvc, GEN_DE, de_dispAlpha2, FLIP3031, SNDBRD_DE1S, 0, 0). GEN_DE is Data East generation 0x1000, not Williams System 11 hardware. The definition now reuses the reviewed pinmame.dataeast profile and no longer carries a controller-platform blocker.
The machine-level inversion_applied_by_emulator flag is true because consumers receive normalized public LibPinMAME states and must not invert them again. Independently, INITGAMES11 aggregate-initializes the per-game wpc.invSw mask with zeroes and pinned core.c copies that exact mask to the runtime switch matrix. Neither fact settles physical EOS polarity or the unresolved three-flipper behavior.
de_dispAlpha2 has exactly four entries: two seven-character 16-segment player rows beginning at segment 1 and 9, followed by two seven-character numeric rows beginning at 21 and 29. Unlike Data East's Alpha1 layout, it contains no credit/match or ball-in-play display entries. The definition therefore enumerates four displays and gives each a controlled cabinet/backbox not_applicable spatial record.
The definition enumerates every switch and lamp address 1-64, Data East service switches -7/-6, Jumper W7 at DIP address 0, and all public solenoids 1-50 exposed when custSol=0. Switches 30 and 31 are printed as Left and Right Flipper EOS contacts. PinMAME's FLIP3031 feeds player-button state into those EOS-numbered addresses; the production cabinet schematic independently shows separate high-current flipper-button circuits, so the controller-facing and physical meanings remain a first-class conflict.
The production manual numbers eight shared-transistor pairs as 01L-08L and 01R-08R around the Left/Right relay at output 10. The operator numbering plus retained runtime place L flashers at public 1-8 and R mechanisms at public 25-32. Pinned s11.c, however, types only output 9 and muxed public 25-32 as #89 bulbs, GI at 11, and K1 at 10. That typing disagreement is preserved rather than choosing a silent correction.
The retained script supplies real causal topology. A three-ball trough occupies switches 47-49 and ejects through output 32; switch 46/output 26 is the outhole feeder. Switch 19/output 27 is the top-right eject. Switches 36-40 form a five-drop bank reset by output 28. The KGB Hideout captures at switch 11, reports the down position on 12, lowers on output 25, raises/ejects on output 30, and starts with switch 12 active. The White House lock stages balls at switches 41/42 and exits through output 16. Output 14 raises the center post, clears normally active switch 52, and a table timer lowers it again. Output 15 drives the left-outlane kickback at switch 32.
The production parts page identifies Ramp Assembly 515-5068-00, Russian Embassy Assembly 515-5073-00, Flipper Assembly 515-5038-00, Kick Back Assembly 500-5000-00, White House Assembly 515-5072-00, and both spinner assemblies. Three physical flippers are printed: lower left, lower right and upper right. The retained right callback moves both right flippers together; no separate upper-right EOS address is printed.
Production maps SP1-SP5 to red/clear/blue pop bumpers and left/right slingshots, with SP6 unfitted, and the Coil Test explicitly numbers SP1-SP6 as public 17-22. The structured mechanisms therefore bind red pop 17, clear pop 18, blue pop 19, left sling 20, and right sling 21; public 22 is the unfitted SP6 physical driver. Pinned s11.c PIA comments plus setSSSol's Data East offsets can be read as a conflicting SP1, SP3, SP4, SP6, SP5, SP2 public order, so all six mappings remain conflicted pending a LibPinMAME trace. The retained script has no SolCallback for these switch-triggered outputs, leaving pulse timing and actuator placement unresolved too.
This is an explicit exception to the repository runbook's former unconditional Data East permutation rule and to the working source-derived contracts in the merged Playboy, Time Machine, and Torpedo Alley definitions. Those siblings do not carry Secret Service's game-specific Coil Test pairing each public number with an SP identity. The runbook now conditions the source-derived rule on the available primary evidence; it does not resolve the cross-game disagreement, and a LibPinMAME trace remains mandatory.
The Coil Identification Table prints SP1/SP3/SP4 at Q8/Q10/Q11, while both production schematic views assign those circuits to Q11/Q8/Q10. Structured wiring.driver_transistor values follow the agreeing schematics; the literal table cells remain in the coil excerpt and each affected output note.
The retained header is UseSolenoids=2, UseLamps=0, UseGI=0. It contains neither Lampz.MassAssign nor vpmMapLights; instead LampTimer consumes Controller.ChangedLamps and UpdateLamps calls NFadeL/NFadeLm. Exactly 64 Light objects are named L1 through L64. Those names support candidate visual coordinates only, not observed physical ROM-to-socket bindings. L22a and L39a/L39b are additional render emitters, not extra addresses.
Active SolCallback(1) through (9) route to pseudo-lamps 101-109. UpdateLamps exposes multiple visual emitters for 103 and 108, no visual object for 107, and several helper pairs for the others. Whole-line-commented callbacks 12 and 13 are stripped before attribution; they supply no coordinate. The nine extracted Flasher gameitems are ball-shadow/general render effects and are not treated as controller-output emitters. Exact bounds are 0,0 to 952,2162 and normalized as x/952, y/2162.
Outputs 6 and 7 print a White House or Russian Embassy playfield feature plus a backglass emitter, and output 9 prints KGB Hideout plus Music Credits on the speaker panel. The retained table supplies at most one visual proxy for each mixed-location pair and none for 7, so all three omit spatial rather than turning missing table objects into a cabinet-only verdict. Output 13 also omits spatial: its detailed row says Secret Service (Backglass), but the conflicting Coil Test adds Clear Mars, whose physical plane and socket are unresolved.
The retained production manual has zero extractable characters. PDF pages 20-25 were freshly rendered at 400 dpi and read cell-by-cell; page 28 supplied construction parts. Schematic pages 30 and 32-34 were rendered at 300 dpi and visually checked for cabinet controls, switch and lamp matrices, driver routing, special coils, and flipper wiring.
The production switch matrix and following list differ at addresses 3, 11-13, 18, 25, 27-32, 41-45; this includes the material Left Kickback/Laser Kickback disagreement at 32, not just the 10 Point/310 Point rows. Its lamp matrix and playfield-lamp list disagree at many addresses, including 5, 14-18 and 39-48; both complete readings are committed. The production Coil Identification Table literally prints BIU-YEL for the right-flipper power lead while the production wiring diagram labels CN3 pin 6 BLU-YEL. Production Coil Test also adds Clear Mars to output 13 where the detailed production table does not. Every disagreement remains a conflict with source-specific wording.
Likely service checks follow the proven topology: balls can jam across the three trough positions, the two White House lock positions, top-right eject, and KGB eater; the five-bank must return all targets; the up-post timer must restore its down switch; and the relay/coil compounds for kickback and Kickbig each include a 24 V relay plus 24-900 coil. Exact pulse widths, post dwell on hardware, special-solenoid public callbacks/timing, and flipper/EOS polarity were not captured and must not be invented.
Completion needs a PinMAME/controller trace across both L/R relay states, public-output and pulse-timing observation of outputs 17-22 while their switches fire, bench capture of button/EOS and three-flipper behavior, and a socket-address survey of the original playfield/back panel including GI. Until then the record remains partial.
Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| ssvc_e40 | Secret Service (4.0 Europe) European 4.0 program ROMs ssvce4-0.b5/c5 with original sssndf7.rom sound; same physical GameData and display layout. | 1988 | ssvc_a26 | compatible |
| ssvc_b26 | Secret Service (2.6, alternate sound) Same 2.6 program ROMs and physical GameData as the root; alternate sssndf7b.rom sound program. | 1988 | ssvc_a26 | compatible |
| ssvc_a42 | Secret Service (4.2, alternate sound) 4.2 program ROMs ss-b5.256/ss-c5.256 and alternate sssndf7b.rom sound; same physical GameData and display layout. | 1988 | ssvc_a26 | compatible |
| ssvc_a26 | Secret Service (2.6) Root 03/88 revision. Program ROMs ssvc2-6.b5 and ssvc2-6.c5; original sssndf7.rom sound program. | 1988 | — | identical |
Parent set: ssvc_a26 — 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.
pinmame.catalog.4ec52ff0ac13
catalog/pinmame.json entries ssvc_a26, ssvc_b26, ssvc_e40 and ssvc_a42
pinmame.core.4ec52ff0ac13
src/wpc/degames.c INITGAMES11(ssvc, GEN_DE, de_dispAlpha2, FLIP3031, SNDBRD_DE1S, 0, 0), ROM definitions and four-entry display layout; src/wpc/core.c copies the zero-initialized wpc.invSw mask; src/wpc/s11.c lines 537-554 apply Data East ssSolNo={3,4,5,1,0,2}, lines 618-623 bind handler indices 0-5, and PIA comments at lines 714-715, 737-738, and 746-747 label those handlers SP6, SP5, SP2, SP3, SP1, and SP4. Treating those comments as physical identities conflicts with the manual's explicit public 17-22/SP1-SP6 Coil Test ordering, so the manual ordering is retained pending a LibPinMAME trace. Secret Service modulation typing/mux plus s11.h and core.h provide the remaining addressing contract
manual.data-east.secret-service.1988
Archive.org item Data_East__Secret_Service_Manual, file Data_East_1988_Secret_Service_Manual.pdf, retained at external:pinmame-manuals/by-machine/data-east.secret-service.1988/archive-org/Data_East_1988_Secret_Service_Manual.pdf. PDF pages 20-25 and 28 were read at 400 dpi; schematic pages 30, 32-34 were read at 300 dpi.
vpx-table.secret-service-bigus-mod-1-1
vpxtool git:0561bb4; 830 extracted gameitem files; exact playfield bounds (0,0)-(952,2162)
vpx-script.secret-service-bigus-mod-1-1
cGameName ssvc_a26; UseSolenoids=2, UseLamps=0, UseGI=0; custom ChangedLamps/NFadeL loop; active SolCallback lines after whole-line comment stripping; ball-stack, eject, eater, lock, drop-bank, post, kickback and flipper causality
vpx-extraction.secret-service-bigus-mod-1-1
972 files; algorithm: SHA-256 of the UTF-8 JSON object after removing manifest_sha256 and serializing with sorted keys, compact separators, and ensure_ascii=False.; canonical manifest SHA-256 5c80483c2010460c736a8d2e91ef887a72766f08b98fbf939e8abb727aae68ce
human-review.secret-service-production-renders
Exact retained PDF pages 20-25 and 28 freshly rendered with Poppler 25.12.0 at 400 dpi and read cell-by-cell on 2026-08-08; schematic pages 30 and 32-34 rendered at 300 dpi and visually reviewed on 2026-08-09. No OCR/text layer was used.
This definition still has 5 unmet requirements, 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.