Pirates of the Caribbean

Partial

Stern2006SAMstern.pirates-of-the-caribbean.2006

4 unresolved conflicts

  • The controller profile pinmame.sam declares inversion_applied_by_emulator: true as a platform capability, matching every WPC profile this project has curated. For Stern S.A.M. pinned PinMAME applies none. sam.c's INITGAME macro expands to a positional aggregate initializer that stops at the hw sub-struct, so core_gameData->wpc.invSw is left at its C zero-initialization default, and core.c copies those zeros straight into coreGlobals.invSw at machine init. Searching the whole of src/wpc/sam.c for invSw returns no assignment anywhere, so this is a platform-wide fact to check on every future S.A.M. curation rather than a defect specific to this game -- the same shape as the Whitestar gap already recorded for Stern The Simpsons Pinball Party. Against that, this manual positively identifies seven switches as opto pairs: 3 (Hit Chest), 4 (Plunder Exit) and 11 (Plunder Enter) annotated (OPTO PAIR), 21 (Trough #1) annotated (VUK OPTO), 22 (Trough Jam) annotated (STACK OPTO), and 60 (Skill Hole Made) and 61 (Ship Made) annotated (OPTO PAIR); 21 and 22 additionally print transmitter and receiver part numbers 515-0173-00 and 515-0174-00 in place of a mechanical switch part. That set is the exhaustive result of sweeping all 64 printed cells for both of this page's own cues, and the page carries no shaded-cell legend and shades nothing. Physical construction is therefore known for seven addresses while their emulator-side normalization is not, and the manual never states normally-open or normally-closed for any individual switch either -- its own switch-wiring schematic inset labels all three terminals generically. Resolution path: a LibPinMAME gameplay-harness trace of a legal potc ROM observing the idle public state of switches 3, 4, 11, 21, 22, 60 and 61 with and without a ball present. Unresolved. controller.inversion_applied_by_emulator; inputs[binding.device=3,4,11,21,22,60,61]
  • The manual disagrees with itself about how its five flasher bulbs are split between the playfield and the back panel. The Coils Detailed Chart Table prints public solenoid 22 as FLASH: REAR CENTER (X2) and public solenoid 30 as FLASH: BACK RIGHT [X3], both #89 bulbs. The Coil & Flash Lamp Locations page draws one 22 callout and one 30 callout inside its back-panel inset with the grey 'Coils / Flash Lamps on Back Panel' shading, plus one 22 and two 30 callouts on the playfield plan -- which adds up to both printed quantities. But printed page 91 (Back Panel Assembly, Individual Parts Only) lists exactly two #89 sockets on the back panel as its ITEM 5 (QTY. 2) and labels both of them Q22 FLASH, with no Q30 socket drawn or listed anywhere on the page. The two pages cannot both be right. The retained known-working table is consistent with page 91 for address 22 (two co-located F22 Light objects at the playfield's own rear edge, normalized y 0.019 and 0.020) but also adds a third F22 light further onto the playfield, and for address 30 it models two playfield lights plus a co-located pair at the rear edge -- so it reproduces both readings at once and settles nothing. This record follows page 91's explicit parts list for address 22 and gives it a controlled cabinet_or_service spatial record with quantity 2. For address 30 no placement set can be produced whose count matches the printed quantity of three without choosing a side, so that record carries no spatial key at all. Resolution path: a photograph or lamp test of an unrestored machine's back panel showing how many #89 sockets are fitted and which driver each is wired to. Unresolved. outputs[binding.device=22,30]
  • The manual names the three pop bumpers LEFT, RIGHT and BOTTOM consistently on both of its own pages -- SW. #30/#31/#32 on the Switch Matrix Grid and #9/#10/#11 in the Coils Detailed Chart Table -- and its Coil & Flash Lamp Locations plan draws the three coil callouts at the bumper cluster's left, right and player-nearest positions in that order. The retained known-working script binds them the other way: its three Bumper objects pulse switches 30, 31 and 32 in naive numeric order (Bumper1 -> 30, Bumper2 -> 31, Bumper3 -> 32), and those objects sit at normalized (0.764, 0.290), (0.634, 0.219) and (0.843, 0.205), which makes the script's LEFT bumper the player-nearest one and its BOTTOM bumper the rightmost. Only one bijection between three names and three positions is geometrically coherent, and the manual's two pages plus the table's own geometry agree on it against the script's identifier ordering alone, so this record uses the manual's reading for all six placements. The disagreement is recorded rather than silently resolved because the runtime script is normally this project's authority for address semantics and it is the source being overruled. Resolution path: a photograph of the physical playfield with the bumper harness visible, or a coil test on real hardware. Unresolved. inputs[binding.device=30,31,32]; outputs[binding.device=9,10,11]
  • Pinned sam.c disagrees with itself about which of the two red coin-door adjustment buttons lands on public switch -2 and which on -1. Its descriptive comment block over dedswitch_upper_r reads 'D21 - DED #22 - Plus (Coin Door)' then 'D22 - DED #23 - Minus', while its own keyboard input-port table SAM_COMPORTS assigns 'Minus' to the port bit that CORE_SETKEYSW shifts into switch-column-0 bit 5 (public -2) and 'Plus' to the bit that becomes bit 6 (public -1). This manual's own dedicated-switch block agrees with the input-port table: D-22 is MINUS (< / - RED BUTTON), part 180-5192-02, and D-23 is PLUS (+ / > RED BUTTON), same part. Two sources against one resolve it in favour of Minus at -2 and Plus at -1, which is what this record uses. It is recorded as a first-class conflict for provenance completeness in the same spirit as the naming defect already recorded for Williams Bram Stoker's Dracula, even though both addresses are coin-door service buttons and neither can affect an authored playfield device. Unresolved in pinned source. inputs[binding.device=-2,-1]

Wire it up

what an authoring tool needs first
Bind this ROM
potc_600af

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

Controller platform
pinmame.sam

PinMAME already reports logical active state. Do not invert again in the table — normally-closed is a physical fact recorded per switch, not a runtime transform.

Displays
  • 128x32 Dot Matrix Display128×32
Address space
Switches
-7–88 (88)
Solenoids
1–66 (66)
Lamps
1–80 (80)
GI
0–0 (1)
DIP
1–8 (8)

A single aggregate GI channel — the whole string switches together.

Cabinet & flipper inputs
-7cabinet.tilt-6cabinet.slam-tilt-5cabinet.ticket-notch-3cabinet.service.back-2cabinet.service.minus-1cabinet.service.plus0cabinet.service.select65cabinet.coin.166cabinet.coin.267cabinet.coin.368cabinet.coin.469cabinet.coin.571cabinet.post-save.left-uk72cabinet.post-save.right-uk

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

144 placements · 12 stacked · normalised player view · outline is nominal

1 Left Lane2 Right Lane3 Hit Chest4 Plunder Exit6 Chest Lock28 Left Orbit · 28 Left Orbit Arrow29 Top Center VUK · 3 Top Center VUK10 Left Ramp Enter11 Plunder Enter12 Left Top Lane13 Middle Top Lane14 Right Top Lane618 Trough #4 (L) · 19 Trough #3 · 20 Trough #2 · 21 Trough #1 (R) · 22 Trough Jam · 1 Trough Up-Kicker23 Shooter Lane24 Left Outlane25 Left Inlane226 Left Sling · 25 Left Slingshot227 Right Sling · 26 Right Slingshot28 Right Inlane29 Right Outlane330 Left Bumper · 9 Left Bumper · 27 Pop Bumper331 Right Bumper · 10 Right Bumper · 27 Pop Bumper332 Bottom Bumper · 11 Bottom Bumper · 27 Pop Bumper37 L. Bonus Treasure39 R. Bonus Treasure42 Plunder 143 Plunder 244 Plunder 345 Plunder 446 Plunder 547 Plunder 650 Pirate 1 (Left)51 Pirate 252 Pirate 353 Pirate 454 Pirate 555 Pirate 6 (Right)256 Pop Eject · 18 Pop Bumper Eject57 Jack Scoop Exit58 Right Orbit60 Skill Hole Made61 Ship Made662 Ship Fully Sunk · 63 Ship Home · 5 Raise Sails · 21 Ship Motor · 27 Ship Motor Relay · 28 Lower Sails Latch281 Right Flipper E.O.S. · 16 Right Flipper283 Left Flipper E.O.S. · 15 Left Flipper2 Auto Launch4 Chest Lid6 Plunder Disk Motor19 Chest Kicker20 Flash: Chest23 Plunder Pin29 Ship Pin (Up Post)31 Flash: Back Left32 Flash: Ship3 Shoot Again4 Left Outlane5 Left Inlane6 Right Inlane7 Right Outlane8 Four Winds8 Four Winds9 Compass - North10 Compass - Sword Fight11 Compass - Davy Jones12 Compass - East13 Compass - Heart SJP14 Compass - All Pirates15 Compass - South16 Compass - Port Royal17 Compass - Kraken18 Compass - West19 Compass - Jack/Monkey20 Compass - Ship Sunk21 Right Bonus Treasure22 Left Side Lane Arrow23 Ship Jackpot24 (H)eart25 Davy Jones26 Timed Ball Lock29 Left Orbit Jackpot30 Right Orbit Jackpot31 Right Special32 H(e)art40 He(a)rt41 Pirate 642 Left Special43 Left Bonus Treasure44 Chest Arrow45 Left Ramp Arrow46 Port Royal47 Tortuga48 Hea(r)t49 Pirate 150 Pirate 251 Pirate 352 Pirate 453 Pirate 554 Heart Multiball55 Ke(y)56 Hear(t)57 Scoop Arrow58 (J)ack59 J(a)ck60 Ja(c)k61 Jac(k)62 (K)ey63 K(e)y64 Heart 1 (double-dot)65 Ship Arrow66 Interceptor67 Dauntless68 Edinburgh Trader69 Terpsichore70 Award Compass71 Right Orbit Arrow72 Heart 2 (double-dot)73 Kraken Mouth74 Center Arrow75 Center Jackpot76 Extra Ball77 Liars Dice

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 playfield74
  • sensorsenses the ball50
  • effectmoves the ball20
  • nStackseveral devices in one spot12
