Lethal Weapon 3

Partial

Data East1992DATAEASTdata-east.lethal-weapon-3.1992

Wire it up

what an authoring tool needs first
Bind this ROM
lw3_208

9 ROM sets resolve to this machine. Clones share the definition unless a hardware difference is listed.

Controller platform
pinmame.dataeast

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.

Displays

No display inventory recorded yet.

Address space
Switches
1–55 (44)
Solenoids
1–48 (24)
Lamps
1–64 (62)

Coverage

Partial

Real evidence exists, but authoring requirements are still missing or in conflict. Verify before shipping a table.

Catalog Identity
observed
Address Enumeration
candidate
Semantic Naming
candidate
Physical Wiring
candidate
Mechanisms
unknown
Variant Coverage
candidate
Recreation Knowledge
candidate
Still missing · 13
IdentityController PlatformInput EnumerationInput SemanticsOutput EnumerationOutput SemanticsDisplay InventoryMechanism InventoryMechanism BehaviorPolarityVariant DifferencesRecreation NotesProvenance

Switches

The addresses PinMAME reports as closed. Numbers are the public API values, not matrix hardware pins.

44 addresses

Switch map

Sequential addresses, grouped in columns of eight.

used unused
 
+0
+1
+2
+3
+4
+5
+6
+7
1–8
9–16
17–24
25–32
33–40
41–48
49–56
Hover or tap an address to identify it.
44 shown
# Name Device ID Evidence
1
Tilt
switch.tilt candidate
9
Plunger Button / Lockbar Launch
switch.plunger-button-lockbar-launch candidate
10
Trough Drain Entry
switch.trough-drain-entry candidate
11
Trough 1 (Front)
switch.trough-1-front candidate
12
Trough 2 (Middle)
switch.trough-2-middle candidate
13
Trough 3 (Deepest / Ball Release)
switch.trough-3-deepest-ball-release candidate
14
Auto-Plunger / Shooter Lane
switch.auto-plunger-shooter-lane candidate
15
Left Flipper Button
switch.left-flipper-button candidate
16
Right Flipper Button
switch.right-flipper-button candidate
17
Stand-Up Target (Left Bank 1)
switch.stand-up-target-left-bank-1 candidate
18
Stand-Up Target (Left Bank 2)
switch.stand-up-target-left-bank-2 candidate
19
Stand-Up Target (Left Bank 3)
switch.stand-up-target-left-bank-3 candidate
20
Stand-Up Target (Left Bank 4)
switch.stand-up-target-left-bank-4 candidate
21
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch candidate
22
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch.22 candidate
25
Left Drop Target 1
switch.left-drop-target-1 candidate
26
Left Drop Target 2
switch.left-drop-target-2 candidate
27
Left Drop Target 3
switch.left-drop-target-3 candidate
28
Left Inlane
switch.left-inlane candidate
29
Left Inlane (Lower)
switch.left-inlane-lower candidate
30
Left Slingshot
switch.left-slingshot candidate
31
VUK / Top Pop Kicker
switch.vuk-top-pop-kicker candidate
32
Ball Lock 2 (Saucer)
switch.ball-lock-2-saucer candidate
33
Right Drop Target 1
switch.right-drop-target-1 candidate
34
Right Drop Target 2
switch.right-drop-target-2 candidate
35
Right Drop Target 3
switch.right-drop-target-3 candidate
36
Right Outlane
switch.right-outlane candidate
37
Right Inlane
switch.right-inlane candidate
38
Right Slingshot
switch.right-slingshot candidate
39
Stand-Up Target (Upper)
switch.stand-up-target-upper candidate
40
Ball Lock 1 (Saucer)
switch.ball-lock-1-saucer candidate
41
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch.41 candidate
42
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch.42 candidate
43
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch.43 candidate
44
Top Pop Bumper
switch.top-pop-bumper candidate
45
Middle Pop Bumper
switch.middle-pop-bumper candidate
46
Bottom Pop Bumper
switch.bottom-pop-bumper candidate
47
Spinner (Left)
switch.spinner-left candidate
48
Spinner (Right)
switch.spinner-right candidate
49
Rollover / Wire Trigger
switch.rollover-wire-trigger candidate
50
Rollover / Wire Trigger
switch.rollover-wire-trigger.50 candidate
52
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch.52 candidate
54
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch.54 candidate
55
Wire Trigger / Lane Switch
switch.wire-trigger-lane-switch.55 candidate

