Big Buck Hunter Pro

Partial

Stern2010SAMstern.big-buck-hunter-pro.2010

2 unresolved conflicts

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

Sam invsw never populated

Affects
input 21
input 22
input 37
input 45
Disagreeing sources
PinMAME source
Operator manual
VPX script
Human review
ROM analysis

The controller profile pinmame.sam declares inversion_applied_by_emulator: true as a platform capability, matching every WPC profile this project has curated. For Stern S.A.M. pinned PinMAME applies none: sam.c's INITGAME macro expands to a positional aggregate initializer that stops at the hw sub-struct, so core_gameData->wpc.invSw is left at its C zero-initialization default, core.c copies those zeros into coreGlobals.invSw at machine init, and no Stern S.A.M. game in sam.c ever assigns invSw.

This machine's opto-construction evidence is unusually direct and unusually incomplete at the same time: the manual's own trough cut-away labels the dual opto boards SW. 21 and SW. 22, the retained script's commented Buck code names 'opto switch 37' and 'opto switch 45', and the ball-guide assemblies carry opto transceivers (500-6775-01) whose switch addresses no retained source states -- so physical construction is known for 21/22/37/45 and unmapped for at least two more optos, while the emulator-side normalization is known to be absent for all of them. The public state of every opto on this machine is raw hardware polarity.

What would settle it

a LibPinMAME gameplay-harness trace of a legal bbh_160 ROM (whose bytes match the pinned revision exactly) observing the idle public state of switches 21, 22, 37 and 45 with and without a ball present, plus the boot diagnostic's own switch-status page for the unmapped ball-guide optos.

controller.inversion_applied_by_emulator; inputs[binding.device=21,22,37,45]

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 Kickback Ram Ball Sense · 12 Kickback Ram Coil35 Stand-Up Target36 Stand-Up Target237 Buck Drive Position Opto A · 45 Buck Drive Position Opto B38 Stand-Up Target39 Stand-Up Target40 Stand-Up Target41 Stand-Up Target42 Stand-Up Target43 Rollover (upper playfield)44 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 playfield25 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
Kickback Ram Ball Sense
switch.matrix-34 observed
35
Stand-Up Target
switch.matrix-35 observed
36
Stand-Up Target
switch.matrix-36 observed
37
Buck Drive Position Opto A
Opto
switch.matrix-37 candidate
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
Rollover (upper playfield)
switch.matrix-43 observed
44
Spinner
switch.matrix-44 observed
45
Buck Drive Position Opto B
Opto
switch.matrix-45 candidate
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 exactly four authorities: the two retained known-working tables' scripts (runtime), the partial manual's assembly drawings (construction), pinned PinMAME source (topology), and a hash-pinned attract-mode harness run (availability observation).

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.

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". 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; 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 no retained source states. 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). Entering a test from the submenu resisted short, medium, double-tap, and 2.5 s Select presses in the explored runs — the exact entry key (or hold) is still unmapped, and is the only remaining step before a coil-test run can name the unknown solenoids and a switch-test run can settle the 73/75-vs-81/83 flipper question and the opto addresses. Committed scenarios: tools/harness-scenarios/stern/bbh-attract-observe.json (the completed availability run) and bbh-switch-test.json (the ready-to-run switch sweep, pending the entry key).

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 two conflicts in the definition. The concrete path forward:

  1. Finish the service-menu entry (the one unmapped key) and run the coil test — names the eleven unknown solenoid addresses by observation — and the switch test while holding 73/75/79/81/83/85/37/45 — settles the flipper-block question, the Elk button's readable address, and the Buck optos in one run. The committed bbh-switch-test.json scenario is ready once entry works.
  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.
2010identical
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…

Something wrong or missing?

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

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

Same platform