141 devices shown

Not on the playfield42 unused, 32 cabinet or service, 18 virtual, 8 dip switch — declared rather than missing.

Coverage

Partial

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

Catalog Identity
validated
Address Enumeration
validated
Semantic Naming
validated
Physical Wiring
conflicted
Mechanisms
validated
Variant Coverage
validated
Recreation Knowledge
observed
Still missing · 4
PolaritySpatial PlacementUnresolved ConflictsRecreation Notes

Switches

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

88 addresses

Switch map

Sequential addresses, grouped in columns of eight.

used unused
 
+0
+1
+2
+3
+4
+5
+6
+7
1–8
9–16
17–24
25–32
33–40
41–48
49–56
57–64
65–72
73–80
81–88
Hover or tap an address to identify it.

Outside the matrix-7, -6, -5, -4, -3, -2, -1, 0 — dedicated, diagnostic or flipper-column addresses. See the table below.

88 shown
# Name Device ID Role Wiring Evidence
-7
Tilt Pendulum (Plumb Bob)
Tilt
switch.service-d17
cabinet.tilt
J13-P1Light Green-Brown
S.A.M. CPU/Sound board
validated
-6
Slam Tiltopt
Tilt
switch.service-d18
cabinet.slam-tilt
J13-P3Light Green-Red
S.A.M. CPU/Sound board
validated
-5
Ticket Notchopt
switch.service-d19
cabinet.ticket-notch
J13-P4Light Green-Orange
S.A.M. CPU/Sound board
validated
-4
Not Used
switch.service-d20
J13-P5Light Green-Yellow
S.A.M. CPU/Sound board
validated
-3
Back (Green Button)
Button
switch.service-d21
cabinet.service.back
J13-P6Light Green-Black
S.A.M. CPU/Sound board
validated
-2
Minus (Red Button)
Button
switch.service-d22
cabinet.service.minus
J13-P7Light Green-Blue
S.A.M. CPU/Sound board
validated
-1
Plus (Red Button)
Button
switch.service-d23
cabinet.service.plus
J13-P8Light Green-Violet
S.A.M. CPU/Sound board
validated
0
Select (Black Button)
Button
switch.service-d24
cabinet.service.select
J13-P9Light Green-Gray
S.A.M. CPU/Sound board
validated
1
Left Lane
switch.matrix-1
J1-P1Green-Brown
J6-P9White-Brown
S.A.M. CPU/Sound board
validated
2
Right Lane
switch.matrix-2
J1-P1Green-Brown
J6-P8White-Red
S.A.M. CPU/Sound board
validated
3
Hit Chest
Opto
switch.matrix-3
J1-P1Green-Brown
J6-P7White-Orange
S.A.M. CPU/Sound board
validated
4
Plunder Exit
Opto
switch.matrix-4
J1-P1Green-Brown
J6-P6White-Yellow
S.A.M. CPU/Sound board
validated
5
Not Used
switch.matrix-5
J1-P1Green-Brown
J6-P5White-Green
S.A.M. CPU/Sound board
validated
6
Chest Lock
switch.matrix-6
J1-P1Green-Brown
J6-P3White-Blue
S.A.M. CPU/Sound board
validated
7
Not Used
switch.matrix-7
J1-P1Green-Brown
J6-P2White-Violet
S.A.M. CPU/Sound board
validated
8
Left Orbit
switch.matrix-8
J1-P1Green-Brown
J6-P1White-Gray
S.A.M. CPU/Sound board
validated
9
Top Center VUK
switch.matrix-9
J1-P1Green-Brown
J12-P9Tan-Black
S.A.M. CPU/Sound board
validated
10
Left Ramp Enter
switch.matrix-10
J1-P1Green-Brown
J12-P8Tan-Red
S.A.M. CPU/Sound board
validated
11
Plunder Enter
Opto
switch.matrix-11
J1-P1Green-Brown
J12-P7Tan-Orange
S.A.M. CPU/Sound board
validated
12
Left Top Lane
switch.matrix-12
J1-P1Green-Brown
J12-P6Tan-Yellow
S.A.M. CPU/Sound board
validated
13
Middle Top Lane
switch.matrix-13
J1-P1Green-Brown
J12-P4Tan-Green
S.A.M. CPU/Sound board
validated
14
Right Top Lane
switch.matrix-14
J1-P1Green-Brown
J12-P3Tan-Blue
S.A.M. CPU/Sound board
validated
15
Tournament Start
Button
switch.matrix-15
J1-P1Green-Brown
J12-P2Tan-Violet
S.A.M. CPU/Sound board
validated
16
Start Button
Button
switch.matrix-16
J1-P1Green-Brown
J12-P1Tan-White
S.A.M. CPU/Sound board
validated
17
Not Used
switch.matrix-17
J1-P3Green-Red
J6-P9White-Brown
S.A.M. CPU/Sound board
validated
18
Trough #4 (L)
switch.matrix-18
J1-P3Green-Red
J6-P8White-Red
S.A.M. CPU/Sound board
validated
19
Trough #3
switch.matrix-19
J1-P3Green-Red
J6-P7White-Orange
S.A.M. CPU/Sound board
validated
20
Trough #2
switch.matrix-20
J1-P3Green-Red
J6-P6White-Yellow
S.A.M. CPU/Sound board
validated
21
Trough #1 (R)
Opto
switch.matrix-21
J1-P3Green-Red
J6-P5White-Green
S.A.M. CPU/Sound board
validated
22
Trough Jam
Opto
switch.matrix-22
J1-P3Green-Red
J6-P3White-Blue
S.A.M. CPU/Sound board
validated
23
Shooter Lane
switch.matrix-23
J1-P3Green-Red
J6-P2White-Violet
S.A.M. CPU/Sound board
validated
24
Left Outlane
switch.matrix-24
J1-P3Green-Red
J6-P1White-Gray
S.A.M. CPU/Sound board
validated
25
Left Inlane
switch.matrix-25
J1-P3Green-Red
J12-P9Tan-Black
S.A.M. CPU/Sound board
validated
26
Left Sling
switch.matrix-26
J1-P3Green-Red
J12-P8Tan-Red
S.A.M. CPU/Sound board
validated
27
Right Sling
switch.matrix-27
J1-P3Green-Red
J12-P7Tan-Orange
S.A.M. CPU/Sound board
validated
28
Right Inlane
switch.matrix-28
J1-P3Green-Red
J12-P6Tan-Yellow
S.A.M. CPU/Sound board
validated
29
Right Outlane
switch.matrix-29
J1-P3Green-Red
J12-P4Tan-Green
S.A.M. CPU/Sound board
validated
30
Left Bumper
switch.matrix-30
J1-P3Green-Red
J12-P3Tan-Blue
S.A.M. CPU/Sound board
validated
31
Right Bumper
switch.matrix-31
J1-P3Green-Red
J12-P2Tan-Violet
S.A.M. CPU/Sound board
validated
32
Bottom Bumper
switch.matrix-32
J1-P3Green-Red
J12-P1Tan-White
S.A.M. CPU/Sound board
validated
33
Not Used
switch.matrix-33
J1-P4Green-Orange
J6-P9White-Brown
S.A.M. CPU/Sound board
validated
34
Not Used
switch.matrix-34
J1-P4Green-Orange
J6-P8White-Red
S.A.M. CPU/Sound board
validated
35
Not Used
switch.matrix-35
J1-P4Green-Orange
J6-P7White-Orange
S.A.M. CPU/Sound board
validated
36
Not Used
switch.matrix-36
J1-P4Green-Orange
J6-P6White-Yellow
S.A.M. CPU/Sound board
validated
37
L. Bonus Treasure
switch.matrix-37
J1-P4Green-Orange
J6-P5White-Green
S.A.M. CPU/Sound board
validated
38
Not Used
switch.matrix-38
J1-P4Green-Orange
J6-P3White-Blue
S.A.M. CPU/Sound board
validated
39
R. Bonus Treasure
switch.matrix-39
J1-P4Green-Orange
J6-P2White-Violet
S.A.M. CPU/Sound board
validated
40
Not Used
switch.matrix-40
J1-P4Green-Orange
J6-P1White-Gray
S.A.M. CPU/Sound board
validated
41
Not Used
switch.matrix-41
J1-P4Green-Orange
J12-P9Tan-Black
S.A.M. CPU/Sound board
validated
42
Plunder 1
switch.matrix-42
J1-P4Green-Orange
J12-P8Tan-Red
S.A.M. CPU/Sound board
validated
43
Plunder 2
switch.matrix-43
J1-P4Green-Orange
J12-P7Tan-Orange
S.A.M. CPU/Sound board
validated
44
Plunder 3
switch.matrix-44
J1-P4Green-Orange
J12-P6Tan-Yellow
S.A.M. CPU/Sound board
validated
45
Plunder 4
switch.matrix-45
J1-P4Green-Orange
J12-P4Tan-Green
S.A.M. CPU/Sound board
validated
46
Plunder 5
switch.matrix-46
J1-P4Green-Orange
J12-P3Tan-Blue
S.A.M. CPU/Sound board
validated
47
Plunder 6
switch.matrix-47
J1-P4Green-Orange
J12-P2Tan-Violet
S.A.M. CPU/Sound board
validated
48
Not Used
switch.matrix-48
J1-P4Green-Orange
J12-P1Tan-White
S.A.M. CPU/Sound board
validated
49
Not Used
switch.matrix-49
J1-P5Green-Yellow
J6-P9White-Brown
S.A.M. CPU/Sound board
validated
50
Pirate 1 (Left)
switch.matrix-50
J1-P5Green-Yellow
J6-P8White-Red
S.A.M. CPU/Sound board
validated
51
Pirate 2
switch.matrix-51
J1-P5Green-Yellow
J6-P7White-Orange
S.A.M. CPU/Sound board
validated
52
Pirate 3
switch.matrix-52
J1-P5Green-Yellow
J6-P6White-Yellow
S.A.M. CPU/Sound board
validated
53
Pirate 4
switch.matrix-53
J1-P5Green-Yellow
J6-P5White-Green
S.A.M. CPU/Sound board
validated
54
Pirate 5
switch.matrix-54
J1-P5Green-Yellow
J6-P3White-Blue
S.A.M. CPU/Sound board
validated
55
Pirate 6 (Right)
switch.matrix-55
J1-P5Green-Yellow
J6-P2White-Violet
S.A.M. CPU/Sound board
validated
56
Pop Eject
switch.matrix-56
J1-P5Green-Yellow
J6-P1White-Gray
S.A.M. CPU/Sound board
validated
57
Jack Scoop Exit
switch.matrix-57
J1-P5Green-Yellow
J12-P9Tan-Black
S.A.M. CPU/Sound board
validated
58
Right Orbit
switch.matrix-58
J1-P5Green-Yellow
J12-P8Tan-Red
S.A.M. CPU/Sound board
validated
59
Not Used
switch.matrix-59
J1-P5Green-Yellow
J12-P7Tan-Orange
S.A.M. CPU/Sound board
validated
60
Skill Hole Made
Opto
switch.matrix-60
J1-P5Green-Yellow
J12-P6Tan-Yellow
S.A.M. CPU/Sound board
validated
61
Ship Made
Opto
switch.matrix-61
J1-P5Green-Yellow
J12-P4Tan-Green
S.A.M. CPU/Sound board
validated
62
Ship Fully Sunk
switch.matrix-62
J1-P5Green-Yellow
J12-P3Tan-Blue
S.A.M. CPU/Sound board
validated
63
Ship Home
switch.matrix-63
J1-P5Green-Yellow
J12-P2Tan-Violet
S.A.M. CPU/Sound board
validated
64
Not Used
switch.matrix-64
J1-P5Green-Yellow
J12-P1Tan-White
S.A.M. CPU/Sound board
validated
65
Left Coin Slot
switch.dedicated-65
cabinet.coin.1
J2-P2Pink-Brown
S.A.M. CPU/Sound board
validated
66
Center Coin Slot/DBA
switch.dedicated-66
cabinet.coin.2
J2-P3Pink-Red
S.A.M. CPU/Sound board
validated
67
Right Coin Slot
switch.dedicated-67
cabinet.coin.3
J2-P4Pink-Orange
S.A.M. CPU/Sound board
validated
68
Fourth Coin Slot
switch.dedicated-68
cabinet.coin.4
J2-P6Pink-Yellow
S.A.M. CPU/Sound board
validated
69
Fifth Coin Slotopt
switch.dedicated-69
cabinet.coin.5
J2-P7Pink-Green
S.A.M. CPU/Sound board
validated
70
Not Used
switch.dedicated-70
J2-P8Pink-Blue
S.A.M. CPU/Sound board
validated
71
L. Post Save (UK Only)opt
Button
switch.dedicated-71
cabinet.post-save.left-uk
J2-P9Pink-Violet
S.A.M. CPU/Sound board
validated
72
R. Post Save (UK Only)opt
Button
switch.dedicated-72
cabinet.post-save.right-uk
J2-P10Pink-Gray
S.A.M. CPU/Sound board
validated
81
Right Flipper E.O.S.
switch.flipper-81
cabinet.flipper.right-eos
J3-P5Gray-Yellow
S.A.M. CPU/Sound board
validated
82
R. Flipper Button
Button
switch.flipper-82
cabinet.flipper.right-button
J3-P4Gray-Orange
S.A.M. CPU/Sound board
validated
83
Left Flipper E.O.S.
switch.flipper-83
cabinet.flipper.left-eos
J3-P2Gray-Red
S.A.M. CPU/Sound board
validated
84
Left Flipper Button
Button
switch.flipper-84
cabinet.flipper.left-button
J3-P1Gray-Brown
S.A.M. CPU/Sound board
validated
85
Not Used
switch.flipper-85
J3-P9Gray-Black
S.A.M. CPU/Sound board
validated
86
Not Used
switch.flipper-86
J3-P8Gray-Violet
S.A.M. CPU/Sound board
validated
87
Not Used
switch.flipper-87
J3-P7Gray-Blue
S.A.M. CPU/Sound board
validated
88
Not Used
switch.flipper-88
J3-P6Gray-Green
S.A.M. CPU/Sound board
validated

