Earthshaker

Partial

Williams1989S11williams.earthshaker.1989

2 unresolved conflicts

  • Legacy sources disagree on label: 'Lower Right Flipper' versus 'Right Flipper'. binding:pinmame.output.solenoid/46/None
  • Legacy sources disagree on label: 'Lower Left Flipper' versus 'Left Flipper'. binding:pinmame.output.solenoid/48/None

Wire it up

what an authoring tool needs first
Bind this ROM
esha_la3

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

Controller platform
pinmame.s11

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
-7–84 (62)
Solenoids
1–48 (28)
Lamps
1–57 (57)
Cabinet & flipper inputs
81flipper.upper.right82flipper.lower.right83flipper.upper.left84flipper.lower.left3cabinet.start4cabinet.coin.35cabinet.coin.26cabinet.coin.1

Portable roles — the consuming engine maps them to its own input actions.

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.

62 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
57–64
65–72
73–80
81–88
Hover or tap an address to identify it.

Outside the matrix-7, -6, -5, -4 — dedicated, diagnostic or flipper-column addresses. See the table below.

62 shown
# Name Device ID Role Evidence
-7
Advance
switch.advance
candidate
-6
Up/Down
switch.up-down
candidate
-5
CPU Diagnostics
switch.cpu-diagnostics
candidate
-4
Sound Diagnostics
switch.sound-diagnostics
candidate
1
Tilt
switch.tilt
candidate
2
Ball Roll Tilt
switch.ball-roll-tilt
candidate
3
Start Button
switch.start-button
cabinet.start
candidate
4
Coin Button 3
switch.coin-3
cabinet.coin.3
candidate
5
Coin Button 2
switch.coin-2
cabinet.coin.2
candidate
6
Coin Button 1
switch.coin-1
cabinet.coin.1
candidate
7
Slam Tilt
switch.slam-tilt
candidate
8
High Score Reset
switch.high-score-reset
candidate
9
Tilt
switch.tilt.9
candidate
10
Outhole
switch.outhole
candidate
11
Trough 1
switch.trough-1
candidate
12
Trough 2
switch.trough-2
candidate
13
Trough 3
switch.trough-3
candidate
14
Right Inlane
switch.right-inlane
candidate
15
Wire Trigger 15
switch.wire-trigger-15
candidate
16
Wire Trigger 16
switch.wire-trigger-16
candidate
17
Wire Trigger 17
switch.wire-trigger-17
candidate
18
Left Inlane
switch.left-inlane
candidate
19
Stand Up Target 19
switch.stand-up-target-19
candidate
20
Left VUK Saucer
switch.left-vuk-saucer
candidate
21
Stand Up Target 21
switch.stand-up-target-21
candidate
22
Stand Up Target 22
switch.stand-up-target-22
candidate
23
Stand Up Target 23
switch.stand-up-target-23
candidate
24
Stand Up Target 24
switch.stand-up-target-24
candidate
25
Institute Elevator Position Low
switch.institute-elevator-position-low
candidate
26
Institute Elevator Position High
switch.institute-elevator-position-high
candidate
27
Drop Target Left
switch.drop-target-left
candidate
28
Drop Target Center
switch.drop-target-center
candidate
29
Drop Target Right
switch.drop-target-right
candidate
30
Stand Up Target 30
switch.stand-up-target-30
candidate
31
Gate 31
switch.gate-31
candidate
32
Gate 32
switch.gate-32
candidate
33
Wire Trigger 33
switch.wire-trigger-33
candidate
34
Wire Trigger 34
switch.wire-trigger-34
candidate
35
Wire Trigger 35
switch.wire-trigger-35
candidate
36
Wire Trigger 36
switch.wire-trigger-36
candidate
37
Top VUK Saucer
switch.top-vuk-saucer
candidate
38
Subway Entry
switch.subway-entry
candidate
39
Subway Exit
switch.subway-exit
candidate
40
Bottom VUK Saucer
switch.bottom-vuk-saucer
candidate
41
Spinner
switch.spinner
candidate
42
California-Nevada Diverter Position
switch.california-nevada-diverter-position
candidate
43
Gate 43
switch.gate-43
candidate
44
Gate 44
switch.gate-44
candidate
45
Left Ramp Wire Trigger 45
switch.left-ramp-wire-trigger-45
candidate
46
Left Ramp Wire Trigger 46
switch.left-ramp-wire-trigger-46
candidate
50
Shooter Lane
switch.shooter-lane
candidate
52
Top Bumper
switch.top-bumper
candidate
53
Middle Bumper
switch.middle-bumper
candidate
54
Bottom Bumper
switch.bottom-bumper
candidate
55
Left Slingshot
switch.left-slingshot
candidate
56
Right Slingshot
switch.right-slingshot
candidate
57
Right Flipper Button
switch.right-flipper-button
candidate
58
Left Flipper Button
switch.left-flipper-button
candidate
81
Upper Right Flipper
switch.flipper-upper-right
flipper.upper.right
candidate
82
Lower Right Flipper
switch.flipper-lower-right
flipper.lower.right
candidate
83
Upper Left Flipper
switch.flipper-upper-left
flipper.upper.left
candidate
84
Lower Left Flipper
switch.flipper-lower-left
flipper.lower.left
candidate

