Big Buck Hunter Pro

Partial
Completion63%

Stern2010SAMstern.big-buck-hunter-pro.2010 Updated 2026-10-01

1 unresolved conflict

Sources disagree here and nobody has settled it. Treat these addresses as unproven.

Elk button physical control

Affects
input 85
Disagreeing sources
Operator manual
VPX script
PinMAME source

The retained table binds the Elk diverter's player control to public switch 85, the hardware D-13 'upper left flipper' cabinet position, and the ROM demonstrably reads that bit (sam.c's EOS mirror exists so the ROM's flipper self-test sees D-13/D-14 as a pair). But this machine fits no upper flipper, and the partial manual's cabinet parts tables list only two red flipper button assemblies (item 5, qty 2), the start button (3S) and the tournament button (4T) -- no third side button of any kind.

Two readings fit the evidence: the factory harness parallels the left flipper button's switch onto D-13 so the Elk fires off the left flipper button, or a cabinet control exists that the partial manual's tables omit. Nothing retained can distinguish these, and the answer changes what a cabinet builder must wire.

What would settle it

a photograph of an unrestored machine's cabinet wiring where the D-9 to D-16 return harness is visible, or a continuity check of the left flipper button switch against the CPU board's flipper-column connector on real hardware.

inputs[binding.device=85]

Wire it up

what an authoring tool needs first
Bind this ROM
bbh_170

4 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 (96)
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.

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

117 placements · 11 stacked · normalised player view · outline is nominal

41 Buck Target Hit · 3 Buck Drive Direction (right or backwards) · 4 Buck Drive Direction (left or forwards) · 5 Buck Drive Motor25 Gate switch (upper-left orbit gate) · 39 Lamp 396 Rollover (upper-left lane)7 Rollover (top lane left)8 Rollover (top lane middle)9 Rollover (top lane right)10 Stand-Up Target13 Rollover (upper-right)14 Gate switch (right orbit gate)618 Trough #4 (entry, left) · 19 Trough #3 · 20 Trough #2 · 21 Trough #1 (kicker position, dual-opto board) · 22 Trough Exit Opto · 1 Trough Up-Kicker23 Shooter Lane24 Rollover (lower-left outlane area)25 Rollover (left inlane area)26 Left Slingshot27 Right Slingshot28 Rollover (right inlane area)29 Rollover (lower-right outlane area)230 Pop Bumper (script Bumper2) · 61 Lamp 61231 Pop Bumper (script Bumper3) · 62 Lamp 62232 Pop Bumper (script Bumper1) · 60 Lamp 6033 Rollover (right side)234 Ram Opto · 12 Kickback Ram Coil35 Stand-Up Target36 Stand-Up Target237 Buck Wheel Opto #1 · 45 Buck Wheel Opto #238 Stand-Up Target39 Stand-Up Target40 Stand-Up Target41 Stand-Up Target42 Stand-Up Target43 Bird Opto44 Spinner2 Auto Launch Plunger7 Up/Down Post (bird orbit post)14 Elk Diverter Flipper15 Left Flipper Coil16 Right Flipper Coil19 Flasher String (script lamp channel 119)20 Flasher String (script lamp channel 120)221 Flasher String (script lamp channel 121) · 33 Lamp 3322 Flasher String (script lamp channel 122)23 Up/Down Post (top orbit post)225 Flasher String (script lamp channel 125, four bulbs down the left side) · 25 Flasher String (script lamp channel 125, four bulbs down the left side)225 Flasher String (script lamp channel 125, four bulbs down the left side) · 25 Flasher String (script lamp channel 125, four bulbs down the left side)26 Flasher String (script lamp channel 126)27 Flasher String (script lamp channel 127, four bulbs upper center-left)27 Flasher String (script lamp channel 127, four bulbs upper center-left)27 Flasher String (script lamp channel 127, four bulbs upper center-left)27 Flasher String (script lamp channel 127, four bulbs upper center-left)29 Flasher String (script lamp channel 129)31 Flasher String (script lamp channel 131)32 Flasher String (script lamp channel 132)3 Lamp 35 Lamp 56 Lamp 67 Lamp 78 Lamp 89 Lamp 910 Lamp 1011 Lamp 1114 Lamp 1415 Lamp 1516 Lamp 1617 Lamp 1718 Lamp 1819 Lamp 1920 Lamp 2021 Lamp 2122 Lamp 2223 Lamp 2324 Lamp 2425 Lamp 2526 Lamp 2631 Lamp 3132 Lamp 3235 Lamp 3538 Lamp 3840 Lamp 4041 Lamp 4142 Lamp 4243 Lamp 4345 Lamp 4546 Lamp 4647 Lamp 4749 Lamp 4950 Lamp 5051 Lamp 5152 Lamp 5253 Lamp 5354 Lamp 5455 Lamp 5557 Lamp 5759 Lamp 5963 Lamp 6365 Lamp 6566 Lamp 6667 Lamp 6768 Lamp 6869 Lamp 6970 Lamp 70

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 playfield69
  • sensorsenses the ball37
  • effectmoves the ball11
  • nStackseveral devices in one spot11
111 devices shown

Not on the playfield26 cabinet or service, 18 virtual, 16 unused, 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.

Completion63%

Progress is derived from the fixed author-readiness requirements. It helps rank unfinished work, but only a 100% author-ready definition passes the publication gate.

Catalog Identity
validated
Address Enumeration
validated
Semantic Naming
candidate
Physical Wiring
candidate
Mechanisms
observed
Variant Coverage
validated
Recreation Knowledge
observed
Still missing · 6
Input SemanticsOutput SemanticsPolarityRecreation NotesSpatial PlacementUnresolved Conflicts

Switches

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

96 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.