Controlled devices

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

Coils, magnets & motors

43
43 shown
# Name Device ID Kind Role Wiring Evidence
1
Trough Up-Kicker
solenoid.1 Coil
trough.eject
Q1Brown-Black
S.A.M. I/O Power Driver board
validated
2
Auto Launch
solenoid.2 Coil
shooter.autolaunch
Q2Brown-Red
S.A.M. I/O Power Driver board
validated
3
Top Center VUK
solenoid.3 Coil
Q3Brown-Orange
S.A.M. I/O Power Driver board
validated
4
Chest Lid
solenoid.4 Coil
Q4Brown-Yellow
S.A.M. I/O Power Driver board
validated
5
Raise Sails
solenoid.5 Coil
Q5Brown-Green
S.A.M. I/O Power Driver board
validated
6
Plunder Disk Motor
solenoid.6 Motor
Q6Brown-Blue
S.A.M. I/O Power Driver board
validated
7
Not Used
solenoid.7 Coil
Q7Brown-Violet
S.A.M. I/O Power Driver board
validated
8
Not Used
solenoid.8 Coil
Q8Brown-Gray
S.A.M. I/O Power Driver board
validated
9
Left Bumper
solenoid.9 Coil
Q9Blue-Brown
S.A.M. I/O Power Driver board
validated
10
Right Bumper
solenoid.10 Coil
Q10Blue-Red
S.A.M. I/O Power Driver board
validated
11
Bottom Bumper
solenoid.11 Coil
Q11Blue-Orange
S.A.M. I/O Power Driver board
validated
12
Not Used
solenoid.12 Coil
Q12Blue-Yellow
S.A.M. I/O Power Driver board
validated
13
Not Used
solenoid.13 Coil
Q13Blue-Green
S.A.M. I/O Power Driver board
validated
14
Not Used
solenoid.14 Coil
Q14Blue-Black
S.A.M. I/O Power Driver board
validated
15
Left Flipper
solenoid.15 Coil
flipper.left.coil
Q15Orange-Gray
S.A.M. I/O Power Driver board
validated
16
Right Flipper
solenoid.16 Coil
flipper.right.coil
Q16Orange-Violet
S.A.M. I/O Power Driver board
validated
17
Not Used
solenoid.17 Coil
Q17Violet-Brown
S.A.M. I/O Power Driver board
validated
18
Pop Bumper Eject
solenoid.18 Coil
Q18Violet-Red
S.A.M. I/O Power Driver board
validated
19
Chest Kicker
solenoid.19 Coil
Q19Violet-Orange
S.A.M. I/O Power Driver board
validated
21
Ship Motor
solenoid.21 Motor
Q21Violet-Green
S.A.M. I/O Power Driver board
validated
23
Plunder Pin
solenoid.23 Coil
Q23Violet-Black
S.A.M. I/O Power Driver board
validated
24
Optional Coilopt
solenoid.24 Coil
Q24Violet-Gray
S.A.M. I/O Power Driver board
validated
25
Left Slingshot
solenoid.25 Coil
Q25Black-Brown
S.A.M. I/O Power Driver board
validated
26
Right Slingshot
solenoid.26 Coil
Q26Black-Red
S.A.M. I/O Power Driver board
validated
27
Ship Motor Relay
solenoid.27 Relay
Q27Black-Orange
S.A.M. I/O Power Driver board
validated
28
Lower Sails Latch
solenoid.28 Coil
Q28Black-Yellow
S.A.M. I/O Power Driver board
validated
29
Ship Pin (Up Post)
solenoid.29 Coil
Q29Black-Green
S.A.M. I/O Power Driver board
validated
51
Auxiliary driver output 1 (no auxiliary board fitted)
solenoid.51 Coil
validated
52
Auxiliary driver output 2 (no auxiliary board fitted)
solenoid.52 Coil
validated
53
Auxiliary driver output 3 (no auxiliary board fitted)
solenoid.53 Coil
validated
54
Auxiliary driver output 4 (no auxiliary board fitted)
solenoid.54 Coil
validated
55
Auxiliary driver output 5 (no auxiliary board fitted)
solenoid.55 Coil
validated
56
Auxiliary driver output 6 (no auxiliary board fitted)
solenoid.56 Coil
validated
57
Auxiliary driver output 7 (no auxiliary board fitted)
solenoid.57 Coil
validated
58
Auxiliary driver output 8 (no auxiliary board fitted)
solenoid.58 Coil
validated
59
Auxiliary driver output 9 (no auxiliary board fitted)
solenoid.59 Coil
validated
60
Auxiliary driver output 10 (no auxiliary board fitted)
solenoid.60 Coil
validated
61
Auxiliary driver output 11 (no auxiliary board fitted)
solenoid.61 Coil
validated
62
Auxiliary driver output 12 (no auxiliary board fitted)
solenoid.62 Coil
validated
63
Auxiliary driver output 13 (no auxiliary board fitted)
solenoid.63 Coil
validated
64
Auxiliary driver output 14 (no auxiliary board fitted)
solenoid.64 Coil
validated
65
Auxiliary driver output 15 (no auxiliary board fitted)
solenoid.65 Coil
validated
66
Auxiliary driver output 16 (no auxiliary board fitted)
solenoid.66 Coil
validated

Flashers

