Firepower

Partial
Completion13%

Williams / Oliver1980williams-oliver.firepower.1980 Updated 2026-09-25 1 of 2 editions

Wire it up

what an authoring tool needs first
Bind this ROM
frpwr_a7frpwr_d7frpwr_e7

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

Controller platform
Not determined
Displays

No display inventory recorded yet.

Address space

Coverage

Partial

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

Completion13%

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
unknown
Semantic Naming
unknown
Physical Wiring
unknown
Mechanisms
unknown
Variant Coverage
candidate
Recreation Knowledge
candidate
Still missing · 14
IdentityController PlatformInput EnumerationInput SemanticsOutput EnumerationOutput SemanticsDisplay InventoryMechanism InventoryMechanism BehaviorPolarityVariant DifferencesRecreation NotesProvenanceSpatial Placement

Recreation notes

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

This partial record holds the five PinMAME drivers for Oliver's System 7 conversions of Williams Firepower (IPDB 856): frpwr_a7, frpwr_e7 (six-digit, 2005, revision 31), frpwr_b7 (seven-digit, 2003), frpwr_c7 (seven-digit, 2006, revision 38) and frpwr_d7 (seven-digit, 2005, revision 31). No retained source documents the conversion hardware itself. An Oliver conversion replaces the CPU board and ROMs, so the playfield and cabinet are presumably the production machine's (curated as williams.firepower.1980), but that is an assumption to verify, not a sourced fact.

Why a separate record

Each of these drivers declares PinMAME machine driver s7_mS7S6: a Williams System 7 CPU board (GEN_S7) with the stock System 6 sound board. The production machine and the Oliver System 6 ROMs run on a System 6 CPU board (GEN_S6). A different CPU board is a different controller platform, so these drivers follow the rule that split the Kiss Intel-8035 and Eight Ball Deluxe Motorola-68701 prototypes into their own records. The machine identity (IPDB 856, OPDB G5VDd-MJpqO) belongs to the production record, so identity stays missing here.

What pinned PinMAME says

  • INITGAMEFULL passes the production machine's flipper and special-switch arguments: no left flipper matrix switch, the right button copied into switch 45, and special solenoids 17-22 fired by switches 26, 25, 27, 28, 42 and 12.
  • The game-on enable is published at solenoid 25 (S7_GAMEONSOL), not 23.
  • The sxx.ssSw loop runs over eight entries. When the ROM fires a special solenoid itself, System 7 maps each PIA control line to a slot (setSSSol), and slots 6 and 7 publish 23 and 24. Whether this ROM uses those two slots is unknown.
  • s7_dips_r has the same body as s6_dips_r: both return both CPU-board DIP banks, by display strobe position, while Master Command Enter (-3) is held. What differs is not the emulator but the ROM: the production record's finding that only the D1-D3 Master Command switches matter rests on PinMAME's System 6 source comment and the booklet, and which banks the Oliver System 7 ROM samples is unverified.
  • frpwr_a7 and frpwr_e7 use the production six-digit display layout; frpwr_b7, frpwr_c7 and frpwr_d7 use fp_7digit_disp, with the seven-digit players at 0, 7, 20 and 27 and the two-digit entries at 34 and 14.

What has been observed

One retained harness run of frpwr_b7, the ROM the retained known-working Firepower table loads, repeats the production gameplay sequence. The game-on enable asserts at 25, the coin credit appears on the entry at position 34 and the ball number on the entry at 14, and matrix switches 26, 25, 27, 28, 42 and 12 publish 17-22 in order. That last pairing is PinMAME's switch-driven path, sequential by construction; the run never makes the ROM fire a special solenoid, never enters a service test and never reads a DIP switch. frpwr_a7, frpwr_c7, frpwr_d7 and frpwr_e7 have no retained run.

What is needed to complete it

  • A Williams System 7 controller profile, derived from s7.c/s7.h, covering game-on at 25, the eight special-solenoid slots and the DIP banks.
  • Harness runs of each driver through its solenoid and switch tests, to establish which public solenoids the ROM fires for each special coil and whether 23 and 24 carry anything.
  • Enumeration of every address against that profile, with the production record's physical facts reused for the devices themselves.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
frpwr_c7Firepower (Sys.7/7-digit conversion rev. 38)
Oliver 2006 System 7 seven-digit conversion, revision 38, with an extra IC26 ROM and speech ROM v_ic4 (s7_mS7S6, fp_7digit_disp), declared a clone of frpwr_l6. No harness run of this driver is retained.
2006frpwr_l6—
frpwr_e7Firepower (Sys.7/6-digit /10 Scoring rev. 31)
Oliver 2005 System 7 six-digit /10 scoring conversion, revision 31 (s7_mS7S6, s7_6digit_disp). PinMAME declares it as its own root. No harness run of this driver is retained.
2005——
frpwr_d7Firepower (Sys.7/7-digit conversion rev. 31)
Oliver 2005 System 7 seven-digit conversion, revision 31 (s7_mS7S6, fp_7digit_disp). PinMAME declares it as its own root. No harness run of this driver is retained.
2005——
frpwr_a7Firepower (Sys.7/6-digit conversion rev. 31)
Oliver 2005 System 7 six-digit conversion, revision 31 (s7games.c: s7_mS7S6, GEN_S7, s7_6digit_disp). PinMAME declares it as its own root. No harness run of this driver is retained.
2005——
frpwr_b7Firepower (Sys.7/7-digit conversion)
Oliver 2003 System 7 seven-digit conversion (s7_mS7S6, fp_7digit_disp), declared a clone of frpwr_l6. The ROM the retained known-working Firepower table loads. One retained harness run covers a game start and the switch-driven special-solenoid path; see the knowledge note for what it does and does not show.
2003frpwr_l6—

