FunHouse

Partial

Williams1990WPC-ALPHAwilliams.funhouse.1990

Wire it up

what an authoring tool needs first
Bind this ROM
fh_l9

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

Controller platform
pinmame.wpc-alpha

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
  • Player 1/3 sixteen-character alphanumeric display16 digits
  • Player 2/4 sixteen-character alphanumeric display16 digits
Address space
Switches
1–118 (80)
Solenoids
1–50 (50)
Lamps
11–88 (64)
GI
0–4 (5)
DIP
1–8 (8)
Cabinet & flipper inputs
11flipper.lower.right.button-matrix-copy12flipper.left.button-matrix-copy112flipper.lower.right.button114flipper.left.button1cabinet.coin.12cabinet.coin.23cabinet.coin.34cabinet.coin.413cabinet.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

180 placements · 21 stacked · normalised player view · outline is nominal

15 Steps Lights Frenzy16 Upper Ramp Switch17 S-T-E-P "S"318 Left Jet Bumper · 9 Left Jet Bumper · 52 Upper Jet Bumper25 Lock Mech Right26 Steps Lights Ex. Ball27 Lock Mech Center28 Lock Mech Left31 S-T-E-P "P"32 Top Superdog Standup Target33 Lt. Gangway Rollunder34 Bottom Superdog Standup Target35 Steps Track Lower36 Steps 500,00037 Center Superdog Standup Target38 Steps Track Upper241 Left Slingshot · 12 Left Slingshot42 Lt. Flipper Return Lane43 Left Outlane44 Wind Tunnel Hole45 Trap Door Open246 Rudy Hideout Kickbig · 3 Kickbig47 Left Ballshooter448 Ramp Exit Track · 77 Right Jet Bumper · 10 Right Jet Bumper · 72 Upper Rt. Jet Bumper751 Dummy Jaw · 21 Mouth Motor · 22 Up/Down Driver · 25 Eyes Right · 26 Eyelids Open · 27 Eyelids Close · 28 Eyes Left52 Right Outlane253 Right Slingshot · 13 Right Slingshot54 S-T-E-P "T"55 Steps Superdog356 Ramp Entrance · 17 3 Blue Flashers · 57 Ramp Overhead Lamp57 Jet Bumper Lane58 Tunnel Kickout61 Rt. Inside Return Lane62 Right Ballshooter263 Right Trough · 15 Trough64 S-T-E-P "E"265 Dummy Eject Hole · 16 Dummy Eject Hole66 Right Gangway Lane67 Lower Right Drop Hole368 Lower Jet Bumper · 11 Lower Jet Bumper · 51 Lower Jet Bumper71 Rt. Outside Return Lane72 Left Trough273 Outhole · 1 Outhole74 Center Trough275 Upper Right Loop · 1 Rudy G.I.376 Trap Door Closed · 5 Trap Door Open · 6 Trap Door Closed22 Ramp Diverter · 2 Upper/Rear Playfield G.I.4 Tunnel Kickbig28 Multi-ball Release · 28 Clock 0 Minutes14 Steps Gate17 3 Blue Flashers17 3 Blue Flashers18 Dummy Flashers219 2 Clock Flashers · 19 2 Clock Flashers220 2 Superdog Flashers · 53 Superdog Lamp220 2 Superdog Flashers · 53 Superdog Lamp23 3 Red Flashers23 3 Red Flashers23 3 Red Flashers24 3 Clear Flashers24 3 Clear Flashers24 3 Clear Flashers11 Gangway 75,00012 Gangway 100,00013 Gangway 150,00014 Gangway 200,00015 Gangway 250,00016 Gangway Lights Extra Ball17 Shoot Again18 Steps Open (Gate)21 Clock 45 Minutes22 Clock 8 O'Clock23 Clock 6 O'Clock24 Clock 25 Minutes25 Clock 15 Minutes26 Clock 10 Minutes27 Clock 12 Minutes31 Clock 40 Minutes32 Clock 35 Minutes33 Clock 30 Minutes34 Clock 20 Minutes35 Clock 3 O'Clock36 Clock 1 O'Clock37 Clock 11 O'Clock38 Clock 50 Minutes41 Clock 9 O'Clock42 Clock 7 O'Clock43 Clock 5 O'Clock44 Clock 4 O'Clock45 Clock 2 O'Clock46 Clock 5 Minutes47 Clock 55 Minutes48 Clock 10 O'Clock54 Steps Lights Frenzy55 Steps Lights Ex. Ball56 Steps 500,00058 Rt. Gangway Overhead Lamp61 Rt. Flipper Lanes61 Rt. Flipper Lanes62 S-T-E-P "S"63 Trap Door Bonus64 Ramp Scores 250,00065 S-T-E-P "T"66 Upper Lt. Gangway Lane67 Extra Ball Lamp68 Lock671 Magic Mirror Lights Ex. Ball · 74 Magic Mirror Lights Million · 75 Magic Mirror Lights Jet Bumper · 76 Magic Mirror Lights Superdog · 77 Magic Mirror Opens Gate · 78 Magic Mirror Lights Quick Multi-ball73 S-T-E-P "P"81 Million Plus82 Special Outlanes82 Special Outlanes83 Trap Door Frenzy84 Ramp "Steps" Lamp85 Magic Mirror Arrow86 S-T-E-P "E"87 Million1 Rudy G.I.1 Rudy G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.2 Upper/Rear Playfield G.I.4 Lower Playfield G.I.4 Lower Playfield G.I.24 Lower Playfield G.I. · 4 Lower Playfield G.I.4 Lower Playfield G.I.24 Lower Playfield G.I. · 4 Lower Playfield G.I.4 Lower Playfield G.I.4 Lower Playfield G.I.4 Lower Playfield G.I.4 Lower Playfield G.I.4 Lower Playfield G.I.4 Lower Playfield G.I.4 Lower Playfield G.I.

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 playfield112
  • sensorsenses the ball47
  • effectmoves the ball21
  • nStackseveral devices in one spot21
140 devices shown

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