5
5 shown
# Name Device ID Wiring Evidence
20
Flash: Chest
solenoid.20
Q20Violet-White
S.A.M. I/O Power Driver board
validated
22
Flash: Rear Center
solenoid.22
Q22Violet-Blue
S.A.M. I/O Power Driver board
validated
30
Flash: Back Right
solenoid.30
Q30Black-Blue
S.A.M. I/O Power Driver board
validated
31
Flash: Back Left
solenoid.31
Q31Black-Violet
S.A.M. I/O Power Driver board
validated
32
Flash: Ship
solenoid.32
Q32Black-Gray
S.A.M. I/O Power Driver board
validated

Lamps

80

Lamp map

Sequential addresses, grouped in columns of eight.

used unused
 
+0
+1
+2
+3
+4
+5
+6
+7
1–8
9–16
17–24
25–32
33–40
41–48
49–56
57–64
65–72
73–80
Hover or tap an address to identify it.
80 shown
# Name Device ID Wiring Evidence
1
Start Button
lamp.1
Q33
S.A.M. I/O Power Driver board
validated
2
Tournament Start Button
lamp.2
Q33
S.A.M. I/O Power Driver board
validated
3
Shoot Again
lamp.3
Q33
S.A.M. I/O Power Driver board
validated
4
Left Outlane
lamp.4
Q33
S.A.M. I/O Power Driver board
validated
5
Left Inlane
lamp.5
Q33
S.A.M. I/O Power Driver board
validated
6
Right Inlane
lamp.6
Q33
S.A.M. I/O Power Driver board
validated
7
Right Outlane
lamp.7
Q33
S.A.M. I/O Power Driver board
validated
8
Four Winds
lamp.8
Q33
S.A.M. I/O Power Driver board
validated
9
Compass - North
lamp.9
Q34
S.A.M. I/O Power Driver board
validated
10
Compass - Sword Fight
lamp.10
Q34
S.A.M. I/O Power Driver board
validated
11
Compass - Davy Jones
lamp.11
Q34
S.A.M. I/O Power Driver board
validated
12
Compass - East
lamp.12
Q34
S.A.M. I/O Power Driver board
validated
13
Compass - Heart SJP
lamp.13
Q34
S.A.M. I/O Power Driver board
validated
14
Compass - All Pirates
lamp.14
Q34
S.A.M. I/O Power Driver board
validated
15
Compass - South
lamp.15
Q34
S.A.M. I/O Power Driver board
validated
16
Compass - Port Royal
lamp.16
Q34
S.A.M. I/O Power Driver board
validated
17
Compass - Kraken
lamp.17
Q35
S.A.M. I/O Power Driver board
validated
18
Compass - West
lamp.18
Q35
S.A.M. I/O Power Driver board
validated
19
Compass - Jack/Monkey
lamp.19
Q35
S.A.M. I/O Power Driver board
validated
20
Compass - Ship Sunk
lamp.20
Q35
S.A.M. I/O Power Driver board
validated
21
Right Bonus Treasure
lamp.21
Q35
S.A.M. I/O Power Driver board
validated
22
Left Side Lane Arrow
lamp.22
Q35
S.A.M. I/O Power Driver board
validated
23
Ship Jackpot
lamp.23
Q35
S.A.M. I/O Power Driver board
validated
24
(H)eart
lamp.24
Q35
S.A.M. I/O Power Driver board
validated
25
Davy Jones
lamp.25
Q36
S.A.M. I/O Power Driver board
validated
26
Timed Ball Lock
lamp.26
Q36
S.A.M. I/O Power Driver board
validated
27
Pop Bumper
lamp.27
Q36
S.A.M. I/O Power Driver board
validated
28
Left Orbit Arrow
lamp.28
Q36
S.A.M. I/O Power Driver board
validated
29
Left Orbit Jackpot
lamp.29
Q36
S.A.M. I/O Power Driver board
validated
30
Right Orbit Jackpot
lamp.30
Q36
S.A.M. I/O Power Driver board
validated
31
Right Special
lamp.31
Q36
S.A.M. I/O Power Driver board
validated
32
H(e)art
lamp.32
Q36
S.A.M. I/O Power Driver board
validated
33
Backpanel #1 (L)
lamp.33
Q37
S.A.M. I/O Power Driver board
validated
34
Backpanel #2
lamp.34
Q37
S.A.M. I/O Power Driver board
validated
35
Backpanel #3
lamp.35
Q37
S.A.M. I/O Power Driver board
validated
36
Backpanel #4
lamp.36
Q37
S.A.M. I/O Power Driver board
validated
37
Backpanel #5
lamp.37
Q37
S.A.M. I/O Power Driver board
validated
38
Backpanel #6
lamp.38
Q37
S.A.M. I/O Power Driver board
validated
39
Backpanel #7 (R)
lamp.39
Q37
S.A.M. I/O Power Driver board
validated
40
He(a)rt
lamp.40
Q37
S.A.M. I/O Power Driver board
validated
41
Pirate 6
lamp.41
Q38
S.A.M. I/O Power Driver board
validated
42
Left Special
lamp.42
Q38
S.A.M. I/O Power Driver board
validated
43
Left Bonus Treasure
lamp.43
Q38
S.A.M. I/O Power Driver board
validated
44
Chest Arrow
lamp.44
Q38
S.A.M. I/O Power Driver board
validated
45
Left Ramp Arrow
lamp.45
Q38
S.A.M. I/O Power Driver board
validated
46
Port Royal
lamp.46
Q38
S.A.M. I/O Power Driver board
validated
47
Tortuga
lamp.47
Q38
S.A.M. I/O Power Driver board
validated
48
Hea(r)t
lamp.48
Q38
S.A.M. I/O Power Driver board
validated
49
Pirate 1
lamp.49
Q39
S.A.M. I/O Power Driver board
validated
50
Pirate 2
lamp.50
Q39
S.A.M. I/O Power Driver board
validated
51
Pirate 3
lamp.51
Q39
S.A.M. I/O Power Driver board
validated
52
Pirate 4
lamp.52
Q39
S.A.M. I/O Power Driver board
validated
53
Pirate 5
lamp.53
Q39
S.A.M. I/O Power Driver board
validated
54
Heart Multiball
lamp.54
Q39
S.A.M. I/O Power Driver board
validated
55
Ke(y)
lamp.55
Q39
S.A.M. I/O Power Driver board
validated
56
Hear(t)
lamp.56
Q39
S.A.M. I/O Power Driver board
validated
57
Scoop Arrow
lamp.57
Q40
S.A.M. I/O Power Driver board
validated
58
(J)ack
lamp.58
Q40
S.A.M. I/O Power Driver board
validated
59
J(a)ck
lamp.59
Q40
S.A.M. I/O Power Driver board
validated
60
Ja(c)k
lamp.60
Q40
S.A.M. I/O Power Driver board
validated
61
Jac(k)
lamp.61
Q40
S.A.M. I/O Power Driver board
validated
62
(K)ey
lamp.62
Q40
S.A.M. I/O Power Driver board
validated
63
K(e)y
lamp.63
Q40
S.A.M. I/O Power Driver board
validated
64
Heart 1 (double-dot)
lamp.64
Q40
S.A.M. I/O Power Driver board
validated
65
Ship Arrow
lamp.65
Q41
S.A.M. I/O Power Driver board
validated
66
Interceptor
lamp.66
Q41
S.A.M. I/O Power Driver board
validated
67
Dauntless
lamp.67
Q41
S.A.M. I/O Power Driver board
validated
68
Edinburgh Trader
lamp.68
Q41
S.A.M. I/O Power Driver board
validated
69
Terpsichore
lamp.69
Q41
S.A.M. I/O Power Driver board
validated
70
Award Compass
lamp.70
Q41
S.A.M. I/O Power Driver board
validated
71
Right Orbit Arrow
lamp.71
Q41
S.A.M. I/O Power Driver board
validated
72
Heart 2 (double-dot)
lamp.72
Q41
S.A.M. I/O Power Driver board
validated
73
Kraken Mouth
lamp.73
Q42
S.A.M. I/O Power Driver board
validated
74
Center Arrow
lamp.74
Q42
S.A.M. I/O Power Driver board
validated
75
Center Jackpot
lamp.75
Q42
S.A.M. I/O Power Driver board
validated
76
Extra Ball
lamp.76
Q42
S.A.M. I/O Power Driver board
validated
77
Liars Dice
lamp.77
Q42
S.A.M. I/O Power Driver board
validated
78
Left Top Lane
lamp.78
Q42
S.A.M. I/O Power Driver board
validated
79
Middle Top Lane
lamp.79
Q42
S.A.M. I/O Power Driver board
validated
80
Right Top Lane
lamp.80
Q42
S.A.M. I/O Power Driver board
validated

General illumination

1
1 shown
# Name Device ID Evidence
0
General Illumination Relay
gi.0 observed

Virtual & other outputs

18
18 shown
# Name Device ID Evidence
33
PinMAME SAM game-on state
solenoid.33 validated
34
Unused (S.A.M. reads the game-on state here)
solenoid.34 validated
35
Unused (S.A.M. reads the game-on state here)
solenoid.35 validated
36
Unused (S.A.M. reads the game-on state here)
solenoid.36 validated
37
Unused S.A.M. extra-solenoid address
solenoid.37 validated
38
Unused S.A.M. extra-solenoid address
solenoid.38 validated
39
Unused S.A.M. extra-solenoid address
solenoid.39 validated
40
Unused S.A.M. extra-solenoid address
solenoid.40 validated
41
Unused S.A.M. extra-solenoid address
solenoid.41 validated
42
Unused S.A.M. extra-solenoid address
solenoid.42 validated
43
Unused S.A.M. extra-solenoid address
solenoid.43 validated
44
Unused S.A.M. extra-solenoid address
solenoid.44 validated
45
Unused legacy lower-right flipper power address
solenoid.45 validated
46
Unused legacy lower-right flipper hold address
solenoid.46 validated
47
Unused legacy lower-left flipper power address
solenoid.47 validated
48
Unused legacy lower-left flipper hold address
solenoid.48 validated
49
PinMAME built-in ball simulator output
solenoid.49 validated
50
PinMAME reserved simulated output
solenoid.50 validated

