Bad Cats

Partial

Williams1989S11williams.bad-cats.1989

10 unresolved conflicts

  • Legacy sources disagree on label: 'Coin Button 3' versus 'Coin 3'. binding:pinmame.input.switch/4/None
  • Legacy sources disagree on label: 'Coin Button 2' versus 'Coin 2'. binding:pinmame.input.switch/5/None
  • Legacy sources disagree on label: 'Coin Button 1' versus 'Coin 1'. binding:pinmame.input.switch/6/None
  • Legacy sources disagree on label: 'Upper Right Flipper' versus 'Upper Right Flipper Button'. binding:pinmame.input.switch/81/None
  • Legacy sources disagree on label: 'Lower Right Flipper' versus 'Lower Right Flipper Button'. binding:pinmame.input.switch/82/None
  • Legacy sources disagree on label: 'Upper Left Flipper' versus 'Upper Left Flipper Button'. binding:pinmame.input.switch/83/None
  • Legacy sources disagree on label: 'Lower Left Flipper' versus 'Lower Left Flipper Button'. binding:pinmame.input.switch/84/None
  • Legacy sources disagree on label: 'ROM Started' versus 'Game On / GI Relay'. binding:pinmame.output.solenoid/23/None
  • Legacy sources disagree on label: 'Lower Right Flipper' versus 'Right Flipper'. binding:pinmame.output.solenoid/46/None
  • Legacy sources disagree on label: 'Lower Left Flipper' versus 'Left Flipper'. binding:pinmame.output.solenoid/48/None

Wire it up

what an authoring tool needs first
Bind this ROM
bcats_l5

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

Controller platform
pinmame.s11

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
-7–84 (49)
Solenoids
1–48 (25)
Lamps
1–53 (49)
Cabinet & flipper inputs
81flipper.upper.right82flipper.lower.right83flipper.upper.left84flipper.lower.left3cabinet.start4cabinet.coin.35cabinet.coin.26cabinet.coin.1

Portable roles — the consuming engine maps them to its own input actions.

Coverage

Partial

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

Catalog Identity
observed
Address Enumeration
candidate
Semantic Naming
candidate
Physical Wiring
candidate
Mechanisms
unknown
Variant Coverage
candidate
Recreation Knowledge
candidate
Still missing · 13
IdentityController PlatformInput EnumerationInput SemanticsOutput EnumerationOutput SemanticsDisplay InventoryMechanism InventoryMechanism BehaviorPolarityVariant DifferencesRecreation NotesProvenance

Switches

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

49 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 — dedicated, diagnostic or flipper-column addresses. See the table below.

49 shown
# Name Device ID Role Evidence
-7
Advance
switch.advance
candidate
-6
Up/Down
switch.up-down
candidate
-5
CPU Diagnostics
switch.cpu-diagnostics
candidate
-4
Sound Diagnostics
switch.sound-diagnostics
candidate
1
Tilt
switch.tilt
candidate
2
Ball Roll Tilt
switch.ball-roll-tilt
candidate
3
Start Button
switch.start-button
cabinet.start
candidate
4
Coin Button 3
switch.coin-3
cabinet.coin.3
candidate
5
Coin Button 2
switch.coin-2
cabinet.coin.2
candidate
6
Coin Button 1
switch.coin-1
cabinet.coin.1
candidate
7
Slam Tilt
switch.slam-tilt
candidate
8
High Score Reset
switch.high-score-reset
candidate
10
Outhole
switch.outhole
candidate
11
Top Standup Target 1
switch.top-standup-target-1
candidate
12
Top Standup Target 2
switch.top-standup-target-2
candidate
13
Top Standup Target 3
switch.top-standup-target-3
candidate
14
Top Standup Target 4
switch.top-standup-target-4
candidate
16
Fish Ramp Gate
switch.fish-ramp-gate
candidate
19
Linear Fish Target
switch.linear-fish-target
candidate
22
Doghouse Kicker (Ralphie)
switch.doghouse-kicker-ralphie
candidate
23
Tiger Ramp Gate
switch.tiger-ramp-gate
candidate
24
Trash Can Kicker
switch.trash-can-kicker
candidate
25
Bird Drop Target 1 (B)
switch.bird-drop-target-1-b
candidate
26
Bird Drop Target 2 (A)
switch.bird-drop-target-2-a
candidate
27
Bird Drop Target 3 (D)
switch.bird-drop-target-3-d
candidate
28
Bird Drop Target 4 (C)
switch.bird-drop-target-4-c
candidate
29
Bird Drop Target 5 (A)
switch.bird-drop-target-5-a
candidate
30
Left Inlane
switch.left-inlane
candidate
31
Right Inlane
switch.right-inlane
candidate
33
Top Rollover 1 (T)
switch.top-rollover-1-t
candidate
34
Top Rollover 2 (O)
switch.top-rollover-2-o
candidate
35
Left Outlane
switch.left-outlane
candidate
36
Right Outlane
switch.right-outlane
candidate
37
Milk Drop Target 1
switch.milk-drop-target-1
candidate
38
Milk Drop Target 2
switch.milk-drop-target-2
candidate
39
Milk Drop Target 3
switch.milk-drop-target-3
candidate
40
Top Rollover 3 (Y)
switch.top-rollover-3-y
candidate
41
Spinner
switch.spinner
candidate
43
Right Gate
switch.right-gate
candidate
44
Seafood Wheel Position
switch.seafood-wheel-position
candidate
60
Upper Pop Bumper
switch.upper-pop-bumper
candidate
61
Left Pop Bumper
switch.left-pop-bumper
candidate
62
Lower Pop Bumper
switch.lower-pop-bumper
candidate
63
Left Slingshot
switch.left-slingshot
candidate
64
Right Slingshot
switch.right-slingshot
candidate
81
Upper Right Flipper
switch.flipper-upper-right
flipper.upper.right
candidate
82
Lower Right Flipper
switch.flipper-lower-right
flipper.lower.right
candidate
83
Upper Left Flipper
switch.flipper-upper-left
flipper.upper.left
candidate
84
Lower Left Flipper
switch.flipper-lower-left
flipper.lower.left
candidate

