Black Pyramid

Partial

Bally1984BY35bally.black-pyramid.1984

Wire it up

what an authoring tool needs first
Bind this ROM
blakpyra

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

Controller platform
pinmame.by35

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

No display inventory recorded yet.

Address space
Switches
1–29 (20)
Solenoids
12–17 (5)
Lamps
2–115 (58)

Coverage

Partial

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

Completion19%

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
unknown
Still missing · 13
Driver MappingInput EnumerationInput SemanticsOutput EnumerationOutput SemanticsDisplay InventoryMechanism InventoryMechanism BehaviorPolarityVariant DifferencesRecreation NotesProvenanceSpatial Placement

Switches

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

20 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
Hover or tap an address to identify it.
20 shown
# Name Device ID Evidence
1
Left Sling Shot
switch.left-sling-shot candidate
2
Right Sling Shot
switch.right-sling-shot candidate
3
Bumper1
switch.bumper1 candidate
4
Bumper2
switch.bumper2 candidate
5
Sw5a
switch.sw5a candidate
7
Sw7
switch.sw7 candidate
8
Ball Release
switch.ball-release candidate
12
Phys Sensor 12a
switch.phys-sensor-12a candidate
13
Sw13
switch.sw13 candidate
14
Sw14
switch.sw14 candidate
17
Sw17
switch.sw17 candidate
18
Sw18
switch.sw18 candidate
19
Sw19
switch.sw19 candidate
20
Sw20
switch.sw20 candidate
21
Sw21
switch.sw21 candidate
22
Sw22
switch.sw22 candidate
23
Sw23
switch.sw23 candidate
24
Sw24
switch.sw24 candidate
28
Sw28
switch.sw28 candidate
29
Sw29
switch.sw29 candidate

Controlled devices

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

Coils, magnets & motors

5
5 shown
# Name Device ID Evidence
12
Sol Saucer
coil.sol-saucer candidate
13
Sol DTReset
coil.sol-dtreset candidate
14
Sol Ball Release
coil.sol-ball-release candidate
15
Sol Knocker
coil.sol-knocker candidate
17
Sol Gate Diverter
coil.sol-gate-diverter candidate

Lamps

58

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
81–88
89–96
97–104
105–112
113–120
Hover or tap an address to identify it.
58 shown
# Name Device ID Evidence
2
L2a
lamp.l2a candidate
10
L10
lamp.l10 candidate
11
L11
lamp.l11 candidate
12
L12
lamp.l12 candidate
14
L14
lamp.l14 candidate
15
L15
lamp.l15 candidate
17
L17
lamp.l17 candidate
18
L18
lamp.l18 candidate
19
L19
lamp.l19 candidate
20
L20
lamp.l20 candidate
21
L21
lamp.l21 candidate
22
L22
lamp.l22 candidate
23
L23
lamp.l23 candidate
24
L24
lamp.l24 candidate
25
L25
lamp.l25 candidate
26
L26
lamp.l26 candidate
28
L28
lamp.l28 candidate
30
L30
lamp.l30 candidate
31
L31
lamp.l31 candidate
33
L33
lamp.l33 candidate
34
L34
lamp.l34 candidate
35
L35
lamp.l35 candidate
36
L36
lamp.l36 candidate
37
L37
lamp.l37 candidate
38
L38
lamp.l38 candidate
39
L39
lamp.l39 candidate
40
L40
lamp.l40 candidate
41
L41
lamp.l41 candidate
42
L42
lamp.l42 candidate
43
L43
lamp.l43 candidate
44
L44
lamp.l44 candidate
46
L46
lamp.l46 candidate
47
L47
lamp.l47 candidate
49
L49
lamp.l49 candidate
50
L50
lamp.l50 candidate
51
L51
lamp.l51 candidate
52
L52
lamp.l52 candidate
53
L53
lamp.l53 candidate
54
L54
lamp.l54 candidate
55
L55
lamp.l55 candidate
56
L56
lamp.l56 candidate
57
L57
lamp.l57 candidate
58
L58
lamp.l58 candidate
59
L59
lamp.l59 candidate
60
L60
lamp.l60 candidate
62
L62
lamp.l62 candidate
63
L63
lamp.l63 candidate
65
L65
lamp.l65 candidate
66
L66
lamp.l66 candidate
81
L81
lamp.l81 candidate
82
L82
lamp.l82 candidate
83
L83
lamp.l83 candidate
97
L97
lamp.l97 candidate
98
L98
lamp.l98 candidate
99
L99
lamp.l99 candidate
113
L113
lamp.l113 candidate
114
L114
lamp.l114 candidate
115
L115
lamp.l115 candidate

Recreation notes

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