Controlled devices

Everything the ROM can energise, grouped the way a table author builds it.

Coils, magnets & motors

14
14 shown
# Name Device ID Evidence
1
Trough Eject (Drain to Trough)
device.trough-eject-drain-to-trough candidate
2
Ball Release (Trough to Shooter)
device.ball-release-trough-to-shooter candidate
4
Ball Lock 1 Release
device.ball-lock-1-release candidate
5
Ball Lock 2 Release
device.ball-lock-2-release candidate
6
Left Drop Target Bank Reset (M)
device.left-drop-target-bank-reset-m candidate
7
Right Drop Target Bank Reset (R)
device.right-drop-target-bank-reset-r candidate
8
Knocker
device.knocker candidate
11
GI Relay
device.gi-relay candidate
12
Auto-Plunger / Auto-Fire
device.auto-plunger-auto-fire candidate
14
Rotate Beacons (Mars Light)
device.rotate-beacons-mars-light candidate
15
VUK / Top Pop Kicker
device.vuk-top-pop-kicker candidate
22
Kickback
device.kickback candidate
46
Right Flipper
device.flipper-lower-right candidate
48
Left Flipper
device.flipper-lower-left candidate

Flashers

10
10 shown
# Name Device ID Evidence
9
Flasher / X4 Lights (IWSC Building)
device.flasher-x4-lights-iwsc-building candidate
16
Flasher / X4 Lights (Backglass Top Right Copter)
device.flasher-x4-lights-backglass-top-right-copter candidate
25
Flasher 1R (Playfield)
device.flasher-1r-playfield candidate
26
Flasher 2R (Flippers Dome)
device.flasher-2r-flippers-dome candidate
27
Flasher 3R (Flippers Dome + PF)
device.flasher-3r-flippers-dome-pf candidate
28
Flasher 4R (Flippers Dome)
device.flasher-4r-flippers-dome candidate
29
Flasher 5R (Flippers Dome + PF)
device.flasher-5r-flippers-dome-pf candidate
30
Flasher 6R (Flippers Dome + PF)
device.flasher-6r-flippers-dome-pf candidate
31
Flasher 7R (Playfield)
device.flasher-7r-playfield candidate
32
Flasher 8R (Playfield)
device.flasher-8r-playfield candidate

Lamps

62

Lamp map

Sequential addresses, grouped in columns of eight.

used unused
 