Completion94%

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
validated
Mechanisms
validated
Variant Coverage
validated
Recreation Knowledge
validated
Still missing · 1
Spatial Placement

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-Alpha CPU board
validated
2
Center Coin Chute
Button
switch.cabinet-2
cabinet.coin.2
J205-2Orange-Red
WPC-Alpha CPU board
validated
3
Right Coin Chute
Button
switch.cabinet-3
cabinet.coin.3
J205-3Orange-Black
WPC-Alpha CPU board
validated
4
4th Coin Chute
Button
switch.cabinet-4
cabinet.coin.4
J205-4Orange-Yellow
WPC-Alpha CPU board
validated
5
Service Credits / Escape
Button
switch.cabinet-5
service.escape
J205-6Orange-Green
WPC-Alpha CPU board
validated
6
Volume Down / Down
Button
switch.cabinet-6
service.down
J205-7Orange-Blue
WPC-Alpha CPU board
validated
7
Volume Up / Up
Button
switch.cabinet-7
service.up
J205-8Orange-Violet
WPC-Alpha CPU board
validated
8
Begin Test / Enter
Button
switch.cabinet-8
service.enter
J205-9Orange-Gray
WPC-Alpha CPU board
validated
11
Right Flipper
Leaf
switch.matrix-11
flipper.lower.right.button-matrix-copy
J207-1Green-Brown
J209-1White-Brown
WPC-Alpha CPU board
validated
12
Left Flipper
Leaf
switch.matrix-12
flipper.left.button-matrix-copy
J207-1Green-Brown
J209-2White-Red
WPC-Alpha CPU board
validated
13
Start Button
Button
switch.matrix-13
cabinet.start
J207-1Green-Brown
J209-3White-Orange
WPC-Alpha CPU board
validated
14
Plumb Bob Tilt
Tilt
switch.matrix-14
cabinet.tilt
J207-1Green-Brown
J209-4White-Yellow
WPC-Alpha CPU board
validated
15
Steps Lights Frenzy
Microswitch
switch.matrix-15
J207-1Green-Brown
J209-5White-Green
WPC-Alpha CPU board
validated
16
Upper Ramp Switch
Microswitch
switch.matrix-16
J207-1Green-Brown
J209-7White-Blue
WPC-Alpha CPU board
validated
17
S-T-E-P "S"
Microswitch
switch.matrix-17
J207-1Green-Brown
J209-8White-Violet
WPC-Alpha CPU board
validated
18
Left Jet Bumper
Other
switch.matrix-18
J207-1Green-Brown
J209-9White-Gray
WPC-Alpha CPU board
validated
21
Slam Tilt
Leaf
switch.matrix-21
cabinet.slam-tilt
J207-2Green-Red
J209-1White-Brown
WPC-Alpha CPU board
validated
22
Front Door
Microswitch
switch.matrix-22
cabinet.coin-door
J207-2Green-Red
J209-2White-Red
WPC-Alpha CPU board
validated
23
Not Used Matrix Position 23
switch.matrix-23
J207-2Green-Red
J209-3White-Orange
WPC-Alpha CPU board
validated
25
Lock Mech Right
Microswitch
switch.matrix-25
J207-2Green-Red
J209-5White-Green
WPC-Alpha CPU board
validated
26
Steps Lights Ex. Ball
Microswitch
switch.matrix-26
J207-2Green-Red
J209-7White-Blue
WPC-Alpha CPU board
validated
27
Lock Mech Center
Microswitch
switch.matrix-27
J207-2Green-Red
J209-8White-Violet
WPC-Alpha CPU board
validated
28
Lock Mech Left
Microswitch
switch.matrix-28
J207-2Green-Red
J209-9White-Gray
WPC-Alpha CPU board
validated
31
S-T-E-P "P"
Microswitch
switch.matrix-31
J207-3Green-Orange
J209-1White-Brown
WPC-Alpha CPU board
validated
32
Top Superdog Standup Target
Microswitch
switch.matrix-32
J207-3Green-Orange
J209-2White-Red
WPC-Alpha CPU board
validated
33
Lt. Gangway Rollunder
Microswitch
switch.matrix-33
J207-3Green-Orange
J209-3White-Orange
WPC-Alpha CPU board
validated
34
Bottom Superdog Standup Target
Microswitch
switch.matrix-34
J207-3Green-Orange
J209-4White-Yellow
WPC-Alpha CPU board
validated
35
Steps Track Lower
Microswitch
switch.matrix-35
J207-3Green-Orange
J209-5White-Green
WPC-Alpha CPU board
validated
36
Steps 500,000
Microswitch
switch.matrix-36
J207-3Green-Orange
J209-7White-Blue
WPC-Alpha CPU board
validated
37
Center Superdog Standup Target
Microswitch
switch.matrix-37
J207-3Green-Orange
J209-8White-Violet
WPC-Alpha CPU board
validated
38
Steps Track Upper
Microswitch
switch.matrix-38
J207-3Green-Orange
J209-9White-Gray
WPC-Alpha CPU board
validated
41
Left Slingshot
Leaf
switch.matrix-41
J207-4Green-Yellow
J209-1White-Brown
WPC-Alpha CPU board
validated
42
Lt. Flipper Return Lane
Microswitch
switch.matrix-42
J207-4Green-Yellow
J209-2White-Red
WPC-Alpha CPU board
validated
43
Left Outlane
Microswitch
switch.matrix-43
J207-4Green-Yellow
J209-3White-Orange
WPC-Alpha CPU board
validated
44
Wind Tunnel Hole
Microswitch
switch.matrix-44
J207-4Green-Yellow
J209-4White-Yellow
WPC-Alpha CPU board
validated
45
Trap Door Open
Microswitch
switch.matrix-45
J207-4Green-Yellow
J209-5White-Green
WPC-Alpha CPU board
validated
46
Rudy Hideout Kickbig
Microswitch
switch.matrix-46
J207-4Green-Yellow
J209-7White-Blue
WPC-Alpha CPU board
validated
47
Left Ballshooter
Microswitch
switch.matrix-47
J207-4Green-Yellow
J209-8White-Violet
WPC-Alpha CPU board
validated
48
Ramp Exit Track
Microswitch
switch.matrix-48
J207-4Green-Yellow
J209-9White-Gray
WPC-Alpha CPU board
validated
51
Dummy JawNC
Opto
switch.matrix-51
J207-5Green-Black
J209-1White-Brown
WPC-Alpha CPU board
validated
52
Right Outlane
Microswitch
switch.matrix-52
J207-5Green-Black
J209-2White-Red
WPC-Alpha CPU board
validated
53
Right Slingshot
Leaf
switch.matrix-53
J207-5Green-Black
J209-3White-Orange
WPC-Alpha CPU board
validated
54
S-T-E-P "T"
Microswitch
switch.matrix-54
J207-5Green-Black
J209-4White-Yellow
WPC-Alpha CPU board
validated
55
Steps SuperdogNC
Opto
switch.matrix-55
J207-5Green-Black
J209-5White-Green
WPC-Alpha CPU board
validated
56
Ramp Entrance
Microswitch
switch.matrix-56
J207-5Green-Black
J209-7White-Blue
WPC-Alpha CPU board
validated
57
Jet Bumper Lane
Microswitch
switch.matrix-57
J207-5Green-Black
J209-8White-Violet
WPC-Alpha CPU board
validated
58
Tunnel Kickout
Microswitch
switch.matrix-58
J207-5Green-Black
J209-9White-Gray
WPC-Alpha CPU board
validated
61
Rt. Inside Return Lane
Microswitch
switch.matrix-61
J207-6Green-Blue
J209-1White-Brown
WPC-Alpha CPU board
validated
62
Right Ballshooter
Microswitch
switch.matrix-62
J207-6Green-Blue
J209-2White-Red
WPC-Alpha CPU board
validated
63
Right Trough
Microswitch
switch.matrix-63
J207-6Green-Blue
J209-3White-Orange
WPC-Alpha CPU board
validated
64
S-T-E-P "E"
Microswitch
switch.matrix-64
J207-6Green-Blue
J209-4White-Yellow
WPC-Alpha CPU board
validated
65
Dummy Eject Hole
Microswitch
switch.matrix-65
J207-6Green-Blue
J209-5White-Green
WPC-Alpha CPU board
validated
66
Right Gangway Lane
Microswitch
switch.matrix-66
J207-6Green-Blue
J209-7White-Blue
WPC-Alpha CPU board
validated
67
Lower Right Drop Hole
Microswitch
switch.matrix-67
J207-6Green-Blue
J209-8White-Violet
WPC-Alpha CPU board
validated
68
Lower Jet Bumper
Other
switch.matrix-68
J207-6Green-Blue
J209-9White-Gray
WPC-Alpha CPU board
validated
71
Rt. Outside Return Lane
Microswitch
switch.matrix-71
J207-7Green-Violet
J209-1White-Brown
WPC-Alpha CPU board
validated
72
Left Trough
Microswitch
switch.matrix-72
J207-7Green-Violet
J209-2White-Red
WPC-Alpha CPU board
validated
73
Outhole
Microswitch
switch.matrix-73
J207-7Green-Violet
J209-3White-Orange
WPC-Alpha CPU board
validated
74
Center Trough
Microswitch
switch.matrix-74
J207-7Green-Violet
J209-4White-Yellow
WPC-Alpha CPU board
validated
75
Upper Right Loop
Microswitch
switch.matrix-75
J207-7Green-Violet
J209-5White-Green
WPC-Alpha CPU board
validated
76
Trap Door Closed
Microswitch
switch.matrix-76
J207-7Green-Violet
J209-7White-Blue
WPC-Alpha CPU board
validated
77
Right Jet Bumper
Other
switch.matrix-77
J207-7Green-Violet
J209-8White-Violet
WPC-Alpha CPU board
validated
78
Not Used Matrix Position 78
switch.matrix-78
J207-7Green-Violet
J209-9White-Gray
WPC-Alpha CPU board
validated
81
Not Used Matrix Position 81
switch.matrix-81
J207-8Green-Gray
J209-1White-Brown
WPC-Alpha CPU board
validated
82
Not Used Matrix Position 82
switch.matrix-82
J207-8Green-Gray
J209-2White-Red
WPC-Alpha CPU board
validated
83
Not Used Matrix Position 83
switch.matrix-83
J207-8Green-Gray
J209-3White-Orange
WPC-Alpha CPU board
validated
84
Not Used Matrix Position 84
switch.matrix-84
J207-8Green-Gray
J209-4White-Yellow
WPC-Alpha CPU board
validated
85
Not Used Matrix Position 85
switch.matrix-85
J207-8Green-Gray
J209-5White-Green
WPC-Alpha CPU board
validated
86
Not Used Matrix Position 86
switch.matrix-86
J207-8Green-Gray
J209-7White-Blue
WPC-Alpha CPU board
validated
87
Not Used Matrix Position 87
switch.matrix-87
J207-8Green-Gray
J209-8White-Violet
WPC-Alpha CPU board
validated
88
Not Used Matrix Position 88
switch.matrix-88
J207-8Green-Gray
J209-9White-Gray
WPC-Alpha CPU board
validated
111
Unused Generic Flipper Input 111
Other
switch.generic-111
validated
112
Generic Right Flipper Button State
Button
switch.generic-112
flipper.lower.right.button
validated
113
Unused Generic Flipper Input 113
Other
switch.generic-113
validated
114
Generic Left Flipper Button State
Button
switch.generic-114
flipper.left.button
validated
115
Unused Generic Flipper Input 115
Other
switch.generic-115
validated
116
Unused Generic Flipper Input 116
Other
switch.generic-116
validated
117
Unused Generic Flipper Input 117
Other
switch.generic-117
validated
118
Unused Generic Flipper Input 118
Other
switch.generic-118
validated

