Cactus Canyon

Partial

Bally1998WPCbally.cactus-canyon.1998

2 unresolved conflicts

  • Legacy sources disagree on label: 'ROM Started' versus 'Front Left Flasher'. binding:pinmame.output.solenoid/19/None
  • Legacy sources disagree on label: 'ROM Started' versus 'Front Left Flasher'. binding:pinmame.output.solenoid/19/None

Wire it up

what an authoring tool needs first
Bind this ROM
cc_13

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

Controller platform
pinmame.wpc

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–118 (69)
Solenoids
1–48 (33)
Lamps
11–88 (64)
GI
0–2 (3)
Cabinet & flipper inputs
112flipper.lower.right114flipper.lower.left116flipper.upper.right118flipper.upper.left1cabinet.coin.12cabinet.coin.23cabinet.coin.34cabinet.coin.413cabinet.start18cabinet.launch

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
candidate
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.

69 addresses

Switch map

Column × row matrix — the address is column·row.

used unused
 
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
11
Hover or tap an address to identify it.

Outside the matrix1, 2, 3, 4, 5, 6, 7, 8 — dedicated, diagnostic or flipper-column addresses. See the table below.

69 shown
# Name Device ID Role Evidence
1
Coin Button 1
switch.coin-1
cabinet.coin.1
candidate
2
Coin Button 2
switch.coin-2
cabinet.coin.2
candidate
3
Coin Button 3
switch.coin-3
cabinet.coin.3
candidate
4
Coin Button 4
switch.coin-4
cabinet.coin.4
candidate
5
Cancel
switch.cancel
service.cancel
candidate
6
Down
switch.down
service.down
candidate
7
Up
switch.up
service.up
candidate
8
Enter
switch.enter
service.enter
candidate
11
Not Used (Phantom Switch 2)
switch.not-used-phantom-switch-2
candidate
12
Not Used (Phantom Switch 3)
switch.not-used-phantom-switch-3
candidate
13
Start Button
switch.start-button
cabinet.start
candidate
14
Plumb Bob Tilt
switch.plumb-bob-tilt
candidate
15
Mine Entrance
switch.mine-entrance
candidate
16
Left Outlane
switch.left-outlane
candidate
17
Right Return Lane
switch.right-return-lane
candidate
18
Shooter Lane
switch.shooter-lane
cabinet.launch
candidate
21
Slam Tilt
switch.slam-tilt
candidate
22
Coin Door Closed
switch.coin-door-closed
candidate
24
Always Closed
switch.always-closed
candidate
26
Left Return Lane
switch.left-return-lane
candidate
27
Right Outlane
switch.right-outlane
candidate
28
Bottom Right Standup
switch.bottom-right-standup
candidate
31
Trough Eject (Jam)
switch.trough-eject-jam
candidate
32
Trough Ball 1
switch.trough-ball-1
candidate
33
Trough Ball 2
switch.trough-ball-2
candidate
34
Trough Ball 3
switch.trough-ball-3
candidate
35
Trough Ball 4
switch.trough-ball-4
candidate
36
Left Loop Bottom
switch.left-loop-bottom
candidate
37
Right Loop Bottom
switch.right-loop-bottom
candidate
41
Mine Popper
switch.mine-popper
candidate
42
Saloon Popper
switch.saloon-popper
candidate
43
Not Used (Phantom Switch)
switch.not-used-phantom-switch
candidate
44
Top Right Standup
switch.top-right-standup
candidate
45
Not Used (Phantom Switch 4)
switch.not-used-phantom-switch-4
candidate
46
Beer Mug
switch.beer-mug
candidate
47
Left Bonus X Lane
switch.left-bonus-x-lane
candidate
48
Jet Bumpers Exit
switch.jet-bumpers-exit
candidate
51
Left Slingshot
switch.left-slingshot
candidate
52
Right Slingshot
switch.right-slingshot
candidate
53
Left Jet Bumper
switch.left-jet-bumper
candidate
54
Right Jet Bumper
switch.right-jet-bumper
candidate
55
Bottom Jet Bumper (Slingshot)
switch.bottom-jet-bumper-slingshot
candidate
56
Right Loop Top
switch.right-loop-top
candidate
57
Right Bonus X Lane
switch.right-bonus-x-lane
candidate
58
Left Loop Top
switch.left-loop-top
candidate
61
Drop Target 1 (Left)
switch.drop-target-1-left
candidate
62
Drop Target 2 (Left Center)
switch.drop-target-2-left-center
candidate
63
Drop Target 3 (Right Center)
switch.drop-target-3-right-center
candidate
64
Drop Target 4 (Right)
switch.drop-target-4-right
candidate
65
Right Ramp Make
switch.right-ramp-make
candidate
66
Right Ramp Enter
switch.right-ramp-enter
candidate
67
Skill Bowl
switch.skill-bowl
candidate
68
Right Ramp Bottom
switch.right-ramp-bottom
candidate
71
Train Encoder
switch.train-encoder
candidate
72
Train Home
switch.train-home
candidate
73
Saloon Gate
switch.saloon-gate
candidate
75
Saloon Bart Toy
switch.saloon-bart-toy
candidate
77
Mine Home
switch.mine-home
candidate
78
Mine Encoder
switch.mine-encoder
candidate
82
Center Ramp Enter
switch.center-ramp-enter
candidate
83
Left Ramp Make
switch.left-ramp-make
candidate
84
Center Ramp Make
switch.center-ramp-make
candidate
85
Left Ramp Enter
switch.left-ramp-enter
candidate
86
Top Left Standup
switch.top-left-standup
candidate
87
Bottom Left Standup
switch.bottom-left-standup
candidate
112
Lower Right Flipper
switch.flipper-lower-right
flipper.lower.right
candidate
114
Lower Left Flipper
switch.flipper-lower-left
flipper.lower.left
candidate
116
Upper Right Flipper
switch.flipper-upper-right
flipper.upper.right
candidate
118
Upper Left Flipper
switch.flipper-upper-left
flipper.upper.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 Evidence
1
Auto Plunger
device.auto-plunger candidate
2
Drop Target 1 Reset (Left Bad Guy)
device.drop-target-1-reset-left-bad-guy candidate
3
Drop Target 2 Reset (Left Center Bad Guy)
device.drop-target-2-reset-left-center-bad-guy candidate
4
Drop Target 3 Reset (Right Center Bad Guy)
device.drop-target-3-reset-right-center-bad-guy candidate
5
Drop Target 4 Reset (Right Bad Guy)
device.drop-target-4-reset-right-bad-guy candidate
6
Mine Popper
device.mine-popper candidate
7
Knocker
device.knocker candidate
8
Saloon Popper
device.saloon-popper candidate
9
Trough Eject (Ball Release)
device.trough-eject-ball-release candidate
10
Left Slingshot
device.left-slingshot candidate
11
Right Slingshot
device.right-slingshot candidate
12
Left Jet Bumper
device.left-jet-bumper candidate
13
Right Jet Bumper
device.right-jet-bumper candidate
14
Left Gunfight Post
device.left-gunfight-post candidate
15
Right Gunfight Post
device.right-gunfight-post candidate
16
Bottom Jet Bumper
device.bottom-jet-bumper candidate
17
Mine Motor
device.mine-motor candidate
21
Left Loop Gate
device.left-loop-gate candidate
22
Right Loop Gate
device.right-loop-gate candidate
33
Move Bart Toy
device.move-bart-toy candidate
36
Bart Hat
device.bart-hat candidate
37
Train Reverse
device.train-reverse candidate
38
Train Forward
device.train-forward candidate
46
Right Flipper
device.right-flipper candidate
48
Left Flipper
device.left-flipper candidate