+0
+1
+2
+3
+4
+5
+6
+7
1–8
9–16
17–24
25–32
33–40
41–48
49–56
57–64
Hover or tap an address to identify it.
62 shown
# Name Device ID Evidence
1
outputs 1
lamp.outputs-1 candidate
2
outputs 2
lamp.outputs-2 candidate
3
outputs 3
lamp.outputs-3 candidate
4
outputs 4
lamp.outputs-4 candidate
5
outputs 5
lamp.outputs-5 candidate
6
outputs 6
lamp.outputs-6 candidate
7
outputs 7
lamp.outputs-7 candidate
8
outputs 8
lamp.outputs-8 candidate
9
outputs 9
lamp.outputs-9 candidate
10
outputs 10
lamp.outputs-10 candidate
11
outputs 11
lamp.outputs-11 candidate
12
outputs 12
lamp.outputs-12 candidate
13
outputs 13
lamp.outputs-13 candidate
14
outputs 14
lamp.outputs-14 candidate
15
outputs 15
lamp.outputs-15 candidate
16
outputs 16
lamp.outputs-16 candidate
17
outputs 17
lamp.outputs-17 candidate
18
outputs 18
lamp.outputs-18 candidate
19
outputs 19
lamp.outputs-19 candidate
20
outputs 20
lamp.outputs-20 candidate
21
outputs 21
lamp.outputs-21 candidate
22
outputs 22
lamp.outputs-22 candidate
23
outputs 23
lamp.outputs-23 candidate
24
outputs 24
lamp.outputs-24 candidate
25
outputs 25
lamp.outputs-25 candidate
26
outputs 26
lamp.outputs-26 candidate
27
outputs 27
lamp.outputs-27 candidate
28
outputs 28
lamp.outputs-28 candidate
29
outputs 29
lamp.outputs-29 candidate
30
outputs 30
lamp.outputs-30 candidate
31
outputs 31
lamp.outputs-31 candidate
32
outputs 32
lamp.outputs-32 candidate
34
outputs 34
lamp.outputs-34 candidate
35
outputs 35
lamp.outputs-35 candidate
36
outputs 36
lamp.outputs-36 candidate
37
outputs 37
lamp.outputs-37 candidate
38
outputs 38
lamp.outputs-38 candidate
39
outputs 39
lamp.outputs-39 candidate
40
outputs 40
lamp.outputs-40 candidate
41
outputs 41
lamp.outputs-41 candidate
42
outputs 42
lamp.outputs-42 candidate
43
outputs 43
lamp.outputs-43 candidate
44
outputs 44
lamp.outputs-44 candidate
45
outputs 45
lamp.outputs-45 candidate
46
outputs 46
lamp.outputs-46 candidate
47
outputs 47
lamp.outputs-47 candidate
48
outputs 48
lamp.outputs-48 candidate
49
outputs 49
lamp.outputs-49 candidate
50
outputs 50
lamp.outputs-50 candidate
51
outputs 51
lamp.outputs-51 candidate
52
outputs 52
lamp.outputs-52 candidate
53
outputs 53
lamp.outputs-53 candidate
54
outputs 54
lamp.outputs-54 candidate
55
outputs 55
lamp.outputs-55 candidate
56
outputs 56
lamp.outputs-56 candidate
58
outputs 58
lamp.outputs-58 candidate
59
outputs 59
lamp.outputs-59 candidate
60
outputs 60
lamp.outputs-60 candidate
61
outputs 61
lamp.outputs-61 candidate
62
outputs 62
lamp.outputs-62 candidate
63
outputs 63
lamp.outputs-63 candidate
64
outputs 64
lamp.outputs-64 candidate

Recreation notes

Working knowledge that has no schema field yet — edition differences, tuning values, pitfalls.

Coverage
partial - source-derived recreation knowledge requiring validation

Overview

Legacy evidence identifies this candidate as Data East (1992). The information below is preserved for recreation work but is not automatically treated as validated physical-machine fact.

Playfield devices

Switch, lamp/GI, and controlled-device candidates are in the adjacent machine definition. Source-specific implementation notes are retained below.

Custom mechanisms

No custom mechanism conclusion has been validated. Manuals, schematics, PinMAME source, and gameplay evidence still need to be checked.

Ball-state transitions

Ball paths, trough ordering, locks, kickouts, and causal transitions have not yet been normalized. Relevant source notes follow under Evidence notes.

Controller interactions

Controller callbacks and bindings are candidate evidence only until reconciled against PinMAME and physical documentation.

Service and setup information

Unknown; locate operator/service documentation.

Timing and tuning observations

Source timing values may describe a particular VPX implementation rather than physical hardware and require review.

Recreation guidance

Do not treat this partial definition as a complete authoring specification. Resolve every coverage requirement and conflict before promotion.