Controlled devices

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

Coils, magnets & motors

23
23 shown
# Name Device ID Kind Role Wiring Evidence
1
Outhole
device.outhole Coil
Q82
WPC-Alpha power driver board
validated
2
Ramp Diverter
device.ramp-diverter Coil
Q80
WPC-Alpha power driver board
validated
3
Kickbig
device.kickbig Coil
Q78
WPC-Alpha power driver board
validated
4
Tunnel Kickbig
device.tunnel-kickbig Coil
Q76
WPC-Alpha power driver board
validated
5
Trap Door Open
device.trap-door-open Coil
Q64
WPC-Alpha power driver board
validated
6
Trap Door Closed
device.trap-door-closed Coil
Q66
WPC-Alpha power driver board
validated
7
Knocker
device.knocker Coil
cabinet.knocker
Q68
WPC-Alpha power driver board
validated
8
Multi-ball Release
device.multi-ball-release Coil
Q70
WPC-Alpha power driver board
validated
9
Left Jet Bumper
device.left-jet-bumper Coil
Q58
WPC-Alpha power driver board
validated
10
Right Jet Bumper
device.right-jet-bumper Coil
Q56
WPC-Alpha power driver board
validated
11
Lower Jet Bumper
device.lower-jet-bumper Coil
Q54
WPC-Alpha power driver board
validated
12
Left Slingshot
device.left-slingshot Coil
Q52
WPC-Alpha power driver board
validated
13
Right Slingshot
device.right-slingshot Coil
Q50
WPC-Alpha power driver board
validated
14
Steps Gate
device.steps-gate Coil
Q48
WPC-Alpha power driver board
validated
15
Trough
device.trough Coil
Q46
WPC-Alpha power driver board
validated
16
Dummy Eject Hole
device.dummy-eject-hole Coil
Q44
WPC-Alpha power driver board
validated
21
Mouth Motor
device.mouth-motor Motor
validated
22
Up/Down Driver
device.up-down-driver Motor
validated
25
Eyes Right
device.eyes-right Coil
validated
26
Eyelids Open
device.eyelids-open Coil
validated
27
Eyelids Close
device.eyelids-close Coil
validated
28
Eyes Left
device.eyes-left Coil
validated
31
Game-On Solenoid Relay
device.game-on-solenoid-relay Relay
internal.wpc-statecabinet.game-on-relay
validated

Flashers