Controlled devices

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

Coils, magnets & motors

25
25 shown
# Name Device ID Kind Evidence
1
Ball Release / Outhole Kicker
device.ball-release-outhole-kicker Coil candidate
2
Knocker
device.knocker Coil candidate
3
Doghouse Kicker (Ralphie)
device.doghouse-kicker-ralphie Coil candidate
4
Milk Drop Target Reset
device.milk-drop-target-reset Coil candidate
5
Trash Can Kicker
device.trash-can-kicker Coil candidate
6
Bird Drop Target Reset
device.bird-drop-target-reset Coil candidate
9
Backglass Cat Animation
device.backglass-cat-animation Coil candidate
11
Backbox GI Relay
device.backbox-gi-relay Relay candidate
13
Backglass Woman Animation
device.backglass-woman-animation Coil candidate
15
Seafood Wheel Flasher
device.seafood-wheel-flasher Coil candidate
16
Seafood Wheel Motor 2
device.seafood-wheel-motor-2 Coil candidate
23
ROM Started
device.game-on Coil candidate
25
Fish Target Insert Flasher
device.fish-target-insert-flasher Coil candidate
26
Upper Right Dome Flasher
device.upper-right-dome-flasher Coil candidate
27
Birdcage / Middle Left Dome Flasher
device.birdcage-middle-left-dome-flasher Coil candidate
28
Upper Left Dome Flasher
device.upper-left-dome-flasher Coil candidate
29
Fish Bowl Dome Flasher
device.fish-bowl-dome-flasher Coil candidate
30
Doghouse Cat Insert Flasher
device.doghouse-cat-insert-flasher Coil candidate
31
Tiger Ramp / Lower Right Dome Flasher
device.tiger-ramp-lower-right-dome-flasher Coil candidate
32
BBQ Insert Flasher
device.bbq-insert-flasher Coil candidate
34
Upper Right Flipper
device.flipper-upper-right Coil candidate
36
Upper Left Flipper
device.flipper-upper-left Coil candidate
46
Lower Right Flipper
device.flipper-lower-right Coil candidate
48
Lower Left Flipper
device.flipper-lower-left Coil candidate

Lamps

