Judge Dredd

Partial

Bally1993WPC-DCSbally.judge-dredd.1993

4 unresolved conflicts

Sources disagree here and nobody has settled it. Treat these addresses as unproven.

Column 6 7 optos not all normalized

Affects
input 61
input 71
input 77
Disagreeing sources
Operator manual
PinMAME source
Human review

The printed switch matrix (2-42) fills the cells for 61 Globe Position #1, 71 Magnet Over Ring and 77 Globe Position #2 with the same "Opto, Typically Closed" halftone it uses for the ten ramp and popper optos beside them, and a mechanical connected-component sweep of all 64 cells at 600 dpi confirms the shading is present on exactly those thirteen cells and absent everywhere else.

For 71 the switch-locations parts list agrees independently, giving an A-14231 LED and A-14232 phototransistor pair. Pinned PinMAME treats them differently: recomputing jdGameData's inverted-switch mask {0x00,0x00,0x00,0x02,0x00,0xf8,0x6e,0x3e,0x7f,0x00,0x00,0x00} bit by bit gives normalized addresses 32, 54-58, 62, 63, 64, 66, 67, 72, 73, 74, 75, 76 and 81-87, which covers ten of the thirteen shaded cells but leaves 61, 71 and 77 uninverted.

The manual is physical-construction ground truth and pinned PinMAME is emulator-normalization ground truth, and the two disagree about whether a recreation must invert the state it reports for these three. 61 and 77 carry an A-16598 part number that discloses no construction either way, which weakens the manual side for those two but not for 71.

Resolving it needs a LibPinMAME harness trace against a legal jd_l1 or jd_l7 ROM observing the idle public state of 61, 71 and 77 with no ball on the globe and the crane parked.

What would settle it

run the repository's LibPinMAME gameplay harness against a legal jd_l1 or jd_l7 ROM with 61, 71 and 77 watched, reading their idle state with no ball on the globe and the crane parked and their transitions as each is made; independently, a photograph or parts breakdown of the A-16598 assembly would fix construction for 61 and 77, which the printed part number alone does not disclose.

inputs[binding.device=61,71,77]

Judge drop targets normalized without opto evidence

Affects
input 54
input 55
input 56
input 57
input 58
Disagreeing sources
Operator manual
PinMAME source

Pinned PinMAME's jdGameData inverted-switch mask normalizes the five JUDGE drop-target switches 54-58 (column 5 = 0xf8, bits 3-7), which is the treatment it gives optos elsewhere on this machine. No source read here discloses opto construction for them: the switch-locations parts list gives a single assembly number A-16486 with no LED or phototransistor breakout, unlike every genuine opto row on the same page, and the printed switch matrix leaves all five cells unshaded.

Pinned PinMAME's own jd_handleMech asserts each of these switches while its target is DOWN, which is the sense a normally-open target switch would report and therefore the opposite of what a normally-closed opto plus emulator inversion would produce. Either the A-16486 target really is an opto assembly whose construction this manual does not spell out, or the mask's column 5 is wrong.

Resolving it needs a LibPinMAME harness trace observing the idle public state of 54-58 with the bank reset, or a photograph of an A-16486 target assembly.

What would settle it

run the repository's LibPinMAME gameplay harness against a legal jd_l1 or jd_l7 ROM with 54-58 watched, reading them with the JUDGE bank reset and again with each target knocked down, or obtain a photograph of an A-16486 target assembly showing whether it carries a discrete LED and phototransistor pair.

inputs[binding.device=54,55,56,57,58]

L1 era switch fitment

Affects
input 28
input 32
input 65
Disagreeing sources
Operator manual
VPX script
PinMAME source

Three matrix addresses are printed "Not Used" with a blank part number on both the switch matrix (2-42) and the switch-locations parts list (2-43), yet the location diagram printed on that same parts-list page still draws a callout for each of them: 28 on the crane / Magnet Over Ring assembly, 32 on the plastic orbit ramp beside the globe, and 65 on the right-hand ramp.

The other six "Not Used" addresses (45, 46, 47, 48, 78, 88) have no callout, so this is not a habit of the drawing. Conversely item 67, a fitted opto with a full A-14231/A-14232 part pair, has no callout anywhere in the diagram. The retained known-working table binds the L-1 ROM and drives all three: it asserts 28 while the Globe Magnet holds a ball, pulses 65 from a right-ramp trigger whose own comment reads "Opto Right Ramp Entrace (Not used?)", and pulses 32 from its ramp-entrance trigger under a commented block recording that the ramp opto's address "Position changed between L1 and L7 ROM Revisions" — SW32 at the ramp entrance for L-1, SW67 near the top of the ramp for L-7.

Pinned PinMAME corroborates 32 twice over: jdGameData's inverted-switch mask normalizes address 32 as though an opto were fitted there, while jd.c's own #define block marks 32 unused and names 67 swLRampEnt. The coherent reading is that the location drawing and the L-1 firmware come from an earlier design revision in which 28, 32 and 65 were fitted and 67 was not, and that production deleted them and updated the parts list but not the drawing.

That reading is not proved, and it matters to an author: a recreation bound to jd_l1 must decide whether to wire three addresses the production manual says do not exist. Resolving it needs a photograph of an unrestored production playfield at those three positions, or a LibPinMAME trace comparing what jd_l1 and jd_l7 actually read.

What would settle it

a photograph of an unrestored production playfield at the crane / Magnet Over Ring, orbit-ramp and right-ramp positions showing whether a switch body is fitted at each, together with a LibPinMAME gameplay-harness trace run twice — once on a legal jd_l1 ROM and once on jd_l7 — watching 28, 32, 65 and 67 under the same driven inputs so the revision difference is observed rather than inferred.

inputs[binding.device=28,32,65]

Gi string order script vs manual

Affects
gi
Disagreeing sources
Operator manual
VPX script
PinMAME source
Human review

Pinned PinMAME publishes the five general-illumination strings as zero-based addresses 0-4 taken from the five low bits of WPC_GILAMPS in order (src/wpc/wpc.c), and the repository's WPC-DCS controller profile records that public address N is the manual's printed string N+1. The manual identifies its five printed strings by wire colour: String 1 Wht-Brn, String 2 Wht-Org, String 3 Wht-Yel, String 4 Wht-Grn, String 5 Wht-Vio.

The retained known-working table binds public GI 0 through 4 to collections it names GIstring1 through GIstring5 and annotates them, in that order, wht/vio, wht/grn, wht/yel, wht/org and wht/brn — the printed order reversed, agreeing only on the self-symmetric middle string. The two claims cannot both be right.

Emitter coordinates in this definition follow the script's runtime binding, because a known-working table is the runtime authority for what each public address actually lights, while the bulb types, connector pins and wire colours follow the manual under the profile's printed-order rule; if the script's annotation is correct then those two halves are attached to each other wrongly.

Two further details fit neither reading cleanly: the table's collection for public GI 4 contains backglass objects only, while the manual gives printed String 5 a playfield drive connection and no backbox column, and the table's collection for public GI 3 contains two playfield objects and no backglass, while the manual gives both candidate strings entries in both columns.

Resolving it needs a LibPinMAME harness trace driving each GI address in turn against a legal ROM, or a photograph of the J120/J121 harness on a real machine.

What would settle it

run the machine's own general-illumination test on an unrestored unit and record which of the five printed wire colours (Wht-Brn J-120-7, Wht-Org J-120-8, Wht-Yel J-120-9, Wht-Grn J-120-10, Wht-Vio J-120-11 on printed 2-44) lights at each step, since printed 3-10 draws one unnumbered representative string and cannot say which triac serves which string; pairing that against a LibPinMAME harness trace driving public GI 0-4 in turn on a legal jd_l1 or jd_l7 ROM closes the mapping from both ends.

outputs[binding.group=pinmame.output.gi]

Wire it up

what an authoring tool needs first
Bind this ROM
jd_l7

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

Controller platform
pinmame.wpc-dcs

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
  • 128x32 dot-matrix display128×32