Evidence notes

  • games/lw3.json#/switches/0._note: vpmNudge.TiltSwitch = 1
  • games/lw3.json#/switches/1._note: Controller.Switch(9) set by PlungerKey and LockBarKey
  • games/lw3.json#/switches/2._note: Drain entry — Controller.Switch(10), UpdateTrough cascade. SolTrough kicks this toward shooter lane.
  • games/lw3.json#/switches/3._note: Trough position 1 (closest to drain) — Controller.Switch(11)
  • games/lw3.json#/switches/4._note: Trough position 2 — Controller.Switch(12)
  • games/lw3.json#/switches/5._note: Trough position 3 (deepest) — SolRelease kicks from here. Balls created here at init.
  • games/lw3.json#/switches/6._note: plungerIM.switch = 14 (cvpmImpulseP); Autofire sol 12 calls plungerIM.AutoFire
  • games/lw3.json#/switches/7._note: Controller.Switch(15) set by LeftFlipperKey
  • games/lw3.json#/switches/8._note: Controller.Switch(16) set by RightFlipperKey
  • games/lw3.json#/switches/9._inferred_type: standup_target
  • games/lw3.json#/switches/9._note: STHit 17
  • games/lw3.json#/switches/10._inferred_type: standup_target
  • games/lw3.json#/switches/10._note: STHit 18
  • games/lw3.json#/switches/11._inferred_type: standup_target
  • games/lw3.json#/switches/11._note: STHit 19
  • games/lw3.json#/switches/12._inferred_type: standup_target
  • games/lw3.json#/switches/12._note: STHit 20
  • games/lw3.json#/switches/13._inferred_type: rollover
  • games/lw3.json#/switches/13._note: Controller.Switch(21) via Sw21_Hit/Sw21_UnHit
  • games/lw3.json#/switches/14._inferred_type: rollover
  • games/lw3.json#/switches/14._note: Controller.Switch(22) via Sw22_Hit/Sw22_UnHit
  • games/lw3.json#/switches/15._inferred_type: drop_target
  • games/lw3.json#/switches/15._note: DTDrop via DTArray, reset by dtMSolDropUp (sol 6)
  • games/lw3.json#/switches/16._inferred_type: drop_target
  • games/lw3.json#/switches/16._note: DTDrop via DTArray, reset by dtMSolDropUp (sol 6)
  • games/lw3.json#/switches/17._inferred_type: drop_target
  • games/lw3.json#/switches/17._note: DTDrop via DTArray, reset by dtMSolDropUp (sol 6)
  • games/lw3.json#/switches/18._inferred_type: rollover
  • games/lw3.json#/switches/18._note: Controller.Switch(28) via Sw28_Hit/Sw28_UnHit
  • games/lw3.json#/switches/19._inferred_type: rollover
  • games/lw3.json#/switches/19._note: Controller.Switch(29), triggers leftInlaneSpeedLimit
  • games/lw3.json#/switches/20._inferred_type: slingshot
  • games/lw3.json#/switches/20._note: vpmTimer.PulseSw 30 in LeftSlingShot_Slingshot
  • games/lw3.json#/switches/21._inferred_type: vuk
  • games/lw3.json#/switches/21._note: sw31_Hit sets Controller.switch(31)=1; VukTopPop (sol 15) kicks via sw31.KickZ
  • games/lw3.json#/switches/22._inferred_type: kicker
  • games/lw3.json#/switches/22._note: bsLock2.InitSaucer sw32; sw32_Hit calls bsLock2.AddBall
  • games/lw3.json#/switches/23._inferred_type: drop_target
  • games/lw3.json#/switches/23._note: DTDrop via DTArray, reset by dtRSolDropUp (sol 7)
  • games/lw3.json#/switches/24._inferred_type: drop_target
  • games/lw3.json#/switches/24._note: DTDrop via DTArray, reset by dtRSolDropUp (sol 7)
  • games/lw3.json#/switches/25._inferred_type: drop_target
  • games/lw3.json#/switches/25._note: DTDrop via DTArray, reset by dtRSolDropUp (sol 7)
  • games/lw3.json#/switches/26._inferred_type: rollover
  • games/lw3.json#/switches/26._note: Controller.Switch(36) via Sw36_Hit/Sw36_UnHit
  • games/lw3.json#/switches/27._inferred_type: rollover
  • games/lw3.json#/switches/27._note: Controller.Switch(37), triggers rightInlaneSpeedLimit
  • games/lw3.json#/switches/28._inferred_type: slingshot
  • games/lw3.json#/switches/28._note: vpmTimer.PulseSw 38 in RightSlingShot_Slingshot
  • games/lw3.json#/switches/29._inferred_type: standup_target
  • games/lw3.json#/switches/29._note: STHit 39
  • games/lw3.json#/switches/30._inferred_type: kicker
  • games/lw3.json#/switches/30._note: bsLock.InitSaucer sw40; sw40_Hit calls bsLock.AddBall
  • games/lw3.json#/switches/31._inferred_type: rollover
  • games/lw3.json#/switches/31._note: Controller.Switch(41) via Sw41_Hit/Sw41_UnHit
  • games/lw3.json#/switches/32._inferred_type: rollover
  • games/lw3.json#/switches/32._note: Controller.Switch(42) via Sw42_Hit/Sw42_UnHit
  • games/lw3.json#/switches/33._inferred_type: rollover
  • games/lw3.json#/switches/33._note: Controller.Switch(43) via Sw43_Hit/Sw43_UnHit
  • games/lw3.json#/switches/34._inferred_type: bumper
  • games/lw3.json#/switches/34._note: vpmTimer.PulseSw 44 in Bumper1_Hit
  • games/lw3.json#/switches/35._inferred_type: bumper
  • games/lw3.json#/switches/35._note: vpmTimer.PulseSw 45 in Bumper2_Hit
  • games/lw3.json#/switches/36._inferred_type: bumper
  • games/lw3.json#/switches/36._note: vpmTimer.PulseSw 46 in Bumper3_Hit
  • games/lw3.json#/switches/37._inferred_type: spinner
  • games/lw3.json#/switches/37._note: vpmTimer.PulseSw 47 in Sw47_Spin
  • games/lw3.json#/switches/38._inferred_type: spinner
  • games/lw3.json#/switches/38._note: vpmTimer.PulseSw 48 in Sw48_Spin
  • games/lw3.json#/switches/39._inferred_type: rollover
  • games/lw3.json#/switches/39._note: vpmTimer.PulseSw 49 in Sw49_Hit
  • games/lw3.json#/switches/40._inferred_type: rollover
  • games/lw3.json#/switches/40._note: vpmTimer.PulseSw 50 in Sw50_Hit
  • games/lw3.json#/switches/41._inferred_type: rollover
  • games/lw3.json#/switches/41._note: Controller.Switch(52) via Sw52_Hit/Sw52_UnHit
  • games/lw3.json#/switches/42._inferred_type: rollover
  • games/lw3.json#/switches/42._note: Controller.Switch(54) via Sw54_Hit/Sw54_UnHit
  • games/lw3.json#/switches/43._inferred_type: rollover
  • games/lw3.json#/switches/43._note: Controller.Switch(55) via Sw55_Hit/Sw55_UnHit
  • games/lw3.json#/coils/0._vbscript_callback: SolTrough
  • games/lw3.json#/coils/0._inferred_type: ball_management
  • games/lw3.json#/coils/0._note: Kicks sw10 with force 60/angle 30 — pushes ball from drain entry toward trough stack
  • games/lw3.json#/coils/1._vbscript_callback: SolRelease
  • games/lw3.json#/coils/1._inferred_type: ball_management
  • games/lw3.json#/coils/1._note: Kicks sw13 with force 60/angle 10 — releases ball from deepest trough position to shooter lane
  • games/lw3.json#/coils/2._vbscript_callback: bsLock.SolOut
  • games/lw3.json#/coils/2._inferred_type: ball_management
  • games/lw3.json#/coils/2._note: cvpmBallStack release — bsLock.InitSaucer sw40, angle 165, force 17
  • games/lw3.json#/coils/3._vbscript_callback: bsLock2.SolOut
  • games/lw3.json#/coils/3._inferred_type: ball_management
  • games/lw3.json#/coils/3._note: cvpmBallStack release — bsLock2.InitSaucer sw32, angle 280, force 17
  • games/lw3.json#/coils/4._vbscript_callback: dtMSolDropUp
  • games/lw3.json#/coils/4._inferred_type: drop_target_reset
  • games/lw3.json#/coils/4._note: Resets drop targets sw25, sw26, sw27 via DTRaise
  • games/lw3.json#/coils/5._vbscript_callback: dtRSolDropUp
  • games/lw3.json#/coils/5._inferred_type: drop_target_reset
  • games/lw3.json#/coils/5._note: Resets drop targets sw33, sw34, sw35 via DTRaise
  • games/lw3.json#/coils/6._vbscript_callback: SolKnocker
  • games/lw3.json#/coils/6._inferred_type: knocker
  • games/lw3.json#/coils/7._vbscript_callback: Sol09
  • games/lw3.json#/coils/7._inferred_type: flasher
  • games/lw3.json#/coils/7._note: SolModCallback; controls F109.state and F109a.state
  • games/lw3.json#/coils/8._vbscript_callback: SolRelayGI
  • games/lw3.json#/coils/8._inferred_type: mechanism
  • games/lw3.json#/coils/8._note: SolModCallback; controls GI collection state and pSpotBulbs opacity. DE A-relay for general illumination.
  • games/lw3.json#/coils/9._vbscript_callback: Autofire
  • games/lw3.json#/coils/9._inferred_type: ball_management
  • games/lw3.json#/coils/9._note: Calls plungerIM.AutoFire (cvpmImpulseP) — fires ball from shooter lane
  • games/lw3.json#/coils/10._vbscript_callback: SolRotateBeacons
  • games/lw3.json#/coils/10._inferred_type: mechanism
  • games/lw3.json#/coils/10._note: Enables BeaconTimer and toggles BeaconBlue image
  • games/lw3.json#/coils/11._vbscript_callback: VukTopPop
  • games/lw3.json#/coils/11._inferred_type: ball_management
  • games/lw3.json#/coils/11._note: Kicks sw31 via KickZ — vertical upkicker
  • games/lw3.json#/coils/12._vbscript_callback: Sol16
  • games/lw3.json#/coils/12._inferred_type: flasher
  • games/lw3.json#/coils/12._note: SolModCallback; controls F116.state
  • games/lw3.json#/coils/13._vbscript_callback: SolKickback
  • games/lw3.json#/coils/13._inferred_type: mechanism
  • games/lw3.json#/coils/13._note: kickback.fire when enabled, kickback.pullback when disabled
  • games/lw3.json#/coils/14._vbscript_callback: Flash1R
  • games/lw3.json#/coils/14._inferred_type: flasher
  • games/lw3.json#/coils/14._note: SolModCallback; 1R PF — BG Mel Top
  • games/lw3.json#/coils/15._vbscript_callback: Flash2R
  • games/lw3.json#/coils/15._inferred_type: flasher
  • games/lw3.json#/coils/15._note: SolModCallback; controls F126.state, F126a.state
  • games/lw3.json#/coils/16._vbscript_callback: Flash3R
  • games/lw3.json#/coils/16._inferred_type: flasher
  • games/lw3.json#/coils/16._note: SolModCallback; BG Bottom Left Rails — controls F127.state, F127a.state
  • games/lw3.json#/coils/17._vbscript_callback: Flash4R
  • games/lw3.json#/coils/17._inferred_type: flasher
  • games/lw3.json#/coils/17._note: SolModCallback; controls F128.state, F128a.state, F128b.state
  • games/lw3.json#/coils/18._vbscript_callback: Flash5R
  • games/lw3.json#/coils/18._inferred_type: flasher
  • games/lw3.json#/coils/18._note: SolModCallback; BG Mel Bottom — controls F129.state, F129a.state
  • games/lw3.json#/coils/19._vbscript_callback: Flash6R
  • games/lw3.json#/coils/19._inferred_type: flasher
  • games/lw3.json#/coils/19._note: SolModCallback; controls F130.state, F130a-c.state
  • games/lw3.json#/coils/20._vbscript_callback: Flash7R
  • games/lw3.json#/coils/20._inferred_type: flasher
  • games/lw3.json#/coils/20._note: SolModCallback; BG Left 1 — controls F131.state
  • games/lw3.json#/coils/21._vbscript_callback: Flash8R
  • games/lw3.json#/coils/21._inferred_type: flasher
  • games/lw3.json#/coils/21._note: SolModCallback; BG Left 2 — controls F132.state, F132a.state. Note: sol 32 appears assigned twice in script (duplicate line).
  • games/lw3.json#/coils/22._vbscript_callback: SolRFlipper
  • games/lw3.json#/coils/22._inferred_type: flipper
  • games/lw3.json#/coils/22._note: sLRFlipper from DE.VBS framework (core.vbs constant = 46)
  • games/lw3.json#/coils/23._vbscript_callback: SolLFlipper
  • games/lw3.json#/coils/23._inferred_type: flipper
  • games/lw3.json#/coils/23._note: sLLFlipper from DE.VBS framework (core.vbs constant = 48)
  • games/lw3.json#/lamps/42._note: LM_FL_L44 — flasher-style lamp (driven via lamp matrix, not solenoid)
  • games/lw3.json#/_source/confidence_notes: High confidence on switches/coils from VPW 2.0 script. Trough is manual (no bsTrough/cvpmTrough) — uses direct Controller.Switch calls on sw10-sw13 with custom UpdateTrough cascading logic. 3 balls, sw13=deepest, sw10=drain entry. SolTrough(1) kicks sw10 toward shooter, SolRelease(2) kicks sw13 (ball release). Two ball locks via cvpmBallStack: bsLock(sw40, sol 4) and bsLock2(sw32, sol 5). Auto-plunger via cvpmImpulseP on swplunger with .switch=14. Lamp IDs from VLM array naming convention (LM_IN_L##); lamp descriptions unavailable without manual — IDs only. Flasher VPX names from Flash*R handler bodies (F125-F132, F109, F116). DE platform from LoadVPM 'DE.VBS'. Flipper solenoid IDs (sLRFlipper=46, sLLFlipper=48) are DE.VBS framework constants. Sol 32 appears assigned twice (Flash8R) in script — likely a copy error, second line is duplicate.

