Outhole feeder
mechanism.outhole
Drain_Hit adds the drained ball at switch 10 to a three-ball stack. Public output 25 drives the constructed outhole coil and feeds that stack.
1 ROM set resolve to this machine. Clones share the definition unless a hardware difference is listed.
Create balls on these switches so the ROM finds a full trough at boot.
Portable roles — the consuming engine maps them to its own input actions.
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.
161 placements · 35 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 playfield21 cabinet or service, 20 virtual, 19 unused, 2 internal nonvisual, 1 dip switch — declared rather than missing.
Real evidence exists, but authoring requirements are still missing or in conflict. Verify before shipping a table.
The addresses PinMAME reports as closed. Numbers are the public API values, not matrix hardware pins.
Sequential addresses, grouped in columns of eight.
Outside the matrix-7, -6 — dedicated, diagnostic or flipper-column addresses. See the table below.
| # | Name | Device ID | Role | Wiring | Evidence |
|---|---|---|---|---|---|
| -7 | Black Button / Advance | switch.diagnostic-7 | service.advance | validated | |
| -6 | Green Button / Up-Down | switch.diagnostic-6 | service.adjust | validated | |
| 1 | Plumb Tilt | switch.matrix-1 | cabinet.tilt | GRN-BRN WHT-BRN CPU Board | validated |
| 2 | Unused Switch 2 | switch.matrix-2 | GRN-BRN WHT-RED CPU Board | conflicted | |
| 3 | Credit Button | switch.matrix-3 | cabinet.start | GRN-BRN WHT-ORN CPU Board | validated |
| 4 | Right Coin | switch.matrix-4 | cabinet.coin | GRN-BRN WHT-YEL CPU Board | validated |
| 5 | Center Coin | switch.matrix-5 | cabinet.coin | GRN-BRN WHT-GRN CPU Board | validated |
| 6 | Left Coin | switch.matrix-6 | cabinet.coin | GRN-BRN WHT-BLU CPU Board | validated |
| 7 | Slam Tilt | switch.matrix-7 | cabinet.slam-tilt | GRN-BRN WHT-VIO CPU Board | validated |
| 8 | Unused Switch 8 | switch.matrix-8 | GRN-BRN WHT-GRY CPU Board | validated | |
| 9 | Unused Switch 9 | switch.matrix-9 | GRN-RED WHT-BRN CPU Board | validated | |
| 10 | Outhole | switch.matrix-10 | ball.position | GRN-RED WHT-RED CPU Board | validated |
| 11 | Trough #1 | switch.matrix-11 | ball.position | GRN-RED WHT-ORN CPU Board | validated |
| 12 | Trough #2 | switch.matrix-12 | ball.position | GRN-RED WHT-YEL CPU Board | validated |
| 13 | Trough #3 | switch.matrix-13 | ball.position | GRN-RED WHT-GRN CPU Board | validated |
| 14 | Shooter Lane | switch.matrix-14 | ball.position | GRN-RED WHT-BLU CPU Board | conflicted |
| 15 | Left EOS | switch.matrix-15 | flipper.lower.left.button | GRN-RED WHT-VIO CPU Board | conflicted |
| 16 | Right EOS | switch.matrix-16 | flipper.lower.right.button | GRN-RED WHT-GRY CPU Board | conflicted |
| 17 | Left Outlane | switch.matrix-17 | ball.position | GRN-ORN WHT-BRN CPU Board | validated |
| 18 | Left Return | switch.matrix-18 | GRN-ORN WHT-RED CPU Board | validated | |
| 19 | Right Outlane | switch.matrix-19 | GRN-ORN WHT-ORN CPU Board | validated | |
| 20 | Right Return | switch.matrix-20 | GRN-ORN WHT-YEL CPU Board | validated | |
| 21 | Left Slingshot | switch.matrix-21 | GRN-ORN WHT-GRN CPU Board | validated | |
| 22 | Right Slingshot | switch.matrix-22 | GRN-ORN WHT-BLU CPU Board | validated | |
| 23 | Champagne Kicker | switch.matrix-23 | ball.position | GRN-ORN WHT-VIO CPU Board | validated |
| 24 | Grotto 1 | switch.matrix-24 | ball.position | GRN-ORN WHT-GRY CPU Board | validated |
| 25 | Left Top Lane | switch.matrix-25 | GRN-YEL WHT-BRN CPU Board | validated | |
| 26 | Center Top Lane | switch.matrix-26 | GRN-YEL WHT-RED CPU Board | validated | |
| 27 | Right Top Lane | switch.matrix-27 | GRN-YEL WHT-ORN CPU Board | validated | |
| 28 | Ramp Center | switch.matrix-28 | GRN-YEL WHT-YEL CPU Board | validated | |
| 29 | Ramp Right | switch.matrix-29 | GRN-YEL WHT-GRN CPU Board | validated | |
| 30 | Left Spinner | switch.matrix-30 | GRN-YEL WHT-BLU CPU Board | validated | |
| 31 | Grotto 2 | switch.matrix-31 | ball.position | GRN-YEL WHT-VIO CPU Board | validated |
| 32 | Ramp Left | switch.matrix-32 | GRN-YEL WHT-GRY CPU Board | validated | |
| 33 | P Target | switch.matrix-33 | GRN-BLK WHT-BRN CPU Board | validated | |
| 34 | L Target | switch.matrix-34 | GRN-BLK WHT-RED CPU Board | validated | |
| 35 | A Target | switch.matrix-35 | GRN-BLK WHT-ORN CPU Board | validated | |
| 36 | 1st Y Target | switch.matrix-36 | GRN-BLK WHT-YEL CPU Board | validated | |
| 37 | B Target | switch.matrix-37 | GRN-BLK WHT-GRN CPU Board | validated | |
| 38 | O Target | switch.matrix-38 | GRN-BLK WHT-BLU CPU Board | validated | |
| 39 | 2nd Y Target | switch.matrix-39 | GRN-BLK WHT-VIO CPU Board | validated | |
| 40 | Unused Switch 40 | switch.matrix-40 | GRN-BLK WHT-GRY CPU Board | validated | |
| 41 | Center 3 Bank Left | switch.matrix-41 | GRN-BLU WHT-BRN CPU Board | validated | |
| 42 | Center 3 Bank Middle | switch.matrix-42 | GRN-BLU WHT-RED CPU Board | validated | |
| 43 | Center 3 Bank Right | switch.matrix-43 | GRN-BLU WHT-ORN CPU Board | validated | |
| 44 | Unused Switch 44 | switch.matrix-44 | GRN-BLU WHT-YEL CPU Board | validated | |
| 45 | VUK | switch.matrix-45 | ball.position | GRN-BLU WHT-GRN CPU Board | validated |
| 46 | Left Pop Bumper | switch.matrix-46 | GRN-BLU WHT-BLU CPU Board | validated | |
| 47 | Center Pop Bumper | switch.matrix-47 | GRN-BLU WHT-VIO CPU Board | validated | |
| 48 | Right Pop Bumper | switch.matrix-48 | GRN-BLU WHT-GRY CPU Board | validated | |
| 49 | Drop1 Top | switch.matrix-49 | target.drop | GRN-VIO WHT-BRN CPU Board | validated |
| 50 | Drop2 Center | switch.matrix-50 | target.drop | GRN-VIO WHT-RED CPU Board | validated |
| 51 | Drop3 Bottom | switch.matrix-51 | target.drop | GRN-VIO WHT-ORN CPU Board | validated |
| 52 | Unused Switch 52 | switch.matrix-52 | GRN-VIO WHT-YEL CPU Board | validated | |
| 53 | Unused Switch 53 | switch.matrix-53 | GRN-VIO WHT-GRN CPU Board | validated | |
| 54 | Unused Switch 54 | switch.matrix-54 | GRN-VIO WHT-BLU CPU Board | validated | |
| 55 | Unused Switch 55 | switch.matrix-55 | GRN-VIO WHT-VIO CPU Board | validated | |
| 56 | Unused Switch 56 | switch.matrix-56 | GRN-VIO WHT-GRY CPU Board | validated | |
| 57 | Unused Switch 57 | switch.matrix-57 | GRN-GRY WHT-BRN CPU Board | validated | |
| 58 | Unused Switch 58 | switch.matrix-58 | GRN-GRY WHT-RED CPU Board | validated | |
| 59 | Unused Switch 59 | switch.matrix-59 | GRN-GRY WHT-ORN CPU Board | validated | |
| 60 | Unused Switch 60 | switch.matrix-60 | GRN-GRY WHT-YEL CPU Board | validated | |
| 61 | Unused Switch 61 | switch.matrix-61 | GRN-GRY WHT-GRN CPU Board | validated | |
| 62 | Unused Switch 62 | switch.matrix-62 | GRN-GRY WHT-BLU CPU Board | validated | |
| 63 | Unused Switch 63 | switch.matrix-63 | GRN-GRY WHT-VIO CPU Board | validated | |
| 64 | Unused Switch 64 | switch.matrix-64 | GRN-GRY WHT-GRY CPU Board | validated |
Everything the ROM can energise, grouped the way a table author builds it.
| # | Name | Device ID | Kind | Wiring | Evidence |
|---|---|---|---|---|---|
| 10 | Left/Right Coil Relay K1 | coil.driver-10 | Relay | Q29 CPU Board / PPB | validated |
| 16 | Laser Kicker | coil.driver-16 | Coil | Q23 CPU Board / PPB | validated |
| 17 | Center Pop Bumper | coil.driver-17 | Coil | Q8 CPU Board / PPB | candidate |
| 18 | Left Slingshot | coil.driver-18 | Coil | Q10 CPU Board / PPB | candidate |
| 19 | Left Pop Bumper | coil.driver-19 | Coil | Q11 CPU Board / PPB | conflicted |
| 20 | Unused SP6 Driver | coil.driver-20 | Coil | Q13 CPU Board / PPB | validated |
| 21 | Right Slingshot | coil.driver-21 | Coil | Q12 CPU Board / PPB | candidate |
| 22 | Right Pop Bumper | coil.driver-22 | Coil | Q9 CPU Board / PPB | candidate |
| 25 | Outhole | coil.driver-25 | Coil | conflicted | |
| 26 | Trough Eject | coil.driver-26 | Coil | conflicted | |
| 27 | Vertical Up Kicker | coil.driver-27 | Coil | conflicted | |
| 28 | Champagne Kicker | coil.driver-28 | Coil | conflicted | |
| 29 | Drop Target Reset | coil.driver-29 | Coil | conflicted | |
| 30 | Grotto Kicking | coil.driver-30 | Coil | conflicted | |
| 32 | Knocker | coil.driver-32 | Coil | conflicted |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | Grotto 1 Flash | coil.driver-1 | Q46 CPU Board / PPB | validated |
| 2 | Grotto 2 Flash | coil.driver-2 | Q45 CPU Board / PPB | validated |
| 3 | Spinner 1 Flash | coil.driver-3 | Q44 CPU Board / PPB | conflicted |
| 4 | Spinner 2 Flash | coil.driver-4 | Q43 CPU Board / PPB | conflicted |
| 5 | Spinner 3 Flash | coil.driver-5 | Q42 CPU Board / PPB | validated |
| 6 | Multi Ball Flash | coil.driver-6 | Q41 CPU Board / PPB | validated |
| 7 | Ramp Left Flash | coil.driver-7 | Q40 CPU Board / PPB | validated |
| 8 | Unlabeled Flash Group 8 | coil.driver-8 | Q39 CPU Board / PPB | conflicted |
| 9 | Playboy Flash | coil.driver-9 | Q30 CPU Board / PPB | conflicted |
| 12 | Insert 2 / Drop Flash | coil.driver-12 | Q27 CPU Board / PPB | conflicted |
| 13 | Ramp Right Flash | coil.driver-13 | Q26 CPU Board / PPB | conflicted |
| 14 | Mansion Flash | coil.driver-14 | Q25 CPU Board / PPB | conflicted |
| 15 | Unlabeled Flash Group 15 | coil.driver-15 | Q24 CPU Board / PPB | conflicted |
Sequential addresses, grouped in columns of eight.
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 1 | "P"layboy | lamp.matrix-1 | CPU Board | candidate |
| 2 | p"L"ayboy | lamp.matrix-2 | CPU Board | candidate |
| 3 | pl"A"yboy | lamp.matrix-3 | CPU Board | candidate |
| 4 | pla"Y"boy | lamp.matrix-4 | CPU Board | candidate |
| 5 | play"B"oy | lamp.matrix-5 | CPU Board | candidate |
| 6 | playb"O"y | lamp.matrix-6 | CPU Board | candidate |
| 7 | playbo"Y" | lamp.matrix-7 | CPU Board | candidate |
| 8 | Left "H" Lane | lamp.matrix-8 | CPU Board | candidate |
| 9 | Miss July 50K | lamp.matrix-9 | CPU Board | candidate |
| 10 | Miss August 100k | lamp.matrix-10 | CPU Board | candidate |
| 11 | Miss September Lites Out-lane 50k | lamp.matrix-11 | CPU Board | candidate |
| 12 | Miss October 50K Bonus Hold Over | lamp.matrix-12 | CPU Board | candidate |
| 13 | Miss November Extra Ball | lamp.matrix-13 | CPU Board | candidate |
| 14 | Miss December 1,000,000 | lamp.matrix-14 | CPU Board | candidate |
| 15 | Top Left Bunny Hop | lamp.matrix-15 | CPU Board | candidate |
| 16 | Center "M" Lane | lamp.matrix-16 | CPU Board | candidate |
| 17 | Photo Shoot 1 | lamp.matrix-17 | CPU Board | candidate |
| 18 | Photo Shoot 2 | lamp.matrix-18 | CPU Board | candidate |
| 19 | Photo Shoot 3 | lamp.matrix-19 | CPU Board | candidate |
| 20 | Photo Shoot 4 | lamp.matrix-20 | CPU Board | candidate |
| 21 | Photo Shoot 5 | lamp.matrix-21 | CPU Board | candidate |
| 22 | Photo Shoot Special | lamp.matrix-22 | CPU Board | candidate |
| 23 | Spinner Extra Ball | lamp.matrix-23 | CPU Board | candidate |
| 24 | Right "H" Lane | lamp.matrix-24 | CPU Board | candidate |
| 25 | Upper Left and Right Release Ball | lamp.matrix-25 | CPU Board | candidate |
| 26 | Lock Ball #1 | lamp.matrix-26 | CPU Board | candidate |
| 27 | Lock Ball (Big arrow) | lamp.matrix-27 | CPU Board | candidate |
| 28 | Left Green Arrow Target | lamp.matrix-28 | CPU Board | candidate |
| 29 | Center Green Arrow Target | lamp.matrix-29 | CPU Board | candidate |
| 30 | Right Green Arrow Target | lamp.matrix-30 | CPU Board | candidate |
| 31 | Multiply All Scores | lamp.matrix-31 | CPU Board | candidate |
| 32 | Lock Ball #2 | lamp.matrix-32 | CPU Board | candidate |
| 33 | Upper Right Mansion Party | lamp.matrix-33 | CPU Board | candidate |
| 34 | Bonus Holdover | lamp.matrix-34 | CPU Board | candidate |
| 35 | Play Again | lamp.matrix-35 | CPU Board | candidate |
| 36 | 2x | lamp.matrix-36 | CPU Board | candidate |
| 37 | 3x | lamp.matrix-37 | CPU Board | candidate |
| 38 | 4x | lamp.matrix-38 | CPU Board | candidate |
| 39 | 5x | lamp.matrix-39 | CPU Board | candidate |
| 40 | Upper Left Mansion Party | lamp.matrix-40 | CPU Board | candidate |
| 41 | "P"inball | lamp.matrix-41 | CPU Board | candidate |
| 42 | Rt Score Playboy Value | lamp.matrix-42 | CPU Board | candidate |
| 43 | Right Peacock | lamp.matrix-43 | CPU Board | candidate |
| 44 | Drop Target 100k | lamp.matrix-44 | CPU Board | candidate |
| 45 | Drop Target 75k | lamp.matrix-45 | CPU Board | candidate |
| 46 | Drop Target 50k | lamp.matrix-46 | CPU Board | candidate |
| 47 | Drop Target 25k | lamp.matrix-47 | CPU Board | candidate |
| 48 | Upper Right Bunny Hop | lamp.matrix-48 | CPU Board | candidate |
| 49 | p"I"nball | lamp.matrix-49 | CPU Board | candidate |
| 50 | Lt.Score Playboy Value | lamp.matrix-50 | CPU Board | candidate |
| 51 | Left Peacock | lamp.matrix-51 | CPU Board | candidate |
| 52 | Lwr Lft.Bunny Hop | lamp.matrix-52 | CPU Board | candidate |
| 53 | pi"N"ball | lamp.matrix-53 | CPU Board | candidate |
| 54 | pin"B"all | lamp.matrix-54 | CPU Board | candidate |
| 55 | pinb"A"ll | lamp.matrix-55 | CPU Board | candidate |
| 56 | pinba"L"l | lamp.matrix-56 | CPU Board | candidate |
| 57 | "M"ansion | lamp.matrix-57 | CPU Board | candidate |
| 58 | m"A"nsion | lamp.matrix-58 | CPU Board | candidate |
| 59 | ma"N"sion | lamp.matrix-59 | CPU Board | candidate |
| 60 | man"S"ion | lamp.matrix-60 | CPU Board | candidate |
| 61 | mans"I"on | lamp.matrix-61 | CPU Board | candidate |
| 62 | mansi"O"n | lamp.matrix-62 | CPU Board | candidate |
| 63 | mansio"N" | lamp.matrix-63 | CPU Board | candidate |
| 64 | pinbal"L". | lamp.matrix-64 | CPU Board | candidate |
| # | Name | Device ID | Wiring | Evidence |
|---|---|---|---|---|
| 11 | General Illumination Relay K1 | coil.driver-11 | Q28 CPU Board / PPB | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 24 | Unused Solenoid 24 | coil.driver-24 | validated |
| 31 | Unfitted Mux Branch R07 | coil.driver-31 | conflicted |
| 33 | Inert Solenoid Address 33 | coil.driver-33 | validated |
| 34 | Inert Solenoid Address 34 | coil.driver-34 | validated |
| 35 | Inert Solenoid Address 35 | coil.driver-35 | validated |
| 36 | Inert Solenoid Address 36 | coil.driver-36 | validated |
| 37 | Inert Solenoid Address 37 | coil.driver-37 | validated |
| 38 | Inert Solenoid Address 38 | coil.driver-38 | validated |
| 39 | Inert Solenoid Address 39 | coil.driver-39 | validated |
| 40 | Inert Solenoid Address 40 | coil.driver-40 | validated |
| 41 | Inert Solenoid Address 41 | coil.driver-41 | validated |
| 42 | Inert Solenoid Address 42 | coil.driver-42 | validated |
| 43 | Inert Solenoid Address 43 | coil.driver-43 | validated |
| 44 | Inert Solenoid Address 44 | coil.driver-44 | validated |
| 45 | Synthetic Right Flipper Power | coil.driver-45 | candidate |
| 46 | Synthetic Right Flipper Hold | coil.driver-46 | candidate |
| 47 | Synthetic Left Flipper Power | coil.driver-47 | candidate |
| 48 | Synthetic Left Flipper Hold | coil.driver-48 | candidate |
| 49 | Simulation Ball Shooter | coil.driver-49 | validated |
| 50 | Reserved Solenoid 50 | coil.driver-50 | validated |
| # | Name | Device ID | Evidence |
|---|---|---|---|
| 0 | Jumper W7 (function undocumented) | dip.jumper-w7 | candidate |
Logical assemblies with their actuators, sensors and observed behaviour. Click a chip to jump to the address it refers to.
mechanism.outhole
Drain_Hit adds the drained ball at switch 10 to a three-ball stack. Public output 25 drives the constructed outhole coil and feeds that stack.
mechanism.ball-trough
The active cvpmBallStack declares switch order 13, 12, 11 and starts with three balls. Output 26 kicks the front BallRelease position toward the shooter lane; the manual constructs a feed cam and switch plate.
mechanism.vertical-up-kicker
The active bsVUK saucer holds a ball at switch 45 and output 27 ejects it vertically. The manual independently lists constructed Vertical Up Kicker 500-5067-00.
mechanism.champagne-kicker
Kicker2_Hit adds the ball to bsCK at switch 23; output 28 fires its saucer exit. The manual lists Champagne Kicker Assembly 500-5053-03.
mechanism.grotto-kicker
The in-bound trigger reports printed Grotto 1 at switch 24. The active bsGrotto saucer then holds/ejects at printed Grotto 2 switch 31 through output 30. Manual construction supplies one Grotto Kicking Assembly plus two kicking switches; exact under-playfield transfer geometry is not exposed.
mechanism.drop-bank
The active cvpmDropTarget orders top, center, and bottom dropping faces at 49-51 and raises all three from output 29. Manual construction names 3 Bank Drop Target Assembly 500-5055-31.
mechanism.laser-kick
The active impulse-plunger helper watches public switch 17 and output 16 auto-fires the left-outlane kickback. Although the helper's sw17 trigger is outside the asserted playfield, Kicker001_Hit explicitly publishes switch 17 from the in-bounds kickback object; that executable point is retained as candidate placement and the unbound sw17a name is excluded.
mechanism.left-flipper
One printed 22-800 dual-winding coil moves the sole left flipper. The manual prints physical Left EOS at 15, while FLIP1516 and the key handler publish cabinet-button state there.
mechanism.right-flipper
One printed 22-800 dual-winding coil moves the sole right flipper. The manual prints physical Right EOS at 16, while FLIP1516 and the key handler publish cabinet-button state there.
mechanism.left-slingshot
The native left-slingshot event pulses switch 21. The manual maps hardware-triggered SP3 to the left slingshot, and pinned Data East setSSSol publishes SP3 as public 18; public callback pulse timing is not exposed.
mechanism.right-slingshot
The native right-slingshot event pulses switch 22. The manual maps hardware-triggered SP5 to the right slingshot, and pinned Data East setSSSol publishes SP5 as public 21; public callback pulse timing is not exposed.
mechanism.left-pop
Bumper1_Hit pulses switch 46; the rendered manual maps SP4 to the left pop, and pinned Data East setSSSol publishes SP4 as public 19. The physical assembly is one of three 500-5034-00 pop bumpers.
mechanism.center-pop
The working VPX script's Bumper2_Hit pulses switch 47 and uses the middle-bumper sound path. Its retained position matches the manual's SP1 center-pop location bubble. The pinned PIA comments plus setSSSol permutation derive SP1 as public 17.
mechanism.right-pop
The working VPX script's Bumper3_Hit pulses switch 48. Its retained position matches the manual's SP2 right-pop location bubble. The pinned PIA comments plus setSSSol permutation derive SP2 as public 22.
mechanism.playboy-standups
Seven independent active HitTarget events pulse P, L, A, first Y, B, O, and second Y. The manual's seven-bank construction drawing shows seven leaf-switch target stations and no dropping faces or reset coil.
mechanism.center-standups
Three independent active HitTarget events pulse left, middle, and right. Manual construction names 3 Bank Standup Target Assembly 500-5103-08; no reset coil or dropping faces are fitted.
mechanism.manual-shooter
The retained Plunger object provides player-driven launch and the active sw14 trigger reports the shooter lane. No CPU shooter coil is claimed; the two manual parts lists disagree over the 500-5142/500-5143 switch-bracket assignment.
mechanism.fixed-routes
Executable triggers establish the two returns, right outlane, three top lanes, center/right/left ramps, and the left spinner. The manual construction and switch maps show passive paths; no motor or diverter actuator is inferred from feature labels.
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.
Machine definition: machines/partial/data-east/playboy-35th-anniversary-1989.json
Pinned PinMAME publishes one driver only: play_a24, from CORE_GAMEDEF(play,a24,...). An exhaustive search found no CORE_CLONEDEF and no second catalog driver for the title. The single-driver record is deliberate, not an overlooked clone family.
INITGAMES11(play, GEN_DE, de_dispAlpha2, FLIP1516, SNDBRD_DE1S, 0, S11_MUXDELAY) must be decoded against core_tGameData, not guessed from local argument names. It sets generation GEN_DE (0x1000), display layout de_dispAlpha2, hw.flippers=FLIP1516, zero switch/lamp/custom-solenoid offsets, hw.soundBoard=SNDBRD_DE1S, hw.display=0, hw.gameSpecific1=S11_MUXDELAY, and sxx.muxSol=10. The display layout supplies two seven-character alphanumeric and two seven-character numeric displays; all are controlled backbox devices with not_applicable playfield spatial records.
S11_MUXDELAY is bit 0x10, documented as “delay mux solenoid by one IRQ.” In pia0b_w, Playboy retains the current PIA port-B byte and publishes the previous byte. updsol then uses solenoid 10/K1 to expose the common eight drivers as A-side public outputs 1-8 or C-side 25-32. This compensates for the ROM's relay timing so the decoded public states land in the correct bank. A VPX-style recreation consuming PinMAME outputs 1-8 and 25-32 must not add another delay or rebuild the raw mux. A raw PIA/board emulator must reproduce the one-IRQ latch; a physical recreation may still model K1 relay construction and sound.
Pinned s11.c types output 9 as a bulb, 11 as GI, 12-15 as bulbs, and 25-32 as eight muxed #89 bulbs under K1 at output 10. The manual instead fits physical coils at 25-30 and 32, with branch 31 unfitted. The core type is output/PWM metadata, not physical-fitment authority, so the disagreement stays a conflict.
The controller id is pinmame.dataeast, not pinmame.system-11: sharing PinMAME's s11.c implementation does not turn the physical Data East CPU/driver board into Williams System 11 hardware. INITGAMES11 leaves Playboy's wpc.invSw array zero-initialized, and core.c copies that zero mask into coreGlobals.invSw, so the emulator applies no per-game switch inversion for this driver. No reviewed Data East controller profile exists yet, so controller_platform remains an explicit promotion blocker.
The manual prints physical flipper EOS contacts at matrix 15/16, but FLIP1516 makes the non-fliptronic core overwrite those public addresses with left/right cabinet-button state. This is a PinMAME public-address behavior rather than a description of the physical EOS wiring. A recreation should use public 15/16 as cabinet-button state and must not infer physical EOS state from them.
The active table uses SetLamp: 16 active occurrences, with no Lampz.MassAssign and no vpmMapLights. Mapping claims therefore remain specific to this retained implementation.
Only 55 numeric L* Light objects exist for 64 addresses. The nine absent names are 26, 32, and 57-63. They are not missing outputs: UpdateLamps explicitly routes all nine to same-number Flasher objects, and the manual location drawing puts those exact addresses in a separate backbox/back-panel box. They therefore have controlled not_applicable playfield-spatial records. The drawing does not locate PINBALL-letter lamps 41, 49, 53-56, or 64 in either its backbox box or playfield plan. Their same-number table objects are presentation proxies flagged as backglass; those centers are withheld without turning the manual's silence into a false playfield claim.
Numeric Light objects 41, 49, 53, 54, 55, 56, and 64 are executable consumers but are flagged is_backglass=true in the retained table. The manual location drawing does not locate these PINBALL-letter lamps in either its backbox box or playfield plan. Their names prove consumption, not a physical socket plane, so their coordinates are withheld as unresolved placement evidence rather than classified as a source conflict. All remaining Light centers are only candidate placement evidence.
Script causality plus manual construction establishes a serial three-ball trough and eject, outhole feeder, VUK, Champagne saucer, two-sensor Grotto path with kickout, three-face resetting drop bank, Laser Kick outlane kickback, two flippers, two slingshots, three pop bumpers, seven fixed PLAYBOY standups, three fixed center standups, manual shooter, and passive lanes/ramps/spinner. The fixed target banks are not drop banks: their drawings show independent leaf-switch stations and no reset coil.
The printed coil/flash location page adds a separate backbox inset to the playfield plan. It proves that outputs 3, 4, 8, 9, 12, 14 and 15 include backbox bulbs even though every retained VPX effect for those outputs sits in playfield space; output 12's four clear inset symbols already equal its complete schematic quantity. Three 5/6-like and two 13/16-like inset glyphs remain deliberately unassigned. The certain per-address minima are retained in the output notes. The diagram supports physical-plane classification and broad feature locations, but its grouped bubbles, unresolved small digits and lack of a registered coordinate frame do not support normalized socket centers.
The Laser Kick uses candidate Kicker001 geometry because Kicker001_Hit explicitly publishes switch 17. The off-bounds sw17 helper and unbound visible sw17a are excluded. Pinned s11.c PIA comments identify handlers 0-5 as SP6, SP5, SP2, SP3, SP1 and SP4; applying setSSSol's Data East offsets (3, 4, 5, 1, 0, 2) derives printed SP1, SP3, SP4, SP6, SP5 and SP2 at public addresses 17-22. This is not inferred by treating printed SP numbers as handler indices. The manual, retained table geometry, and working script agree on the pop switches: Bumper2 is the center pop at switch 47 and Bumper3 is the right pop at switch 48; their SP1/SP2 coils are public outputs 17/22 respectively. Hidden Grotto transfer construction and special-solenoid pulse timing remain unresolved.
The 76-page manual has SHA-256 0c4be366c30942919b7101c69acfb6563ac8bc6cd5aaaac0bad24ae5b9b1afa7 and a 76,678-character text layer. That layer was not trusted for multi-column tables: all decisive switch, lamp, coil and construction cells were read from 300/400 dpi renders. Excerpts preserve printed capitalization, abbreviations and typos such as Ctr 3 Bank-Mid, DropTar. 50K, pinbAll, mansIon, schematic 23-1200, and chart 12-1200. Normalized semantic labels appear only in the machine record, while disagreements remain in its reconciliation conflicts.
The table SHA-256 is 3b32aeacee1c5beb1c723e6e1bba79ae269deb36cc56101201b5d171a7a8336b, contains 1,748 gameitems, and binds Const cGameName = "play_a24". Its exact bounds are right 952 and bottom 1974. Both values are asserted before normalization, and no other machine's geometry is reused.
Status remains partial; coverage.missing is [controller_platform, output_semantics, mechanism_behavior, polarity, spatial_placement, unresolved_conflicts].
controller_platform: no reviewed Data East controller profile yet represents this physical board family.output_semantics: callback group aliases/comments and core C-bank bulb typing disagree with printed physical functions.mechanism_behavior: hidden Grotto transfer geometry and hardware-triggered special-coil pulse behavior are absent.polarity: no original-machine trace reconciles cabinet button/EOS, K1 relay, and raw versus decoded output states.spatial_placement: table objects are presentation candidates, flash groups lack socket surveys, and seven routed PINBALL lamps are not located by the manual's drawing at all.unresolved_conflicts: ten source disagreements remain first-class.Consume PinMAME's decoded public mux outputs without adding another IRQ delay. Treat public 15/16 as flipper buttons rather than physical EOS contacts. Do not convert presentation proxies into extra hardware, infer socket locations from names, or erase the manual/core and manual/table disagreements.
Every driver that resolves to this physical machine.
| ROM set | Description | Year | Parent | Hardware |
|---|---|---|---|---|
| play_a24 | Playboy 35th Anniversary (2.4) The sole published driver. Exhaustive pinned-source search found no CORE_CLONEDEF and no second DRIVER entry; single-driver coverage is deliberate, not an omitted family. | 1989 | — | identical |
Parent set: play_a24 — 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
catalog/pinmame.json and src/wpc/driver.c line 474 contain only play_a24 for this title; exhaustive CORE_GAMEDEF/CORE_CLONEDEF search found no clone.
pinmame.core.4ec52ff0ac13
src/wpc/degames.c lines 77 and 237-245 decode INITGAMES11(play, GEN_DE, de_dispAlpha2, FLIP1516, SNDBRD_DE1S, 0, S11_MUXDELAY) into core_tGameData hardware fields and leave wpc.invSw zero-initialized; src/wpc/core.c lines 2455-2456 copy that zero mask into coreGlobals.invSw; src/wpc/s11.h line 229 defines one-IRQ mux delay; src/wpc/s11.c lines 537-554 apply Data East permutation {3,4,5,1,0,2}, lines 618-623 bind handler indices 0-5, and the PIA board comments at lines 714-715, 737-738, and 746-747 identify those handlers as printed SP6, SP5, SP2, SP3, SP1, and SP4 respectively; pia0b_w/updsol and lines 1145-1149 implement prior-byte timing and output types.
manual.data-east.playboy-35th-anniversary.1989
76 pages; 14,450,592 bytes; hashes.json sampled_characters=76,678. Contact sheet at 40 dpi located decisive pages; PDF pages 25-30 rendered at 400 dpi, printed page 26 re-rendered at 600 dpi, and construction pages rendered at 300 dpi. Every mapping cell was read from renders despite the text layer.
vpx-table.playboy-35th-hybrid-1.1
vpxtool git:0561bb4; 1748 files under gameitems/; exact asserted bounds (0,0)-(952,1974)
vpx-script.playboy-35th-hybrid-1.1
Const cGameName=play_a24; HandleMechanics=0; active SetLamp idiom has 15 output bindings plus one SetLamp subroutine definition, no Lampz.MassAssign and no vpmMapLights after whole-line comments are stripped; trough, saucers, Grotto, drop bank, kickback, flippers and sensors supply causality
vpx-extraction.playboy-35th-hybrid-1.1
2270 files; 164978347 bytes; algorithm: SHA-256 of the UTF-8 JSON object after removing manifest_sha256 and serializing with sorted keys, compact separators, and ensure_ascii=False.; canonical manifest SHA-256 408ba0ec4e18187f0f86c1970c33cc31b93af53df24ad83f2eeea599822bb672; 1748 files under gameitems/
human-review.playboy-35th-manual-renders
76-page contact sheet at 40 dpi; decisive matrix/coil pages rendered at 400 dpi, printed page 26 re-rendered at 600 dpi, and construction pages rendered at 300 dpi with Poppler on 2026-08-09. Tesseract/PDF text were secondary; rendered cells governed every mapping.
This definition still has 6 unmet requirements, listed under Coverage above. Fixes belong in the definition itself — editing on GitHub forks it for you and opens the pull request.
Cite a source for anything you change — a manual page, a line in a working VPX script, PinMAME source, or a reading from the machine's own service menu. Claims without provenance cannot be validated.