Controlled devices

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

Coils, magnets & motors

28
28 shown
# Name Device ID Kind Evidence
1
Outhole Kicker
device.outhole-kicker Coil candidate
2
Ball Release
device.ball-release Coil candidate
3
Drop Target Reset
device.drop-target-reset Coil candidate
4
California-Nevada Diverter
device.california-nevada-diverter Coil candidate
5
Left VUK
device.left-vuk Coil candidate
6
Bottom VUK
device.bottom-vuk Coil candidate
7
Knocker
device.knocker Coil candidate
9
Institute Drop Motor
device.institute-drop-motor Motor candidate
10
Upper Playfield GI
device.upper-playfield-gi Coil candidate
12
Flasher Backglass Group
device.flasher-backglass-group Coil candidate
13
Top VUK
device.top-vuk Coil candidate
14
Flasher 114
device.flasher-114 Coil candidate
15
Playfield GI
device.playfield-gi Coil candidate
16
On Ramp and Bumper Flasher
device.on-ramp-and-bumper-flasher Coil candidate
22
Shaker Motor
device.shaker-motor Motor candidate
23
ROM Started
device.game-on Coil candidate
25
Captive Ball Flasher
device.captive-ball-flasher Coil candidate
26
Center Ramp 1 and Building Flasher
device.center-ramp-1-and-building-flasher Coil candidate
27
Center Ramp 2 and Spinner Flasher
device.center-ramp-2-and-spinner-flasher Coil candidate
28
Eject Hole Flasher
device.eject-hole-flasher Coil candidate
29
Center Ramp 4 Flasher
device.center-ramp-4-flasher Coil candidate
30
Right Ramp 1 Flasher
device.right-ramp-1-flasher Coil candidate
31
Right Ramp 2 Flasher
device.right-ramp-2-flasher Coil candidate
32
Upper Playfield Flasher
device.upper-playfield-flasher Coil candidate
34
Upper Right Flipper
device.flipper-upper-right Coil candidate
36
Upper Left Flipper
device.flipper-upper-left Coil candidate
46
Lower Right Flipper
device.flipper-lower-right Coil candidate
48
Lower Left Flipper
device.flipper-lower-left Coil candidate

Lamps

