Three-ball trough
mechanism.ball-trough
The retained script initializes all three trough switches active. Pulsing the ball-trough eject moves the front ball from switch 12 into the shooter lane; the remaining balls advance toward switch 12.
3 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.
116 placements · 14 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 playfield22 virtual, 16 unused, 14 cabinet or service, 11 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 | Advance (Black Button) | switch.diagnostic-7 | service.diagnostic | validated | |
| -6 | Up/Down (Green Toggle) | switch.diagnostic-6 | service.diagnostic | validated | |
| 1 | Plumb Bob Tilt | switch.matrix-1 | cabinet.tilt | GRN-BRN WHT-BRN CPU Board | validated |
| 2 | Ball Roll Tilt | switch.matrix-2 | cabinet.tilt | GRN-BRN WHT-RED CPU Board | validated |
| 3 | Start Button | switch.matrix-3 | cabinet.start | GRN-BRN WHT-ORN CPU Board | validated |
| 4 | Right Coin Switch | switch.matrix-4 | cabinet.coin | GRN-BRN WHT-YEL CPU Board | validated |
| 5 | Center Coin Switch | switch.matrix-5 | cabinet.coin | GRN-BRN WHT-GRN CPU Board | validated |
| 6 | Left Coin Switch | 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 | Playfield Tilt | switch.matrix-9 | GRN-RED WHT-BRN CPU Board | validated | |
| 10 | Ball Trough 3 | switch.matrix-10 | trough.position-3 | GRN-RED WHT-RED CPU Board | validated |
| 11 | Ball Trough 2 | switch.matrix-11 | trough.position-2 | GRN-RED WHT-ORN CPU Board | validated |
| 12 | Ball Trough 1 | switch.matrix-12 | trough.position-1 | GRN-RED WHT-YEL CPU Board | validated |
| 13 | Outhole | switch.matrix-13 | outhole | GRN-RED WHT-GRN CPU Board | validated |
| 14 | Right Slingshot | switch.matrix-14 | slingshot.right | GRN-RED WHT-BLU CPU Board | validated |
| 15 | Left Slingshot | switch.matrix-15 | slingshot.left | GRN-RED WHT-VIO CPU Board | validated |
| 16 | Unused Switch 16 | switch.matrix-16 | GRN-RED WHT-GRY CPU Board | validated | |
| 17 | Laser Kick / Kickback | switch.matrix-17 | kickback | GRN-ORN WHT-BRN CPU Board | conflicted |
| 18 | Left Flipper Return Lane | switch.matrix-18 | GRN-ORN WHT-RED CPU Board | validated | |
| 19 | Right Flipper Return Lane | switch.matrix-19 | GRN-ORN WHT-ORN CPU Board | validated | |
| 20 | Right Outlane | switch.matrix-20 | GRN-ORN WHT-YEL CPU Board | validated | |
| 21 | 10 Point Rubber Right (2 Switches) | switch.matrix-21 | GRN-ORN WHT-GRN CPU Board | validated | |
| 22 | Red Target (Left) | switch.matrix-22 | GRN-ORN WHT-BLU CPU Board | validated | |
| 23 | Red Target (Center) | switch.matrix-23 | GRN-ORN WHT-VIO CPU Board | validated | |
| 24 | Red Target (Right) | switch.matrix-24 | GRN-ORN WHT-GRY CPU Board | validated | |
| 25 | Red Eject | switch.matrix-25 | eject.red | GRN-YEL WHT-BRN CPU Board | validated |
| 26 | Red Star | switch.matrix-26 | GRN-YEL WHT-RED CPU Board | validated | |
| 27 | Red Spinner | switch.matrix-27 | GRN-YEL WHT-ORN CPU Board | validated | |
| 28 | Unused Switch 28 | switch.matrix-28 | GRN-YEL WHT-YEL CPU Board | validated | |
| 29 | Ramp | switch.matrix-29 | GRN-YEL WHT-GRN CPU Board | validated | |
| 30 | Yellow Target (Left) | switch.matrix-30 | GRN-YEL WHT-BLU CPU Board | validated | |
| 31 | Yellow Target (Center) | switch.matrix-31 | GRN-YEL WHT-VIO CPU Board | validated | |
| 32 | Yellow Target (Right) | switch.matrix-32 | GRN-YEL WHT-GRY CPU Board | validated | |
| 33 | Yellow Eject | switch.matrix-33 | eject.yellow | GRN-BLK WHT-BRN CPU Board | validated |
| 34 | Yellow Star | switch.matrix-34 | GRN-BLK WHT-RED CPU Board | validated | |
| 35 | Blue Target (Left) | switch.matrix-35 | GRN-BLK WHT-ORN CPU Board | validated | |
| 36 | Blue Target (Center) | switch.matrix-36 | GRN-BLK WHT-YEL CPU Board | validated | |
| 37 | Blue Target (Right) | switch.matrix-37 | GRN-BLK WHT-GRN CPU Board | validated | |
| 38 | Blue Eject | switch.matrix-38 | eject.blue | GRN-BLK WHT-BLU CPU Board | validated |
| 39 | Blue Star | switch.matrix-39 | GRN-BLK WHT-VIO CPU Board | validated | |
| 40 | W | switch.matrix-40 | GRN-BLK WHT-GRY CPU Board | validated | |
| 41 | A | switch.matrix-41 | GRN-BLU WHT-BRN CPU Board | validated | |
| 42 | R | switch.matrix-42 | GRN-BLU WHT-RED CPU Board | validated | |
| 43 | Pop Bumper Red | switch.matrix-43 | pop-bumper.red | GRN-BLU WHT-ORN CPU Board | validated |
| 44 | Pop Bumper Yellow | switch.matrix-44 | pop-bumper.yellow | GRN-BLU WHT-YEL CPU Board | validated |
| 45 | Pop Bumper Blue | switch.matrix-45 | pop-bumper.blue | GRN-BLU WHT-GRN CPU Board | validated |
| 46 | Right Flipper (EOS) | switch.matrix-46 | flipper.right.eos | GRN-BLU WHT-BLU CPU Board | conflicted |
| 47 | Left Flipper (EOS) | switch.matrix-47 | flipper.left.eos | GRN-BLU WHT-VIO CPU Board | conflicted |
| 48 | Red Star (Upper Right) | switch.matrix-48 | GRN-BLU WHT-GRY CPU Board | validated | |
| 49 | Yellow Star (Upper Right) | switch.matrix-49 | GRN-VIO WHT-BRN CPU Board | validated | |
| 50 | Blue Star (Upper Right) | switch.matrix-50 | GRN-VIO WHT-RED CPU Board | validated | |
| 51 | Yellow Spinner | switch.matrix-51 | GRN-VIO WHT-ORN CPU Board | validated | |
| 52 | Shooter Lane | switch.matrix-52 | shooter-lane | 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 |
|---|---|---|---|---|---|
| 9 | Ball Trough Eject | coil.driver-9 | Coil | Q30 CPU Board | validated |
| 10 | L/R Power Relay | coil.driver-10 | Relay | Q29 CPU Board | validated |
| 11 | General Illumination Relay | coil.driver-11 | Relay | Q28 CPU Board | validated |
| 12 | Red Eject | coil.driver-12 | Coil | Q27 CPU Board | validated |
| 13 | Yellow Eject | coil.driver-13 | Coil | Q26 CPU Board | validated |
| 14 | Blue Eject | coil.driver-14 | Coil | Q25 CPU Board | validated |
| 15 | Laser Kick (Relay) | coil.driver-15 | Relay | Q24 CPU Board | validated |
| 16 | Outhole | coil.driver-16 | Coil | Q23 CPU Board | validated |
| 17 | Blue Pop Bumper | coil.driver-17 | Coil | Q8 CPU Board 520-5003-00 | conflicted |
| 18 | Yellow Pop Bumper | coil.driver-18 | Coil | Q9 CPU Board 520-5003-00 | conflicted |
| 19 | Left Slingshot | coil.driver-19 | Coil | Q10 CPU Board 520-5003-00 | conflicted |
| 20 | Red Pop Bumper | coil.driver-20 | Coil | Q11 CPU Board 520-5003-00 | conflicted |
| 21 | Right Slingshot | coil.driver-21 | Coil | Q12 CPU Board 520-5003-00 | conflicted |
| 29 | Knocker | coil.driver-29 | Coil | Q42 CPU Board | conflicted |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Explosion | coil.driver-1 | Q46 CPU Board | validated |
| 2 | Red Hot Dog | coil.driver-2 | Q45 CPU Board | validated |
| 3 | Yellow Hot Dog | coil.driver-3 | Q44 CPU Board | validated |
| 4 | Blue Hot Dog | coil.driver-4 | Q43 CPU Board | conflicted |
| 5 | Ion Cannon | coil.driver-5 | Q42 CPU Board | conflicted |
| 6 | Mars Yellow | coil.driver-6 | Q41 CPU Board | conflicted |
| 7 | Mars Red | coil.driver-7 | Q40 CPU Board | conflicted |
| 8 | Mars Blue | coil.driver-8 | Q39 CPU Board | conflicted |
| 25 | Ramp Multiplier | coil.driver-25 | Q46 CPU Board | validated |
| 26 | Green Shield | coil.driver-26 | Q45 CPU Board | validated |
| 27 | Warriors (Back Glass) | coil.driver-27 | Q44 CPU Board | validated |
| 28 | Laser Wire (Back Glass) | coil.driver-28 | Q43 CPU Board | validated |
Sequential addresses, grouped in columns of eight.
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Ball in Play | lamp.matrix-1 | CPU Board | validated |
| 2 | Match | lamp.matrix-2 | CPU Board | validated |
| 3 | Blast Again | lamp.matrix-3 | CPU Board | validated |
| 4 | W | lamp.matrix-4 | CPU Board | validated |
| 5 | A | lamp.matrix-5 | CPU Board | validated |
| 6 | R | lamp.matrix-6 | CPU Board | validated |
| 7 | Ramp Multiplier | lamp.matrix-7 | CPU Board | validated |
| 8 | Return to Base | lamp.matrix-8 | CPU Board | conflicted |
| 9 | Cannon Red | lamp.matrix-9 | CPU Board | validated |
| 10 | Cannon Yellow | lamp.matrix-10 | CPU Board | validated |
| 11 | Cannon Blue | lamp.matrix-11 | CPU Board | validated |
| 12 | Ramp Green Shield | lamp.matrix-12 | CPU Board | validated |
| 13 | Ramp Orange Arrow | lamp.matrix-13 | CPU Board | validated |
| 14 | Ramp Amber Arrow | lamp.matrix-14 | CPU Board | validated |
| 15 | Ramp Clear Arrow | lamp.matrix-15 | CPU Board | validated |
| 16 | Red Target (Left) | lamp.matrix-16 | CPU Board | validated |
| 17 | Red Target (Center) | lamp.matrix-17 | CPU Board | validated |
| 18 | Red Target (Right) | lamp.matrix-18 | CPU Board | validated |
| 19 | Hot Dog Red | lamp.matrix-19 | CPU Board | validated |
| 20 | Lock Red Eject | lamp.matrix-20 | CPU Board | validated |
| 21 | Red Eject Clear Arrow | lamp.matrix-21 | CPU Board | validated |
| 22 | Red Eject Amber Arrow | lamp.matrix-22 | CPU Board | validated |
| 23 | Red Eject Orange Arrow | lamp.matrix-23 | CPU Board | validated |
| 24 | Yellow Target (Left) | lamp.matrix-24 | CPU Board | validated |
| 25 | Yellow Target (Center) | lamp.matrix-25 | CPU Board | validated |
| 26 | Yellow Target (Right) | lamp.matrix-26 | CPU Board | conflicted |
| 27 | Hot Dog Yellow | lamp.matrix-27 | CPU Board | validated |
| 28 | Lock Yellow Eject | lamp.matrix-28 | CPU Board | validated |
| 29 | Yellow Eject Clear Arrow | lamp.matrix-29 | CPU Board | validated |
| 30 | Yellow Eject Amber Arrow | lamp.matrix-30 | CPU Board | validated |
| 31 | Yellow Eject Orange Arrow | lamp.matrix-31 | CPU Board | validated |
| 32 | Blue Target (Left) | lamp.matrix-32 | CPU Board | validated |
| 33 | Blue Target (Center) | lamp.matrix-33 | CPU Board | validated |
| 34 | Blue Target (Right) | lamp.matrix-34 | CPU Board | validated |
| 35 | Hot Dog Blue | lamp.matrix-35 | CPU Board | validated |
| 36 | Lock Blue Eject | lamp.matrix-36 | CPU Board | validated |
| 37 | Blue Eject Clear Arrow | lamp.matrix-37 | CPU Board | validated |
| 38 | Blue Eject Amber Arrow | lamp.matrix-38 | CPU Board | validated |
| 39 | Blue Eject Orange Arrow | lamp.matrix-39 | CPU Board | validated |
| 40 | Left Outlane | lamp.matrix-40 | CPU Board | validated |
| 41 | Flipper Return Lanes (Left & Right) | lamp.matrix-41 | CPU Board | validated |
| 42 | Bonus Holds | lamp.matrix-42 | CPU Board | validated |
| 43 | 2 X | lamp.matrix-43 | CPU Board | validated |
| 44 | 3 X | lamp.matrix-44 | CPU Board | validated |
| 45 | 4 X | lamp.matrix-45 | CPU Board | validated |
| 46 | 5 X | lamp.matrix-46 | CPU Board | validated |
| 47 | Laser Kick | lamp.matrix-47 | CPU Board | validated |
| 48 | Right Outlane | lamp.matrix-48 | CPU Board | validated |
| 49 | Ion Cannon (Tip) | lamp.matrix-49 | CPU Board | validated |
| 50 | Bonus 1K Red | lamp.matrix-50 | CPU Board | validated |
| 51 | Bonus 2K Red | lamp.matrix-51 | CPU Board | validated |
| 52 | Bonus 4K Red | lamp.matrix-52 | CPU Board | validated |
| 53 | Bonus 8K Red | lamp.matrix-53 | CPU Board | validated |
| 54 | Bonus 16K Red | lamp.matrix-54 | CPU Board | validated |
| 55 | Bonus 1K Yellow | lamp.matrix-55 | CPU Board | validated |
| 56 | Bonus 2K Yellow | lamp.matrix-56 | CPU Board | validated |
| 57 | Bonus 4K Yellow | lamp.matrix-57 | CPU Board | validated |
| 58 | Bonus 8K Yellow | lamp.matrix-58 | CPU Board | validated |
| 59 | Bonus 16K Yellow | lamp.matrix-59 | CPU Board | validated |
| 60 | Bonus 1K Blue | lamp.matrix-60 | CPU Board | validated |
| 61 | Bonus 2K Blue | lamp.matrix-61 | CPU Board | validated |
| 62 | Bonus 4K Blue | lamp.matrix-62 | CPU Board | validated |
| 63 | Bonus 8K Blue | lamp.matrix-63 | CPU Board | validated |
| 64 | Bonus 16K Blue | lamp.matrix-64 | CPU Board | validated |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 22 | Unfitted Special-Solenoid Driver | coil.driver-22 | Q13 CPU Board 520-5003-00 | conflicted |
| 24 | Unused Solenoid 24 | coil.driver-24 | validated | |
| 30 | Unfitted Mux Branch 6R | coil.driver-30 | Q41 CPU Board | conflicted |
| 31 | Unfitted Mux Branch 7R | coil.driver-31 | Q40 CPU Board | conflicted |
| 32 | Unfitted Mux Branch 8R | coil.driver-32 | Q39 CPU Board | conflicted |
| 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 Lower Right Flipper Power | coil.driver-45 | conflicted | |
| 46 | Synthetic Lower Right Flipper Hold | coil.driver-46 | conflicted | |
| 47 | Synthetic Lower Left Flipper Power | coil.driver-47 | conflicted | |
| 48 | Synthetic Lower 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 script initializes all three trough switches active. Pulsing the ball-trough eject moves the front ball from switch 12 into the shooter lane; the remaining balls advance toward switch 12.
mechanism.outhole
A drained ball closes the outhole switch. The outhole coil kicks that ball into the three-ball trough; the script explicitly clears switch 13 when it fires.
mechanism.red-eject
The saucer captures one ball, asserts switch 25, and the red-eject coil kicks it back to the playfield.
mechanism.yellow-eject
The saucer captures one ball, asserts switch 33, and the yellow-eject coil kicks it back to the playfield.
mechanism.blue-eject
The saucer captures one ball, asserts switch 38, and the blue-eject coil kicks it back to the playfield.
mechanism.kickback
Public output 15 controls a 24 VDC Laser Kick relay; its downstream 23-900 local kickback coil is not a separate PinMAME output. The retained runtime arms the local kick while the relay is active, then switch 17 triggers it. The empty actuator list avoids misidentifying the relay as the mechanical actuator.
mechanism.left-slingshot
The retained runtime pulses switch 15 when the left sling surface fires. The community technical chart numbers the left-sling circuit Coil No. 19 at Q10. The shared-source permutation suggests a different public address, so this working binding remains conflicted pending a LibPinMAME trace.
mechanism.right-slingshot
The retained runtime pulses switch 14 when the right sling surface fires. The community technical chart numbers the right-sling circuit Coil No. 21 at Q12. The shared-source permutation happens to agree at this address, but the six-address contract remains conflicted pending a LibPinMAME trace.
mechanism.red-pop-bumper
The retained runtime pulses switch 43 on a red pop-bumper hit. The community technical chart numbers the red-pop circuit Coil No. 20 at Q11. The shared-source permutation suggests a different public address, so this working binding remains conflicted pending a LibPinMAME trace.
mechanism.yellow-pop-bumper
The retained runtime pulses switch 44 on a yellow pop-bumper hit. The community technical chart numbers the yellow-pop circuit Coil No. 18 at Q9. The shared-source permutation suggests a different public address, so this working binding remains conflicted pending a LibPinMAME trace.
mechanism.blue-pop-bumper
The retained runtime pulses switch 45 on a blue pop-bumper hit. The community technical chart numbers the blue-pop circuit Coil No. 17 at Q8. The shared-source permutation agrees at this address, but the six-address contract remains conflicted pending a LibPinMAME trace.
mechanism.left-flipper
PinMAME synthesizes lower-left power/hold outputs and the script fires the left flipper callback. The technical chart proves one physical dual-winding flipper circuit, but its printed EOS label conflicts with the runtime button-state use and does not establish a complete physical polarity claim.
mechanism.right-flipper
PinMAME synthesizes lower-right power/hold outputs and the script fires the right flipper callback. The technical chart proves one physical dual-winding flipper circuit, but its printed EOS label conflicts with the runtime button-state use and does not establish a complete physical polarity claim.
mechanism.red-spinner
A passive spinner pulses switch 27 as it turns; it has no CPU actuator.
mechanism.yellow-spinner
A passive spinner pulses switch 51 as it turns; it has no CPU actuator.
mechanism.ramp
A ball entering the ramp closes switch 29 and follows the retained table's wire-ramp path back toward the shooter-side return. No motor or diverter is scripted.
mechanism.manual-plunger
The spring plunger is player-driven. A launched ball traverses shooter-lane switch 52; 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.
Laser War is Data East's first pinball machine. Pinned PinMAME defines its three-driver clone tree with lwar_a83 as root and assigns GEN_DE (0x1000), de_dispAlpha1, FLIP4746, SNDBRD_DE1S, no custom solenoids, and Left/Right mux solenoid 10. It runs through the shared MACHINE_INIT(s11) emulator path, but the physical controller is Data East CPU Rev 1, not Williams System 11. The definition therefore uses 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 states and must not invert them again. Independently, INITGAMES11 leaves this game's per-game wpc.invSw mask all zeroes.
The display board is Laser War's 520-5004-00 topology: two seven-character 16-segment alphanumeric player rows, two seven-character numeric player rows, and a shared four-digit numeric credit/ball module. PinMAME exposes that last physical module as four one-digit layout entries, so the definition enumerates all eight controller layout entries. Displays are backbox devices and therefore use controlled not_applicable spatial records.
All 64 switch and 64 lamp matrix addresses are present in the definition, including every printed NOT USED switch position. With one-based chart rows and columns, the matrices are column-major: address (column - 1) * 8 + row. Solenoids are enumerated through public address 50 because custSol=0. Public 1-8 are the left side of eight shared transistor drives and public 25-32 are their relay-selected right side. The chart proves that special circuit 22 and right-bank branches 6R-8R have no fitted physical load, but PinMAME can publish their PIA or K1-multiplexed state at public addresses 22 and 30-32, so availability at those exact public addresses remains unknown until traced. Address 10 is the Left/Right power relay, address 23 is Game On, 33-44 are inert for this GameData, 45-48 are virtual lower-flipper power/hold states synthesized by PinMAME rather than extra physical drivers, 49 is the simulator shooter slot, and 50 is reserved.
The retained known-working script, not printed label proximity, supplies runtime causality. It initializes trough switches 10-12 active, moves the front ball from switch 12 through coil 9 to the shooter lane, sends the outhole at switch 13 through coil 16 into the trough, and binds the red/yellow/blue eject saucers to switch/coil pairs 25/12, 33/13 and 38/14. Public output 15 energizes one 24 VDC relay that arms a separately powered 23-900 kickback coil; switch 17 then triggers the local kick, so the relay is not listed as the mechanism's actuator. The retained community technical chart numbers Coil No. 17-22 as Blue Pop/Q8, Yellow Pop/Q9, Left Sling/Q10, Red Pop/Q11, Right Sling/Q12, and an unfitted Q13 circuit. It does not print SP1-SP6 identities. The definition uses that game-specific sequence as a conflicted working mapping: Blue Pop/17, Yellow Pop/18, Left Sling/19, Red Pop/20, Right Sling/21 and unfitted/22. Interpreting pinned Data East setSSSol together with the shared SS handler comments produces a different physical-device order. All six bindings remain conflicted behind one trace gate. The known-working VPX script independently settles the five device sensors—blue/red/yellow pop switches 45/43/44 and left/right sling switches 15/14—but has no special-solenoid callbacks that can settle the public output order.
The retained table's asserted playfield bounds are left 0, top 0, right 964, bottom 2162. Coordinates use x=raw_x/964, y=raw_y/2162. Primary lN Light objects are bulb observations; lNa and related suffix objects are render helpers and are excluded. Lamp 41 has two primary bulbs and therefore two placements. The cannon tower groups are helper-only aggregates, so lamps 9-11 are not assigned their many visual helper coordinates. Insert-flasher helper-group centroids are marked candidate. The five resolved special-solenoid outputs are candidate projections to their exact bumper or slingshot assemblies, not hidden winding-center measurements. Synthetic flipper outputs 45-48 are virtual and deliberately have no physical quantity or coordinate. Cabinet relays, backbox flashers, service controls, displays, and internal nonvisual sensors receive controlled not_applicable dispositions.
The retained manual is a 42-page image-only archive reconstructed in page order from the complete ManualsLib _bg page-image set. It preserves the switch, lamp, and coil location drawings plus the playfield harness and CPU schematics, but the typeset chart text is absent; no committed matrix, coil-table, or flipper-circuit cell is attributed to that archive. Those cells instead come from a retained, visually reviewed one-page 2021 Inkochnito community technical chart. That secondary chart tabulates the complete matrices, Coil No. 1L-22, and both flipper circuits, including Q8-Q13, wire colors, and connector pins. Its game-specific 17-22 mapping conflicts with the order inferred from pinned setSSSol and shared PIA comments, so a LibPinMAME trace remains required. Flipper/EOS polarity and the precise electronic interface between output 15's relay and the local kickback coil also remain unresolved.
Nine disagreements are recorded as first-class conflicts. Eight remain unresolved: switch 17 is Laser Kick in the chart but Kickback in the runtime; switches 46/47 are printed as physical right/left flipper EOS switches while PinMAME and the script use those addresses for flipper-button state; printed lamp 8 is Return To Base while the retained script has no lamp-8 callback and reuses its l8 tower helpers for solenoid 5; the chart literally repeats Red Target (Right) at lamp 26 while the retained table's amber placement and switch 32 support the reconciled Yellow Target (Right) semantic label; the community special-solenoid table conflicts with the shared-source permutation; synthesized flipper states 45-48 have no settled winding-level physical mapping; and pinned s11.c's broad #89 output typing conflicts with the chart's additional left-bank flashers, right-bank knocker, and unfitted mux circuits. One has a documented resolution without rewriting the printed evidence: Mars Yellow remains semantically a flasher even though the chart prints type 23-800, because its red/blue partners are #89 lamps and pinned s11.c calls all three Mars colours flashers. Lamp 49 (Ion Cannon (Tip)) is printed but has no retained runtime binding; that is an unresolved placement/runtime omission, not silently converted into a different device.
A LibPinMAME special-solenoid trace, a traced flipper/EOS and kickback relay circuit or synchronized bench capture, and a socket-level survey of the cannon tower, downstream GI circuit, and lamps 8/49 would remove the named blockers. Until then this definition remains partial.
Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| lwar_e90 | Laser War (9.0 Europe) European rules revision using program ROM lwar9-0.e5 (SHA1 10dade79ded71625770ec7e21ea50b7aa64023d0); PinMAME assigns the same GameData and display layout. | 1987 | lwar_a83 | compatible |
| lwar_a83 | Laser War (8.3) Root revision. Program ROM lwar8-3.c5 (SHA1 54db2342bdd15b16fee906dc65f183a957fd0012); the three sound ROMs are shared by every listed driver. | 1987 | — | identical |
| lwar_a81 | Laser War (8.1) Earlier rules revision using program ROM c100_g8.256 (SHA1 edab4b7fab4a016e653a546110a4bc8c563e7cb7); PinMAME assigns the same GameData and display layout. | 1987 | lwar_a83 | compatible |
Parent set: lwar_a83 — 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 lwar_a81, lwar_a83 and lwar_e90
pinmame.core.4ec52ff0ac13
src/wpc/degames.c lines 9-16 and 122-145 define Laser War's Data East CPU Rev 1 hardware, display board, GEN_DE GameData, FLIP4746 and three-driver clone tree; src/wpc/s11.c lines 537-554 apply Data East special-output offsets {3,4,5,1,0,2}, lines 618-623 connect the six PIA handlers, and lines 714-749 comment them SS6, SS5, SST2, SST3, SS1 and SS4. Treating those shared comments as physical special-solenoid identities produces an order that conflicts with the game-specific 17-22 community chart. Lines 1130-1134 type only public 1-3 and all 25-32 as #89 bulbs, which conflicts with the chart's additional left-bank flashers, right-bank knocker, and unfitted circuits. INITGAMES11 leaves the inversion mask zero-initialized
manual.data-east.laser-war.1987
42-page image-only archive reconstructed in page order from the complete ManualsLib page-image set. The retained `_bg` images preserve playfield switch, lamp, and coil location drawings on PDF pages 20, 22, and 24, plus the coil-harness and CPU schematic drawings on pages 28 and 33. The typeset chart text is absent from this archive, so no matrix or coil-table transcription is attributed to it.
vpx-table.laser-war-vr-2-0
vpxtool git:0561bb4; playfield bounds asserted as (0,0)-(964,2162)
vpx-script.laser-war-vr-2-0
cGameName lwar_a83; switch handlers, trough/eject/kickback causality, SolCallback and Lampz bindings
vpx-extraction.laser-war-vr-2-0
2927 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 9642a642737c4513b1a26d311a5c298e0f7c511e83f7bdfad7d70f0e211c10c1
human-review.laser-war-rendered-manual
All 42 page images were retained. The switch, lamp, and coil location drawings on pages 20, 22, and 24 and the complete schematic drawings on pages 28 and 33 were visually reviewed. The archive has no text layer, and its `_bg` images omit the typeset matrix/table text.
tech-chart.pinballrebel.data-east-laser-war
Community-compiled one-page 2021 Inkochnito Laser War technical chart, acquired from https://www.pinballrebel.com/pinball/cards/Tech_Charts/Data_East_Laser_War_Tech_Chart.pdf. It prints the complete switch and lamp matrices, Coil No. rows 1L-22, driver transistors, wire colours, connector pins, flipper circuits, and fuse list. It is secondary evidence, not a Data East factory manual.
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.