Configuration & other inputs

8 shown
# Name Device ID Evidence
1
CPU/Sound Board SW1 DIP Position #1
dip.sw1-1 validated
2
CPU/Sound Board SW1 DIP Position #2
dip.sw1-2 validated
3
CPU/Sound Board SW1 DIP Position #3
dip.sw1-3 validated
4
CPU/Sound Board SW1 DIP Position #4
dip.sw1-4 validated
5
CPU/Sound Board SW1 DIP Position #5
dip.sw1-5 validated
6
CPU/Sound Board SW1 DIP Position #6
dip.sw1-6 validated
7
CPU/Sound Board SW1 DIP Position #7
dip.sw1-7 validated
8
CPU/Sound Board SW1 DIP Position #8
dip.sw1-8 validated

Mechanisms

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

Four-Ball Trough

mech.ball-trough

Kicker

A four-ball trough below the playfield. The manual prints its four position switches as TROUGH #4 (L), #3, #2 and #1 (R) at public 18, 19, 20 and 21, and prints them as two different constructions on the same page: #4, #3 and #2 are mechanical switches (180-5119-02) while #1 is an opto pair annotated (VUK OPTO) with transmitter and receiver parts 515-0173-00 and 515-0174-00. A fifth address, public 22, is a second opto pair annotated (STACK OPTO) and named TROUGH JAM in italics; it sits in the trough's own exit path rather than at a ball rest position. Solenoid 1 (Trough Up-Kicker, 26-1200) lifts one ball out to the shooter lane. The retained known-working script models the whole assembly as one cvpmBallStack (bsTROUGH.InitSw 0,21,20,19,18,0,0,0 with InitKick BallRelease and Balls = 4) and asserts the jam opto as a pulse from inside SolTrough (vpmTimer.PulseSw 22), which is the ball crossing that opto as it leaves rather than the coil actuating the switch. None of the five switches has its own object in the retained table, so all five placements are documented projections onto the trough's own ball-release kicker. Default state at rest with a full trough is all four position switches made; solenoid 1 is a single pulse per ball, not a hold.

Auto Launch

mech.auto-launch

Kicker

A 23-800 auto-launch coil in the shooter lane, fired by the ROM to put a served ball into play without the player pulling the plunger. Public switch 23 (Shooter Lane, 180-5157-00) reports the ball waiting in the lane. The retained script wires solenoid 2 to a cvpmImpulseP plunger (PlungerIM.AutoFire) at the plunger's own position. The coil does not actuate the switch: the ball resting on the lane switch is what closes it, and launching releases it.

Top Center Vertical Up-Kicker

mech.top-center-vuk

Kicker

A vertical up-kicker at the top centre of the playfield, coil 26-1200 on public solenoid 3, with public switch 9 (Top Center VUK, 180-5119-02-family part 180-5209-00) reporting a ball held in the kicker's own cup. The switch cell carries the manual's D.O.T.S. annotation, which the Lamp Locations page defines as 'Diode On Terminal Strip' -- a wiring note, not a construction type. The retained script models it as a cvpmBallStack kicker (bsL.InitSw 0, 9 with InitKick sw9, 89, 20), so the ball is captured, held on the switch, and then kicked upward at a steep angle.

Pop Bumper Eject Hole

mech.pop-bumper-eject

Kicker

An eject hole in the pop-bumper area: public switch 56 (Pop Eject, 180-5186-01) reports a ball in the hole and public solenoid 18 (Pop Bumper Eject, 26-1200) ejects it. The retained script models it as a saucer (bsPOP.InitSaucer sw56, 56, 75, 8), so the ball is held on the switch until the ROM fires the coil. This is the ejector for the hole beside the three pop bumpers, not the pop bumpers themselves, whose own coils are public 9, 10 and 11.

Treasure Chest

mech.treasure-chest

Toy