57

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.
57 shown
# Name Device ID Evidence
1
Lamp 1
lamp.lamp-1 candidate
2
Lamp 2
lamp.lamp-2 candidate
3
Lamp 3
lamp.lamp-3 candidate
4
Lamp 4
lamp.lamp-4 candidate
5
Lamp 5
lamp.lamp-5 candidate
6
Lamp 6
lamp.lamp-6 candidate
7
Lamp 7
lamp.lamp-7 candidate
8
Lamp 8
lamp.lamp-8 candidate
9
Lamp 9
lamp.lamp-9 candidate
10
Lamp 10
lamp.lamp-10 candidate
11
Lamp 11
lamp.lamp-11 candidate
12
Lamp 12
lamp.lamp-12 candidate
13
Lamp 13
lamp.lamp-13 candidate
14
Lamp 14
lamp.lamp-14 candidate
15
Lamp 15
lamp.lamp-15 candidate
16
Lamp 16
lamp.lamp-16 candidate
17
Lamp 17
lamp.lamp-17 candidate
18
Lamp 18
lamp.lamp-18 candidate
19
Lamp 19
lamp.lamp-19 candidate
20
Lamp 20
lamp.lamp-20 candidate
21
Lamp 21
lamp.lamp-21 candidate
22
Lamp 22
lamp.lamp-22 candidate
23
Lamp 23
lamp.lamp-23 candidate
24
Lamp 24
lamp.lamp-24 candidate
25
Lamp 25
lamp.lamp-25 candidate
26
Lamp 26
lamp.lamp-26 candidate
27
Lamp 27
lamp.lamp-27 candidate
28
Lamp 28
lamp.lamp-28 candidate
29
Lamp 29
lamp.lamp-29 candidate
30
Lamp 30
lamp.lamp-30 candidate
31
Lamp 31
lamp.lamp-31 candidate
32
Lamp 32
lamp.lamp-32 candidate
33
Lamp 33
lamp.lamp-33 candidate
34
Lamp 34
lamp.lamp-34 candidate
35
Lamp 35
lamp.lamp-35 candidate
36
Lamp 36
lamp.lamp-36 candidate
37
Lamp 37
lamp.lamp-37 candidate
38
Lamp 38
lamp.lamp-38 candidate
39
Lamp 39
lamp.lamp-39 candidate
40
Lamp 40
lamp.lamp-40 candidate
41
Lamp 41
lamp.lamp-41 candidate
42
Lamp 42
lamp.lamp-42 candidate
43
Lamp 43
lamp.lamp-43 candidate
44
Lamp 44
lamp.lamp-44 candidate
45
Lamp 45
lamp.lamp-45 candidate
46
Lamp 46
lamp.lamp-46 candidate
47
Lamp 47
lamp.lamp-47 candidate
48
Lamp 48
lamp.lamp-48 candidate
49
Lamp 49
lamp.lamp-49 candidate
50
Lamp 50
lamp.lamp-50 candidate
51
Lamp 51
lamp.lamp-51 candidate
52
Lamp 52
lamp.lamp-52 candidate
53
Lamp 53
lamp.lamp-53 candidate
54
Lamp 54
lamp.lamp-54 candidate
55
Lamp 55
lamp.lamp-55 candidate
56
Lamp 56
lamp.lamp-56 candidate
57
Lamp 57
lamp.lamp-57 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 Williams (1989). 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/esha.json#/switches/0._vbscript_name: vpmNudge.TiltSwitch
  • games/esha.json#/switches/0._note: Framework tilt switch, assigned via vpmNudge.TiltSwitch = 9
  • games/esha.json#/switches/2._note: Ball eject position; ReleaseBall kicks from here
  • games/esha.json#/switches/5._note: Wire trigger with rightInlaneSpeedLimit handler
  • games/esha.json#/switches/9._note: Wire trigger with leftInlaneSpeedLimit handler
  • games/esha.json#/switches/10._note: StandupTarget class instance ST19
  • games/esha.json#/switches/11._note: Locks ball, kicked by SolCallback(05) VUKLeft
  • games/esha.json#/switches/12._note: StandupTarget class instance ST21
  • games/esha.json#/switches/13._note: StandupTarget class instance ST22
  • games/esha.json#/switches/14._note: StandupTarget class instance ST23
  • games/esha.json#/switches/15._note: StandupTarget class instance ST24
  • games/esha.json#/switches/16._note: Set by InstituteTimer — position encoder for Earthquake Institute building elevator motor. ON when at bottom or moving down past 2/3.
  • games/esha.json#/switches/17._note: Set by InstituteTimer — position encoder for Earthquake Institute building elevator motor. ON when at top or bottom, OFF in middle zone.
  • games/esha.json#/switches/18._note: Drop target, reset by SolCallback(03) SolDropReset
  • games/esha.json#/switches/19._note: Drop target, reset by SolCallback(03) SolDropReset
  • games/esha.json#/switches/20._note: Drop target, reset by SolCallback(03) SolDropReset
  • games/esha.json#/switches/21._note: StandupTarget class instance ST30
  • games/esha.json#/switches/22._note: Pulse switch (vpmTimer.pulseSw)
  • games/esha.json#/switches/23._note: Pulse switch (vpmTimer.pulseSw)
  • games/esha.json#/switches/28._note: Locks ball, kicked by SolCallback(13) VUKTop
  • games/esha.json#/switches/29._note: Plays 'Subway' sound on hit
  • games/esha.json#/switches/30._note: sw39wall collidable set false at init
  • games/esha.json#/switches/31._note: Locks ball, kicked by SolCallback(06) VUKBot
  • games/esha.json#/switches/32._note: Pulse switch (vpmTimer.PulseSw)
  • games/esha.json#/switches/33._note: Virtual switch set by OpenFaultTimer/CloseFaultTimer animation — indicates diverter bridge is fully open (1) or closed (0)
  • games/esha.json#/switches/34._note: Pulse switch (vpmTimer.pulseSw)
  • games/esha.json#/switches/35._note: Pulse switch (vpmTimer.pulseSw)
  • games/esha.json#/switches/39._note: Pulse switch via vpmTimer.PulseSw(52)
  • games/esha.json#/switches/40._note: Pulse switch via vpmTimer.PulseSw(53)
  • games/esha.json#/switches/41._note: Pulse switch via vpmTimer.PulseSw(54)
  • games/esha.json#/switches/42._note: Pulse switch via vpmTimer.PulseSw 55
  • games/esha.json#/switches/43._note: Pulse switch via vpmTimer.PulseSw 56
  • games/esha.json#/switches/44._note: Set via Controller.Switch(57) in Table1_KeyDown/KeyUp (RightFlipperKey)
  • games/esha.json#/switches/45._note: Set via Controller.Switch(58) in Table1_KeyDown/KeyUp (LeftFlipperKey)
  • games/esha.json#/coils/0._vbscript_callback: SolOuthole
  • games/esha.json#/coils/0._inferred_type: ball_management
  • games/esha.json#/coils/0._note: Kicks ball from outhole (sw10) toward trough
  • games/esha.json#/coils/1._vbscript_callback: ReleaseBall
  • games/esha.json#/coils/1._inferred_type: ball_management
  • games/esha.json#/coils/1._note: Kicks ball from trough position 1 (sw11) to shooter lane
  • games/esha.json#/coils/2._vbscript_callback: SolDropReset
  • games/esha.json#/coils/2._inferred_type: drop_target_reset
  • games/esha.json#/coils/2._note: Resets drop targets sw27, sw28, sw29 via DTRaise
  • games/esha.json#/coils/3._vbscript_callback: SolFault
  • games/esha.json#/coils/3._inferred_type: diverter
  • games/esha.json#/coils/3._note: Toggles FaultOpen state; animates diverter bridge via OpenFaultTimer/CloseFaultTimer
  • games/esha.json#/coils/4._vbscript_callback: VUKLeft
  • games/esha.json#/coils/4._inferred_type: ball_management
  • games/esha.json#/coils/4._note: Kicks ball from sw20 saucer (KickBall angle=250, vel=15, velz=5)
  • games/esha.json#/coils/5._vbscript_callback: VUKBot
  • games/esha.json#/coils/5._inferred_type: ball_management
  • games/esha.json#/coils/5._note: Kicks ball from sw40 saucer (KickBall angle=0, vel=0, velz=50)
  • games/esha.json#/coils/6._vbscript_callback: vpmSolSound SoundFX("Knocker",DOFKnocker),
  • games/esha.json#/coils/6._inferred_type: sound_effect
  • games/esha.json#/coils/7._vbscript_callback: InstituteDrop
  • games/esha.json#/coils/7._inferred_type: motor
  • games/esha.json#/coils/7._note: Controls Earthquake Institute building elevator motor. Raises/lowers building over 3-second cycle. Position reported via switches 25/26.
  • games/esha.json#/coils/8._vbscript_callback: PFGI2
  • games/esha.json#/coils/8._inferred_type: gi
  • games/esha.json#/coils/8._note: Controls GIU collection (upper playfield general illumination). Inverted: enabled=True turns lights OFF.
  • games/esha.json#/coils/9._vbscript_callback: Flash112
  • games/esha.json#/coils/9._inferred_type: flasher
  • games/esha.json#/coils/9._note: SolModCallBack (PWM). Controls FlBG1-FlBG12 backglass flasher visibility in VR mode.
  • games/esha.json#/coils/10._vbscript_callback: VUKTop
  • games/esha.json#/coils/10._inferred_type: ball_management
  • games/esha.json#/coils/10._note: Kicks ball from sw37 saucer (KickBall angle=0, vel=0, velz=50)
  • games/esha.json#/coils/11._vbscript_callback: Flash114
  • games/esha.json#/coils/11._inferred_type: flasher
  • games/esha.json#/coils/11._note: SolModCallBack (PWM)
  • games/esha.json#/coils/12._vbscript_callback: PFGI
  • games/esha.json#/coils/12._inferred_type: gi
  • games/esha.json#/coils/12._note: Controls GI collection (main playfield general illumination). Inverted: enabled=True turns lights OFF.
  • games/esha.json#/coils/13._vbscript_callback: Flash116
  • games/esha.json#/coils/13._inferred_type: flasher
  • games/esha.json#/coils/13._note: SolModCallBack (PWM). Comment: '16: On Ramp & J Bumper Flasher'
  • games/esha.json#/coils/14._vbscript_callback: ShakerMotor
  • games/esha.json#/coils/14._inferred_type: motor
  • games/esha.json#/coils/14._note: Activates ShakeTimer which applies nudge forces (simulates earthquake shaking)
  • games/esha.json#/coils/15._vbscript_callback: Flash125
  • games/esha.json#/coils/15._inferred_type: flasher
  • games/esha.json#/coils/15._note: SolModCallBack (PWM). Comment: '01C: Captive Ball Flasher'
  • games/esha.json#/coils/16._vbscript_callback: Flash126
  • games/esha.json#/coils/16._inferred_type: flasher
  • games/esha.json#/coils/16._note: SolModCallBack (PWM). Comment: '02C: Center Ramp 1 & Building Flasher'. Also controls FlBG26 backglass flasher.
  • games/esha.json#/coils/17._vbscript_callback: Flash127
  • games/esha.json#/coils/17._inferred_type: flasher
  • games/esha.json#/coils/17._note: SolModCallBack (PWM). Comment: '03C: Center Ramp 2 & Spinner Flasher'. Also controls FlBG27 backglass flasher.
  • games/esha.json#/coils/18._vbscript_callback: Flash128
  • games/esha.json#/coils/18._inferred_type: flasher
  • games/esha.json#/coils/18._note: SolModCallBack (PWM). Comment: '05A: Eject Hole Flasher'. Also controls FlBG28 backglass flasher.
  • games/esha.json#/coils/19._vbscript_callback: Flash129
  • games/esha.json#/coils/19._inferred_type: flasher
  • games/esha.json#/coils/19._note: SolModCallBack (PWM). Comment: '05C: Center Ramp 4 Flasher'
  • games/esha.json#/coils/20._vbscript_callback: Flash130
  • games/esha.json#/coils/20._inferred_type: flasher
  • games/esha.json#/coils/20._note: SolModCallBack (PWM). Comment: '06C: Right Ramp 1 Flasher'. Also controls FlBG30 backglass flasher.
  • games/esha.json#/coils/21._vbscript_callback: Flash131
  • games/esha.json#/coils/21._inferred_type: flasher
  • games/esha.json#/coils/21._note: SolModCallBack (PWM). Comment: '07C: Right Ramp 2 Flasher'. Also controls FlBG31 backglass flasher.
  • games/esha.json#/coils/22._vbscript_callback: Flash132
  • games/esha.json#/coils/22._inferred_type: flasher
  • games/esha.json#/coils/22._note: SolModCallBack (PWM). Controls two flasher objects plus FlBG32 backglass flasher.
  • games/esha.json#/coils/23._vbscript_callback: SolRFlipper
  • games/esha.json#/coils/23._inferred_type: flipper
  • games/esha.json#/coils/23._note: Framework constant sLRFlipper=46 from core.vbs/S11.VBS
  • games/esha.json#/coils/24._vbscript_callback: SolLFlipper
  • games/esha.json#/coils/24._inferred_type: flipper
  • games/esha.json#/coils/24._note: Framework constant sLLFlipper=48 from core.vbs/S11.VBS
  • games/esha.json#/lamps/0._vlm_array: BL_IN_L1
  • games/esha.json#/lamps/0._note: Also used as backglass lamp (Controller.Lamp(1) controls FlBGL1 visibility in VR mode)
  • games/esha.json#/lamps/1._vlm_array: BL_IN_L2
  • games/esha.json#/lamps/1._note: Also used as backglass lamp (Controller.Lamp(2) controls FlBGL2 visibility in VR mode)
  • games/esha.json#/lamps/2._vlm_array: BL_IN_L3
  • games/esha.json#/lamps/2._note: Also used as backglass lamp (Controller.Lamp(3) controls FlBGL3 visibility in VR mode)
  • games/esha.json#/lamps/3._vlm_array: BL_IN_L4
  • games/esha.json#/lamps/3._note: Also used as backglass lamp (Controller.Lamp(4) controls FlBGL4 visibility in VR mode)
  • games/esha.json#/lamps/4._vlm_array: BL_IN_L5
  • games/esha.json#/lamps/4._note: Also used as backglass lamp (Controller.Lamp(5) controls FlBGL5 visibility in VR mode)
  • games/esha.json#/lamps/5._vlm_array: BL_IN_L6
  • games/esha.json#/lamps/5._note: Also used as backglass lamp (Controller.Lamp(6) controls FlBGL6 visibility in VR mode)
  • games/esha.json#/lamps/6._vlm_array: BL_IN_L7
  • games/esha.json#/lamps/7._vlm_array: BL_IN_L8
  • games/esha.json#/lamps/8._vlm_array: BL_IN_L9
  • games/esha.json#/lamps/9._vlm_array: BL_IN_L10
  • games/esha.json#/lamps/10._vlm_array: BL_IN_L11
  • games/esha.json#/lamps/11._vlm_array: BL_IN_L12
  • games/esha.json#/lamps/12._vlm_array: BL_IN_L13
  • games/esha.json#/lamps/13._vlm_array: BL_IN_L14
  • games/esha.json#/lamps/14._vlm_array: BL_IN_L15
  • games/esha.json#/lamps/15._vlm_array: BL_IN_L16
  • games/esha.json#/lamps/16._vlm_array: BL_IN_L17
  • games/esha.json#/lamps/16._note: On Institute building — animates with building elevator via L17a_Animate
  • games/esha.json#/lamps/17._vlm_array: BL_IN_L18
  • games/esha.json#/lamps/17._note: On Institute building — animates with building elevator via L18a_Animate
  • games/esha.json#/lamps/18._vlm_array: BL_IN_L19
  • games/esha.json#/lamps/18._note: On Institute building — animates with building elevator via L19a_Animate
  • games/esha.json#/lamps/19._vlm_array: BL_IN_L20
  • games/esha.json#/lamps/19._note: On Institute building — animates with building elevator via L20a_Animate
  • games/esha.json#/lamps/20._vlm_array: BL_IN_L21
  • games/esha.json#/lamps/21._vlm_array: BL_IN_L22
  • games/esha.json#/lamps/22._vlm_array: BL_IN_L23
  • games/esha.json#/lamps/23._vlm_array: BL_IN_L24
  • games/esha.json#/lamps/24._vlm_array: BL_IN_L25
  • games/esha.json#/lamps/25._vlm_array: BL_IN_L26
  • games/esha.json#/lamps/25._note: Located on stand-up target sw21 (BL_IN_L26 contains LM_IN_L26_sw21)
  • games/esha.json#/lamps/26._vlm_array: BL_IN_L27
  • games/esha.json#/lamps/26._note: Located on stand-up target sw22 (BL_IN_L27 contains LM_IN_L27_sw22)
  • games/esha.json#/lamps/27._vlm_array: BL_IN_L28
  • games/esha.json#/lamps/28._vlm_array: BL_IN_L29
  • games/esha.json#/lamps/29._vlm_array: BL_IN_L30
  • games/esha.json#/lamps/30._vlm_array: BL_IN_L31
  • games/esha.json#/lamps/31._vlm_array: BL_IN_L32
  • games/esha.json#/lamps/32._vlm_array: BL_IN_L33
  • games/esha.json#/lamps/33._vlm_array: BL_IN_L34
  • games/esha.json#/lamps/34._vlm_array: BL_IN_L35
  • games/esha.json#/lamps/35._vlm_array: BL_IN_L36
  • games/esha.json#/lamps/36._vlm_array: BL_IN_L37
  • games/esha.json#/lamps/37._vlm_array: BL_IN_L38
  • games/esha.json#/lamps/38._vlm_array: BL_IN_L39
  • games/esha.json#/lamps/39._vlm_array: BL_IN_L40
  • games/esha.json#/lamps/40._vlm_array: BL_IN_L41
  • games/esha.json#/lamps/41._vlm_array: BL_IN_L42
  • games/esha.json#/lamps/42._vlm_array: BL_IN_L43
  • games/esha.json#/lamps/43._vlm_array: BL_IN_L44
  • games/esha.json#/lamps/44._vlm_array: BL_IN_L45
  • games/esha.json#/lamps/45._vlm_array: BL_IN_L46
  • games/esha.json#/lamps/46._vlm_array: BL_IN_L47
  • games/esha.json#/lamps/47._vlm_array: BL_IN_L48
  • games/esha.json#/lamps/48._vlm_array: BL_IN_L49a
  • games/esha.json#/lamps/48._note: VPX object suffix 'a' — mapped as L49a in VLM
  • games/esha.json#/lamps/49._vlm_array: BL_IN_L50
  • games/esha.json#/lamps/49._note: Located near stand-up target sw19 (BL_IN_L50 contains LM_IN_L50_sw19)
  • games/esha.json#/lamps/50._vlm_array: BL_IN_L51
  • games/esha.json#/lamps/51._vlm_array: BL_IN_L52
  • games/esha.json#/lamps/51._note: Located near gate1 (BL_IN_L52 contains LM_IN_L52_gate1)
  • games/esha.json#/lamps/52._vlm_array: BL_IN_L53
  • games/esha.json#/lamps/53._vlm_array: BL_IN_L54
  • games/esha.json#/lamps/54._vlm_array: BL_IN_L55
  • games/esha.json#/lamps/55._vlm_array: BL_IN_L56
  • games/esha.json#/lamps/56._vlm_array: BL_IN_L57a
  • games/esha.json#/lamps/56._note: VPX object suffix 'a' — mapped as L57a in VLM
  • games/esha.json#/_source/confidence_notes: High confidence on switches/coils. VPW table uses direct Controller.Switch() calls rather than named Const sw* constants — switch IDs inferred from VPX object names (sw10, sw11, etc.) and Controller.Switch() assignments. Lamps extracted from VLM BL_IN_L* arrays (VPW baked lighting system); lamp numbers are L1-L57 from the ROM lamp matrix. Flasher lamps mapped via SolModCallBack. Institute elevator uses switches 25/26 as position encoders (not simple open/close). sLRFlipper=46, sLLFlipper=48 are S11.VBS framework constants from core.vbs. Switch 42 is set by diverter animation timer, not a physical switch handler.

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.esha: games/esha.json at the pinned migration revision.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
esha_l4cEarthshaker (LA-4C Competition MOD) 2016esha_la3
esha_pr4Earthshaker (PR-4 Family version) 1989esha_la3
esha_ma3Earthshaker (LA-3 Metallica MOD) 1989esha_la3
esha_pa4Earthshaker (PA-4 Prototype) 1988esha_la3
esha_pa1Earthshaker (PA-1 Prototype) 1988esha_la3
esha_lg2Earthshaker (LG-2 German) 1988esha_la3
esha_lg1Earthshaker (LG-1 German) 1988esha_la3
esha_la3Earthshaker (LA-3) 1988

Parent set: esha_la3 — 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.esha

    games/esha.json; origin=vbscript-parser

    by
    pinmame-game-defs contributors
    rev
    4ea106d08072
  • Legacy definition

    legacy.platform.system11

    platforms/system11.json

    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