Address space
Switches
1–118 (80)
Solenoids
1–51 (51)
Lamps
11–88 (64)
GI
0–4 (5)
Cabinet & flipper inputs
1cabinet.coin.12cabinet.coin.23cabinet.coin.34cabinet.coin.411cabinet.button12cabinet.button13cabinet.button14cabinet.service21cabinet.service22cabinet.service23cabinet.ticket31cabinet.button44cabinet.button

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

Playfield

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.

Playfield map

162 placements · 25 stacked · normalised player view · outline is nominal

15 Left Shoot Lane16 Left Outlane17 Left Return Lane18 3-Bank Targets18 3-Bank Targets18 3-Bank Targets25 Top Right Post26 Captive Ball 127 Mystery33 Left Rollover34 Inside Right Return35 Top Center Rollover236 Left Score Target · 61 Extra Ball37 Subway Enter 1238 Subway Enter 2 · 36 Lock 241 Right Ball Shooter42 Right Outlane43 Outside Right Return251 Left Sling · 15 Left Slingshot252 Right Sling · 16 Right Slingshot53 Captive Ball 2254 Drop Target "J" · 5 Reset Drop Targets55 Drop Target "U"256 Drop Target "D" · 10 Trip Drop Target57 Drop Target "G"58 Drop Target "E"461 Globe Position #1 · 77 Globe Position #2 · 6 Globe Motor · 26 Globe Flashers62 Crane Exit63 Left Ramp To Lock64 Left Ramp Exit66 Center Ramp Exit67 Left Ramp Enter68 Captive Ball 3371 Magnet Over Ring · 1 Globe Magnet · 4 Globe Arm72 Top Right Opto273 Left Popper · 2 Left Popper274 Right Popper · 3 Right Popper375 Top Ramp Exit · 76 Right Ramp Exit · 31 Perp 3 (White)81 Trough 182 Trough 283 Trough 384 Trough 485 Trough 5386 Trough 6 · 87 Top Trough · 13 Trough8 Right Shooter9 Left Shooter11 Diverter17 Judge Fire Flashers18 Judge Fear Flashers19 Judge Death Flashers20 Judge Mortis Flashers21 Pursuit Left Flashers21 Pursuit Left Flashers22 Pursuit Right Flashers22 Pursuit Right Flashers23 Blackout Flashers24 Cursed Earth Flashers24 Cursed Earth Flashers25 Lower Left Flashers25 Lower Left Flashers27 Right Ramp Flashers27 Right Ramp Flashers233 Upper Right Flipper Power · 34 Upper Right Flipper Hold235 Upper Left Flipper Power · 36 Upper Left Flipper Hold245 Lower Right Flipper Power · 46 Lower Right Flipper Hold247 Lower Left Flipper Power · 48 Lower Left Flipper Hold211 Perp 1 (White) · 12 Perp 1 (Red)213 Perp 1 (Yellow) · 14 Perp 1 (Green)215 Perp 2 (White) · 16 Perp 2 (Red)217 Perp 2 (Yellow) · 18 Perp 2 (Green)221 Perp 4 (White) · 22 Perp 4 (Red)223 Perp 4 (Yellow) · 24 Perp 4 (Green)225 Perp 5 (White) · 26 Perp 5 (Red)227 Perp 5 (Yellow) · 28 Perp 5 (Green)232 Perp 3 (Red) · 33 Perp 3 (Yellow)34 Perp 3 (Green)35 Lock 137 Lock 341 Crime Level 4 (White)42 Crime Level 3 (Red)43 Crime Level 2 (Yellow)44 Crime Level 1 (Green)45 Meltdown46 Impersonator47 Battle Tank48 Stop Meltdown51 Stakeout52 Safecracker53 Pursuit54 Ultimate Challenge55 Manhunt56 Blackout57 Sniper58 Pick A Prize61 Extra Ball62 Right Start Feature63 Tank Center64 Award Sniper65 Air Raid66 Left Center Feature67 Tank Left68 Mystery71 Drop Target "J"72 Drop Target "U"73 Drop Target "D"74 Drop Target "G"75 Drop Target "E"76 Award Safecracker77 Multi-ball Jackpot78 Award Bad Impersonator81 Award Stakeout82 Blackout Jackpot84 Judge Again85 Advance Crime Level86 Tank Right0 String 10 String 10 String 10 String 10 String 11 String 21 String 21 String 21 String 21 String 22 String 32 String 32 String 32 String 32 String 33 String 43 String 4

Hover a marker to identify it, or click to keep it selected. Numbered markers are several devices in one spot — clicking lists them.

Show
Marker shape
  • emitterlights the playfield94
  • sensorsenses the ball47
  • effectmoves the ball21
  • nStackseveral devices in one spot25
141 devices shown

Not on the playfield26 cabinet or service, 15 virtual, 8 unused, 4 internal nonvisual, 1 constant — declared rather than missing.

Coverage

Partial

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

Completion81%

Progress is derived from the fixed author-readiness requirements. It helps rank unfinished work, but only a 100% author-ready definition passes the publication gate.

Catalog Identity
validated
Address Enumeration
validated
Semantic Naming
validated
Physical Wiring
conflicted
Mechanisms
validated
Variant Coverage
validated
Recreation Knowledge
validated
Still missing · 3
PolaritySpatial PlacementUnresolved Conflicts

Switches

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

79 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.