6
6 shown
# Name Device ID Evidence
17
3 Blue Flashers
device.3-blue-flashers validated
18
Dummy Flashers
device.dummy-flashers validated
19
2 Clock Flashers
device.2-clock-flashers validated
20
2 Superdog Flashers
device.2-superdog-flashers validated
23
3 Red Flashers
device.3-red-flashers validated
24
3 Clear Flashers
device.3-clear-flashers 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
Gangway 75,000
lamp.matrix-11
Q98 column driver with Q90 row driver
WPC-Alpha power driver board
validated
12
Gangway 100,000
lamp.matrix-12
Q98 column driver with Q89 row driver
WPC-Alpha power driver board
validated
13
Gangway 150,000
lamp.matrix-13
Q98 column driver with Q88 row driver
WPC-Alpha power driver board
validated
14
Gangway 200,000
lamp.matrix-14
Q98 column driver with Q87 row driver
WPC-Alpha power driver board
validated
15
Gangway 250,000
lamp.matrix-15
Q98 column driver with Q86 row driver
WPC-Alpha power driver board
validated
16
Gangway Lights Extra Ball
lamp.matrix-16
Q98 column driver with Q85 row driver
WPC-Alpha power driver board
validated
17
Shoot Again
lamp.matrix-17
Q98 column driver with Q84 row driver
WPC-Alpha power driver board
validated
18
Steps Open (Gate)
lamp.matrix-18
Q98 column driver with Q83 row driver
WPC-Alpha power driver board
validated
21
Clock 45 Minutes
lamp.matrix-21
Q97 column driver with Q90 row driver
WPC-Alpha power driver board
validated
22
Clock 8 O'Clock
lamp.matrix-22
Q97 column driver with Q89 row driver
WPC-Alpha power driver board
validated
23
Clock 6 O'Clock
lamp.matrix-23
Q97 column driver with Q88 row driver
WPC-Alpha power driver board
validated
24
Clock 25 Minutes
lamp.matrix-24
Q97 column driver with Q87 row driver
WPC-Alpha power driver board
validated
25
Clock 15 Minutes
lamp.matrix-25
Q97 column driver with Q86 row driver
WPC-Alpha power driver board
validated
26
Clock 10 Minutes
lamp.matrix-26
Q97 column driver with Q85 row driver
WPC-Alpha power driver board
validated
27
Clock 12 Minutes
lamp.matrix-27
Q97 column driver with Q84 row driver
WPC-Alpha power driver board
validated
28
Clock 0 Minutes
lamp.matrix-28
Q97 column driver with Q83 row driver
WPC-Alpha power driver board
validated
31
Clock 40 Minutes
lamp.matrix-31
Q96 column driver with Q90 row driver
WPC-Alpha power driver board
validated
32
Clock 35 Minutes
lamp.matrix-32
Q96 column driver with Q89 row driver
WPC-Alpha power driver board
validated
33
Clock 30 Minutes
lamp.matrix-33
Q96 column driver with Q88 row driver
WPC-Alpha power driver board
validated
34
Clock 20 Minutes
lamp.matrix-34
Q96 column driver with Q87 row driver
WPC-Alpha power driver board
validated
35
Clock 3 O'Clock
lamp.matrix-35
Q96 column driver with Q86 row driver
WPC-Alpha power driver board
validated
36
Clock 1 O'Clock
lamp.matrix-36
Q96 column driver with Q85 row driver
WPC-Alpha power driver board
validated
37
Clock 11 O'Clock
lamp.matrix-37
Q96 column driver with Q84 row driver
WPC-Alpha power driver board
validated
38
Clock 50 Minutes
lamp.matrix-38
Q96 column driver with Q83 row driver
WPC-Alpha power driver board
validated
41
Clock 9 O'Clock
lamp.matrix-41
Q95 column driver with Q90 row driver
WPC-Alpha power driver board
validated
42
Clock 7 O'Clock
lamp.matrix-42
Q95 column driver with Q89 row driver
WPC-Alpha power driver board
validated
43
Clock 5 O'Clock
lamp.matrix-43
Q95 column driver with Q88 row driver
WPC-Alpha power driver board
validated
44
Clock 4 O'Clock
lamp.matrix-44
Q95 column driver with Q87 row driver
WPC-Alpha power driver board
validated
45
Clock 2 O'Clock
lamp.matrix-45
Q95 column driver with Q86 row driver
WPC-Alpha power driver board
validated
46
Clock 5 Minutes
lamp.matrix-46
Q95 column driver with Q85 row driver
WPC-Alpha power driver board
validated
47
Clock 55 Minutes
lamp.matrix-47
Q95 column driver with Q84 row driver
WPC-Alpha power driver board
validated
48
Clock 10 O'Clock
lamp.matrix-48
Q95 column driver with Q83 row driver
WPC-Alpha power driver board
validated
51
Lower Jet Bumper
lamp.matrix-51
Q94 column driver with Q90 row driver
WPC-Alpha power driver board
validated
52
Upper Jet Bumper
lamp.matrix-52
Q94 column driver with Q89 row driver
WPC-Alpha power driver board
validated
53
Superdog Lamp
lamp.matrix-53
Q94 column driver with Q88 row driver
WPC-Alpha power driver board
validated
54
Steps Lights Frenzy
lamp.matrix-54
Q94 column driver with Q87 row driver
WPC-Alpha power driver board
validated
55
Steps Lights Ex. Ball
lamp.matrix-55
Q94 column driver with Q86 row driver
WPC-Alpha power driver board
validated
56
Steps 500,000
lamp.matrix-56
Q94 column driver with Q85 row driver
WPC-Alpha power driver board
validated
57
Ramp Overhead Lamp
lamp.matrix-57
Q94 column driver with Q84 row driver
WPC-Alpha power driver board
validated
58
Rt. Gangway Overhead Lamp
lamp.matrix-58
Q94 column driver with Q83 row driver
WPC-Alpha power driver board
validated
61
Rt. Flipper Lanes
lamp.matrix-61
Q93 column driver with Q90 row driver
WPC-Alpha power driver board
validated
62
S-T-E-P "S"
lamp.matrix-62
Q93 column driver with Q89 row driver
WPC-Alpha power driver board
validated
63
Trap Door Bonus
lamp.matrix-63
Q93 column driver with Q88 row driver
WPC-Alpha power driver board
validated
64
Ramp Scores 250,000
lamp.matrix-64
Q93 column driver with Q87 row driver
WPC-Alpha power driver board
validated
65
S-T-E-P "T"
lamp.matrix-65
Q93 column driver with Q86 row driver
WPC-Alpha power driver board
validated
66
Upper Lt. Gangway Lane
lamp.matrix-66
Q93 column driver with Q85 row driver
WPC-Alpha power driver board
validated
67
Extra Ball Lamp
lamp.matrix-67
Q93 column driver with Q84 row driver
WPC-Alpha power driver board
validated
68
Lock
lamp.matrix-68
Q93 column driver with Q83 row driver
WPC-Alpha power driver board
validated
71
Magic Mirror Lights Ex. Ball
lamp.matrix-71
Q92 column driver with Q90 row driver
WPC-Alpha power driver board
validated
72
Upper Rt. Jet Bumper
lamp.matrix-72
Q92 column driver with Q89 row driver
WPC-Alpha power driver board
validated
73
S-T-E-P "P"
lamp.matrix-73
Q92 column driver with Q88 row driver
WPC-Alpha power driver board
validated
74
Magic Mirror Lights Million
lamp.matrix-74
Q92 column driver with Q87 row driver
WPC-Alpha power driver board
validated
75
Magic Mirror Lights Jet Bumper
lamp.matrix-75
Q92 column driver with Q86 row driver
WPC-Alpha power driver board
validated
76
Magic Mirror Lights Superdog
lamp.matrix-76
Q92 column driver with Q85 row driver
WPC-Alpha power driver board
validated
77
Magic Mirror Opens Gate
lamp.matrix-77
Q92 column driver with Q84 row driver
WPC-Alpha power driver board
validated
78
Magic Mirror Lights Quick Multi-ball
lamp.matrix-78
Q92 column driver with Q83 row driver
WPC-Alpha power driver board
validated
81
Million Plus
lamp.matrix-81
Q91 column driver with Q90 row driver
WPC-Alpha power driver board
validated
82
Special Outlanes
lamp.matrix-82
Q91 column driver with Q89 row driver
WPC-Alpha power driver board
validated
83
Trap Door Frenzy
lamp.matrix-83
Q91 column driver with Q88 row driver
WPC-Alpha power driver board
validated
84
Ramp "Steps" Lamp
lamp.matrix-84
Q91 column driver with Q87 row driver
WPC-Alpha power driver board
validated
85
Magic Mirror Arrow
lamp.matrix-85
Q91 column driver with Q86 row driver
WPC-Alpha power driver board
validated
86
S-T-E-P "E"
lamp.matrix-86
Q91 column driver with Q85 row driver
WPC-Alpha power driver board
validated
87
Million
lamp.matrix-87
Q91 column driver with Q84 row driver
WPC-Alpha power driver board
validated
88
Start Button
lamp.matrix-88
cabinet.start
Q91 column driver with Q83 row driver
WPC-Alpha power driver board
validated

