[{"data":1,"prerenderedAt":1024},["ShallowReactive",2],{"i-lucide:search":3,"i-lucide:sun":8,"i-lucide:github":10,"i-lucide:menu":13,"i-lucide:git-pull-request-arrow":15,"machine-bally-spectrum-1981":17,"i-lucide:file-json-2":990,"i-lucide:shield-check":992,"i-lucide:toggle-left":994,"i-lucide:zap":996,"i-lucide:disc-3":998,"i-lucide:library-big":1000,"i-lucide:triangle-alert":1002,"i-lucide:plug-zap":1004,"i-lucide:arrow-up-right":1006,"i-lucide:info":1008,"i-lucide:archive":1010,"i-lucide:file-code-2":1012,"i-lucide:list":1014,"i-lucide:external-link":1016,"i-lucide:notebook-pen":1018,"i-lucide:message-square-warning":1020,"i-lucide:chevron-right":1022},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4\"\u002F>\u003Cpath d=\"M9 18c-4.51 2-5-2-7-2\"\u002F>\u003C\u002Fg>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":14},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":16},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"5\" cy=\"6\" r=\"3\"\u002F>\u003Cpath d=\"M5 9v12\"\u002F>\u003Ccircle cx=\"19\" cy=\"18\" r=\"3\"\u002F>\u003Cpath d=\"m15 9l-3-3l3-3\"\u002F>\u003Cpath d=\"M12 6h5a2 2 0 0 1 2 2v7\"\u002F>\u003C\u002Fg>",{"detail":18,"summary":989},{"conflicts":19,"controller":37,"coverage":39,"displays":59,"drivers":60,"format":77,"inputs":78,"knowledge":722,"machine":724,"mechanisms":727,"outputs":728,"relationships":901,"schema_version":132,"sources":902,"slug":919,"sourcePath":920,"knowledgePath":723,"knowledgeHtml":921,"knowledgeHeadings":922,"knowledgeSummary":956,"catalogDrivers":960,"related":966,"family":989},[20,27,32],{"description":21,"id":22,"path":23,"source_refs":24},"Legacy sources disagree on label: 'Ball Roll Tilt' versus 'Left Flipper Button'.","conflict.pinmame-input-switch-2-none","binding:pinmame.input.switch\u002F2\u002FNone",[25,26],"legacy.game.spectrum","legacy.platform.bally",{"description":28,"id":29,"path":30,"source_refs":31},"Legacy sources disagree on label: 'Tilt' versus 'Top Saucer Kicker'.","conflict.pinmame-input-switch-7-none","binding:pinmame.input.switch\u002F7\u002FNone",[25,26],{"description":33,"id":34,"path":35,"source_refs":36},"Legacy sources disagree on label: 'ROM Started' versus 'Game On Solenoid'.","conflict.pinmame-output-solenoid-19-none","binding:pinmame.output.solenoid\u002F19\u002FNone",[25,26],{"inversion_applied_by_emulator":12,"platform":38},"pinmame.bally",{"status":40,"missing":41,"dimensions":55},"partial",[42,43,44,45,46,47,48,49,50,51,52,53,54],"identity","controller_platform","input_enumeration","input_semantics","output_enumeration","output_semantics","display_inventory","mechanism_inventory","mechanism_behavior","polarity","variant_differences","recreation_notes","provenance",{"address_enumeration":56,"catalog_identity":57,"mechanisms":58,"physical_wiring":56,"recreation_knowledge":56,"semantic_naming":56,"variant_coverage":56},"candidate","observed","unknown",[],[61,67,72,75],{"clone_of":62,"description":63,"flags":4,"id":64,"manufacturer":65,"year":66},"spectrum","Spectrum (rev. 4 Free Play)","spectr4a","Bally \u002F Oliver","2004",{"clone_of":62,"description":68,"flags":4,"id":69,"manufacturer":70,"year":71},"Spectrum (rev. 4)","spectru4","Bally","1982",{"clone_of":62,"description":73,"flags":4,"id":74,"manufacturer":65,"year":66},"Spectrum (Free Play)","spectrua",{"description":76,"flags":4,"id":62,"manufacturer":70,"year":71},"Spectrum","pinmame-machine-definition",[79,96,109,122,137,154,173,190,205,224,241,258,270,285,298,311,324,336,348,360,372,384,397,410,422,434,446,458,470,482,494,507,520,533,546,559,572,584,597,610,623,636,649,662,675,688,705],{"aliases":80,"binding":88,"id":91,"kind":92,"label":93,"provenance":94},[81,84,86],{"namespace":82,"value":83},"pinmame.switch","-7",{"namespace":85,"value":83},"vpe-legacy.switch",{"namespace":85,"value":87},"s_self_test",{"device":89,"group":90},-7,"pinmame.input.switch","switch.self-test","switch","Self Test",{"source_refs":95,"status":56},[26],{"aliases":97,"binding":103,"id":105,"kind":92,"label":106,"provenance":107},[98,100,101],{"namespace":82,"value":99},"-6",{"namespace":85,"value":99},{"namespace":85,"value":102},"s_cpu_diagnose",{"device":104,"group":90},-6,"switch.cpu-diagnose","CPU Diagnose",{"source_refs":108,"status":56},[26],{"aliases":110,"binding":116,"id":118,"kind":92,"label":119,"provenance":120},[111,113,114],{"namespace":82,"value":112},"-5",{"namespace":85,"value":112},{"namespace":85,"value":115},"s_sound_diagnose",{"device":117,"group":90},-5,"switch.sound-diagnose","Sound Diagnose",{"source_refs":121,"status":56},[26],{"aliases":123,"binding":131,"id":133,"kind":92,"label":134,"provenance":135},[124,126,127,129],{"namespace":82,"value":125},"1",{"namespace":85,"value":125},{"namespace":85,"value":128},"01",{"namespace":85,"value":130},"001",{"device":132,"group":90},1,"switch.right-flipper-button","Right Flipper Button",{"source_refs":136,"status":56},[25],{"aliases":138,"binding":148,"id":150,"kind":92,"label":151,"provenance":152},[139,141,142,144,146],{"namespace":82,"value":140},"2",{"namespace":85,"value":140},{"namespace":85,"value":143},"02",{"namespace":85,"value":145},"002",{"namespace":85,"value":147},"s_ball_roll_tilt",{"device":149,"group":90},2,"switch.ball-roll-tilt","Ball Roll Tilt",{"source_refs":153,"status":56},[25,26],{"aliases":155,"binding":165,"id":167,"kind":92,"label":168,"provenance":169,"roles":171},[156,158,159,161,163],{"namespace":82,"value":157},"6",{"namespace":85,"value":157},{"namespace":85,"value":160},"06",{"namespace":85,"value":162},"006",{"namespace":85,"value":164},"s_start_button",{"device":166,"group":90},6,"switch.start-button","Start Button",{"source_refs":170,"status":56},[26],[172],"cabinet.start",{"aliases":174,"binding":184,"id":186,"kind":92,"label":187,"provenance":188},[175,177,178,180,182],{"namespace":82,"value":176},"7",{"namespace":85,"value":176},{"namespace":85,"value":179},"07",{"namespace":85,"value":181},"007",{"namespace":85,"value":183},"s_tilt",{"device":185,"group":90},7,"switch.tilt","Tilt",{"source_refs":189,"status":56},[25,26],{"aliases":191,"binding":199,"id":201,"kind":92,"label":202,"provenance":203},[192,194,195,197],{"namespace":82,"value":193},"8",{"namespace":85,"value":193},{"namespace":85,"value":196},"08",{"namespace":85,"value":198},"008",{"device":200,"group":90},8,"switch.drain","Drain",{"source_refs":204,"status":56},[25],{"aliases":206,"binding":216,"id":218,"kind":92,"label":219,"provenance":220,"roles":222},[207,209,210,212,214],{"namespace":82,"value":208},"9",{"namespace":85,"value":208},{"namespace":85,"value":211},"09",{"namespace":85,"value":213},"009",{"namespace":85,"value":215},"s_coin_3",{"device":217,"group":90},9,"switch.coin-3","Coin Button 3",{"source_refs":221,"status":56},[26],[223],"cabinet.coin.3",{"aliases":225,"binding":233,"id":235,"kind":92,"label":236,"provenance":237,"roles":239},[226,228,229,231],{"namespace":82,"value":227},"10",{"namespace":85,"value":227},{"namespace":85,"value":230},"010",{"namespace":85,"value":232},"s_coin_2",{"device":234,"group":90},10,"switch.coin-2","Coin Button 2",{"source_refs":238,"status":56},[26],[240],"cabinet.coin.2",{"aliases":242,"binding":250,"id":252,"kind":92,"label":253,"provenance":254,"roles":256},[243,245,246,248],{"namespace":82,"value":244},"11",{"namespace":85,"value":244},{"namespace":85,"value":247},"011",{"namespace":85,"value":249},"s_coin_1",{"device":251,"group":90},11,"switch.coin-1","Coin Button 1",{"source_refs":255,"status":56},[26],[257],"cabinet.coin.1",{"aliases":259,"binding":265,"id":267,"kind":92,"label":187,"provenance":268},[260,262,263],{"namespace":82,"value":261},"15",{"namespace":85,"value":261},{"namespace":85,"value":264},"015",{"device":266,"group":90},15,"switch.tilt.15",{"source_refs":269,"status":56},[25],{"aliases":271,"binding":279,"id":281,"kind":92,"label":282,"provenance":283},[272,274,275,277],{"namespace":82,"value":273},"16",{"namespace":85,"value":273},{"namespace":85,"value":276},"016",{"namespace":85,"value":278},"s_slam_tilt",{"device":280,"group":90},16,"switch.slam-tilt","Slam Tilt",{"source_refs":284,"status":56},[26],{"aliases":286,"binding":292,"id":294,"kind":92,"label":295,"provenance":296},[287,289,290],{"namespace":82,"value":288},"17",{"namespace":85,"value":288},{"namespace":85,"value":291},"017",{"device":293,"group":90},17,"switch.bottom-left-saucer-kicker","Bottom Left Saucer Kicker",{"source_refs":297,"status":56},[25],{"aliases":299,"binding":305,"id":307,"kind":92,"label":308,"provenance":309},[300,302,303],{"namespace":82,"value":301},"18",{"namespace":85,"value":301},{"namespace":85,"value":304},"018",{"device":306,"group":90},18,"switch.rollover","Rollover",{"source_refs":310,"status":56},[25],{"aliases":312,"binding":318,"id":320,"kind":92,"label":321,"provenance":322},[313,315,316],{"namespace":82,"value":314},"19",{"namespace":85,"value":314},{"namespace":85,"value":317},"019",{"device":319,"group":90},19,"switch.star-trigger","Star Trigger",{"source_refs":323,"status":56},[25],{"aliases":325,"binding":331,"id":333,"kind":92,"label":321,"provenance":334},[326,328,329],{"namespace":82,"value":327},"20",{"namespace":85,"value":327},{"namespace":85,"value":330},"020",{"device":332,"group":90},20,"switch.star-trigger.20",{"source_refs":335,"status":56},[25],{"aliases":337,"binding":343,"id":345,"kind":92,"label":321,"provenance":346},[338,340,341],{"namespace":82,"value":339},"21",{"namespace":85,"value":339},{"namespace":85,"value":342},"021",{"device":344,"group":90},21,"switch.star-trigger.21",{"source_refs":347,"status":56},[25],{"aliases":349,"binding":355,"id":357,"kind":92,"label":308,"provenance":358},[350,352,353],{"namespace":82,"value":351},"22",{"namespace":85,"value":351},{"namespace":85,"value":354},"022",{"device":356,"group":90},22,"switch.rollover.22",{"source_refs":359,"status":56},[25],{"aliases":361,"binding":367,"id":369,"kind":92,"label":308,"provenance":370},[362,364,365],{"namespace":82,"value":363},"23",{"namespace":85,"value":363},{"namespace":85,"value":366},"023",{"device":368,"group":90},23,"switch.rollover.23",{"source_refs":371,"status":56},[25],{"aliases":373,"binding":379,"id":380,"kind":92,"label":381,"provenance":382},[374,376,377],{"namespace":82,"value":375},"24",{"namespace":85,"value":375},{"namespace":85,"value":378},"024",{"device":5,"group":90},"switch.middle-right-saucer-kicker","Middle Right Saucer Kicker",{"source_refs":383,"status":56},[25],{"aliases":385,"binding":391,"id":393,"kind":92,"label":394,"provenance":395},[386,388,389],{"namespace":82,"value":387},"25",{"namespace":85,"value":387},{"namespace":85,"value":390},"025",{"device":392,"group":90},25,"switch.rollover-triple","Rollover (Triple)",{"source_refs":396,"status":56},[25],{"aliases":398,"binding":404,"id":406,"kind":92,"label":407,"provenance":408},[399,401,402],{"namespace":82,"value":400},"26",{"namespace":85,"value":400},{"namespace":85,"value":403},"026",{"device":405,"group":90},26,"switch.spinner","Spinner",{"source_refs":409,"status":56},[25],{"aliases":411,"binding":417,"id":419,"kind":92,"label":321,"provenance":420},[412,414,415],{"namespace":82,"value":413},"27",{"namespace":85,"value":413},{"namespace":85,"value":416},"027",{"device":418,"group":90},27,"switch.star-trigger.27",{"source_refs":421,"status":56},[25],{"aliases":423,"binding":429,"id":431,"kind":92,"label":321,"provenance":432},[424,426,427],{"namespace":82,"value":425},"28",{"namespace":85,"value":425},{"namespace":85,"value":428},"028",{"device":430,"group":90},28,"switch.star-trigger.28",{"source_refs":433,"status":56},[25],{"aliases":435,"binding":441,"id":443,"kind":92,"label":321,"provenance":444},[436,438,439],{"namespace":82,"value":437},"29",{"namespace":85,"value":437},{"namespace":85,"value":440},"029",{"device":442,"group":90},29,"switch.star-trigger.29",{"source_refs":445,"status":56},[25],{"aliases":447,"binding":453,"id":455,"kind":92,"label":321,"provenance":456},[448,450,451],{"namespace":82,"value":449},"30",{"namespace":85,"value":449},{"namespace":85,"value":452},"030",{"device":454,"group":90},30,"switch.star-trigger.30",{"source_refs":457,"status":56},[25],{"aliases":459,"binding":465,"id":467,"kind":92,"label":407,"provenance":468},[460,462,463],{"namespace":82,"value":461},"31",{"namespace":85,"value":461},{"namespace":85,"value":464},"031",{"device":466,"group":90},31,"switch.spinner.31",{"source_refs":469,"status":56},[25],{"aliases":471,"binding":477,"id":479,"kind":92,"label":394,"provenance":480},[472,474,475],{"namespace":82,"value":473},"32",{"namespace":85,"value":473},{"namespace":85,"value":476},"032",{"device":478,"group":90},32,"switch.rollover-triple.32",{"source_refs":481,"status":56},[25],{"aliases":483,"binding":489,"id":491,"kind":92,"label":321,"provenance":492},[484,486,487],{"namespace":82,"value":485},"33",{"namespace":85,"value":485},{"namespace":85,"value":488},"033",{"device":490,"group":90},33,"switch.star-trigger.33",{"source_refs":493,"status":56},[25],{"aliases":495,"binding":501,"id":503,"kind":92,"label":504,"provenance":505},[496,498,499],{"namespace":82,"value":497},"34",{"namespace":85,"value":497},{"namespace":85,"value":500},"034",{"device":502,"group":90},34,"switch.drop-target-green-bank-1","Drop Target — Green Bank 1",{"source_refs":506,"status":56},[25],{"aliases":508,"binding":514,"id":516,"kind":92,"label":517,"provenance":518},[509,511,512],{"namespace":82,"value":510},"35",{"namespace":85,"value":510},{"namespace":85,"value":513},"035",{"device":515,"group":90},35,"switch.drop-target-green-bank-2","Drop Target — Green Bank 2",{"source_refs":519,"status":56},[25],{"aliases":521,"binding":527,"id":529,"kind":92,"label":530,"provenance":531},[522,524,525],{"namespace":82,"value":523},"36",{"namespace":85,"value":523},{"namespace":85,"value":526},"036",{"device":528,"group":90},36,"switch.drop-target-green-bank-3","Drop Target — Green Bank 3",{"source_refs":532,"status":56},[25],{"aliases":534,"binding":540,"id":542,"kind":92,"label":543,"provenance":544},[535,537,538],{"namespace":82,"value":536},"37",{"namespace":85,"value":536},{"namespace":85,"value":539},"037",{"device":541,"group":90},37,"switch.drop-target-yellow-bank-1","Drop Target — Yellow Bank 1",{"source_refs":545,"status":56},[25],{"aliases":547,"binding":553,"id":555,"kind":92,"label":556,"provenance":557},[548,550,551],{"namespace":82,"value":549},"38",{"namespace":85,"value":549},{"namespace":85,"value":552},"038",{"device":554,"group":90},38,"switch.drop-target-yellow-bank-2","Drop Target — Yellow Bank 2",{"source_refs":558,"status":56},[25],{"aliases":560,"binding":566,"id":568,"kind":92,"label":569,"provenance":570},[561,563,564],{"namespace":82,"value":562},"39",{"namespace":85,"value":562},{"namespace":85,"value":565},"039",{"device":567,"group":90},39,"switch.drop-target-yellow-bank-3","Drop Target — Yellow Bank 3",{"source_refs":571,"status":56},[25],{"aliases":573,"binding":579,"id":581,"kind":92,"label":321,"provenance":582},[574,576,577],{"namespace":82,"value":575},"40",{"namespace":85,"value":575},{"namespace":85,"value":578},"040",{"device":580,"group":90},40,"switch.star-trigger.40",{"source_refs":583,"status":56},[25],{"aliases":585,"binding":591,"id":593,"kind":92,"label":594,"provenance":595},[586,588,589],{"namespace":82,"value":587},"41",{"namespace":85,"value":587},{"namespace":85,"value":590},"041",{"device":592,"group":90},41,"switch.middle-left-saucer-kicker","Middle Left Saucer Kicker",{"source_refs":596,"status":56},[25],{"aliases":598,"binding":604,"id":606,"kind":92,"label":607,"provenance":608},[599,601,602],{"namespace":82,"value":600},"42",{"namespace":85,"value":600},{"namespace":85,"value":603},"042",{"device":605,"group":90},42,"switch.drop-target-blue-bank-1","Drop Target — Blue Bank 1",{"source_refs":609,"status":56},[25],{"aliases":611,"binding":617,"id":619,"kind":92,"label":620,"provenance":621},[612,614,615],{"namespace":82,"value":613},"43",{"namespace":85,"value":613},{"namespace":85,"value":616},"043",{"device":618,"group":90},43,"switch.drop-target-blue-bank-2","Drop Target — Blue Bank 2",{"source_refs":622,"status":56},[25],{"aliases":624,"binding":630,"id":632,"kind":92,"label":633,"provenance":634},[625,627,628],{"namespace":82,"value":626},"44",{"namespace":85,"value":626},{"namespace":85,"value":629},"044",{"device":631,"group":90},44,"switch.drop-target-blue-bank-3","Drop Target — Blue Bank 3",{"source_refs":635,"status":56},[25],{"aliases":637,"binding":643,"id":645,"kind":92,"label":646,"provenance":647},[638,640,641],{"namespace":82,"value":639},"45",{"namespace":85,"value":639},{"namespace":85,"value":642},"045",{"device":644,"group":90},45,"switch.drop-target-red-bank-1","Drop Target — Red Bank 1",{"source_refs":648,"status":56},[25],{"aliases":650,"binding":656,"id":658,"kind":92,"label":659,"provenance":660},[651,653,654],{"namespace":82,"value":652},"46",{"namespace":85,"value":652},{"namespace":85,"value":655},"046",{"device":657,"group":90},46,"switch.drop-target-red-bank-2","Drop Target — Red Bank 2",{"source_refs":661,"status":56},[25],{"aliases":663,"binding":669,"id":671,"kind":92,"label":672,"provenance":673},[664,666,667],{"namespace":82,"value":665},"47",{"namespace":85,"value":665},{"namespace":85,"value":668},"047",{"device":670,"group":90},47,"switch.drop-target-red-bank-3","Drop Target — Red Bank 3",{"source_refs":674,"status":56},[25],{"aliases":676,"binding":682,"id":684,"kind":92,"label":685,"provenance":686},[677,679,680],{"namespace":82,"value":678},"48",{"namespace":85,"value":678},{"namespace":85,"value":681},"048",{"device":683,"group":90},48,"switch.bottom-right-saucer-kicker","Bottom Right Saucer Kicker",{"source_refs":687,"status":56},[25],{"aliases":689,"binding":697,"id":699,"kind":92,"label":700,"provenance":701,"roles":703},[690,692,693,695],{"namespace":82,"value":691},"82",{"namespace":85,"value":691},{"namespace":85,"value":694},"082",{"namespace":85,"value":696},"s_flipper_lower_right",{"device":698,"group":90},82,"switch.flipper-lower-right","Lower Right Flipper",{"source_refs":702,"status":56},[26],[704],"flipper.lower.right",{"aliases":706,"binding":714,"id":716,"kind":92,"label":717,"provenance":718,"roles":720},[707,709,710,712],{"namespace":82,"value":708},"84",{"namespace":85,"value":708},{"namespace":85,"value":711},"084",{"namespace":85,"value":713},"s_flipper_lower_left",{"device":715,"group":90},84,"switch.flipper-lower-left","Lower Left Flipper",{"source_refs":719,"status":56},[26],[721],"flipper.lower.left",{"path":723,"status":40},"knowledge\u002Fbally\u002Fspectrum-1981.md",{"id":725,"manufacturer":70,"name":76,"year":726},"bally.spectrum.1981",1981,[],[729,744,755,770,785,800,811,822,833,843,853,866,879,889],{"aliases":730,"binding":737,"id":739,"kind":740,"label":741,"provenance":742},[731,733,735,736],{"namespace":732,"value":125},"pinmame.coil",{"namespace":734,"value":125},"vpe-legacy.coil",{"namespace":734,"value":128},{"namespace":734,"value":130},{"device":132,"group":738},"pinmame.output.solenoid","device.top-kicker-kick-left","coil","Top Kicker — Kick Left",{"source_refs":743,"status":56},[25],{"aliases":745,"binding":750,"id":751,"kind":740,"label":752,"provenance":753},[746,747,748,749],{"namespace":732,"value":140},{"namespace":734,"value":140},{"namespace":734,"value":143},{"namespace":734,"value":145},{"device":149,"group":738},"device.top-kicker-kick-right","Top Kicker — Kick Right",{"source_refs":754,"status":56},[25],{"aliases":756,"binding":764,"id":766,"kind":740,"label":767,"provenance":768},[757,759,760,762],{"namespace":732,"value":758},"3",{"namespace":734,"value":758},{"namespace":734,"value":761},"03",{"namespace":734,"value":763},"003",{"device":765,"group":738},3,"device.middle-left-kicker","Middle Left Kicker",{"source_refs":769,"status":56},[25],{"aliases":771,"binding":779,"id":781,"kind":740,"label":782,"provenance":783},[772,774,775,777],{"namespace":732,"value":773},"4",{"namespace":734,"value":773},{"namespace":734,"value":776},"04",{"namespace":734,"value":778},"004",{"device":780,"group":738},4,"device.middle-right-kicker","Middle Right Kicker",{"source_refs":784,"status":56},[25],{"aliases":786,"binding":794,"id":796,"kind":740,"label":797,"provenance":798},[787,789,790,792],{"namespace":732,"value":788},"5",{"namespace":734,"value":788},{"namespace":734,"value":791},"05",{"namespace":734,"value":793},"005",{"device":795,"group":738},5,"device.drain-eject-ball-release","Drain Eject \u002F Ball Release",{"source_refs":799,"status":56},[25],{"aliases":801,"binding":806,"id":807,"kind":740,"label":808,"provenance":809},[802,803,804,805],{"namespace":732,"value":157},{"namespace":734,"value":157},{"namespace":734,"value":160},{"namespace":734,"value":162},{"device":166,"group":738},"device.knocker","Knocker",{"source_refs":810,"status":56},[25],{"aliases":812,"binding":817,"id":818,"kind":740,"label":819,"provenance":820},[813,814,815,816],{"namespace":732,"value":193},{"namespace":734,"value":193},{"namespace":734,"value":196},{"namespace":734,"value":198},{"device":200,"group":738},"device.bottom-left-kicker","Bottom Left Kicker",{"source_refs":821,"status":56},[25],{"aliases":823,"binding":828,"id":829,"kind":740,"label":830,"provenance":831},[824,825,826,827],{"namespace":732,"value":208},{"namespace":734,"value":208},{"namespace":734,"value":211},{"namespace":734,"value":213},{"device":217,"group":738},"device.bottom-right-kicker","Bottom Right Kicker",{"source_refs":832,"status":56},[25],{"aliases":834,"binding":838,"id":839,"kind":740,"label":840,"provenance":841},[835,836,837],{"namespace":732,"value":227},{"namespace":734,"value":227},{"namespace":734,"value":230},{"device":234,"group":738},"device.drop-target-reset-blue-bank","Drop Target Reset — Blue Bank",{"source_refs":842,"status":56},[25],{"aliases":844,"binding":848,"id":849,"kind":740,"label":850,"provenance":851},[845,846,847],{"namespace":732,"value":244},{"namespace":734,"value":244},{"namespace":734,"value":247},{"device":251,"group":738},"device.drop-target-reset-green-bank","Drop Target Reset — Green Bank",{"source_refs":852,"status":56},[25],{"aliases":854,"binding":860,"id":862,"kind":740,"label":863,"provenance":864},[855,857,858],{"namespace":732,"value":856},"12",{"namespace":734,"value":856},{"namespace":734,"value":859},"012",{"device":861,"group":738},12,"device.drop-target-reset-yellow-bank","Drop Target Reset — Yellow Bank",{"source_refs":865,"status":56},[25],{"aliases":867,"binding":873,"id":875,"kind":740,"label":876,"provenance":877},[868,870,871],{"namespace":732,"value":869},"13",{"namespace":734,"value":869},{"namespace":734,"value":872},"013",{"device":874,"group":738},13,"device.drop-target-reset-red-bank","Drop Target Reset — Red Bank",{"source_refs":878,"status":56},[25],{"aliases":880,"binding":884,"id":885,"kind":740,"label":886,"provenance":887},[881,882,883],{"namespace":732,"value":301},{"namespace":734,"value":301},{"namespace":734,"value":304},{"device":306,"group":738},"device.gi-relay","GI Relay",{"source_refs":888,"status":56},[25],{"aliases":890,"binding":896,"id":897,"kind":740,"label":898,"provenance":899},[891,892,893,894],{"namespace":732,"value":314},{"namespace":734,"value":314},{"namespace":734,"value":317},{"namespace":734,"value":895},"c_game_on",{"device":319,"group":738},"device.game-on","ROM Started",{"source_refs":900,"status":56},[25,26],[],[903,909,911],{"attribution":904,"id":25,"kind":905,"locator":906,"revision":907,"uri":908},"pinmame-game-defs contributors","legacy_json","games\u002Fspectrum.json; origin=vbscript-parser","4ea106d080728648a693af3b4dcabb091eee0a02","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame-game-defs",{"attribution":904,"id":26,"kind":905,"locator":910,"revision":907,"uri":908},"platforms\u002Fbally.json",{"attribution":912,"id":913,"kind":914,"license":915,"locator":916,"revision":917,"uri":918},"PinMAME contributors","pinmame.catalog.4ec52ff0ac13","pinmame_catalog","BSD-3-Clause","PinmameGetGames","4ec52ff0ac133ac251681518aed2249e19fe26eb","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame","bally-spectrum-1981","machines\u002Fpartial\u002Fbally\u002Fspectrum-1981.json","\u003Ch2 id=\"overview\">Overview\u003C\u002Fh2>\n\u003Cp>Legacy evidence identifies this candidate as Bally (1981). The information below is preserved for recreation work but is not automatically treated as validated physical-machine fact.\u003C\u002Fp>\n\u003Ch2 id=\"playfield-devices\">Playfield devices\u003C\u002Fh2>\n\u003Cp>Switch, lamp\u002FGI, and controlled-device candidates are in the adjacent machine definition. Source-specific implementation notes are retained below.\u003C\u002Fp>\n\u003Ch2 id=\"custom-mechanisms\">Custom mechanisms\u003C\u002Fh2>\n\u003Cp>No custom mechanism conclusion has been validated. Manuals, schematics, PinMAME source, and gameplay evidence still need to be checked.\u003C\u002Fp>\n\u003Ch2 id=\"ball-state-transitions\">Ball-state transitions\u003C\u002Fh2>\n\u003Cp>Ball paths, trough ordering, locks, kickouts, and causal transitions have not yet been normalized. Relevant source notes follow under Evidence notes.\u003C\u002Fp>\n\u003Ch2 id=\"controller-interactions\">Controller interactions\u003C\u002Fh2>\n\u003Cp>Controller callbacks and bindings are candidate evidence only until reconciled against PinMAME and physical documentation.\u003C\u002Fp>\n\u003Ch2 id=\"service-and-setup-information\">Service and setup information\u003C\u002Fh2>\n\u003Cp>Unknown; locate operator\u002Fservice documentation.\u003C\u002Fp>\n\u003Ch2 id=\"timing-and-tuning-observations\">Timing and tuning observations\u003C\u002Fh2>\n\u003Cp>Source timing values may describe a particular VPX implementation rather than physical hardware and require review.\u003C\u002Fp>\n\u003Ch2 id=\"recreation-guidance\">Recreation guidance\u003C\u002Fh2>\n\u003Cp>Do not treat this partial definition as a complete authoring specification. Resolve every coverage requirement and conflict before promotion.\u003C\u002Fp>\n\u003Ch2 id=\"evidence-notes\">Evidence notes\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>platforms\u002Fbally.json#\u002Fcoils\u002F1\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>c_flipper_lower_right\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>platforms\u002Fbally.json#\u002Fcoils\u002F2\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>c_flipper_lower_left\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>platforms\u002Fbally.json#\u002Fcoils\u002F3\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>c_flipper_upper_right\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>platforms\u002Fbally.json#\u002Fcoils\u002F4\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>c_flipper_upper_left\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F0._note\u003C\u002Fcode>: Controller.Switch(1) set via RightFlipperKey in Table1_KeyDown\u002FKeyUp\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F1._note\u003C\u002Fcode>: Controller.Switch(2) set via LeftFlipperKey in Table1_KeyDown\u002FKeyUp\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F2._note\u003C\u002Fcode>: Controller.Switch(7) on\u002Foff. Dual-direction kick: sol 1 kicks left, sol 2 kicks right.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F3._note\u003C\u002Fcode>: bsD cvpmBallStack. InitSaucer Drain, 8. Single ball drain — early Bally has no multi-switch trough.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F4._note\u003C\u002Fcode>: vpmNudge.TiltSwitch = 15\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F5._note\u003C\u002Fcode>: Controller.Switch(17) on\u002Foff. Dual-direction kick: sol 3 kicks left, sol 4 kicks right (inferred from sub pairing).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F6._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F7._note\u003C\u002Fcode>: Controller.Switch on\u002Foff. Multiple VPX objects: sw19, sw19a, sw19b\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F8._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F9._note\u003C\u002Fcode>: Controller.Switch on\u002Foff. Multiple VPX objects: sw21, sw21a, sw21b\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F10._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F11._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F12._note\u003C\u002Fcode>: Controller.Switch(24) on\u002Foff. Dual-direction kick similar to sw7\u002Fsw17.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F13._note\u003C\u002Fcode>: Controller.Switch on\u002Foff. Multiple VPX objects: sw25a, sw25b, sw25c — all map to switch 25\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F14._note\u003C\u002Fcode>: vpmTimer.PulseSw 26\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F15._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F16._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F17._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F18._note\u003C\u002Fcode>: Controller.Switch on\u002Foff\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F19._note\u003C\u002Fcode>: vpmTimer.PulseSw 31\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F20._note\u003C\u002Fcode>: Controller.Switch on\u002Foff. Multiple VPX objects: sw32a, sw32b, sw32c — all map to switch 32\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F21._note\u003C\u002Fcode>: Controller.Switch on\u002Foff. Multiple VPX objects: sw33, sw33a\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F22._note\u003C\u002Fcode>: DTHit 34. Reset by sol 11 (DT_G_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F23._note\u003C\u002Fcode>: DTHit 35. Reset by sol 11 (DT_G_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F24._note\u003C\u002Fcode>: DTHit 36. Reset by sol 11 (DT_G_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F25._note\u003C\u002Fcode>: DTHit 37. Reset by sol 12 (DT_Y_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F26._note\u003C\u002Fcode>: DTHit 38. Reset by sol 12 (DT_Y_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F27._note\u003C\u002Fcode>: DTHit 39. Reset by sol 12 (DT_Y_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F28._note\u003C\u002Fcode>: Controller.Switch on\u002Foff. Multiple VPX objects: sw40, sw40a\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F29._note\u003C\u002Fcode>: Controller.Switch(41) on\u002Foff. Dual-direction kick similar to sw7\u002Fsw17.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F30._note\u003C\u002Fcode>: DTHit 42. Reset by sol 10 (DT_B_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F31._note\u003C\u002Fcode>: DTHit 43. Reset by sol 10 (DT_B_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F32._note\u003C\u002Fcode>: DTHit 44. Reset by sol 10 (DT_B_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F33._note\u003C\u002Fcode>: DTHit 45. Reset by sol 13 (DT_R_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F34._note\u003C\u002Fcode>: DTHit 46. Reset by sol 13 (DT_R_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F35._note\u003C\u002Fcode>: DTHit 47. Reset by sol 13 (DT_R_Reset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fswitches\u002F36._note\u003C\u002Fcode>: Controller.Switch(48) on\u002Foff. Dual-direction kick similar to sw7\u002Fsw17.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F0._vbscript_callback\u003C\u002Fcode>: kicker_topleft\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F0._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F0._note\u003C\u002Fcode>: Kicks ball from sw7 saucer to the left (angle 290)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F1._vbscript_callback\u003C\u002Fcode>: kicker_topright\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F1._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F1._note\u003C\u002Fcode>: Kicks ball from sw7 saucer to the right (angle 70)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F2._vbscript_callback\u003C\u002Fcode>: kicker_midleft\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F2._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F2._note\u003C\u002Fcode>: Kicks ball from sw41 saucer\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F3._vbscript_callback\u003C\u002Fcode>: kicker_midright\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F3._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F3._note\u003C\u002Fcode>: Kicks ball from sw48 saucer\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F4._vbscript_callback\u003C\u002Fcode>: DrainSolOut\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F4._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F4._note\u003C\u002Fcode>: bsD.SolOut — ejects ball from drain (cvpmBallStack)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F5._vbscript_callback\u003C\u002Fcode>: vpmSolSound SoundFX(&quot;Knocker&quot;,DOFKnocker),\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F5._inferred_type\u003C\u002Fcode>: knocker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F5._note\u003C\u002Fcode>: Sound-only callback in VPX — physical knocker coil\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F6._vbscript_callback\u003C\u002Fcode>: kicker_botleft\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F6._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F6._note\u003C\u002Fcode>: Kicks ball from sw17 saucer\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F7._vbscript_callback\u003C\u002Fcode>: kicker_botright\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F7._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F7._note\u003C\u002Fcode>: Kicks ball from sw24 saucer\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F8._vbscript_callback\u003C\u002Fcode>: DT_B_Reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F8._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F8._note\u003C\u002Fcode>: Resets drop targets sw42, sw43, sw44\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F9._vbscript_callback\u003C\u002Fcode>: DT_G_Reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F9._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F9._note\u003C\u002Fcode>: Resets drop targets sw34, sw35, sw36\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F10._vbscript_callback\u003C\u002Fcode>: DT_Y_Reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F10._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F10._note\u003C\u002Fcode>: Resets drop targets sw37, sw38, sw39\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F11._vbscript_callback\u003C\u002Fcode>: DT_R_Reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F11._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F11._note\u003C\u002Fcode>: Resets drop targets sw45, sw46, sw47\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F12._vbscript_callback\u003C\u002Fcode>: SolGI\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F12._inferred_type\u003C\u002Fcode>: gi\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F12._note\u003C\u002Fcode>: Enables\u002Fdisables GI lighting. Iterates GI array setting state.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F13._vbscript_callback\u003C\u002Fcode>: vpmNudge.SolGameOn\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F13._inferred_type\u003C\u002Fcode>: system\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002Fcoils\u002F13._note\u003C\u002Fcode>: Standard Bally game-on solenoid. Enables nudge\u002Ftilt detection.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fspectrum.json#\u002F_source\u002Fconfidence_notes\u003C\u002Fcode>: High confidence on switches\u002Fcoils from explicit Controller.Switch() and SolCallback assignments. No Const sw* definitions — switches identified from _Hit\u002F_UnHit subs and Controller.Switch() calls. No NFadeL\u002FNFadeLm\u002FFlash\u002FLampz macros found — lamps use vpmMapLights AllLamps (implicit VPX light-to-lamp mapping; actual lamp IDs depend on VPX table light numbering, not extractable from script alone). Early Bally -17\u002F-35 platform. Drain uses cvpmBallStack (not cvpmTrough) with single switch 8. Four saucer kickers (sw7, sw17, sw24, sw41, sw48) each have dual-direction kick logic. Drop targets in 4 banks of 3.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"unresolved-questions\">Unresolved questions\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Is the I\u002FO enumeration complete for every supported physical\u002Fcontroller variant?\u003C\u002Fli>\n\u003Cli>Which inferred VPX behaviors reflect real hardware, and which are table-script conveniences?\u003C\u002Fli>\n\u003Cli>Are all mechanism home states, sensors, motion constraints, and ball interactions documented?\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"sources\">Sources\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>legacy.game.spectrum\u003C\u002Fcode>: \u003Ccode>games\u002Fspectrum.json\u003C\u002Fcode> at the pinned migration revision.\u003C\u002Fli>\n\u003C\u002Ful>\n",[923,926,929,932,935,938,941,944,947,950,953],{"id":924,"text":925},"overview","Overview",{"id":927,"text":928},"playfield-devices","Playfield devices",{"id":930,"text":931},"custom-mechanisms","Custom mechanisms",{"id":933,"text":934},"ball-state-transitions","Ball-state transitions",{"id":936,"text":937},"controller-interactions","Controller interactions",{"id":939,"text":940},"service-and-setup-information","Service and setup information",{"id":942,"text":943},"timing-and-tuning-observations","Timing and tuning observations",{"id":945,"text":946},"recreation-guidance","Recreation guidance",{"id":948,"text":949},"evidence-notes","Evidence notes",{"id":951,"text":952},"unresolved-questions","Unresolved questions",{"id":954,"text":955},"sources","Sources",[957],{"label":958,"value":959},"Coverage","partial - source-derived recreation knowledge requiring validation",[961,963,964,965],{"clone_of":62,"coverage_status":40,"definition":920,"definition_sha256":962,"description":63,"flags":4,"id":64,"machine_id":725,"manufacturer":65,"root_driver":62,"year":66},"6b9c73c2fbc5da87a96d86cc4cdcc0d2800bc6db037928d76f6858ae53b74be3",{"clone_of":62,"coverage_status":40,"definition":920,"definition_sha256":962,"description":68,"flags":4,"id":69,"machine_id":725,"manufacturer":70,"root_driver":62,"year":71},{"clone_of":62,"coverage_status":40,"definition":920,"definition_sha256":962,"description":73,"flags":4,"id":74,"machine_id":725,"manufacturer":65,"root_driver":62,"year":66},{"coverage_status":40,"definition":920,"definition_sha256":962,"description":76,"flags":4,"id":62,"machine_id":725,"manufacturer":70,"root_driver":62,"year":71},[967,970,974,977,981,985],{"slug":968,"name":969,"manufacturer":70,"year":726,"status":40},"bally-centaur-1981","Centaur",{"slug":971,"name":972,"manufacturer":70,"year":973,"status":40},"bally-flash-gordon-1980","Flash Gordon",1980,{"slug":975,"name":976,"manufacturer":70,"year":973,"status":40},"bally-skateball-1980","Skateball",{"slug":978,"name":979,"manufacturer":70,"year":980,"status":40},"bally-harlem-globetrotters-on-tour-1979","Harlem Globetrotters on Tour",1979,{"slug":982,"name":983,"manufacturer":70,"year":984,"status":40},"bally-beat-the-clock-1985","Beat The Clock",1985,{"slug":986,"name":987,"manufacturer":70,"year":988,"status":40},"bally-special-force-1986","Special Force",1986,null,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":991,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1a1 1 0 0 1 1 1v1a1 1 0 0 0 1 1m4 0a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1a1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":993},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":995},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"9\" cy=\"12\" r=\"3\"\u002F>\u003Crect width=\"20\" height=\"14\" x=\"2\" y=\"5\" rx=\"7\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":997},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.914 4a1.5 1.5 0 0 0-2.474-1.561l-9 9A1.5 1.5 0 0 0 5.5 14h4.002a.5.5 0 0 1 .471.666L8.086 20a1.5 1.5 0 0 0 2.475 1.56l9-9A1.5 1.5 0 0 0 18.5 10h-3.997a.5.5 0 0 1-.472-.667z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":999},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M6 12c0-1.7.7-3.2 1.8-4.2\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"2\"\u002F>\u003Cpath d=\"M18 12c0 1.7-.7 3.2-1.8 4.2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1001},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"18\" x=\"3\" y=\"3\" rx=\"1\"\u002F>\u003Cpath d=\"M7 3v18m13.4-2.1c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1003},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1005},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6l-2.3 2.3a2.4 2.4 0 0 0 0 3.4ZM2 22l3-3m2.5-5.5L10 11m.5 5.5L13 14m5-11l-4 4h6l-4 4\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1007},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1009},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4m0-4h.01\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1011},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"20\" height=\"5\" x=\"2\" y=\"3\" rx=\"1\"\u002F>\u003Cpath d=\"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8m-10 4h4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1013,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M5 12l-3 3l3 3m4 0l3-3l-3-3\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1015},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1017},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1019},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4M2 6h4m-4 4h4m-4 4h4m-4 4h4\"\u002F>\u003Cpath d=\"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1021},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2zm-10-2h.01M12 7v4\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1023},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",1785881383126]