79 shown
# Name Device ID Role Wiring Evidence
1
Left Coin Chute
Button
switch.cabinet-1
cabinet.coin.1
J205-1Orange-Brown
WPC CPU board
validated
2
Center Coin Chute
Button
switch.cabinet-2
cabinet.coin.2
J205-2Orange-Red
WPC CPU board
validated
3
Right Coin Chute
Button
switch.cabinet-3
cabinet.coin.3
J205-3Orange-Black
WPC CPU board
validated
4
4th Coin Chuteopt
Button
switch.cabinet-4
cabinet.coin.4
J205-4Orange-Yellow
WPC CPU board
validated
5
Service Credits / Escape
Button
switch.cabinet-5
service.escape
J205-6Orange-Green
WPC CPU board
validated
6
Volume Down / Down
Button
switch.cabinet-6
service.down
J205-7Orange-Blue
WPC CPU board
validated
7
Volume Up / Up
Button
switch.cabinet-7
service.up
J205-8Orange-Violet
WPC CPU board
validated
8
Begin Test / Enter
Button
switch.cabinet-8
service.enter
J205-9Orange-Gray
WPC CPU board
validated
11
Left Fire Button
Button
switch.matrix-11
cabinet.button
J207-1Green-Brown
J209-1White-Brown
WPC CPU board
validated
12
Right Fire Button
Button
switch.matrix-12
cabinet.button
J207-1Green-Brown
J209-2White-Red
WPC CPU board
validated
13
Credit (Start)
Button
switch.matrix-13
cabinet.button
J207-1Green-Brown
J209-3White-Orange
WPC CPU board
validated
14
Plumb Bob Tilt
Tilt
switch.matrix-14
cabinet.service
J207-1Green-Brown
J209-4White-Yellow
WPC CPU board
validated
15
Left Shoot Lane
Microswitch
switch.matrix-15
J207-1Green-Brown
J209-5White-Green
WPC CPU board
validated
16
Left Outlane
Microswitch
switch.matrix-16
J207-1Green-Brown
J209-7White-Blue
WPC CPU board
validated
17
Left Return Lane
Microswitch
switch.matrix-17
J207-1Green-Brown
J209-8White-Violet
WPC CPU board
validated
18
3-Bank Targets
Microswitch
switch.matrix-18
J207-1Green-Brown
J209-9White-Gray
WPC CPU board
validated
21
Slam Tilt
Leaf
switch.matrix-21
cabinet.service
J207-2Green-Red
J209-1White-Brown
WPC CPU board
validated
22
Front Door Closed
Microswitch
switch.matrix-22
cabinet.service
J207-2Green-Red
J209-2White-Red
WPC CPU board
validated
23
Ticket Dispenseropt
Other
switch.matrix-23
cabinet.ticket
J207-2Green-Red
J209-3White-Orange
WPC CPU board
validated
25
Top Right Post
Microswitch
switch.matrix-25
J207-2Green-Red
J209-5White-Green
WPC CPU board
validated
26
Captive Ball 1
Microswitch
switch.matrix-26
J207-2Green-Red
J209-7White-Blue
WPC CPU board
validated
27
Mystery
Microswitch
switch.matrix-27
J207-2Green-Red
J209-8White-Violet
WPC CPU board
validated
28
Crane Assembly Switch Position 28 (Fitment Unresolved)
switch.matrix-28
J207-2Green-Red
J209-9White-Gray
WPC CPU board
validated
31
Buy-In (Extra Ball)
Button
switch.matrix-31
cabinet.button
J207-3Green-Orange
J209-1White-Brown
WPC CPU board
validated
32
Left Ramp Entrance Opto Position 32 (Fitment Unresolved)
switch.matrix-32
J207-3Green-Orange
J209-2White-Red
WPC CPU board
validated
33
Left Rollover
Microswitch
switch.matrix-33
J207-3Green-Orange
J209-3White-Orange
WPC CPU board
validated
34
Inside Right Return
Microswitch
switch.matrix-34
J207-3Green-Orange
J209-4White-Yellow
WPC CPU board
validated
35
Top Center Rollover
Microswitch
switch.matrix-35
J207-3Green-Orange
J209-5White-Green
WPC CPU board
validated
36
Left Score Target
Microswitch
switch.matrix-36
J207-3Green-Orange
J209-7White-Blue
WPC CPU board
validated
37
Subway Enter 1
Microswitch
switch.matrix-37
J207-3Green-Orange
J209-8White-Violet
WPC CPU board
validated
38
Subway Enter 2
Microswitch
switch.matrix-38
J207-3Green-Orange
J209-9White-Gray
WPC CPU board
validated
41
Right Ball Shooter
Microswitch
switch.matrix-41
J207-4Green-Yellow
J209-1White-Brown
WPC CPU board
validated
42
Right Outlane
Microswitch
switch.matrix-42
J207-4Green-Yellow
J209-2White-Red
WPC CPU board
validated
43
Outside Right Return
Microswitch
switch.matrix-43
J207-4Green-Yellow
J209-3White-Orange
WPC CPU board
validated
44
Super Game
Button
switch.matrix-44
cabinet.button
J207-4Green-Yellow
J209-4White-Yellow
WPC CPU board
validated
45
Not Used Switch Position 45
switch.matrix-45
J207-4Green-Yellow
J209-5White-Green
WPC CPU board
validated
46
Not Used Switch Position 46
switch.matrix-46
J207-4Green-Yellow
J209-7White-Blue
WPC CPU board
validated
47
Not Used Switch Position 47
switch.matrix-47
J207-4Green-Yellow
J209-8White-Violet
WPC CPU board
validated
48
Not Used Switch Position 48
switch.matrix-48
J207-4Green-Yellow
J209-9White-Gray
WPC CPU board
validated
51
Left Sling
Leaf
switch.matrix-51
J207-5Green-Black
J209-1White-Brown
WPC CPU board
validated
52
Right Sling
Leaf
switch.matrix-52
J207-5Green-Black
J209-2White-Red
WPC CPU board
validated
53
Captive Ball 2
Microswitch
switch.matrix-53
J207-5Green-Black
J209-3White-Orange
WPC CPU board
validated
54
Drop Target "J"
switch.matrix-54
J207-5Green-Black
J209-4White-Yellow
WPC CPU board
validated
55
Drop Target "U"
switch.matrix-55
J207-5Green-Black
J209-5White-Green
WPC CPU board
validated
56
Drop Target "D"
switch.matrix-56
J207-5Green-Black
J209-7White-Blue
WPC CPU board
validated
57
Drop Target "G"
switch.matrix-57
J207-5Green-Black
J209-8White-Violet
WPC CPU board
validated
58
Drop Target "E"
switch.matrix-58
J207-5Green-Black
J209-9White-Gray
WPC CPU board
validated
61
Globe Position #1NC
Opto
switch.matrix-61
J207-6Green-Blue
J209-1White-Brown
WPC CPU board
validated
62
Crane ExitNC
Opto
switch.matrix-62
J207-6Green-Blue
J209-2White-Red
WPC CPU board
validated
63
Left Ramp To LockNC
Opto
switch.matrix-63
J207-6Green-Blue
J209-3White-Orange
WPC CPU board
validated
64
Left Ramp ExitNC
Opto
switch.matrix-64
J207-6Green-Blue
J209-4White-Yellow
WPC CPU board
validated
65
Right Ramp Entrance Position 65 (Fitment Unresolved)
switch.matrix-65
J207-6Green-Blue
J209-5White-Green
WPC CPU board
validated
66
Center Ramp ExitNC
Opto
switch.matrix-66
J207-6Green-Blue
J209-7White-Blue
WPC CPU board
validated
67
Left Ramp EnterNC
Opto
switch.matrix-67
J207-6Green-Blue
J209-8White-Violet
WPC CPU board
validated
68
Captive Ball 3
Microswitch
switch.matrix-68
J207-6Green-Blue
J209-9White-Gray
WPC CPU board
validated
71
Magnet Over RingNC
Opto
switch.matrix-71
J207-7Green-Violet
J209-1White-Brown
WPC CPU board
validated
72
Top Right OptoNC
Opto
switch.matrix-72
J207-7Green-Violet
J209-2White-Red
WPC CPU board
validated
73
Left PopperNC
Opto
switch.matrix-73
J207-7Green-Violet
J209-3White-Orange
WPC CPU board
validated
74
Right PopperNC
Opto
switch.matrix-74
J207-7Green-Violet
J209-4White-Yellow
WPC CPU board
validated
75
Top Ramp ExitNC
Opto
switch.matrix-75
J207-7Green-Violet
J209-5White-Green
WPC CPU board
validated
76
Right Ramp ExitNC
Opto
switch.matrix-76
J207-7Green-Violet
J209-7White-Blue
WPC CPU board
validated
77
Globe Position #2NC
Opto
switch.matrix-77
J207-7Green-Violet
J209-8White-Violet
WPC CPU board
validated
78
Not Used Switch Position 78
switch.matrix-78
J207-7Green-Violet
J209-9White-Gray
WPC CPU board
validated
81
Trough 1NC
Opto
switch.matrix-81
J207-9Green-Gray
J209-1White-Brown
WPC CPU board
validated
82
Trough 2NC
Opto
switch.matrix-82
J207-9Green-Gray
J209-2White-Red
WPC CPU board
validated
83
Trough 3NC
Opto
switch.matrix-83
J207-9Green-Gray
J209-3White-Orange
WPC CPU board
validated
84
Trough 4NC
Opto
switch.matrix-84
J207-9Green-Gray
J209-4White-Yellow
WPC CPU board
validated
85
Trough 5NC
Opto
switch.matrix-85
J207-9Green-Gray
J209-5White-Green
WPC CPU board
validated
86
Trough 6NC
Opto
switch.matrix-86
J207-9Green-Gray
J209-7White-Blue
WPC CPU board
validated
87
Top TroughNC
Opto
switch.matrix-87
J207-9Green-Gray
J209-8White-Violet
WPC CPU board
validated
88
Not Used Switch Position 88
switch.matrix-88
J207-9Green-Gray
J209-9White-Gray
WPC CPU board
validated
111
Lower Right Flipper EOS
Leaf
switch.flipper-111
J906-1Black-Green
Fliptronic II board
validated
112
Lower Right Flipper Button
Opto
switch.flipper-112
J905-1Blue-Violet
Fliptronic II board
validated
113
Lower Left Flipper EOS
Leaf
switch.flipper-113
J906-3Black-Blue
Fliptronic II board
validated
114
Lower Left Flipper Button
Opto
switch.flipper-114
J905-2Blue-Gray
Fliptronic II board
validated
115
Upper Right Flipper EOS
Leaf
switch.flipper-115
J906-4Black-Violet
Fliptronic II board
validated
116
Upper Right Flipper Button
Opto
switch.flipper-116
J905-3Black-Yellow
Fliptronic II board
validated
117
Upper Left Flipper EOS
Leaf
switch.flipper-117
J906-5Black-Gray
Fliptronic II board
validated
118
Upper Left Flipper Button
Opto
switch.flipper-118
J905-5Black-Blue
Fliptronic II board
validated

