Tales of the Arabian Nights

Partial

Williams1996WPC-95williams.tales-of-the-arabian-nights.1996

1 unresolved conflict

  • The manual's own solenoid/flasher wiring table (printed 2-40) documents public GI address 2 (printed Illumination String 3) as backbox insert-panel only: its "Voltage Connections" and "Drive Connections" columns both carry only a Backbox entry (J106-3 / J106-9) with the Playfield column blank, and it uses the small #44 bulb shared with strings 1 and 2, while the genuinely playfield-wired strings are addresses 3 and 4 (printed Strings 4-5, Playfield connectors J105-5/J105-10 and J105-6/J105-11, #555 bulbs). The retained known-working script disagrees: its Sub UpdateGI(no, step) implements only `Case 2`, driving a playfield-wide dimming value (globalGI) applied to a large collection of playfield objects (the FadingGIlights collection plus tex1/tex2/tex3/ramp/sidewalls materials, the Genie figure's material, slingshot and cage textures, and ball tint), while addresses 0, 1, 3, and 4 fall through with no case and produce no visual effect at all. The manual is physical-construction ground truth and the retained script is runtime-semantics ground truth, and the two disagree on which public GI address actually lights the playfield. This curation follows the manual for the device's spatial classification (GI address 2 remains a backbox device with a not_applicable spatial record) rather than treating the script's cross-wiring as proof of a playfield location for a backbox bulb, and leaves GI addresses 3 and 4 (the manual's genuine playfield strings) without a validated placement because no VPX object binds specifically to them. Resolution path: a LibPinMAME gameplay-harness trace of a legal totan_14 ROM observing which GI address the ROM actually varies during attract-mode playfield dimming, cross-checked against a photograph or continuity trace of the physical J105/J106 harness. Unresolved. outputs[binding.group=pinmame.output.gi,binding.device=2]

Wire it up

what an authoring tool needs first
Bind this ROM
totan_14

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

Controller platform
pinmame.wpc-95

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–64 (64)
Lamps
11–88 (64)
GI
0–4 (5)
DIP
1–8 (8)
Cabinet & flipper inputs
112flipper.lower.right.button114flipper.lower.left.button1cabinet.coin.12cabinet.coin.23cabinet.coin.34cabinet.coin.411cabinet.launch13cabinet.start14cabinet.tilt21cabinet.slam-tilt22cabinet.coin-door

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

146 placements · 17 stacked · normalised player view · outline is nominal

312 Vanish Tunnel · 3 Vanish Drop · 35 Vanish Magnet15 Ramp Enter16 Left Outlane17 Right Inlane18 Ball Shooter23 Genie Standup Target225 Bazaar Eject · 5 Bazaar Eject26 Left Inlane27 Right Outlane28 Left Wire Make331 Trough Eject · 32 Trough Ball 1 · 9 Trough Eject33 Trough Ball 234 Trough Ball 335 Trough Ball 4236 Left Cage Opto · 1 Left Cage237 Right Cage Opto · 2 Right Cage238 Left Eject · 15 Left Kicker41 Ramp Made Left42 Genie Target43 Left Loop44 Inner Loop Left45 Inner Loop Right46 Mini Standups46 Mini Standups47 Ramp Made Right48 Right Captive Ball251 Left Slingshot · 10 Left Slingshot252 Right Slingshot · 11 Right Slingshot253 Left Jet Bumper · 12 Left Jet Bumper254 Right Jet Bumper · 13 Right Jet Bumper255 Middle Jet Bumper · 14 Middle Jet Bumper356 Lamp Spin CCW · 57 Lamp Spin CW · 23 Magic Lamp Flashers58 Left Captive Ball61 Left Standups61 Left Standups61 Left Standups62 Right Standups62 Right Standups62 Right Standups63 Top Skill Shot64 Middle Skill Shot65 Bottom Skill Shot266 Lock 1 (Bottom) · 4 Lock Eject67 Lock 2 (Middle)68 Lock 3 (Top)6 Lock Magnet8 Ramp Magnet Coil16 Left Eject Flasher17 Inlane Flashers18 Final Battle Flasher19 Left Loop Flasher220 Bazaar Flasher · 83 Right Lock21 Ramp Diverter22 Rub Lamp Flasher24 Right Loop Flasher25 Start Tale Flashers26 Jet Flashers27 Top Loop Flasher28 Ramp Flasher233 Left Diverter Power · 34 Left Diverter Hold36 Loop Post Diverter245 Lower Right Flipper Power · 46 Lower Right Flipper Hold247 Lower Left Flipper Power · 48 Lower Left Flipper Hold11 Jewel 1 (Left)12 Jewel 213 Jewel 314 Jewel 415 Jewel 516 Jewel 617 Jewel 7 (Right)18 Shoot Again21 Jackpot22 (G)enie23 G(E)nie24 Ge(N)ie25 Gen(I)e26 Geni(E)27 Multiball28 Outlane Special28 Outlane Special31 Magic Carpet32 Action 333 Ramp Arrow Right34 Ramp Arrow Left35 Smoke 1 (Bottom)36 Smoke 237 Smoke 338 Amulet41 Smoke 642 Smoke 743 Smoke 844 Smoke 945 Smoke 1046 Smoke 1147 Smoke 1248 Smoke 1351 Smoke 14 (Top)52 Lamp-1553 Lamp-3054 Lamp-6055 Smoke 456 Smoke 557 Shoot Star Right58 Shoot Star Left61 Make A Wish62 (B)azaar63 B(A)zaar64 Ba(Z)aar65 Baz(A)ar66 Baza(A)r67 Bazaa(R)68 Center Lock71 Action 272 Left Lock73 Harem Advance74 Left Tiger Loop75 Action 176 Wish 177 Wish 278 Wish 381 Extra Ball82 Action 584 Right Tiger Loop85 Captive Ball Right86 Action 487 Captive Ball Left

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 playfield76
  • sensorsenses the ball47
  • effectmoves the ball23
  • nStackseveral devices in one spot17
140 devices shown

Not on the playfield28 virtual, 20 cabinet or service, 20 unused, 8 dip switch, 2 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.

Catalog Identity
validated
Address Enumeration
validated
Semantic Naming
validated
Physical Wiring
conflicted
Mechanisms
validated
Variant Coverage
validated
Recreation Knowledge
validated
Still missing · 2
Spatial 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-95 CPU board
validated
2
Center Coin Chute
Button
switch.cabinet-2
cabinet.coin.2
J205-2Orange-Red
WPC-95 CPU board
validated
3
Right Coin Chute
Button
switch.cabinet-3
cabinet.coin.3
J205-3Orange-Black
WPC-95 CPU board
validated
4
4th Coin Chuteopt
Button
switch.cabinet-4
cabinet.coin.4
J205-4Orange-Yellow
WPC-95 CPU board
validated
5
Service Credits / Escape
Button
switch.cabinet-5
service.escape
J205-6Orange-Green
WPC-95 CPU board
validated
6
Volume Down / Down
Button
switch.cabinet-6
service.down
J205-7Orange-Blue
WPC-95 CPU board
validated
7
Volume Up / Up
Button
switch.cabinet-7
service.up
J205-8Orange-Violet
WPC-95 CPU board
validated
8
Begin Test / Enter
Button
switch.cabinet-8
service.enter
J205-9Orange-Gray
WPC-95 CPU board
validated
11
Harem Passage
Microswitch
switch.matrix-11
cabinet.launch
J206-1Green-Brown
J208-1White-Brown
WPC-95 CPU board
validated
12
Vanish Tunnel
Microswitch
switch.matrix-12
J206-1Green-Brown
J208-2White-Red
WPC-95 CPU board
validated
13
Start Button
Button
switch.matrix-13
cabinet.start
J206-1Green-Brown
J208-3White-Orange
WPC-95 CPU board
validated
14
Plumb Bob Tilt
Tilt
switch.matrix-14
cabinet.tilt
J206-1Green-Brown
J208-4White-Yellow
WPC-95 CPU board
validated
15
Ramp Enter
Microswitch
switch.matrix-15
J206-1Green-Brown
J208-5White-Green
WPC-95 CPU board
validated
16
Left Outlane
Microswitch
switch.matrix-16
J206-1Green-Brown
J208-7White-Blue
WPC-95 CPU board
validated
17
Right Inlane
Microswitch
switch.matrix-17
J206-1Green-Brown
J208-8White-Violet
WPC-95 CPU board
validated
18
Ball Shooter
Microswitch
switch.matrix-18
J206-1Green-Brown
J208-9White-Gray
WPC-95 CPU board
validated
21
Slam Tilt
Leaf
switch.matrix-21
cabinet.slam-tilt
J206-2Green-Red
J208-1White-Brown
WPC-95 CPU board
validated
22
Coin Door Closed
Microswitch
switch.matrix-22
cabinet.coin-door
J206-2Green-Red
J208-2White-Red
WPC-95 CPU board
validated
23
Genie Standup Target
Microswitch
switch.matrix-23
J206-2Green-Red
J208-3White-Orange
WPC-95 CPU board
validated
25
Bazaar Eject
Microswitch
switch.matrix-25
J206-2Green-Red
J208-5White-Green
WPC-95 CPU board
validated
26
Left Inlane
Microswitch
switch.matrix-26
J206-2Green-Red
J208-7White-Blue
WPC-95 CPU board
validated
27
Right Outlane
Microswitch
switch.matrix-27
J206-2Green-Red
J208-8White-Violet
WPC-95 CPU board
validated
28
Left Wire Make
Microswitch
switch.matrix-28
J206-2Green-Red
J208-9White-Gray
WPC-95 CPU board
validated
31
Trough EjectNC
Opto
switch.matrix-31
J206-3Green-Orange
J208-1White-Brown
WPC-95 CPU board
validated
32
Trough Ball 1NC
Opto
switch.matrix-32
J206-3Green-Orange
J208-2White-Red
WPC-95 CPU board
validated
33
Trough Ball 2NC
Opto
switch.matrix-33
J206-3Green-Orange
J208-3White-Orange
WPC-95 CPU board
validated
34
Trough Ball 3NC
Opto
switch.matrix-34
J206-3Green-Orange
J208-4White-Yellow
WPC-95 CPU board
validated
35
Trough Ball 4NC
Opto
switch.matrix-35
J206-3Green-Orange
J208-5White-Green
WPC-95 CPU board
validated
36
Left Cage OptoNC
Opto
switch.matrix-36
J206-3Green-Orange
J208-7White-Blue
WPC-95 CPU board
validated
37
Right Cage OptoNC
Opto
switch.matrix-37
J206-3Green-Orange
J208-8White-Violet
WPC-95 CPU board
validated
38
Left Eject
Microswitch
switch.matrix-38
J206-3Green-Orange
J208-9White-Gray
WPC-95 CPU board
validated
41
Ramp Made Left
Microswitch
switch.matrix-41
J206-4Green-Yellow
J208-1White-Brown
WPC-95 CPU board
validated
42
Genie Target
Microswitch
switch.matrix-42
J206-4Green-Yellow
J208-2White-Red
WPC-95 CPU board
validated
43
Left Loop
Microswitch
switch.matrix-43
J206-4Green-Yellow
J208-3White-Orange
WPC-95 CPU board
validated
44
Inner Loop Left
Microswitch
switch.matrix-44
J206-4Green-Yellow
J208-4White-Yellow
WPC-95 CPU board
validated
45
Inner Loop Right
Microswitch
switch.matrix-45
J206-4Green-Yellow
J208-5White-Green
WPC-95 CPU board
validated
46
Mini Standups
Microswitch
switch.matrix-46
J206-4Green-Yellow
J208-7White-Blue
WPC-95 CPU board
validated
47
Ramp Made Right
Microswitch
switch.matrix-47
J206-4Green-Yellow
J208-8White-Violet
WPC-95 CPU board
validated
48
Right Captive Ball
Microswitch
switch.matrix-48
J206-4Green-Yellow
J208-9White-Gray
WPC-95 CPU board
validated
51
Left Slingshot
Leaf
switch.matrix-51
J206-5Green-Black
J208-1White-Brown
WPC-95 CPU board
validated
52
Right Slingshot
Leaf
switch.matrix-52
J206-5Green-Black
J208-2White-Red
WPC-95 CPU board
validated
53
Left Jet Bumper
Microswitch
switch.matrix-53
J206-5Green-Black
J208-3White-Orange
WPC-95 CPU board
validated
54
Right Jet Bumper
Microswitch
switch.matrix-54
J206-5Green-Black
J208-4White-Yellow
WPC-95 CPU board
validated
55
Middle Jet Bumper
Microswitch
switch.matrix-55
J206-5Green-Black
J208-5White-Green
WPC-95 CPU board
validated
56
Lamp Spin CCW
Leaf
switch.matrix-56
J206-5Green-Black
J208-7White-Blue
WPC-95 CPU board
validated
57
Lamp Spin CW
Leaf
switch.matrix-57
J206-5Green-Black
J208-8White-Violet
WPC-95 CPU board
validated
58
Left Captive Ball
Microswitch
switch.matrix-58
J206-5Green-Black
J208-9White-Gray
WPC-95 CPU board
validated
61
Left Standups
Microswitch
switch.matrix-61
J206-6Green-Blue
J208-1White-Brown
WPC-95 CPU board
validated
62
Right Standups
Microswitch
switch.matrix-62
J206-6Green-Blue
J208-2White-Red
WPC-95 CPU board
validated
63
Top Skill Shot
Microswitch
switch.matrix-63
J206-6Green-Blue
J208-3White-Orange
WPC-95 CPU board
validated
64
Middle Skill Shot
Microswitch
switch.matrix-64
J206-6Green-Blue
J208-4White-Yellow
WPC-95 CPU board
validated
65
Bottom Skill Shot
Microswitch
switch.matrix-65
J206-6Green-Blue
J208-5White-Green
WPC-95 CPU board
validated
66
Lock 1 (Bottom)
Microswitch
switch.matrix-66
J206-6Green-Blue
J208-7White-Blue
WPC-95 CPU board
validated
67
Lock 2 (Middle)
Microswitch
switch.matrix-67
J206-6Green-Blue
J208-8White-Violet
WPC-95 CPU board
validated
68
Lock 3 (Top)
Microswitch
switch.matrix-68
J206-6Green-Blue
J208-9White-Gray
WPC-95 CPU board
validated
71
Not Used Matrix Position 71
switch.matrix-71
J206-7Green-Violet
J208-1White-Brown
WPC-95 CPU board
validated
72
Not Used Matrix Position 72
switch.matrix-72
J206-7Green-Violet
J208-2White-Red
WPC-95 CPU board
validated
73
Not Used Matrix Position 73
switch.matrix-73
J206-7Green-Violet
J208-3White-Orange
WPC-95 CPU board
validated
74
Not Used Matrix Position 74
switch.matrix-74
J206-7Green-Violet
J208-4White-Yellow
WPC-95 CPU board
validated
75
Not Used Matrix Position 75
switch.matrix-75
J206-7Green-Violet
J208-5White-Green
WPC-95 CPU board
validated
76
Not Used Matrix Position 76
switch.matrix-76
J206-7Green-Violet
J208-7White-Blue
WPC-95 CPU board
validated
77
Not Used Matrix Position 77
switch.matrix-77
J206-7Green-Violet
J208-8White-Violet
WPC-95 CPU board
validated
78
Not Used Matrix Position 78
switch.matrix-78
J206-7Green-Violet
J208-9White-Gray
WPC-95 CPU board
validated
81
Not Used Matrix Position 81
switch.matrix-81
J206-9Green-Gray
J208-1White-Brown
WPC-95 CPU board
validated
82
Not Used Matrix Position 82
switch.matrix-82
J206-9Green-Gray
J208-2White-Red
WPC-95 CPU board
validated
83
Not Used Matrix Position 83
switch.matrix-83
J206-9Green-Gray
J208-3White-Orange
WPC-95 CPU board
validated
84
Not Used Matrix Position 84
switch.matrix-84
J206-9Green-Gray
J208-4White-Yellow
WPC-95 CPU board
validated
85
Not Used Matrix Position 85
switch.matrix-85
J206-9Green-Gray
J208-5White-Green
WPC-95 CPU board
validated
86
Not Used Matrix Position 86
switch.matrix-86
J206-9Green-Gray
J208-7White-Blue
WPC-95 CPU board
validated
87
Not Used Matrix Position 87
switch.matrix-87
J206-9Green-Gray
J208-8White-Violet
WPC-95 CPU board
validated
88
Not Used Matrix Position 88
switch.matrix-88
J206-9Green-Gray
J208-9White-Gray
WPC-95 CPU board
validated
111
Lower Right Flipper EOS
Leaf
switch.generic-111
internal.flipper.lower.right.eos
J208-13Black-Green
WPC-95 CPU board
validated
112
Lower Right Flipper ButtonNC
Opto
switch.generic-112
flipper.lower.right.button
J212-12Blue-Violet
WPC-95 CPU board
validated
113
Lower Left Flipper EOS
Leaf
switch.generic-113
internal.flipper.lower.left.eos
J208-12Black-Blue
WPC-95 CPU board
validated
114
Lower Left Flipper ButtonNC
Opto
switch.generic-114
flipper.lower.left.button
J212-11Blue-Gray
WPC-95 CPU board
validated
115
Not Used Upper Right Flipper EOS
switch.generic-115
internal.unused.flipper
J208-11Black-Violet
WPC-95 CPU board
validated
116
Not Used Upper Right Flipper ButtonNC
Opto
switch.generic-116
internal.unused.flipper
J212-10Black-Yellow
WPC-95 CPU board
validated
117
Not Used Upper Left Flipper EOS
switch.generic-117
internal.unused.flipper
J208-10Black-Gray
WPC-95 CPU board
validated
118
Not Used Upper Left Flipper ButtonNC
Opto
switch.generic-118
internal.unused.flipper
J212-9Black-Blue
WPC-95 CPU board
validated

Controlled devices

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

Coils, magnets & motors

24
24 shown
# Name Device ID Kind Role Wiring Evidence
1
Left Cage
device.left-cage Coil
Q72
WPC-95 power driver board
validated
2
Right Cage
device.right-cage Coil
Q68
WPC-95 power driver board
validated
3
Vanish Drop
device.vanish-drop Coil
Q71
WPC-95 power driver board
validated
4
Lock Eject
device.lock-eject Coil
Q67
WPC-95 power driver board
validated
5
Bazaar Eject
device.bazaar-eject Coil
Q70
WPC-95 power driver board
validated
6
Lock Magnet
device.lock-magnet Coil
Q66
WPC-95 power driver board
validated
7
Knocker
device.knocker Coil
cabinet.knocker
Q69
WPC-95 power driver board
validated
8
Ramp Magnet Coil
device.ramp-magnet-coil Coil
Q65
WPC-95 power driver board
validated
9
Trough Eject
device.trough-eject Coil
Q44
WPC-95 power driver board
validated
10
Left Slingshot
device.left-slingshot Coil
Q48
WPC-95 power driver board
validated
11
Right Slingshot
device.right-slingshot Coil
Q43
WPC-95 power driver board
validated
12
Left Jet Bumper
device.left-jet-bumper Coil
Q47
WPC-95 power driver board
validated
13
Right Jet Bumper
device.right-jet-bumper Coil
Q42
WPC-95 power driver board
validated
14
Middle Jet Bumper
device.middle-jet-bumper Coil
Q46
WPC-95 power driver board
validated
15
Left Kicker
device.left-kicker Coil
Q41
WPC-95 power driver board
validated
21
Ramp Diverter
device.ramp-diverter Motor
Q26
WPC-95 power driver board
validated
33
Left Diverter Power
device.left-diverter-power Coil
Q84YEL-VIO
WPC-95 power driver board
validated
34
Left Diverter Hold
device.left-diverter-hold Coil
Q86ORG-VIO
WPC-95 power driver board
validated
35
Vanish Magnet
device.vanish-magnet Coil
Q81YEL-GRY
WPC-95 power driver board
validated
36
Loop Post Diverter
device.loop-post-diverter Coil
Q83ORG-GRY
WPC-95 power driver board
validated
45
Lower Right Flipper Power
device.lower-right-flipper-power Coil
Q90YEL-GRN
WPC-95 power driver board
validated
46
Lower Right Flipper Hold
device.lower-right-flipper-hold Coil
Q92ORG-GRN
WPC-95 power driver board
validated
47
Lower Left Flipper Power
device.lower-left-flipper-power Coil
Q87YEL-BLU
WPC-95 power driver board
validated
48
Lower Left Flipper Hold
device.lower-left-flipper-hold Coil
Q89ORG-BLU
WPC-95 power driver board
validated

Flashers

12
12 shown
# Name Device ID Wiring Evidence
16
Left Eject Flasher
device.left-eject-flasher
Q45
WPC-95 power driver board
validated
17
Inlane Flashers
device.inlane-flashers
Q28
WPC-95 power driver board
validated
18
Final Battle Flasher
device.final-battle-flasher
Q32
WPC-95 power driver board
validated
19
Left Loop Flasher
device.left-loop-flasher
Q27
WPC-95 power driver board
validated
20
Bazaar Flasher
device.bazaar-flasher
Q31
WPC-95 power driver board
validated
22
Rub Lamp Flasher
device.rub-lamp-flasher
Q30
WPC-95 power driver board
validated
23
Magic Lamp Flashers
device.magic-lamp-flashers
Q25
WPC-95 power driver board
validated
24
Right Loop Flasher
device.right-loop-flasher
Q29
WPC-95 power driver board
validated
25
Start Tale Flashers
device.start-tale-flashers
Q16
WPC-95 power driver board
validated
26
Jet Flashers
device.jet-flashers
Q15
WPC-95 power driver board
validated
27
Top Loop Flasher
device.top-loop-flasher
Q14
WPC-95 power driver board
validated
28
Ramp Flasher
device.ramp-flasher
Q13
WPC-95 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
Jewel 1 (Left)
lamp.matrix-11
Q96 column driver with Q104 row driver
WPC-95 power driver board
validated
12
Jewel 2
lamp.matrix-12
Q96 column driver with Q108 row driver
WPC-95 power driver board
validated
13
Jewel 3
lamp.matrix-13
Q96 column driver with Q103 row driver
WPC-95 power driver board
validated
14
Jewel 4
lamp.matrix-14
Q96 column driver with Q107 row driver
WPC-95 power driver board
validated
15
Jewel 5
lamp.matrix-15
Q96 column driver with Q102 row driver
WPC-95 power driver board
validated
16
Jewel 6
lamp.matrix-16
Q96 column driver with Q106 row driver
WPC-95 power driver board
validated
17
Jewel 7 (Right)
lamp.matrix-17
Q96 column driver with Q101 row driver
WPC-95 power driver board
validated
18
Shoot Again
lamp.matrix-18
Q96 column driver with Q105 row driver
WPC-95 power driver board
validated
21
Jackpot
lamp.matrix-21
Q100 column driver with Q104 row driver
WPC-95 power driver board
validated
22
(G)enie
lamp.matrix-22
Q100 column driver with Q108 row driver
WPC-95 power driver board
validated
23
G(E)nie
lamp.matrix-23
Q100 column driver with Q103 row driver
WPC-95 power driver board
validated
24
Ge(N)ie
lamp.matrix-24
Q100 column driver with Q107 row driver
WPC-95 power driver board
validated
25
Gen(I)e
lamp.matrix-25
Q100 column driver with Q102 row driver
WPC-95 power driver board
validated
26
Geni(E)
lamp.matrix-26
Q100 column driver with Q106 row driver
WPC-95 power driver board
validated
27
Multiball
lamp.matrix-27
Q100 column driver with Q101 row driver
WPC-95 power driver board
validated
28
Outlane Special
lamp.matrix-28
Q100 column driver with Q105 row driver
WPC-95 power driver board
validated
31
Magic Carpet
lamp.matrix-31
Q95 column driver with Q104 row driver
WPC-95 power driver board
validated
32
Action 3
lamp.matrix-32
Q95 column driver with Q108 row driver
WPC-95 power driver board
validated
33
Ramp Arrow Right
lamp.matrix-33
Q95 column driver with Q103 row driver
WPC-95 power driver board
validated
34
Ramp Arrow Left
lamp.matrix-34
Q95 column driver with Q107 row driver
WPC-95 power driver board
validated
35
Smoke 1 (Bottom)
lamp.matrix-35
Q95 column driver with Q102 row driver
WPC-95 power driver board
validated
36
Smoke 2
lamp.matrix-36
Q95 column driver with Q106 row driver
WPC-95 power driver board
validated
37
Smoke 3
lamp.matrix-37
Q95 column driver with Q101 row driver
WPC-95 power driver board
validated
38
Amulet
lamp.matrix-38
Q95 column driver with Q105 row driver
WPC-95 power driver board
validated
41
Smoke 6
lamp.matrix-41
Q99 column driver with Q104 row driver
WPC-95 power driver board
validated
42
Smoke 7
lamp.matrix-42
Q99 column driver with Q108 row driver
WPC-95 power driver board
validated
43
Smoke 8
lamp.matrix-43
Q99 column driver with Q103 row driver
WPC-95 power driver board
validated
44
Smoke 9
lamp.matrix-44
Q99 column driver with Q107 row driver
WPC-95 power driver board
validated
45
Smoke 10
lamp.matrix-45
Q99 column driver with Q102 row driver
WPC-95 power driver board
validated
46
Smoke 11
lamp.matrix-46
Q99 column driver with Q106 row driver
WPC-95 power driver board
validated
47
Smoke 12
lamp.matrix-47
Q99 column driver with Q101 row driver
WPC-95 power driver board
validated
48
Smoke 13
lamp.matrix-48
Q99 column driver with Q105 row driver
WPC-95 power driver board
validated
51
Smoke 14 (Top)
lamp.matrix-51
Q94 column driver with Q104 row driver
WPC-95 power driver board
validated
52
Lamp-15
lamp.matrix-52
Q94 column driver with Q108 row driver
WPC-95 power driver board
validated
53
Lamp-30
lamp.matrix-53
Q94 column driver with Q103 row driver
WPC-95 power driver board
validated
54
Lamp-60
lamp.matrix-54
Q94 column driver with Q107 row driver
WPC-95 power driver board
validated
55
Smoke 4
lamp.matrix-55
Q94 column driver with Q102 row driver
WPC-95 power driver board
validated
56
Smoke 5
lamp.matrix-56
Q94 column driver with Q106 row driver
WPC-95 power driver board
validated
57
Shoot Star Right
lamp.matrix-57
Q94 column driver with Q101 row driver
WPC-95 power driver board
validated
58
Shoot Star Left
lamp.matrix-58
Q94 column driver with Q105 row driver
WPC-95 power driver board
validated
61
Make A Wish
lamp.matrix-61
Q98 column driver with Q104 row driver
WPC-95 power driver board
validated
62
(B)azaar
lamp.matrix-62
Q98 column driver with Q108 row driver
WPC-95 power driver board
validated
63
B(A)zaar
lamp.matrix-63
Q98 column driver with Q103 row driver
WPC-95 power driver board
validated
64
Ba(Z)aar
lamp.matrix-64
Q98 column driver with Q107 row driver
WPC-95 power driver board
validated
65
Baz(A)ar
lamp.matrix-65
Q98 column driver with Q102 row driver
WPC-95 power driver board
validated
66
Baza(A)r
lamp.matrix-66
Q98 column driver with Q106 row driver
WPC-95 power driver board
validated
67
Bazaa(R)
lamp.matrix-67
Q98 column driver with Q101 row driver
WPC-95 power driver board
validated
68
Center Lock
lamp.matrix-68
Q98 column driver with Q105 row driver
WPC-95 power driver board
validated
71
Action 2
lamp.matrix-71
Q93 column driver with Q104 row driver
WPC-95 power driver board
validated
72
Left Lock
lamp.matrix-72
Q93 column driver with Q108 row driver
WPC-95 power driver board
validated
73
Harem Advance
lamp.matrix-73
Q93 column driver with Q103 row driver
WPC-95 power driver board
validated
74
Left Tiger Loop
lamp.matrix-74
Q93 column driver with Q107 row driver
WPC-95 power driver board
validated
75
Action 1
lamp.matrix-75
Q93 column driver with Q102 row driver
WPC-95 power driver board
validated
76
Wish 1
lamp.matrix-76
Q93 column driver with Q106 row driver
WPC-95 power driver board
validated
77
Wish 2
lamp.matrix-77
Q93 column driver with Q101 row driver
WPC-95 power driver board
validated
78
Wish 3
lamp.matrix-78
Q93 column driver with Q105 row driver
WPC-95 power driver board
validated
81
Extra Ball
lamp.matrix-81
Q97 column driver with Q104 row driver
WPC-95 power driver board
validated
82
Action 5
lamp.matrix-82
Q97 column driver with Q108 row driver
WPC-95 power driver board
validated
83
Right Lock
lamp.matrix-83
Q97 column driver with Q103 row driver
WPC-95 power driver board
validated
84
Right Tiger Loop
lamp.matrix-84
Q97 column driver with Q107 row driver
WPC-95 power driver board
validated
85
Captive Ball Right
lamp.matrix-85
Q97 column driver with Q102 row driver
WPC-95 power driver board
validated
86
Action 4
lamp.matrix-86
Q97 column driver with Q106 row driver
WPC-95 power driver board
validated
87
Captive Ball Left
lamp.matrix-87
Q97 column driver with Q101 row driver
WPC-95 power driver board
validated
88
Start Button
lamp.matrix-88
cabinet.start
Q97 column driver with Q105 row driver
WPC-95 power driver board
validated

General illumination

5
5 shown
# Name Device ID Role Wiring Evidence
0
Illumination String 1
gi.string-1
cabinet.insert-panel
Q5
WPC-95 power driver board
validated
1
Illumination String 2
gi.string-2
cabinet.insert-panel
Q4
WPC-95 power driver board
validated
2
Illumination String 3
gi.string-3
cabinet.insert-panel
Q3
WPC-95 power driver board
validated
3
Illumination String 4
gi.string-4
Q2
WPC-95 power driver board
validated
4
Illumination String 5
gi.string-5
Q1
WPC-95 power driver board
validated

Virtual & other outputs

28
28 shown
# Name Device ID Role Evidence
29
WPC J111 General-Purpose State Bit A
device.wpc-j111-general-purpose-state-bit-a
internal.wpc-state
validated
30
WPC J111 General-Purpose State Bit B
device.wpc-j111-general-purpose-state-bit-b
internal.wpc-state
validated
31
PinMAME Fast-Flip Game-On State
device.pinmame-fast-flip-game-on-state
internal.wpc-state
validated
32
Unused WPC State Channel 32
device.unused-wpc-state-channel-32
internal.wpc-state
validated
37
Unused WPC-95 LPDC Output 37
device.unused-wpc-95-lpdc-output-37
internal.unused.wpc-output
validated
38
Unused WPC-95 LPDC Output 38
device.unused-wpc-95-lpdc-output-38
internal.unused.wpc-output
validated
39
Unused WPC-95 LPDC Output 39
device.unused-wpc-95-lpdc-output-39
internal.unused.wpc-output
validated
40
Unused WPC-95 LPDC Output 40
device.unused-wpc-95-lpdc-output-40
internal.unused.wpc-output
validated
41
Unused WPC-95 LPDC Mirror 41
device.unused-wpc-95-lpdc-mirror-41
internal.duplicate.lpdc-mirror
validated
42
Unused WPC-95 LPDC Mirror 42
device.unused-wpc-95-lpdc-mirror-42
internal.duplicate.lpdc-mirror
validated
43
Unused WPC-95 LPDC Mirror 43
device.unused-wpc-95-lpdc-mirror-43
internal.duplicate.lpdc-mirror
validated
44
Unused WPC-95 LPDC Mirror 44
device.unused-wpc-95-lpdc-mirror-44
internal.duplicate.lpdc-mirror
validated
49
PinMAME Simulator Ball-Shooter Channel
device.pinmame-simulator-ball-shooter-channel
internal.unused.wpc-output
validated
50
Reserved WPC Output 50
device.reserved-wpc-output-50
internal.unused.wpc-output
validated
51
Unused Custom-Solenoid Position 51
device.unused-custom-solenoid-position-51
internal.unused.wpc-output
validated
52
Unused Custom-Solenoid Position 52
device.unused-custom-solenoid-position-52
internal.unused.wpc-output
validated
53
Unused Custom-Solenoid Position 53
device.unused-custom-solenoid-position-53
internal.unused.wpc-output
validated
54
Unused Custom-Solenoid Position 54
device.unused-custom-solenoid-position-54
internal.unused.wpc-output
validated
55
Unused Custom-Solenoid Position 55
device.unused-custom-solenoid-position-55
internal.unused.wpc-output
validated
56
Unused Custom-Solenoid Position 56
device.unused-custom-solenoid-position-56
internal.unused.wpc-output
validated
57
Unused Custom-Solenoid Position 57
device.unused-custom-solenoid-position-57
internal.unused.wpc-output
validated
58
Unused Custom-Solenoid Position 58
device.unused-custom-solenoid-position-58
internal.unused.wpc-output
validated
59
Unused Custom-Solenoid Position 59
device.unused-custom-solenoid-position-59
internal.unused.wpc-output
validated
60
Unused Custom-Solenoid Position 60
device.unused-custom-solenoid-position-60
internal.unused.wpc-output
validated
61
Unused Custom-Solenoid Position 61
device.unused-custom-solenoid-position-61
internal.unused.wpc-output
validated
62
Unused Custom-Solenoid Position 62
device.unused-custom-solenoid-position-62
internal.unused.wpc-output
validated
63
Unused Custom-Solenoid Position 63
device.unused-custom-solenoid-position-63
internal.unused.wpc-output
validated
64
Unused Custom-Solenoid Position 64
device.unused-custom-solenoid-position-64
internal.unused.wpc-output
validated

Configuration & other inputs

9 shown
# Name Device ID Kind Wiring Evidence
1
CPU DIP 1 (country/option configuration bit)
Dip
switch.dip-1 DIP switch
validated
2
CPU DIP 2 (country/option configuration bit)
Dip
switch.dip-2 DIP switch
validated
3
CPU DIP 3 (country/option configuration bit)
Dip
switch.dip-3 DIP switch
validated
4
CPU DIP 4 (country/option configuration bit)
Dip
switch.dip-4 DIP switch
validated
5
CPU DIP 5 (country/option configuration bit)
Dip
switch.dip-5 DIP switch
validated
6
CPU DIP 6 (country/option configuration bit)
Dip
switch.dip-6 DIP switch
validated
7
CPU DIP 7 (country/option configuration bit)
Dip
switch.dip-7 DIP switch
validated
8
CPU DIP 8 (country/option configuration bit)
Dip
switch.dip-8 DIP switch
validated
24
Always Closed
Other
switch.matrix-24 Constant
J206-2Green-Red
J208-4White-Yellow
WPC-95 CPU board
validated

Mechanisms

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

Cabinet knocker

mechanism.knocker

Other

Solenoid 7 raps the cabinet knocker solenoid against the cabinet wall on scoring events (replay/match); it is a standard cabinet device with no playfield presence.

Drives

Four-ball trough and ball release

mechanism.trough

Kicker

Four balls rest on trough optos 32-35, with Trough Ball 1 (32) at the eject end nearest the shooter lane and Trough Ball 4/Drain (35) at the drain entrance. Solenoid 9 (SolRelease) ejects the ball resting on 32 and pulses trough-eject opto 31 in the same event (vpmTimer.PulseSw 31). All five positions are printed optos that rest closed (column 3 of the inverted-switch mask), so a recreation asserts the public switch when a ball is present.

Left and right magnetic inlane cages

mechanism.cages

Other

A raised cage wall traps a ball rolling through the left/right inlane opto (36/37) unless a second ball is simultaneously present in the trigger zone. The retained script's sw36_timer/sw37_timer handlers poll ball positions every 10 ms and only raise the cage (leftcage.z=0 / rightcage.z=0) once the lane is clear; solenoids 1/2 (SolSpikerLeft/SolSpikerRight) lower the cage back down (z=-69) on release. The cage optos rest closed and are normalized by PinMAME's inverted-switch mask column 3.

Vanishing Magnet ball-teleport assembly

mechanism.vanishing-ball

Other

The manual's "Vanishing Magnet Assembly" (TOC 2-25) makes a ball appear to disappear. Solenoid 3 (SolVanishDrop) opens a hidden trapdoor (HideVanish.Isdropped) beneath the Vanish Tunnel opto (switch 12, pulsed on entry) while solenoid 35 (SolVanishMagnet) energizes a magnet that holds the ball out of sight; releasing the magnet (HideVanish_Timer) launches the ball back into play in a random direction. All three retained table objects (VanishHole trigger, VanishMagnet trigger, HideVanish wall) cluster within one raw unit of each other, confirming a single physical assembly.

Three-ball magnetic lock

mechanism.lock

Other

A single magnet (solenoid 6, mLockMagnet) captures and holds up to three locked balls at stacked positions Lock 1 (bottom, switch 66), Lock 2 (middle, switch 67), and Lock 3 (top, switch 68); the retained script's LockMagnet_hit/LockMagnet1_unhit handlers damp ball velocity while the magnet is energized. Solenoid 4 (SolLockRelease) kicks the stack loose (Lock1.kick) and opens two release walls (wall001/wall002) so the locked balls can return to play.

Bazaar scoop

mechanism.bazaar-scoop

Kicker

A ball resting on opto 25 (Bazaar Eject) is kicked back to the playfield by solenoid 5 (SolBazaarKick); the retained script raises a companion collision wall (sw25wall) while the ball is captured.

Ramp magnet

mechanism.ramp-magnet

Other

Solenoid 8 (SolRampMagnet) energizes a magnet (RMagnet) on the Magnet Ramp Assembly that catches and holds a ball mid-ramp; releasing it nudges the ball forward (VelX=5, VelY=2). No printed switch is dedicated to this device; the manual documents its own switch and diode assembly as part of the Magnet Ramp Assembly (item 1c, A-12238) but that assembly feeds the Ramp Made Left/Right matrix switches (41/47), not a magnet-specific position sensor.

Swirl Ramp diverter

mechanism.ramp-diverter

Gate

Solenoid 21 (RampDiverter) drives a physically rotating diverter post on the Swirl Ramp Assembly (manual item 2, printed 2-42) between two end stops over several animation steps (RampDiv_Timer, RampDivPos range -21 to 1), not a simple on/off flasher despite sitting in the flasher-numbered address range.

Left (playfield) diverter

mechanism.playfield-diverter

Gate

A two-stage power/hold coil pair (solenoids 33/34) on the Fliptronic upper-right circuit drives a playfield ball diverter gate (PlayFDiv) rather than an upper flipper -- this game has no upper flippers. The retained script scripts only the hold address (34, SolPlayFDiv via vpmSolDiverter); the power address (33) shares the same physical coil pair per the manual's J119-6 wiring bus.

Loop post diverter

mechanism.loop-post-diverter

Gate

Solenoid 36 (SolLoopDiv) raises a post (LoopPostDiverter wall) that diverts a ball at the right loop; it is wired on the same Fliptronic upper-left circuit bus (J119-8) as Vanish Magnet (solenoid 35) but is an independently scripted, unrelated device, not that circuit's power/hold partner.

Spinning Lamp Unit (Magic Lamp disc)

mechanism.spinning-lamp-unit

Other

The manual's "Spinning Lamp Unit Assembly" (TOC 2-23) is a freely rotating disc (table radius 60 units, centered at normalized x=0.535714 y=0.388170) that two spinner-kick posts near the shooter lane (Kicker.SpinnerKick/SpinnerKick2) set spinning when struck by a ball. The retained script's SpinnerBallTimer_Timer integrates angular speed with friction and a spring-centered wobble every 10 ms, and pulses public switch 56 (Lamp Spin CCW) or 57 (Lamp Spin CW) each time the disc's rotation crosses a position threshold, depending on spin direction. There is no PinMAME mech table or ROM-side position counter for this motion; it is a pure VPX physical simulation with no coil -- the disc is ball-driven, not motorized.

Genie figure and double target

mechanism.genie

Other

The manual's "Genie Double Target Assembly" (TOC 2-24) is a spring-loaded rocking figure (GenieP/GenieP1 primitives) struck by the ball at two collision zones (GenieTrig, GenieTrig1; a third object GenieTrig2 exists in the table but has no script handler and is inert). The retained script's UpdateGenie integrates a bounce/decay physics model on the figure's rock angle and asserts public switch 42 (Genie Target) whenever that angle exceeds 4.5 degrees -- there is no discrete trigger-hit event for the switch itself. The separate Genie Standup Target (switch 23, HitTarget sw23) is a distinct, single, ordinary standup target elsewhere on the playfield.

Left and right slingshots

mechanism.slingshots

Other

Each slingshot assembly carries a kick switch (A-17800) and a separate scored switch (A-17793, diode-attached) reported as one matrix address. The retained script's LeftSlingShot_Slingshot/RightSlingShot_Slingshot handlers pulse matrix addresses 51 and 52 and fire coils 10/11 in the same event.

Three-bumper jet nest

mechanism.jet-bumpers

Other

Three A-9415-2 jet bumpers with A-16443 skirt switches. The retained script's Bumper1_Hit, Bumper3_Hit, and Bumper2_Hit handlers pulse switches 53 (Left), 54 (Right), and 55 (Middle) and fire coils 12, 13, and 14 respectively, matching the printed Left/Right/Middle Jet Bumper labels (note the non-alphabetic table-object-to-address mapping: Bumper2 is the Middle jet and Bumper3 is the Right jet).

Lower flipper pair

mechanism.lower-flippers

Other

Two FL-11629 flippers on Fliptronic circuits. Each flipper has a separate power and hold winding: the ROM energizes 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. Tales of the Arabian Nights runs Const UseSolenoids = 2 fast flips, so the ROM drives the coils directly. There are no upper flippers; the upper-flipper Fliptronic circuits (115, 116, 117, 118) are unfitted and the printed upper-flipper solenoid circuits (33-36) drive unrelated non-flipper devices.

Left kicker hole

mechanism.left-kicker

Kicker

A ball resting on switch 38 (Left Eject) is kicked back to the playfield by solenoid 15 (SolLeftKicker).

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 - complete physical I/O inventory, WPC-95 bindings, mechanism causality, driver-variant boundary, and recreation behavior validated; wiring and spatial placement conflicted pending resolution of the GI-string-3 playfield-binding conflict below

Identity and evidence precedence

This is the Williams WPC-95 physical product released 1996 (WPC part-number family 547; "ARABIAN NIGHTS" models 50247-52347 per the manual's Declaration of Conformity), IPDB 3824 (candidate: sourced from the retained VPX table's own info.json description, "IPD No. 3824"; direct verification against ipdb.org was attempted this session and blocked by a Cloudflare challenge that did not clear with a headless-automation browser session -- title and manufacturer/year are independently confirmed against the manual and pinned driver, so only the bare numeric ID is unverified against the primary site). It covers the totan_* clone tree: totan_04 (0.4 prototype), totan_12, totan_13, totan_14 (parent, production 1.4/S1.1, the driver the retained script binds to), and totan_15c (2016 community "Competition MOD" ruleset built on the same 1.4/S1.1 codebase and controller addresses). Every one of these is a game-ROM revision for the same physical machine; none is virtual-only.

Evidence precedence for this definition: the retained known-working script (JPSalas 2015, flupper/rothbauerw 2019) is runtime and mechanism-causality ground truth; the Williams operations manual controls physical construction, part numbers, wiring, polarity, quantities, and device presence; pinned PinMAME controls controller generation, public address topology, and display metadata; the retained VPX geometry supplies normalized coordinates. The retained manual PDF carries a genuine OCR text layer, but pdftotext -layout badly garbles its multi-column tables (columns interleave, numbers shift rows), so every printed table used here was re-verified against the 300 dpi rendered pages and transcribed into external:pinmame-review-artifacts/tales-of-the-arabian-nights-1996/manual-transcription.md; the raw OCR text was used only to locate pages.

This retained table is smaller and older than the VPW mods used for several recently curated WPC games (944 extracted files, no VPW authorship credited). Its fidelity is judged honestly below: where its object set cannot support a validated placement, the device is left spatially unresolved rather than given a fabricated coordinate.

Controller platform and address topology

GEN_WPC95 (PINMAME_HARDWARE_GEN_WPC95 = 0x80) with wpc_dispDMD. The controller profile is pinmame.wpc-95, reused unchanged.

  • Switches: dedicated coin-door/service 1-8, matrix 11-88 as drive column then return row, Fliptronic 111-118. totanGameData's inverted-switch mask {0x00,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} inverts column 3 bits 0-6 (31-37); the printed matrix page (2-38) shades exactly those seven cells "OPTO, TYPICALLY CLOSED" and no others. This is a rare zero-disagreement polarity sweep: every opto the manual documents (assembly part number present, switch part number blank -- the same signature the project has used on every prior WPC-95 game) is normalized by PinMAME, and nothing outside that column carries opto construction.
  • Matrix columns 7 and 8 (addresses 71-88, all sixteen positions) are printed Not Used on both the wiring page and the parts list ("71 to 88 Not Used").
  • Fliptronic F1-F8 (111-118): F1/F3 (lower EOS, leaf) and F5/F7 (upper EOS, leaf, unfitted) are plain switches; F2/F4 (lower button, opto) and F6/F8 (upper button, opto, unfitted) are shaded. Unlike Williams Monster Bash (one repurposed Fliptronic position) this game repurposes none of the upper positions as switches -- F5-F8 are genuinely unused -- but it does repurpose the upper-right solenoid circuit (see below).
  • Solenoids: physical drivers 1-28 are all fitted (no gaps, unlike Monster Bash's unfitted 4/7); Fliptronic upper-right circuit 33/34 drives a non-flipper "Left Diverter" gate; Fliptronic upper-left circuit 35/36 drives two independent non-flipper devices (Vanish Magnet, Loop Post Diverter); Fliptronic lower-flipper circuits 45-48 are the genuine flippers; PinMAME state channels 29-32; simulator-only 49 and reserved 50. totanGameData declares no custSol, no lampCol, and no swCol, so nothing above public address 36 (except 45-48) or lamp column 8 is populated, and the WPC-95 LPDC range (37-44) is entirely unused -- there is no motorized custom-solenoid mechanism on this machine (contrast Monster Bash's Dracula motor at 37/38+41/42).
  • Lamps: 8x8 matrix 11-88, all 64 addresses populated (no "Not Used" lamp position, unlike Monster Bash's 78). Address 88 (Start Button) is a cabinet lamp inside the button assembly, not a playfield insert.
  • GI: five strings on public addresses 0-4.

One WPC-95 numbering fact must not be lost: the printed solenoid table numbers the lower flipper circuits 29-32, while PinMAME publishes the same circuits at 45-48 (CORE_FIRSTLFLIPSOL = 45); the manual numbers are preserved as manual.address aliases. Unlike every WPC-95 game curated so far that has a repurposed upper-flipper circuit, this game's printed circuits 33-36 pass straight through to public 33-36 with no address translation, because totanGameData.hw.flippers carries FLIP_SOL(FLIP_L) only (no FLIP_UR/FLIP_UL bit): core_getSol's solNo <= 36 branch therefore falls to the generic mask = 1<<(solNo-33+4) path rather than the flipper-coil path, so a recreation binds these four addresses as plain driver-board outputs, not through any flipper abstraction.

Ball path, trough, and shooter

Tales of the Arabian Nights has no auto-plunger (no solenoid is printed or scripted for it): this is a manual pull-back plunger game, and switch 18 (Ball Shooter) is simply a lane-presence sensor. Four balls rest on trough optos 32-35, with Trough Ball 1 (32) at the eject end nearest the shooter lane and Trough Ball 4 (35) at the drain entrance (switch 35 also fires the Drain handler). Solenoid 9 (SolRelease) ejects the ball on 32; the retained script pulses trough-eject opto 31 in the same event (vpmTimer.PulseSw 31), so switch 31 is a documented projection onto the Trough-Ball-1 kicker position rather than a separately placed object.

Trough optos 31-37 (the trough itself plus the left/right inlane "cage" optos, see below) are printed as optos that rest closed; PinMAME's mask covers exactly this set, so the public state is already normalized.

Left and right magnetic inlane cages

A raised cage wall traps a ball rolling through the left/right inlane opto (switches 36/37) unless a second ball is simultaneously present in the trigger zone. The retained script's sw36_timer/sw37_timer handlers poll ball positions every 10 ms and only raise the cage once the lane is clear; solenoids 1/2 (SolSpikerLeft/SolSpikerRight) lower the cage back down on release. This is a "hold a ball in reserve until the lane clears" gimmick, not a kicker.

Vanishing Magnet assembly, lock, and Bazaar scoop

The manual's "Vanishing Magnet Assembly" (TOC 2-25) makes a ball appear to disappear. Solenoid 3 (SolVanishDrop) opens a hidden trapdoor beneath the Vanish Tunnel opto (switch 12, pulsed on entry) while solenoid 35 (SolVanishMagnet) energizes a magnet that holds the ball out of sight; releasing the magnet launches the ball back into play in a random direction (HideVanish_Timer). All three retained table objects (the entry trigger, the magnet trigger, and the trapdoor wall) cluster within one raw unit of each other in the extraction, confirming they model one physical assembly.

A single magnet (solenoid 6) captures and holds up to three locked balls at stacked positions Lock 1 (bottom, switch 66), Lock 2 (middle, switch 67), and Lock 3 (top, switch 68); the retained script's LockMagnet_hit/LockMagnet1_unhit handlers damp ball velocity while the magnet is energized. Solenoid 4 (SolLockRelease) kicks the stack loose and opens two release walls so the locked balls can return to play.

A ball resting on opto 25 (Bazaar Eject) is kicked back to the playfield by solenoid 5 (SolBazaarKick); the retained script raises a companion collision wall while the ball is captured.

Ramp magnet, Swirl Ramp diverter, playfield diverter, and loop post diverter

Solenoid 8 (SolRampMagnet) energizes a magnet on the Magnet Ramp Assembly (manual item 1, printed 2-42) that catches and holds a ball mid-ramp, then nudges it forward on release. No printed switch is dedicated to this magnet.

Solenoid 21 (Ramp Diverter) is not a flasher despite sitting in the flasher-numbered address range (17-28): the retained script's RampDiverter/RampDiv_Timer handlers animate a physically rotating diverter post on the Swirl Ramp Assembly (manual item 2) over several steps, matching the manual's own "Low Power" solenoid type and AE-30-2000 coil part number rather than a flashlamp part number.

Solenoids 33/34 (printed "Upr. Rt. Power/Hold") drive a "Left Diverter" playfield gate (PlayFDiv), not an upper flipper -- this game has no upper flippers. The retained script scripts only the hold address (34, SolPlayFDiv); the power address (33) shares the same physical coil pair per the manual's shared J119-6 wiring bus, the same power/hold-column-template pattern established on Indiana Jones: The Pinball Adventure's repurposed upper-flipper circuits. Solenoid 36 (Loop Post Diverter, SolLoopDiv) is wired on the same Fliptronic upper-left circuit bus (J119-8) as Vanish Magnet (35) but is an independent, separately scripted device, not that circuit's power/hold partner -- the printed "Power"/"Hold" column labels for 35/36 are the standard WPC flipper-circuit schematic template carried over onto two unrelated toys, not evidence of an actual power-then-hold relationship.

Spinning Lamp Unit (the "Magic Lamp" disc)

The manual's "Spinning Lamp Unit Assembly" (TOC 2-23) has no dedicated printed switch/solenoid table page of its own, but it is fully reconstructable from the retained script. It is a freely rotating disc (table radius 60 units, centered at normalized x=0.535714, y=0.388170 -- also the placement of solenoid 23's "Magic Lamp Flasher") that two spinner-kick posts near the shooter lane (Kicker.SpinnerKick/SpinnerKick2) set spinning when struck by a ball. SpinnerBallTimer_Timer integrates angular speed with friction and a spring-centered wobble every 10 ms, and pulses public switch 56 (Lamp Spin CCW) or 57 (Lamp Spin CW) each time the disc's simulated rotation crosses a position threshold, depending on spin direction. There is no PinMAME mech table or ROM-side position counter for this motion (totanGameData.hw.handleMech is unset, unlike Monster Bash's Dracula/Frankenstein mechanisms) -- it is a pure VPX physics simulation with no drive coil; the disc is ball-driven, not motorized. Both switches are documented projections onto the disc's own center.