49

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
Hover or tap an address to identify it.
49 shown
# Name Device ID Evidence
1
Lamp 1
lamp.lamp-1 candidate
2
Lamp 2
lamp.lamp-2 candidate
3
Lamp 3
lamp.lamp-3 candidate
4
Lamp 4
lamp.lamp-4 candidate
5
Lamp 5
lamp.lamp-5 candidate
6
Lamp 6
lamp.lamp-6 candidate
7
Lamp 7
lamp.lamp-7 candidate
8
Lamp 8
lamp.lamp-8 candidate
9
Lamp 9
lamp.lamp-9 candidate
10
Lamp 10
lamp.lamp-10 candidate
11
Lamp 11
lamp.lamp-11 candidate
12
Lamp 12
lamp.lamp-12 candidate
13
Lamp 13
lamp.lamp-13 candidate
14
Lamp 14
lamp.lamp-14 candidate
15
Lamp 15
lamp.lamp-15 candidate
16
Lamp 16
lamp.lamp-16 candidate
17
Lamp 17
lamp.lamp-17 candidate
18
Lamp 18
lamp.lamp-18 candidate
19
Lamp 19
lamp.lamp-19 candidate
21
Lamp 21
lamp.lamp-21 candidate
22
Lamp 22
lamp.lamp-22 candidate
23
Lamp 23
lamp.lamp-23 candidate
24
Lamp 24
lamp.lamp-24 candidate
26
Lamp 26
lamp.lamp-26 candidate
27
Lamp 27
lamp.lamp-27 candidate
28
Lamp 28
lamp.lamp-28 candidate
29
Lamp 29
lamp.lamp-29 candidate
30
Lamp 30
lamp.lamp-30 candidate
33
Lamp 33
lamp.lamp-33 candidate
34
Lamp 34
lamp.lamp-34 candidate
35
Lamp 35
lamp.lamp-35 candidate
36
Lamp 36
lamp.lamp-36 candidate
37
Lamp 37
lamp.lamp-37 candidate
38
Lamp 38
lamp.lamp-38 candidate
39
Lamp 39
lamp.lamp-39 candidate
40
Lamp 40
lamp.lamp-40 candidate
41
Lamp 41
lamp.lamp-41 candidate
42
Lamp 42
lamp.lamp-42 candidate
43
Lamp 43
lamp.lamp-43 candidate
44
Lamp 44
lamp.lamp-44 candidate
45
Lamp 45
lamp.lamp-45 candidate
46
Lamp 46
lamp.lamp-46 candidate
47
Lamp 47
lamp.lamp-47 candidate
48
Lamp 48
lamp.lamp-48 candidate
49
Lamp 49
lamp.lamp-49 candidate
50
Lamp 50
lamp.lamp-50 candidate
51
Lamp 51
lamp.lamp-51 candidate
52
Lamp 52
lamp.lamp-52 candidate
53
Lamp 53
lamp.lamp-53 candidate

Recreation notes

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

Coverage
partial - source-derived recreation knowledge requiring validation

Overview

Legacy evidence identifies this candidate as Williams (1989). The information below is preserved for recreation work but is not automatically treated as validated physical-machine fact.

Playfield devices

Switch, lamp/GI, and controlled-device candidates are in the adjacent machine definition. Source-specific implementation notes are retained below.

Custom mechanisms

No custom mechanism conclusion has been validated. Manuals, schematics, PinMAME source, and gameplay evidence still need to be checked.

Ball-state transitions

Ball paths, trough ordering, locks, kickouts, and causal transitions have not yet been normalized. Relevant source notes follow under Evidence notes.

Controller interactions

Controller callbacks and bindings are candidate evidence only until reconciled against PinMAME and physical documentation.

Service and setup information

Unknown; locate operator/service documentation.

Timing and tuning observations

Source timing values may describe a particular VPX implementation rather than physical hardware and require review.

Recreation guidance

Do not treat this partial definition as a complete authoring specification. Resolve every coverage requirement and conflict before promotion.