Controlled devices

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

Coils, magnets & motors

22
22 shown
# Name Device ID Kind Role Wiring Evidence
1
Globe Magnet
coil.globe-magnet Magnet
Q82Vio-Brn
WPC power driver board
validated
2
Left Popper
coil.left-popper Coil
Q80Vio-Red
WPC power driver board
validated
3
Right Popper
coil.right-popper Coil
Q78Vio-Org
WPC power driver board
validated
4
Globe Arm
coil.globe-arm Motor
Q76Vio-Yel
WPC power driver board
validated
5
Reset Drop Targets
coil.reset-drop-targets Coil
Q64Vio-Grn
WPC power driver board
validated
6
Globe Motor
coil.globe-motor Motor
Q66Vio-Blu
WPC power driver board
validated
7
Knocker
coil.knocker Coil
cabinet.knocker
Q68Vio-Blk
WPC power driver board
validated
8
Right Shooter
coil.right-shooter Coil
Q70Vio-Gry
WPC power driver board
validated
9
Left Shooter
coil.left-shooter Coil
Q58Brn-Blk
WPC power driver board
validated
10
Trip Drop Target
coil.trip-drop-target Coil
Q56Brn-Red
WPC power driver board
validated
11
Diverter
coil.diverter Coil
Q54Brn-Org
WPC power driver board
validated
13
Trough
coil.trough Coil
Q50Brn-Grn
WPC power driver board
validated
15
Left Slingshot
coil.left-slingshot Coil
Q46Brn-Vio
WPC power driver board
validated
16
Right Slingshot
coil.right-slingshot Coil
Q44Brn-Gry
WPC power driver board
validated
33
Upper Right Flipper Power
coil.upper-right-flipper-power Coil
Q2Blk-Yel
Fliptronic II board
validated
34
Upper Right Flipper Hold
coil.upper-right-flipper-hold Coil
Q7Org-Vio
Fliptronic II board
validated
35
Upper Left Flipper Power
coil.upper-left-flipper-power Coil
Q1Blk-Blu
Fliptronic II board
validated
36
Upper Left Flipper Hold
coil.upper-left-flipper-hold Coil
Q5Org-Gry
Fliptronic II board
validated
45
Lower Right Flipper Power
coil.lower-right-flipper-power Coil
Q4Blu-Vio
Fliptronic II board
validated
46
Lower Right Flipper Hold
coil.lower-right-flipper-hold Coil
Q11Org-Grn
Fliptronic II board
validated
47
Lower Left Flipper Power
coil.lower-left-flipper-power Coil
Q3Blu-Gry
Fliptronic II board
validated
48
Lower Left Flipper Hold
coil.lower-left-flipper-hold Coil
Q9Org-Blu
Fliptronic II board
validated

Flashers

12
12 shown
# Name Device ID Role Wiring Evidence
17
Judge Fire Flashers
flasher.judge-fire-flashers
Q42Blk-Brn
WPC power driver board
validated
18
Judge Fear Flashers
flasher.judge-fear-flashers
Q40Blk-Red
WPC power driver board
validated
19
Judge Death Flashers
flasher.judge-death-flashers
Q38Blk-Org
WPC power driver board
validated
20
Judge Mortis Flashers
flasher.judge-mortis-flashers
Q36Blk-Yel
WPC power driver board
validated
21
Pursuit Left Flashers
flasher.pursuit-left-flashers
Q28Blu-Grn
WPC power driver board
validated
22
Pursuit Right Flashers
flasher.pursuit-right-flashers
Q30Blu-Blk
WPC power driver board
validated
23
Blackout Flashers
flasher.blackout-flashers
Q34Blu-Vio
WPC power driver board
validated
24
Cursed Earth Flashers
flasher.cursed-earth-flashers
Q32Blu-Gry
WPC power driver board
validated
25
Lower Left Flashers
flasher.lower-left-flashers
Q26Blu-Brn
WPC power driver board
validated
26
Globe Flashers
flasher.globe-flashers
Q24Blu-Red
WPC power driver board
validated
27
Right Ramp Flashers
flasher.right-ramp-flashers
Q22Blu-Org
WPC power driver board
validated
28
Insert Flashers
flasher.insert-flashers
cabinet.insert-panel
Q20Blu-Yel
WPC power driver board
validated

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 Role Wiring Evidence
11
Perp 1 (White)
lamp.matrix-11
WPC power driver board
validated
12
Perp 1 (Red)
lamp.matrix-12
WPC power driver board
validated
13
Perp 1 (Yellow)
lamp.matrix-13
WPC power driver board
validated
14
Perp 1 (Green)
lamp.matrix-14
WPC power driver board
validated
15
Perp 2 (White)
lamp.matrix-15
WPC power driver board
validated
16
Perp 2 (Red)
lamp.matrix-16
WPC power driver board
validated
17
Perp 2 (Yellow)
lamp.matrix-17
WPC power driver board
validated
18
Perp 2 (Green)
lamp.matrix-18
WPC power driver board
validated
21
Perp 4 (White)
lamp.matrix-21
WPC power driver board
validated
22
Perp 4 (Red)
lamp.matrix-22
WPC power driver board
validated
23
Perp 4 (Yellow)
lamp.matrix-23
WPC power driver board
validated
24
Perp 4 (Green)
lamp.matrix-24
WPC power driver board
validated
25
Perp 5 (White)
lamp.matrix-25
WPC power driver board
validated
26
Perp 5 (Red)
lamp.matrix-26
WPC power driver board
validated
27
Perp 5 (Yellow)
lamp.matrix-27
WPC power driver board
validated
28
Perp 5 (Green)
lamp.matrix-28
WPC power driver board
validated
31
Perp 3 (White)
lamp.matrix-31
WPC power driver board
validated
32
Perp 3 (Red)
lamp.matrix-32
WPC power driver board
validated
33
Perp 3 (Yellow)
lamp.matrix-33
WPC power driver board
validated
34
Perp 3 (Green)
lamp.matrix-34
WPC power driver board
validated
35
Lock 1
lamp.matrix-35
WPC power driver board
validated
36
Lock 2
lamp.matrix-36
WPC power driver board
validated
37
Lock 3
lamp.matrix-37
WPC power driver board
validated
38
Buy-In
lamp.matrix-38
cabinet.button
WPC power driver board
validated
41
Crime Level 4 (White)
lamp.matrix-41
WPC power driver board
validated
42
Crime Level 3 (Red)
lamp.matrix-42
WPC power driver board
validated
43
Crime Level 2 (Yellow)
lamp.matrix-43
WPC power driver board
validated
44
Crime Level 1 (Green)
lamp.matrix-44
WPC power driver board
validated
45
Meltdown
lamp.matrix-45
WPC power driver board
validated
46
Impersonator
lamp.matrix-46
WPC power driver board
validated
47
Battle Tank
lamp.matrix-47
WPC power driver board
validated
48
Stop Meltdown
lamp.matrix-48
WPC power driver board
validated
51
Stakeout
lamp.matrix-51
WPC power driver board
validated
52
Safecracker
lamp.matrix-52
WPC power driver board
validated
53
Pursuit
lamp.matrix-53
WPC power driver board
validated
54
Ultimate Challenge
lamp.matrix-54
WPC power driver board
validated
55
Manhunt
lamp.matrix-55
WPC power driver board
validated
56
Blackout
lamp.matrix-56
WPC power driver board
validated
57
Sniper
lamp.matrix-57
WPC power driver board
validated
58
Pick A Prize
lamp.matrix-58
WPC power driver board
validated
61
Extra Ball
lamp.matrix-61
WPC power driver board
validated
62
Right Start Feature
lamp.matrix-62
WPC power driver board
validated
63
Tank Center
lamp.matrix-63
WPC power driver board
validated
64
Award Sniper
lamp.matrix-64
WPC power driver board
validated
65
Air Raid
lamp.matrix-65
WPC power driver board
validated
66
Left Center Feature
lamp.matrix-66
WPC power driver board
validated
67
Tank Left
lamp.matrix-67
WPC power driver board
validated
68
Mystery
lamp.matrix-68
WPC power driver board
validated
71
Drop Target "J"
lamp.matrix-71
WPC power driver board
validated
72
Drop Target "U"
lamp.matrix-72
WPC power driver board
validated
73
Drop Target "D"
lamp.matrix-73
WPC power driver board
validated
74
Drop Target "G"
lamp.matrix-74
WPC power driver board
validated
75
Drop Target "E"
lamp.matrix-75
WPC power driver board
validated
76
Award Safecracker
lamp.matrix-76
WPC power driver board
validated
77
Multi-ball Jackpot
lamp.matrix-77
WPC power driver board
validated
78
Award Bad Impersonator
lamp.matrix-78
WPC power driver board
validated
81
Award Stakeout
lamp.matrix-81
WPC power driver board
validated
82
Blackout Jackpot
lamp.matrix-82
WPC power driver board
validated
83
Drain Shield
lamp.matrix-83
WPC power driver board
validated
84
Judge Again
lamp.matrix-84
WPC power driver board
validated
85
Advance Crime Level
lamp.matrix-85
WPC power driver board
validated
86
Tank Right
lamp.matrix-86
WPC power driver board
validated
87
Super Game
lamp.matrix-87
cabinet.button
WPC power driver board
validated
88
Start Button
lamp.matrix-88
cabinet.button
WPC power driver board
validated