Genie figure and double target

The manual's "Genie Double Target Assembly" (TOC 2-24) is a spring-loaded rocking figure struck by the ball at two collision zones (GenieTrig, GenieTrig1; a third object GenieTrig2 exists in the retained table but has no script handler anywhere and is inert legacy geometry). UpdateGenie integrates a bounce/decay physics model on the figure's rock angle and asserts public switch 42 (Genie Target, printed as the SW-1A-207/SW-1A-208 double target read as one address) whenever that angle exceeds 4.5 degrees -- there is no discrete trigger-hit event for the switch itself, so it is a documented projection onto the figure (GenieP/GenieP1). The separate Genie Standup Target (switch 23, HitTarget sw23) is a distinct, single, ordinary standup target elsewhere on the playfield and must not be conflated with the double target.

Slingshots, jet bumpers, mini standups, standup banks, skill shots, and captive balls

Two slingshots (coils 10/11, score switches 51/52) and three A-9415-2 jet bumpers (coils 12/13/14, skirt switches 53/54/55) are standard WPC devices; the retained script's handlers pulse the matching matrix addresses and fire the matching coils in the same event. Note the non-alphabetic table-object-to-address mapping the script itself establishes: Bumper1 is the Left jet (53), Bumper2 is the Middle jet (55), and Bumper3 is the Right jet (54) -- do not assume ordinal object names follow left-to-right or the printed Left/Right/Middle order.