Flashers

8
8 shown
# Name Device ID Evidence
18
Mine Flasher
device.mine-flasher candidate
19
ROM Started
device.game-on candidate
20
Front Right Flasher
device.front-right-flasher candidate
24
Beacon Flasher
device.beacon-flasher candidate
25
Middle Right Flasher
device.middle-right-flasher candidate
26
Saloon Flasher
device.saloon-flasher candidate
27
Back Right Flasher
device.back-right-flasher candidate
28
Back Left Flasher
device.back-left-flasher candidate

Lamps

64

Lamp map

Column × row matrix — the address is column·row.

used unused
 
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
Hover or tap an address to identify it.
64 shown
# Name Device ID Evidence
11
Rank: Stranger
lamp.rank-stranger candidate
12
Rank: Partner
lamp.rank-partner candidate
13
Rank: Deputy
lamp.rank-deputy candidate
14
Rank: Sheriff
lamp.rank-sheriff candidate
15
Rank: Marshall
lamp.rank-marshall candidate
16
Star: Motherlode
lamp.star-motherlode candidate
17
Left Bonus Lane
lamp.left-bonus-lane candidate
18
Right Bonus Lane
lamp.right-bonus-lane candidate
21
Bounty Beacon
lamp.bounty-beacon candidate
22
Jackpot Beacon
lamp.jackpot-beacon candidate
23
Shoot To Collect
lamp.shoot-to-collect candidate
24
Extra Ball Lit Beacon
lamp.extra-ball-lit-beacon candidate
25
Bounty Saloon
lamp.bounty-saloon candidate
26
Saloon Arrow
lamp.saloon-arrow candidate
27
Extra Ball
lamp.extra-ball candidate
28
Mine Lock
lamp.mine-lock candidate
31
Bad Guy Light 2
lamp.bad-guy-light-2 candidate
32
Bad Guy Light 0
lamp.bad-guy-light-0 candidate
33
Left Quickdraw
lamp.left-quickdraw candidate
34
Right Ramp: Sound Alarm
lamp.right-ramp-sound-alarm candidate
35
Right Ramp: Shoot Out
lamp.right-ramp-shoot-out candidate
36
Right Ramp: Save Polly
lamp.right-ramp-save-polly candidate
37
Right Ramp: Jackpot
lamp.right-ramp-jackpot candidate
38
Right Ramp: Combo
lamp.right-ramp-combo candidate
41
Right Loop: Combo
lamp.right-loop-combo candidate
42
Right Loop: Jackpot
lamp.right-loop-jackpot candidate
43
Right Loop: Marksman
lamp.right-loop-marksman candidate
44
Right Loop: Gunslinger
lamp.right-loop-gunslinger candidate
45
Right Loop: Good Shot
lamp.right-loop-good-shot candidate
46
Left Return: Quickdraw
lamp.left-return-quickdraw candidate
47
Left Gunfight Pin
lamp.left-gunfight-pin candidate
48
Left Out: Gunfight
lamp.left-out-gunfight candidate
51
Bad Guy Light 3
lamp.bad-guy-light-3 candidate
52
Bottom Right Quickdraw
lamp.bottom-right-quickdraw candidate
53
Top Right Quickdraw
lamp.top-right-quickdraw candidate
54
Center Ramp: Catch Train
lamp.center-ramp-catch-train candidate
55
Center Ramp: Stop Train
lamp.center-ramp-stop-train candidate
56
Center Ramp: Save Polly
lamp.center-ramp-save-polly candidate
57
Center Ramp: Jackpot
lamp.center-ramp-jackpot candidate
58
Center Ramp: Combo
lamp.center-ramp-combo candidate
61
Left Ramp: White Water
lamp.left-ramp-white-water candidate
62
Left Ramp: Waterfall
lamp.left-ramp-waterfall candidate
63
Left Ramp: Save Polly
lamp.left-ramp-save-polly candidate
64
Left Ramp: Jackpot
lamp.left-ramp-jackpot candidate
65
Left Ramp: Combo
lamp.left-ramp-combo candidate
66
Right Return: Quickdraw
lamp.right-return-quickdraw candidate
67
Right Out: Special
lamp.right-out-special candidate
68
Right Gunfight Pin
lamp.right-gunfight-pin candidate
71
Star: Stampede
lamp.star-stampede candidate
72
Star: Combo
lamp.star-combo candidate
73
Star: High Noon
lamp.star-high-noon candidate
74
Left Loop: Combo
lamp.left-loop-combo candidate
75
Left Loop: Jackpot
lamp.left-loop-jackpot candidate
76
Left Loop: Ride Em
lamp.left-loop-ride-em candidate
77
Left Loop: Wild Ride
lamp.left-loop-wild-ride candidate
78
Left Loop: Buck N Bronco
lamp.left-loop-buck-n-bronco candidate
81
Star: Bart Brothers
lamp.star-bart-brothers candidate
82
Shoot Again
lamp.shoot-again candidate
83
Star: Showdown
lamp.star-showdown candidate
84
Bad Guy Light 1
lamp.bad-guy-light-1 candidate
85
Beer Mug
lamp.beer-mug candidate
86
Beer Mug GI
lamp.beer-mug-gi candidate
87
Jet Bumpers
lamp.jet-bumpers candidate
88
Start Button
lamp.start-button candidate