General illumination

5
5 shown
# Name Device ID Wiring Evidence
0
String 1
gi.string-1
Q18Wht-Brn
WPC power driver board
validated
1
String 2
gi.string-2
Q10Wht-Org
WPC power driver board
validated
2
String 3
gi.string-3
Q14Wht-Yel
WPC power driver board
validated
3
String 4
gi.string-4
Q16Wht-Grn
WPC power driver board
validated
4
String 5
gi.string-5
Q12Wht-Vio
WPC power driver board
validated

Virtual & other outputs

17
17 shown
# Name Device ID Role Wiring Evidence
12
Not Used Solenoid Position 12
solenoid.unused-12
Q52Brn-Yel
WPC power driver board
validated
14
Not Used Solenoid Position 14
solenoid.unused-14
Q48Brn-Blu
WPC power driver board
validated
29
WPC J111 General-Purpose State Bit A
solenoid.virtual-29
internal.wpc-state
validated
30
WPC J111 General-Purpose State Bit B
solenoid.virtual-30
internal.wpc-state
validated
31
WPC GameOn State Bit
solenoid.virtual-31
internal.wpc-state
validated
32
Unused WPC State Channel 32
solenoid.virtual-32
internal.unused.wpc-output
validated
37
Unused WPC-DCS Address 37
solenoid.virtual-37
internal.unused.wpc-output
validated
38
Unused WPC-DCS Address 38
solenoid.virtual-38
internal.unused.wpc-output
validated
39
Unused WPC-DCS Address 39
solenoid.virtual-39
internal.unused.wpc-output
validated
40
Unused WPC-DCS Address 40
solenoid.virtual-40
internal.unused.wpc-output
validated
41
Unused WPC-DCS Address 41
solenoid.virtual-41
internal.unused.wpc-output
validated
42
Unused WPC-DCS Address 42
solenoid.virtual-42
internal.unused.wpc-output
validated
43
Unused WPC-DCS Address 43
solenoid.virtual-43
internal.unused.wpc-output
validated
44
Unused WPC-DCS Address 44
solenoid.virtual-44
internal.unused.wpc-output
validated
49
PinMAME Simulator Ball-Shooter Channel
solenoid.virtual-49
internal.unused.wpc-output
validated
50
Reserved WPC Output 50
solenoid.virtual-50
internal.unused.wpc-output
validated
51
PinMAME Claw-Release Diagnostic State
solenoid.virtual-51
internal.derived-state
validated

Configuration & other inputs

1 shown
# Name Device ID Wiring Evidence
24
Always Closed
Other
switch.matrix-24
J207-2Green-Red
J209-4White-Yellow
WPC CPU board
validated

Mechanisms

Logical assemblies with their actuators, sensors and observed behaviour. Click a chip to jump to the address it refers to.

Deadworld rotating globe

mechanism.deadworld-globe

Motorized

A gearmotor (14-7985, assembly A-16478, mounted under the playfield) rotates the Deadworld globe above the playfield. The globe carries three ball slots. Pinned PinMAME models it as a free-running 0-100 position counter that advances one step per mech tick while solenoid 6 is energised and wraps at 100, asserting Globe Position #2 (switch 77) over steps 0-10 — the window in which a captured ball sits under the crane and can be lifted, which is what jd.c's own comment on swGlobe2 says. Globe Position #1 (switch 61) is the ball-present state at the globe: jd_stateDef's "Planet" step holds a ball on switch 61 with the Arm Magnet as its release solenoid. The retained script implements the same shape differently, rotating the disc by a fixed angular step per timer tick and asserting switch 77 when the angle brings a loaded slot to one of three drop positions. Neither position sensor is a point on the playfield surface; both are angular sensors on the globe assembly.

Deadworld crane arm and magnet

mechanism.deadworld-crane

Motorized

A second gearmotor (14-7989, assembly A-16678) swings a crane arm out over the globe, and an electromagnet on the end of the arm (A-12158-1, assembly A-16769) picks a ball off a globe slot and carries it back to the playfield. Pinned PinMAME models the arm as its own 0-100 position counter advancing while solenoid 4 is energised and asserts Magnet Over Ring (switch 71) over steps 0-10, the window in which the magnet is above the ring and a ball can be picked up or released. Releasing the magnet drops the ball, which then breaks the Crane Exit opto (switch 62) on its way back into play — the driver's ball simulator sequences exactly that as Planet, In Claw, Dropped. Switch 62 is the only reliable way to know a ball has left the mechanism, which is why the retained script's own handler for it is commented "*critical* to keeping track of balls". Whether a further switch reports that the magnet is holding a ball is unresolved; see conflict.l1-era-switch-fitment for matrix position 28.

Five-target JUDGE drop-target bank

mechanism.judge-drop-targets

Drop Target Bank

Five drop targets spelling J-U-D-G-E sit in a single left-to-right bank across the middle of the playfield. Solenoid 5 (Reset Drop Targets, A-16947, under the playfield) raises all five at once; solenoid 10 (Trip Drop Target, A-16445, under the playfield) pulls only the centre "D" target down, which is what opens the subway beneath it. Pinned PinMAME's jd_handleMech keeps a per-target up/down flag and asserts each switch while its target is DOWN, so a recreation reports the switch closed for a dropped target rather than for a struck one. The retained script drives the same five targets through its own DropTarget helper objects (DT54-DT58) and implements ResetDrops and TripDrop to match. The physical construction of the A-16486 target switch is not disclosed by any source read here, and PinMAME normalizes all five addresses; see conflict.judge-drop-targets-normalized-without-opto-evidence.

Subway under the D drop target

mechanism.subway

Other

With the centre "D" drop target down, a ball shot at the bank enters a subway under the playfield. Two rollovers track it on the way through — Subway Enter 1 (switch 37) at the start and Subway Enter 2 (switch 38) part way along, both marked †Located Under Playfield — and it comes to rest in the Left Popper, an opto-sensed vertical up-kicker (switch 73, solenoid 2, assembly A-16580) that fires it onto a habitrail. Pinned PinMAME's own ball simulator sequences Subway, Subway, Subway Popper, Subway Habitrail in exactly that order, and gates entry on the "D" target being down through its custom key condition.

Sniper Tower right popper

mechanism.right-popper

Kicker

A ball resting on the Right Popper opto (switch 74) at the top right of the playfield is kicked back into play by solenoid 3 (A-15769) onto a wire ramp. Pinned PinMAME's ball simulator names this shot the Sniper Tower and routes its exit to the left inlane.

Left ramp diverter to the Deadworld globe

mechanism.left-ramp-diverter

Diverter

