Six-ball trough and eject
mechanism.trough
The retained VPX bsTrough models switches 32-37 as six ball positions and pulses normally-closed opto 31 while solenoid 9 fires the BallRelease kicker. The manual names all seven physical opto positions.
4 ROM sets resolve to this machine. Clones share the definition unless a hardware difference is listed.
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.
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.
143 placements · 16 stacked · normalised player view · outline is nominal
Hover a marker to identify it, or click to keep it selected. Numbered markers are several devices in one spot — clicking lists them.
Not on the playfield18 cabinet or service, 12 virtual, 9 unused, 8 dip switch, 1 constant — declared rather than missing.
Real evidence exists, but authoring requirements are still missing or in conflict. Verify before shipping a table.
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.
The addresses PinMAME reports as closed. Numbers are the public API values, not matrix hardware pins.
Column × row matrix — the address is column·row.
Outside the matrix1, 2, 3, 4, 5, 6, 7, 8 — dedicated, diagnostic or flipper-column addresses. See the table below.
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Left Coin Chute | switch.dedicated-1 | J205-1Orange-Brown WPC-95 CPU board | validated |
| 2 | Center Coin Chute | switch.dedicated-2 | J205-2Orange-Red WPC-95 CPU board | validated |
| 3 | Right Coin Chute | switch.dedicated-3 | J205-3Orange-Black WPC-95 CPU board | validated |
| 4 | 4th Coin Chute | switch.dedicated-4 | J205-4Orange-Yellow WPC-95 CPU board | validated |
| 5 | Service Credits / Escape | switch.dedicated-5 | J205-6Orange-Green WPC-95 CPU board | validated |
| 6 | Volume Down / Down | switch.dedicated-6 | J205-7Orange-Blue WPC-95 CPU board | validated |
| 7 | Volume Up / Up | switch.dedicated-7 | J205-8Orange-Violet WPC-95 CPU board | validated |
| 8 | Begin Test / Enter | switch.dedicated-8 | J205-9Orange-Gray WPC-95 CPU board | validated |
| 11 | Not Used Matrix Position 11 | switch.matrix-11 | validated | |
| 12 | Left Ramp Make | switch.matrix-12 | J206-1Green-Brown J208-2White-Red WPC-95 CPU board | validated |
| 13 | Start Button Button | switch.matrix-13 | J206-1Green-Brown J208-3White-Orange WPC-95 CPU board | validated |
| 14 | Plumb Bob Tilt Tilt | switch.matrix-14 | J206-1Green-Brown J208-4White-Yellow WPC-95 CPU board | validated |
| 15 | Center Ramp Make | switch.matrix-15 | J206-1Green-Brown J208-5White-Green WPC-95 CPU board | validated |
| 16 | Left Outlane | switch.matrix-16 | J206-1Green-Brown J208-7White-Blue WPC-95 CPU board | validated |
| 17 | Right In-Lane | switch.matrix-17 | J206-1Green-Brown J208-8White-Violet WPC-95 CPU board | validated |
| 18 | Shooter Groove | switch.matrix-18 | J206-1Green-Brown J208-9White-Gray WPC-95 CPU board | validated |
| 21 | Slam Tilt Tilt | switch.matrix-21 | J206-2Green-Red J208-1White-Brown WPC-95 CPU board | validated |
| 22 | Coin Door Closed | switch.matrix-22 | J206-2Green-Red J208-2White-Red WPC-95 CPU board | validated |
| 23 | Jet Advance Standup | switch.matrix-23 | J206-2Green-Red J208-3White-Orange WPC-95 CPU board | validated |
| 25 | Underground Pass | switch.matrix-25 | J206-2Green-Red J208-5White-Green WPC-95 CPU board | validated |
| 26 | Left In-Lane | switch.matrix-26 | J206-2Green-Red J208-7White-Blue WPC-95 CPU board | validated |
| 27 | Right Outlane | switch.matrix-27 | J206-2Green-Red J208-8White-Violet WPC-95 CPU board | validated |
| 28 | Kickback | 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 | Trough Ball 5NC Opto | switch.matrix-36 | J206-3Green-Orange J208-7White-Blue WPC-95 CPU board | validated |
| 37 | Trough Ball 6NC Opto | switch.matrix-37 | J206-3Green-Orange J208-8White-Violet WPC-95 CPU board | validated |
| 38 | Jet PopperNC Opto | switch.matrix-38 | J206-3Green-Orange J208-9White-Gray WPC-95 CPU board | validated |
| 41 | Left Gofer DownNC Opto | switch.matrix-41 | J206-4Green-White J208-1White-Brown WPC-95 CPU board | validated |
| 42 | Right Gofer DownNC Opto | switch.matrix-42 | J206-4Green-White J208-2White-Red WPC-95 CPU board | validated |
| 43 | Not Used Matrix Position 43 | switch.matrix-43 | validated | |
| 44 | Putt Out PopperNC Opto | switch.matrix-44 | J206-4Green-White J208-4White-Yellow WPC-95 CPU board | validated |
| 45 | Right Popper JamNC Opto | switch.matrix-45 | J206-4Green-White J208-5White-Green WPC-95 CPU board | validated |
| 46 | Right PopperNC Opto | switch.matrix-46 | J206-4Green-White J208-7White-Blue WPC-95 CPU board | validated |
| 47 | Left Ramp Down | switch.matrix-47 | J206-4Green-White J208-8White-Violet WPC-95 CPU board | validated |
| 48 | Right Ramp Down | switch.matrix-48 | J206-4Green-White J208-9White-Gray WPC-95 CPU board | validated |
| 51 | Left Slingshot | switch.matrix-51 | J206-5Green-Black J208-1White-Brown WPC-95 CPU board | validated |
| 52 | Right Slingshot | switch.matrix-52 | J206-5Green-Black J208-2White-Red WPC-95 CPU board | validated |
| 53 | Top Jet Bumper | switch.matrix-53 | J206-5Green-Black J208-3White-Orange WPC-95 CPU board | validated |
| 54 | Middle Jet Bumper | switch.matrix-54 | J206-5Green-Black J208-4White-Yellow WPC-95 CPU board | validated |
| 55 | Bottom Jet Bumper | switch.matrix-55 | J206-5Green-Black J208-5White-Green WPC-95 CPU board | validated |
| 56 | Top Skill Shot | switch.matrix-56 | J206-5Green-Black J208-7White-Blue WPC-95 CPU board | validated |
| 57 | Middle Skill Shot | switch.matrix-57 | J206-5Green-Black J208-8White-Violet WPC-95 CPU board | validated |
| 58 | Lower Skill Shot | switch.matrix-58 | J206-5Green-Black J208-9White-Gray WPC-95 CPU board | validated |
| 61 | Left Spinner | switch.matrix-61 | J206-6Green-Blue J208-1White-Brown WPC-95 CPU board | validated |
| 62 | Right Spinner | switch.matrix-62 | J206-6Green-Blue J208-2White-Red WPC-95 CPU board | validated |
| 63 | Inner Wheel OptoNC Opto | switch.matrix-63 | J206-6Green-Blue J208-3White-Orange WPC-95 CPU board | validated |
| 64 | Outer Wheel OptoNC Opto | switch.matrix-64 | J206-6Green-Blue J208-4White-Yellow WPC-95 CPU board | validated |
| 65 | Left Gofer 1 | switch.matrix-65 | J206-6Green-Blue J208-5White-Green WPC-95 CPU board | validated |
| 66 | Left Gofer 2 | switch.matrix-66 | J206-6Green-Blue J208-7White-Blue WPC-95 CPU board | validated |
| 67 | Behind Left Gofer | switch.matrix-67 | J206-6Green-Blue J208-8White-Violet WPC-95 CPU board | validated |
| 68 | Hole-In-One Made | switch.matrix-68 | J206-6Green-Blue J208-9White-Gray WPC-95 CPU board | validated |
| 71 | Left Cart Path | switch.matrix-71 | J206-7Green-Violet J208-1White-Brown WPC-95 CPU board | validated |
| 72 | Right Cart Path | switch.matrix-72 | J206-7Green-Violet J208-2White-Red WPC-95 CPU board | validated |
| 73 | Right Ramp Made | switch.matrix-73 | J206-7Green-Violet J208-3White-Orange WPC-95 CPU board | validated |
| 74 | Golf Cart | switch.matrix-74 | J206-7Green-Violet J208-4White-Yellow WPC-95 CPU board | validated |
| 75 | Right Gofer 1 | switch.matrix-75 | J206-7Green-Violet J208-5White-Green WPC-95 CPU board | validated |
| 76 | Right Gofer 2 | switch.matrix-76 | J206-7Green-Violet J208-7White-Blue WPC-95 CPU board | validated |
| 77 | Advance Trap Value | switch.matrix-77 | J206-7Green-Violet J208-8White-Violet WPC-95 CPU board | validated |
| 78 | Sand Trap Eject | switch.matrix-78 | J206-7Green-Violet J208-9White-Gray WPC-95 CPU board | validated |
| 81 | K-I-C-K Advance | switch.matrix-81 | J206-9Green-Gray J208-1White-Brown WPC-95 CPU board | validated |
| 82 | (K)ick | switch.matrix-82 | J206-9Green-Gray J208-2White-Red WPC-95 CPU board | validated |
| 83 | K(I)ck | switch.matrix-83 | J206-9Green-Gray J208-3White-Orange WPC-95 CPU board | validated |
| 84 | Ki(C)k | switch.matrix-84 | J206-9Green-Gray J208-4White-Yellow WPC-95 CPU board | validated |
| 85 | Kic(K) | switch.matrix-85 | J206-9Green-Gray J208-5White-Green WPC-95 CPU board | validated |
| 86 | Captive Ball | switch.matrix-86 | J206-9Green-Gray J208-7White-Blue WPC-95 CPU board | validated |
| 87 | Not Used Matrix Position 87 | switch.matrix-87 | validated | |
| 88 | Not Used Matrix Position 88 | switch.matrix-88 | validated | |
| 111 | Lower Right Flipper EOS Leaf | switch.flipper-f1 | WPC-95 CPU board | validated |
| 112 | Lower Right Flipper ButtonNC Opto | switch.flipper-f2 | WPC-95 CPU board | validated |
| 113 | Lower Left Flipper EOS Leaf | switch.flipper-f3 | WPC-95 CPU board | validated |
| 114 | Lower Left Flipper ButtonNC Opto | switch.flipper-f4 | WPC-95 CPU board | validated |
| 115 | Upper Right Flipper EOS Leaf | switch.flipper-f5 | WPC-95 CPU board | validated |
| 116 | Upper Right Flipper ButtonNC Opto | switch.flipper-f6 | WPC-95 CPU board | validated |
| 117 | Not Used Upper Left Flipper EOS | switch.flipper-f7 | WPC-95 CPU board | validated |
| 118 | Not Used Upper Left Flipper ButtonNC | switch.flipper-f8 | WPC-95 CPU board | validated |
Everything the ROM can energise, grouped the way a table author builds it.
| # | Name | Device ID | Kind | Wiring | Evidence |
|---|---|---|---|---|---|
| 1 | Auto Fire | output.solenoid-01-auto-fire | Coil | Q72 WPC-95 power driver board | validated |
| 2 | Kickback | output.solenoid-02-kickback | Coil | Q68 WPC-95 power driver board | validated |
| 3 | Clubhouse Kicker | output.solenoid-03-clubhouse-kicker | Coil | Q71 WPC-95 power driver board | validated |
| 4 | Left Gofer Up | output.solenoid-04-left-gofer-up | Coil | Q67 WPC-95 power driver board | validated |
| 5 | Right Gofer Up | output.solenoid-05-right-gofer-up | Coil | Q70 WPC-95 power driver board | validated |
| 6 | Jet Popper | output.solenoid-06-jet-popper | Coil | Q66 WPC-95 power driver board | validated |
| 7 | Left Eject | output.solenoid-07-left-eject | Coil | Q69 WPC-95 power driver board | validated |
| 8 | Upper Right Eject | output.solenoid-08-upper-right-eject | Coil | Q65 WPC-95 power driver board | validated |
| 9 | Trough Eject | output.solenoid-09-trough-eject | Coil | Q44 WPC-95 power driver board | validated |
| 10 | Left Slingshot | output.solenoid-10-left-slingshot | Coil | Q48 WPC-95 power driver board | validated |
| 11 | Right Slingshot | output.solenoid-11-right-slingshot | Coil | Q43 WPC-95 power driver board | validated |
| 12 | Top Jet Bumper | output.solenoid-12-top-jet-bumper | Coil | Q47 WPC-95 power driver board | validated |
| 13 | Middle Jet Bumper | output.solenoid-13-middle-jet-bumper | Coil | Q42 WPC-95 power driver board | validated |
| 14 | Bottom Jet Bumper | output.solenoid-14-bottom-jet-bumper | Coil | Q46 WPC-95 power driver board | validated |
| 15 | Left Gofer Down | output.solenoid-15-left-gofer-down | Coil | Q41 WPC-95 power driver board | validated |
| 16 | Right Gofer Down | output.solenoid-16-right-gofer-down | Coil | Q45 WPC-95 power driver board | validated |
| 22 | Not Used Driver 22 | output.solenoid-22-unused | Coil | Q30 WPC-95 power driver board | validated |
| 23 | Not Used Driver 23 | output.solenoid-23-unused | Coil | Q25 WPC-95 power driver board | validated |
| 24 | Underground Pass | output.solenoid-24-underground-pass | Coil | Q29 WPC-95 power driver board | validated |
| 27 | Left Ramp Down | output.solenoid-27-left-ramp-down | Coil | Q14 WPC-95 power driver board | validated |
| 28 | Right Ramp Down | output.solenoid-28-right-ramp-down | Coil | Q13 WPC-95 power driver board | validated |
| 33 | Upper Right Flipper Power | output.solenoid-33-upper-right-flipper-power | Coil | WPC-95 power driver board | validated |
| 34 | Upper Right Flipper Hold | output.solenoid-34-upper-right-flipper-hold | Coil | WPC-95 power driver board | validated |
| 35 | Ball Launch Ramp Power | output.solenoid-35-ball-launch-ramp-power | Coil | WPC-95 power driver board | validated |
| 36 | Not Used Upper Left Flipper Hold | output.solenoid-36-not-used-upper-left-flipper-hold | Coil | Q83 WPC-95 power driver board | validated |
| 37 | Wheel Spin Counter Clock-Wise | output.solenoid-37-wheel-spin-counter-clock-wise | Motor | WPC-95 power driver board | validated |
| 38 | Wheel Spin Clock-Wise | output.solenoid-38-wheel-spin-clock-wise | Motor | WPC-95 power driver board | validated |
| 45 | Lower Right Flipper Power | output.solenoid-45-lower-right-flipper-power | Coil | WPC-95 power driver board | validated |
| 46 | Lower Right Flipper Hold | output.solenoid-46-lower-right-flipper-hold | Coil | WPC-95 power driver board | validated |
| 47 | Lower Left Flipper Power | output.solenoid-47-lower-left-flipper-power | Coil | WPC-95 power driver board | validated |
| 48 | Lower Left Flipper Hold | output.solenoid-48-lower-left-flipper-hold | Coil | WPC-95 power driver board | validated |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 17 | Jet Flasher | output.solenoid-17-jet-flasher | Q28 WPC-95 power driver board | validated |
| 18 | Lower Left Flasher | output.solenoid-18-lower-left-flasher | Q32 WPC-95 power driver board | validated |
| 19 | Left Spinner Flasher | output.solenoid-19-left-spinner-flasher | Q27 WPC-95 power driver board | validated |
| 20 | Right Spinner Flasher | output.solenoid-20-right-spinner-flasher | Q31 WPC-95 power driver board | validated |
| 21 | Lower Right Flasher | output.solenoid-21-lower-right-flasher | Q26 WPC-95 power driver board | validated |
| 25 | Sand Trap Flasher | output.solenoid-25-sand-trap-flasher | Q16 WPC-95 power driver board | validated |
| 26 | Wheel Flasher | output.solenoid-26-wheel-flasher | Q15 WPC-95 power driver board | validated |
| 51 | Upper Right 1 Flasher | output.solenoid-51-upper-right-1-flasher | Q2 Auxiliary 8-driver Board A-21773 | validated |
| 52 | Upper Right 2 Flasher | output.solenoid-52-upper-right-2-flasher | Q4 Auxiliary 8-driver Board A-21773 | validated |
| 53 | Upper Right 3 Flasher | output.solenoid-53-upper-right-3-flasher | Q6 Auxiliary 8-driver Board A-21773 | validated |
| 54 | Upper Playfield Right Flasher | output.solenoid-54-upper-playfield-right-flasher | Q8 Auxiliary 8-driver Board A-21773 | validated |
| 55 | Upper Playfield Left Flasher | output.solenoid-55-upper-playfield-left-flasher | Q10 Auxiliary 8-driver Board A-21773 | validated |
| 56 | Upper Left 3 Flasher | output.solenoid-56-upper-left-3-flasher | Q12 Auxiliary 8-driver Board A-21773 | validated |
| 57 | Upper Left 2 Flasher | output.solenoid-57-upper-left-2-flasher | Q14 Auxiliary 8-driver Board A-21773 | validated |
| 58 | Upper Left 1 Flasher | output.solenoid-58-upper-left-1-flasher | Q16 Auxiliary 8-driver Board A-21773 | validated |
Column × row matrix — the address is column·row.
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 11 | Outlane Extra Ball | output.lamp-11-outlane-extra-ball | column Q96; row Q104 WPC-95 power driver board | validated |
| 12 | Kickback | output.lamp-12-kickback | column Q96; row Q108 WPC-95 power driver board | validated |
| 13 | Lower Driving Range | output.lamp-13-lower-driving-range | column Q96; row Q103 WPC-95 power driver board | validated |
| 14 | Shoot Again | output.lamp-14-shoot-again | column Q96; row Q107 WPC-95 power driver board | validated |
| 15 | Special | output.lamp-15-special | column Q96; row Q102 WPC-95 power driver board | validated |
| 16 | Wheel Value | output.lamp-16-wheel-value | column Q96; row Q106 WPC-95 power driver board | validated |
| 17 | Jet Lightning | output.lamp-17-jet-lightning | column Q96; row Q101 WPC-95 power driver board | validated |
| 18 | Hole 8 | output.lamp-18-hole-8 | column Q96; row Q105 WPC-95 power driver board | validated |
| 21 | Hole 5 | output.lamp-21-hole-5 | column Q100; row Q104 WPC-95 power driver board | validated |
| 22 | Hole 4 | output.lamp-22-hole-4 | column Q100; row Q108 WPC-95 power driver board | validated |
| 23 | Hole 3 | output.lamp-23-hole-3 | column Q100; row Q103 WPC-95 power driver board | validated |
| 24 | Hit Bud | output.lamp-24-hit-bud | column Q100; row Q107 WPC-95 power driver board | validated |
| 25 | Hole 1 | output.lamp-25-hole-1 | column Q100; row Q102 WPC-95 power driver board | validated |
| 26 | 2X | output.lamp-26-2x | column Q100; row Q106 WPC-95 power driver board | validated |
| 27 | Cart Path 2 | output.lamp-27-cart-path-2 | column Q100; row Q101 WPC-95 power driver board | validated |
| 28 | 5X Cart Path | output.lamp-28-5x-cart-path | column Q100; row Q105 WPC-95 power driver board | validated |
| 31 | Hole 6 | output.lamp-31-hole-6 | column Q95; row Q104 WPC-95 power driver board | validated |
| 32 | Hole 7 | output.lamp-32-hole-7 | column Q95; row Q108 WPC-95 power driver board | validated |
| 33 | Hole 2 | output.lamp-33-hole-2 | column Q95; row Q103 WPC-95 power driver board | validated |
| 34 | Hit Buzz | output.lamp-34-hit-buzz | column Q95; row Q107 WPC-95 power driver board | validated |
| 35 | Hole 9 | output.lamp-35-hole-9 | column Q95; row Q102 WPC-95 power driver board | validated |
| 36 | 4X | output.lamp-36-4x | column Q95; row Q106 WPC-95 power driver board | validated |
| 37 | Cart Path 4 | output.lamp-37-cart-path-4 | column Q95; row Q101 WPC-95 power driver board | validated |
| 38 | 3X | output.lamp-38-3x | column Q95; row Q105 WPC-95 power driver board | validated |
| 41 | Driving Range | output.lamp-41-driving-range | column Q99; row Q104 WPC-95 power driver board | validated |
| 42 | Increase Golf Cart | output.lamp-42-increase-golf-cart | column Q99; row Q108 WPC-95 power driver board | validated |
| 43 | Increase Buzz Value | output.lamp-43-increase-buzz-value | column Q99; row Q103 WPC-95 power driver board | validated |
| 44 | Increase Bud Value | output.lamp-44-increase-bud-value | column Q99; row Q107 WPC-95 power driver board | validated |
| 45 | Newton Drive | output.lamp-45-newton-drive | column Q99; row Q102 WPC-95 power driver board | validated |
| 46 | Collect | output.lamp-46-collect | column Q99; row Q106 WPC-95 power driver board | validated |
| 47 | Rip Off | output.lamp-47-rip-off | column Q99; row Q101 WPC-95 power driver board | validated |
| 48 | Left Loop Drive | output.lamp-48-left-loop-drive | column Q99; row Q105 WPC-95 power driver board | validated |
| 51 | (K)ick | output.lamp-51-k-ick | column Q94; row Q104 WPC-95 power driver board | validated |
| 52 | K(I)ck | output.lamp-52-k-i-ck | column Q94; row Q108 WPC-95 power driver board | validated |
| 53 | Ki(C)k | output.lamp-53-ki-c-k | column Q94; row Q103 WPC-95 power driver board | validated |
| 54 | Kic(K) | output.lamp-54-kic-k | column Q94; row Q107 WPC-95 power driver board | validated |
| 55 | Skill Shot | output.lamp-55-skill-shot | column Q94; row Q102 WPC-95 power driver board | validated |
| 56 | Relight Jackpot | output.lamp-56-relight-jackpot | column Q94; row Q106 WPC-95 power driver board | validated |
| 57 | Right Ramp Lock | output.lamp-57-right-ramp-lock | column Q94; row Q101 WPC-95 power driver board | validated |
| 58 | Right Ramp Drive | output.lamp-58-right-ramp-drive | column Q94; row Q105 WPC-95 power driver board | validated |
| 61 | 4 Strokes | output.lamp-61-4-strokes | column Q98; row Q104 WPC-95 power driver board | validated |
| 62 | 3 Strokes | output.lamp-62-3-strokes | column Q98; row Q108 WPC-95 power driver board | validated |
| 63 | 2 Strokes | output.lamp-63-2-strokes | column Q98; row Q103 WPC-95 power driver board | validated |
| 64 | 5 Strokes | output.lamp-64-5-strokes | column Q98; row Q107 WPC-95 power driver board | validated |
| 65 | 7 Strokes | output.lamp-65-7-strokes | column Q98; row Q102 WPC-95 power driver board | validated |
| 66 | 6 Strokes | output.lamp-66-6-strokes | column Q98; row Q106 WPC-95 power driver board | validated |
| 67 | Left Spinner | output.lamp-67-left-spinner | column Q98; row Q101 WPC-95 power driver board | validated |
| 68 | Trap Ready | output.lamp-68-trap-ready | column Q98; row Q105 WPC-95 power driver board | validated |
| 71 | Advance Trap | output.lamp-71-advance-trap | column Q93; row Q104 WPC-95 power driver board | validated |
| 72 | Center Drive | output.lamp-72-center-drive | column Q93; row Q108 WPC-95 power driver board | validated |
| 73 | Center Lock | output.lamp-73-center-lock | column Q93; row Q103 WPC-95 power driver board | validated |
| 74 | Get T.N.T. | output.lamp-74-get-t-n-t | column Q93; row Q107 WPC-95 power driver board | validated |
| 75 | Center Raise Gofer | output.lamp-75-center-raise-gofer | column Q93; row Q102 WPC-95 power driver board | validated |
| 76 | Right Spinner | output.lamp-76-right-spinner | column Q93; row Q106 WPC-95 power driver board | validated |
| 77 | Right Loop Drive | output.lamp-77-right-loop-drive | column Q93; row Q101 WPC-95 power driver board | validated |
| 78 | Bottom Jet Bumper | output.lamp-78-bottom-jet-bumper | column Q93; row Q105 WPC-95 power driver board | validated |
| 81 | Side Ramp Drive | output.lamp-81-side-ramp-drive | column Q97; row Q104 WPC-95 power driver board | validated |
| 82 | Extra Ball | output.lamp-82-extra-ball | column Q97; row Q108 WPC-95 power driver board | validated |
| 83 | Multiball | output.lamp-83-multiball | column Q97; row Q103 WPC-95 power driver board | validated |
| 84 | Jackpot | output.lamp-84-jackpot | column Q97; row Q107 WPC-95 power driver board | validated |
| 85 | Putt Out | output.lamp-85-putt-out | column Q97; row Q102 WPC-95 power driver board | validated |
| 86 | Top Jet Bumper | output.lamp-86-top-jet-bumper | column Q97; row Q106 WPC-95 power driver board | validated |
| 87 | Middle Jet Bumper | output.lamp-87-middle-jet-bumper | column Q97; row Q101 WPC-95 power driver board | validated |
| 88 | Start Button | output.lamp-88-start-button | column Q97; row Q105 WPC-95 power driver board | validated |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 0 | Left Side String | output.gi-0-left-side-string | WPC-95 power driver board | validated |
| 1 | Right Side String | output.gi-1-right-side-string | WPC-95 power driver board | validated |
| 2 | Gofer Spotlight | output.gi-2-gofer-spotlight | WPC-95 power driver board | validated |
| 3 | Illumination String 4 | output.gi-3-illumination-string-4 | WPC-95 power driver board | validated |
| 4 | Illumination String 5 | output.gi-4-illumination-string-5 | WPC-95 power driver board | validated |
| # | Name | Device ID | Role | Evidence |
|---|---|---|---|---|
| 29 | J111 General-purpose Mirror 1 | output.solenoid-29-j111-general-purpose-mirror-1 | internal.wpc-state | validated |
| 30 | J111 General-purpose Mirror 2 | output.solenoid-30-j111-general-purpose-mirror-2 | internal.wpc-state | validated |
| 31 | PinMAME Synthetic Game-On State | output.solenoid-31-pinmame-synthetic-game-on-state | internal.wpc-state | validated |
| 32 | PinMAME Constant-zero State | output.solenoid-32-pinmame-constant-zero-state | internal.unused.wpc-output | validated |
| 39 | Unused WPC-95 LPDC Output 39 | output.solenoid-39-unused-wpc-95-lpdc-output-39 | validated | |
| 40 | Unused WPC-95 LPDC Output 40 | output.solenoid-40-unused-wpc-95-lpdc-output-40 | validated | |
| 41 | WPC-95 Mirror of Output 37 | output.solenoid-41-wpc-95-mirror-of-output-37 | validated | |
| 42 | WPC-95 Mirror of Output 38 | output.solenoid-42-wpc-95-mirror-of-output-38 | validated | |
| 43 | WPC-95 Mirror of Output 39 | output.solenoid-43-wpc-95-mirror-of-output-39 | validated | |
| 44 | WPC-95 Mirror of Output 40 | output.solenoid-44-wpc-95-mirror-of-output-40 | validated | |
| 49 | PinMAME Simulator-only Ball Shooter | output.solenoid-49-pinmame-simulator-only-ball-shooter | validated | |
| 50 | Reserved Before Custom-output Boundary | output.solenoid-50-reserved-before-custom-output-boundary | validated |
| # | Name | Device ID | Kind | Wiring | Evidence |
|---|---|---|---|---|---|
| 1 | CPU DIP 1 (country code bit) Dip | switch.dip-1 | DIP switch | validated | |
| 2 | CPU DIP 2 (country code bit) Dip | switch.dip-2 | DIP switch | validated | |
| 3 | CPU DIP 3 (country code bit) Dip | switch.dip-3 | DIP switch | validated | |
| 4 | CPU DIP 4 (country code bit) Dip | switch.dip-4 | DIP switch | validated | |
| 5 | CPU DIP 5 (country code bit) Dip | switch.dip-5 | DIP switch | validated | |
| 6 | CPU DIP 6 (country code bit) Dip | switch.dip-6 | DIP switch | validated | |
| 7 | CPU DIP 7 (country code bit) Dip | switch.dip-7 | DIP switch | validated | |
| 8 | CPU DIP 8 (country code 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 |
Logical assemblies with their actuators, sensors and observed behaviour. Click a chip to jump to the address it refers to.
mechanism.trough
The retained VPX bsTrough models switches 32-37 as six ball positions and pulses normally-closed opto 31 while solenoid 9 fires the BallRelease kicker. The manual names all seven physical opto positions.
mechanism.shooter-and-auto-fire
Auto Fire releases from the shooter assembly; the VPX callback binds solenoid 1 to Plunger1 and the manual identifies the Shooter Groove switch.
mechanism.kickback
Solenoid 2 drives the Kickback plunger. It returns a ball from the left outlane when the kickback switch is hit.
mechanism.putt-out-and-underground-pass
The Putt Out ball stack uses normally-closed switch 44. Solenoid 3 kicks it back to the playfield; solenoid 24 routes it into the underground pass/Jet Popper path. The script chains hole-in-one 68 through behind-left-gofer 67 back to Putt Out.
mechanism.left-gofer-and-ramp
The coupled left assembly raises the gofer and ramp with solenoid 4, drops the gofer with 15, and allows the ramp to lower with 27 only after the gofer is down. PinMAME and the retained VPX script both implement that state order.
mechanism.right-gofer-and-ramp
The coupled right assembly raises the gofer and ramp with solenoid 5, drops the gofer with 16, and lowers the ramp with 28 only after the gofer is down. Switch 73 is the Right Ramp Made switch.
mechanism.jet-popper
The normally-closed Jet Popper opto feeds the retained bsJetPopper kicker, which solenoid 6 ejects at 180 degrees.
mechanism.sand-trap-eject
The retained bsLeftEject saucer is the manual's Left Eject coil and Sand Trap Eject switch assembly.
mechanism.upper-right-eject
Right Popper Jam and Right Popper are both normally-closed optos in the upper-right eject path. The retained bsUpperRightEject kicks from the upperrightkicker object when solenoid 8 fires.
mechanism.slingshots
The two slingshot callbacks pulse their matching score switches; the manual records separate left/right coil assemblies and score-switch diode construction.
mechanism.jet-bumpers
Top, middle, and bottom jet bumper callbacks pulse their corresponding score switches and use the three printed AE-26-1200 coil assemblies.
mechanism.slam-ramp
The printed Upper Left Flipper power circuit is repurposed as the Ball Launch Ramp. The VPX SolSlamRamp callback lowers its collision ramp, then timers restore it; the paired hold circuit 36 is unfitted.
mechanism.wheel-and-golf-cart
A 14-7955-1 wheel motor is driven both directions through A-16120. A-22026 carries the shared inner/outer optos at switches 63/64. PinMAME models 16 wheel positions; the retained VPX separately presents the Golf Cart and its two cart-path switches, so it is not falsely treated as a motor mirror.
mechanism.captive-ball-and-kick-bank
The retained script supplies a cvpmCaptiveBall for switch 86 and discrete HitTarget callbacks for Advance Trap, K-I-C-K Advance, and the four K-I-C-K letter switches. No physical actuator is claimed where the manual supplies none.
mechanism.lower-flippers
The lower flippers use paired power/hold FL-11629 coils and dedicated EOS/cabinet opto inputs. PinMAME publishes the manual 29-32 circuits at public 45-48.
mechanism.upper-right-flipper
No Good Gofers fits the upper-right FL-11630 power/hold flipper and F5/F6 inputs. F7/F8 are expressly unfitted: there is no upper-left flipper.
Connections that exist in copper, not in the ROM. These fire whether or not a game is running.
Working knowledge that has no schema field yet — edition differences, tuning values, pitfalls.
This record describes the one physical Williams No Good Gofers playfield shared by ngg_13, ngg_12, ngg_10, and ngg_p06. The retained known-working VPX script binds cGameName = "ngg_13"; it is the runtime and recreation ground truth when it disagrees with lower-priority emulator scaffolding. The Williams operations manual is the physical-construction, wiring, part-number, quantity, and polarity authority. Pinned PinMAME source supplies WPC-95 public address topology. The retained VPX table supplies geometry only.
The manual SHA-256 is 736657e3a0d9c41faa5f6941e3d736ebfcbd66d2649af9dd9798d251df9cb58d. The retained table and embedded script are respectively 9f5b44285e3a10155fb0bf33a84626df45cc305f193d15963e39228355b91e59 and fbb6914941bd542f38e1ae9c15a6147b552cd33a22f586c85c3139da08aee766. The full vpxtool extraction is pinned by a 927-file, 127,738,302-byte canonical manifest (caf93fabeb7b697f65f3314425286a1f8fa96a37811b51f1abc357eb176ead66).
No Good Gofers is GEN_WPC95, with the standard 8x8 switch and lamp matrices, five GI strings, Fliptronic, the WPC-95 LPDC mirror behavior, and eight custom outputs. Its four ROM entries all describe the same physical machine. The manual's printed lower-right flipper circuits 29/30 appear at public outputs 45/46 and lower-left 31/32 at 47/48. Upper-right 33/34 already equal their public addresses. Printed upper-left power 35 is deliberately repurposed for the Ball Launch (slam) Ramp; printed hold 36 is unfitted. There is no physical upper-left flipper: F7/F8 are explicitly NOT USED.
All 64 matrix cells are enumerated, including the four manual NOT USED positions (11, 43, 87, 88). Switch 24 is a real printed ALWAYS CLOSED controller input, so a recreation must establish it active rather than treat it as an ordinary hit switch. The fifteen matrix optos are exactly 31-38, 41/42, 44-46, and 63/64. That exactly matches nggGameData's inversion mask: column 3 0xff for 31-38, column 4 0x3b for 41/42/44-46, and column 6 0x0c for 63/64. Fliptronic's public input state is already normalized by the WPC-95 core; button optos F2/F4/F6 must not be re-inverted.
bsTrough helper uses positions 32-37 and solenoid 9 (Trough Eject) pulses 31 before firing the BallRelease kicker. These are real individual physical optos even though the VPX representation only has one kicker anchor.The ordinary but author-relevant scoring hardware remains explicit: left/right slings (10/11, 51/52), three jet bumpers (12-14, 53-55), three skill targets (56-58), two spinners (61/62), two cart paths (71/72), K-I-C-K Advance plus the four K-I-C-K letters (81-85), Advance Trap (77), and captive ball (86).
The printed lamp matrix has all 64 fitted addresses. Lamp quantities are physical, not effect counts: 13, 28, and 68 each have two lamps; 55 and 71 each have a #44 and a #555 assembly; the other positions have one. Lamp 88 is the illuminated cabinet start button and therefore deliberately has no playfield coordinate. The retained script's UpdateLamps maps each matrix address to its named lamp object; overlay lights are presentation effects and are not additional physical bulbs.
Main flashers are 17-21 and 25/26. Notice that printed controller-bank labels do not define device kind: 24 (Underground Pass) is in the manual's “Flasher” driver bank but is a coil, while 25/26 are in “Gen. Purpose” and are physical flashers. Drivers 22/23 are truly unfitted, not missing evidence.
GI is five physical circuits. Manual wiring settles their destinations:
WHT-BRN);WHT-ORG);WHT-YEL);WHT-GRN), always on;WHT-VIO), always on.The manual's solenoid table transposes J105/J106 designators for the first three strings. Its wire colors and the complete interboard wiring list settle the physical destinations; do not copy the transposed connector names. The VPX script runs UseGI = 0, and its GI collections are visual proxies, so they are intentionally not used to assert a physical bulb count or invented GI coordinates.
The physical A-21773 auxiliary board's J4 drives manual solenoids 42-49: upper-right flashers 1/2/3, the two two-bulb upper-playfield flashers, then upper-left 3/2/1. The retained known-working script binds them sequentially to public callbacks 51-58 (and explicitly uses 54/55 for the upper-playfield pair). nggGameData declares eight custom outputs, also giving 51-58.
Pinned wpc.c separately assigns No Good Gofers PWM flasher types at 42 + 14 through 49 + 14, or public 56-63. That block only calls core_set_pwm_output_type; it neither maps nor drives public state, and it extends beyond this driver's declared 58-output span. The actual public mapping is independently fixed at 51-58 by hw.custSol = 8, CORE_CUSTSOLNO(1) = 51, and ngg_getSol indexing WPC_EXTBOARD2 from that boundary. The definition therefore preserves manual 42-49 as aliases and uses public 51-58. The 56-63 type table is retained as a pinned PinMAME metadata defect, not promoted to a false second address map or unresolved machine conflict.
The only coordinate system is the retained VPX table: bounds (0,0)-(964,2162), normalized as x=0 left/x=1 right and y=0 rear/y=1 apron. Direct named script objects provide coordinates for all matrix lamps except the cabinet start lamp, the directly handled switches, flippers, named kickers, named gofers, and directly bound flashers. A manual callout, a broad mechanism object, a hidden trough helper, or a VPX visual overlay is not enough to manufacture a point for an individual physical component.
The definition is consequently intentionally partial with missing = [spatial_placement]. Remaining spatial gaps include individual trough positions, ramp-down sensors, unrepresented gofer hits, both wheel optos, several coils, motor directions, and GI bulb positions. Lamps 13, 28, and 68 and flashers 20 and 25 each have two printed physical bulbs but only one directly bound retained-table emitter; those five placement sets are explicitly observed and incomplete. This is fail-closed: it is a strong physical/electrical definition, but is not author-ready.
manual.williams.no-good-gofers.1997: visual manual transcriptions under evidence/excerpts/williams.no-good-gofers.1997/.vpx-table.ngg-bodydump / vpx-script.ngg-bodydump: retained known-working table, runtime binding and directly named geometry.pinmame.core.4ec52ff0ac13 and controller-profile.pinmame-wpc-95: WPC-95 topology, inversion, Fliptronic, LPDC, custom-output and display behavior.Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| ngg_p06 | No Good Gofers (p0.6 Prototype) Williams p0.6 prototype game-ROM revision. It is a firmware variant of the same physical 1997 No Good Gofers playfield; no contrary address or fitment evidence is retained. | 1997 | ngg_13 | identical |
| ngg_13 | No Good Gofers (1.3) Williams production game-ROM revision 1.3. The retained known-working VPX script binds cGameName = "ngg_13". | 1997 | — | identical |
| ngg_12 | No Good Gofers (1.2) Williams production game-ROM revision 1.2. It is an earlier firmware revision of the same physical 1997 playfield. | 1997 | ngg_13 | identical |
| ngg_10 | No Good Gofers (1.0) Williams production game-ROM revision 1.0. It is an earlier firmware revision of the same physical 1997 playfield. | 1997 | ngg_13 | identical |
Parent set: ngg_13 — clones share this definition unless a hardware difference is noted.
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.4ec52ff0ac13
src/wpc/driver.c No Good Gofers catalog entries and src/wpc/sims/wpc/full/ngg.c CORE_GAMEDEF/CORE_CLONEDEF
pinmame.core.4ec52ff0ac13
src/wpc/sims/wpc/full/ngg.c nggGameData GEN_WPC95 with hw.custSol=8, ngg_getSol indexing WPC_EXTBOARD2 from CORE_CUSTSOLNO(1), FLIP_SW(FLIP_L|FLIP_U)|FLIP_SOL(FLIP_L|FLIP_UR), inverted-switch mask, wpc_set_modsol_aux_board(2), wheel and gofer/ramp/slam mechanisms; src/wpc/core.h CORE_FIRSTCUSTSOL=51/CORE_CUSTSOLNO; src/wpc/core.c custom-output dispatch; src/wpc/wpc.c No Good Gofers core_set_pwm_output_type table. The latter types 42+14 through 49+14 (56-63) but does not map or drive public state and extends past this driver's declared 51-58 custom range, so it is retained as a PinMAME output-type metadata defect rather than treated as a second address map.
controller-profile.pinmame-wpc-95
WPC-95 switch, Fliptronic, LPDC mirror, standard/custom output, lamp, and five-GI controller contract
manual.williams.no-good-gofers.1997
148-page Williams No Good Gofers Operations Manual; retained visual source for physical construction, part numbers, wiring, quantities, labels and the numbered top-view callout drawing.
vpx-table.ngg-bodydump
Retained known-working No Good Gofers recreation. Exact bounds are left=0 top=0 right=964 bottom=2162; every coordinate in this definition is raw VPX x/964, y/2162. Geometry is used only for explicitly bound retained objects.
vpx-script.ngg-bodydump
Retained embedded script (46,531 bytes): Const cGameName = "ngg_13"; SolCallback and UpdateLamps tables; cvpmBallStack trough/poppers; gofer/ramp and Slam Ramp logic; switch event handlers.
vpx-extraction.ngg-bodydump
Canonical manifest of all 927 extracted files / 127738302 bytes, sorted relative POSIX path with size and SHA-256; canonical manifest SHA-256 caf93fabeb7b697f65f3314425286a1f8fa96a37811b51f1abc357eb176ead66.
pinmame.sim.4ec52ff0ac13.ngg
src/wpc/sims/wpc/full/ngg.c simulator state model consulted only as lower-priority support; it is not used to infer physical fitment or to override the retained VPX/manual.
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.