Evidence notes

  • games/bcats.json#/switches/0._vbscript_name: swTilt
  • games/bcats.json#/switches/0._note: Framework-defined (S11.vbs). Used as vpmNudge.TiltSwitch.
  • games/bcats.json#/switches/1._vbscript_name: swBallRollTilt
  • games/bcats.json#/switches/1._note: Framework-defined (S11.vbs)
  • games/bcats.json#/switches/2._vbscript_name: swStartButton
  • games/bcats.json#/switches/2._note: Framework-defined (S11.vbs)
  • games/bcats.json#/switches/3._vbscript_name: swCoin3
  • games/bcats.json#/switches/3._note: Framework-defined (S11.vbs)
  • games/bcats.json#/switches/4._vbscript_name: swCoin2
  • games/bcats.json#/switches/4._note: Framework-defined (S11.vbs)
  • games/bcats.json#/switches/5._vbscript_name: swCoin1
  • games/bcats.json#/switches/5._note: Framework-defined (S11.vbs)
  • games/bcats.json#/switches/6._vbscript_name: swSlamTilt
  • games/bcats.json#/switches/6._note: Framework-defined (S11.vbs)
  • games/bcats.json#/switches/7._vbscript_name: swHiScoreReset
  • games/bcats.json#/switches/7._note: Framework-defined (S11.vbs)
  • games/bcats.json#/switches/8._vbscript_name: sw10
  • games/bcats.json#/switches/8._note: Single-ball trough. Ball created here at init. Controller.Switch(10)=1 at startup.
  • games/bcats.json#/switches/9._vbscript_name: sw11
  • games/bcats.json#/switches/9._note: Upper playfield standup target, near rollover lanes. Has animation primitive.
  • games/bcats.json#/switches/10._vbscript_name: sw12
  • games/bcats.json#/switches/10._note: Upper playfield standup target. Has animation primitive.
  • games/bcats.json#/switches/11._vbscript_name: sw13
  • games/bcats.json#/switches/11._note: Upper playfield standup target. Has animation primitive.
  • games/bcats.json#/switches/12._vbscript_name: sw14
  • games/bcats.json#/switches/12._note: Upper playfield standup target. Has animation primitive.
  • games/bcats.json#/switches/13._vbscript_name: sw16
  • games/bcats.json#/switches/13._note: Fishbowl ramp gate switch. PulseSw. Has gate wire animation primitive.
  • games/bcats.json#/switches/14._vbscript_name: LT19
  • games/bcats.json#/switches/14._note: Linear target (Fish Bone-Us). Uses LinearTarget class with custom hit detection. Switch activated via controller.Switch(19).
  • games/bcats.json#/switches/15._vbscript_name: sw22
  • games/bcats.json#/switches/15._note: Doghouse scoop eject hole. Ball enters and is kicked out by SolDogOut (solenoid 3).
  • games/bcats.json#/switches/16._vbscript_name: sw23
  • games/bcats.json#/switches/16._note: Tiger ramp gate switch. PulseSw. Has gate wire animation primitive.
  • games/bcats.json#/switches/17._vbscript_name: sw24
  • games/bcats.json#/switches/17._note: Trash can / Garbage can eject hole (Fish Bone-Us collection). Ball kicked out by SolTrashOut (solenoid 5).
  • games/bcats.json#/switches/18._vbscript_name: sw25
  • games/bcats.json#/switches/18._note: Bird drop target bank, target 1. DTHit handler. Reset by solenoid 6 (SolBT).
  • games/bcats.json#/switches/19._vbscript_name: sw26
  • games/bcats.json#/switches/19._note: Bird drop target bank, target 2. DTHit handler.
  • games/bcats.json#/switches/20._vbscript_name: sw27
  • games/bcats.json#/switches/20._note: Bird drop target bank, target 3. DTHit handler.
  • games/bcats.json#/switches/21._vbscript_name: sw28
  • games/bcats.json#/switches/21._note: Bird drop target bank, target 4. DTHit handler.
  • games/bcats.json#/switches/22._vbscript_name: sw29
  • games/bcats.json#/switches/22._note: Bird drop target bank, target 5. DTHit handler.
  • games/bcats.json#/switches/23._vbscript_name: sw30
  • games/bcats.json#/switches/23._note: Left inlane rollover. Lights Doghouse when lit.
  • games/bcats.json#/switches/24._vbscript_name: sw31
  • games/bcats.json#/switches/24._note: Right inlane rollover. Lights 10x Fish Bone-Us multiplier when lit.
  • games/bcats.json#/switches/25._vbscript_name: sw33
  • games/bcats.json#/switches/25._note: TOY rollover lane, letter T. PulseSw.
  • games/bcats.json#/switches/26._vbscript_name: sw34
  • games/bcats.json#/switches/26._note: TOY rollover lane, letter O. PulseSw.
  • games/bcats.json#/switches/27._vbscript_name: sw35
  • games/bcats.json#/switches/27._note: Left outlane. Triggers backglass animation and Curiosity Spin on final ball.
  • games/bcats.json#/switches/28._vbscript_name: sw36
  • games/bcats.json#/switches/28._note: Right outlane.
  • games/bcats.json#/switches/29._vbscript_name: sw37
  • games/bcats.json#/switches/29._note: Milk bottle drop target bank, target 1. DTHit handler. Reset by solenoid 4 (solMT).
  • games/bcats.json#/switches/30._vbscript_name: sw38
  • games/bcats.json#/switches/30._note: Milk bottle drop target bank, target 2. DTHit handler.
  • games/bcats.json#/switches/31._vbscript_name: sw39
  • games/bcats.json#/switches/31._note: Milk bottle drop target bank, target 3. DTHit handler.
  • games/bcats.json#/switches/32._vbscript_name: sw40
  • games/bcats.json#/switches/32._note: TOY rollover lane, letter Y. PulseSw.
  • games/bcats.json#/switches/33._vbscript_name: sw41
  • games/bcats.json#/switches/33._note: Spinner switch. Has rotating animation primitive (sw41P). SoundSpinner plays spinner sound at sw41 position.
  • games/bcats.json#/switches/34._vbscript_name: sw43
  • games/bcats.json#/switches/34._note: Right side gate/trigger. Has rotating animation primitive (sw43P) with timer-driven animation.
  • games/bcats.json#/switches/35._note: Defined in cvpmMech mechanism, not as a direct VPX switch. Mech .AddSw 44, 0, 99. Seafood wheel position detection.
  • games/bcats.json#/switches/36._vbscript_name: sw60
  • games/bcats.json#/switches/36._note: Upper jet bumper. PulseSw. Has ring animation.
  • games/bcats.json#/switches/37._vbscript_name: sw61
  • games/bcats.json#/switches/37._note: Left jet bumper. PulseSw. Has ring animation.
  • games/bcats.json#/switches/38._vbscript_name: sw62
  • games/bcats.json#/switches/38._note: Lower jet bumper. PulseSw. Has ring animation.
  • games/bcats.json#/switches/39._note: Left slingshot. PulseSw(63) in LeftSlingShot_Slingshot sub. Part of vpmNudge.TiltObj array.
  • games/bcats.json#/switches/40._note: Right slingshot. PulseSw(64) in RightSlingShot_Slingshot sub. Part of vpmNudge.TiltObj array.
  • games/bcats.json#/switches/41._vbscript_name: swURFlip
  • games/bcats.json#/switches/41._note: Framework-defined (S11.vbs). Cabinet flipper button switch.
  • games/bcats.json#/switches/42._vbscript_name: swLRFlip
  • games/bcats.json#/switches/42._note: Framework-defined (S11.vbs). Cabinet flipper button switch.
  • games/bcats.json#/switches/43._vbscript_name: swULFlip
  • games/bcats.json#/switches/43._note: Framework-defined (S11.vbs). Cabinet flipper button switch.
  • games/bcats.json#/switches/44._vbscript_name: swLLFlip
  • games/bcats.json#/switches/44._note: Framework-defined (S11.vbs). Cabinet flipper button switch.
  • games/bcats.json#/coils/0._vbscript_callback: SolBallRelease
  • games/bcats.json#/coils/0._inferred_type: ball_management
  • games/bcats.json#/coils/0._note: Kicks ball from outhole (sw10) to shooter lane. BIP incremented on fire.
  • games/bcats.json#/coils/1._vbscript_callback: KnockerSolenoid
  • games/bcats.json#/coils/1._inferred_type: knocker
  • games/bcats.json#/coils/2._vbscript_callback: SolDogOut
  • games/bcats.json#/coils/2._inferred_type: kicker
  • games/bcats.json#/coils/2._note: Ejects ball from doghouse scoop (sw22). Kicks at angle 35, power 35.
  • games/bcats.json#/coils/3._vbscript_callback: solMT
  • games/bcats.json#/coils/3._inferred_type: drop_target_reset
  • games/bcats.json#/coils/3._note: Resets milk bottle drop targets (sw37, sw38, sw39). Original comment: dtMilk.SolDropUp
  • games/bcats.json#/coils/4._vbscript_callback: SolTrashOut
  • games/bcats.json#/coils/4._inferred_type: kicker
  • games/bcats.json#/coils/4._note: Ejects ball from trash can/garbage can kicker (sw24).
  • games/bcats.json#/coils/5._vbscript_callback: SolBT
  • games/bcats.json#/coils/5._inferred_type: drop_target_reset
  • games/bcats.json#/coils/5._note: Resets bird drop targets (sw25-sw29). Original comment: dtBird.SolDropUp
  • games/bcats.json#/coils/6._vbscript_callback: SolbgCat
  • games/bcats.json#/coils/6._inferred_type: backglass_mechanism
  • games/bcats.json#/coils/6._note: Triggers backglass cat animation (VR: vrCatTimer). Mechanical backbox feature.
  • games/bcats.json#/coils/7._vbscript_callback: SolGIBlink
  • games/bcats.json#/coils/7._inferred_type: gi_relay
  • games/bcats.json#/coils/7._note: Blinks GI on/off. Toggles both main GI (SolGI) and backbox GI (SolbbGI) when their respective active flags are set.
  • games/bcats.json#/coils/8._vbscript_callback: SolbbGION
  • games/bcats.json#/coils/8._inferred_type: gi_relay
  • games/bcats.json#/coils/8._note: Controls backbox GI string. Sets GIActivebb flag.
  • games/bcats.json#/coils/9._vbscript_callback: SolbgWoman
  • games/bcats.json#/coils/9._inferred_type: backglass_mechanism
  • games/bcats.json#/coils/9._note: Triggers backglass woman-with-broom animation (VR: vrWomanTimer and VrCat rotation). Mechanical backbox feature.
  • games/bcats.json#/coils/10._vbscript_callback: FlashMod15
  • games/bcats.json#/coils/10._inferred_type: flasher
  • games/bcats.json#/coils/10._note: Seafood wheel light/flasher. Also used as cvpmMech Sol1 for wheel motor direction. SolModCallback (PWM).
  • games/bcats.json#/coils/11._inferred_type: mechanism
  • games/bcats.json#/coils/11._note: cvpmMech Sol2 for seafood wheel. No SolCallback assigned directly. SolModCallback(16) commented out with note: secondary seafood flasher solenoid - apparently doesn't exist IRL.
  • games/bcats.json#/coils/12._vbscript_callback: SolGION
  • games/bcats.json#/coils/12._inferred_type: gi_relay
  • games/bcats.json#/coils/12._note: GameOnSolenoid (framework-defined = 23). Controls main playfield GI. Also enables flippers. Sets GIActive flag. Also calls ACRelay via vpmNudge.SolGameOn.
  • games/bcats.json#/coils/13._vbscript_callback: FlashMod125
  • games/bcats.json#/coils/13._inferred_type: flasher
  • games/bcats.json#/coils/13._note: SolModCallback (PWM). Controller.SolMask(1025). Fish target area flasher.
  • games/bcats.json#/coils/14._vbscript_callback: FlashMod126
  • games/bcats.json#/coils/14._inferred_type: flasher
  • games/bcats.json#/coils/14._note: SolModCallback (PWM). Controller.SolMask(1026). Has mayo/grease glass effect.
  • games/bcats.json#/coils/15._vbscript_callback: FlashMod127
  • games/bcats.json#/coils/15._inferred_type: flasher
  • games/bcats.json#/coils/15._note: SolModCallback (PWM). Controller.SolMask(1027). Has mayo/grease glass effect.
  • games/bcats.json#/coils/16._vbscript_callback: FlashMod128
  • games/bcats.json#/coils/16._inferred_type: flasher
  • games/bcats.json#/coils/16._note: SolModCallback (PWM). Controller.SolMask(1028). Has mayo/grease glass effect.
  • games/bcats.json#/coils/17._vbscript_callback: FlashMod129
  • games/bcats.json#/coils/17._inferred_type: flasher
  • games/bcats.json#/coils/17._note: SolModCallback (PWM). Controller.SolMask(1029). Has mayo/grease glass effect.
  • games/bcats.json#/coils/18._vbscript_callback: FlashMod130
  • games/bcats.json#/coils/18._inferred_type: flasher
  • games/bcats.json#/coils/18._note: SolModCallback (PWM). Controller.SolMask(1030).
  • games/bcats.json#/coils/19._vbscript_callback: FlashMod131
  • games/bcats.json#/coils/19._inferred_type: flasher
  • games/bcats.json#/coils/19._note: SolModCallback (PWM). Controller.SolMask(1031). Has mayo/grease glass effect.
  • games/bcats.json#/coils/20._vbscript_callback: FlashMod132
  • games/bcats.json#/coils/20._inferred_type: flasher
  • games/bcats.json#/coils/20._note: SolModCallback (PWM). Controller.SolMask(1032). BBQ/barbecue area flasher.
  • games/bcats.json#/coils/21._vbscript_name: sLRFlipper
  • games/bcats.json#/coils/21._vbscript_callback: SolRFlipper
  • games/bcats.json#/coils/21._inferred_type: flipper
  • games/bcats.json#/coils/21._note: Framework-defined constant (core.vbs: sLRFlipper=46)
  • games/bcats.json#/coils/22._vbscript_name: sLLFlipper
  • games/bcats.json#/coils/22._vbscript_callback: SolLFlipper
  • games/bcats.json#/coils/22._inferred_type: flipper
  • games/bcats.json#/coils/22._note: Framework-defined constant (core.vbs: sLLFlipper=48)
  • games/bcats.json#/lamps/0._vlm_array: BL_Inserts_l1
  • games/bcats.json#/lamps/0._note: Near left/right flipper area based on VLM lightmap data (FlipperL, FlipperR)
  • games/bcats.json#/lamps/1._vlm_array: BL_Inserts_l2
  • games/bcats.json#/lamps/1._note: Left slingshot area based on VLM lightmap data
  • games/bcats.json#/lamps/2._vlm_array: BL_Inserts_l3
  • games/bcats.json#/lamps/2._note: Playfield insert
  • games/bcats.json#/lamps/3._vlm_array: BL_Inserts_l4
  • games/bcats.json#/lamps/3._note: Playfield insert
  • games/bcats.json#/lamps/4._vlm_array: BL_Inserts_l5
  • games/bcats.json#/lamps/4._note: Right flipper area based on VLM lightmap data
  • games/bcats.json#/lamps/5._vlm_array: BL_Inserts_l6
  • games/bcats.json#/lamps/5._note: Playfield insert
  • games/bcats.json#/lamps/6._vlm_array: BL_Inserts_l7
  • games/bcats.json#/lamps/6._note: Right slingshot area based on VLM lightmap data
  • games/bcats.json#/lamps/7._vlm_array: BL_Inserts_l8
  • games/bcats.json#/lamps/7._note: Playfield insert near plastics
  • games/bcats.json#/lamps/8._vlm_array: BL_Inserts_l9
  • games/bcats.json#/lamps/8._note: Upper playfield area based on VLM lightmap data (BackWall2)
  • games/bcats.json#/lamps/9._vlm_array: BL_Inserts_l10
  • games/bcats.json#/lamps/9._note: Tiger ramp area based on VLM lightmap data
  • games/bcats.json#/lamps/10._vlm_array: BL_Inserts_l11
  • games/bcats.json#/lamps/10._note: Upper playfield area
  • games/bcats.json#/lamps/11._vlm_array: BL_Inserts_l12
  • games/bcats.json#/lamps/11._note: Upper playfield area
  • games/bcats.json#/lamps/12._vlm_array: BL_Inserts_l13
  • games/bcats.json#/lamps/12._note: Upper playfield area
  • games/bcats.json#/lamps/13._vlm_array: BL_Inserts_l14
  • games/bcats.json#/lamps/13._note: Near upper bumper (sw60) area based on VLM lightmap data
  • games/bcats.json#/lamps/14._vlm_array: BL_Inserts_l15
  • games/bcats.json#/lamps/14._note: Near upper bumper (sw60) area based on VLM lightmap data
  • games/bcats.json#/lamps/15._vlm_array: BL_Inserts_l16
  • games/bcats.json#/lamps/15._note: Near bumper area (sw60/sw61) based on VLM lightmap data
  • games/bcats.json#/lamps/16._vlm_array: BL_Inserts_l17
  • games/bcats.json#/lamps/16._note: Tiger ramp area based on VLM lightmap data
  • games/bcats.json#/lamps/17._vlm_array: BL_Inserts_l18
  • games/bcats.json#/lamps/17._note: Upper playfield area
  • games/bcats.json#/lamps/18._vlm_array: BL_Inserts_l19
  • games/bcats.json#/lamps/18._note: Tiger ramp area based on VLM lightmap data
  • games/bcats.json#/lamps/19._vlm_array: BL_Inserts_l21
  • games/bcats.json#/lamps/19._note: Fish ramp area based on VLM lightmap data (FishRampEdges)
  • games/bcats.json#/lamps/20._vlm_array: BL_Inserts_l22
  • games/bcats.json#/lamps/20._note: Fish ramp area based on VLM lightmap data
  • games/bcats.json#/lamps/21._vlm_array: BL_Inserts_l23
  • games/bcats.json#/lamps/21._note: Fish ramp area based on VLM lightmap data
  • games/bcats.json#/lamps/22._vlm_array: BL_Inserts_l24
  • games/bcats.json#/lamps/22._note: Near fish ramp gate (sw16) based on VLM lightmap data
  • games/bcats.json#/lamps/23._vlm_array: BL_Inserts_l26
  • games/bcats.json#/lamps/23._note: Left slingshot area based on VLM lightmap data
  • games/bcats.json#/lamps/24._vlm_array: BL_Inserts_l27
  • games/bcats.json#/lamps/24._note: Playfield insert
  • games/bcats.json#/lamps/25._vlm_array: BL_Inserts_l28
  • games/bcats.json#/lamps/25._note: Tiger ramp edge area based on VLM lightmap data
  • games/bcats.json#/lamps/26._vlm_array: BL_Inserts_l29
  • games/bcats.json#/lamps/26._note: Right slingshot area based on VLM lightmap data
  • games/bcats.json#/lamps/27._vlm_array: BL_Inserts_l30
  • games/bcats.json#/lamps/27._note: Playfield insert
  • games/bcats.json#/lamps/28._vlm_array: BL_Inserts_l33
  • games/bcats.json#/lamps/28._note: Playfield insert
  • games/bcats.json#/lamps/29._vlm_array: BL_Inserts_l34
  • games/bcats.json#/lamps/29._note: Playfield insert
  • games/bcats.json#/lamps/30._vlm_array: BL_Inserts_l35
  • games/bcats.json#/lamps/30._note: Playfield insert
  • games/bcats.json#/lamps/31._vlm_array: BL_Inserts_l36
  • games/bcats.json#/lamps/31._note: Playfield insert
  • games/bcats.json#/lamps/32._vlm_array: BL_Inserts_l37
  • games/bcats.json#/lamps/32._note: Playfield insert
  • games/bcats.json#/lamps/33._vlm_array: BL_Inserts_l38
  • games/bcats.json#/lamps/33._note: Playfield insert
  • games/bcats.json#/lamps/34._vlm_array: BL_Inserts_l39
  • games/bcats.json#/lamps/34._note: Playfield insert
  • games/bcats.json#/lamps/35._vlm_array: BL_Inserts_l40
  • games/bcats.json#/lamps/35._note: Playfield insert near plastics
  • games/bcats.json#/lamps/36._vlm_array: BL_Inserts_l41
  • games/bcats.json#/lamps/36._note: Playfield insert
  • games/bcats.json#/lamps/37._vlm_array: BL_Inserts_l42
  • games/bcats.json#/lamps/37._note: Playfield insert
  • games/bcats.json#/lamps/38._vlm_array: BL_Inserts_l43
  • games/bcats.json#/lamps/38._note: Playfield insert
  • games/bcats.json#/lamps/39._vlm_array: BL_Inserts_l44
  • games/bcats.json#/lamps/39._note: Playfield insert
  • games/bcats.json#/lamps/40._vlm_array: BL_Inserts_l45
  • games/bcats.json#/lamps/40._note: Playfield insert
  • games/bcats.json#/lamps/41._vlm_array: BL_Inserts_l46
  • games/bcats.json#/lamps/41._note: Under-playfield lamp only
  • games/bcats.json#/lamps/42._vlm_array: BL_Inserts_l47
  • games/bcats.json#/lamps/42._note: Backglass area based on VLM lightmap data
  • games/bcats.json#/lamps/43._vlm_array: BL_Inserts_l48
  • games/bcats.json#/lamps/43._note: Backglass area based on VLM lightmap data
  • games/bcats.json#/lamps/44._vlm_array: BL_Inserts_l49
  • games/bcats.json#/lamps/44._note: Playfield insert
  • games/bcats.json#/lamps/45._vlm_array: BL_Inserts_l50
  • games/bcats.json#/lamps/45._note: Playfield insert
  • games/bcats.json#/lamps/46._vlm_array: BL_Inserts_l51
  • games/bcats.json#/lamps/46._note: Playfield insert
  • games/bcats.json#/lamps/47._vlm_array: BL_Inserts_l52
  • games/bcats.json#/lamps/47._note: Playfield insert
  • games/bcats.json#/lamps/48._vlm_array: BL_Inserts_l53
  • games/bcats.json#/lamps/48._note: Near fish target based on VLM lightmap data (FishT)
  • games/bcats.json#/_source/confidence_notes: High confidence on switches/coils. Lamp descriptions inferred from VLM insert arrays (BL_Inserts_lN) and playfield context; no named lamp constants in script. Uses S11.VBS framework (System 11B). Cabinet switches (1-8, 81-84) from S11.vbs framework constants. Flipper solenoids (46/48) from core.vbs framework constants. Seafood wheel mechanism uses cvpmMech with Sol1=16, Sol2=15 and switch 44. SolModCallback used for flashers (PWM). SolCallback(16) commented out as secondary seafood flasher solenoid that apparently doesn't exist IRL.