A hinged treasure chest on the right side of the playfield that opens its lid to accept a ball and locks it. Public solenoid 4 (Chest Lid, 27-1400) opens and closes the lid; the retained script's SolChest drops the ChestOpen wall while raising ChestClosed and a companion timer rotates the chest Primitive from RotX 0 to 66 degrees in 3-degree steps, so the lid is a flap that swings up rather than a cover that slides. Public solenoid 19 (Chest Kicker, 26-1200) releases a locked ball: the script's SolChestExit raises and lowers the ChestPin wall at the chest exit. Public switch 3 (Hit Chest) is an opto pair in front of the chest that registers a shot at it; public switch 6 (Chest Lock, 180-5119-02, above playfield) registers a ball actually captured inside. Public solenoid 20 (Flash: Chest, one #89 bulb) is the chest's own flasher. Neither coil actuates either switch: the ball does. Default state is lid closed with the release pin up.

Plunder Spinning Disc

mech.plunder-disc

Rotary

A motorised disc at the rear left of the playfield, ringed by six stand-up targets. Public solenoid 6 (Plunder Disk Motor, 'Motor 12V', part 511-5024-04) spins the disc continuously while asserted; it is a motor output, not a pulsed coil, and the manual prints it in the High Current group alongside the coils. The disc has no position sensor of any kind: no printed switch reports its angle and the retained script drives it as a cvpmTurnTable (mDISC.InitTurnTable Plunder, 20, SpinUp 1000, SpinDown 10) whose visible rotation is a free-running timer stepping RotatingPlatform.RotZ by 7 degrees, so a recreation gets speed but not phase. Public switch 11 (Plunder Enter) and public switch 4 (Plunder Exit) are both opto pairs at the entrance and exit and are how the ROM knows a ball is on the disc; the retained script keeps its own BallinSpin counter off exactly those two. Public switches 42 to 47 (Plunder 1 to Plunder 6, 180-5133-02, above playfield) are the six stand-up targets around the disc. Public solenoid 23 (Plunder Pin, 22-900) is a retractable post at the disc; the retained script raises and lowers its TortugaPost wall. None of the coils actuates any of the switches.

Sinking Ship

mech.black-pearl-ship

Motorized

The machine's headline mechanism: a model ship at the rear left that rotates about its beam to dive bow-down through a series of positions as the player sinks it, with its masts folding forward as it goes. It is driven by a 24 volt motor (public solenoid 21, Ship Motor, part 041-5101-00) whose direction is set by a separate relay PCB (public solenoid 27, Ship Motor Relay, part 511-5024-03) rather than by reversing the motor output itself: the retained script's SolShipMotor only enables the position timer while SolMotorDir sets the sign the timer steps by, so a recreation must read 27 to know which way 21 will travel. Two limit switches report the ends of travel, both 180-5189-00 below the playfield: public switch 63 (Ship Home) at the upright rest position and public switch 62 (Ship Fully Sunk) at the far end. Between the two ends neither switch is made, so the mechanism reports three distinguishable states, not a continuous position. Public switch 61 (Ship Made) is a separate opto pair in the ship's own shot path, not a position sensor. Two more coils act on the sails rather than the hull: public solenoid 5 (Raise Sails, 26-1200) and public solenoid 28 (Lower Sails Latch, 29-1400) set the mast attitude, and the retained script only accepts either while the hull is at home (both subs test If ShipPos = 0). Public solenoid 29 (Ship Pin, printed 'UP POST', 26-1200) is a retractable post in front of the ship, and public solenoid 32 (Flash: Ship, one #89 bulb) is its flasher. Startup and reset behavior: the retained script sets Controller.Switch(63) = 1 at load, so the ship rests at home with the home switch made and the sails latched down. The motor does not actuate either limit switch through the coil; the hull reaching the end of travel closes it.

Direct wiring

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

Recreation notes

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

Canonical definition: machines/partial/stern/pirates-of-the-caribbean-2006.json (stern.pirates-of-the-caribbean.2006). Spatial audit: reports/spatial/stern/pirates-of-the-caribbean-2006.json. Manual transcriptions: evidence/excerpts/stern.pirates-of-the-caribbean.2006/.

This record is deliberately partial. Read the "What is not settled" section before authoring anything that depends on switch polarity, on the flasher bulb split between the playfield and the back panel, or on general-illumination bulb positions.

Identity, and the year trap

The physical machine is a 2006 Stern production game. Two independent sources agree: the retained service manual's own printed page 3 carries (c)2006 820-6384-00 Rev A, and pinned PinMAME's own catalog dates the earliest firmware in the potc clone tree (potc_108as through potc_115gf) 2006, with the 300*/400* revisions 2007 and the 600* revisions 2008.

PinMAME's clone-tree parent is potc_600af, the 2008 V6.0 English/French firmware, and the generated stub this definition replaces therefore recorded the machine year as 2008. Under this project's identity rule a later firmware revision does not create a new physical game, so the physical record is 2006 and the parent driver's own 2008 year is carried only on that driver's record.

machine.ipdb_id is omitted rather than guessed. IPDB was unreachable during this pass: it returns HTTP 403 behind Cloudflare to a plain fetch and no headful browser session was available. The year did not depend on it.

The physical family is the twenty-eight-driver potc clone tree: potc_600af plus twenty-seven language and firmware clones (four each of V1.09, V1.10, V1.13, V1.15, V3.00, V4.00 and V6.0, plus the single V1.08 and V1.11 Spanish revisions). Every one of them shares the one static potcGameData struct that sam.c's INITGAME macro produces, so no controller address, switch polarity, lamp, solenoid or playfield fact differs between them.

Platform: Stern S.A.M., with every profile rule re-derived from source

The task brief that seeded this curation described Pirates of the Caribbean as the project's first Stern S.A.M. machine and controllers/pinmame/sam.json as unproven scaffolding. That is wrong, and the correction is recorded here rather than reproduced: thirty-one other definitions already bind pinmame.sam, twenty of them author_ready (Spider-Man 2007 and its Vault Edition, Iron Man 2010 and its Vault Edition, the four AC/DC builds, Avengers Pro, both Metallica builds, both Mustang builds, both Star Trek builds, both Rolling Stones builds, both Walking Dead builds and TRON Legacy LE), plus eleven partials. The profile is well exercised.

What is true is narrower and worth stating precisely: every address rule in that profile was re-derived from pinned source for this curation rather than trusted -- src/wpc/sam.c, src/wpc/core.c, src/wpc/core.h, src/wpc/vpintf.c and src/libpinmame/libpinmame.h -- and every rule matched, so the profile is reused unchanged. This is also the first S.A.M. machine in the repository to carry a committed set of manual excerpts under evidence/excerpts/.

Two of the profile's prose notes are imprecise and were left alone rather than edited from inside one game's curation; both are recorded in the definition's controller-profile source record and neither affects an address rule.

The rules that matter, all confirmed from pinned source rather than by analogy with any WPC or Whitestar profile:

  • Sequential public switch numbering, not column-times-ten. SAM imports its machine driver from PinMAME, which sets MDRV_SWITCH_CONV(core_swSeq2m, core_m2swSeq) with core_swSeq2m(no) = no + 7. Public switch N is therefore internal switch-array column (N + 7) / 8, bit (N + 7) % 8. That places the 8x8 playfield matrix at public 1-64, swMatrix[9] (dedicated D-1 to D-8) at 65-72, the never-written swMatrix[10] at 73-80 (which is why the profile's address rules skip that range), and the flipper column (CORE_FLIPPERSWCOL = 11) at 81-88. swMatrix[0], the upper dedicated byte D-17 to D-24, lands at public -7 through 0.
  • The manual prints the switch matrix as four drive rows by sixteen return columns, numbered sequentially SW. #1 to SW. #64 across each drive row in turn. That matches PinMAME exactly, because sam.c reads two internal columns per strobe (MAKE16BIT(swMatrix[2 + stb*2], swMatrix[1 + stb*2]), four strobes). Printed drive row 1 is public 1-16, row 2 is 17-32, row 3 is 33-48, row 4 is 49-64.
  • The start button lives inside the playfield matrix range. SAM_COMPORTS puts the Start Button and Tournament Start on internal column 2 bits 7 and 6, which are public 16 and 15, and this manual independently prints SW. #15 TOURNAMENT START and SW. #16 START BUTTON with the black CABINET tag. Do not assume any address in 1-64 is a playfield switch.
  • The lamp matrix is row-major, the opposite axis order from Whitestar's switch matrix. Public lamp N is printed row (N - 1) / 8 + 1, column (N - 1) % 8 + 1: ten ground rows (Q33-Q42) by eight drive columns (IC-U17-IC-U10), with rows 9 and 10 driven from the Aux Lamp strobe's two data bits and carrying public 65-80. This was re-derived from this manual's own printed grid, and sam.c confirms it independently by naming lamps 24, 32, 40, 48, 56, 64 and 72 as the H, E, A, R, T and two Heart Chest LEDs of board 520-5258-00 - which is column 8 of rows 3 to 9.
  • The four flipper coils are ordinary numbered solenoids, with no 45-48 remap. Whitestar moves physical Q15/Q16 off public 15/16 onto legacy flipper addresses; SAM does not. sam.c writes only coreGlobals.solenoids and the physical-output array and never touches coreGlobals.solenoids2, and coreGlobals.hasModulatedFlippers is never set for SAM, so public 45-48 are dead. This machine's two flipper coils are public 15 and 16, and the retained script confirms it directly with SolCallBack(15) = SolLFlipper and SolCallBack(16) = SolRFlipper. One address carries both the power pulse and the hold: the board drives 40 ms of power then a 1 ms pulse every 12 ms, which is why sam.c gives solenoids 13-16 a 14 ms switchDownLatency.
  • The I/O board's solenoid latches are not in address order. SOL_B (0x02400021) is public 1-8, SOL_A (0x02400020) is 9-16, SOL_C (0x02400022) is 17-24, and FLSH_LMP (0x02400023) is 25-32. Irrelevant to a consumer, but worth knowing before reading a trace.
  • Public solenoids 33-66 always exist and this machine drives none of them. INITGAME hardcodes hw.custSol = 16 for every SAM game, so coreGlobals.nSolenoids is always 66 and LibPinMAME's ChangedSolenoids contract always covers 51-66. Address 33 is PinMAME's synthetic game-on / fast-flips state, read from one byte of game RAM at samlocals.fastflipaddr (0x0105a7fe for any driver whose short name starts potc_600) and explicitly declared CORE_MODOUT_NONE. 34-36 return the same bit through core_getSol but are zero in both aggregate paths a consumer reads. 37-44 mirror internal indices 41-48, which sam.c never writes. 49-50 are PinMAME's own ball simulator. 51-66 belong to an auxiliary driver board: potcGameData declares SAM_NO_AUX, so none of sam.c's six auxiliary-board write paths is enabled and nothing ever writes them. The manual's Coils Detailed Chart Table stops at #32, matching.
  • One general-illumination channel, not five. coreGlobals.nGI = 1 and sam.c drives coreGlobals.gi[0] from bit 0 of the latch at 0x0240002B with its own comment Bit 0 drives GI relay. Every physical illumination string behind that relay switches together. The retained script matches: its UpdateGI ignores the string number entirely.
  • The EOS switches are synthesized from the buttons. sam.c's dedicated-switch read copies each flipper button bit into the adjacent EOS bit (data |= (data & (bit8|bit10|bit12|bit14)) << 1) with the comment "SAM is not using standard VPM flipper coils, so the EOS simulation does not take place, and the ROM reports technician errors". Public 81 and 83 are real switches on the flipper assemblies (180-5149-00), but a recreation does not need to drive them independently.
  • The printed D-numbers run backwards against the public addresses inside each flipper nibble. sam.c reverses each nibble of the flipper column, so public 81/82/83/84 are the manual's D-12/D-11/D-10/D-9 and public 85/86/87/88 are its D-16/D-15/D-14/D-13. All four of the latter are printed NOT USED and are additionally structurally unreachable: this game's hw.flippers is FLIP_SW(FLIP_L) | FLIP_SOL(FLIP_L), so core.c's locals.flipMask evaluates to 0x0f and core_updateSw never writes the upper four bits.

Machine layout in one paragraph

Two flippers, three pop bumpers in a triangular cluster in the rear right, two slingshots, three top lanes, left and right orbits, a left ramp, a treasure chest on the right that captures and locks a ball, a motorised spinning "Plunder" disc at the rear left ringed by six stand-up targets, a six-target "Pirate" bank across the middle of the playfield, an eject hole beside the pop bumpers, a Jack scoop, a skill hole at the top, and the headline toy: a model ship at the rear left that rotates about its beam to dive bow-down as the player sinks it, with its masts folding forward. The compass ring of twelve inserts around a two-bulb "Four Winds" centre, the five HEART letters and two Heart Chest dots on LED board 520-5258-00, and the JACK and KEY letter sets are the main insert groups.

Mechanisms

Full topology, marks, ranges and causality are in the definition's mechanisms array. What is worth reading here is the reasoning behind the two that are easy to get wrong.

The sinking ship

Driven by a 24 V motor on public solenoid 21 whose direction comes from a separate relay PCB on public solenoid 27 (Relay PCB / 511-5024-03), not from reversing the motor output. The retained script makes the split explicit: SolShipMotor only enables the position timer, and SolMotorDir sets the sign the timer steps by. A recreation must read 27 to know which way 21 will travel.

Two limit switches report the ends of travel, both 180-5189-00 below the playfield: public 63 (Ship Home) at the upright rest position and public 62 (Ship Fully Sunk) at the far end. Between the two ends neither switch is made, so the hardware reports three distinguishable states, not a continuous position. The retained script steps an internal 0-3 counter through two intermediate sink attitudes, which is table modelling rather than reported hardware state, and neither intermediate attitude has a switch behind it.

Public 61 (Ship Made) is a separate opto pair in the ship's own shot path. It is not a position sensor and must not be treated as one.

Two more coils act on the sails rather than the hull - public 5 (Raise Sails, 26-1200) and public 28 (Lower Sails Latch, 29-1400) - and the retained script only accepts either while the hull is at home (both subs test If ShipPos = 0). Public 29 (Ship Pin, printed UP POST) is a retractable post in front of the ship and public 32 (Flash: Ship) is its flasher.

Startup and reset: the retained script sets Controller.Switch(63) = 1 in Table1_Init, so the ship rests at home with the home switch made and the sails latched down. That is recorded as initial_active on the switch record. The motor does not actuate either limit switch; the hull reaching the end of travel closes it.

The Plunder disc

Public solenoid 6 is a 12 V motor (511-5024-04) that spins the disc continuously while asserted. The disc has no position sensor of any kind. No printed switch reports its angle, and the retained script drives it as a cvpmTurnTable whose visible rotation is a free-running timer stepping RotatingPlatform.RotZ by 7 degrees, so a recreation gets speed but not phase. What the ROM actually knows is only whether a ball is on the disc, from the two opto pairs at its entrance and exit: public 11 (Plunder Enter) and public 4 (Plunder Exit). The retained script keeps its own BallinSpin counter off exactly those two.

The six stand-up targets around the disc are public 42-47 (180-5133-02, above playfield), and public solenoid 23 (Plunder Pin, 22-900) is a retractable post at the disc.

The trough carries two different switch constructions

The four-ball trough's position switches are printed as two families on one page: TROUGH #4 (L), #3 and #2 at public 18, 19 and 20 are mechanical switches (180-5119-02), while TROUGH #1 (R) at public 21 is an opto pair annotated (VUK OPTO) with transmitter and receiver parts 515-0173-00 and 515-0174-00. A fifth address, public 22, is a second opto pair annotated (STACK OPTO) and named TROUGH JAM in italics; it sits in the exit path rather than at a ball rest position. Construction must be checked per switch even inside one assembly - the same lesson Williams Bram Stoker's Dracula's Mist Magnet already established.

Solenoid 1 lifts one ball out to the shooter lane. It does not actuate the jam opto: the retained script's vpmTimer.PulseSw 22 from inside SolTrough is the ball crossing that opto as it leaves.

What the retained table is and is not good for

The retained recreation is a thin, non-VPW community build: 1,229 extracted files and a 32,543-byte script, against the 240-290 kB VPW-authored scripts several other games in this run used. It is judged on what it actually models. Where it models an address with a plausibly placed object, that object supplies the coordinate; where it does not, no coordinate was invented. Its AllLamps collection does cover 78 of the 80 lamp addresses (everything except the two cabinet button lamps), which is better coverage than the thin tables used for Creature, The Getaway and The Simpsons Pinball Party managed.

Three specific things about it are worth knowing before trusting it:

  1. It has a real script defect on Plunder 1. Sub sw43_Hit is defined twice - once pulsing switch 42, once pulsing switch 43 - and sw42_Hit is not defined at all, so only one of the two definitions can survive and public switch 42 goes unreported at runtime. The table does contain a correctly positioned sw42 HitTarget object, which is what this record's placement uses. This is a defect in the recreation, not evidence about the physical machine.
  2. Its pop-bumper switch bindings are rotated against the manual. See the conflict below. The placements in this record follow the manual and the table's own geometry, not the script's object ordering.
  3. It duplicates several emitters as co-located render doubles, and its flasher light counts exceed the manual's printed bulb quantities. The excluded objects are enumerated in the spatial audit's excluded_object_classes.

Back panel: ten lamps and ten G.I. bulbs that are not on the playfield

Printed page 91 (Back Panel Assembly, Individual Parts Only) is the page the lamp-matrix footnote points at, and it is decisive. The back panel carries:

  • ITEM 2: ten 2-lug sockets with #44 clear heavy-filament bulbs, each labelled G.I. on the drawing. The Lamp Locations page says the same thing independently: "THE TOP TEN CLEAR BULBS ARE G.I.s; NOT CONTROL LAMPS."
  • ITEM 3: seven 3-lug sockets with #44 red bulbs, labelled LP. 33 to LP. 39 - the matrix's BACKPANEL #1 (L) to #7 (R).
  • ITEM 4: three 3-lug sockets with #44 green bulbs, labelled LAMP 78, LAMP 79, LAMP 80 - the matrix's LEFT, MIDDLE and RIGHT TOP LANE.
  • ITEM 5: two 2-lug stand-up sockets with #89 clear bulbs, both labelled Q22 FLASH.

So ten matrix lamp addresses are backbox devices, and three of them (78-80) are named after playfield lanes whose switches (public 12, 13, 14) really are on the playfield. The retained table does model a Light object for each of the ten at the extreme rear edge of the playfield, normalized y between 0.020 and 0.022; those coordinates are recorded in the retained geometry dump and deliberately not promoted to playfield placements. This is the same pattern Williams Fish Tales's backbox 3-lamp board already established.

Flashers

This game fits five, and three sources agree exactly on which: the manual's own Test Flash Lamps note ("This Game: Q20, Q22, Q30, Q31 & Q32"), the Coils Detailed Chart Table's #89 Bulb rows, and pinned sam.c's own potc block, which declares CORE_MODOUT_BULB_89_20V_DC_WPC at solenoid indices 20, 22 and a run of three from 30. Zero disagreement.

Quantities are printed on two of them: #22 FLASH: REAR CENTER (X2) and #30 FLASH: BACK RIGHT [X3]. Where those bulbs physically sit is the one thing this manual contradicts itself about; see the conflict below.

What is not settled

Four unresolved conflicts, all recorded as first-class conflicts entries.

  1. conflict.sam-invsw-never-populated - the platform-wide polarity gap. Pinned Stern S.A.M. source populates no inverted-switch mask at all: INITGAME's positional initializer leaves wpc.invSw at its C zero default and searching the whole of sam.c for invSw returns no assignment anywhere. Against that, this manual positively identifies seven opto switches - 3, 4, 11, 21, 22, 60 and 61 - and never states normally-open or normally-closed for any individual switch. Physical construction is known for seven addresses while their emulator-side normalization is not. Check this on every future S.A.M. curation rather than assuming it; it is the same shape as the Whitestar gap already recorded for Stern The Simpsons Pinball Party. Resolution needs a LibPinMAME harness trace observing the idle public state of those seven addresses.
  2. conflict.flasher-back-panel-bulb-count - the Coil & Flash Lamp Locations page draws one 22 and one 30 callout in its back-panel inset, which makes both printed quantities add up, while printed page 91 lists exactly two #89 sockets on the back panel and labels both of them Q22 FLASH with no Q30 socket anywhere. This record follows page 91's explicit parts list for address 22 and gives it a cabinet_or_service record with quantity 2; address 30 carries no spatial key at all, because no placement set can match its printed quantity of three without choosing a side.
  3. conflict.pop-bumper-position-naming - the manual names the three bumpers LEFT, RIGHT and BOTTOM on both its switch page and its coil page, and its locations plan draws the three coil callouts at the cluster's left, right and player-nearest positions in that order. The retained script binds them in naive numeric order instead, which makes its LEFT bumper the player-nearest one. Only one bijection between three names and three positions is geometrically coherent; the manual's two pages plus the table's own geometry agree on it against the script's identifier ordering alone, so this record uses the manual's reading for all six placements (switches 30/31/32 and coils 9/10/11) and records the disagreement rather than resolving it silently, because the runtime script is normally this project's authority for address semantics and it is the source being overruled.
  4. conflict.coin-door-adjust-button-order - sam.c disagrees with itself about which red coin-door adjustment button is public -2 and which is -1: its descriptive comment block says D21 is Plus and D22 is Minus, while its own keyboard input-port table puts Minus on the bit that becomes -2. This manual agrees with the input-port table, so two sources against one resolve it that way. Recorded for provenance completeness even though both addresses are coin-door service buttons.

Two output addresses carry no spatial record at all:

  • Public solenoid 30, for the reason in conflict 2.
  • G.I. address 0. This manual prints no general-illumination bulb table anywhere. The only G.I. inventory it states is the ten back-panel #44 sockets on printed page 91 and the three right-ramp LED modules the Lamp Locations page calls out ("THE 3 LEDS MODULES ON THE RIGHT RAMP ARE G.I.s; NOT CONTROL LAMPS"). The playfield G.I. bulb inventory is spread across the Section 4 assembly pages and was not exhaustively enumerated in this pass, so neither a bulb quantity nor a placement set is asserted. The retained table's own GI collection has 85 members, but many are co-located render doubles and ten are back-panel proxies, so it cannot substitute for the missing table.

Finally, this curation pass ran single-session and did not obtain the mandatory independent high-tier cross-provider review described in docs/INSTRUCTIONS.md. recreation_notes therefore stays in coverage.missing until that review runs against the exact proposed tree, matching the precedent Bally Cirqus Voltaire and Williams Fish Tales set for the same procedural gap.

Two things worth carrying to the next Stern S.A.M. game

  1. Re-derive the lamp axis order from the game's own printed grid. Stern's switch matrix and lamp matrix do not share an axis convention across platform generations: Whitestar's switch matrix is column-major and its lamp matrix row-major, and S.A.M.'s lamp matrix is row-major over ten rows by eight columns while its printed switch matrix is four drive rows by sixteen returns. Confirming the lamp mapping against sam.c's own per-game strncasecmp(gn, ...) block - which names specific addresses on specific boards - is the cheapest independent check available, and on this game it agreed on all seven addresses it covers.
  2. hw.custSol = 16 is a macro constant, not a per-game decision. Every Stern S.A.M. game enumerates public solenoids 51-66 whether or not an auxiliary driver board is fitted. What differs between games is gameSpecific1: it selects which, if any, of sam.c's six auxiliary write paths is enabled. Read that field before deciding whether 51-66 mean anything on a given machine.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
potc_600gfPirates of the Caribbean (V6.0 German, French)
Stern V6.0 German/French game ROM for the same physical machine, dated 2008 in the pinned catalog. It shares the one static potcGameData struct with every other potc_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver.
2008potc_600afidentical
potc_600asPirates of the Caribbean (V6.0 English, Spanish)
Stern V6.0 English/Spanish game ROM for the same physical machine, dated 2008 in the pinned catalog. It shares the one static potcGameData struct with every other potc_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver.
2008potc_600afidentical
potc_600aiPirates of the Caribbean (V6.0 English, Italian)
Stern V6.0 English/Italian game ROM for the same physical machine, dated 2008 in the pinned catalog. It shares the one static potcGameData struct with every other potc_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver.
2008potc_600afidentical
potc_600afPirates of the Caribbean (V6.0 English, French)
PinMAME's clone-tree parent and this definition's reference driver for address semantics. It is the 2008 V6.0 English/French firmware, not the 2006 production firmware; every potc_* driver shares the one static potcGameData struct produced by sam.c's INITGAME macro, so the choice of parent carries no controller-address, polarity, or playfield consequence. This is also the driver the retained known-working table binds (Const cGameName="potc_600af") and the only one for which sam.c sets a fast-flip watch address (samlocals.fastflipaddr = 0x0105a7fe for any driver whose short name starts potc_600).
2008identical
potc_400gfPirates of the Caribbean (V4.00 German, French)
Stern V4.00 German/French game ROM for the same physical machine, dated 2007 in the pinned catalog. It shares the one static potcGameData struct with every other potc_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver.
2007potc_600afidentical
potc_400alPirates of the Caribbean (V4.00 English, Spanish)
Stern V4.00 English/Spanish game ROM for the same physical machine, dated 2007 in the pinned catalog. It shares the one static potcGameData struct with every other potc_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver.
2007potc_600afidentical
potc_400aiPirates of the Caribbean (V4.00 English, Italian)
Stern V4.00 English/Italian game ROM for the same physical machine, dated 2007 in the pinned catalog. It shares the one static potcGameData struct with every other potc_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver.
2007potc_600afidentical
potc_400afPirates of the Caribbean (V4.00 English, French)
Stern V4.00 English/French game ROM for the same physical machine, dated 2007 in the pinned catalog. It shares the one static potcGameData struct with every other potc_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver.
2007potc_600afidentical

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

Evidence

Every claim above traces to one of these. When they disagree: a known-working VPX script wins on controller addresses and causality, the manual wins on wiring and construction, pinned PinMAME wins on emulator routing and display layout.

  • PinMAME catalog

    BSD-3-Clause

    pinmame.catalog.4ec52ff0ac13

    Pinned catalog driver records for the potc_* clone tree: CORE_GAMEDEF(potc, 600af, ...) plus 27 CORE_CLONEDEF(potc, ...) rows in src/wpc/sam.c

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • PinMAME source

    BSD-3-Clause

    pinmame.core.4ec52ff0ac13

    src/wpc/sam.c INITGAME(potc, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NO_AUX), whose macro expands to potcGameData = {GEN_SAM, sam_dmd128x32, {FLIP_SW(FLIP_L)|FLIP_SOL(FLIP_L), 0, 2, 16, 0, 0, 0, 0, sam_getSol}} and leaves the trailing wpc/simData/sxx members at their C zero-initialization default, so wpc.invSw is all zero; grep for invSw across src/wpc/sam.c returns no assignment anywhere in the file. src/wpc/sam.c's own per-game potc_ block sets lamp 27 and lamps 24/32/40/48/56/64/72 to CORE_MODOUT_LED_STROBE_1_10MS with the comments 'Bumper 3 LEDs' and 'Board 520-5258-00: H/E/A/R/T LED' plus two 'Heart Chest double LED' entries, and solenoids 20, 22 and 30-32 to CORE_MODOUT_BULB_89_20V_DC_WPC. sam.c's I/O decode maps SOL_B (0x02400021) to public solenoids 1-8, SOL_A (0x02400020) to 9-16, SOL_C (0x02400022) to 17-24 and FLSH_LMP (0x02400023) to 25-32, and its own address-decode comment documents ten lamp rows by eight lamp columns with rows 8 and 9 coming from the Aux Lamp strobe. src/wpc/core.c MDRV_SWITCH_CONV/MDRV_LAMP_CONV(core_swSeq2m, core_m2swSeq) with core_swSeq2m(no) = no+7, CORE_FLIPPERSWCOL = 11, CORE_SWLRFLIPEOSBIT 0x01 through CORE_SWULFLIPBUTBIT 0x80, the locals.flipMask construction that yields 0x0f for this game's hw.flippers, core_getSol's GEN_SAM branches, core_getAllSol/core_getAllPhysicSols, and coreGlobals.nSolenoids = CORE_FIRSTCUSTSOL-1+hw.custSol = 66 with nLamps = 64+2*8 = 80 and nGI = 1; src/wpc/vpintf.c vp_getLamp/vp_getChangedSolenoids/vp_getChangedGI; src/libpinmame/libpinmame.h PINMAME_HARDWARE_GEN_SAM = 0x0100000000000

    by
    PinMAME contributors
    rev
    4ec52ff0ac13
  • Human review

    BSD-3-Clause

    controller-profile.pinmame-sam

    Stern S.A.M. public switch, DIP, solenoid, lamp and single-GI address rules. Every rule the profile states was re-derived from pinned source for this curation and matched: sequential switch numbering with matrix 1-64, dedicated D-1 to D-8 at 65-72, dedicated D-17 to D-24 at -7 to 0, the flipper column at 81-88, solenoids 1-66 with 33 as the synthetic game-on state, and one aggregate GI channel at address 0. Two of the profile's prose notes are imprecise without affecting any address rule and were left unchanged rather than edited from inside a single game's curation: hw.custSol is hardcoded 16 by sam.c's INITGAME macro for every SAM game rather than configured per game, and the platform-level inversion_applied_by_emulator flag is true while pinned SAM source populates no inverted-switch mask at all (see conflict.sam-invsw-never-populated).

    internal:controllers/pinmame/sam.json
    by
    PinMAME contributors
    rev
    repository
  • Operator manual

    manual.stern.pirates-of-the-caribbean.2006

    207-page OCR'd (Adobe Acrobat Pro Paper Capture) scan of the Stern Disney's Pirates of the Caribbean service and game manual, part 820-6384-00 Rev A, (c)2006 on printed page 3. PDF page 6 carries the Switch Matrix Grid (#1-#64), the Dedicated Switches D-1 to D-24 block and the CPU/Sound Bd. SW1 DIP block; PDF page 7 the Switch Locations plan and wiring schematics; PDF page 8 the Lamp Matrix Grid (01-80); PDF page 9 the Lamp Locations plan with its back-panel inset; PDF page 10 the Coils Detailed Chart Table; PDF page 11 the Coil & Flash Lamp Locations plan with its own back-panel inset; PDF page 115 (printed page 91) the Back Panel Assembly parts page the lamp-matrix footnote points at. The text layer is substantial but its front-matter pages decode as an unreadable custom encoding and its multi-column tables scramble, so every table used here was read from a rendered page.

    external:pinmame-manuals/by-machine/stern.pirates-of-the-caribbean.2006/ipdb/Stern_2006_Pirates_of_the_Caribbean_Pinball_Service_Game_Manual.pdf
    by
    Stern Pinball, Inc. / Disney
    sha256
    faa493698371…
  • Human review

    manual-support.stern.pirates-of-the-caribbean.2006

    Retained curation record of which manual pages were rendered and read, which pages were checked and found not to carry a needed table, and how the physical year and machine identity were established. The committed digest-verified transcriptions themselves live under evidence/excerpts/stern.pirates-of-the-caribbean.2006/ and are the canonical copies. This record also documents that IPDB was unreachable during this pass (HTTP 403 behind Cloudflare to a plain fetch, no headful browser session available), which is why machine.ipdb_id is omitted rather than guessed.

    external:pinmame-review-artifacts/pirates-of-the-caribbean-2006/manual-transcription.md
    by
    pinmame-game-defs curation
    rev
    2026-08-08
    sha256
    e440218cd68c…
  • VPX table

    vpx-table.potc-stern-2006

    Retained known-working community recreation of the physical machine. Exact playfield bounds from its own gamedata.json are left=0 top=0 right=952 bottom=2155; normalized coordinates are x/952.0 and y/2155.0. Geometry authority only for named table objects; the full per-object dump is retained at external:pinmame-review-artifacts/pirates-of-the-caribbean-2006/vpx-geometry.txt, SHA-256 12f88a9f9a2a76a13a6c71cf3491bf96d4480842663bdf5dc8b388733d6c3dfe. This is a thin build by this project's standards -- 1,229 extracted files and a 32,543-byte script against the 240-290 kB VPW-authored scripts several other games in this run used -- and it is judged accordingly: its object set is good enough to place most addresses but it is not treated as authority for any address it does not model.

    external:pinmame-vpx-sources/stern/pirates-of-the-caribbean-2006/source/Pirates%20of%20the%20Caribbean%20%28Stern%202006%29.vpx
    by
    community table authors (no author credit is present in the retained file's own table info)
    sha256
    d69fea24ad8d…
  • VPX script

    vpx-script.potc-stern-2006

    Retained embedded script, 32,543 bytes, 919 lines. Runtime and mechanism-causality authority: Const cGameName = "potc_600af", Const UseSolenoids = 1, Const UseLamps = True, Const UseGI = 0 with a GICallback set anyway, Const UseVPMModSol = 1, LoadVPM with sam.VBS and InitVpmFFlipsSAM; SolCallBack entries for 1, 2, 3, 4, 5, 6, 15, 16, 18, 19, 21, 23, 27, 28 and 29 with SolModCallBack entries for the five flashers 20, 22, 30, 31 and 32; vpmMapLights AllLamps binding 78 lamp addresses by each Light's own TimerInterval; vpmNudge.TiltSwitch = -7; cvpmBallStack instances bsTROUGH (InitSw 0,21,20,19,18,0,0,0 and InitKick BallRelease), bsPOP (InitSaucer sw56,56) and bsL (InitSw 0,9,... and InitKick sw9); cvpmTurnTable mDISC (InitTurnTable Plunder,20) driven by SolSpinner off solenoid 6; the ShipTimer_Timer software position counter that derives switches 62 and 63; and Controller.Switch(63) = 1 in Table1_Init.

    external:pinmame-vpx-sources/stern/pirates-of-the-caribbean-2006/extracted-vpxtool/script.vbs
    by
    community table authors
    sha256
    fb6cec754fc9…
  • VPX table

    vpx-extraction.potc-stern-2006

    Canonical manifest covering every sorted relative POSIX path, byte size and SHA-256 under extracted-vpxtool; manifest SHA-256 b462146e7b641f57fdb08a032c9298ce921675e63798ba245bcca0e3904fe799; 1229 files, 85415058 bytes, produced with vpxtool from the retained table. Bounds are left=0 top=0 right=952 bottom=2155.

    external:pinmame-vpx-sources/stern/pirates-of-the-caribbean-2006/extracted-vpxtool.manifest.json
    by
    vpxtool extraction

Something wrong or missing?

This definition still has 4 unmet requirements, listed under Coverage above. Fixes belong in the definition itself — editing on GitHub forks it for you and opens the pull request.

Cite a source for anything you change — a manual page, a line in a working VPX script, PinMAME source, or a reading from the machine's own service menu. Claims without provenance cannot be validated.

Same platform