Switch 46 (Mini Standups) is printed with a quantity of 3 (A-18017-6), but the retained table models only two target objects (sw46, sw46b) sharing the address; the third physical target has no distinct evidenced coordinate in this table and is disclosed as a known table-fidelity gap rather than silently dropped or fabricated. Switch 61 (Left Standups) and 62 (Right Standups) are each three-target banks (A-20846-9 top, A-20499-9 middle/bottom) and the retained table models all three positions per bank with real, distinct coordinates. Switches 63/64/65 (Top/Middle/Bottom Skill Shot) and 48/58 (Right/Left Captive Ball) are ordinary passive targets with no drive coil.

Fliptronic column: flippers only

Two FL-11629 flippers on Fliptronic circuits 111-114 (lower right/left, EOS then button-opto). There are no upper flippers: positions 115-118 are printed Not Used on the switch-locations parts list, and unlike Monster Bash none of them is repurposed as a switch for another device (the repurposing on this game happens entirely on the solenoid side, at printed circuits 33-36). WPC-95 reads the entire eight-position Fliptronic column through WPC_FLIPPERSW95 with a blanket hardware inversion applied regardless of fitment or physical construction (leaf vs. opto), so the public state of every one of 111-118 is already normalized.

Lamps, flashers, and general illumination

All 64 lamp-matrix addresses are populated (no "Not Used" lamp position on this game). Address 28 (Outlane Special) is the only address the manual marks with an explicit bulb-count "(2)", and the retained table binds two genuinely separate Light objects on opposite sides of the playfield (l28 right outlane, l28a left outlane, 761 raw units apart) -- both are real, distinct placements. Every other address has a single co-located "LightNN"/f1/f16-style brightness-doubling Light object within 38 raw units (well under 4% of playfield width) of its primary lNN object; these are documented render doubles and excluded from placement, matching the manual's single-bulb parts entries. Address 88 (Start Button) has a table object (Light.l88) at Apron-surface coordinates, but it carries the unbound-default timer_interval (100) and is not a member of the InsertLights collection the runtime lamp update binds (Sub InitLights(InsertLights)), so it is provably inert -- corroborating the cabinet classification rather than contradicting it.