Unresolved questions

  • Is the I/O enumeration complete for every supported physical/controller variant?
  • Which inferred VPX behaviors reflect real hardware, and which are table-script conveniences?
  • Are all mechanism home states, sensors, motion constraints, and ball interactions documented?

Sources

  • legacy.game.lw3: games/lw3.json at the pinned migration revision.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
lw3_301Lethal Weapon 3 (3.01 unofficial MOD) 2020lw3_208
lw3_300Lethal Weapon 3 (3.00 unofficial MOD) 2020lw3_208
lw3_208pLethal Weapon 3 (2.08p, Voices Mod) 2013lw3_208
lw3_e204Lethal Weapon 3 (2.04 English) 1992lw3_208
lw3_208Lethal Weapon 3 (2.08) 1992
lw3_207Lethal Weapon 3 (2.07 Canadian) 1992lw3_208
lw3_205Lethal Weapon 3 (2.05) 1992lw3_208
lw3_203Lethal Weapon 3 (2.03) 1992lw3_208

Parent set: lw3_208 — clones share this definition unless a hardware difference is noted.

Evidence

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.

  • Legacy definition

    legacy.game.lw3

    games/lw3.json; origin=vbscript-parser

    by
    pinmame-game-defs contributors
    rev
    4ea106d08072
  • PinMAME catalog

    BSD-3-Clause

    pinmame.catalog.4ec52ff0ac13

    PinmameGetGames

    by
    PinMAME contributors
    rev
    4ec52ff0ac13

Something wrong or missing?

This definition still has 13 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.

Same platform