General illumination

5
5 shown
# Name Device ID Role Wiring Evidence
0
Upper Backglass G.I.
gi.string-0
cabinet.backglass
Q18Brown
WPC-Alpha power driver board
validated
1
Rudy G.I.
gi.string-1
Q10Violet
WPC-Alpha power driver board
validated
2
Upper/Rear Playfield G.I.
gi.string-2
Q14Yellow
WPC-Alpha power driver board
validated
3
Center Backglass / Right Rear Playfield G.I.
gi.string-3
cabinet.backglassplayfield.general-illumination
Q16Orange
WPC-Alpha power driver board
validated
4
Lower Playfield G.I.
gi.string-4
Q12Green
WPC-Alpha power driver board
validated

Virtual & other outputs

21
21 shown
# Name Device ID Role Evidence
29
WPC J111 State 29
device.wpc-j111-state-29
internal.wpc-state
validated
30
WPC J111 State 30
device.wpc-j111-state-30
internal.wpc-state
validated
32
Unused WPC State Output 32
device.unused-wpc-state-output-32
internal.unused.wpc-output
validated
33
Unused WPC Output 33
device.unused-wpc-output-33
internal.unused-platform-slot
validated
34
Unused WPC Output 34
device.unused-wpc-output-34
internal.unused-platform-slot
validated
35
Unused WPC Output 35
device.unused-wpc-output-35
internal.unused-platform-slot
validated
36
Unused WPC Output 36
device.unused-wpc-output-36
internal.unused-platform-slot
validated
37
Unused WPC Output 37
device.unused-wpc-output-37
internal.unused-platform-slot
validated
38
Unused WPC Output 38
device.unused-wpc-output-38
internal.unused-platform-slot
validated
39
Unused WPC Output 39
device.unused-wpc-output-39
internal.unused-platform-slot
validated
40
Unused WPC Output 40
device.unused-wpc-output-40
internal.unused-platform-slot
validated
41
Unused WPC Output 41
device.unused-wpc-output-41
internal.unused-platform-slot
validated
42
Unused WPC Output 42
device.unused-wpc-output-42
internal.unused-platform-slot
validated
43
Unused WPC Output 43
device.unused-wpc-output-43
internal.unused-platform-slot
validated
44
Unused WPC Output 44
device.unused-wpc-output-44
internal.unused-platform-slot
validated
45
Synthetic Lower Right Flipper Power
device.synthetic-lower-right-flipper-power
internal.synthetic-flipper
validated
46
Synthetic Lower Right Flipper
device.synthetic-lower-right-flipper
internal.synthetic-flipperflipper.lower.right
validated
47
Synthetic Left Flipper Power
device.synthetic-left-flipper-power
internal.synthetic-flipper
validated
48
Synthetic Left Flipper
device.synthetic-left-flipper
internal.synthetic-flipperflipper.lower.leftflipper.upper.left
validated
49
PinMAME Simulator Ball-Shooter Channel
device.pinmame-simulator-ball-shooter
internal.simulator-ball-shooter
validated
50
Unassigned Solenoid Slot 50
device.unassigned-solenoid-slot-50
internal.unused-platform-slot
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
Test Position (Always Closed)
Other
switch.matrix-24 Constant
J207-2Green-Red
J209-4White-Yellow
WPC-Alpha CPU board
validated

Mechanisms

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

Rudy's motorized jaw

mechanism.rudy-jaw

Motorized