Solenoids 16 and 17 (Left Eject Flasher, Inlane Flasher) both print two playfield bulbs (A-17983 (2)), but the retained table models only one Light object per address; one placement is recorded and the quantity gap is disclosed rather than fabricating a second coordinate. Solenoids 25, 26, and 27 each print one playfield bulb plus one backbox "Insert Flasher" companion; only the playfield bulb receives a coordinate.

General illumination carries the definition's one unresolved conflict. The manual's own wiring table (printed 2-40) documents public GI addresses 0-2 (printed Strings 1-3) as backbox insert-panel only (#44 bulbs, J106 connectors, no Playfield column entry) and addresses 3-4 (printed Strings 4-5) as the genuine playfield strings (#555 bulbs, J105 connectors, string 5 also feeding a cabinet connection via J104). The retained script's Sub UpdateGI(no, step) disagrees: it implements only Case 2 (public address 2, the manual's backbox-only String 3), binding it to a large playfield-wide dimming effect (globalGI) applied across dozens of playfield textures and materials, while addresses 0, 1, 3, and 4 fall through with no case at all and produce zero visual effect. This is recorded as conflict.gi-string-3-playfield-binding and left unresolved: the manual's physical wiring controls this device's spatial classification (GI address 2 stays a backbox not_applicable device), and GI addresses 3/4 -- the manual's real playfield strings -- have no VPX object to validate a placement from, so their spatial key is omitted entirely rather than assigned a fabricated coordinate. Resolving this needs a LibPinMAME gameplay-harness trace of a legal totan_14 ROM observing which GI address the ROM actually varies during attract-mode playfield dimming, cross-checked against a photograph or continuity trace of the physical J105/J106 harness.

Author construction checklist

  • Build the four-ball trough with the drain at Trough Ball 4, the manual pull-back plunger's shooter lane, the left/right magnetic inlane cages, the Vanishing Magnet assembly (trapdoor + magnet), the three-position magnetic lock, the Bazaar scoop, the Magnet Ramp's mid-ramp magnet, the rotating Swirl Ramp diverter post, the Left Diverter playfield gate, the Loop Post Diverter, both slingshots, three jet bumpers, the ball-driven Spinning Lamp Unit disc with its two spinner-kick posts, the rocking Genie figure with its double target and separate standup target, both standup banks (3 targets each), the mini-standup pair (physically 3, evidenced 2), three skill-shot targets, two captive balls, and the lower flipper pair.
  • Bind switches 31, 42, 56, and 57 to their host mechanism's own position/state rather than a fixed trigger object; see the projections above.
  • Treat GI address 2 as a backbox device per the manual despite the retained script's playfield-wide side effect, and leave GI addresses 3/4 without a coordinate until the conflict is resolved.
  • Reuse the pinmame.wpc-95 controller profile unchanged; do not create a new profile for this game.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
totan_15cTales of the Arabian Nights (1.5C Competition MOD / S1.1)
Community "Competition MOD" 1.5C ruleset ROM (2016) built on the 1.4/S1.1 codebase; it runs on the same documented physical hardware and controller addresses as the production driver, changing only rules/scoring, so it remains a driver variant of the physical machine rather than a distinct game.
2016totan_14compatible
totan_14Tales of the Arabian Nights (1.4 / S1.1)
Williams production 1.4 game ROM shipped with the physical machine. This is the driver the retained known-working table binds to (cGameName = "totan_14").
1996identical
totan_13Tales of the Arabian Nights (1.3 / S1.0)
Williams 1.3 game ROM; a later production firmware revision of the same physical machine with no controller-address or playfield change.
1996totan_14identical
totan_12Tales of the Arabian Nights (1.2 / S1.0)
Williams 1.2 game ROM; an earlier production firmware revision of the same physical machine with no controller-address or playfield change.
1996totan_14identical
totan_04Tales of the Arabian Nights (0.4 Prototype / S1.0)
Williams 0.4 prototype game ROM for the same physical Tales of the Arabian Nights machine; the switch matrix, lamp matrix, solenoid/flasher table, and playfield hardware are unchanged.
1996totan_14identical

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

  • PinMAME catalog

    BSD-3-Clause

    pinmame.catalog.4ec52ff0ac13

    Pinned catalog driver records for the totan_* clone tree

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • PinMAME source

    BSD-3-Clause

    pinmame.core.4ec52ff0ac13

    src/wpc/sims/wpc/prelim/totan.c totanGameData GEN_WPC95 with wpc_dispDMD, the inverted-switch mask {0x00,0x00,0x00,0x7f,0x00,...}, FLIP_SW(FLIP_L|FLIP_U)|FLIP_SOL(FLIP_L), hw.swCol=hw.lampCol=hw.custSol=0, swStart/swTilt/swSlamTilt/swCoinDoor comSw defines, and init_totan's wpc_set_fastflip_addr(0x7b); src/wpc/core.h CORE_FIRSTUFLIPSOL=33/CORE_FIRSTLFLIPSOL=45/CORE_FIRSTCUSTSOL=51/CORE_FLIPPERSWCOL=11/CORE_CUSTSWCOL=CORE_STDSWCOLS=12; src/wpc/core.c core_getSol WPC95 33-36 generic-bit path (no FLIP_SOL(FLIP_UR)/FLIP_SOL(FLIP_UL) declared) and 37-44 LPDC 37..40/41..44 duplication (unused here, custSol=0); src/wpc/wpc.c WPC_FLIPPERSW95 blanket column inversion (always applied on GEN_WPC95 regardless of FLIP_L/FLIP_U); src/wpc/wpc.h WPC_swF1..WPC_swF8; src/libpinmame/libpinmame.h PINMAME_HARDWARE_GEN_WPC95=0x80

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • Human review

    BSD-3-Clause

    controller-profile.pinmame-wpc-95

    WPC-95 public switch, DIP, solenoid, lamp, and five-GI address rules with the Fliptronic and LPDC mirror notes

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

    manual.williams.tales-of-the-arabian-nights.1996

    160-page OCR'd scan of the Williams Tales of the Arabian Nights operations manual (Internet Archive item Williams_Tales_of_the_Arabian_Nights_Operations_Manual). Printed pages 2-36 through 2-42 carry the lamp/switch/solenoid location parts lists and their matrix and solenoid/flasher wiring tables; page 1 carries the DIP switch country chart; Section 3 (printed 3-1 onward) carries Game Wiring and Schematics.

    external:pinmame-manuals/by-machine/williams.tales-of-the-arabian-nights.1996/archive-Williams_Tales_of_the_Arabian_Nights_Operations_Manual/Williams_1996_Tales_of_the_Arabian_Nights_Manual.pdf
    by
    Williams Electronics Games, Inc.; scan hosted by the Internet Archive
    sha256
    ac5120a92c71…
  • Human review

    manual-support.williams.tales-of-the-arabian-nights.1996

    Retained human transcription of every rendered manual table used by this definition, together with the rendered PNG page cache under external:pinmame-manuals/rendered/williams.tales-of-the-arabian-nights.1996/. The retained PDF carries a genuine OCR text layer, but pdftotext -layout badly garbles the multi-column tables, so every table was re-verified visually against the 300 dpi rendered pages; this transcription is the source of record.

    external:pinmame-review-artifacts/tales-of-the-arabian-nights-1996/manual-transcription.md
    by
    pinmame-game-defs curation
    rev
    2026-08-07
    sha256
    fd33e241ed37…
  • VPX table

    vpx-table.totan-jpsalas-flupper-1-0

    Retained known-working recreation of the physical machine by JPSalas (2015) with later work by flupper and rothbauerw (2019), released August 2019, based on 944 extracted files (no VPW authorship). Exact playfield bounds are left=0 top=0 right=952 bottom=2164; normalized coordinates are x/952 and y/2164 -- note the y divisor is 2164, not the 2162 several other curated WPC games use. Geometry authority only for named table objects; this is a smaller, older table than the VPW mods used for recently curated games, and its object set does not support a validated placement for every device (see GI addresses 3 and 4).

    external:pinmame-vpx-sources/williams/tales-of-the-arabian-nights-1996/source/Tales%20of%20the%20Arabian%20Nights%20%28Williams%201996%29.vpx
    by
    JPSalas, flupper, rothbauerw
    sha256
    487375925e6f…
  • VPX script

    vpx-script.totan-jpsalas-flupper-1-0

    Retained embedded script (97,833 bytes). Runtime and mechanism-causality authority: Const cGameName = "totan_14", Const UseSolenoids = 2 (fast flips), Const UseLamps = 0, the SolCallback/SolModCallback table for solenoids 1-28 and 34 plus core.vbs sLRFlipper/sLLFlipper, the Controller.Switch and vpmTimer.PulseSw switch semantics for the trough/cage/vanish/lock/Genie/Spinning-Lamp-Unit state machines, and Sub UpdateGI mapping only public GI address 2 to a playfield-wide dimming effect (GI addresses 0, 1, 3, and 4 have no case and thus no visual effect in this table).

    external:pinmame-vpx-sources/williams/tales-of-the-arabian-nights-1996/extracted-vpxtool/script.vbs
    by
    JPSalas, flupper, rothbauerw
    sha256
    c4a742f2188c…
  • VPX table

    vpx-extraction.totan-jpsalas-flupper-1-0

    Canonical manifest covering every sorted relative POSIX path, byte size, and SHA-256 under extracted-vpxtool; manifest SHA-256 761846f3369203502a9083c19e46a0da046893a46df43abc734a53c61b19a04d; 944 files, 128702095 bytes, produced with vpxtool git:v0.33.3 from the retained table. Bounds are left=0 top=0 right=952 bottom=2164.

    external:pinmame-vpx-sources/williams/tales-of-the-arabian-nights-1996/extracted-vpxtool.manifest.json
    by
    vpxtool extraction

Something wrong or missing?

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