Identity and evidence precedence
This is the Bally/Midway WPC-95 physical product released 1996, part number 16-50048-101 (September 1996 FINAL manual). It covers the eight-driver ss_* clone tree: ss_15 (parent, production 1.5), ss_14, ss_12, ss_11, ss_11s10, ss_03 (0.3 prototype), ss_01 and ss_01b (D.01R prototypes). Every one of these is a game/sound-ROM revision for the same physical machine; ssGameData is one shared static struct referenced by init_ss regardless of which ROM loads, so no driver changes a controller address or playfield device.
Evidence precedence for this definition: the retained known-working VPW v1.0 script is runtime and mechanism-causality ground truth; the Bally/Midway operations manual controls physical construction, part numbers, wiring, polarity, quantities, and device presence; pinned PinMAME controls controller generation, public address topology, mechanism-table position ranges, and display metadata; the retained VPX geometry supplies normalized coordinates. The retained manual PDF carries a real but badly garbled multi-column OCR text layer for its Section 2/3 tables (unlike Monster Bash's fully image-only scan); every printed table used here was still read from rendered 300-600 dpi pages and transcribed into external:pinmame-review-artifacts/scared-stiff-1996/manual-transcription.md, never trusted from pdftotext alone.
GEN_WPC95 (PINMAME_HARDWARE_GEN_WPC95 = 0x80) with wpc_dispDMD, confirmed directly from ss.c line 464 rather than assumed. The controller profile is pinmame.wpc-95, reused unchanged.
- Switches: dedicated coin-door 1-8, matrix 11-88 as drive column then return row, Fliptronic 111-118.
ssGameData's inverted-switch mask {0x00,0x02,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00} (index = column, bit = row-1) normalizes address 12 (Wheel Index) and the entire column-3 (31-38) and column-4 (41-48) ranges -- 17 addresses -- and the manual's own (LED)+(Trans.) two-row opto construction disclosure swept the identical 17-address set. Zero disagreement.
- Solenoids: physical drivers 1-6, 8-16 (solenoid 7 populates a driver transistor but drives only the cabinet knocker, no playfield device); flashers 17-28; Fliptronic upper-flipper circuits 33-36 repurposed for a lock diverter (33/34) and two plain flashers (35/36, no upper flippers fitted); WPC-95 LPDC outputs 37/38 (aux-lamp shift-register clock/data) and 39/40 (Spider Wheel motor phases) with PinMAME's backward-compatibility mirrors at 41-44; Fliptronic lower-flipper circuits 45-48; PinMAME state channels 29-32; simulator-only 49 and reserved 50.
ssGameData declares no custSol, so no address above 50 is published -- but it does declare hw.lampCol = 2, publishing sixteen driver-side auxiliary lamp addresses (91-98, 101-108) whose fitment is unresolved (see below).
- Lamps: 8x8 matrix 11-88, all 64 addresses populated, plus the sixteen unresolved auxiliary addresses.
- GI: five strings on public addresses 0-4.
Two WPC-95 numbering facts must not be lost. First, the generic Flipper Circuits legend printed at the foot of the Solenoid/Flasher Table numbers printed circuits 33-36 "Upr. Rt./Lt. Power/Hold" regardless of whether upper flippers are fitted, but the game-specific table overrides that caption: 33/34 are the Left Diverter (confirmed by ss.c's own #define sLDiverterPower 33/#define sLDiverterHold 34) and 35/36 are plain flashers. ssGameData declares FLIP_SOL(FLIP_L) only, so core_getSol never routes 33-36 through a flipper-coil path -- they pass straight through untranslated, the same pattern Tales of the Arabian Nights already established for its own repurposed upper circuits. Second, LPDC outputs 37-40 and public addresses 41-44 are the same four physical drive lines (two aux-lamp shift-register signals, two Spider Wheel motor phases), because core_getSol duplicates 37-40 into 41-44 for WPC-95; a recreation binds four physical lines and accepts either address, never creating eight devices.
Ball path, trough, and shooter
Four balls rest on trough optos 32-35, with Trough Ball 1 (32) at the eject end nearest the shooter lane and Trough Ball 4 (35) at the drain entrance. Solenoid 9 ejects the ball on 32; the retained script's SolRelease handler (vpmTimer.PulseSw 31; sw32.kick 60,9) pulses trough-eject opto 31 in the same event, so switch 31 is a documented projection onto the trough-Ball-1 kicker position rather than a separately placed object. The ejected ball rests on shooter-lane switch 18; auto-plunger coil 1 launches it (ss.c's own ss_handleBallState comment: "SS has both, manual and auto plunger"), and the retained script's AutoPlunge handler also opens Gate008, a one-way shooter-lane gate, immediately before firing.
All seventeen opto addresses (12, 31-38, 41-48) are printed optos that rest closed and PinMAME's mask covers exactly that set: assert the public switch when a ball, the Spider Wheel index, or a coffin/crate/ramp ball is present, and never invert again.
Spider Wheel: the machine's motorized, spinning mechanism (backbox)
A two-phase stepper motor rotates a Spider figure behind a backbox window. ss.c's own mech_add(0,&ss_wheelMech) declares it directly: solenoids 39/40, MECH_LINEAR|MECH_CIRCLE|MECH_TWOSTEPSOL|MECH_FAST, a 200-count range, and home switch swWheelIndex (12) asserting across steps 25-199. The retained script independently registers the identical mechanism through its own cvpmMech helper (mSpider: .Sol1 = 39, .Sol2 = 40, .Addsw 12, 0, 0, 48 visual steps) and rotates the pSpider primitive, which sits at a strongly negative normalized y -- behind the playfield's own rear edge -- consistent with the sixteen backbox-mounted "Web Award" lamps (64-68, 71-78, 81-83) this wheel selects among when a player chooses a bonus item (ss.c's spiderWheelText array: Collect Deadhead, Jackpot Is Lit, Double Trouble, Collect Eyeball, Beat The Crate, Coffin Multiball, Telepathetic Power x2, Laboratory, Boogie Man Boogie, Crate Multiball, Collect Eyeball, Leaper Mania, Beast Hurry Up, Collect Deadhead x2). This is the machine's only motorized, continuously rotating mechanism, and it lives in the backbox, not on the playfield.
Crate: ball lock and kickout (not motorized, not spinning)
A ball diverted into the Crate subway trips the entrance opto (switch 38, swCrateEntrance) and comes to rest against a solenoid-held post (solenoids 8/16, CratePostPower/CratePostHold; the retained script's CratePostHold toggles Crate_Pin.Collidable). Hitting the crate door trips the door sensor (switch 57, swDoorSensor -- named "Crate Sensor" on the manual's Switch Locations page and "Crate Magnetic Sensor" only in the retained script's own inline comment, which this definition records as the switch's construction is otherwise undisclosed), and ss.c's ball-state table routes the hit through sCratePostHold into the crate interior; the ball is kicked back out through solenoid 6 (Crate Kickout, scoop_topleft), sensed leaving on switch 37 (Left Kickout). The retained script's crate_pin_Hit handler rotates a door primitive (BP_crate_door) a few degrees and back on contact -- a wobble reaction, not a continuous rotation. Neither ss.c nor the retained script implements any motor or ongoing spin for this mechanism. The task brief that seeded this curation pass described "the motorised spinning Crate with a ball lock"; that does not match any primary source examined here, and the description is not reproduced as fact in this definition. The motorized, spinning mechanism on this machine is the Spider Wheel above.
Coffin: three-ball lock, door, and popper
A ball enters through the Coffin Entrance opto (switch 48) and travels to a three-position trough sensed by switches 41 (Left/nearest), 42 (Center), and 43 (Right/deepest) -- ss.c's ball-state table chains Coffin Right -> Coffin Center -> Coffin Left, with Coffin Left releasing the ball through solenoid 4 (Coffin Popper, sCoffinPopper) into the left inlane. Solenoid 5 (Coffin Door) opens and closes a door at the entrance; the retained script's CoffinDoor handler rotates an off-playfield helper object (CoffinFlipper, a Flipper-typed object placed at negative x purely for its convenient rotate-to-end/start behavior) whose angle drives the visible door primitives (BP_cDoorClose/BP_cDoorOpen). Locking three balls here starts Coffin Multiball, one of the eight Tales of Terror. Solenoids 33/34 (Left Diverter) raise and hold a gate that diverts a ball from the Left Loop toward this subway instead of continuing around the loop; the retained script's DiverterPower/DiverterHold handlers rotate a second off-playfield helper (LockFlipper) that drives the visible diverter primitive (BP_CoffinDiverter).
The retained script's own ZBOO: Boogie Monsters section names four small figures (BM_LBoogie01, BM_LBoogie02, BM_RBoggie01, BM_RBoggie02, near the lower inlanes) that wobble when the cabinet is nudged or a slingshot fires (BoogUpdate/BoogNudge/BoogRandNudge/BoogLSlingNudge/BoogRSlingNudge, driven from NudgeAnim and the slingshot-hit handlers). There is no Controller.Switch or SolCallback binding anywhere in the file for any of the four Boogie figures -- they are pure nudge-reactive physics props, not drop targets, and they have no reset solenoid because nothing about them is ever "down". The three standup targets actually wired to switches 61-63 are a separate, unrelated feature: printed "Three Bank Upper/Middle/Lower" on every manual page (locations, matrix, and wiring) and handled by the retained script's generic STHit standup routine, the same routine used for the leaper targets. The "Boogie Man Boogie" rules mode named in ss.c's spiderWheelText array is a Spider Wheel bonus-item name, not evidence that either feature is a drop-target bank. The task brief that seeded this curation pass described "the Boogie Men drop targets"; that framing does not match any primary source and is not reproduced as fact here.
Other toys, kickers, and standard devices
Solenoid 2 (LoopGate) opens a one-way gate (GateLoop.Open) admitting a ball into the right loop while blocking return travel; there is no printed switch dedicated to it. Solenoid 3 (Right Popper, scoop_right) and solenoid 6 (Crate Kickout, scoop_topleft) each kick the ball resting on their own opto (36 and 37 respectively) with distinct launch parameters. Three standard SW-11A-37 jet bumpers (coils 12/13/14, skirt switches 53/54/55, Bumper1_Hit/Bumper2_Hit/Bumper3_Hit) and three slingshots -- left/right (coils 10/11, dual-switch SW-1A-114 kicker + SW-1A-120 score positions 51/52) plus an upper slingshot (coil 15, switch 56) -- are standard WPC devices; the retained script's LeftSlingShot_Slingshot/RightSlingShot_Slingshot/TopSlingShot_Slingshot handlers pulse the matching matrix addresses and fire the matching coils in the same event, and the left/right slingshot hits additionally nudge the Boogie figures.
Fliptronic column: flippers only, no repurposing
Two FL-11629 flippers on Fliptronic circuits 111-114 (lower right/left, EOS then button). Unlike Monster Bash (one repurposed position) or Indiana Jones (four repurposed positions), all four upper-flipper-adjacent positions (115-118) are genuinely blank on Scared Stiff: the Switch Locations parts list prints a dash for both assembly and switch part number on every one of F5-F8, correcting the legacy-migrated record, which incorrectly modeled switches 116 and 118 as used "Upper Right/Left Flipper" positions.
Switch 67 ("Left Ramp 10 Point" on the manual's Switch Locations page) carries a minor, disclosed naming disagreement: the retained script's own sw67_Hit inline comment calls it "Top Right Rubber Switch", and the object's own table geometry places it on the right half of the playfield (normalized x=0.629), both independently disagreeing with "Left". The manual's printed label is used as the primary label here (it is this project's naming authority for physical parts), with the disagreement disclosed in the device's own notes rather than silently dropped or promoted to a first-class conflict, since it does not affect address, polarity, or wiring.
Lamps, flashers, and general illumination
All 64 lamp-matrix addresses are populated -- no "Not Used" position, unlike Monster Bash's 78. Sixteen "Web Award" lamps (64-68, 71-78, 81-83) are printed *Located in backbox on the Lamp Locations (continued) page; the retained table's own Light objects for those sixteen addresses sit at strongly negative normalized x (roughly -0.41 to -0.52 of the playfield width), independently corroborating the backbox placement from the geometry alone. Lamps 87 and 88 are the bulbs inside the illuminated Buy-In and Start buttons and are cabinet hardware. Four "Crate" eye lamps (31-34) sit on the A-21379 Crate LED PCB Assembly with no separate bulb-type entry on the Lamp Locations page.
Flashers 17-28, 35, and 36 are all fitted; 17-19 print both a Playfield and a Backbox flashlamp part sharing one address, while every other flasher address prints Playfield-only. Two addresses drive two physical bulbs each and the retained script confirms it directly: solenoid 20 (Playfield Bolts) sets both f20.state and f20a.state, matching the manual's printed (2) quantity; solenoid 23 (Left Ramp Flasher) sets both f23.state and f23a.state. Four flasher addresses (21, 22, 25, 27 -- the "Skull"/"Orb" flashers) sit at normalized y between 0.0014 and 0.0015, within the near-zero band this project treats as a required manual check before trusting a placement; each is confirmed as the sole non-suffixed Light object at its address, printed Playfield-only (no Backbox pairing) on the manual, and physically plausible as a flasher dome mounted at the very top of the playfield near the Skull Lane switches/lamps, which independently cluster at a similarly low y. Kept as validated placements with this reasoning disclosed rather than excluded as a render-proxy artifact of the kind Monster Bash and Theatre of Magic both found at exactly y=0.000.
General illumination is five strings, three dimmable (GI 0-2, Upper/Center/Lower Playfield, triac-driven per the manual's own Figure #1) and two always-on (GI 3-4, backbox Illum Strings 4/5, diode-bridge only per Figure #2) -- the manual's printed footnote and its General Illumination Circuit page agree with each other, and the retained script's GIUpdates2 independently comments GI 3/4 "(Backbox)". Zero conflict on GI classification, unlike Tales of the Arabian Nights or Theatre of Magic. GI 0-2 emitter positions and quantities (17/8/12 bulbs) come directly from the retained table's own GI_Upper/GI_Mid/GI_Lower collections, matching GIUpdates2's dispatch exactly.
Unresolved: sixteen auxiliary lamp addresses (conflict.aux-lamp-column-fitment)
ssGameData declares hw.lampCol = 2, publishing public lamp addresses 91-98 and 101-108 through a pair of HC4094 shift registers that ss.c's own ss_wpc_w handler clocks from solenoids 37/38. The driver's own source comment calls the matching board "a 16 LED Skull driver board assembly A-20781" belonging only to a "Prototype 0.1" that "was not kept in production build" -- but the retained production manual (16-50048-101, September 1996, 1.5 ROM) still prints solenoids 37/38 wired with real connectors and wire colors, not "NOT USED", and its Lower Playfield Parts page still lists an A-21287-1 16-LED Skull Driver PCB Assy. with no not-shown or deleted annotation. Neither source wins by fiat: the driver comment is not self-verifying (the same lesson Star Trek: The Next Generation's stale CORE_CUSTSWNO/CORE_CUSTSOLNO comments already established), but the retained known-working VPX table implements no Light object at any of the sixteen addresses (confirmed by an exhaustive name sweep), and the sixteen-lamp "Web Award" ring the board's own name suggests is already fully and exactly accounted for on the ordinary matrix. This keeps the record partial; resolving it needs a LibPinMAME harness trace against a legal ss_15 ROM or an unrestored machine's own J110 harness inspection.
Author construction checklist
- Build the four-ball trough with the drain at Trough Ball 4, the auto-plunger shooter lane, three slingshots, three jet bumpers, the Loop Gate, the Crate ball-lock/kickout (door wobble + post + kickout, not a motor), the Coffin three-ball lock with its door and Left Diverter, and the backbox Spider Wheel with its sixteen Web Award lamps.
- Do not build a "Boogie Men drop-target bank" -- the four Boogie figures are cosmetic nudge props with no switch or solenoid of their own, and the real standup-target bank (61-63) is unrelated and already named "Three Bank" on every source.
- Preserve opto polarity for the seventeen addresses PinMAME's mask normalizes (12, 31-38, 41-48); do not invert what is already normalized, and do not assume any other address is an opto absent the manual's
(LED)/(Trans.) construction disclosure.
- Treat LPDC outputs 37-40 and their PinMAME mirrors 41-44 as four physical drive lines (two aux-lamp shift-register signals, two Spider Wheel motor phases), not eight devices.
- Bind every dedicated switch 1-8, every matrix position 11-88 (fitted except the printed Not Used positions 11, 15, 21, 75-78, and 81-88), Fliptronic 111-118 with 115-118 explicitly not installed, the eight CPU DIP bits, solenoids 1-50, lamps 11-88, GI 0-4, and the 128x32 DMD.
- Leave lamp addresses 91-98 and 101-108 unresolved rather than inventing sixteen fitted or sixteen unfitted bulbs; this is the one open authoring-critical question left by this evidence set.
Sources
manual.bally.scared-stiff.1996: Bally/Midway Scared Stiff operations manual, SHA-256 f96109c68c7e0cc008f72e9be9f18405a216d5c40165aed130f1e87b65c44b09.
manual-support.bally.scared-stiff.1996: retained human transcription, SHA-256 493e070b4244cefd99acf907103a758d70bc9e55d5605fea412f9e7ed0696537.
vpx-script.ss-vpw-1-0: retained known-working VPW v1.0 embedded script, SHA-256 4c9a63e77e10ea65d1146e33f81197bb41b719d70027d8fa0c2d258f823211b4, binding SS_15.
vpx-table.ss-vpw-1-0: retained table, SHA-256 bede6f6c5b7592c4610af444a196c42432949468f708e79b4b112a73692cdc1e, bounds left=0 top=0 right=952.941 bottom=2164.706.
pinmame.core.4ec52ff0ac13: src/wpc/sims/wpc/full/ss.c and the WPC-95 core/solenoid/flipper handling at the pinned revision.