Coverage: partial - machine identity plus candidate-only I/O attachments. Playfield devices, wiring, mechanisms, and behavior are evidenced only as unverified candidates.

This record was promoted from the generated catalog stub stub.pinmame.blakpyra by the catalog-wide identity pass of 2026-08-29. The promotion resolves machine identity and carries the catalog's residual driver grouping over unchanged, the platform and device attachments below were added by the 2026-08-29/30 candidate passes and assert nothing beyond candidate provenance. Every requirement in the definition's coverage.missing is genuinely outstanding.

Identity

  • PinMAME catalog: root driver blakpyra, description "Black Pyramid", manufacturer "Bally", catalog year "1984".
  • OPDB record GRVnY-MDz0l (IPDB 312) names this machine "Black Pyramid" (Bally, manufacture date 1984-07-01); the resolved identity rests on the agreement of the PinMAME catalog and this reviewed mapping.
  • The definition's driver list is exactly the clone tree PinMAME declares under blakpyra; whether every listed driver really runs on this physical machine is unverified.

Drivers this record holds

  • blakpyra (1984, Bally).
  • blakpyrb (2004, Bally / Oliver, clone of blakpyra).
  • newwave (1985, Bell Games, clone of blakpyra).

PinMAME source contract (candidate)

  • The pinned PinMAME source declares blakpyra at src/wpc/by35games.c:1776 with machine module by35_mBY35_45S; the definition declares controller platform pinmame.by35 from it.

VPX script candidates (candidate)

  • 2 retained community table script(s) declare this machine's driver; their extracted switch/lamp/solenoid/GI candidates are carried as 83 candidate devices. When curator work weighs sources, a retained script outranks emulator-derived candidates for runtime semantics, but every device here is still a candidate until a known-working table is verified against this exact physical machine.

What a curator must establish next

Full input, output, and display enumeration with semantic names; physical wiring and polarity; mechanism inventory and behavior; variant differences across the clone tree; recreation knowledge from a manual, schematic, or known-working table; runtime provenance; and a normalized spatial placement for every physical device. No manual, schematic, or runtime-harness evidence is retained for this machine yet; the candidate sections above are the only retained I/O evidence so far.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
blakpyrbBlack Pyramid (Free Play) 2004blakpyra
newwaveNew Wave 1985blakpyra
blakpyraBlack Pyramid 1984

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

Pinball memory maps

External source LGPL-3.0-only3 maps

RAM layouts published by an independent project and mirrored here at a pinned commit. They are not part of this machine’s definition: nothing below was used as evidence for the definition, and none of it counts towards coverage. Check claims against the upstream project.

Commit
d8693b9

This program makes use of content from the Pinball Memory Maps project.

blakpyra-freeplay.map.json

bally-35-8Kv2format 0.8

maps/bally/as-2518-35/blakpyra-freeplay.map.json

Applies to ROMs
blakpyrb
Sections
adjustmentsauditsgame_statehigh_scores

bally-35-8K defines the RAM layout this map’s offsets are read against — the map is not interpretable without it.

blakpyra.map.json

bally-35-8Kv2format 0.8

maps/bally/as-2518-35/blakpyra.map.json

Applies to ROMs
blakpyra
Sections
adjustmentsauditsgame_statehigh_scores

bally-35-8K defines the RAM layout this map’s offsets are read against — the map is not interpretable without it.

newwave.map.json

bally-35-8Kv2format 0.8

maps/bally/as-2518-35/newwave.map.json

Applies to ROMs
newwave
Sections
adjustmentsauditsgame_statehigh_scores

bally-35-8K defines the RAM layout this map’s offsets are read against — the map is not interpretable without it.

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

    PinmameGetGames

    by
    PinMAME contributors
    rev
    8371478a7640
  • PinMAME source

    BSD-3-Clause

    pinmame.core.8371478a7640

    src/wpc/by35games.c:1776 (machine module by35_mBY35_45S)

    by
    PinMAME contributors
    rev
    8371478a7640
  • VPX script

    vpx-script.c6912f50848867aa

    vpxtable-scripts: Black Pyramid (Bally 1984) v2.0.0.vbs

    by
    Authors credited in Black Pyramid (Bally 1984) v2.0.0.vbs and repository contributors
    rev
    0c036bb61b4b
    sha256
    c6912f508488…
  • VPX script

    vpx-script.c749a7e86b18bca1

    vpxtable-scripts: Black Pyramid VPX v1.0.3.vbs

    by
    Authors credited in Black Pyramid VPX v1.0.3.vbs and repository contributors
    rev
    0c036bb61b4b
    sha256
    c749a7e86b18…

Something wrong or missing?

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