Doctor Who

Partial

Bally1992WPCbally.doctor-who.1992

1 unresolved conflict

  • Legacy sources disagree on label: 'ROM Started' versus 'Flasher F19'. binding:pinmame.output.solenoid/19/None

Wire it up

what an authoring tool needs first
Bind this ROM
dw_l2

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

Controller platform
pinmame.wpc

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–118 (65)
Solenoids
1–28 (23)
Lamps
11–88 (64)
Cabinet & flipper inputs
112flipper.lower.right114flipper.lower.left116flipper.upper.right118flipper.upper.left1cabinet.coin.12cabinet.coin.23cabinet.coin.34cabinet.coin.4

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.

63 addresses

Switch map

Column × row matrix — the address is column·row.

used unused
 
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
11
Hover or tap an address to identify it.

Outside the matrix1, 2, 3, 4, 5, 6, 7, 8 — dedicated, diagnostic or flipper-column addresses. See the table below.

63 shown
# Name Device ID Role Evidence
1
Coin Button 1
switch.coin-1
cabinet.coin.1
candidate
2
Coin Button 2
switch.coin-2
cabinet.coin.2
candidate
3
Coin Button 3
switch.coin-3
cabinet.coin.3
candidate
4
Coin Button 4
switch.coin-4
cabinet.coin.4
candidate
5
Cancel
switch.cancel
service.cancel
candidate
6
Down
switch.down
service.down
candidate
7
Up
switch.up
service.up
candidate
8
Enter
switch.enter
service.enter
candidate
14
Plumb Bob TiltNC
switch.plumb-bob-tilt
candidate
15
Left Slingshot
switch.left-slingshot
candidate
16
Right Slingshot
switch.right-slingshot
candidate
17
Shooter Lane
switch.shooter-lane
candidate
18
Exit Jets
switch.exit-jets
candidate
22
Coin Door ClosedNC
switch.coin-door-closed
candidate
25
Trough 1 Ball
switch.trough-1-ball
candidate
26
Trough 2 Balls
switch.trough-2-balls
candidate
27
Trough 3 Balls
switch.trough-3-balls
candidate
28
Outhole
switch.outhole
candidate
31
Opto Popper (Tardis Entrance)
switch.opto-popper-tardis-entrance
candidate
32
Mini-Playfield Home Opto
switch.mini-playfield-home-opto
candidate
33
Enter Top Ramp Opto
switch.enter-top-ramp-opto
candidate
34
Launch Button
switch.launch-button
candidate
35
Score Top Ramp
switch.score-top-ramp
candidate
36
Enter Bottom Ramp
switch.enter-bottom-ramp
candidate
37
Score Bottom Ramp
switch.score-bottom-ramp
candidate
38
Mini-Playfield Door Middle
switch.mini-playfield-door-middle
candidate
41
(E)-S-C-A-P-E Target
switch.e-s-c-a-p-e-target
candidate
42
E-(S)-C-A-P-E Target
switch.e-s-c-a-p-e-target.42
candidate
43
E-S-(C)-A-P-E Target
switch.e-s-c-a-p-e-target.43
candidate
44
E-S-C-(A)-P-E Target
switch.e-s-c-a-p-e-target.44
candidate
45
E-S-C-A-(P)-E Target
switch.e-s-c-a-p-e-target.45
candidate
46
E-S-C-A-P-(E) Target
switch.e-s-c-a-p-e-target.46
candidate
47
Hang On Score
switch.hang-on-score
candidate
48
Select Doctor
switch.select-doctor
candidate
51
(R)-E-P-A-I-R Target
switch.r-e-p-a-i-r-target
candidate
52
R-(E)-P-A-I-R Target
switch.r-e-p-a-i-r-target.52
candidate
53
R-E-(P)-A-I-R Target
switch.r-e-p-a-i-r-target.53
candidate
54
R-E-P-(A)-I-R Target
switch.r-e-p-a-i-r-target.54
candidate
55
R-E-P-A-(I)-R Target
switch.r-e-p-a-i-r-target.55
candidate
56
R-E-P-A-I-(R) Target
switch.r-e-p-a-i-r-target.56
candidate
57
Trap Door Down
switch.trap-door-down
candidate
58
Transmat Award
switch.transmat-award
candidate
61
Left Jet Bumper
switch.left-jet-bumper
candidate
62
Right Jet Bumper
switch.right-jet-bumper
candidate
63
Bottom Jet Bumper
switch.bottom-jet-bumper
candidate
64
Left Drain
switch.left-drain
candidate
65
Left Return
switch.left-return
candidate
66
Right Return
switch.right-return
candidate
67
Right Drain
switch.right-drain
candidate
68
Mini-Playfield Door Left
switch.mini-playfield-door-left
candidate
71
Mini Opto 5-Bank Right 1
switch.mini-opto-5-bank-right-1
candidate
72
Mini Opto 5-Bank Right 2
switch.mini-opto-5-bank-right-2
candidate
73
Mini Opto 5-Bank Middle
switch.mini-opto-5-bank-middle
candidate
74
Mini Opto 5-Bank Left 2
switch.mini-opto-5-bank-left-2
candidate
75
Mini Opto 5-Bank Left 1
switch.mini-opto-5-bank-left-1
candidate
76
Mini-Playfield Left Opto Eject
switch.mini-playfield-left-opto-eject
candidate
77
Mini-Playfield Right Opto Eject
switch.mini-playfield-right-opto-eject
candidate
78
Mini-Playfield Lites Lock
switch.mini-playfield-lites-lock
candidate
88
Mini-Playfield Door Right
switch.mini-playfield-door-right
candidate
112
Lower Right Flipper
switch.flipper-lower-right
flipper.lower.right
candidate
114
Lower Left Flipper
switch.flipper-lower-left
flipper.lower.left
candidate
116
Upper Right Flipper
switch.flipper-upper-right
flipper.upper.right
candidate
118
Upper Left Flipper
switch.flipper-upper-left
flipper.upper.left
candidate