The plastic orbit ramp that runs up the left side and round past the globe has a solenoid-operated diverter at the top (solenoid 11, A-16802, under the playfield). With the diverter at rest the ball carries on through Left Ramp Exit (switch 64); with the diverter energised it is sent through Left Ramp To Lock (switch 63) and onto the Deadworld globe. Pinned PinMAME's ball simulator encodes exactly that branch, with sDiverter selecting the "Towards Planet" alternative from the Left Ramp state. Which opto reports the ramp entrance differs between ROM revisions; see conflict.l1-era-switch-fitment.

Six-ball trough and ball release

mechanism.trough

Kicker

Six balls rest on trough optos 81-86, with Trough 6 (86) at the eject end nearest the right shooter lane and Trough 1 (81) at the drain entrance. Solenoid 13 (AE-26-1500, assembly A-16765) ejects the ball resting on 86, and Top Trough (87) reports the ball leaving; the retained script's handler kicks from 86 and pulses 87 in the same event. All seven positions carry an A-16926 phototransistor and A-16927 LED per the switch-locations parts list, so a recreation asserts the public switch when a ball is present.

Right and left shooter lanes

mechanism.shooter-lanes

Kicker

Judge Dredd has two ball-launch lanes. The right shooter lane is the normal one: a ball ejected from the trough rests on switch 41 and solenoid 8 (A-14525) launches it. The left shoot lane is a second, mode-specific launcher — the retained script calls solenoid 9 (A-16936) the KickBack and the manual calls it Left Shooter — fed from the Air Raid ramp habitrail and resting on switch 15.

Left and right slingshots

mechanism.slingshots

Other

Each slingshot assembly (A-14369-L and A-14369-R) carries a kick switch (SW-1A-114) and a separate score switch (SW-1A-120), which is what the "(2)" printed in matrix cells 51 and 52 records; both switches feed the one matrix address. The retained script's slingshot handlers pulse 51 and 52 and fire coils 15 and 16 in the same event.

Three-switch captive ball

mechanism.captive-balls

Other

A captive-ball lane on the right side of the playfield is instrumented at three depths: Captive Ball 1 (switch 26) nearest the player, Captive Ball 2 (switch 53) and Captive Ball 3 (switch 68) furthest in. Harder shots push the captive ball deeper and register more of the three in sequence, which is exactly how pinned PinMAME's ball simulator chains them (Captive Ball -, Captive Ball /, Captive Ball |). Switches 26 and 53 are 5647-12693-19 rollovers and 68 is an A-14227-15 target switch; none of the three is an opto.

Advance Crime three-bank standup targets

mechanism.three-bank-targets

Other

Three standup targets stacked vertically on the right of the playfield share the single matrix address 18. The manual's own switch-location diagram draws the 18 callout three times against one A-14227-15 part number, and the retained script instantiates three separate hit targets that all report public switch 18. A recreation therefore needs three physical targets but only one controller input.

Lower flipper pair

mechanism.lower-flippers

Other

Two FL-11629 flippers on Fliptronic circuits (A-15205-R-2 right, A-15205-L-2 left). Each has a separate power and hold winding: the ROM energises the power winding on the cabinet button opto (112 right, 114 left), then drops to the hold winding once the end-of-stroke leaf switch (111 right, 113 left) closes. The retained table runs Const UseSolenoids = 2, so the ROM drives the coils directly rather than the table simulating them.

Upper flipper pair

mechanism.upper-flippers

Other

Judge Dredd is a four-flipper wide-body: an upper right flipper (A-15205-R) sits below the Sniper Tower shot and an upper left flipper (A-16976-L) beside the Deadworld globe. Both are fitted, so all four upper Fliptronic switch positions and all four upper flipper solenoid addresses carry real hardware and none is repurposed. The upper right flipper is the one circuit that uses a different coil, FL-11630 (Red) rather than FL-11629 (Blue). Pinned PinMAME agrees: jdGameData declares FLIP_SW(FLIP_L|FLIP_U) and FLIP_SOL(FLIP_L|FLIP_U), so core_getSol routes public 33/34 through the upper-right coil path and 35/36 through the upper-left path, and the retained script binds sURFlipper to its right-hand upper flipper object and sULFlipper to its left-hand one.

Direct wiring

