Package Apple Silicon VM exports and cached runtime switching with local cabinet controls and conagent provisioning. Preserve experimental SPIKE 2 emulation. Improve preparation concurrency, Ghidra checkpoints, signature importing, sound indexing and client-side spectrograms. Include regression tests and validation notes.
654 lines
9.3 KiB
JSON
654 lines
9.3 KiB
JSON
{
|
|
"CONTROL_GROUPS": [
|
|
[
|
|
"Cabinet & ball",
|
|
"Start, launch, flippers, drain, and state recovery.",
|
|
[
|
|
[
|
|
"Start",
|
|
"start"
|
|
],
|
|
[
|
|
"Action / launch",
|
|
"action_button"
|
|
],
|
|
[
|
|
"Left flipper",
|
|
"left_flipper"
|
|
],
|
|
[
|
|
"Right flipper",
|
|
"right_flipper"
|
|
],
|
|
[
|
|
"Coin",
|
|
"coin"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Drain ball",
|
|
"drain_ball"
|
|
],
|
|
[
|
|
"Reset balls",
|
|
"reset_balls"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"Major shots",
|
|
"Complete orbit, spinner, and scoop switch shots.",
|
|
[
|
|
[
|
|
"Left orbit",
|
|
"left_orbit"
|
|
],
|
|
[
|
|
"Right orbit",
|
|
"right_orbit"
|
|
],
|
|
[
|
|
"Spinner",
|
|
"spinner"
|
|
],
|
|
[
|
|
"Town scoop",
|
|
"right_eject"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Town scoop shot",
|
|
"town_scoop"
|
|
],
|
|
[
|
|
"QA playfield tour",
|
|
"playfield_tour"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"Ramp gates",
|
|
"Individual entrance, gate, hold, and made switches.",
|
|
[
|
|
[
|
|
"Left enter",
|
|
"left_ramp_enter"
|
|
],
|
|
[
|
|
"Left gate",
|
|
"left_ramp_made_2"
|
|
],
|
|
[
|
|
"Left made",
|
|
"left_ramp_made_1"
|
|
],
|
|
[
|
|
"Right hold",
|
|
"right_ramp_hold"
|
|
],
|
|
[
|
|
"Right made",
|
|
"right_ramp_made"
|
|
],
|
|
[
|
|
"Rear made",
|
|
"rear_ramp_made"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Complete left ramp",
|
|
"left_ramp"
|
|
],
|
|
[
|
|
"Complete right ramp",
|
|
"right_ramp"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"TRAIN targets",
|
|
"The lower-left three-bank used by Training.",
|
|
[
|
|
[
|
|
"Training top",
|
|
"lower_left_top"
|
|
],
|
|
[
|
|
"Training middle",
|
|
"lower_left_middle"
|
|
],
|
|
[
|
|
"Training bottom",
|
|
"lower_left_bottom"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Complete TRAIN bank",
|
|
"training_bank"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"Pok\u00e9dex / captive ball",
|
|
"Target and two captive-ball position switches.",
|
|
[
|
|
[
|
|
"Captive target",
|
|
"captive_target"
|
|
],
|
|
[
|
|
"Captive lower",
|
|
"captive_lower"
|
|
],
|
|
[
|
|
"Captive upper",
|
|
"captive_upper"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Pok\u00e9dex captive climb",
|
|
"pokedex_scan"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"BATTLE bank",
|
|
"All six standups are separate physical switches.",
|
|
[
|
|
[
|
|
"B",
|
|
"battle_b"
|
|
],
|
|
[
|
|
"A",
|
|
"battle_a"
|
|
],
|
|
[
|
|
"T\u2081",
|
|
"battle_t1"
|
|
],
|
|
[
|
|
"T\u2082",
|
|
"battle_t2"
|
|
],
|
|
[
|
|
"L",
|
|
"battle_l"
|
|
],
|
|
[
|
|
"E",
|
|
"battle_e"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Complete BATTLE bank",
|
|
"battle_bank"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"Berry & lower-right targets",
|
|
"Berry colors, Psyduck, and the lower-right two-bank.",
|
|
[
|
|
[
|
|
"Berry left",
|
|
"berry_left"
|
|
],
|
|
[
|
|
"Berry center",
|
|
"berry_center"
|
|
],
|
|
[
|
|
"Berry right",
|
|
"berry_right"
|
|
],
|
|
[
|
|
"Psyduck",
|
|
"psyduck"
|
|
],
|
|
[
|
|
"Lower-right top",
|
|
"lower_right_top"
|
|
],
|
|
[
|
|
"Lower-right bottom",
|
|
"lower_right_bottom"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Complete Berry bank",
|
|
"berry_bank"
|
|
],
|
|
[
|
|
"Complete right bank",
|
|
"right_bank"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"Team Rocket / Meowth",
|
|
"Entrance, side targets, and balloon hit opto.",
|
|
[
|
|
[
|
|
"Rocket enter",
|
|
"rocket_enter"
|
|
],
|
|
[
|
|
"Rocket left",
|
|
"rocket_left"
|
|
],
|
|
[
|
|
"Rocket right",
|
|
"rocket_right"
|
|
],
|
|
[
|
|
"Meowth hit",
|
|
"meowth_hit"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Run Rocket sequence",
|
|
"rocket_run"
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"Arena & pops",
|
|
"Arena switches and both pop bumpers.",
|
|
[
|
|
[
|
|
"Arena left",
|
|
"arena_left"
|
|
],
|
|
[
|
|
"Top pop",
|
|
"top_pop"
|
|
],
|
|
[
|
|
"Bottom pop",
|
|
"bottom_pop"
|
|
],
|
|
[
|
|
"Arena right",
|
|
"arena_right"
|
|
]
|
|
],
|
|
[
|
|
[
|
|
"Sweep Arena",
|
|
"arena_sweep"
|
|
]
|
|
]
|
|
]
|
|
],
|
|
"PLAYFIELD_SWITCHES": [
|
|
[
|
|
"top_lane_left",
|
|
"Top lane L",
|
|
"9-SW-10",
|
|
24,
|
|
12,
|
|
""
|
|
],
|
|
[
|
|
"top_lane_right",
|
|
"Top lane R",
|
|
"9-SW-11",
|
|
33,
|
|
12,
|
|
""
|
|
],
|
|
[
|
|
"rear_ramp_made",
|
|
"Rear ramp",
|
|
"9-SW-29",
|
|
94,
|
|
5,
|
|
""
|
|
],
|
|
[
|
|
"right_ramp_made",
|
|
"Right ramp",
|
|
"9-SW-31",
|
|
69,
|
|
7,
|
|
"R"
|
|
],
|
|
[
|
|
"rocket_enter",
|
|
"Rocket enter",
|
|
"9-SW-2",
|
|
77,
|
|
10,
|
|
"G"
|
|
],
|
|
[
|
|
"right_orbit",
|
|
"Right orbit",
|
|
"9-SW-3",
|
|
91,
|
|
13,
|
|
"T"
|
|
],
|
|
[
|
|
"meowth_hit",
|
|
"Meowth",
|
|
"9-SW-23",
|
|
48,
|
|
13,
|
|
""
|
|
],
|
|
[
|
|
"rocket_left",
|
|
"Rocket L",
|
|
"9-SW-21",
|
|
41,
|
|
15,
|
|
""
|
|
],
|
|
[
|
|
"rocket_right",
|
|
"Rocket R",
|
|
"9-SW-22",
|
|
55,
|
|
15,
|
|
""
|
|
],
|
|
[
|
|
"battle_b",
|
|
"B",
|
|
"9-SW-26",
|
|
36,
|
|
23,
|
|
"E"
|
|
],
|
|
[
|
|
"battle_a",
|
|
"A",
|
|
"9-SW-27",
|
|
39,
|
|
20,
|
|
""
|
|
],
|
|
[
|
|
"battle_t1",
|
|
"T",
|
|
"9-SW-17",
|
|
43,
|
|
17,
|
|
""
|
|
],
|
|
[
|
|
"battle_t2",
|
|
"T",
|
|
"9-SW-18",
|
|
55,
|
|
17,
|
|
""
|
|
],
|
|
[
|
|
"battle_l",
|
|
"L",
|
|
"9-SW-19",
|
|
59,
|
|
20,
|
|
""
|
|
],
|
|
[
|
|
"battle_e",
|
|
"E",
|
|
"9-SW-20",
|
|
65,
|
|
23,
|
|
""
|
|
],
|
|
[
|
|
"top_pop",
|
|
"Top pop",
|
|
"9-SW-28",
|
|
16,
|
|
16,
|
|
"A"
|
|
],
|
|
[
|
|
"bottom_pop",
|
|
"Bottom pop",
|
|
"9-SW-30",
|
|
25,
|
|
25,
|
|
"S"
|
|
],
|
|
[
|
|
"left_orbit",
|
|
"Left orbit",
|
|
"9-SW-8",
|
|
6,
|
|
21,
|
|
"Q"
|
|
],
|
|
[
|
|
"left_ramp_made_1",
|
|
"Ramp made",
|
|
"9-SW-9",
|
|
13,
|
|
10,
|
|
""
|
|
],
|
|
[
|
|
"left_ramp_enter",
|
|
"Left ramp",
|
|
"8-SW-11",
|
|
20,
|
|
32,
|
|
"W"
|
|
],
|
|
[
|
|
"left_ramp_made_2",
|
|
"Ramp gate",
|
|
"8-SW-12",
|
|
6,
|
|
33,
|
|
""
|
|
],
|
|
[
|
|
"arena_left",
|
|
"Arena L",
|
|
"9-SW-13",
|
|
32,
|
|
32,
|
|
""
|
|
],
|
|
[
|
|
"arena_right",
|
|
"Arena R",
|
|
"9-SW-14",
|
|
62,
|
|
28,
|
|
""
|
|
],
|
|
[
|
|
"captive_lower",
|
|
"Captive 1",
|
|
"9-SW-4",
|
|
70,
|
|
32,
|
|
""
|
|
],
|
|
[
|
|
"captive_upper",
|
|
"Captive 2",
|
|
"9-SW-5",
|
|
74,
|
|
25,
|
|
""
|
|
],
|
|
[
|
|
"captive_target",
|
|
"Captive target",
|
|
"9-SW-6",
|
|
67,
|
|
19,
|
|
""
|
|
],
|
|
[
|
|
"right_ramp_hold",
|
|
"Ramp hold",
|
|
"9-SW-15",
|
|
63,
|
|
15,
|
|
""
|
|
],
|
|
[
|
|
"berry_left",
|
|
"Berry L",
|
|
"8-SW-9",
|
|
18,
|
|
41,
|
|
"1"
|
|
],
|
|
[
|
|
"berry_center",
|
|
"Berry C",
|
|
"8-SW-10",
|
|
31,
|
|
38,
|
|
"2"
|
|
],
|
|
[
|
|
"berry_right",
|
|
"Berry R",
|
|
"9-SW-0",
|
|
62,
|
|
35,
|
|
"3"
|
|
],
|
|
[
|
|
"psyduck",
|
|
"Psyduck",
|
|
"8-SW-5",
|
|
12,
|
|
49,
|
|
"4"
|
|
],
|
|
[
|
|
"spinner",
|
|
"Spinner",
|
|
"9-SW-7",
|
|
88,
|
|
45,
|
|
"F"
|
|
],
|
|
[
|
|
"right_eject",
|
|
"Right eject",
|
|
"9-SW-1",
|
|
83,
|
|
52,
|
|
"D"
|
|
],
|
|
[
|
|
"lower_left_top",
|
|
"LL top",
|
|
"8-SW-0",
|
|
11,
|
|
54,
|
|
"5"
|
|
],
|
|
[
|
|
"lower_left_middle",
|
|
"LL mid",
|
|
"8-SW-1",
|
|
11,
|
|
57,
|
|
"6"
|
|
],
|
|
[
|
|
"lower_left_bottom",
|
|
"LL bot",
|
|
"8-SW-2",
|
|
11,
|
|
60,
|
|
"7"
|
|
],
|
|
[
|
|
"lower_right_top",
|
|
"LR top",
|
|
"8-SW-3",
|
|
87,
|
|
56,
|
|
"8"
|
|
],
|
|
[
|
|
"lower_right_bottom",
|
|
"LR bot",
|
|
"8-SW-4",
|
|
87,
|
|
59,
|
|
"9"
|
|
],
|
|
[
|
|
"left_return",
|
|
"Left return",
|
|
"8-SW-18",
|
|
14,
|
|
69,
|
|
""
|
|
],
|
|
[
|
|
"right_return",
|
|
"Right return",
|
|
"8-SW-19",
|
|
79,
|
|
69,
|
|
""
|
|
],
|
|
[
|
|
"left_outlane",
|
|
"Left outlane",
|
|
"8-SW-17",
|
|
5,
|
|
73,
|
|
""
|
|
],
|
|
[
|
|
"right_outlane",
|
|
"Right outlane",
|
|
"8-SW-20",
|
|
87,
|
|
73,
|
|
""
|
|
],
|
|
[
|
|
"left_slingshot",
|
|
"Left sling",
|
|
"8-SW-30",
|
|
28,
|
|
70,
|
|
""
|
|
],
|
|
[
|
|
"right_slingshot",
|
|
"Right sling",
|
|
"8-SW-29",
|
|
66,
|
|
70,
|
|
""
|
|
],
|
|
[
|
|
"shooter_lane",
|
|
"Shooter",
|
|
"8-SW-28",
|
|
95,
|
|
90,
|
|
"Space"
|
|
]
|
|
]
|
|
} |