Controlled devices

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

Coils, magnets & motors

13
13 shown
# Name Device ID Evidence
1
Trap Door
device.trap-door candidate
2
Auto Fire / Ball Launch
device.auto-fire-ball-launch candidate
3
Tardis Exit (VUK)
device.tardis-exit-vuk candidate
4
Mini-Playfield Left Kicker
device.mini-playfield-left-kicker candidate
5
Mini-Playfield Right Kicker
device.mini-playfield-right-kicker candidate
7
Knocker
device.knocker candidate
11
Jet Bumper Relay 1
device.jet-bumper-relay-1 candidate
12
Jet Bumper Relay 2
device.jet-bumper-relay-2 candidate
13
Jet Bumper Relay 3
device.jet-bumper-relay-3 candidate
15
Outhole
device.outhole candidate
16
Ball Release
device.ball-release candidate
27
Mini-Playfield Motor (Sol2)
device.mini-playfield-motor-sol2 candidate
28
Mini-Playfield Motor (Sol1) / Time Expander On/Off
device.mini-playfield-motor-sol1-time-expander-on-off candidate

Flashers

10
10 shown
# Name Device ID Evidence
6
Flasher F06
device.flasher-f06 candidate
8
Flasher F08 (Doctor 3 Backbox)
device.flasher-f08-doctor-3-backbox candidate
17
Flasher F17 (Time Expander)
device.flasher-f17-time-expander candidate
18
Flasher F18
device.flasher-f18 candidate
19
ROM Started
device.game-on candidate
20
Flasher F20
device.flasher-f20 candidate
21
Flasher F21 (Repair)
device.flasher-f21-repair candidate
22
Flasher WHO 'H'
device.flasher-who-h candidate
23
Flasher WHO 'O'
device.flasher-who-o candidate
24
Flasher F24 (Escape)
device.flasher-f24-escape candidate

Lamps

64

Lamp map

Column × row matrix — the address is column·row.

used unused
 
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
Hover or tap an address to identify it.
64 shown
# Name Device ID Evidence
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
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
31
outputs 31
lamp.outputs-31 candidate
32
outputs 32
lamp.outputs-32 candidate
33
outputs 33
lamp.outputs-33 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
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
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
57
outputs 57
lamp.outputs-57 candidate
58
outputs 58
lamp.outputs-58 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
65
outputs 65
lamp.outputs-65 candidate
66
outputs 66
lamp.outputs-66 candidate
67
outputs 67
lamp.outputs-67 candidate
68
outputs 68
lamp.outputs-68 candidate
71
outputs 71
lamp.outputs-71 candidate
72
outputs 72
lamp.outputs-72 candidate
73
outputs 73
lamp.outputs-73 candidate
74
outputs 74
lamp.outputs-74 candidate
75
outputs 75
lamp.outputs-75 candidate
76
outputs 76
lamp.outputs-76 candidate
77
outputs 77
lamp.outputs-77 candidate
78
outputs 78
lamp.outputs-78 candidate
81
outputs 81
lamp.outputs-81 candidate
82
outputs 82
lamp.outputs-82 candidate
83
outputs 83
lamp.outputs-83 candidate
84
outputs 84
lamp.outputs-84 candidate
85
outputs 85
lamp.outputs-85 candidate
86
outputs 86
lamp.outputs-86 candidate
87
outputs 87
lamp.outputs-87 candidate
88
outputs 88
lamp.outputs-88 candidate