Parent sets: frpwr_e7, frpwr_d7, frpwr_a7 — 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 Oliver System 7 Firepower conversions: frpwr_a7, frpwr_d7 and frpwr_e7 (roots of their own) and frpwr_b7 and frpwr_c7 (clones of frpwr_l6)

    by
    PinMAME contributors
    rev
    8371478a7640
  • PinMAME source

    BSD-3-Clause

    pinmame.core.8371478a7640

    Source locations

    src/wpc/s7games.c 'Firepower - Sys.7': every driver declares machine driver s7_mS7S6 (GEN_S7 CPU board with the System 6 sound board) and INITGAMEFULL(name, disp, 0, 45, 11774, 26, 25, 27, 28, 42, 12) with s7_6digit_disp for frpwr_a7/e7 and fp_7digit_disp for frpwr_b7/d7 (frpwr_c7 reuses frpwr_b7's init); src/wpc/s7.h S7_GAMEONSOL 25 and the -7..-3 diagnostic inputs; src/wpc/s7.c s7_vblank (game-on at 25 and an eight-entry sxx.ssSw loop), the PIA CA2/CB2 handlers that map ROM-fired special solenoids through setSSSol slots 0-7 (pia2cb2 0, pia2ca2 1, pia4cb2 2, pia4ca2 3, pia1ca2 4, pia3cb2 5, pia0cb2 6, pia0ca2 7), and s7_dips_r, whose body matches s6_dips_r (both banks, by strobe position, while -3 is held)

    by
    PinMAME contributors
    rev
    8371478a7640
  • Runtime run

    runtime.firepower.sys7-conversion

    Source locations

    LibPinMAME harness run of frpwr_b7 with tools/run_pinmame_harness.py, library pinmame64.dll built from the pinned PinMAME revision (SHA-256 ddee814f9dd321d03f7e6978f93096fe830e029e61d0399846e7e44428b7ce4e), ROM archive frpwr_b7.zip from the operator's authorized ROM corpus (SHA-256 4c862efdd027117bc4cfc088f759d887b811fa23d51b8cfa8541ed8a6e19c928, CRCs matching the pinned driver), in an isolated state directory. Scenario tools/harness-scenarios/system-6/firepower-sys7-conversion-gameplay.json (SHA-256 3446b71166ea1731aaaa2be57aca3364b2abc9683176e45a6181b59e6ddff45b). A first power-up from empty CMOS stops on the game-identification/audit screen, so every evidentiary run starts from a state directory initialized by exactly one prior empty-NVRAM boot (scenario SHA-256 9e659cd6e73f66581642e059af4557c0c1d9b75ef3bd28e6159dfb5455adbb9a, raw run SHA-256 a00bdb89d102411abb8f5ec1496f34926691efdd01e3f69d531980f81b41adb0). The frpwr_l6 gameplay causality sequence run on the Oliver System 7 conversion frpwr_b7: the game-on enable asserts at public 25, the coin credit appears on display index 4 (fp_7digit_disp position 34) and the ball number on index 5, and closing matrix switches 26, 25, 27, 28, 42 and 12 publishes 17-22 in order. That special-solenoid pairing is PinMAME's switch-driven sxx.ssSw path, which is sequential by construction; the run never makes the ROM fire a special solenoid itself, reaches no service test and reads no DIP switch. The whole run directory is pinned by external:pinmame-runtime-evidence/firepower-1980.manifest.json (40 files, 5508646 bytes, manifest SHA-256 2af0fcd687c87a98813e5e4bfc6ebd22cd3730e7584ff81ff4ab8c1e621b42c6). No ROM bytes or NVRAM blobs are retained in this repository.

    external:pinmame-runtime-evidence/firepower-1980/run-b7.json
    by
    pinmame-game-defs curation
    rev
    8371478a7640
    sha256
    7422c2d8b6e4…

Something wrong or missing?

This definition still has 14 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.

Other editions

Firepower shipped in 2 editions with different playfields. Compare what each one actually has before building against this definition.

All 2 editions of Firepower, side by side

Missing data

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

  • Machine identity

    Verify the physical title, manufacturer, year and edition against attributable sources.

  • Controller hardware

    Identify the controller platform and validate its public address and routing rules.

  • Complete input inventory

    Account for every switch, service input and diagnostic address, including unused positions.

  • Input functions

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

  • Complete output inventory

    Account for every coil, motor, lamp, flasher and general-illumination circuit, including unused addresses.

  • Output functions

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

  • Displays

    Verify every display, its layout and its controller bindings.

  • Mechanism inventory

    Document every mechanism, its moving parts, actuators, sensors and connections.

  • Mechanism behavior

    Validate mechanism operation, ball paths, home positions, startup and reset behavior.

  • Switch construction and polarity

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

  • Edition and firmware differences

    Document supported hardware and firmware differences without combining incompatible editions.

  • Recreation knowledge

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

  • Evidence and sources

    Back the remaining claims with attributable sources, exact locators, retained excerpts and verified hashes.

  • Physical device locations

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