Connections that exist in copper, not in the ROM. These fire whether or not a game is running.

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 (1993). 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/jd.json#/switches/0._note: Controller.Switch(11) set via LeftMagnaSave key. Used for left plunger lane in Air Raid / Missile mode.
  • games/jd.json#/switches/1._note: Controller.Switch(12) set via PlungerKey
  • games/jd.json#/switches/2._note: vpmNudge.TiltSwitch = 14
  • games/jd.json#/switches/3._note: Kickback / Missile Launcher lane switch. Controller.Switch(15) on/off.
  • games/jd.json#/switches/4._note: PulseSw 16
  • games/jd.json#/switches/5._note: PulseSw 17
  • games/jd.json#/switches/6._note: sw18, sw18a, sw18b all use switch 18. Bank of 3 targets with custom hit IDs 180/181/182 for animation but same ROM switch.
  • games/jd.json#/switches/7._note: Controller.Switch(22)=1 on init (coin door closed)
  • games/jd.json#/switches/8._note: STHit 25
  • games/jd.json#/switches/9._note: Controller.Switch(26) on/off. Reactor lane captive ball.
  • games/jd.json#/switches/10._note: STHit 27
  • games/jd.json#/switches/11._note: Controller.Switch(28) set by CraneMag sub. Signals crane has grabbed a ball.
  • games/jd.json#/switches/12._note: Controller.Switch(31) set via keycode 3
  • games/jd.json#/switches/13._note: sw67_Hit pulses switch 32 (remapped). Opto at main ramp entrance.
  • games/jd.json#/switches/14._note: PulseSw 33
  • games/jd.json#/switches/15._note: PulseSw 34
  • games/jd.json#/switches/16._note: PulseSw 35
  • games/jd.json#/switches/17._note: STHit 36
  • games/jd.json#/switches/18._note: PulseSw 37
  • games/jd.json#/switches/19._note: PulseSw 38
  • games/jd.json#/switches/20._note: Controller.Switch(41) on/off
  • games/jd.json#/switches/21._note: PulseSw 42
  • games/jd.json#/switches/22._note: PulseSw 43
  • games/jd.json#/switches/23._note: Controller.Switch(44) set via RightMagnaSave key
  • games/jd.json#/switches/24._note: PulseSw 51 in LeftSlingShot_Slingshot sub
  • games/jd.json#/switches/25._note: PulseSw 52 in RightSlingShot_Slingshot sub
  • games/jd.json#/switches/26._note: Controller.Switch(53) on/off. Reactor lane captive ball.
  • games/jd.json#/switches/27._note: JUDGE drop target bank — J. DT54 array: sw54, sw54off, sw54prim.
  • games/jd.json#/switches/28._note: JUDGE drop target bank — U. DT55 array: sw55, sw55off, sw55prim.
  • games/jd.json#/switches/29._note: JUDGE drop target bank — D. DT56 array: sw56, sw56off, sw56prim.
  • games/jd.json#/switches/30._note: JUDGE drop target bank — G. DT57 array: sw57, sw57off, sw57prim.
  • games/jd.json#/switches/31._note: JUDGE drop target bank — E. DT58 array: sw58, sw58off, sw58prim.
  • games/jd.json#/switches/32._note: Controller.Switch(62) on/off. Critical for tracking balls exiting Deadworld crane.
  • games/jd.json#/switches/33._note: PulseSw 63
  • games/jd.json#/switches/34._note: PulseSw 64
  • games/jd.json#/switches/35._note: PulseSw 65. Comment says 'Not used?'
  • games/jd.json#/switches/36._note: PulseSw 66
  • games/jd.json#/switches/37._note: STHit 68
  • games/jd.json#/switches/38._note: Controller.Switch(71) set/cleared during crane movement. Signals crane is at disc position.
  • games/jd.json#/switches/39._note: PulseSw 72
  • games/jd.json#/switches/40._note: bsBotVUK.AddBall. InitSaucer sw73, 73.
  • games/jd.json#/switches/41._note: bsTopVUK.AddBall. InitSaucer sw74, 74.
  • games/jd.json#/switches/42._note: PulseSw 75
  • games/jd.json#/switches/43._note: PulseSw 76
  • games/jd.json#/switches/44._note: Controller.Switch(77) toggled in FWTimer_Timer. Signals ball in Deadworld slot passing drop position.
  • games/jd.json#/switches/45._note: Ball trough position 1
  • games/jd.json#/switches/46._note: Ball trough position 2
  • games/jd.json#/switches/47._note: Ball trough position 3
  • games/jd.json#/switches/48._note: Ball trough position 4
  • games/jd.json#/switches/49._note: Ball trough position 5
  • games/jd.json#/switches/50._note: Ball trough position 6. sw86.kick used by JDTrough solenoid.
  • games/jd.json#/switches/51._note: PulseSw 87 fired in JDTrough sub after ball eject. Confirms ball reached shooter lane.
  • games/jd.json#/coils/0._vbscript_callback: CraneMag
  • games/jd.json#/coils/0._inferred_type: mechanism
  • games/jd.json#/coils/0._note: Magnet inside crane arm to grab/release balls
  • games/jd.json#/coils/1._vbscript_callback: bsBotVUK.SolOut
  • games/jd.json#/coils/1._inferred_type: ball_management
  • games/jd.json#/coils/1._note: Bottom (Left) Vertical Up Kicker / Popper. InitSaucer sw73, 73, direction 0, force 100.
  • games/jd.json#/coils/2._vbscript_callback: bsTopVUK.SolOut
  • games/jd.json#/coils/2._inferred_type: ball_management
  • games/jd.json#/coils/2._note: Top (Right) Vertical Up Kicker / Popper. InitSaucer sw74, 74, direction 280, force 50.
  • games/jd.json#/coils/3._vbscript_callback: CraneArm
  • games/jd.json#/coils/3._inferred_type: mechanism
  • games/jd.json#/coils/3._note: Crane arm movement
  • games/jd.json#/coils/4._vbscript_callback: ResetDrops
  • games/jd.json#/coils/4._inferred_type: drop_target_reset
  • games/jd.json#/coils/4._note: Resets J-U-D-G-E drop targets
  • games/jd.json#/coils/5._vbscript_callback: SolWheelDrive
  • games/jd.json#/coils/5._inferred_type: mechanism
  • games/jd.json#/coils/5._note: Rotates Deadworld globe
  • games/jd.json#/coils/6._vbscript_callback: SolKnocker
  • games/jd.json#/coils/6._inferred_type: knocker
  • games/jd.json#/coils/7._vbscript_callback: JDPlunger
  • games/jd.json#/coils/7._inferred_type: ball_management
  • games/jd.json#/coils/7._note: Impulse plunger for right shooter lane
  • games/jd.json#/coils/8._vbscript_callback: KickBack
  • games/jd.json#/coils/8._inferred_type: ball_management
  • games/jd.json#/coils/8._note: Kickback / Missile launcher plunger
  • games/jd.json#/coils/9._vbscript_callback: TripDrop
  • games/jd.json#/coils/9._inferred_type: drop_target_reset
  • games/jd.json#/coils/9._note: Drops the center 'D' drop target for certain modes to enable subway
  • games/jd.json#/coils/10._vbscript_callback: Diverter
  • games/jd.json#/coils/10._inferred_type: diverter
  • games/jd.json#/coils/11._vbscript_callback: JDTrough
  • games/jd.json#/coils/11._inferred_type: ball_management
  • games/jd.json#/coils/11._note: Kicks ball from sw86 into shooter lane. PulseSw 87 after eject.
  • games/jd.json#/coils/12._vbscript_callback: SetLamp 117,
  • games/jd.json#/coils/12._inferred_type: flasher
  • games/jd.json#/coils/13._vbscript_callback: SetLamp 118,
  • games/jd.json#/coils/13._inferred_type: flasher
  • games/jd.json#/coils/14._vbscript_callback: SetLamp 119,
  • games/jd.json#/coils/14._inferred_type: flasher
  • games/jd.json#/coils/15._vbscript_callback: SetLamp 120,
  • games/jd.json#/coils/15._inferred_type: flasher
  • games/jd.json#/coils/16._vbscript_callback: FlashSol21
  • games/jd.json#/coils/16._inferred_type: flasher
  • games/jd.json#/coils/16._note: Custom flash sub with bloom effects. MassAssign(121) commented out — uses FlashSol21 sub instead.
  • games/jd.json#/coils/17._vbscript_callback: FlashSol22
  • games/jd.json#/coils/17._inferred_type: flasher
  • games/jd.json#/coils/17._note: Custom flash sub with bloom effects. MassAssign(122) commented out — uses FlashSol22 sub instead.
  • games/jd.json#/coils/18._vbscript_callback: SetLamp 123,
  • games/jd.json#/coils/18._inferred_type: flasher
  • games/jd.json#/coils/19._vbscript_callback: SetLamp 124,
  • games/jd.json#/coils/19._inferred_type: flasher
  • games/jd.json#/coils/20._vbscript_callback: SetLamp 125,
  • games/jd.json#/coils/20._inferred_type: flasher
  • games/jd.json#/coils/21._vbscript_callback: FlashSol26
  • games/jd.json#/coils/21._inferred_type: flasher
  • games/jd.json#/coils/21._note: Custom flash sub with bloom effects. MassAssign(126) commented out — uses FlashSol26 sub instead.
  • games/jd.json#/coils/22._vbscript_callback: SetLamp 127,
  • games/jd.json#/coils/22._inferred_type: flasher
  • games/jd.json#/coils/23._vbscript_callback: SetLamp 128,
  • games/jd.json#/coils/23._inferred_type: flasher
  • games/jd.json#/coils/23._note: No VPX playfield object — backglass only. No MassAssign(128) in script.
  • games/jd.json#/lamps/23._note: Callback to PinCab_EB button lamp
  • games/jd.json#/lamps/40._note: Has dual insert (L61 + L61a)
  • games/jd.json#/lamps/56._note: Decal flash material swap
  • games/jd.json#/lamps/57._note: Decal flash material swap
  • games/jd.json#/lamps/62._note: Callback to PinCab_Super button lamp
  • games/jd.json#/lamps/63._note: Callback to PinCab_Start button lamp
  • games/jd.json#/_source/confidence_notes: High confidence on switches/coils. No Const sw* definitions — switches identified from _Hit/_UnHit subs, Controller.Switch() calls, and PulseSw calls. Lamp IDs from Lampz.MassAssign() calls; descriptions inferred from VBScript comments and object names. Flashers (coils 17-28) use SetLamp with 100+ lamp IDs (117-128). Slingshots (coils 15-16) commented out in SolCallback — handled by VPX directly. Trough uses 6 switches (81-86) with a custom implementation (not bsTrough). sw87 is pulsed on trough eject as shooter lane confirmation. Flipper coils use framework constants (sLRFlipper, sLLFlipper, sURFlipper, sULFlipper). Upper flippers present (4-flipper game).

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

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
jd_l7Judge Dredd (L-7)
Bally L-7 game ROM, the pinned catalog's clone-tree parent and the last factory revision. Judge Dredd's Deadworld ball lock was deactivated for production, so L-7 locks balls virtually rather than diverting them onto the globe; the playfield hardware is unchanged.
1993identical
jd_l6Judge Dredd (L-6)
Bally L-6 game ROM; a later firmware revision of the same physical machine.
1993jd_l7identical
jd_l5Judge Dredd (L-5)
Bally L-5 game ROM; a later firmware revision of the same physical machine.
1993jd_l7identical
jd_l4Judge Dredd (L-4)
Bally L-4 game ROM; a later firmware revision of the same physical machine.
1993jd_l7identical
jd_l1dJudge Dredd (L-1D MOD)
Community MOD of jd_l1at by KoP, per pinned driver.c's own comment.
1993jd_l7identical
jd_l1atJudge Dredd (L-1AT MOD)
Community MOD of L-1 for the aftermarket Deadworld hardware modification, per pinned driver.c's own comment. It runs on the physical machine and changes no controller address.
1993jd_l7identical
jd_l1Judge Dredd (L-1)
Bally L-1 game ROM. This is the driver the retained known-working VPW table binds to (cGameName = "jd_l1"), and its own script comment records why: L-1 still runs the Deadworld ball lock as originally designed, physically diverting balls onto the rotating globe, while later production code virtualises the lock. Same physical machine and the same I/O inventory.
1993jd_l7identical
jd_d7Judge Dredd (D-7 LED Ghost Fix)
L-7 with the LED ghost fix; a display-driver change only.
1993jd_l7identical

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