General illumination

3
3 shown
# Name Device ID Evidence
0
Left GI
gi.left-gi candidate
1
Right GI
gi.right-gi candidate
2
Top GI
gi.top-gi candidate

Mechanisms

Logical assemblies with their actuators, sensors and observed behaviour. Click a chip to jump to the address it refers to.

Train mechanism on tracks across playfield

mechanism.train

Motorized

Train mechanism on tracks across playfield Two-solenoid directional motor. Sol1=38 (forward), Sol2=37 (reverse). VPX: Train/Train1 primitives with TransX. Position saved to registry vpmMechTwoDirSol + vpmMechStopEnd + vpmMechLinear

Gold mine entrance sign that raises/lowers

mechanism.mine-sign

Motorized

Gold mine entrance sign that raises/lowers Single-solenoid reversing mechanism. VPX: MineSign primitive Z position and Mine primitive RotX. Controls sw15.IsDropped visibility vpmMechOneSol + vpmMechReverse + vpmMechLinear

Bart figure that moves left/right and hat lifts

mechanism.bart-toy

Motorized

Bart figure that moves left/right and hat lifts Sol 33 (MoveBart) oscillates Bart L/R. Sol 36 (MoveHat) lifts hat via sine animation. sw75 detects ball hitting Bart

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 Bally (1998). 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

  • mechanism.train: Train mechanism on tracks across playfield Two-solenoid directional motor. Sol1=38 (forward), Sol2=37 (reverse). VPX: Train/Train1 primitives with TransX. Position saved to registry vpmMechTwoDirSol + vpmMechStopEnd + vpmMechLinear [source: legacy.game.cc]
  • mechanism.mine-sign: Gold mine entrance sign that raises/lowers Single-solenoid reversing mechanism. VPX: MineSign primitive Z position and Mine primitive RotX. Controls sw15.IsDropped visibility vpmMechOneSol + vpmMechReverse + vpmMechLinear [source: legacy.game.cc]
  • mechanism.bart-toy: Bart figure that moves left/right and hat lifts Sol 33 (MoveBart) oscillates Bart L/R. Sol 36 (MoveHat) lifts hat via sine animation. sw75 detects ball hitting Bart [source: legacy.game.cc]

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

  • platforms/wpc.json#/coils/1: Unbound legacy outputs record c_flipper_lower_right was retained as a migration note only.
  • platforms/wpc.json#/coils/2: Unbound legacy outputs record c_flipper_lower_left was retained as a migration note only.
  • platforms/wpc.json#/coils/3: Unbound legacy outputs record c_flipper_upper_right was retained as a migration note only.
  • platforms/wpc.json#/coils/4: Unbound legacy outputs record c_flipper_upper_left was retained as a migration note only.
  • games/cc.json#/switches/0._vbscript_name: S11
  • games/cc.json#/switches/0._note: Unused in switch matrix
  • games/cc.json#/switches/1._vbscript_name: S12
  • games/cc.json#/switches/1._note: Unused in switch matrix
  • games/cc.json#/switches/2._vbscript_name: swStart
  • games/cc.json#/switches/2._note: Defined in WPC.VBS as swStartButton=13
  • games/cc.json#/switches/3._vbscript_name: swTilt
  • games/cc.json#/switches/3._note: vpmNudge.TiltSwitch = 14
  • games/cc.json#/switches/4._vbscript_name: sw15
  • games/cc.json#/switches/4._note: Gold mine sign target. sw15.IsDropped toggles based on mine sign position. Also sw15b fires PulseSwitch 15
  • games/cc.json#/switches/5._vbscript_name: sw16
  • games/cc.json#/switches/6._vbscript_name: sw17
  • games/cc.json#/switches/7._vbscript_name: sw18
  • games/cc.json#/switches/7._note: Ball in shooter lane detection. plungerIM uses swPlunger VPX object reference
  • games/cc.json#/switches/8._vbscript_name: swSlamTilt
  • games/cc.json#/switches/8._note: Defined in WPC.VBS as swSlamTilt=21
  • games/cc.json#/switches/9._vbscript_name: swCoinDoor
  • games/cc.json#/switches/9._note: Set to 1 on init: Controller.Switch(22) = 1
  • games/cc.json#/switches/10._note: Set to 0 on init: Controller.Switch(24) = 0
  • games/cc.json#/switches/11._vbscript_name: sw26
  • games/cc.json#/switches/12._vbscript_name: sw27
  • games/cc.json#/switches/13._vbscript_name: sw28
  • games/cc.json#/switches/14._vbscript_name: sw31
  • games/cc.json#/switches/14._note: Trough jam switch. PulseSw 31 on hit
  • games/cc.json#/switches/15._vbscript_name: sw32
  • games/cc.json#/switches/16._vbscript_name: sw33
  • games/cc.json#/switches/17._vbscript_name: sw34
  • games/cc.json#/switches/18._vbscript_name: sw35
  • games/cc.json#/switches/19._vbscript_name: sw36
  • games/cc.json#/switches/19._note: Opto switch
  • games/cc.json#/switches/20._vbscript_name: sw37
  • games/cc.json#/switches/20._note: Opto switch
  • games/cc.json#/switches/21._vbscript_name: MinePopper
  • games/cc.json#/switches/21._note: Gold mine VUK. Controller.Switch(41) set in MinePopper_Hit/UnHit
  • games/cc.json#/switches/22._vbscript_name: BartPopper
  • games/cc.json#/switches/22._note: Saloon/Bart subway VUK. Controller.Switch(42) set in BartPopper_Hit/UnHit
  • games/cc.json#/switches/23._note: Unused in switch matrix
  • games/cc.json#/switches/24._vbscript_name: sw44
  • games/cc.json#/switches/25._note: Unused in switch matrix
  • games/cc.json#/switches/26._vbscript_name: sw46
  • games/cc.json#/switches/26._note: Beer mug target with animated mug toy
  • games/cc.json#/switches/27._vbscript_name: sw47
  • games/cc.json#/switches/28._vbscript_name: sw48
  • games/cc.json#/switches/29._vbscript_name: sw51
  • games/cc.json#/switches/30._vbscript_name: sw52
  • games/cc.json#/switches/31._vbscript_name: Bumper1
  • games/cc.json#/switches/32._vbscript_name: Bumper2
  • games/cc.json#/switches/33._vbscript_name: sw55
  • games/cc.json#/switches/33._note: Implemented as a slingshot in VPX (sw55_Slingshot), but is the bottom jet bumper in the real machine
  • games/cc.json#/switches/34._vbscript_name: sw56
  • games/cc.json#/switches/34._note: Opto switch
  • games/cc.json#/switches/35._vbscript_name: sw57
  • games/cc.json#/switches/36._vbscript_name: sw58
  • games/cc.json#/switches/37._vbscript_name: sw61
  • games/cc.json#/switches/37._note: Bad Guy drop target. Uses Roth drop target system (DTHit/DTRaise/DTDrop)
  • games/cc.json#/switches/38._vbscript_name: sw62
  • games/cc.json#/switches/38._note: Bad Guy drop target
  • games/cc.json#/switches/39._vbscript_name: sw63
  • games/cc.json#/switches/39._note: Bad Guy drop target
  • games/cc.json#/switches/40._vbscript_name: sw64
  • games/cc.json#/switches/40._note: Bad Guy drop target
  • games/cc.json#/switches/41._vbscript_name: Sw65
  • games/cc.json#/switches/41._note: Gate switch with sw65flip flipper gate
  • games/cc.json#/switches/42._vbscript_name: sw66
  • games/cc.json#/switches/42._note: Opto switch
  • games/cc.json#/switches/43._vbscript_name: sw67
  • games/cc.json#/switches/43._note: Opto switch
  • games/cc.json#/switches/44._vbscript_name: sw68
  • games/cc.json#/switches/44._note: Gate switch with sw68flip flipper gate
  • games/cc.json#/switches/45._vbscript_name: sw71
  • games/cc.json#/switches/45._note: Train mechanism encoder pulse. AddPulseSw in TrainMech cvpmMech. PROC mode uses sw71_Timer for pulse
  • games/cc.json#/switches/46._vbscript_name: sw72
  • games/cc.json#/switches/46._note: Train home position. AddSw 72,0,0 in TrainMech cvpmMech. PROC mode sets via Polly_Timer
  • games/cc.json#/switches/47._vbscript_name: sw73
  • games/cc.json#/switches/48._vbscript_name: sw75
  • games/cc.json#/switches/48._note: Bart toy hit switch. Triggers Bhit animation
  • games/cc.json#/switches/49._vbscript_name: sw77
  • games/cc.json#/switches/49._note: Mine mechanism home position. AddSw 77,0,1 in MineMech cvpmMech. PROC mode sets via Sw15_Timer
  • games/cc.json#/switches/50._vbscript_name: sw78
  • games/cc.json#/switches/50._note: Mine mechanism encoder pulse. AddPulseSw 78,8,2 in MineMech cvpmMech. PROC mode pulses via sw15b_Timer
  • games/cc.json#/switches/51._vbscript_name: sw82
  • games/cc.json#/switches/52._vbscript_name: Sw83
  • games/cc.json#/switches/52._note: Gate switch with sw83flip flipper gate
  • games/cc.json#/switches/53._vbscript_name: sw84
  • games/cc.json#/switches/53._note: Gate switch with sw84flip flipper gate
  • games/cc.json#/switches/54._vbscript_name: sw85
  • games/cc.json#/switches/54._note: Gate switch with sw85flip flipper gate
  • games/cc.json#/switches/55._vbscript_name: sw86
  • games/cc.json#/switches/56._vbscript_name: sw87
  • games/cc.json#/coils/0._vbscript_callback: AutoPlunger
  • games/cc.json#/coils/0._note: Uses cvpmImpulseP with IMPowerSetting=54.5
  • games/cc.json#/coils/1._vbscript_callback: Drop1
  • games/cc.json#/coils/1._note: Raises/drops sw61 bad guy drop target
  • games/cc.json#/coils/2._vbscript_callback: Drop2
  • games/cc.json#/coils/2._note: Raises/drops sw62 bad guy drop target
  • games/cc.json#/coils/3._vbscript_callback: Drop3
  • games/cc.json#/coils/3._note: Raises/drops sw63 bad guy drop target
  • games/cc.json#/coils/4._vbscript_callback: Drop4
  • games/cc.json#/coils/4._note: Raises/drops sw64 bad guy drop target
  • games/cc.json#/coils/5._vbscript_callback: SolMinePopper
  • games/cc.json#/coils/5._note: Gold mine VUK eject. MinePopper.kick 0,45,1.56
  • games/cc.json#/coils/6._vbscript_callback: SolKnocker
  • games/cc.json#/coils/7._vbscript_callback: SolSaloonPopper
  • games/cc.json#/coils/7._note: Saloon/Bart subway VUK eject. BartPopper.kick 0,45,1.56
  • games/cc.json#/coils/8._vbscript_callback: ReleaseBall
  • games/cc.json#/coils/8._note: sw32.kick 53,12. Releases ball from trough to shooter lane
  • games/cc.json#/coils/9._note: Commented out in VBS: 'SolCallback(10) = "". Hardware-driven slingshot
  • games/cc.json#/coils/10._note: Commented out in VBS: 'SolCallback(11) = "". Hardware-driven slingshot
  • games/cc.json#/coils/11._note: Commented out in VBS: 'SolCallback(12) = "". Hardware-driven bumper
  • games/cc.json#/coils/12._note: Commented out in VBS: 'SolCallback(13) = "". Hardware-driven bumper
  • games/cc.json#/coils/13._vbscript_callback: GunPostLeft
  • games/cc.json#/coils/13._note: LPin.IsDropped controlled. Up/down post near left flipper
  • games/cc.json#/coils/14._vbscript_callback: GunPostRight
  • games/cc.json#/coils/14._note: RPin.IsDropped controlled. Up/down post near right flipper
  • games/cc.json#/coils/15._note: Commented out in VBS: 'SolCallback(16) = "". Hardware-driven bumper
  • games/cc.json#/coils/16._vbscript_callback: MoveMine
  • games/cc.json#/coils/16._note: VPM mode: MoveMine (cvpmMech.Sol1=17). PROC mode: MoveMine_PROC. Controls mine sign up/down mechanism
  • games/cc.json#/coils/17._vbscript_callback: Sol18
  • games/cc.json#/coils/17._note: VPM mode: SolModCallback (modulated). PROC mode: SolCallback. Controls flasher collection F18 and Mine image swap
  • games/cc.json#/coils/18._vbscript_callback: Sol19
  • games/cc.json#/coils/18._note: VPM mode: SolModCallback (modulated). PROC mode: SolCallback. Flasher collection F19
  • games/cc.json#/coils/19._vbscript_callback: Sol20
  • games/cc.json#/coils/19._note: VPM mode: SolModCallback (modulated). PROC mode: SolCallback. Flasher collection F20
  • games/cc.json#/coils/20._vbscript_callback: LGate
  • games/cc.json#/coils/20._note: LLoopGate.Open toggled
  • games/cc.json#/coils/21._vbscript_callback: RGate
  • games/cc.json#/coils/21._note: RLoopGate.Open toggled
  • games/cc.json#/coils/22._vbscript_callback: Sol24
  • games/cc.json#/coils/22._note: VPM mode: SolModCallback (modulated). PROC mode: SolCallback. Flasher collection F24
  • games/cc.json#/coils/23._vbscript_callback: Flash125
  • games/cc.json#/coils/23._note: Uses Fluppers Flashers 2.2 system (FlasherFlash3). Originally Sol25 (commented out), replaced by Flash125
  • games/cc.json#/coils/24._vbscript_callback: Sol26
  • games/cc.json#/coils/24._note: VPM mode: SolModCallback (modulated). PROC mode: SolCallback. Flasher collection F26 + F26R lamp
  • games/cc.json#/coils/25._vbscript_callback: Flash127
  • games/cc.json#/coils/25._note: Uses Fluppers Flashers 2.2 system (FlasherFlash2). Originally Sol27 (commented out), replaced by Flash127
  • games/cc.json#/coils/26._vbscript_callback: Flash128
  • games/cc.json#/coils/26._note: Uses Fluppers Flashers 2.2 system (FlasherFlash1). Originally Sol28 (commented out), replaced by Flash128
  • games/cc.json#/coils/27._vbscript_callback: MoveBart
  • games/cc.json#/coils/27._note: Bart toy motor. Moves Bart primitive left/right via Bart1_Timer animation
  • games/cc.json#/coils/28._vbscript_callback: MoveHat
  • games/cc.json#/coils/28._note: Bart toy hat mechanism. Lifts Bart_Hat via Bart2_Timer sine animation
  • games/cc.json#/coils/29._vbscript_callback: TrainB
  • games/cc.json#/coils/29._note: VPM mode: TrainB (cvpmMech.Sol2=37). PROC mode: TrainB_PROC. Train moves backward
  • games/cc.json#/coils/30._vbscript_callback: TrainF
  • games/cc.json#/coils/30._note: VPM mode: TrainF (cvpmMech.Sol1=38). PROC mode: TrainF_PROC. Train moves forward
  • games/cc.json#/coils/31._vbscript_callback: SolRFlipper
  • games/cc.json#/coils/31._note: WPC standard sLRFlipper=46 from core.vbs. ROM-controlled flipper (WPC-95)
  • games/cc.json#/coils/32._vbscript_callback: SolLFlipper
  • games/cc.json#/coils/32._note: WPC standard sLLFlipper=48 from core.vbs. ROM-controlled flipper (WPC-95)
  • games/cc.json#/lamps/0._vbscript_name: L11
  • games/cc.json#/lamps/1._vbscript_name: L12
  • games/cc.json#/lamps/2._vbscript_name: L13
  • games/cc.json#/lamps/3._vbscript_name: L14
  • games/cc.json#/lamps/4._vbscript_name: L15
  • games/cc.json#/lamps/5._vbscript_name: L16
  • games/cc.json#/lamps/6._vbscript_name: L17
  • games/cc.json#/lamps/6._note: Special handling: LampState(17) read from L17.state in LampTimer. Additional L17R lamp object
  • games/cc.json#/lamps/7._vbscript_name: L18
  • games/cc.json#/lamps/7._note: Special handling: LampState(18) read from L18.state in LampTimer. Additional L18R lamp object
  • games/cc.json#/lamps/8._vbscript_name: L21
  • games/cc.json#/lamps/9._vbscript_name: L22
  • games/cc.json#/lamps/10._vbscript_name: L23
  • games/cc.json#/lamps/11._vbscript_name: L24
  • games/cc.json#/lamps/12._vbscript_name: L25
  • games/cc.json#/lamps/13._vbscript_name: L26
  • games/cc.json#/lamps/14._vbscript_name: L27
  • games/cc.json#/lamps/15._vbscript_name: L28
  • games/cc.json#/lamps/16._vbscript_name: L31
  • games/cc.json#/lamps/16._note: Drop target 2 insert
  • games/cc.json#/lamps/17._vbscript_name: L32
  • games/cc.json#/lamps/17._note: Drop target 0 insert (leftmost)
  • games/cc.json#/lamps/18._vbscript_name: L33
  • games/cc.json#/lamps/19._vbscript_name: L34
  • games/cc.json#/lamps/20._vbscript_name: L35
  • games/cc.json#/lamps/21._vbscript_name: L36
  • games/cc.json#/lamps/22._vbscript_name: L37
  • games/cc.json#/lamps/23._vbscript_name: L38
  • games/cc.json#/lamps/24._vbscript_name: L41
  • games/cc.json#/lamps/25._vbscript_name: L42
  • games/cc.json#/lamps/25._note: Also referenced as light42 in drop target code (DT1 state)
  • games/cc.json#/lamps/26._vbscript_name: L43
  • games/cc.json#/lamps/26._note: Also referenced as light43 in drop target code (DT1 state)
  • games/cc.json#/lamps/27._vbscript_name: L44
  • games/cc.json#/lamps/27._note: Also referenced as light44 in drop target code (DT3 state)
  • games/cc.json#/lamps/28._vbscript_name: L45
  • games/cc.json#/lamps/28._note: Also referenced as light45 in drop target code (DT3 state)
  • games/cc.json#/lamps/29._vbscript_name: L46
  • games/cc.json#/lamps/30._vbscript_name: L47
  • games/cc.json#/lamps/31._vbscript_name: L48
  • games/cc.json#/lamps/32._vbscript_name: L51
  • games/cc.json#/lamps/32._note: Drop target 3 insert. Also referenced as light50/light51 in drop target code (DT4 state)
  • games/cc.json#/lamps/33._vbscript_name: L52
  • games/cc.json#/lamps/34._vbscript_name: L53
  • games/cc.json#/lamps/35._vbscript_name: L54
  • games/cc.json#/lamps/36._vbscript_name: L55
  • games/cc.json#/lamps/37._vbscript_name: L56
  • games/cc.json#/lamps/38._vbscript_name: L57
  • games/cc.json#/lamps/39._vbscript_name: L58
  • games/cc.json#/lamps/40._vbscript_name: L61
  • games/cc.json#/lamps/41._vbscript_name: L62
  • games/cc.json#/lamps/42._vbscript_name: L63
  • games/cc.json#/lamps/43._vbscript_name: L64
  • games/cc.json#/lamps/44._vbscript_name: L65
  • games/cc.json#/lamps/45._vbscript_name: L66
  • games/cc.json#/lamps/46._vbscript_name: L67
  • games/cc.json#/lamps/47._vbscript_name: L68
  • games/cc.json#/lamps/48._vbscript_name: L71
  • games/cc.json#/lamps/49._vbscript_name: L72
  • games/cc.json#/lamps/50._vbscript_name: L73
  • games/cc.json#/lamps/51._vbscript_name: L74
  • games/cc.json#/lamps/52._vbscript_name: L75
  • games/cc.json#/lamps/53._vbscript_name: L76
  • games/cc.json#/lamps/54._vbscript_name: L77
  • games/cc.json#/lamps/55._vbscript_name: L78
  • games/cc.json#/lamps/56._vbscript_name: L81
  • games/cc.json#/lamps/57._vbscript_name: L82
  • games/cc.json#/lamps/58._vbscript_name: L83
  • games/cc.json#/lamps/59._vbscript_name: L84
  • games/cc.json#/lamps/59._note: Drop target 1 insert
  • games/cc.json#/lamps/60._vbscript_name: L85
  • games/cc.json#/lamps/60._note: Optional BeerMugMod override: when enabled, Lights(85) = Array(BeerMugL1,BeerMugL2,BeerMugL3)
  • games/cc.json#/lamps/61._vbscript_name: L86
  • games/cc.json#/lamps/62._vbscript_name: L87
  • games/cc.json#/lamps/63._vbscript_name: L88
  • games/cc.json#/flashers/0._vbscript_name: F18
  • games/cc.json#/flashers/0._note: Modulated (SolModCallback in VPM mode). Flasher collection F18 + Mine image swap. Internal lamp state 148
  • games/cc.json#/flashers/1._vbscript_name: F19
  • games/cc.json#/flashers/1._note: Modulated (SolModCallback in VPM mode). Flasher collection F19. Internal lamp state 149
  • games/cc.json#/flashers/2._vbscript_name: F20
  • games/cc.json#/flashers/2._note: Modulated (SolModCallback in VPM mode). Flasher collection F20. Internal lamp state 150
  • games/cc.json#/flashers/3._vbscript_name: F24
  • games/cc.json#/flashers/3._note: Modulated. Flasher collection F24. Internal lamp state 154
  • games/cc.json#/flashers/4: Duplicate binding label candidate Middle Right Flasher (Alt) differs from Middle Right Flasher.
  • games/cc.json#/flashers/4._vbscript_name: F25
  • games/cc.json#/flashers/4._note: Commented out in VPW. Replaced by Fluppers Flasher system (Flash125/FlasherFlash3)
  • games/cc.json#/flashers/5._vbscript_name: F26
  • games/cc.json#/flashers/5._note: Modulated. Flasher collection F26 + F26R reflector lamp. Internal lamp state 156
  • games/cc.json#/flashers/6._vbscript_name: F27
  • games/cc.json#/flashers/6._note: Original Sol27 commented out. Uses Fluppers Flasher system (Flash127/FlasherFlash2). F27R1/F27R2 reflector lamps
  • games/cc.json#/flashers/7._vbscript_name: F28
  • games/cc.json#/flashers/7._note: Original Sol28 commented out. Uses Fluppers Flasher system (Flash128/FlasherFlash1). F28R1/F28R2 reflector lamps
  • games/cc.json#/gi_strings/0._vbscript_name: LeftGI
  • games/cc.json#/gi_strings/0._note: GiCallback2 index 0. Collection of lights controlled via UpdateGI(0, step). Intensity modulated 0-8 steps in VPM mode
  • games/cc.json#/gi_strings/1._vbscript_name: RightGI
  • games/cc.json#/gi_strings/1._note: GiCallback2 index 1. Collection of lights controlled via UpdateGI(1, step)
  • games/cc.json#/gi_strings/2._vbscript_name: TopGI
  • games/cc.json#/gi_strings/2._note: GiCallback2 index 2. Collections TopGI + TopGI2 + BWGI. Also controls Bart/Bart_Hat blenddisablelighting and ColorGrade table image
  • games/cc.json#/mechanisms/0._note: Two-solenoid directional motor. Sol1=38 (forward), Sol2=37 (reverse). VPX: Train/Train1 primitives with TransX. Position saved to registry
  • games/cc.json#/mechanisms/1._note: Single-solenoid reversing mechanism. VPX: MineSign primitive Z position and Mine primitive RotX. Controls sw15.IsDropped visibility
  • games/cc.json#/mechanisms/2._note: Sol 33 (MoveBart) oscillates Bart L/R. Sol 36 (MoveHat) lifts hat via sine animation. sw75 detects ball hitting Bart
  • games/cc.json#/_source/confidence_notes: Switches and coils extracted from VPW 1.1 VBScript with cross-reference to cc_machine.yaml (P-ROC config) and pinitech.com switch chart. Lamp names from cc_machine.yaml (CCC P-ROC project). Some lamps (e.g. L86 beerMugGI) may be VPX-specific additions. GI strings handled via collections (LeftGI, RightGI, TopGI) not individual lamp numbers.

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.cc: games/cc.json at the pinned migration revision.

ROM sets

Every driver that resolves to this physical machine.

ROM set Description Year Parent Hardware
cc_104Cactus Canyon (1.04 Test 0.2) 1998cc_13
cc_13kCactus Canyon (1.3 Real Knocker patch) 1998cc_13
cc_13Cactus Canyon (1.3) 1998
cc_12Cactus Canyon (1.2) 1998cc_13
cc_10Cactus Canyon (1.0) 1998cc_13

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

    games/cc.json; origin=vbscript-parser

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

    legacy.platform.wpc

    platforms/wpc.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