A DC gearmotor (A-13997 Jaw Motor Assembly) drives Rudy's jaw open and closed through a worm gear/sector pair (Jaw Drive Assembly A-13752), not a coil stroke. Pinned fh_handleMech: if the jaw is open and solenoid 21 (Mouth Motor) is energized while solenoid 22 (Up/Down Driver) is not, the jaw closes; if the jaw is closed and both 21 and 22 are energized together, the jaw opens. Dummy Jaw opto 51 senses a ball landing in Rudy's open mouth (printed opto, normalized by PinMAME's inverted-switch mask).

Rudy's eyes

mechanism.rudy-eyes

Motorized

Four independent drive lines on Rudy's Head Assembly. Eyelids open (solenoid 26) and close (solenoid 27) latch a persistent open/closed state; eyes right (25) and eyes left (28) are read as momentary position signals each mechanics tick, with neither held meaning the eyes rest straight ahead. Pinned fh_handleMech tracks both the open/closed latch and the left/right/straight position independently. There is no dedicated switch for eye position or eyelid state; it is purely a scored callback effect with no sensor feedback to the controller.

Trap door

mechanism.trap-door

Gate

Solenoid 5 opens and solenoid 6 closes a trap door in the upper-right loop path. Pinned fh_handleMech and the retained script's TrapMover_Timer both derive Trap Door Closed switch 76 directly from the door's own rotation angle rather than reading a separate contact switch -- the retained script sets Controller.Switch(76)=1 once the door primitive's RotX falls to 90 degrees (closed) and clears it back to 0 once the door opens past 90 degrees. Upper Right Loop switch 75 senses a ball taking the loop shot when the door is closed, and the printed manual documents a scoring loop feature (Trap Door Bonus lamp 63, Trap Door Frenzy lamp 83) tied to whether the door is open when a ball reaches it.

Left outlane step gate

mechanism.step-gate

Gate

Solenoid 14 (printed "Steps Gate"; the retained script's own comment calls it the "Steps shooter lane diverter") opens a gate that reroutes a ball in the left outlane back to the left ballshooter lane (switch 47) instead of draining, functioning as a kickback-style save feature gated by whatever awards the STEP letters. Pinned fh_handleMech holds the gate open for a fixed 50-tick timer after the solenoid fires, then auto-closes it; there is no separate open/closed sensor switch for the gate itself.

Drives

Upper ramp/Steps track diverter

mechanism.ramp-diverter

Diverter

Solenoid 2 diverts a ball on the upper ramp between the Steps track (S-T-E-P letters, switches 17/31/54/64/86/73) and the main upper-ramp path (Upper Ramp Switch 16, Steps Track Lower/Upper 35/38, Ramp Exit Track 48, Ramp Entrance 56). Pinned fh_handleMech asserts the diverter open for a fixed 25-tick window after the solenoid fires (matching the printed "Ramp Diverter" high-power coil, AE-26-1200) and auto-closes it afterward; there is no separate diverter-position sensor switch.

Ball trough, outhole, and dual shooter lanes

mechanism.trough-and-shooters

Kicker

FunHouse has two manual shooter lanes (left, switch 47; right, switch 62) feeding a shared trough. Solenoid 1 (Outhole) kicks a drained ball into the trough; solenoid 15 (Trough, retained script comment "Main trough kickout") ejects a trough ball back to a shooter lane. Trough positions are Left Trough (72), Center Trough (74), and Right Trough (63). The handbook places 63 at the rightmost trough position, and the retained script asserts it on the ballrelease kicker until solenoid 15 ejects that ball into a shooter lane.

Tunnel kickout hole

mechanism.tunnel-kickout

Kicker

A ball resting on opto-free microswitch 58 (Tunnel Kickout) is kicked back to the playfield by solenoid 4 (printed "Tunnel Kickbig"). The retained script's SolKickout handler fires two physical kicker objects in sequence (a primary kick followed by a delayed second-chute kick), consistent with the tunnel's own captive ball-return geometry rather than a single simple saucer.

Rudy's Hideout kickback

mechanism.rudys-hideout

Kicker

A ball landing behind Rudy's head (Rudy Hideout Kickbig switch 46, a skill-shot landing spot per the printed player rules) is returned to play by solenoid 3.

Dummy eject hole

mechanism.dummy-eject-hole

Kicker

A separate saucer near Rudy's head (Dummy Eject Hole switch 65) is kicked back to play by solenoid 16 (retained script comment "Rudy's mouth kickout", though it is a distinct switch and coil from the jaw mechanism proper).

Three-ball lock and multi-ball release

mechanism.multiball-lock

Kicker

Three lock switches (Lock Mech Right 25, Lock Mech Center 27, Lock Mech Left 28) share one printed 3-Switch Assembly (A-14138). The retained script's MBRelease handler fires solenoid 8, drops the WaSw28 lock wall, and rotates a release object to feed all locked balls to the trough together for multi-ball.

Left and right slingshots

mechanism.slingshots

Other

Each slingshot (printed "Kicker" on the solenoid table, "(sling) Kicker"/"Slingshot (Kicker)" on the switch tables) fires its own coil on the same event. The retained script's LeftSlingShot_Slingshot and RightSlingShot_Slingshot handlers pulse matrix addresses 41 and 53 and fire coils 12/13 together.

Three direct-wired flippers with two synthetic PinMAME states

mechanism.flippers

Other

FunHouse is a pre-Fliptronics WPC-Alpha machine: fhGameData declares FLIP_SWNO(12,11) (flipper switches only) with no FLIP_SOL() call, so no public address represents a CPU-controlled physical flipper driver. PinMAME nevertheless fabricates public states 45-48 from the live button inputs while the Game-On relay is enabled; retained callbacks sLRFlipper (46) and sLLFlipper (48) use those synthetic states to animate the digital flippers. SolLFlipper rotates both LeftFlipper and LeftFlipper1. The handbook's coil inventory and the printed Flipper Circuits wiring page confirm three fitted physical assemblies: lower right FL-11630, lower left FL-11630, and upper left FL-11753; the upper-right board position is unfitted. They are wired through a dedicated flipper driver board (J109/J110) directly to the flipper buttons and end-of-stroke switches, entirely separate from the CPU-addressable solenoid matrix (1-50). Generic public inputs 112 and 114 represent the cabinet buttons; core_updateSw copies them to ordinary matrix inputs 11 and 12 for the ROM. Neither 11 nor 12 is a playfield EOS contact. The one left button and synthetic left state drive both fitted left bats, and states 45-48 must not be recreated as four additional coils.

Recreation notes

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

Physical machine ID: williams.funhouse.1990. FunHouse is a Williams WPC-Alpha machine with two sixteen-character alphanumeric displays. It predates Fliptronics: the physical flipper coils are direct-wired through a dedicated flipper driver board, while PinMAME publishes synthetic button-driven states for digital flipper animation.

Identity and driver family

Pinned PinMAME's fh_l9 clone tree has sixteen drivers: production parent fh_l9 plus fifteen firmware revisions, LED ghost-fix variants, translation/rules modifications, FreeWPC firmware, and prototype fh_pa1. All use the same physical playfield and authoring-relevant address inventory.

fh_pa1 uses a distinct GEN_WPCALPHA_1 core_tGameData because the prototype had the earlier System 11 sound subsystem; production drivers use GEN_WPCALPHA_2. The two structs copy the same flipper-switch declaration, mechanisms, lamp-position data, and inverted-switch mask, so this is a controller/sound-generation variant of the same machine rather than another playfield.

The prototype struct also retains gameSpecific1=1, a stale value copied before production FunHouse was corrected to zero. In pinned wpc.c, that flag selects the unrelated WPC_CFTBL chase-light integrator and writes internal PWM lamp slots 65-72 from solenoids 20/24 and G.I. bits 0/3. wpc_init still publishes only 64 lamps because fh_pa1 has lampCol=0, so those internal slots are not an eight-lamp FunHouse extension. They are a pinned-source defect and must not be recreated as physical lamps.

The retained known-working table binds fh_905h at active script line 64. The adjacent fh_905 assignment is commented out. fh_905h is physically identical to the fh_l9 parent.

Controller and public addresses

The record reuses controllers/pinmame/wpc-alpha.json unchanged. It enumerates eight dedicated cabinet inputs, the complete 8×8 switch matrix, all eight public generic-flipper input positions 111-118, eight CPU DIP positions, 50 public solenoid/state positions, the complete 8×8 lamp matrix, five G.I. strings, and both displays. Generic inputs 112 and 114 are live right/left cabinet-button states; the other six positions are explicit unused addresses.

Public outputs 1-28 are the printed coils, motors, and flasher circuits. Addresses 29 and 30 mirror live J111/WPC_GILAMPS state bits. Address 31 is the real pre-Fliptronic Game-On relay whose documented chain runs from CPU board U4/J121 through power-driver J113, the relay, J110, the cabinet switch, and J109 to the flippers. Address 32 is constant zero; 33-44 are unused on this machine/generation; 49 is the live virtual sShooterRel channel consumed by the built-in PinMAME simulator's left- and right-shooter transitions; and 50 is the reserved gap before the custom-output range, which FunHouse does not declare. Address 49 has no physical driver-board circuit.

Physical flippers versus synthetic outputs

fhGameData declares FLIP_SWNO(12,11) and no FLIP_SOL() bits. The handbook lists three fitted assemblies: lower right FL-11630, lower left FL-11630, and upper left FL-11753. The printed flipper-circuit page shows them wired through the dedicated flipper driver board and cabinet buttons, outside the CPU-addressable solenoid matrix; its generic upper-right position is unfitted on FunHouse. Public inputs 112 and 114 are the generic right/left cabinet-button states. core_updateSw copies them to ordinary matrix inputs 11 and 12 for the ROM, so 11/12 are neither playfield coordinates nor EOS contacts.

When the Game-On relay is active, core_updateSw fabricates public states 45-48 from the live flipper buttons because the physical coils are not CPU controlled. Addresses 45/46 represent the same right-side state in power and combined public views, and 47/48 do the same for the left side. The retained script consumes callbacks sLRFlipper (46) and sLLFlipper (48); SolLFlipper rotates both LeftFlipper and LeftFlipper1. A recreation should use 46 for the lower-right bat and 48 for both lower-left and upper-left bats, but must not model 45-48 as four additional physical coils.

Switch matrix and trough

The manual marks exactly two switches (opto): 51 Dummy Jaw and 55 Steps Superdog. Pinned fhGameData's inverted-switch mask sets exactly those two positions (0x11 in column 5), so PinMAME's public polarity is fully normalized with no disagreement.

Switch 63 is Right Trough. The November 1990 handbook places callout 63 at the rightmost trough position, while the retained script's ballrelease_hit asserts Controller.Switch(63) and KickBallToLane kicks the same ballrelease object before clearing it. That kicker supplies the validated position and makes the trough sequence explicit: drained ball at outhole 73, trough positions 72/74/63, then solenoid 15 releases the rightmost ball into a shooter lane.

Rudy comprises separate mechanisms

Rudy's head assembly combines three independent systems:

  1. The jaw uses solenoid 21, a continuously running A-13997 DC gearmotor, and solenoid 22, its direction relay. Pinned fh_handleMech closes the open jaw when 21 is active alone and opens the closed jaw when 21 and 22 are active together. Dummy Jaw opto 51 detects a ball in the mouth.
  2. Solenoids 26 and 27 latch the eyelids open and closed.
  3. Solenoids 25 and 28 move the eyes right and left; neither active means straight ahead.

No separate retained-table object identifies the jaw motor or four eye/eyelid drives apart from the head assembly, so outputs 21, 22, and 25-28 are explicitly projected onto the fixed Dummy Jaw position rather than assigned invented coordinates.

Trap door, gates, locks, and kickouts

Solenoids 5 and 6 open and close the upper-right trap door. The retained script derives switch 76 directly from the door primitive's RotX, asserting it at the closed angle rather than reading a discrete contact object. Switch 75 senses the upper-right loop path next to the door.

Solenoid 2 controls the upper-ramp/Steps-track diverter and automatically returns after the window modeled by fh_handleMech. Solenoid 14 controls the left-outlane Steps gate, rerouting a ball to the left shooter lane as a save feature; it likewise has no separate position sensor.

The three lock sensors 25, 27, and 28 share one A-14138 three-switch assembly. Solenoid 8 releases the locked balls for multiball. Rudy's Hideout uses switch 46 and solenoid 3, while the separate Dummy Eject Hole uses switch 65 and solenoid 16.

The manual really uses Kickbig twice: solenoid 3 is Kickbig and solenoid 4 is Tunnel Kickbig. These are distinct devices, not OCR errors or misspellings to normalize without evidence.

Lamps and flashers

The controlled lamp matrix is fully populated. Addresses 53, 61, and 82 are marked (x 2) and have two spatially distinct physical bulbs. Same-named co-located table objects for 51, 52, and 72 are brightness/render layers around one manual-documented bulb, so each remains quantity one.

Lamp 12 is Gangway 100,000. The original operations manual's lamp matrix, the supplied November 1990 handbook's lamp matrix, and the physical playfield photograph agree; the original manual's isolated Gangway 10,000 lamp-location entry is therefore a resolved one-digit typo. The physical award ladder is 75,000 / 100,000 / 150,000 / 200,000 / 250,000 / Extra Ball.

The November handbook's lamp-location drawing shows Steps lamps 56, 55, and 54 as top, middle, and bottom sockets in one vertical stack. In the retained table, Top_finger_1, Mid_finger_1, and Bot_finger_1 are the five-unit-radius physical hotspots. The _2, _3, and _4 objects are larger rendering layers for the same three inserts and are excluded from quantity and placement counts.

Six printed flasher circuits carry explicit bulb quantities: 17 has three blue bulbs, 18 one Dummy flasher bulb, 19 two Clock bulbs, 20 two Superdog bulbs, 23 three red bulbs, and 24 three clear bulbs. The retained table provides three distinct emitter objects for each of 17, 23, and 24. It abstracts circuit 19's two Clock bulbs into one physical Light fixture, so that circuit preserves the manual's two-socket quantity as explicit co-located placements. Circuit 20 has distinct F20 and F20a Light objects, and the pinned community script assigns both to output 20, so the Superdog bulbs retain separate measured positions.

General illumination

The known-working script is authoritative for runtime semantics. All retained known-working FunHouse scripts examined use the same effective mapping: address 1 drives Rudy, address 2 drives the upper/rear playfield, address 4 drives the lower playfield, and addresses 0 and 3 have no distinct playfield handler. The handbook supplies the exact physical circuit mapping: public 0/printed 01 uses Brown/White-Brown Q18/F10, 1/02 Violet/White-Violet Q10/F6, 2/03 Yellow/White-Yellow Q14/F8, 3/04 Orange/White-Orange Q16/F9, and 4/05 Green/White-Green Q12/F7.

Address 1 has three Rudy sign/shade emitters. GI_Upper's 19 table objects collapse into 15 physical hotspots after co-located brightness layers are clustered; GI_Lower's 45 objects collapse into 14. Every stored coordinate comes from the smallest-radius named object in its cluster, never from an arithmetic centroid. Address 0 is genuinely backglass-only in playfield authoring space. Address 3 is not: the handbook proves printed circuit 04 serves both the center backglass and a right-rear playfield branch. No retained script identifies the individual playfield emitters, so address 3 deliberately has no spatial record rather than a false cabinet-only disposition.

Spatial convention and remaining blocker

Coordinates use the retained table bounds left=0 top=0 right=964 bottom=2162, normalized as x/964 and y/2162, with x=0 left, x=1 right, y=0 rear/backglass, and y=1 apron/player. Cabinet, DIP, constant, unused, and virtual positions carry explicit not-applicable records. Projections are limited to a mechanism's own known object and are enumerated in the spatial audit.

The record remains partial only for spatial placement. Catalog identity, address enumeration, semantic names, polarity/normalization, physical wiring, displays, mechanisms, variants, recreation notes, provenance, and conflicts are validated. Promotion requires a socket-level survey identifying the individual right-rear-playfield emitters on G.I. circuit 04/public address 3; until then, guessing their count or coordinates would make the definition less useful to an author.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
fh_907hFunhouse (9.07H LED Ghost Fix + Ballsaver MOD)
9.07H LED ghost fix plus ball-saver MOD, a community patch of 9.05H; no controller-address or playfield change.
2026fh_l9identical
fh_906hFunhouse (9.06H Coin Play)
9.06H Coin Play game ROM; a later firmware revision of the same physical machine with no controller-address or playfield change.
1996fh_l9identical
fh_905hFunhouse (9.05H)
9.05H game ROM. This is the driver the retained known-working script binds to (Const cGameName="fh_905h"); it drives the identical I/O inventory as L-9.
1996fh_l9identical
fh_l9bFunhouse (L-9, SL-3 Improved German translation MOD)
L-9 with an unofficial improved German translation MOD; no controller-address or playfield change.
1992fh_l9identical
fh_l9Funhouse (L-9, SL-3)
Williams production L-9 game ROM (sound level SL-3) shipped with the physical machine; the switch matrix, lamp matrix, solenoid/flasher table, and playfield hardware are the reference for this definition.
1992identical
fh_d9bFunhouse (D-9, SL-3 Improved German translation MOD LED Ghost Fix)
D-9 with the same unofficial improved German translation MOD and LED ghost fix; no controller-address or playfield change.
1992fh_l9identical
fh_d9Funhouse (D-9, SL-3 LED Ghost Fix)
D-9 game ROM; an LED ghost-fix revision of L-9 with no controller-address or playfield change.
1992fh_l9identical
fh_l5Funhouse (L-5)
L-5 game ROM; no controller-address or playfield change.
1991fh_l9identical

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

Pinball memory maps

External source LGPL-3.0-only4 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.

fh_905h.map.json

williams-wpc-8Kv4format 0.8

maps/williams/wpc/fh_905h.map.json

Applies to ROMs
fh_905hfh_906h
Sections
auditschecksum16checksum8game_statehigh_scores

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

fh_l3.map.json

williams-wpc-8Kv6format 0.8

maps/williams/wpc/fh_l3.map.json

Applies to ROMs
fh_d3fh_l2fh_l3fh_pa1
Sections
auditschecksum16checksum8game_statehigh_scoreslast_played

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

fh_l5.map.json

williams-wpc-8Kv5format 0.8

maps/williams/wpc/fh_l5.map.json

Applies to ROMs
fh_d4fh_d5fh_l4fh_l5
Sections
auditschecksum16checksum8game_statehigh_scoreslast_played

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

fh_l9.map.json

williams-wpc-8Kv4format 0.8

maps/williams/wpc/fh_l9.map.json

Applies to ROMs
fh_d9fh_d9bfh_l9fh_l9b
Sections
auditschecksum16checksum8game_statehigh_scoreslast_played

williams-wpc-8K 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 fh_* clone tree

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • PinMAME source

    BSD-3-Clause

    pinmame.core.4ec52ff0ac13

    Source locations

    src/wpc/sims/wpc/full/fh.c fhGameData GEN_WPCALPHA_2 with wpc_dispAlpha, FLIP_SWNO(12,11) (flipper switches only, no FLIP_SOL -- no CPU-controlled flipper solenoid is declared for this driver), the inverted-switch mask {0x00,0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00} (column 5 = 0x11 = bits 1 and 5 = addresses 51 and 55), swStart/swTilt/swSlamTilt/swCoinDoor dedicated switches, every swXX/sXX #define, fh_handleMech (diverter, step gate, trap door, Rudy jaw/eyes causality), fhpa1GameData (GEN_WPCALPHA_1 prototype variant), and init_fh's driver-name dispatch between the two; src/wpc/wpc.c wpc_dispAlpha layout and GENWPC_HASFLIPTRON/GENWPC_HASDMD exclusion of GEN_WPCALPHA_1/GEN_WPCALPHA_2; src/wpc/core.h CORE_MAXSWCOL=16 (columns 0-9 matrix, 10 coin door, 11 cabinet/flippers), CORE_FIRSTLFLIPSOL/CORE_FIRSTUFLIPSOL/CORE_FIRSTSIMSOL, core_updateSw's generic flipper input column 111-118, matrix copies 112->11 and 114->12, synthetic-flipper fallback, and core_getSol's complete 1-50 public dispatch; fh.c simulator states that consume sShooterRel (CORE_FIRSTSIMSOL=49); src/wpc/wpc.c's WPC_GILAMPS/J111/Game-On mapping, wpc_init public lamp count, and WPC_CFTBL chase-light integration; git history showing the prototype struct added with the copied flag in bc2649ff8fe25699c0c1a7fd21857913cec9c5af and production FunHouse corrected to zero in 1302113d46d00aff945f688d066cca022b8625b2 without updating fhpa1GameData; src/wpc/gen.h GEN_WPCALPHA_1/GEN_WPCALPHA_2 definitions.

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • Human review

    BSD-3-Clause

    controller-profile.pinmame-wpc-alpha

    WPC-Alpha public switch, DIP, solenoid, lamp, and five-GI address rules, reused unchanged for this first WPC-Alpha machine curated in the project

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

    manual.williams.funhouse.1990

    Source locations

    Locally retained 122-page derivative of the Williams FunHouse operations-manual scan from Internet Archive item arcademanual_Funhouse_OPS (details URL above; item uploader manuallibrary@textfiles.com; public date 2017-09-20). Its byte identity is the local SHA-256 recorded here and must not be conflated with a current Archive.org derivative. It has a working but multi-column-scrambled text layer. Printed pages 2-36 through 2-40 carry the lamp/switch/solenoid/G.I. location parts lists and their matrix and wiring tables; printed pages 2-24 and 2-32 carry the Jaw Drive/Eject Assembly and Unique Parts pages that fix Rudy's and the trap door's mechanism construction; Section 3 (printed 3-15 through 3-17) carries the Interboard Wiring switch/lamp/solenoid/G.I./flipper circuit tables.

    by
    Williams Electronics Games, Inc.; scan hosted by the Internet Archive
    sha256
    b658e7d0985a…
  • Human review

    manual-support.williams.funhouse.1990

    Source locations

    Consolidated 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.funhouse.1990/. Duplicates the in-repository evidence excerpts in one document for reviewer convenience.

    external:pinmame-review-artifacts/funhouse/manual-transcription.md
    by
    pinmame-game-defs curation
    rev
    2026-08-07
  • Operator manual

    manual.williams.funhouse.1990.operator-handbook

    Eleven-page November 1990 Williams operator handbook supplied by the maintainer. PDF pages 5-10 contain the solenoid/G.I., lamp, and switch tables and location drawings used to resolve the remaining FunHouse evidence questions.

    external:pinmame-manuals/by-machine/williams.funhouse.1990/maintainer-supplied-2026-08-14/Williams_1990_Funhouse_Operator_s_Handbook_November_1990_OCR_searchable.pdf
    by
    Williams Electronics Games, Inc.; maintainer-supplied scan
    sha256
    bb30eacaac0e…
  • Human review

    photo.williams.funhouse.1990.a13

    Maintainer-supplied 500 by 375 lower-playfield photograph showing the Gangway 100,000 and 200,000 insert legends.

    external:pinmame-manuals/by-machine/williams.funhouse.1990/maintainer-supplied-2026-08-14/funhouse-image-A13.jpg
    by
    Maintainer-supplied photograph; photographer unknown
    sha256
    b56821de487a…
  • VPX table

    vpx-table.fh-1-3

    Retained known-working recreation of the physical machine, version 1.3. Exact playfield bounds are left=0 top=0 right=964 bottom=2162; normalized coordinates are x/964 and y/2162. Geometry authority only for named table objects.

    external:pinmame-vpx-sources/williams/funhouse-1990/source/Funhouse%20%28Williams%201990%29_1.3.vpx
    by
    VPX table authors
    sha256
    69c37fa9a84e…
  • VPX script

    vpx-script.fh-1-3

    Source locations

    Retained embedded script (80,593 bytes). Runtime and mechanism-causality authority: Const cGameName = "fh_905h" (line 64; the commented-out line 63 reads "fh_905" and is not the active binding), the SolCallback table for solenoids 1-8, 14-28, the UpdateLamps per-address light bindings, the UpdateGI/UpdateGI2 G.I. region dispatch (Case 0/1/2/3/4), the trap door TrapMover_Timer state machine (Controller.Switch(76) set from PrTrap.RotX), and the SolCallback(sLRFlipper)/SolCallback(sLLFlipper) registration that consumes PinMAME's synthetic button-driven flipper states because fhGameData declares no FLIP_SOL; SolLFlipper drives both LeftFlipper and LeftFlipper1, independently corroborating the lower-left plus upper-left physical pair.

    external:pinmame-vpx-sources/williams/funhouse-1990/extracted-vpxtool/script.vbslines 64
    by
    table authors
    sha256
    322fba2dec93…
  • VPX script

    vpx-script.funhouse-community-current

    Pinned community script corpus at revision 0c036bb61b4b4e8c778c37559f6795df8cd1521e, lines 2444-2446: output 20 is assigned to the distinct F20 and F20a Light objects (plus render helper f20b).

    github.comlines 2444-2446
    by
    VPX table-script authors
    rev
    0c036bb61b4b
    sha256
    37cf4e41a6dc…
  • VPX table

    vpx-extraction.fh-1-3

    Source locations

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

    external:pinmame-vpx-sources/williams/funhouse-1990/extracted-vpxtool.manifest.json
    by
    vpxtool extraction

Something wrong or missing?

This definition still has 1 unmet requirement, 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