96 shown
# Name Device ID Evidence
-7
Tilt Pendulum (Plumb Bob)
switch.service-d17 validated
-6
Slam Tilt
switch.service-d18 validated
-5
Ticket Notch
switch.service-d19 validated
-4
Not Used (DED #20)
switch.service-d20 validated
-3
Back (Coin Door)
switch.service-d21 validated
-2
Minus (Coin Door)
switch.service-d22 validated
-1
Plus (Coin Door)
switch.service-d23 validated
0
Select (Coin Door)
switch.service-d24 validated
1
Buck Target Hit
switch.matrix-1 observed
2
Unidentified switch 2
switch.matrix-2 candidate
3
Unidentified switch 3
switch.matrix-3 candidate
4
Unidentified switch 4
switch.matrix-4 candidate
5
Gate switch (upper-left orbit gate)
switch.matrix-5 observed
6
Rollover (upper-left lane)
switch.matrix-6 observed
7
Rollover (top lane left)
switch.matrix-7 observed
8
Rollover (top lane middle)
switch.matrix-8 observed
9
Rollover (top lane right)
switch.matrix-9 observed
10
Stand-Up Target
switch.matrix-10 observed
11
Shooter-Lane Launch / Plunger
switch.matrix-11 candidate
12
Unidentified switch 12
switch.matrix-12 candidate
13
Rollover (upper-right)
switch.matrix-13 observed
14
Gate switch (right orbit gate)
switch.matrix-14 observed
15
Tournament Start Button
Button
switch.matrix-15 validated
16
Start Button
Button
switch.matrix-16 validated
17
Unidentified switch 17
switch.matrix-17 candidate
18
Trough #4 (entry, left)
Microswitch
switch.matrix-18 validated
19
Trough #3
Microswitch
switch.matrix-19 validated
20
Trough #2
Microswitch
switch.matrix-20 observed
21
Trough #1 (kicker position, dual-opto board)
Opto
switch.matrix-21 validated
22
Trough Exit Opto
Opto
switch.matrix-22 validated
23
Shooter Lane
switch.matrix-23 observed
24
Rollover (lower-left outlane area)
switch.matrix-24 observed
25
Rollover (left inlane area)
switch.matrix-25 observed
26
Left Slingshot
switch.matrix-26 observed
27
Right Slingshot
switch.matrix-27 observed
28
Rollover (right inlane area)
switch.matrix-28 observed
29
Rollover (lower-right outlane area)
switch.matrix-29 observed
30
Pop Bumper (script Bumper2)
switch.matrix-30 observed
31
Pop Bumper (script Bumper3)
switch.matrix-31 observed
32
Pop Bumper (script Bumper1)
switch.matrix-32 observed
33
Rollover (right side)
switch.matrix-33 observed
34
Ram Opto
Opto
switch.matrix-34 observed
35
Stand-Up Target
switch.matrix-35 observed
36
Stand-Up Target
switch.matrix-36 observed
37
Buck Wheel Opto #1
Opto
switch.matrix-37 observed
38
Stand-Up Target
switch.matrix-38 observed
39
Stand-Up Target
switch.matrix-39 observed
40
Stand-Up Target
switch.matrix-40 observed
41
Stand-Up Target
switch.matrix-41 observed
42
Stand-Up Target
switch.matrix-42 observed
43
Bird Opto
Opto
switch.matrix-43 observed
44
Spinner
switch.matrix-44 observed
45
Buck Wheel Opto #2
Opto
switch.matrix-45 observed
46
Unidentified switch 46
switch.matrix-46 candidate
47
Unidentified switch 47
switch.matrix-47 candidate
48
Unidentified switch 48
switch.matrix-48 candidate
49
Unidentified switch 49
switch.matrix-49 candidate
50
Unidentified switch 50
switch.matrix-50 candidate
51
Unidentified switch 51
switch.matrix-51 candidate
52
Unidentified switch 52
switch.matrix-52 candidate
53
Unidentified switch 53
switch.matrix-53 candidate
54
Unidentified switch 54
switch.matrix-54 candidate
55
Unidentified switch 55
switch.matrix-55 candidate
56
Unidentified switch 56
switch.matrix-56 candidate
57
Unidentified switch 57
switch.matrix-57 candidate
58
Unidentified switch 58
switch.matrix-58 candidate
59
Unidentified switch 59
switch.matrix-59 candidate
60
Unidentified switch 60
switch.matrix-60 candidate
61
Unidentified switch 61
switch.matrix-61 candidate
62
Unidentified switch 62
switch.matrix-62 candidate
63
Unidentified switch 63
switch.matrix-63 candidate
64
Unidentified switch 64
switch.matrix-64 candidate
65
Left Coin Chute
switch.dedicated-65 validated
66
Center Coin Chute
switch.dedicated-66 validated
67
Right Coin Chute
switch.dedicated-67 validated
68
Fourth Coin Chute
switch.dedicated-68 validated
69
Fifth Coin Chute
switch.dedicated-69 validated
70
Not Used (DED #6)
switch.dedicated-70 validated
71
Left Post Save (UK Only) - not fitted; Buck home position in the retained table
switch.dedicated-71 validated
72
Right Post Save (UK Only) - not fitted; Buck end-of-travel in the retained table
switch.dedicated-72 validated
73
Unidentified extended-block switch (the v1.10 table's left-flipper write)
switch.extended-73 candidate
74
Unidentified extended-block switch
switch.extended-74 candidate
75
Unidentified extended-block switch (the v1.10 table's right-flipper write)
switch.extended-75 candidate
76
Unidentified extended-block switch
switch.extended-76 candidate
77
Unidentified extended-block switch
switch.extended-77 candidate
78
Unidentified extended-block switch
switch.extended-78 candidate
79
Unidentified extended-block switch (the v1.10 table's front-key pulse)
switch.extended-79 candidate
80
Unidentified extended-block switch
switch.extended-80 candidate
81
Left Flipper Button
switch.flipper-81 validated
82
Left Flipper End-of-Stroke (emulator-synthesized)
switch.flipper-82 validated
83
Right Flipper Button
switch.flipper-83 validated
84
Right Flipper End-of-Stroke (emulator-synthesized)
switch.flipper-84 validated
85
Elk Diverter Button (upper-left-flipper cabinet position)
switch.flipper-85 validated
86
Elk Diverter Button EOS (emulator-synthesized)
switch.flipper-86 validated
87
Upper Right Flipper Button (not fitted)
switch.flipper-87 validated
88
Upper Right Flipper EOS (not fitted)
switch.flipper-88 validated

Controlled devices

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

Coils, magnets & motors

38
38 shown
# Name Device ID Kind Evidence
1
Trough Up-Kicker
solenoid.1 Coil validated
2
Auto Launch Plunger
solenoid.2 Coil validated
3
Buck Drive Direction (right or backwards)
solenoid.3 Coil observed
4
Buck Drive Direction (left or forwards)
solenoid.4 Coil observed
5
Buck Drive Motor
solenoid.5 Motor observed
6
Unidentified output 6
solenoid.6 Coil candidate
7
Up/Down Post (bird orbit post)
solenoid.7 Coil validated
8
Unidentified output 8
solenoid.8 Coil candidate
9
Unidentified output 9
solenoid.9 Coil candidate
10
Unidentified output 10
solenoid.10 Coil candidate
11
Unidentified output 11
solenoid.11 Coil candidate
12
Kickback Ram Coil
solenoid.12 Coil validated
13
Unidentified output 13
solenoid.13 Coil candidate
14
Elk Diverter Flipper
solenoid.14 Coil validated
15
Left Flipper Coil
solenoid.15 Coil validated
16
Right Flipper Coil
solenoid.16 Coil validated
17
Unidentified output 17
solenoid.17 Coil candidate
18
Unidentified output 18
solenoid.18 Coil candidate
23
Up/Down Post (top orbit post)
solenoid.23 Coil validated
24
Unidentified output 24
solenoid.24 Coil candidate
28
Unidentified output 28
solenoid.28 Coil candidate
30
Unidentified output 30
solenoid.30 Coil candidate
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

10
10 shown
# Name Device ID Evidence
19
Flasher String (script lamp channel 119)
solenoid.19 validated
20
Flasher String (script lamp channel 120)
solenoid.20 validated
21
Flasher String (script lamp channel 121)
solenoid.21 validated
22
Flasher String (script lamp channel 122)
solenoid.22 validated
25
Flasher String (script lamp channel 125, four bulbs down the left side)
solenoid.25 validated
26
Flasher String (script lamp channel 126)
solenoid.26 validated
27
Flasher String (script lamp channel 127, four bulbs upper center-left)
solenoid.27 validated
29
Flasher String (script lamp channel 129)
solenoid.29 validated
31
Flasher String (script lamp channel 131)
solenoid.31 validated
32
Flasher String (script lamp channel 132)
solenoid.32 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 Evidence
1
Lamp 1
lamp.1 candidate
2
Lamp 2
lamp.2 candidate
3
Lamp 3
lamp.3 validated
4
Lamp 4
lamp.4 observed
5
Lamp 5
lamp.5 validated
6
Lamp 6
lamp.6 validated
7
Lamp 7
lamp.7 validated
8
Lamp 8
lamp.8 validated
9
Lamp 9
lamp.9 validated
10
Lamp 10
lamp.10 validated
11
Lamp 11
lamp.11 validated
12
Lamp 12
lamp.12 observed
13
Lamp 13
lamp.13 observed
14
Lamp 14
lamp.14 validated
15
Lamp 15
lamp.15 validated
16
Lamp 16
lamp.16 validated
17
Lamp 17
lamp.17 validated
18
Lamp 18
lamp.18 validated
19
Lamp 19
lamp.19 validated
20
Lamp 20
lamp.20 validated
21
Lamp 21
lamp.21 validated
22
Lamp 22
lamp.22 validated
23
Lamp 23
lamp.23 validated
24
Lamp 24
lamp.24 validated
25
Lamp 25
lamp.25 validated
26
Lamp 26
lamp.26 validated
27
Lamp 27
lamp.27 validated
28
Lamp 28
lamp.28 validated
29
Lamp 29
lamp.29 validated
30
Lamp 30
lamp.30 validated
31
Lamp 31
lamp.31 validated
32
Lamp 32
lamp.32 validated
33
Lamp 33
lamp.33 validated
34
Lamp 34
lamp.34 observed
35
Lamp 35
lamp.35 validated
36
Lamp 36
lamp.36 observed
37
Lamp 37
lamp.37 observed
38
Lamp 38
lamp.38 validated
39
Lamp 39
lamp.39 validated
40
Lamp 40
lamp.40 validated
41
Lamp 41
lamp.41 validated
42
Lamp 42
lamp.42 validated
43
Lamp 43
lamp.43 validated
44
Lamp 44
lamp.44 observed
45
Lamp 45
lamp.45 validated
46
Lamp 46
lamp.46 validated
47
Lamp 47
lamp.47 validated
48
Lamp 48
lamp.48 observed
49
Lamp 49
lamp.49 validated
50
Lamp 50
lamp.50 validated
51
Lamp 51
lamp.51 validated
52
Lamp 52
lamp.52 validated
53
Lamp 53
lamp.53 validated
54
Lamp 54
lamp.54 validated
55
Lamp 55
lamp.55 validated
56
Lamp 56
lamp.56 observed
57
Lamp 57
lamp.57 validated
58
Lamp 58
lamp.58 observed
59
Lamp 59
lamp.59 validated
60
Lamp 60
lamp.60 validated
61
Lamp 61
lamp.61 validated
62
Lamp 62
lamp.62 validated
63
Lamp 63
lamp.63 validated
64
Lamp 64
lamp.64 observed
65
Lamp 65
lamp.65 validated
66
Lamp 66
lamp.66 validated
67
Lamp 67
lamp.67 validated
68
Lamp 68
lamp.68 validated
69
Lamp 69
lamp.69 validated
70
Lamp 70
lamp.70 validated
71
Lamp 71
lamp.71 observed
72
Lamp 72
lamp.72 observed
73
Lamp 73
lamp.73 observed
74
Lamp 74
lamp.74 observed
75
Lamp 75
lamp.75 observed
76
Lamp 76
lamp.76 observed
77
Lamp 77
lamp.77 observed
78
Lamp 78
lamp.78 observed
79
Lamp 79
lamp.79 observed
80
Lamp 80
lamp.80 observed

General illumination

1
1 shown
# Name Device ID Evidence
0
General Illumination
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, assembly 500-6318-24-ND. The manual's cut-away (PDF page 3) is the only source that labels its switches, and it does so directly: the three roller microswitches (item 9, Lite-Force roller actuator 180-5119-02, with item 10 protect plates) carry the printed labels SW. 18 and SW. 19 plus one further unlabelled switch of the same item, and the dual opto boards (items 12/13, transmitter 515-0173-00 and receiver 515-0174-00) carry SW. 22 and SW. 21. The retained script's cvpmBallStack (InitSw 0, 21, 20, 19, 18, Balls = 4) confirms the rest position order 21-20-19-18 from the kicker backwards, so the third roller microswitch is position 20 by the assembly's own count. Coil 26-1200 NO DIODE (090-5044-ND, drawn Q1) lifts one ball to the shooter lane on solenoid 1, on harness 038-5508-04 (3-pin 045-5007-03, 12-pin 045-5007-12). Position 22 is the exit opto the served ball crosses: the script pulses it from inside solTrough. The four steel balls are 1-1/16 inch (item AP-B). Default state at rest with a full trough is the four position switches made; the coil is a single pulse per ball, not a hold. The coil does not actuate any switch.

Auto Launch

mech.auto-launch

Kicker

An auto-launch coil in the shooter lane fired by the ROM to put a served ball into play. The retained script wires solenoid 2 to a cvpmImpulseP plunger (PlungerIM.AutoFire). Public switch 23 (shooter lane, Trigger.sw23 co-located with Trigger.swPlunger) reports the ball waiting in the lane. The plunger assembly is manual cabinet item 16 (500-6146-00-04). Public switch 11's physical device is unresolved (see that switch's record). The coil does not actuate either switch.

Kickback Ram

mech.kickback-ram

Kicker

A spring-loaded ram toy at the upper left that kicks a resting ball back into play. Public switch 34 reports the ball sitting in the kicker (Kicker.sw34); the retained script's sw34_Hit maintains the switch state and starts its RamFire timer, whose commented-out kick path shows the coil's intended coupling ('Kick is handled by ramb kicker'), with the active code kicking via the table's own Kicker.sw34 object instead. The manual gives the physical construction across three pages: the ram toy itself (PDF page 16, RAM TOY MODIFIED 860-5110-04-ASY on prime assembly 550-7163-00), its mount bracket (PDF page 17, 511-5231-00), and the kicker coil assembly (PDF page 18, 500-7166-00) whose item 5 is COIL - 23-800, NO DIODE (090-5001-ND) with plunger 515-7726-00 and conical return spring 266-5020-00. The coil is a pulse device with a spring return; the ball's weight on switch 34 is what closes it.

Buck Target (moving deer)

mech.buck-target

Motorized

The machine's headline mechanism: a deer target that travels along a track across the upper playfield while the player shoots it. Three driver addresses belong to the drive per the retained script's own callback names: solenoid 3 ('right or backwards'), solenoid 4 ('left or forwards') and solenoid 5 (the motor, its SolCallback line commented out entirely). Position feedback comes from drive-track optos the same commented code names as 'opto switch 37' (pulsed every few steps) and 'opto switch 45'; the manual's deer-track page shows the track's fiber assembly and actuator (assembly pages around PDF page 12) but no electrical table exists to confirm the sensor count. The hit sensor is public switch 1, detected physically wherever the target currently is; the retained table models the detection through a ladder of thirty-one wall segments raised one at a time under the animated Buck. The table does not drive the ROM's feedback path at all: it animates the Buck itself by following the flashing Buck path lamps (16-20, super jackpot 57), and writes its endpoints to the unfitted UK post-save addresses 71/72. That substitution is a property of the retained recreation, not of the machine; a recreation that wants the ROM's own Buck logic must drive 37/45 and read 3/4/5 the way the ROM expects, which needs a harness trace of a legal ROM to pin down. Default state is the Buck at home (track start) with the walls ladder at its first segment.

Elk Diverter

mech.elk-diverter

Diverter

A mini-flipper-style gate on the right side of the upper playfield that diverts a shot into the Elk ramp. The retained script binds the player control to public switch 85 (the hardware upper-left-flipper cabinet position, D-13): Sub sw85_Hit pulses it, and Sub SolLElk on solenoid 14 rotates the Elkdiverter flipper object to its end position while swapping dropped walls sw85 (raw 650.2, 1104.6-1109.1) and sw85a (raw 793.9-796.6, 1037.7-1038.1), so the gate physically swaps between two ball guides. Which physical cabinet control the factory wires to D-13 on a machine that fits no upper flipper is not settled by any retained source (see switch 85). The manual's upper mini-flipper assembly page (PDF page 9 area) shows the assembly's mechanical construction. Default state is the diverter retracted (wall sw85 raised, sw85a dropped per Table1_Init).

Up/Down Posts

mech.up-down-posts

Other

Two retractable posts that block or open lanes. The retained script binds solenoid 7 to the BUpPost wall (raw 442.5, 462.3, 'bird orbit post') and solenoid 23 to the UpPost wall (raw 490.8, 58.0, 'orbit post' at the very top of the playfield), each a twelve-point wall raised and lowered by its callback. The manual's post assemblies give the physical construction: Up/Down Post Assembly 500-7153-04 (PDF page 19) with coil 26-1200 NO DIODE drawn Q12, left-hand-thread capped plunger 515-5198-01 and conical spring 266-5022-00, plus the two-per-playfield ball-deflect post assemblies (500-7085-00 family) on the following assembly pages. Neither source states which assembly number each solenoid drives, and the posts carry no position sensor in any retained source. Default state at game start is both posts lowered (BUpPost.IsDropped = 1 in Table1_Init; UpPost likewise unraised).

Spinner / Spinning Disk

mech.spinner

Rotary

Public switch 44 is a spinner the retained script pulses per rotation (sw44_Spin; Spinner.sw44 at raw 740.0, 680.5). The manual's Blue Pages give the physical assembly as MOTOR/BRACKETS ASSEMBLY 511-5224-00 (PDF page 15): a spinning-disk motor (511-5190-00) carrying an opto disk (535-0308-00) read by an opto board assembly (511-5209-00) on a dedicated mounting bracket -- a motorized disk with optical position feedback rather than a plain ball-spun spinner wire. The ball-guide assemblies with opto transceivers (PDF page 24) are the other optical lane sensors the manual documents; neither page names a switch number, so the mapping between the assembly's opto board, the ball-guide transceivers and the public switch addresses (44 and the unbound matrix addresses) is not settled by retained evidence and needs a harness trace. No actuator address is claimed: the disk motor's drive, if the ROM pulses one, did not survive into the retained script's active callbacks.

Senses

Recreation notes

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

Status: observed. This note records what a table author needs to recreate the machine and where the evidence stops. The one-paragraph version: a Stern S.A.M. machine whose retained factory documentation is a 41-page mechanical partial with no electrical tables — no switch matrix, no lamp matrix, no coil table, no schematics — a gap PinMAME's own driver source acknowledges (sam.c's bbh block: "Did not find a complete manual anywhere (even Stern's downloads do not have the schematics/solenoids) so this is from the VPX table, completed with the backglass flasher map"). Everything below is therefore anchored to one of five authorities: the two retained known-working tables' scripts (runtime), the partial manual's assembly drawings (construction), pinned PinMAME source (topology), a hash-pinned attract-mode harness run (availability observation), and the ROM's own switch test (names and opto polarity).

Identity and family

Stern Big Buck Hunter Pro, manufactured January 2010 (IPDB 5513; project date 2009), S.A.M. hardware, designed by John Borg, sound by Ken Hale, software by Lonnie D. Ropp and Lyman F. Sheats Jr. The PinMAME family is four firmware revisions — bbh_140 (1.4, 02/10), bbh_150 (1.5, 02/10), bbh_160 (1.6, 05/10) and the clone-tree parent bbh_170 (1.7, 11/10) — all sharing the one static bbhGameData, all physically identical. There is one physical edition; no Premium/LE split exists in the pinned catalog, and no other Big Buck Hunter title appears in PinMAME at this revision (the later Open Season machine is not in the catalog). bbh_170 alone carries a FastFlips watch address, so PinMAME's synthetic game-on output (public solenoid 33) is only expected to toggle on 1.7.

ROM evidence note: the contributor's library matches the pinned SHA-1s exactly for 1.4, 1.5 and 1.6; the 1.7 zip carries a differently-built dump (29,069,268 bytes, SHA-1 5c292f80…) that matches neither the pinned byte range nor any simple offset of it. The definition makes no assertion that depends on which 1.7 dump a runtime carries. Two runtime facts for future harness work: this libpinmame build loads ROMs from zip archives (loose .bin staging never reaches a running state), and bbh_160 boots cleanly from the exact-bytes staging copy under roms/stern/big-buck-hunter-pro/zips/.

The evidence hierarchy on this machine

  1. Runtime semantics — the two retained table scripts. The retained v1.11 table (37.6 kB, 32assassin's VPX rebuild of an 85vette VP9) binds: trough solenoid 1 (pulsing the exit opto 22), auto-launch 2, Buck drive 3/4/5 (bodies commented away), posts 7 and 23, kickback 12 (body commented away), Elk diverter 14 off switch 85, flippers 15/16, flasher channels 19-22 and 25-27/29/31/32 as Setlamp 119…132 pseudo-lamps, maintained rollover handlers, and the trough ball stack (21, 20, 19, 18). The retained v1.10 "Modern Upgrade" (144 kB, TastyWasps, December 2023) binds the same set — every SolCallback line matches — which independently corroborates those runtime bindings, and adds three writes the v1.11 table never makes (see the 73-80 block below).
  2. Construction — the partial manual's assembly pages. The decisive one is PDF page 3: the trough cut-away labels its own switches SW. 18/SW. 19 (roller microswitches, 180-5119-02) and SW. 21/SW. 22 (dual opto boards, 515-0173-00/515-0174-00), which is the only place in the retained evidence where printed labels meet public addresses.
  3. Topology — pinned sam.c: INITGAME(bbh, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NO_AUX), sequential switch numbering, 80 lamps, 66 enumerated solenoids, one GI channel, the dedicated-switch comment map, and the EOS mirror that copies each flipper button bit to its EOS bit.
  4. Runtime observation — the hash-pinned attract-mode harness run of bbh_160 (source runtime-scenario.bbh-attract-observe): the ROM's attract lamp chase drives 78 of 80 lamp addresses (everything except 1 and 2), the single GI channel is active, no solenoid fires, and the watched switch candidates idle low. A driven matrix bit proves the ROM uses the address, never that a bulb is fitted.
  5. The ROM's switch test — hash-pinned sweeps of bbh_160 and bbh_170 that hold every matrix switch 1-64 in turn (tools/harness-scenarios/stern/bbh-switch-test-sweep.json, evidence evidence/runtime/sam/big-buck-hunter-pro-bbh_1*0-switch-test-sweep.json). The test prints the ROM's own name for each switch while it reads it as active; the full table is below.

Mechanisms a recreation needs

  • Four-ball trough — the clean case, fully cross-derived (manual labels + script ball stack). Three roller microswitches and a dual-opto pair at the kicker end; coil 26-1200 NO DIODE on solenoid 1; the served ball crosses opto 22 on the way out.
  • Buck target — the headline mechanism and the least-documented. A deer target traverses a track across the upper playfield, driven by a motor plus two direction circuits (script names: 3 = "right or backwards", 4 = "left or forwards", 5 = motor). Position feedback: drive-track optos the commented-out code names as "opto switch 37" and "opto switch 45", and the ROM's switch test names BUCK WHEEL OPTO #1 and #2. Hit detection: switch 1, physically wherever the target currently is. Both retained tables drive none of this: they animate the Buck by following the flashing Buck path lamps (16-20, super jackpot 57), detect hits through a 31-segment wall ladder, and write endpoints to the unfitted UK post-save addresses 71/72 (v1.11) while v1.10 additionally comments out the magna-save 37/6 advances. A recreation that wants the ROM's own Buck logic must drive 37/45 and the drive coils the way the ROM expects — which needs a harness trace of the ROM's own feedback path. The service-menu diagnostics include a dedicated BUCK test item (see below), which is the natural harness entry point for the drive coils.
  • Elk diverter — a mini-flipper gate feeding the Elk ramp, driven on solenoid 14 by the cabinet control wired to public switch 85 (the hardware D-13 upper-left-flipper position). The gate swaps between two ball-guide walls (sw85/sw85a); the v1.10 table pulses 85 from both walls' hit handlers, corroborating the binding. Which physical cabinet control feeds D-13 on a machine that fits no upper flipper is the second unresolved conflict — the cabinet parts tables list only the two red flipper buttons, start, and tournament.
  • Kickback ram — coil 23-800 NO DIODE (solenoid 12) behind the ball-sense switch 34, which the ROM's switch test names RAM OPTO; holding 34 there fires solenoid 12. The ram toy is a separate assembly (860-5110-04-ASY) riding above the kicker.
  • Up/down posts — solenoids 7 and 23 raise/lower the two orbit posts; assembly family 500-7153-04 (coil 26-1200 NO DIODE drawn Q12). No position sensor anywhere.
  • Spinner/spinning disk — switch 44 pulses per rotation; the manual's assembly is a motorized spinning disk with an opto disk and opto board (511-5224-00 family), and the ball-guide assemblies carry additional opto transceivers (500-6775-01) whose switch addresses the manual does not state. The ROM's switch test names exactly two optos besides the trough and Buck-wheel pairs, 34 RAM OPTO and 43 BIRD OPTO, but nothing retained says which ball guide carries which. Treat the switch-44-to-assembly mapping as unproven.
  • Cabinet — start button (3S, public 16) and tournament button (4T, public 15), both switch+lamp assemblies (500-6388-44-TL / 500-6587-06-TL); two red flipper buttons on single-stack switches (500-6889-01; the double-stack 500-6890-01 is qty 0, so no EOS contacts are fitted anywhere — all EOS states are PinMAME's synthesized mirrors); a two-chute coin door whose two chutes map to two of D-1..D-4 by an unknown choice.

The 73-80 extended switch block (new question raised by the v1.10 table)

The shared S.A.M. profile's declared input ranges are -7..72 plus 81-88. But sam.c's matrix read returns MAKE16BIT(swMatrix[2+sw_stb*2], swMatrix[1+sw_stb*2]), so strobe bit 4 reads swMatrix[9] (the coin block, 65-72) and swMatrix[10] (public 73-80) as one 16-bit word — the block is reachable hardware the profile never had to name because no prior retained source used it. The v1.10 table maintains Controller.Switch(73) from the left flipper key and Controller.Switch(75) from the right flipper key, and pulses switch 79 from its front key — while core.vbs simultaneously drives the real flipper column (81/83). Whether this machine's ROM reads its flipper buttons from the flipper column, from the 73-80 block, or from both is an open question; the definition enumerates all eight block addresses as availability unknown. The switch test (below) settles it.

Service-menu navigation (mapped by harness exploration)

Back (coin-door green, harness key service_green) → "SERVICE MENU / PRESS 'SELECT' TO CONTINUE" splash → Select (service_select) → icon menu DIAG | AUD | ADJ | UTIL | TOUR | QUIT → Select on DIAG → diagnostics submenu SW | COIL | FLASH | LAMP | BUCK | MORE (captions "GO TO SWITCH MENU" etc.; Plus/Minus move the highlight). From a fresh boot, Back and then five 700 ms Select presses with 3-5 s settles reach the running switch test: splash, icon menu, diagnostics submenu, switch submenu (TEST | ACT | ALRT | PREV | QUIT | HELP) and the test itself. The coil test should be reachable the same way from the COIL icon. Committed scenarios: tools/harness-scenarios/stern/bbh-attract-observe.json (the availability run), bbh-switch-test-sweep.json (the matrix sweep below) and bbh-switch-test.json (an older sweep of 73/75/79/81/83/85/37/45 that never reached the test).

Opto polarity and the ROM's switch names (2026-10-01)

S.A.M. applies no inverted-switch mask, so the old conflict.sam-invsw-never-populated asked how the optos read. The S.A.M. switch test settles it: it names a switch and marks it in its grid while the ROM reads it as active, and a control run on the Avengers Limited Edition ROM shows this is the ROM's logical reading (its active-low Loki optos are named at public 0). Here, with every switch at 0 the grid marks none active, and each held switch is named, so the six optos the ROM names (21, 22, 34, 37, 43, 45) read active at public 1, record normally_closed: false, and are never inverted. Holding 23, 26, 27, 30, 31, 32 and 34 in the test also fires solenoids 2, 17, 18, 9, 10, 11 and 12, the coils the ROM pairs with them.

The ROM's names for the whole matrix (1.6 and 1.7 draw identical pages; positions it calls SWITCH #n carry no game-specific name):

Switch ROM name Switch ROM name Switch ROM name
1 BUCK HIT 16 START BUTTON 31 RIGHT BUMPER
2-4 SWITCH #n 17 SWITCH #17 32 BOTTOM BUMPER
5 L. RAMP ENTRANCE 18 TROUGH #4 (L) 33 EL(K)
6 LEFT ORBIT 19 TROUGH #3 34 RAM OPTO
7 LEFT TOP LANE 20 TROUGH #2 35 BIRD TARGET
8 CENTER TOP LANE 21 TROUGH #1 (R) 36 B(U)CK
9 RIGHT TOP LANE 22 TROUGH JAM 37 BUCK WHEEL OPTO #1
10 BU(C)K 23 SHOOTER LANE 38 (B)UCK
11, 12 SWITCH #n 24 LEFT OUTLANE 39 BUC(K)
13 RIGHT ORBIT 25 (E)LK 40 JUG 1 (TOP)
14 L. RAMP EXIT 26 LEFT SLINGSHOT 41 JUG 2
15 TOURNAMENT START 27 RIGHT SLINGSHOT 42 JUG 3 (BOT)
28 E(L)K 43 BIRD OPTO
29 RIGHT OUTLANE 44 SPINNER
30 LEFT BUMPER 45 BUCK WHEEL OPTO #2

Positions 46-64 are SWITCH #46-SWITCH #64. Only the six opto labels were changed from these names in this pass. Several current labels disagree with the ROM and should be revisited in a semantic pass, for example 5 (recorded as the upper-left orbit gate, named L. RAMP ENTRANCE), 11 (recorded as the shooter-lane launch, named SWITCH #11), 25 and 28 (recorded as inlane rollovers, named (E)LK and E(L)K) and 22 (recorded as the trough exit, named TROUGH JAM).

Lamp and flasher shape

The script's UpdateLamps binds 57 of the 80 lamp addresses, and the attract-mode harness run observed the ROM driving all but lamps 1-2 — so twenty lamp addresses the tables never render are nonetheless live ROM outputs. Distinctive facts: lamps 16-20 are the Buck path inserts (the tables' substitute Buck driver consumes them as inputs); lamp 57 is the Buck Super Jackpot; lamps 27-30 render as four colored bulb primitives stacked at one position (no honest per-address placement exists); lamps 65-70 are the auxiliary lamp columns (SAM lampCol = 2, rows 9-10 of the transport) the script binds to named playfield lights. The ten solenoid-driven flasher strings use script-internal Setlamp 119…132 channels above the real 80-address transport — those numbers are table render channels, not controller addresses.

What blocks promotion

See coverage.missing and the remaining conflict in the definition. The concrete path forward:

  1. Apply the ROM's switch names above in a semantic pass, run the coil test (it names the eleven unknown solenoid addresses by observation), and hold 73-80 in the switch test to settle the flipper-block question.
  2. Resolve the Elk button question with cabinet wiring evidence from a real machine.
  3. A complete factory manual, if one ever surfaces, supersedes the inference above.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
bbh_170Big Buck Hunter Pro (V1.7)
PinMAME's clone-tree parent and this definition's reference driver for address semantics. driver.c dates it 11/10. Every bbh_* driver shares the one static bbhGameData 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="bbh_170") and the only one for which sam.c sets a fast-flip watch address (samlocals.fastflipaddr = 0x0106acae), so public solenoid 33, PinMAME's synthetic game-on state, is only expected to toggle on this revision. The user's authorized ROM library holds a V1.7 dump whose bytes do not match the ROM this pinned revision loads: bbh_170.zip member BBH_V1-7_A_c.bin is 29,069,268 bytes with SHA-1 5c292f8093130d2a3aef919aa57d9d8c5f8e7756, while sam.c's ROM_LOAD expects 0x01BB8FD0 bytes with SHA-1 9a71959c57b9a75028e21bce9ee03871f8914138, and neither the first 29,069,264 bytes nor the byte range past a 4-byte skip hashes to the pinned value. The same library's 1.4, 1.5 and 1.6 dumps all match their pinned SHA-1s exactly. This is recorded as evidence provenance, not as a machine fact: the four drivers remain one physical machine and the definition makes no assertion that depends on which 1.7 dump a given runtime carries.
2010—identical
bbh_160Big Buck Hunter Pro (V1.6)
Stern V1.6 game ROM for the same physical machine, dated 05/10 in pinned driver.c's comment block. It shares the one static bbhGameData struct with every other bbh_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver. The user's authorized ROM library copy of this revision matches pinned sam.c's expected SHA-1 exactly.
2010bbh_170identical
bbh_150Big Buck Hunter Pro (V1.5)
Stern V1.5 game ROM for the same physical machine, dated 02/10 in pinned driver.c's comment block. It shares the one static bbhGameData struct with every other bbh_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver. The user's authorized ROM library copy of this revision matches pinned sam.c's expected SHA-1 exactly.
2010bbh_170identical
bbh_140Big Buck Hunter Pro (V1.4)
Stern V1.4 game ROM for the same physical machine, dated 02/10 in pinned driver.c's comment block. It shares the one static bbhGameData struct with every other bbh_* driver, so no controller address, switch polarity, lamp, solenoid, or playfield fact differs from the reference driver. The user's authorized ROM library copy of this revision matches pinned sam.c's expected SHA-1 exactly.
2010bbh_170identical

Parent set: bbh_170 — 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.8371478a7640

    Pinned catalog driver records for the bbh_* clone tree: CORE_GAMEDEF(bbh, 170, ...) plus 3 CORE_CLONEDEF(bbh, ...) rows in src/wpc/sam.c

    by
    PinMAME contributors
    rev
    8371478a7640
  • PinMAME source

    BSD-3-Clause

    pinmame.core.8371478a7640

    Source locations

    src/wpc/sam.c INITGAME(bbh, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NO_AUX) at line 3098, whose macro expands to bbhGameData = {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. sam.c's own per-game bbh_ block (lines 1429-1433) sets solenoids 19-22 and 25-32 to CORE_MODOUT_BULB_89_20V_DC_WPC under the comment 'Did not find a complete manual anywhere (even Stern's downloads do not have the schematics/solenoids) so this is from the VPX table, completed with the backglass flasher map' -- a disclosure that the emulator's own typing for this game descends from the community table retained here, not from factory documentation. sam.c line 1692 sets samlocals.fastflipaddr = 0x0106acae for bbh_170 only. sam.c line 1390 sets coreGlobals.nLamps = 64 + lampCol * 8 = 80 and line 1391 nSolenoids = CORE_FIRSTCUSTSOL - 1 + 16 = 66; lines 1132-1163 gate every custom-solenoid write path behind a SAM_GAME_* gameSpecific1 bit, none of which bbh declares, so nothing writes public 51-66. sam.c's dedswitch_lower_r/dedswitch_upper_r (lines 242-276) read the dedicated-switch blocks with their own D-1 to D-32 comment map, and lines 455-458 copy each flipper-button bit to its EOS bit with the comment that SAM uses no standard VPM flipper coils and the ROM reports technician errors otherwise. driver.c lines 2142-2149 date the four revisions. src/wpc/core.c MDRV_SWITCH_CONV/MDRV_LAMP_CONV(core_swSeq2m, core_m2swSeq) in the default PinMAME machine driver (sam.c registers no conversion of its own), with core_swSeq2m(no) = no + 7.

    src/wpc/sam.csrc/wpc/core.clines 3098, whose macro expands to bbhGameData = {GEN_SAM, sam_dmd128x32, {FLIP_SW(FLIP_L)|FLIP_SOL(FLIP_L), 0, 2, 16, 0, 0, 0, 0
    by
    PinMAME contributors
    rev
    8371478a7640
  • Human review

    BSD-3-Clause

    controller-profile.pinmame-sam

    Source locations

    Stern S.A.M. public switch, DIP, solenoid, lamp and single-GI address rules, reused unchanged. 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, the 51-66 macro-published custom range, and one aggregate GI channel at address 0. Every rule was re-derived from pinned source for this curation and matched.

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

    manual.stern.big-buck-hunter-pro.2010

    Source locations

    41-page image-only partial scan (no text layer; pdftotext returns only form feeds) of the Stern Big Buck Hunter Pro manual's 'Blue Pages' (Major Assemblies & Samples, per PDF page 1) and 'Pink Pages' (Parts Identification, per PDF page 26), hosted by IPDB with the note 'Partial Manual (Pink and Blue pages only, poor quality areas)'. It carries none of Stern's electrical wiring tables: no switch matrix, no lamp matrix, no coil table, and no schematics. PDF page 3 is the 4-ball trough assembly whose cut-away labels SW. 18/SW. 19 on the roller microswitches and SW. 21/SW. 22 on the dual opto boards; PDF page 15 the spinner motor assembly with its opto disk and opto board; PDF pages 16-18 the ram mech and ram kicker assemblies; PDF page 19 the up/down post assembly; PDF page 24 the ball guide assemblies with opto transceivers; PDF page 25 the back panel with five clear sockets; PDF pages 29-30 the cabinet parts and switches. Pages 31-32 (playfield location illustrations) and the remaining pages were rendered and read during the pass but carry no address-bearing table.

    external:pinmame-manuals/by-machine/stern.big-buck-hunter-pro.2010/Stern_2010_Big_Buck_Hunter_Pro_Partial_Manual_Pink_and_Blue_pages_only_poor_quality_areas.pdf
    by
    Stern Pinball, Inc.
    sha256
    c35324b36939…
  • Human review

    ipdb.machine-5513

    Source locations

    IPDB machine 5513, retrieved through an authenticated browser session and saved with the contributor's help after plain fetches returned HTTP 403 behind Cloudflare. Identity facts used: Stern Pinball, Incorporated, Chicago; S.A.M. Board System; project date 2009; date of manufacture January 2010; design John Borg; sound Ken Hale; software Lonnie D. Ropp and Lyman F. Sheats Jr.; common abbreviation BBH; the documentation entry naming the partial manual retained here. Used for identity only, never for I/O semantics.

    by
    Internet Pinball Machine Database
    rev
    2026-08-27
  • VPX table

    vpx-table.bbh-stern-2010

    Source locations

    Retained known-working community recreation of the physical machine, from the contributor's own table collection. Table info credits a VPX rebuild by 32assassin of a VP9 version by 85vette, released June 2017, table version 1.11. Exact playfield bounds from its own gamedata.json are left=0 top=0 right=979 bottom=2162; normalized coordinates are x/979.0 and y/2162.0. Geometry authority only for named table objects; the full per-object dump is retained at external:pinmame-review-artifacts/big-buck-hunter-pro-2010/vpx-geometry.json, SHA-256 7cbd1ece1730ced491bf178d81b0812d8c0ac70721ed1adfb236fc9347f0a88e. This is a thin build by this project's standards -- 822 extracted files and a 37,592-byte script against the 240-290 kB VPW-authored scripts several other games in this project used -- and it is judged accordingly: its object set is good enough to place many addresses but it is not treated as authority for any address it does not model.

    external:pinmame-vpx-sources/stern/big-buck-hunter-pro-2010/source/Big%20Buck%20Hunter%20Pro%20%28Stern%202010%29.vpx
    by
    community table authors (32assassin VPX rebuild of an 85vette VP9 version; no explicit author credit beyond the table info block)
    sha256
    347f5533c2a6…
  • VPX script

    vpx-script.bbh-stern-2010

    Source locations

    Retained embedded script, 37,592 bytes, 1,147 lines. Runtime and mechanism-causality authority: Const cGameName = "bbh_170", Const UseSolenoids = 1, Const UseLamps = 0, Const UseGI = 0 with a GICallback set anyway (its UpdateGI ignores the string index and drives one GI collection for any index); SolCallback entries for 1, 2, 3, 4, 7, 12, 14, 15, 16, 23 plus the flasher pseudo-lamp callbacks 19, 20, 21, 22, 25, 26, 27, 29, 31, 32 ('Setlamp 119' through 'Setlamp 132', numbers above the 80-address lamp transport, so they are table-internal flasher channels, not controller lamp addresses); SolCallback(5) present but its target sub commented away; SolKickBack's body commented away; vpmNudge.TiltSwitch = -7; bsTrough as a cvpmBallStack (InitSw 0, 21, 20, 19, 18 with InitKick BallRelease and Balls = 4) pulsing switch 22 from inside solTrough; a JP-style ChangedLamps fade loop (LampTimer) whose UpdateLamps binds 57 lamp addresses by name; the lamp-following Buck driver (BuckTimer/BuckCheckPosition tracking lamps 16-20 and 57, writing Controller.Switch(71)/(72) at the animation endpoints, with the physical position-opto writes on 37 and 45 commented out); Sub sw85_Hit pulsing 85; and the magna-save keys pulsing switches 37 and 6.

    external:pinmame-vpx-sources/stern/big-buck-hunter-pro-2010/extracted-vpxtool/script.vbs
    by
    community table authors
    sha256
    da706d513c20…
  • VPX table

    vpx-extraction.bbh-stern-2010

    Source locations

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

    external:pinmame-vpx-sources/stern/big-buck-hunter-pro-2010/extracted-vpxtool.manifest.json
    by
    vpxtool extraction
  • ROM analysis

    rom.stern.big-buck-hunter-pro

    Source locations

    The contributor's authorized ROM library (the user's VPinMAME roms folder, treated read-only): bbh_140.zip (SHA-256 c621195e182190e02c39fbf70805a84cfb15921f78f00a9a3c16136009ea6a57, member bbh140.bin SHA-1 0c500c0a5588f8476a71599be70b515ba3e19cab, matching pinned sam.c exactly); bbh_150.zip (SHA-256 1680fb35c5705e7c1f4f45824cc2e240ad1815e4338ce31744e938d55ae3163c, member bbh150.bin SHA-1 16e499046107baceda6f6c934d70ba2108915973, matching); bbh_160.zip (SHA-256 82f0101cc2dc1a8888a7ef6e5ccb0bcdd98eb15257caa3cc864c02b7a3e6b94b, member bbh_160.bin SHA-1 c58a2ae5c1332390f0d1191ee8ff920ceec23352, matching); bbh_170.zip (SHA-256 76a35ec46b65fe93667b069d3af4a5df0eeabcc541fc1a84f43f1c3e18ec2ffb, member BBH_V1-7_A_c.bin 29,069,268 bytes SHA-1 5c292f8093130d2a3aef919aa57d9d8c5f8e7756, NOT matching pinned sam.c's 0x01BB8FD0-byte 9a71959c57b9a75028e21bce9ee03871f8914138; see the bbh_170 driver record). Renamed byte-identical staging copies for future harness work sit at external:pinmame-roms/stern/big-buck-hunter-pro/ under the working root; the user's own library was never modified.

    external:pinmame-roms/stern/big-buck-hunter-pro
    by
    Stern Pinball, Inc. firmware, user-authorized local copies
  • VPX table

    vpx-table.bbh-stern-2010-v1.10

    Source locations

    Second retained known-working recreation of the same physical machine, supplied by the contributor after the first pass: the December 2023 'Modern Upgrade' (table version 1.10, save revision 437, VPX 10.8) by TastyWasps on the 32assassin/85vette base with VR work by Retro27 and Sixtoe. Its 144,072-byte script binds the same solenoid and switch set as the retained v1.11 script -- every SolCallback line matches except that flasher strings 20/22/31/32 route to named flash subroutines instead of Setlamp channels -- which independently corroborates those runtime bindings. It adds three writes the retained table never makes: the flipper keys also maintain Controller.Switch(73)/(75), and the front key pulses switch 79 -- addresses in the 73-80 block outside the shared S.A.M. profile's declared input ranges, recorded on those switch records and in the knowledge note as an open ROM-read question. Its sw85a_Hit handler also pulses 85 alongside sw85_Hit, corroborating the Elk binding. This table is not used for geometry: its object set differs from the retained v1.11 table this definition's placements come from.

    external:pinmame-vpx-sources/stern/big-buck-hunter-pro-2010/source/Big%20Buck%20Hunter%20Pro%20%28Stern%202010%29%20v1.10.vpxlines matches except that flasher strings 20/22/31/32
    by
    community table authors (TastyWasps modern upgrade of the 32assassin/85vette table; VR by Retro27 and Sixtoe)
    sha256
    fb000405999a…
  • VPX script

    vpx-script.bbh-stern-2010-v1.10

    Source locations

    Retained embedded script of the v1.10 modern-upgrade table, 144,072 bytes, 4,192 lines. Corroborating runtime source: identical SolCallback set to the retained v1.11 script (1, 2, 3, 4, 7, 12, 14, 15, 16, 23 plus flasher channels 19-22/25-27/29/31/32, with 20/22/31/32 through named flash subs), identical maintained rollover handlers, sw85a_Hit added alongside sw85_Hit both pulsing 85, the magna-save Buck-advance writes commented out, and the three extra key writes: LeftFlipperKey to Controller.Switch(73), RightFlipperKey to Switch(75), and keyFront pulsing switch 79 while maintaining Switch(15).

    external:pinmame-vpx-sources/stern/big-buck-hunter-pro-2010/extracted-v1.10/script.vbs
    by
    community table authors
    sha256
    9f233c21ee07…
  • VPX table

    vpx-extraction.bbh-stern-2010-v1.10

    Source locations

    Canonical manifest covering every sorted relative POSIX path, byte size and SHA-256 under extracted-v1.10; manifest SHA-256 47dc92a1857438245a6532f7239b3ae041e7fae12b720d6d67eb57ec01e5503e; 1499 files, 199556363 bytes, produced with vpxtool git:v0.33.3 from the retained v1.10 table.

    external:pinmame-vpx-sources/stern/big-buck-hunter-pro-2010/extracted-v1.10.manifest.json
    by
    vpxtool extraction
  • Runtime run

    runtime-scenario.bbh-attract-observe

    Source locations

    Hash-pinned LibPinMAME gameplay-harness run (tools/run_pinmame_harness.py) of the exact-bytes bbh_160 ROM: boot through power-up tests into attract mode, no inputs, ~115 seconds of observation with the committed scenario tools/harness-scenarios/stern/bbh-attract-observe.json. Observed: the ROM drives 78 of the 80 public lamp addresses during the attract lamp chase -- every address except 1 and 2, including all twenty lamp addresses the retained scripts never bind -- the single GI channel is active, no solenoid fires, and switches 21/22/23/73/75/79/81/83/85 all idle low. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so these observations upgrade availability and never construction. The run's scenario SHA-256, library SHA-256 (ca33d8fd92ff8f797db2628604db50ae02c8d6b95cd0d6718ce74833980d145d) and fresh-state work directory are recorded inside the retained run artifact.

    external:pinmame-runtime-evidence/big-buck-hunter-pro-2010/attract-03/run.json
    by
    pinmame-game-defs curation harness run
    rev
    2026-08-28
    sha256
    49faad88b97d…
  • Runtime run

    runtime.big-buck-hunter-pro.bbh-160.switch-test-sweep

    Source locations

    One hash-pinned LibPinMAME harness run of bbh_160 from empty NVRAM (scenario tools/harness-scenarios/stern/bbh-switch-test-sweep.json) that enters the S.A.M. switch test (Back, then Select five times) and holds every matrix switch 1-64 at public 1 for 1.2 s in turn. With every switch at 0 the grid marks none active; each held switch is named and marked, among them the optos TROUGH #1 (R) (21), TROUGH JAM (22), RAM OPTO (34), BUCK WHEEL OPTO #1 (37), BIRD OPTO (43) and BUCK WHEEL OPTO #2 (45). Holding 23, 26, 27, 30, 31, 32 and 34 also fires solenoids 2, 17, 18, 9, 10, 11 and 12.

    internal:evidence/runtime/sam/big-buck-hunter-pro-bbh_160-switch-test-sweep.json
    by
    Generated locally from pinned PinMAME and the user-authorized ROM corpus; ROM bytes remain external
    rev
    8371478a7640
  • Runtime run

    runtime.big-buck-hunter-pro.bbh-170.switch-test-sweep

    Source locations

    One hash-pinned LibPinMAME harness run of bbh_170 from empty NVRAM (scenario tools/harness-scenarios/stern/bbh-switch-test-sweep.json) that enters the S.A.M. switch test (Back, then Select five times) and holds every matrix switch 1-64 at public 1 for 1.2 s in turn. With every switch at 0 the grid marks none active; each held switch is named and marked, among them the optos TROUGH #1 (R) (21), TROUGH JAM (22), RAM OPTO (34), BUCK WHEEL OPTO #1 (37), BIRD OPTO (43) and BUCK WHEEL OPTO #2 (45). Holding 23, 26, 27, 30, 31, 32 and 34 also fires solenoids 2, 17, 18, 9, 10, 11 and 12.

    internal:evidence/runtime/sam/big-buck-hunter-pro-bbh_170-switch-test-sweep.json
    by
    Generated locally from pinned PinMAME and the user-authorized ROM corpus; ROM bytes remain external
    rev
    8371478a7640
  • Runtime run

    runtime.avengers-limited-edition.switch-test-loki-control

    Source locations

    A control run of the Avengers Limited Edition 1.7 ROM from empty NVRAM (scenario tools/harness-scenarios/stern/avs-switch-test-loki-control.json). Its known-working script drives the Loki lock optos 49-51 active-low, and its switch test marks them in the grid at public 0, prints NONE while 49 is held at 1 and LOKI LOCK 1 (BOT) when it returns to 0: the S.A.M. switch test reports the ROM's logical reading, not the raw public level.

    internal:evidence/runtime/sam/avengers-limited-edition-switch-test-loki-control.json
    by
    Generated locally from pinned PinMAME and the user-authorized ROM corpus; ROM bytes remain external
    rev
    8371478a7640

Something wrong or missing?

This definition still has 6 unmet requirements, listed under Missing data below. 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

Missing data

What this game definition still needs to reach 100% and become author-ready.

  • Input functions

    Validate which physical sensor or cabinet control each input represents and when it activates.

  • Output functions

    Validate the physical device, function and fitted quantity behind each output binding.

  • Switch construction and polarity

    Verify normally open or closed contacts and how PinMAME delivers their active states.

  • Recreation knowledge

    Complete the source-backed behavior and assembly notes needed to recreate the machine.

  • Physical device locations

    Establish validated playfield locations for every physical sensor, actuator and light emitter, including bulb counts and justified projections.

  • Conflicting evidence

    Obtain the evidence needed to settle the remaining disagreements about the physical machine.

Recorded completion blockers

Named spatial gaps

  • outputs[binding.device=27,28,29,30] (pinmame.output.lamp) carry no spatial key: the retained table renders all four as colored bulb Primitives stacked at raw (401.3, 263.9, z 290) with Flash-glow partners clustered around raw (352.5, 250-371), so four distinct physical bulb positions cannot be derived from the stack. See the lamp records' own notes.
  • outputs[binding.device=0] (pinmame.output.gi) has no spatial key: the partial manual prints no G.I. bulb inventory, and the retained script's UpdateGI drives one 27-light collection for any string index, so no per-bulb placement set can be asserted. The 27 retained GI positions are in the geometry dump.
  • The switch and solenoid semantics the retained sources cannot reach stay unknown: matrix switches 2, 3, 4, 12, 17 and 46-64, solenoids 6, 8-11, 13, 17, 18, 24, 28 and 30, the 73-80 extended switch block, and lamps 1-2 (never observed driven). The attract-mode harness run resolved the other twenty lamp addresses to observed-driven; the remaining route is a service-menu coil/switch harness run, whose navigation is mapped in the knowledge note.

Promotion decision

Promotion to author_ready is refused. One conflict remains unresolved (conflict.elk-button-physical-control); contact polarity is asserted only for the six optos the ROM's switch test settled; the switch semantics of the 46-64 matrix block and the eight-address 73-80 extended block, the identities of eleven solenoids, and lamps 1-2 remain unknown because no electrical table exists in any retained source; the attract-mode harness run resolved the other twenty lamp addresses to observed-driven; Back and five 700 ms Select presses reach the switch test, whose 1-64 sweep is retained, and the same path should reach the coil test that would name the unknown solenoids; recreation knowledge remains observed until those runs exercise the ROM's Buck feedback and the Elk button path; and the stacked-bulb and G.I. spatial gaps have no honest placement set. The record therefore stays partial with coverage.missing = ["input_semantics", "output_semantics", "polarity", "recreation_notes", "spatial_placement", "unresolved_conflicts"].

Read the curation report

Missing locations · 73

  • Unidentified switch 2
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 3
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 4
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 12
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 17
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 46
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 47
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 48
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 49
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 50
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 51
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 52
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 53
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 54
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 55
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 56
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 57
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 58
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 59
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 60
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 61
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 62
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 63
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Unidentified switch 64
    Device evidence and notes

    No retained source names or binds this address: the partial manual carries no switch matrix table, and the retained script defines no handler for it. The ROM may use it; failing to observe an address is never proof that it is unused.

  • Left Post Save (UK Only) - not fitted; Buck home position in the retained table
    Device evidence and notes

    Read through sam.c's dedswitch_lower_r, which returns coreGlobals.swMatrix[9] as the low byte of the lower dedicated-switch word. Printed DED #7, a United Kingdom post-save cabinet switch this US-manufactured machine does not carry: no such switch or bracket appears in the retained manual's cabinet parts tables. The retained script writes Controller.Switch(71) = 1 whenever its animated Buck reaches the start of its travel, repurposing this always-readable dedicated address as the Buck's home-position feedback. The retained table drives the Buck from lamp events and animates the target itself, so these writes are the table author's substitute for the machine's own position feedback, not evidence that the physical sensor sits at this dedicated-switch position. The physical Buck feedback addresses the ROM actually reads are not settled by any retained source; the commented-out matrix writes on 37 and 45 are the table author's own record of where those optos belong. The address is live: the retained table writes it (see the label note), and the ROM's dedicated-switch handler reads the byte regardless of whether the optional hardware is fitted.

  • Right Post Save (UK Only) - not fitted; Buck end-of-travel in the retained table
    Device evidence and notes

    Read through sam.c's dedswitch_lower_r, which returns coreGlobals.swMatrix[9] as the low byte of the lower dedicated-switch word. Printed DED #8, the second UK post-save address, not fitted for the same reason as D-7. The retained script writes Controller.Switch(72) while the Buck sits at the far end of its travel and reverses there. The retained table drives the Buck from lamp events and animates the target itself, so these writes are the table author's substitute for the machine's own position feedback, not evidence that the physical sensor sits at this dedicated-switch position. The physical Buck feedback addresses the ROM actually reads are not settled by any retained source; the commented-out matrix writes on 37 and 45 are the table author's own record of where those optos belong. The address is live: the retained table writes it (see the label note), and the ROM's dedicated-switch handler reads the byte regardless of whether the optional hardware is fitted.

  • Unidentified extended-block switch (the v1.10 table's left-flipper write)
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. This address sits in the 73-80 block between the dedicated coins (65-72) and the flipper column (81-88), which the shared S.A.M. profile's declared input ranges do not cover: sam.c reads it only through the strobed matrix word (sw_stb bit 4 returns swMatrix[9] as the low byte and swMatrix[10] as the high byte), so the block is reachable hardware that no retained manual names. The v1.10 modern-upgrade table maintains Controller.Switch(73) from the left-flipper key while core.vbs simultaneously drives the flipper column (81/83), so whether this machine's ROM reads its flipper buttons from the flipper column, from this block, or from both is an open question a switch-test or gameplay harness trace must settle. Recorded availability unknown; no placement is claimed.

  • Unidentified extended-block switch
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. See switch 73 for the block's structure. No retained table writes this address; the block is reachable hardware that no retained manual names.

  • Unidentified extended-block switch (the v1.10 table's right-flipper write)
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. See switch 73: the v1.10 table maintains Controller.Switch(75) from the right-flipper key. Availability unknown pending a runtime trace.

  • Unidentified extended-block switch
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. See switch 73 for the block's structure. No retained table writes this address; the block is reachable hardware that no retained manual names.

  • Unidentified extended-block switch
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. See switch 73 for the block's structure. No retained table writes this address; the block is reachable hardware that no retained manual names.

  • Unidentified extended-block switch
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. See switch 73 for the block's structure. No retained table writes this address; the block is reachable hardware that no retained manual names.

  • Unidentified extended-block switch (the v1.10 table's front-key pulse)
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. See switch 73: the v1.10 table pulses Controller.Switch 79 from its front key while also maintaining tournament start (15). Availability unknown pending a runtime trace.

  • Unidentified extended-block switch
    Device evidence and notes

    Read through sam.c's strobed matrix word: the matrix read at 0x1100000 returns MAKE16BIT(swMatrix[2 + sw_stb*2], swMatrix[1 + sw_stb*2]), so strobe bit 4 returns swMatrix[9] (the coin block, 65-72) as the low byte and swMatrix[10] (this block, 73-80) as the high byte. The shared S.A.M. profile's declared input ranges do not cover this block; it is enumerated here because a second retained table demonstrably writes three of its addresses. See switch 73 for the block's structure. No retained table writes this address; the block is reachable hardware that no retained manual names.

  • Unidentified output 6
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 8
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 9
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 10
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 11
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 13
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 17
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 18
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 24
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 28
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Unidentified output 30
    Device evidence and notes

    No retained source binds or names this address: the partial manual carries no coil table, and the retained script defines no callback. sam.c's bbh_ block additionally types addresses 19-22 and 25-32 as #89-bulb flasher strings under a comment acknowledging the typing was reconstructed from the community table rather than a manual, so even the emulator's own class metadata is ancestral to the table retained here and is recorded, not trusted. The device class below is the driver bank's generic coil record; the ROM may drive this address at runtime. Failing to observe an address is never proof that it is unused.

  • Lamp 1
    Device evidence and notes

    Never observed driven: neither retained table binds it, and the ROM's attract lamp chase left it dark through the whole hash-pinned observation window. That is not proof the address is unused (the chase may not exercise every fitted bulb), so the address stays unknown rather than unused.

  • Lamp 2
    Device evidence and notes

    Never observed driven: neither retained table binds it, and the ROM's attract lamp chase left it dark through the whole hash-pinned observation window. That is not proof the address is unused (the chase may not exercise every fitted bulb), so the address stays unknown rather than unused.

  • Lamp 4
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 12
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 13
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 27
    Device evidence and notes

    Bound by the retained script's UpdateLamps fade loop. The retained table renders this address as a colored bulb Primitive (L27-L30) stacked with its three siblings at raw (401.3, 263.9, z 290), each paired with a Flash glow object (f27-f30) clustered around raw (352.5, 250-371). Four physical bulbs cannot share one point and the stack gives no basis for four distinct positions, so this record carries no spatial key; the stack is disclosed in the retained geometry dump.

  • Lamp 28
    Device evidence and notes

    Bound by the retained script's UpdateLamps fade loop. The retained table renders this address as a colored bulb Primitive (L27-L30) stacked with its three siblings at raw (401.3, 263.9, z 290), each paired with a Flash glow object (f27-f30) clustered around raw (352.5, 250-371). Four physical bulbs cannot share one point and the stack gives no basis for four distinct positions, so this record carries no spatial key; the stack is disclosed in the retained geometry dump.

  • Lamp 29
    Device evidence and notes

    Bound by the retained script's UpdateLamps fade loop. The retained table renders this address as a colored bulb Primitive (L27-L30) stacked with its three siblings at raw (401.3, 263.9, z 290), each paired with a Flash glow object (f27-f30) clustered around raw (352.5, 250-371). Four physical bulbs cannot share one point and the stack gives no basis for four distinct positions, so this record carries no spatial key; the stack is disclosed in the retained geometry dump.

  • Lamp 30
    Device evidence and notes

    Bound by the retained script's UpdateLamps fade loop. The retained table renders this address as a colored bulb Primitive (L27-L30) stacked with its three siblings at raw (401.3, 263.9, z 290), each paired with a Flash glow object (f27-f30) clustered around raw (352.5, 250-371). Four physical bulbs cannot share one point and the stack gives no basis for four distinct positions, so this record carries no spatial key; the stack is disclosed in the retained geometry dump.

  • Lamp 34
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 36
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 37
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 44
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 48
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 56
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 58
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 64
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 71
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 72
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 73
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 74
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 75
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 76
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 77
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 78
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 79
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • Lamp 80
    Device evidence and notes

    Observed driven by the ROM during the hash-pinned attract-mode harness run (see source runtime-scenario.bbh-attract-observe): the attract lamp chase drives every address except 1 and 2. A lamp-matrix bit lighting in attract proves the ROM drives the address, not that a physical bulb is fitted, so no construction or placement is claimed; the address is simply not the dead hole it would have to be to stay dark through a full attract cycle. Neither retained table renders it, so no placement exists.

  • General Illumination
    Device evidence and notes

    Stern S.A.M. has exactly one general-illumination channel: sam.c sets coreGlobals.nGI and drives coreGlobals.gi[0] from its GI latch bit. The retained script matches that shape and then goes further: its UpdateGI ignores the string index entirely and switches one 27-member GI collection (GI_1..GI_27) plus an empty GI2 collection for any index, so a consumer cannot distinguish strings through this table. The partial manual prints no G.I. bulb inventory; its only related fact is the Back Panel Assembly's five clear socket & bulb assemblies (item 2, 518-5000-00-HF, qty 5), which it does not tie to any address. No bulb quantity and no placement set is asserted, so this record carries no spatial key; the 27 retained GI light positions are in the geometry dump.

Evidence needed to settle conflicts

  • Elk button physical control

    a photograph of an unrestored machine's cabinet wiring where the D-9 to D-16 return harness is visible, or a continuity check of the left flipper button switch against the CPU board's flipper-column connector on real hardware.