Pinball memory maps

External source LGPL-3.0-only2 maps

RAM layouts published by an independent project and mirrored here at a pinned commit. They are not part of this machine’s definition: nothing below was used as evidence for the definition, and none of it counts towards coverage. Check claims against the upstream project.

Commit
d8693b9

This program makes use of content from the Pinball Memory Maps project.

jd_l1.map.json

williams-wpc-12Kv6format 0.8

maps/williams/wpc/jd_l1.map.json

Applies to ROMs
jd_d1jd_d4jd_d5jd_d6jd_l1jd_l1atjd_l1djd_l4jd_l5jd_l6
Sections
auditschecksum16checksum8game_statehigh_scoreslast_playedmode_champions

williams-wpc-12K defines the RAM layout this map’s offsets are read against — the map is not interpretable without it.

jd_l7.map.json

williams-wpc-12Kv5format 0.8

maps/williams/wpc/jd_l7.map.json

Applies to ROMs
jd_d7jd_l7
Sections
auditschecksum16checksum8game_statehigh_scoreslast_playedmode_champions

williams-wpc-12K defines the RAM layout this map’s offsets are read against — the map is not interpretable without it.

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.

  • PinMAME catalog

    BSD-3-Clause

    pinmame.catalog.4ec52ff0ac13

    Pinned catalog driver records for the twelve-driver jd_l7 clone tree

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • PinMAME source

    BSD-3-Clause

    pinmame.core.4ec52ff0ac13

    Source locations

    src/wpc/sims/wpc/full/jd.c jdGameData GEN_WPCDCS with wpc_dispDMD; hw fields flippers=FLIP_SW(FLIP_L|FLIP_U)|FLIP_SOL(FLIP_L|FLIP_U), swCol=0, lampCol=0, custSol=1, soundBoard=0, display=0; inverted-switch mask {0x00,0x00,0x00,0x02,0x00,0xf8,0x6e,0x3e,0x7f,0x00,0x00,0x00}; comSw {swStart=13, swTilt=14, swSlamTilt=21, swCoinDoor=22, shooter=swRFire=12}; the switch and solenoid #define block; sFakeSol1 = CORE_CUSTSOLNO(1) with its stale /* 33 */ comment; jd_getSol returning core_getSol(sArmMagnet)==0 for that address; jd_handleMech's 0-100 globePos and armPos counters driving swGlobe2 (77) and swArmFR (71) and its five-target drop-target block; jd_stateDef's Planet/In Claw/Dropped and Subway ball paths; init_jd, which does not call wpc_set_fastflip_addr. src/wpc/core.h CORE_FIRSTUFLIPSOL=33, CORE_FIRSTLFLIPSOL=45, CORE_FIRSTCUSTSOL=51, CORE_CUSTSOLNO(n), FLIP_L/FLIP_U bit definitions; src/wpc/core.c core_getSol dispatch (the 37-44 branch is gated on GEN_WPC95/GEN_WPC95DCS/GEN_ALLS11 and returns 0 for GEN_WPCDCS); src/wpc/wpc.c the wpc_fastflip_addr == 0 branch mirroring WPC_GILAMPS bits 5-7 into public solenoids 29-31, the WPC_FLIPPERS complement for (gen & GENWPC_HASWPC95) == 0, and the five-bit WPC_GILAMPS to coreGlobals.gi[0..4] loop; src/libpinmame/libpinmame.h PINMAME_HARDWARE_GEN_WPCDCS=0x10

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • Human review

    BSD-3-Clause

    controller-profile.pinmame-wpc-dcs

    WPC-DCS public switch, DIP, solenoid, lamp, and five-GI address rules, including the Fliptronic 111-118 order, the absence of an LPDC board (37-44 unused on this generation), and CORE_FIRSTCUSTSOL = 51

    internal:controllers/pinmame/wpc-dcs.json
    by
    PinMAME contributors
    rev
    repository
  • Operator manual

    manual.bally.judge-dredd.1993

    Source locations

    148-page scan of the Bally Judge Dredd operations manual with an Adobe Paper Capture OCR layer. Printed pages 2-40 through 2-45 carry the lamp matrix, lamp locations, switch matrix, switch locations, solenoid/flasher table and solenoid/flasher locations; printed 3-3 carries the dedicated-switch wiring and circuit; printed 3-10 carries the general-illumination circuit. The OCR text layer scrambles every multi-column table on those pages and was never used for a value.

    external:pinmame-manuals/by-machine/bally.judge-dredd.1993/ipdb/Bally_1993_Judge_Dredd_Manual.pdf
    by
    Bally / Williams Electronics Games, Inc.
    sha256
    0883aa81befa…
  • Human review

    manual-support.bally.judge-dredd.1993

    Source locations

    Retained record of how the printed tables were read: the rendered page cache under external:pinmame-manuals/rendered/bally.judge-dredd.1993/, the identity check against the same-titled Judge Dredd video-game manuals, the reason the PDF's own OCR layer was never trusted, and the mechanical connected-component sweep that established which switch-matrix cells carry the opto halftone.

    external:pinmame-review-artifacts/judge-dredd-1993/manual-transcription.md
    by
    pinmame-game-defs curation
    rev
    2026-08-07
    sha256
    78b62d0f8a3a…
  • VPX table

    vpx-table.jd-vpw-1-1

    Source locations

    Retained known-working V-Pin Workshop v1.1 recreation of the physical machine, VPX file version 10.6. Exact playfield bounds are left=0 top=0 right=1093 bottom=2162; normalized coordinates are x/1093 and y/2162, the wide-body Superpin divisor. Geometry authority only for named table objects.

    external:pinmame-vpx-sources/bally/judge-dredd-1993/source/Judge%20Dredd%20%28Bally%201993%29%20VPW%20v1.1.vpx
    by
    V-Pin Workshop
    sha256
    61f6844d947c…
  • VPX script

    vpx-script.jd-vpw-1-1

    Source locations

    Retained embedded VPW script (191,673 bytes). Runtime and mechanism-causality authority: cGameName = "jd_l1" carrying the author's own '***DO NOT CHANGE***' note and the explanation that L-1 keeps the physical Deadworld ball lock that production code deactivated; Const UseSolenoids = 2, UseLamps = 0, UseGI = 0, UseSync = 0, HandleMech = 0; the SolCallBack table for solenoids 1-28 plus core.vbs sLRFlipper/sLLFlipper/sURFlipper/sULFlipper; Lampz.MassAssign for lamp addresses 11-86 and flasher pseudo-lamps 117-128; ModLampz.MassAssign binding public GI 0-4 to the GIstring1-GIstring5 collections with their own wire-colour comments; the Controller.Switch and vpmTimer.PulseSw semantics for the Deadworld globe, crane, trough, subway and JUDGE drop-target state machines; and the commented-out SW32/SW67 block recording that the ramp-entrance opto address changed between the L-1 and L-7 ROM revisions.

    external:pinmame-vpx-sources/bally/judge-dredd-1993/extracted-vpxtool/script.vbs
    by
    V-Pin Workshop table authors
    sha256
    817427aed72d…
  • VPX table

    vpx-extraction.jd-vpw-1-1

    Source locations

    Canonical manifest covering every sorted relative POSIX path, byte size, and SHA-256 under extracted-vpxtool; manifest SHA-256 8eaa44e94e08384f9fd0f77b1d237539d73f2c79bb716fa51eb78197268d81d2; 1840 files, 419225172 bytes, produced with vpxtool git:v0.33.3 from the retained table. Bounds are left=0 top=0 right=1093 bottom=2162.

    external:pinmame-vpx-sources/bally/judge-dredd-1993/extracted-vpxtool.manifest.json
    by
    vpxtool extraction

Something wrong or missing?

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