Configuration & other inputs

2 shown
# Name Device ID Evidence
24
Always Closed
switch.always-closed candidate
82
Playfield Glass
switch.playfield-glass 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 Bally (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

  • platforms/wpc.json#/coils/1: Unbound legacy outputs record c_flipper_lower_right was retained as a migration note only.
  • platforms/wpc.json#/coils/2: Unbound legacy outputs record c_flipper_lower_left was retained as a migration note only.
  • platforms/wpc.json#/coils/3: Unbound legacy outputs record c_flipper_upper_right was retained as a migration note only.
  • platforms/wpc.json#/coils/4: Unbound legacy outputs record c_flipper_upper_left was retained as a migration note only.
  • games/dw.json#/switches/0._note: vpmNudge.TiltSwitch = 14
  • games/dw.json#/switches/1._inferred_type: slingshot
  • games/dw.json#/switches/1._note: PulseSw 15 in LeftSling_Slingshot
  • games/dw.json#/switches/2._inferred_type: slingshot
  • games/dw.json#/switches/2._note: PulseSw 16 in RightSling_Slingshot
  • games/dw.json#/switches/4._note: PulseSw 18
  • games/dw.json#/switches/5._note: Controller.Switch(22) = 1 in Table1_Init
  • games/dw.json#/switches/6._note: Controller.Switch(24) = 1 in Table1_Init
  • games/dw.json#/switches/11._note: TardisEntrance_hit sets switch 31; TardisExit solenoid clears it
  • games/dw.json#/switches/12._note: Controlled by UpdateMiniPF mechanism callback based on aCurrPos
  • games/dw.json#/switches/13._note: PulseSw 33
  • games/dw.json#/switches/14._note: Controller.Switch(34) toggled by PlungerKey
  • games/dw.json#/switches/15._note: PulseSw 35
  • games/dw.json#/switches/16._note: PulseSw 36
  • games/dw.json#/switches/17._note: PulseSw 37
  • games/dw.json#/switches/18._note: PulseSw 38
  • games/dw.json#/switches/26._note: PulseSw 48
  • games/dw.json#/switches/33._note: Opto controlled by TDUpTimer_timer based on trap door position
  • games/dw.json#/switches/35._note: PulseSw 61
  • games/dw.json#/switches/36._note: PulseSw 62
  • games/dw.json#/switches/37._note: PulseSw 63
  • games/dw.json#/switches/42._note: PulseSw 68
  • games/dw.json#/switches/51._note: Controller.Switch(82) = 1 in Table1_Init
  • games/dw.json#/switches/52._note: PulseSw 88
  • games/dw.json#/coils/0._vbscript_callback: SolTrapDoor
  • games/dw.json#/coils/0._inferred_type: mechanism
  • games/dw.json#/coils/0._note: Controls trap door collidable state and TDUpTimer animation. Drives sw57 open/close.
  • games/dw.json#/coils/1._vbscript_callback: SolAutoFire
  • games/dw.json#/coils/1._inferred_type: ball_management
  • games/dw.json#/coils/1._note: Impulse plunger auto-fire via PlungerIM.AutoFire
  • games/dw.json#/coils/2._vbscript_callback: TardisExit
  • games/dw.json#/coils/2._inferred_type: kicker
  • games/dw.json#/coils/2._note: Kicks ball out of Tardis VUK; clears sw31
  • games/dw.json#/coils/3._vbscript_callback: solmpfl
  • games/dw.json#/coils/3._inferred_type: kicker
  • games/dw.json#/coils/4._vbscript_callback: solmpfr
  • games/dw.json#/coils/4._inferred_type: kicker
  • games/dw.json#/coils/5._vbscript_callback: Flash06
  • games/dw.json#/coils/5._inferred_type: flasher
  • games/dw.json#/coils/5._note: SolModCallback — PWM fading. VPX objects: FL06, FL06b, FL06h
  • games/dw.json#/coils/6._vbscript_callback: SolKnocker
  • games/dw.json#/coils/6._inferred_type: knocker
  • games/dw.json#/coils/7._vbscript_callback: Flash08
  • games/dw.json#/coils/7._inferred_type: flasher
  • games/dw.json#/coils/7._note: SolModCallback — PWM fading. Backbox flasher only (FL8bg)
  • games/dw.json#/coils/8._inferred_type: bumper
  • games/dw.json#/coils/8._note: SolCallback commented out in script (bpr1)
  • games/dw.json#/coils/9._inferred_type: bumper
  • games/dw.json#/coils/9._note: SolCallback commented out in script (bpr2)
  • games/dw.json#/coils/10._inferred_type: bumper
  • games/dw.json#/coils/10._note: SolCallback commented out in script (bpr3)
  • games/dw.json#/coils/11._vbscript_callback: SolOutHole
  • games/dw.json#/coils/11._inferred_type: ball_management
  • games/dw.json#/coils/12._vbscript_callback: SolBallRelease
  • games/dw.json#/coils/12._inferred_type: ball_management
  • games/dw.json#/coils/13._vbscript_callback: Flash17
  • games/dw.json#/coils/13._inferred_type: flasher
  • games/dw.json#/coils/13._note: SolModCallback — PWM fading. VPX objects: FL17, TEFlashP
  • games/dw.json#/coils/14._vbscript_callback: Flash18
  • games/dw.json#/coils/14._inferred_type: flasher
  • games/dw.json#/coils/14._note: SolModCallback — PWM fading. VPX object: FL18
  • games/dw.json#/coils/15._vbscript_callback: Flash19
  • games/dw.json#/coils/15._inferred_type: flasher
  • games/dw.json#/coils/15._note: SolModCallback — PWM fading. VPX object: FL19
  • games/dw.json#/coils/16._vbscript_callback: Flash20
  • games/dw.json#/coils/16._inferred_type: flasher
  • games/dw.json#/coils/16._note: SolModCallback — PWM fading. VPX object: FL20 (opacity-based)
  • games/dw.json#/coils/17._vbscript_callback: Flash21
  • games/dw.json#/coils/17._inferred_type: flasher
  • games/dw.json#/coils/17._note: SolModCallback — PWM fading. VPX objects: FL21, FL21b, RepairFlash
  • games/dw.json#/coils/18._vbscript_callback: who_h
  • games/dw.json#/coils/18._inferred_type: flasher
  • games/dw.json#/coils/18._note: SolModCallback — PWM fading. VPX objects: FL22, FL22h
  • games/dw.json#/coils/19._vbscript_callback: who_o
  • games/dw.json#/coils/19._inferred_type: flasher
  • games/dw.json#/coils/19._note: SolModCallback — PWM fading. VPX objects: FL23, FL23h
  • games/dw.json#/coils/20._vbscript_callback: Flash24
  • games/dw.json#/coils/20._inferred_type: flasher
  • games/dw.json#/coils/20._note: SolModCallback — PWM fading. VPX objects: FL24, EscapeFlash
  • games/dw.json#/coils/21._inferred_type: mechanism
  • games/dw.json#/coils/21._note: cvpmmech sol2 — mini-playfield raise/lower mechanism direction 2
  • games/dw.json#/coils/22._vbscript_callback: TEOnOff
  • games/dw.json#/coils/22._inferred_type: mechanism
  • games/dw.json#/coils/22._note: cvpmmech sol1 — mini-playfield raise/lower mechanism direction 1; TEOnOff sets TEOn flag
  • games/dw.json#/lamps/46._note: Uses flasher object (fl67) not standard light
  • games/dw.json#/lamps/61._note: Dual lamp: l86a and l86b
  • games/dw.json#/lamps/62._note: Launch Button lamp — f87 in non-VR, callback in VR mode
  • games/dw.json#/lamps/63._note: Start Button lamp — f88 in non-VR, f88f flasher in VR mode
  • games/dw.json#/_source/confidence_notes: High confidence on switches/coils from VBScript handlers, Controller.Switch() calls, and PulseSw calls. Lamp IDs from Lampz.MassAssign() calls. Flasher coils (6,8,17-24) use SolModCallback for PWM fading. Mini-playfield mechanism uses sol1=28, sol2=27 via cvpmmech. Three flippers: left (sLLFlipper), right (sLRFlipper), upper left (sULFlipper). Jet bumper SolCallbacks (11-13) commented out in script. No Const sw* definitions — switches referenced directly by number. Trough is custom (3 ball + outhole), not bsTrough.

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

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
dw_p6Doctor Who (P-6 LED Ghost Fix) 1992dw_l2
dw_p5Doctor Who (P-5 Prototype) 1992dw_l2
dw_l2Doctor Who (L-2) 1992
dw_l1Doctor Who (L-1) 1992dw_l2
dw_d2Doctor Who (D-2 LED Ghost Fix) 1992dw_l2
dw_d1Doctor Who (D-1 LED Ghost Fix) 1992dw_l2

Parent set: dw_l2 — 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.dw

    games/dw.json; origin=vbscript-parser

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

    legacy.platform.wpc

    platforms/wpc.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