Unresolved questions

  • Is the I/O enumeration complete for every supported physical/controller variant?
  • Which inferred VPX behaviors reflect real hardware, and which are table-script conveniences?
  • Are all mechanism home states, sensors, motion constraints, and ball interactions documented?

Sources

  • legacy.game.bcats: games/bcats.json at the pinned migration revision.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
bcats_tcm13Bad Cats (The Cat's Meow 1.3) 2025bcats_l5
bcats_tcm12Bad Cats (The Cat's Meow 1.2) 2024bcats_l5
bcats_tcmBad Cats (The Cat's Meow) 2023bcats_l5
bcats_l5Bad Cats (L-5) 1989
bcats_l2Bad Cats (LA-2) 1989bcats_l5
bcats_g4Bad Cats (LG-4 German) 1989bcats_l5
bcats_f1Bad Cats (LF-1 French) 1989bcats_l5

Parent set: bcats_l5 — 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.

  • Legacy definition

    legacy.game.bcats

    games/bcats.json; origin=vbscript-parser

    by
    pinmame-game-defs contributors
    rev
    4ea106d08072
  • Legacy definition

    legacy.platform.system11

    platforms/system11.json

    by
    pinmame-game-defs contributors
    rev
    4ea106d08072
  • PinMAME catalog

    BSD-3-Clause

    pinmame.catalog.4ec52ff0ac13

    PinmameGetGames

    by
    PinMAME contributors
    rev
    4ec52ff0ac13

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