[{"data":1,"prerenderedAt":1590},["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-skateball-1980":17,"i-lucide:database":1554,"i-lucide:file-json-2":1556,"i-lucide:shield-check":1558,"i-lucide:toggle-left":1560,"i-lucide:zap":1562,"i-lucide:disc-3":1564,"i-lucide:library-big":1566,"i-lucide:triangle-alert":1568,"i-lucide:plug-zap":1570,"i-lucide:arrow-up-right":1572,"i-lucide:info":1574,"i-lucide:archive":1576,"i-lucide:file-code-2":1578,"i-lucide:list":1580,"i-lucide:external-link":1582,"i-lucide:notebook-pen":1584,"i-lucide:message-square-warning":1586,"i-lucide:chevron-right":1588},{"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":1553},{"conflicts":19,"controller":32,"coverage":34,"displays":54,"drivers":55,"format":70,"inputs":71,"knowledge":664,"machine":666,"mechanisms":670,"outputs":671,"relationships":1466,"schema_version":125,"sources":1467,"slug":1484,"sourcePath":1485,"knowledgePath":665,"knowledgeHtml":1486,"knowledgeHeadings":1487,"knowledgeSummary":1521,"catalogDrivers":1525,"related":1530,"family":1553},[20,27],{"description":21,"id":22,"path":23,"source_refs":24},"Legacy sources disagree on label: 'Ball Roll Tilt' versus 'Center Drop Target 1 (Left)'.","conflict.pinmame-input-switch-2-none","binding:pinmame.input.switch\u002F2\u002FNone",[25,26],"legacy.game.skateball","legacy.platform.bally",{"description":28,"id":29,"path":30,"source_refs":31},"Legacy sources disagree on label: 'ROM Started' versus 'Upper Right Flipper'.","conflict.pinmame-output-solenoid-19-none","binding:pinmame.output.solenoid\u002F19\u002FNone",[25,26],{"inversion_applied_by_emulator":12,"platform":33},"pinmame.bally",{"status":35,"missing":36,"dimensions":50},"partial",[37,38,39,40,41,42,43,44,45,46,47,48,49],"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":51,"catalog_identity":52,"mechanisms":53,"physical_wiring":51,"recreation_knowledge":51,"semantic_naming":51,"variant_coverage":51},"candidate","observed","unknown",[],[56,62,66],{"clone_of":57,"description":58,"flags":4,"id":59,"manufacturer":60,"year":61},"skatebll","Skateball (Free Play)","skatebla","Bally \u002F Oliver","2004",{"clone_of":57,"description":63,"flags":4,"id":64,"manufacturer":60,"year":65},"Skateball (Improved attract mode, Free Play rev. 3)","skateblb","2005",{"description":67,"flags":4,"id":57,"manufacturer":68,"year":69},"Skateball","Bally","1980","pinmame-machine-definition",[72,89,102,115,130,147,162,177,192,211,228,243,262,279,296,309,321,333,348,361,374,386,399,412,425,438,450,463,476,489,502,515,528,541,553,565,578,591,604,617,630,647],{"aliases":73,"binding":81,"id":84,"kind":85,"label":86,"provenance":87},[74,77,79],{"namespace":75,"value":76},"pinmame.switch","-7",{"namespace":78,"value":76},"vpe-legacy.switch",{"namespace":78,"value":80},"s_self_test",{"device":82,"group":83},-7,"pinmame.input.switch","switch.self-test","switch","Self Test",{"source_refs":88,"status":51},[26],{"aliases":90,"binding":96,"id":98,"kind":85,"label":99,"provenance":100},[91,93,94],{"namespace":75,"value":92},"-6",{"namespace":78,"value":92},{"namespace":78,"value":95},"s_cpu_diagnose",{"device":97,"group":83},-6,"switch.cpu-diagnose","CPU Diagnose",{"source_refs":101,"status":51},[26],{"aliases":103,"binding":109,"id":111,"kind":85,"label":112,"provenance":113},[104,106,107],{"namespace":75,"value":105},"-5",{"namespace":78,"value":105},{"namespace":78,"value":108},"s_sound_diagnose",{"device":110,"group":83},-5,"switch.sound-diagnose","Sound Diagnose",{"source_refs":114,"status":51},[26],{"aliases":116,"binding":124,"id":126,"kind":85,"label":127,"normally_closed":12,"provenance":128},[117,119,120,122],{"namespace":75,"value":118},"1",{"namespace":78,"value":118},{"namespace":78,"value":121},"01",{"namespace":78,"value":123},"001",{"device":125,"group":83},1,"switch.tilt-plumb-bob","Tilt (Plumb Bob)",{"source_refs":129,"status":51},[25],{"aliases":131,"binding":141,"id":143,"kind":85,"label":144,"provenance":145},[132,134,135,137,139],{"namespace":75,"value":133},"2",{"namespace":78,"value":133},{"namespace":78,"value":136},"02",{"namespace":78,"value":138},"002",{"namespace":78,"value":140},"s_ball_roll_tilt",{"device":142,"group":83},2,"switch.ball-roll-tilt","Ball Roll Tilt",{"source_refs":146,"status":51},[25,26],{"aliases":148,"binding":156,"id":158,"kind":85,"label":159,"provenance":160},[149,151,152,154],{"namespace":75,"value":150},"3",{"namespace":78,"value":150},{"namespace":78,"value":153},"03",{"namespace":78,"value":155},"003",{"device":157,"group":83},3,"switch.center-drop-target-2-middle","Center Drop Target 2 (Middle)",{"source_refs":161,"status":51},[25],{"aliases":163,"binding":171,"id":173,"kind":85,"label":174,"provenance":175},[164,166,167,169],{"namespace":75,"value":165},"4",{"namespace":78,"value":165},{"namespace":78,"value":168},"04",{"namespace":78,"value":170},"004",{"device":172,"group":83},4,"switch.center-drop-target-3-right","Center Drop Target 3 (Right)",{"source_refs":176,"status":51},[25],{"aliases":178,"binding":186,"id":188,"kind":85,"label":189,"provenance":190},[179,181,182,184],{"namespace":75,"value":180},"5",{"namespace":78,"value":180},{"namespace":78,"value":183},"05",{"namespace":78,"value":185},"005",{"device":187,"group":83},5,"switch.saucer-kicker-hole","Saucer (Kicker Hole)",{"source_refs":191,"status":51},[25],{"aliases":193,"binding":203,"id":205,"kind":85,"label":206,"provenance":207,"roles":209},[194,196,197,199,201],{"namespace":75,"value":195},"6",{"namespace":78,"value":195},{"namespace":78,"value":198},"06",{"namespace":78,"value":200},"006",{"namespace":78,"value":202},"s_start_button",{"device":204,"group":83},6,"switch.start-button","Start Button",{"source_refs":208,"status":51},[26],[210],"cabinet.start",{"aliases":212,"binding":222,"id":224,"kind":85,"label":225,"provenance":226},[213,215,216,218,220],{"namespace":75,"value":214},"7",{"namespace":78,"value":214},{"namespace":78,"value":217},"07",{"namespace":78,"value":219},"007",{"namespace":78,"value":221},"s_tilt",{"device":223,"group":83},7,"switch.tilt","Tilt",{"source_refs":227,"status":51},[26],{"aliases":229,"binding":237,"id":239,"kind":85,"label":240,"provenance":241},[230,232,233,235],{"namespace":75,"value":231},"8",{"namespace":78,"value":231},{"namespace":78,"value":234},"08",{"namespace":78,"value":236},"008",{"device":238,"group":83},8,"switch.outhole-drain","Outhole (Drain)",{"source_refs":242,"status":51},[25],{"aliases":244,"binding":254,"id":256,"kind":85,"label":257,"provenance":258,"roles":260},[245,247,248,250,252],{"namespace":75,"value":246},"9",{"namespace":78,"value":246},{"namespace":78,"value":249},"09",{"namespace":78,"value":251},"009",{"namespace":78,"value":253},"s_coin_3",{"device":255,"group":83},9,"switch.coin-3","Coin Button 3",{"source_refs":259,"status":51},[26],[261],"cabinet.coin.3",{"aliases":263,"binding":271,"id":273,"kind":85,"label":274,"provenance":275,"roles":277},[264,266,267,269],{"namespace":75,"value":265},"10",{"namespace":78,"value":265},{"namespace":78,"value":268},"010",{"namespace":78,"value":270},"s_coin_2",{"device":272,"group":83},10,"switch.coin-2","Coin Button 2",{"source_refs":276,"status":51},[26],[278],"cabinet.coin.2",{"aliases":280,"binding":288,"id":290,"kind":85,"label":291,"provenance":292,"roles":294},[281,283,284,286],{"namespace":75,"value":282},"11",{"namespace":78,"value":282},{"namespace":78,"value":285},"011",{"namespace":78,"value":287},"s_coin_1",{"device":289,"group":83},11,"switch.coin-1","Coin Button 1",{"source_refs":293,"status":51},[26],[295],"cabinet.coin.1",{"aliases":297,"binding":303,"id":305,"kind":85,"label":306,"provenance":307},[298,300,301],{"namespace":75,"value":299},"13",{"namespace":78,"value":299},{"namespace":78,"value":302},"013",{"device":304,"group":83},13,"switch.rollover-upper-playfield","Rollover (Upper Playfield)",{"source_refs":308,"status":51},[25],{"aliases":310,"binding":316,"id":318,"kind":85,"label":306,"provenance":319},[311,313,314],{"namespace":75,"value":312},"14",{"namespace":78,"value":312},{"namespace":78,"value":315},"014",{"device":317,"group":83},14,"switch.rollover-upper-playfield.14",{"source_refs":320,"status":51},[25],{"aliases":322,"binding":328,"id":330,"kind":85,"label":306,"provenance":331},[323,325,326],{"namespace":75,"value":324},"15",{"namespace":78,"value":324},{"namespace":78,"value":327},"015",{"device":329,"group":83},15,"switch.rollover-upper-playfield.15",{"source_refs":332,"status":51},[25],{"aliases":334,"binding":342,"id":344,"kind":85,"label":345,"provenance":346},[335,337,338,340],{"namespace":75,"value":336},"16",{"namespace":78,"value":336},{"namespace":78,"value":339},"016",{"namespace":78,"value":341},"s_slam_tilt",{"device":343,"group":83},16,"switch.slam-tilt","Slam Tilt",{"source_refs":347,"status":51},[26],{"aliases":349,"binding":355,"id":357,"kind":85,"label":358,"provenance":359},[350,352,353],{"namespace":75,"value":351},"17",{"namespace":78,"value":351},{"namespace":78,"value":354},"017",{"device":356,"group":83},17,"switch.scoring-rubber-top-lanes","Scoring Rubber (Top Lanes)",{"source_refs":360,"status":51},[25],{"aliases":362,"binding":368,"id":370,"kind":85,"label":371,"provenance":372},[363,365,366],{"namespace":75,"value":364},"18",{"namespace":78,"value":364},{"namespace":78,"value":367},"018",{"device":369,"group":83},18,"switch.rollover","Rollover",{"source_refs":373,"status":51},[25],{"aliases":375,"binding":381,"id":383,"kind":85,"label":371,"provenance":384},[376,378,379],{"namespace":75,"value":377},"19",{"namespace":78,"value":377},{"namespace":78,"value":380},"019",{"device":382,"group":83},19,"switch.rollover.19",{"source_refs":385,"status":51},[25],{"aliases":387,"binding":393,"id":395,"kind":85,"label":396,"provenance":397},[388,390,391],{"namespace":75,"value":389},"20",{"namespace":78,"value":389},{"namespace":78,"value":392},"020",{"device":394,"group":83},20,"switch.left-drop-target-1","Left Drop Target 1",{"source_refs":398,"status":51},[25],{"aliases":400,"binding":406,"id":408,"kind":85,"label":409,"provenance":410},[401,403,404],{"namespace":75,"value":402},"21",{"namespace":78,"value":402},{"namespace":78,"value":405},"021",{"device":407,"group":83},21,"switch.left-drop-target-2","Left Drop Target 2",{"source_refs":411,"status":51},[25],{"aliases":413,"binding":419,"id":421,"kind":85,"label":422,"provenance":423},[414,416,417],{"namespace":75,"value":415},"22",{"namespace":78,"value":415},{"namespace":78,"value":418},"022",{"device":420,"group":83},22,"switch.left-drop-target-3","Left Drop Target 3",{"source_refs":424,"status":51},[25],{"aliases":426,"binding":432,"id":434,"kind":85,"label":435,"provenance":436},[427,429,430],{"namespace":75,"value":428},"23",{"namespace":78,"value":428},{"namespace":78,"value":431},"023",{"device":433,"group":83},23,"switch.left-drop-target-4","Left Drop Target 4",{"source_refs":437,"status":51},[25],{"aliases":439,"binding":445,"id":446,"kind":85,"label":447,"provenance":448},[440,442,443],{"namespace":75,"value":441},"24",{"namespace":78,"value":441},{"namespace":78,"value":444},"024",{"device":5,"group":83},"switch.left-drop-target-5","Left Drop Target 5",{"source_refs":449,"status":51},[25],{"aliases":451,"binding":457,"id":459,"kind":85,"label":460,"provenance":461},[452,454,455],{"namespace":75,"value":453},"26",{"namespace":78,"value":453},{"namespace":78,"value":456},"026",{"device":458,"group":83},26,"switch.top-drop-target-1","Top Drop Target 1",{"source_refs":462,"status":51},[25],{"aliases":464,"binding":470,"id":472,"kind":85,"label":473,"provenance":474},[465,467,468],{"namespace":75,"value":466},"27",{"namespace":78,"value":466},{"namespace":78,"value":469},"027",{"device":471,"group":83},27,"switch.top-drop-target-2","Top Drop Target 2",{"source_refs":475,"status":51},[25],{"aliases":477,"binding":483,"id":485,"kind":85,"label":486,"provenance":487},[478,480,481],{"namespace":75,"value":479},"28",{"namespace":78,"value":479},{"namespace":78,"value":482},"028",{"device":484,"group":83},28,"switch.top-drop-target-3","Top Drop Target 3",{"source_refs":488,"status":51},[25],{"aliases":490,"binding":496,"id":498,"kind":85,"label":499,"provenance":500},[491,493,494],{"namespace":75,"value":492},"30",{"namespace":78,"value":492},{"namespace":78,"value":495},"030",{"device":497,"group":83},30,"switch.star-rollover-left","Star Rollover (Left)",{"source_refs":501,"status":51},[25],{"aliases":503,"binding":509,"id":511,"kind":85,"label":512,"provenance":513},[504,506,507],{"namespace":75,"value":505},"31",{"namespace":78,"value":505},{"namespace":78,"value":508},"031",{"device":510,"group":83},31,"switch.star-rollover-right","Star Rollover (Right)",{"source_refs":514,"status":51},[25],{"aliases":516,"binding":522,"id":524,"kind":85,"label":525,"provenance":526},[517,519,520],{"namespace":75,"value":518},"32",{"namespace":78,"value":518},{"namespace":78,"value":521},"032",{"device":523,"group":83},32,"switch.right-flipper-button-eos","Right Flipper Button \u002F EOS",{"source_refs":527,"status":51},[25],{"aliases":529,"binding":535,"id":537,"kind":85,"label":538,"provenance":539},[530,532,533],{"namespace":75,"value":531},"33",{"namespace":78,"value":531},{"namespace":78,"value":534},"033",{"device":536,"group":83},33,"switch.spinner","Spinner",{"source_refs":540,"status":51},[25],{"aliases":542,"binding":548,"id":550,"kind":85,"label":371,"provenance":551},[543,545,546],{"namespace":75,"value":544},"34",{"namespace":78,"value":544},{"namespace":78,"value":547},"034",{"device":549,"group":83},34,"switch.rollover.34",{"source_refs":552,"status":51},[25],{"aliases":554,"binding":560,"id":562,"kind":85,"label":371,"provenance":563},[555,557,558],{"namespace":75,"value":556},"35",{"namespace":78,"value":556},{"namespace":78,"value":559},"035",{"device":561,"group":83},35,"switch.rollover.35",{"source_refs":564,"status":51},[25],{"aliases":566,"binding":572,"id":574,"kind":85,"label":575,"provenance":576},[567,569,570],{"namespace":75,"value":568},"36",{"namespace":78,"value":568},{"namespace":78,"value":571},"036",{"device":573,"group":83},36,"switch.right-slingshot","Right Slingshot",{"source_refs":577,"status":51},[25],{"aliases":579,"binding":585,"id":587,"kind":85,"label":588,"provenance":589},[580,582,583],{"namespace":75,"value":581},"37",{"namespace":78,"value":581},{"namespace":78,"value":584},"037",{"device":586,"group":83},37,"switch.left-slingshot","Left Slingshot",{"source_refs":590,"status":51},[25],{"aliases":592,"binding":598,"id":600,"kind":85,"label":601,"provenance":602},[593,595,596],{"namespace":75,"value":594},"38",{"namespace":78,"value":594},{"namespace":78,"value":597},"038",{"device":599,"group":83},38,"switch.pop-bumper-middle","Pop Bumper (Middle)",{"source_refs":603,"status":51},[25],{"aliases":605,"binding":611,"id":613,"kind":85,"label":614,"provenance":615},[606,608,609],{"namespace":75,"value":607},"39",{"namespace":78,"value":607},{"namespace":78,"value":610},"039",{"device":612,"group":83},39,"switch.pop-bumper-bottom","Pop Bumper (Bottom)",{"source_refs":616,"status":51},[25],{"aliases":618,"binding":624,"id":626,"kind":85,"label":627,"provenance":628},[619,621,622],{"namespace":75,"value":620},"40",{"namespace":78,"value":620},{"namespace":78,"value":623},"040",{"device":625,"group":83},40,"switch.pop-bumper-top","Pop Bumper (Top)",{"source_refs":629,"status":51},[25],{"aliases":631,"binding":639,"id":641,"kind":85,"label":642,"provenance":643,"roles":645},[632,634,635,637],{"namespace":75,"value":633},"82",{"namespace":78,"value":633},{"namespace":78,"value":636},"082",{"namespace":78,"value":638},"s_flipper_lower_right",{"device":640,"group":83},82,"switch.flipper-lower-right","Lower Right Flipper",{"source_refs":644,"status":51},[26],[646],"flipper.lower.right",{"aliases":648,"binding":656,"id":658,"kind":85,"label":659,"provenance":660,"roles":662},[649,651,652,654],{"namespace":75,"value":650},"84",{"namespace":78,"value":650},{"namespace":78,"value":653},"084",{"namespace":78,"value":655},"s_flipper_lower_left",{"device":657,"group":83},84,"switch.flipper-lower-left","Lower Left Flipper",{"source_refs":661,"status":51},[26],[663],"flipper.lower.left",{"path":665,"status":35},"knowledge\u002Fbally\u002Fskateball-1980.md",{"id":667,"ipdb_id":668,"manufacturer":68,"name":67,"year":669},"bally.skateball.1980",2170,1980,[],[672,687,698,709,720,731,742,753,764,775,785,798,808,818,828,838,848,858,868,878,888,898,908,921,931,941,954,964,974,984,994,1004,1014,1024,1034,1044,1054,1067,1080,1093,1106,1119,1132,1145,1158,1171,1184,1197,1210,1223,1236,1249,1262,1275,1288,1301,1313,1326,1339,1354,1365,1376,1387,1398,1408,1419,1430,1444,1456],{"aliases":673,"binding":680,"id":682,"kind":683,"label":684,"provenance":685},[674,676,678,679],{"namespace":675,"value":118},"pinmame.lamp",{"namespace":677,"value":118},"vpe-legacy.lamp",{"namespace":677,"value":121},{"namespace":677,"value":123},{"device":125,"group":681},"pinmame.output.lamp","lamp.outputs-1","lamp","outputs 1",{"source_refs":686,"status":51},[25],{"aliases":688,"binding":693,"id":694,"kind":683,"label":695,"provenance":696},[689,690,691,692],{"namespace":675,"value":133},{"namespace":677,"value":133},{"namespace":677,"value":136},{"namespace":677,"value":138},{"device":142,"group":681},"lamp.outputs-2","outputs 2",{"source_refs":697,"status":51},[25],{"aliases":699,"binding":704,"id":705,"kind":683,"label":706,"provenance":707},[700,701,702,703],{"namespace":675,"value":150},{"namespace":677,"value":150},{"namespace":677,"value":153},{"namespace":677,"value":155},{"device":157,"group":681},"lamp.outputs-3","outputs 3",{"source_refs":708,"status":51},[25],{"aliases":710,"binding":715,"id":716,"kind":683,"label":717,"provenance":718},[711,712,713,714],{"namespace":675,"value":165},{"namespace":677,"value":165},{"namespace":677,"value":168},{"namespace":677,"value":170},{"device":172,"group":681},"lamp.outputs-4","outputs 4",{"source_refs":719,"status":51},[25],{"aliases":721,"binding":726,"id":727,"kind":683,"label":728,"provenance":729},[722,723,724,725],{"namespace":675,"value":180},{"namespace":677,"value":180},{"namespace":677,"value":183},{"namespace":677,"value":185},{"device":187,"group":681},"lamp.outputs-5","outputs 5",{"source_refs":730,"status":51},[25],{"aliases":732,"binding":737,"id":738,"kind":683,"label":739,"provenance":740},[733,734,735,736],{"namespace":675,"value":195},{"namespace":677,"value":195},{"namespace":677,"value":198},{"namespace":677,"value":200},{"device":204,"group":681},"lamp.outputs-6","outputs 6",{"source_refs":741,"status":51},[25],{"aliases":743,"binding":748,"id":749,"kind":683,"label":750,"provenance":751},[744,745,746,747],{"namespace":675,"value":214},{"namespace":677,"value":214},{"namespace":677,"value":217},{"namespace":677,"value":219},{"device":223,"group":681},"lamp.outputs-7","outputs 7",{"source_refs":752,"status":51},[25],{"aliases":754,"binding":759,"id":760,"kind":683,"label":761,"provenance":762},[755,756,757,758],{"namespace":675,"value":231},{"namespace":677,"value":231},{"namespace":677,"value":234},{"namespace":677,"value":236},{"device":238,"group":681},"lamp.outputs-8","outputs 8",{"source_refs":763,"status":51},[25],{"aliases":765,"binding":770,"id":771,"kind":683,"label":772,"provenance":773},[766,767,768,769],{"namespace":675,"value":246},{"namespace":677,"value":246},{"namespace":677,"value":249},{"namespace":677,"value":251},{"device":255,"group":681},"lamp.outputs-9","outputs 9",{"source_refs":774,"status":51},[25],{"aliases":776,"binding":780,"id":781,"kind":683,"label":782,"provenance":783},[777,778,779],{"namespace":675,"value":265},{"namespace":677,"value":265},{"namespace":677,"value":268},{"device":272,"group":681},"lamp.outputs-10","outputs 10",{"source_refs":784,"status":51},[25],{"aliases":786,"binding":792,"id":794,"kind":683,"label":795,"provenance":796},[787,789,790],{"namespace":675,"value":788},"12",{"namespace":677,"value":788},{"namespace":677,"value":791},"012",{"device":793,"group":681},12,"lamp.outputs-12","outputs 12",{"source_refs":797,"status":51},[25],{"aliases":799,"binding":803,"id":804,"kind":683,"label":805,"provenance":806},[800,801,802],{"namespace":675,"value":299},{"namespace":677,"value":299},{"namespace":677,"value":302},{"device":304,"group":681},"lamp.ball-in-play","Ball In Play",{"source_refs":807,"status":51},[25],{"aliases":809,"binding":813,"id":814,"kind":683,"label":815,"provenance":816},[810,811,812],{"namespace":675,"value":312},{"namespace":677,"value":312},{"namespace":677,"value":315},{"device":317,"group":681},"lamp.outputs-14","outputs 14",{"source_refs":817,"status":51},[25],{"aliases":819,"binding":823,"id":824,"kind":683,"label":825,"provenance":826},[820,821,822],{"namespace":675,"value":324},{"namespace":677,"value":324},{"namespace":677,"value":327},{"device":329,"group":681},"lamp.outputs-15","outputs 15",{"source_refs":827,"status":51},[25],{"aliases":829,"binding":833,"id":834,"kind":683,"label":835,"provenance":836},[830,831,832],{"namespace":675,"value":351},{"namespace":677,"value":351},{"namespace":677,"value":354},{"device":356,"group":681},"lamp.outputs-17","outputs 17",{"source_refs":837,"status":51},[25],{"aliases":839,"binding":843,"id":844,"kind":683,"label":845,"provenance":846},[840,841,842],{"namespace":675,"value":364},{"namespace":677,"value":364},{"namespace":677,"value":367},{"device":369,"group":681},"lamp.outputs-18","outputs 18",{"source_refs":847,"status":51},[25],{"aliases":849,"binding":853,"id":854,"kind":683,"label":855,"provenance":856},[850,851,852],{"namespace":675,"value":377},{"namespace":677,"value":377},{"namespace":677,"value":380},{"device":382,"group":681},"lamp.outputs-19","outputs 19",{"source_refs":857,"status":51},[25],{"aliases":859,"binding":863,"id":864,"kind":683,"label":865,"provenance":866},[860,861,862],{"namespace":675,"value":389},{"namespace":677,"value":389},{"namespace":677,"value":392},{"device":394,"group":681},"lamp.outputs-20","outputs 20",{"source_refs":867,"status":51},[25],{"aliases":869,"binding":873,"id":874,"kind":683,"label":875,"provenance":876},[870,871,872],{"namespace":675,"value":402},{"namespace":677,"value":402},{"namespace":677,"value":405},{"device":407,"group":681},"lamp.outputs-21","outputs 21",{"source_refs":877,"status":51},[25],{"aliases":879,"binding":883,"id":884,"kind":683,"label":885,"provenance":886},[880,881,882],{"namespace":675,"value":415},{"namespace":677,"value":415},{"namespace":677,"value":418},{"device":420,"group":681},"lamp.outputs-22","outputs 22",{"source_refs":887,"status":51},[25],{"aliases":889,"binding":893,"id":894,"kind":683,"label":895,"provenance":896},[890,891,892],{"namespace":675,"value":428},{"namespace":677,"value":428},{"namespace":677,"value":431},{"device":433,"group":681},"lamp.outputs-23","outputs 23",{"source_refs":897,"status":51},[25],{"aliases":899,"binding":903,"id":904,"kind":683,"label":905,"provenance":906},[900,901,902],{"namespace":675,"value":441},{"namespace":677,"value":441},{"namespace":677,"value":444},{"device":5,"group":681},"lamp.outputs-24","outputs 24",{"source_refs":907,"status":51},[25],{"aliases":909,"binding":915,"id":917,"kind":683,"label":918,"provenance":919},[910,912,913],{"namespace":675,"value":911},"25",{"namespace":677,"value":911},{"namespace":677,"value":914},"025",{"device":916,"group":681},25,"lamp.outputs-25","outputs 25",{"source_refs":920,"status":51},[25],{"aliases":922,"binding":926,"id":927,"kind":683,"label":928,"provenance":929},[923,924,925],{"namespace":675,"value":453},{"namespace":677,"value":453},{"namespace":677,"value":456},{"device":458,"group":681},"lamp.outputs-26","outputs 26",{"source_refs":930,"status":51},[25],{"aliases":932,"binding":936,"id":937,"kind":683,"label":938,"provenance":939},[933,934,935],{"namespace":675,"value":479},{"namespace":677,"value":479},{"namespace":677,"value":482},{"device":484,"group":681},"lamp.outputs-28","outputs 28",{"source_refs":940,"status":51},[25],{"aliases":942,"binding":948,"id":950,"kind":683,"label":951,"provenance":952},[943,945,946],{"namespace":675,"value":944},"29",{"namespace":677,"value":944},{"namespace":677,"value":947},"029",{"device":949,"group":681},29,"lamp.high-score-to-date","High Score To Date",{"source_refs":953,"status":51},[25],{"aliases":955,"binding":959,"id":960,"kind":683,"label":961,"provenance":962},[956,957,958],{"namespace":675,"value":492},{"namespace":677,"value":492},{"namespace":677,"value":495},{"device":497,"group":681},"lamp.outputs-30","outputs 30",{"source_refs":963,"status":51},[25],{"aliases":965,"binding":969,"id":970,"kind":683,"label":971,"provenance":972},[966,967,968],{"namespace":675,"value":505},{"namespace":677,"value":505},{"namespace":677,"value":508},{"device":510,"group":681},"lamp.outputs-31","outputs 31",{"source_refs":973,"status":51},[25],{"aliases":975,"binding":979,"id":980,"kind":683,"label":981,"provenance":982},[976,977,978],{"namespace":675,"value":531},{"namespace":677,"value":531},{"namespace":677,"value":534},{"device":536,"group":681},"lamp.outputs-33","outputs 33",{"source_refs":983,"status":51},[25],{"aliases":985,"binding":989,"id":990,"kind":683,"label":991,"provenance":992},[986,987,988],{"namespace":675,"value":544},{"namespace":677,"value":544},{"namespace":677,"value":547},{"device":549,"group":681},"lamp.outputs-34","outputs 34",{"source_refs":993,"status":51},[25],{"aliases":995,"binding":999,"id":1000,"kind":683,"label":1001,"provenance":1002},[996,997,998],{"namespace":675,"value":556},{"namespace":677,"value":556},{"namespace":677,"value":559},{"device":561,"group":681},"lamp.outputs-35","outputs 35",{"source_refs":1003,"status":51},[25],{"aliases":1005,"binding":1009,"id":1010,"kind":683,"label":1011,"provenance":1012},[1006,1007,1008],{"namespace":675,"value":568},{"namespace":677,"value":568},{"namespace":677,"value":571},{"device":573,"group":681},"lamp.outputs-36","outputs 36",{"source_refs":1013,"status":51},[25],{"aliases":1015,"binding":1019,"id":1020,"kind":683,"label":1021,"provenance":1022},[1016,1017,1018],{"namespace":675,"value":581},{"namespace":677,"value":581},{"namespace":677,"value":584},{"device":586,"group":681},"lamp.outputs-37","outputs 37",{"source_refs":1023,"status":51},[25],{"aliases":1025,"binding":1029,"id":1030,"kind":683,"label":1031,"provenance":1032},[1026,1027,1028],{"namespace":675,"value":594},{"namespace":677,"value":594},{"namespace":677,"value":597},{"device":599,"group":681},"lamp.outputs-38","outputs 38",{"source_refs":1033,"status":51},[25],{"aliases":1035,"binding":1039,"id":1040,"kind":683,"label":1041,"provenance":1042},[1036,1037,1038],{"namespace":675,"value":607},{"namespace":677,"value":607},{"namespace":677,"value":610},{"device":612,"group":681},"lamp.outputs-39","outputs 39",{"source_refs":1043,"status":51},[25],{"aliases":1045,"binding":1049,"id":1050,"kind":683,"label":1051,"provenance":1052},[1046,1047,1048],{"namespace":675,"value":620},{"namespace":677,"value":620},{"namespace":677,"value":623},{"device":625,"group":681},"lamp.outputs-40","outputs 40",{"source_refs":1053,"status":51},[25],{"aliases":1055,"binding":1061,"id":1063,"kind":683,"label":1064,"provenance":1065},[1056,1058,1059],{"namespace":675,"value":1057},"41",{"namespace":677,"value":1057},{"namespace":677,"value":1060},"041",{"device":1062,"group":681},41,"lamp.outputs-41","outputs 41",{"source_refs":1066,"status":51},[25],{"aliases":1068,"binding":1074,"id":1076,"kind":683,"label":1077,"provenance":1078},[1069,1071,1072],{"namespace":675,"value":1070},"42",{"namespace":677,"value":1070},{"namespace":677,"value":1073},"042",{"device":1075,"group":681},42,"lamp.outputs-42","outputs 42",{"source_refs":1079,"status":51},[25],{"aliases":1081,"binding":1087,"id":1089,"kind":683,"label":1090,"provenance":1091},[1082,1084,1085],{"namespace":675,"value":1083},"43",{"namespace":677,"value":1083},{"namespace":677,"value":1086},"043",{"device":1088,"group":681},43,"lamp.shoot-again","Shoot Again",{"source_refs":1092,"status":51},[25],{"aliases":1094,"binding":1100,"id":1102,"kind":683,"label":1103,"provenance":1104},[1095,1097,1098],{"namespace":675,"value":1096},"44",{"namespace":677,"value":1096},{"namespace":677,"value":1099},"044",{"device":1101,"group":681},44,"lamp.outputs-44","outputs 44",{"source_refs":1105,"status":51},[25],{"aliases":1107,"binding":1113,"id":1115,"kind":683,"label":1116,"provenance":1117},[1108,1110,1111],{"namespace":675,"value":1109},"45",{"namespace":677,"value":1109},{"namespace":677,"value":1112},"045",{"device":1114,"group":681},45,"lamp.game-over-match","Game Over \u002F Match",{"source_refs":1118,"status":51},[25],{"aliases":1120,"binding":1126,"id":1128,"kind":683,"label":1129,"provenance":1130},[1121,1123,1124],{"namespace":675,"value":1122},"46",{"namespace":677,"value":1122},{"namespace":677,"value":1125},"046",{"device":1127,"group":681},46,"lamp.outputs-46","outputs 46",{"source_refs":1131,"status":51},[25],{"aliases":1133,"binding":1139,"id":1141,"kind":683,"label":1142,"provenance":1143},[1134,1136,1137],{"namespace":675,"value":1135},"47",{"namespace":677,"value":1135},{"namespace":677,"value":1138},"047",{"device":1140,"group":681},47,"lamp.outputs-47","outputs 47",{"source_refs":1144,"status":51},[25],{"aliases":1146,"binding":1152,"id":1154,"kind":683,"label":1155,"provenance":1156},[1147,1149,1150],{"namespace":675,"value":1148},"49",{"namespace":677,"value":1148},{"namespace":677,"value":1151},"049",{"device":1153,"group":681},49,"lamp.outputs-49","outputs 49",{"source_refs":1157,"status":51},[25],{"aliases":1159,"binding":1165,"id":1167,"kind":683,"label":1168,"provenance":1169},[1160,1162,1163],{"namespace":675,"value":1161},"50",{"namespace":677,"value":1161},{"namespace":677,"value":1164},"050",{"device":1166,"group":681},50,"lamp.outputs-50","outputs 50",{"source_refs":1170,"status":51},[25],{"aliases":1172,"binding":1178,"id":1180,"kind":683,"label":1181,"provenance":1182},[1173,1175,1176],{"namespace":675,"value":1174},"51",{"namespace":677,"value":1174},{"namespace":677,"value":1177},"051",{"device":1179,"group":681},51,"lamp.outputs-51","outputs 51",{"source_refs":1183,"status":51},[25],{"aliases":1185,"binding":1191,"id":1193,"kind":683,"label":1194,"provenance":1195},[1186,1188,1189],{"namespace":675,"value":1187},"52",{"namespace":677,"value":1187},{"namespace":677,"value":1190},"052",{"device":1192,"group":681},52,"lamp.outputs-52","outputs 52",{"source_refs":1196,"status":51},[25],{"aliases":1198,"binding":1204,"id":1206,"kind":683,"label":1207,"provenance":1208},[1199,1201,1202],{"namespace":675,"value":1200},"53",{"namespace":677,"value":1200},{"namespace":677,"value":1203},"053",{"device":1205,"group":681},53,"lamp.outputs-53","outputs 53",{"source_refs":1209,"status":51},[25],{"aliases":1211,"binding":1217,"id":1219,"kind":683,"label":1220,"provenance":1221},[1212,1214,1215],{"namespace":675,"value":1213},"54",{"namespace":677,"value":1213},{"namespace":677,"value":1216},"054",{"device":1218,"group":681},54,"lamp.outputs-54","outputs 54",{"source_refs":1222,"status":51},[25],{"aliases":1224,"binding":1230,"id":1232,"kind":683,"label":1233,"provenance":1234},[1225,1227,1228],{"namespace":675,"value":1226},"55",{"namespace":677,"value":1226},{"namespace":677,"value":1229},"055",{"device":1231,"group":681},55,"lamp.outputs-55","outputs 55",{"source_refs":1235,"status":51},[25],{"aliases":1237,"binding":1243,"id":1245,"kind":683,"label":1246,"provenance":1247},[1238,1240,1241],{"namespace":675,"value":1239},"56",{"namespace":677,"value":1239},{"namespace":677,"value":1242},"056",{"device":1244,"group":681},56,"lamp.outputs-56","outputs 56",{"source_refs":1248,"status":51},[25],{"aliases":1250,"binding":1256,"id":1258,"kind":683,"label":1259,"provenance":1260},[1251,1253,1254],{"namespace":675,"value":1252},"57",{"namespace":677,"value":1252},{"namespace":677,"value":1255},"057",{"device":1257,"group":681},57,"lamp.outputs-57","outputs 57",{"source_refs":1261,"status":51},[25],{"aliases":1263,"binding":1269,"id":1271,"kind":683,"label":1272,"provenance":1273},[1264,1266,1267],{"namespace":675,"value":1265},"58",{"namespace":677,"value":1265},{"namespace":677,"value":1268},"058",{"device":1270,"group":681},58,"lamp.outputs-58","outputs 58",{"source_refs":1274,"status":51},[25],{"aliases":1276,"binding":1282,"id":1284,"kind":683,"label":1285,"provenance":1286},[1277,1279,1280],{"namespace":675,"value":1278},"59",{"namespace":677,"value":1278},{"namespace":677,"value":1281},"059",{"device":1283,"group":681},59,"lamp.outputs-59","outputs 59",{"source_refs":1287,"status":51},[25],{"aliases":1289,"binding":1295,"id":1297,"kind":683,"label":1298,"provenance":1299},[1290,1292,1293],{"namespace":675,"value":1291},"60",{"namespace":677,"value":1291},{"namespace":677,"value":1294},"060",{"device":1296,"group":681},60,"lamp.outputs-60","outputs 60",{"source_refs":1300,"status":51},[25],{"aliases":1302,"binding":1308,"id":1310,"kind":683,"label":225,"provenance":1311},[1303,1305,1306],{"namespace":675,"value":1304},"61",{"namespace":677,"value":1304},{"namespace":677,"value":1307},"061",{"device":1309,"group":681},61,"lamp.tilt",{"source_refs":1312,"status":51},[25],{"aliases":1314,"binding":1320,"id":1322,"kind":683,"label":1323,"provenance":1324},[1315,1317,1318],{"namespace":675,"value":1316},"62",{"namespace":677,"value":1316},{"namespace":677,"value":1319},"062",{"device":1321,"group":681},62,"lamp.outputs-62","outputs 62",{"source_refs":1325,"status":51},[25],{"aliases":1327,"binding":1333,"id":1335,"kind":683,"label":1336,"provenance":1337},[1328,1330,1331],{"namespace":675,"value":1329},"63",{"namespace":677,"value":1329},{"namespace":677,"value":1332},"063",{"device":1334,"group":681},63,"lamp.outputs-63","outputs 63",{"source_refs":1338,"status":51},[25],{"aliases":1340,"binding":1347,"id":1349,"kind":1350,"label":1351,"provenance":1352},[1341,1343,1345,1346],{"namespace":1342,"value":133},"pinmame.coil",{"namespace":1344,"value":133},"vpe-legacy.coil",{"namespace":1344,"value":136},{"namespace":1344,"value":138},{"device":142,"group":1348},"pinmame.output.solenoid","device.saucer-kicker","coil","Saucer Kicker",{"source_refs":1353,"status":51},[25],{"aliases":1355,"binding":1360,"id":1361,"kind":1350,"label":1362,"provenance":1363},[1356,1357,1358,1359],{"namespace":1342,"value":195},{"namespace":1344,"value":195},{"namespace":1344,"value":198},{"namespace":1344,"value":200},{"device":204,"group":1348},"device.knocker","Knocker",{"source_refs":1364,"status":51},[25],{"aliases":1366,"binding":1371,"id":1372,"kind":1350,"label":1373,"provenance":1374},[1367,1368,1369,1370],{"namespace":1342,"value":214},{"namespace":1344,"value":214},{"namespace":1344,"value":217},{"namespace":1344,"value":219},{"device":223,"group":1348},"device.ball-release-outhole-kicker","Ball Release (Outhole Kicker)",{"source_refs":1375,"status":51},[25],{"aliases":1377,"binding":1382,"id":1383,"kind":1350,"label":1384,"provenance":1385},[1378,1379,1380,1381],{"namespace":1342,"value":231},{"namespace":1344,"value":231},{"namespace":1344,"value":234},{"namespace":1344,"value":236},{"device":238,"group":1348},"device.left-drop-target-bank-reset","Left Drop Target Bank Reset",{"source_refs":1386,"status":51},[25],{"aliases":1388,"binding":1393,"id":1394,"kind":1350,"label":1395,"provenance":1396},[1389,1390,1391,1392],{"namespace":1342,"value":246},{"namespace":1344,"value":246},{"namespace":1344,"value":249},{"namespace":1344,"value":251},{"device":255,"group":1348},"device.top-drop-target-bank-reset","Top Drop Target Bank Reset",{"source_refs":1397,"status":51},[25],{"aliases":1399,"binding":1403,"id":1404,"kind":1350,"label":1405,"provenance":1406},[1400,1401,1402],{"namespace":1342,"value":265},{"namespace":1344,"value":265},{"namespace":1344,"value":268},{"device":272,"group":1348},"device.center-drop-target-bank-reset","Center Drop Target Bank Reset",{"source_refs":1407,"status":51},[25],{"aliases":1409,"binding":1415,"id":1416,"kind":1350,"label":642,"provenance":1417},[1410,1411,1412,1413],{"namespace":1342,"value":351},{"namespace":1344,"value":351},{"namespace":1344,"value":354},{"namespace":1344,"value":1414},"c_flipper_lower_right",{"device":356,"group":1348},"device.flipper-lower-right",{"source_refs":1418,"status":51},[25],{"aliases":1420,"binding":1426,"id":1427,"kind":1350,"label":659,"provenance":1428},[1421,1422,1423,1424],{"namespace":1342,"value":364},{"namespace":1344,"value":364},{"namespace":1344,"value":367},{"namespace":1344,"value":1425},"c_flipper_lower_left",{"device":369,"group":1348},"device.flipper-lower-left",{"source_refs":1429,"status":51},[25],{"aliases":1431,"binding":1439,"id":1440,"kind":1350,"label":1441,"provenance":1442},[1432,1433,1434,1435,1437],{"namespace":1342,"value":377},{"namespace":1344,"value":377},{"namespace":1344,"value":380},{"namespace":1344,"value":1436},"c_game_on",{"namespace":1344,"value":1438},"c_flipper_upper_right",{"device":382,"group":1348},"device.game-on","ROM Started",{"source_refs":1443,"status":51},[25,26],{"aliases":1445,"binding":1451,"id":1452,"kind":1350,"label":1453,"provenance":1454},[1446,1447,1448,1449],{"namespace":1342,"value":389},{"namespace":1344,"value":389},{"namespace":1344,"value":392},{"namespace":1344,"value":1450},"c_flipper_upper_left",{"device":394,"group":1348},"device.flipper-upper-left","Upper Left Flipper",{"source_refs":1455,"status":51},[25],{"aliases":1457,"binding":1461,"id":1462,"kind":1350,"label":1463,"provenance":1464},[1458,1459,1460],{"namespace":1342,"value":911},{"namespace":1344,"value":911},{"namespace":1344,"value":914},{"device":916,"group":1348},"device.game-on-relay","Game On Relay",{"source_refs":1465,"status":51},[25],[],[1468,1474,1476],{"attribution":1469,"id":25,"kind":1470,"locator":1471,"revision":1472,"uri":1473},"pinmame-game-defs contributors","legacy_json","games\u002Fskateball.json; origin=vbscript-agent-extracted","4ea106d080728648a693af3b4dcabb091eee0a02","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame-game-defs",{"attribution":1469,"id":26,"kind":1470,"locator":1475,"revision":1472,"uri":1473},"platforms\u002Fbally.json",{"attribution":1477,"id":1478,"kind":1479,"license":1480,"locator":1481,"revision":1482,"uri":1483},"PinMAME contributors","pinmame.catalog.4ec52ff0ac13","pinmame_catalog","BSD-3-Clause","PinmameGetGames","4ec52ff0ac133ac251681518aed2249e19fe26eb","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame","bally-skateball-1980","machines\u002Fpartial\u002Fbally\u002Fskateball-1980.json","\u003Ch2 id=\"overview\">Overview\u003C\u002Fh2>\n\u003Cp>Legacy evidence identifies this candidate as Bally (1980). 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\u002Fskateball.json#\u002Fswitches\u002F0._note\u003C\u002Fcode>: vpmNudge.TiltSwitch = swTilt. Bally.vbs framework constant swTilt = 1.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F1._note\u003C\u002Fcode>: DTHit 2. Center bank of 3 drop targets (sw2, sw3, sw4). Reset by solenoid 10 (DTBankCenterReset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F2._note\u003C\u002Fcode>: DTHit 3. Center bank of 3 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F3._note\u003C\u002Fcode>: DTHit 4. Center bank of 3 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F4._note\u003C\u002Fcode>: Controller.Switch(5) = 1 on hit, cleared by SolKicker (solenoid 2). SoundSaucerLock on entry. DIP switches reference &#39;saucer extra ball&#39; feature.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F5._note\u003C\u002Fcode>: Controller.Switch(8) = 1\u002F0 on Drain_Hit\u002FDrain_UnHit. Single-ball outhole design. Ball created in Drain at table init with Controller.Switch(8) = 1. SolBallRelease (sol 7) kicks and clears.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F6._note\u003C\u002Fcode>: PulseSw 13. Has animated VLM trigger object (BP_sw13). Located in upper playfield area near bumpers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F7._note\u003C\u002Fcode>: PulseSw 14. Has animated VLM trigger object (BP_sw14). Located in upper playfield area near bumpers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F8._note\u003C\u002Fcode>: PulseSw 15. Has animated VLM trigger object (BP_sw15). Located in upper playfield area.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F9._note\u003C\u002Fcode>: PulseSw 17. Seven VPX trigger objects (sw17a through sw17g) all pulse switch 17. Top lane scoring rubbers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F10._note\u003C\u002Fcode>: PulseSw 18. Has animated VLM trigger object (BP_sw18).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F11._note\u003C\u002Fcode>: PulseSw 19. Has animated VLM trigger object (BP_sw19).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F12._note\u003C\u002Fcode>: DTHit 20. Left bank of 5 drop targets (sw20-24). Reset by solenoid 8 (DTBankLeftReset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F13._note\u003C\u002Fcode>: DTHit 21. Left bank of 5 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F14._note\u003C\u002Fcode>: DTHit 22. Left bank of 5 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F15._note\u003C\u002Fcode>: DTHit 23. Left bank of 5 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F16._note\u003C\u002Fcode>: DTHit 24. Left bank of 5 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F17._note\u003C\u002Fcode>: DTHit 26. Top bank of 3 drop targets (sw26-28). Reset by solenoid 9 (DTBankTopReset).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F18._note\u003C\u002Fcode>: DTHit 27. Top bank of 3 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F19._note\u003C\u002Fcode>: DTHit 28. Top bank of 3 drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F20._note\u003C\u002Fcode>: PulseSw 30. Has animated VLM star rollover object (BP_Star_sw30).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F21._note\u003C\u002Fcode>: PulseSw 31. Has animated VLM star rollover object (BP_Star_sw31).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F22._note\u003C\u002Fcode>: Controller.Switch(32) = 1 on RightFlipperKey KeyDown, cleared on KeyUp. Used by ROM for lane change or similar feature. Not a physical playfield switch -- triggered by cabinet button.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F23._note\u003C\u002Fcode>: PulseSw 33 from sw33_Spin event. Elaborate VLM spinner animation with inner\u002Fouter russian doll opacity crossfade and rod rotation.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F24._note\u003C\u002Fcode>: PulseSw 34. Has animated VLM trigger object (BP_sw34).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F25._note\u003C\u002Fcode>: PulseSw 35. Has animated VLM trigger object (BP_sw35).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F26._note\u003C\u002Fcode>: PulseSw 36 from RightSlingShot_Slingshot event. Has 4-frame VLM sling animation (BP_RightSling1-4) and mechanical arm rotation (BP_remk).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F27._note\u003C\u002Fcode>: PulseSw 37 from LeftSlingShot_Slingshot event. Has 4-frame VLM sling animation (BP_LeftSling1-4) and mechanical arm rotation (BP_lemk).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F28._note\u003C\u002Fcode>: PulseSw 38 from Bumper2_Hit. Has animated ring (BP_Bumper2_Ring) and skirt.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F29._note\u003C\u002Fcode>: PulseSw 39 from Bumper3_Hit. Has animated ring (BP_Bumper3_Ring) and skirt.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fswitches\u002F30._note\u003C\u002Fcode>: PulseSw 40 from Bumper1_Hit. Has animated ring (BP_Bumper1_Ring) and skirt.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F0._vbscript_callback\u003C\u002Fcode>: SolKicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F0._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F0._note\u003C\u002Fcode>: Kicks ball from saucer (sw5). sw5.kick 197+rnd*0.5, 20. Clears Controller.Switch(5).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F1._vbscript_callback\u003C\u002Fcode>: vpmSolSound SoundFX(&quot;fx_knocker&quot;,DOFKnocker),\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F1._inferred_type\u003C\u002Fcode>: knocker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F1._note\u003C\u002Fcode>: Cabinet knocker solenoid. Sound-only callback via vpmSolSound.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F2._vbscript_callback\u003C\u002Fcode>: SolBallRelease\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F2._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F2._note\u003C\u002Fcode>: Kicks ball from Drain kicker. Drain.kick 57, 20. Clears Controller.Switch(8). Single-ball outhole design.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F3._vbscript_callback\u003C\u002Fcode>: DTBankLeftReset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F3._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F3._note\u003C\u002Fcode>: Resets left bank of 5 drop targets (sw20, sw21, sw22, sw23, sw24). Uses DTRaise for each target.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F4._vbscript_callback\u003C\u002Fcode>: DTBankTopReset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F4._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F4._note\u003C\u002Fcode>: Resets top bank of 3 drop targets (sw26, sw27, sw28). Uses DTRaise for each target.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F5._vbscript_callback\u003C\u002Fcode>: DTBankCenterReset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F5._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F5._note\u003C\u002Fcode>: Resets center bank of 3 drop targets (sw2, sw3, sw4). Uses DTRaise for each target.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F6._vbscript_callback\u003C\u002Fcode>: SolRFlipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F6._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F6._note\u003C\u002Fcode>: sLRFlipper = 17 (Bally.vbs framework constant). nFozzy flipper implementation: RF.Fire on enable, RightFlipper.RotateToStart on disable.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F7._vbscript_callback\u003C\u002Fcode>: SolLFlipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F7._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F7._note\u003C\u002Fcode>: sLLFlipper = 18 (Bally.vbs framework constant). nFozzy flipper implementation: LF.Fire on enable, LeftFlipper.RotateToStart on disable.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F8._vbscript_callback\u003C\u002Fcode>: SolRFlipper1\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F8._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F8._note\u003C\u002Fcode>: sURFlipper = 19 (Bally.vbs framework constant). nFozzy flipper implementation: URF.Fire on enable, RightFlipper1.RotateToStart on disable.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F9._vbscript_callback\u003C\u002Fcode>: SolLFlipper1\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F9._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F9._note\u003C\u002Fcode>: sULFlipper = 20 (Bally.vbs framework constant). nFozzy flipper implementation: ULF.Fire on enable, LeftFlipper1.RotateToStart on disable.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F10._vbscript_callback\u003C\u002Fcode>: vpmNudge.SolGameOn\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F10._inferred_type\u003C\u002Fcode>: mechanism\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Fcoils\u002F10._note\u003C\u002Fcode>: Game On relay. Standard Bally framework solenoid handled by vpmNudge.SolGameOn.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F0._note\u003C\u002Fcode>: VLM lightmap: BL_L_l1 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F1._note\u003C\u002Fcode>: VLM lightmap: BL_L_l2 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F2._note\u003C\u002Fcode>: VLM lightmap: BL_L_l3 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F3._note\u003C\u002Fcode>: VLM lightmap: BL_L_l4 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F4._note\u003C\u002Fcode>: VLM lightmap: BL_L_l5 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F5._note\u003C\u002Fcode>: VLM lightmap: BL_L_l6 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F6._note\u003C\u002Fcode>: VLM lightmap: BL_L_l7 (Playfield, RFlipper1U). Near upper right flipper.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F7._note\u003C\u002Fcode>: VLM lightmap: BL_L_l8 (Parts, Plastics, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F8._note\u003C\u002Fcode>: VLM lightmap: BL_L_l9 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F9._note\u003C\u002Fcode>: VLM lightmap: BL_L_l10 (Bumper1_Ring, Playfield). Near top bumper.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F10._note\u003C\u002Fcode>: VLM lightmap: BL_L_l12 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F11._note\u003C\u002Fcode>: Backglass lamp. UpdateMultipleLamps: Controller.Lamp(13) drives FlBGL13 opacity. Comment: &#39;Ball In Play&#39;.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F12._note\u003C\u002Fcode>: VLM lightmap: BL_L_l14 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F13._note\u003C\u002Fcode>: VLM lightmap: BL_L_l15 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F14._note\u003C\u002Fcode>: VLM lightmap: BL_L_l17 (Playfield, RFlipperU). Near lower right flipper.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F15._note\u003C\u002Fcode>: VLM lightmap: BL_L_l18 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F16._note\u003C\u002Fcode>: VLM lightmap: BL_L_l19 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F17._note\u003C\u002Fcode>: VLM lightmap: BL_L_l20 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F18._note\u003C\u002Fcode>: VLM lightmap: BL_L_l21 (Parts, Plastic1)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F19._note\u003C\u002Fcode>: VLM lightmap: BL_L_l22 (LFlipperU, Parts, Playfield). Near lower left flipper.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F20._note\u003C\u002Fcode>: VLM lightmap: BL_L_l23 (Playfield, RFlipper1U). Near upper right flipper.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F21._note\u003C\u002Fcode>: VLM lightmap: BL_L_l24 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F22._note\u003C\u002Fcode>: VLM lightmap: BL_L_L25 (Bumper2_Ring, Bumper2_Skirt, Parts, Spinner_sw33). Near middle bumper and spinner.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F23._note\u003C\u002Fcode>: VLM lightmap: BL_L_l26 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F24._note\u003C\u002Fcode>: VLM lightmap: BL_L_l28 (Parts, Plastics, Playfield, Star_sw30). Near left star rollover.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F25._note\u003C\u002Fcode>: Backglass lamp. UpdateMultipleLamps: Controller.Lamp(29) drives FlBGL29 opacity. Comment: &#39;High Score To Date&#39;.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F26._note\u003C\u002Fcode>: VLM lightmap: BL_L_l30 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F27._note\u003C\u002Fcode>: VLM lightmap: BL_L_l31 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F28._note\u003C\u002Fcode>: VLM lightmap: BL_L_l33 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F29._note\u003C\u002Fcode>: VLM lightmap: BL_L_l34 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F30._note\u003C\u002Fcode>: VLM lightmap: BL_L_l35 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F31._note\u003C\u002Fcode>: VLM lightmap: BL_L_l36 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F32._note\u003C\u002Fcode>: VLM lightmap: BL_L_l37 (Parts)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F33._note\u003C\u002Fcode>: VLM lightmap: BL_L_l38 (Parts, Playfield, RFlipperU). Near lower right flipper.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F34._note\u003C\u002Fcode>: VLM lightmap: BL_L_l39 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F35._note\u003C\u002Fcode>: VLM lightmap: BL_L_l40 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F36._note\u003C\u002Fcode>: VLM lightmap: BL_L_L41 (Bumper2_Ring, Bumper3_Ring, Bumper3_Skirt, Parts, Plastics). Near middle and bottom bumpers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F37._note\u003C\u002Fcode>: VLM lightmap: BL_L_l42 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F38._note\u003C\u002Fcode>: VLM lightmap: BL_L_l43 (Parts, Playfield). Also backglass lamp: UpdateMultipleLamps drives FlBGL43 opacity. Comment: &#39;Shoot Again&#39;.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F39._note\u003C\u002Fcode>: VLM lightmap: BL_L_l44 (Parts, Plastics, Playfield, Star_sw31). Near right star rollover.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F40._note\u003C\u002Fcode>: Backglass lamp. UpdateMultipleLamps: Controller.Lamp(45) drives FlBGL27 (Game Over) and FlBGL45 (Match) opacity.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F41._note\u003C\u002Fcode>: VLM lightmap: BL_L_l46 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F42._note\u003C\u002Fcode>: VLM lightmap: BL_L_l47 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F43._note\u003C\u002Fcode>: VLM lightmap: BL_L_l49 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F44._note\u003C\u002Fcode>: VLM lightmap: BL_L_l50 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F45._note\u003C\u002Fcode>: VLM lightmap: BL_L_l51 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F46._note\u003C\u002Fcode>: VLM lightmap: BL_L_l52 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F47._note\u003C\u002Fcode>: VLM lightmap: BL_L_l53 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F48._note\u003C\u002Fcode>: VLM lightmap: BL_L_l54 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F49._note\u003C\u002Fcode>: VLM lightmap: BL_L_l55 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F50._note\u003C\u002Fcode>: VLM lightmap: BL_L_l56 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F51._note\u003C\u002Fcode>: VLM lightmap: BL_L_L57 (Bumper1_Ring, DT_sw26, DT_sw27, Parts). Near top bumper and top drop targets.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F52._note\u003C\u002Fcode>: VLM lightmap: BL_L_l58 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F53._note\u003C\u002Fcode>: VLM lightmap: BL_L_l59 (Parts)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F54._note\u003C\u002Fcode>: VLM lightmap: BL_L_l60 (Parts, Playfield, Spinner_sw33). Near spinner.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F55._note\u003C\u002Fcode>: Backglass lamp. UpdateMultipleLamps: Controller.Lamp(61) drives FlBGL61 opacity. Comment: &#39;Tilt&#39;.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F56._note\u003C\u002Fcode>: VLM lightmap: BL_L_l62 (Parts, Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002Flamps\u002F57._note\u003C\u002Fcode>: VLM lightmap: BL_L_l63 (Playfield)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fskateball.json#\u002F_source\u002Fconfidence_notes\u003C\u002Fcode>: High confidence extraction from VPW 1.0 release by mcarter78\u002Fapophis\u002FVPW team. Platform identified as Bally -35 era from LoadVPM call: LoadVPM &#39;03060000&#39;, &#39;Bally.vbs&#39;, 3.02. ROM name &#39;skatebll&#39; from Const cGameName. No Const sw* definitions exist in script -- all switches identified from _Hit\u002F\u003Cem>UnHit sub handlers, Controller.Switch() on\u002Foff calls, PulseSw calls, and DIP switch dialog context. Trough is a simple single-ball outhole design typical of 1980 Bally games: Drain_Hit sets Controller.Switch(8)=1, Drain_UnHit clears it, and SolBallRelease (solenoid 7) kicks ball from Drain kicker and clears switch 8. No cvpmTrough framework used -- this is a direct Controller.Switch ball management pattern. Saucer at sw5 uses Controller.Switch(5)=1 on hit, SolKicker (solenoid 2) kicks and clears switch 5. Three drop target banks: Left bank (sw20-24, 5 targets, reset by solenoid 8), Center bank (sw2-4, 3 targets, reset by solenoid 10), Top bank (sw26-28, 3 targets, reset by solenoid 9). All drop targets use DTHit\u002FDTRaise Roth drop target system. Switch 32 is Right Flipper EOS\u002Fbutton switch -- manually set via Controller.Switch(32) in KeyDown\u002FKeyUp for RightFlipperKey. Four flippers: LeftFlipper, RightFlipper, LeftFlipper1 (upper left), RightFlipper1 (upper right) using nFozzy flipper implementation with LF\u002FRF\u002FULF\u002FURF fire objects. Flipper solenoids from Bally.vbs framework constants: sLRFlipper=17, sLLFlipper=18, sULFlipper=20, sURFlipper=19. Solenoid 25 is GameOn relay (vpmNudge.SolGameOn). Solenoid 6 is knocker. Lamps identified from VLM (Visual Light Map) BL_L\u003C\u002Fem> arrays -- 54 controlled lamps numbered l1 through l63 (not all sequential). Additional backglass lamps identified from UpdateMultipleLamps LampCallback: lamp 13 (Ball In Play), lamp 45 (Game Over), lamp 29 (High Score To Date), lamp 43 (Shoot Again), lamp 61 (Tilt). GI uses 31 light groups (GI001-GI031) driven by GiON\u002FGiOFF subs, not ROM-controlled. No cvpmMech usage. Gates are purely decorative (6 gate animations, no switch triggers). Spinner at sw33. Three pop bumpers: Bumper1=sw40, Bumper2=sw38, Bumper3=sw39. Two slingshots: Left=sw37, Right=sw36.\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.skateball\u003C\u002Fcode>: \u003Ccode>games\u002Fskateball.json\u003C\u002Fcode> at the pinned migration revision.\u003C\u002Fli>\n\u003C\u002Ful>\n",[1488,1491,1494,1497,1500,1503,1506,1509,1512,1515,1518],{"id":1489,"text":1490},"overview","Overview",{"id":1492,"text":1493},"playfield-devices","Playfield devices",{"id":1495,"text":1496},"custom-mechanisms","Custom mechanisms",{"id":1498,"text":1499},"ball-state-transitions","Ball-state transitions",{"id":1501,"text":1502},"controller-interactions","Controller interactions",{"id":1504,"text":1505},"service-and-setup-information","Service and setup information",{"id":1507,"text":1508},"timing-and-tuning-observations","Timing and tuning observations",{"id":1510,"text":1511},"recreation-guidance","Recreation guidance",{"id":1513,"text":1514},"evidence-notes","Evidence notes",{"id":1516,"text":1517},"unresolved-questions","Unresolved questions",{"id":1519,"text":1520},"sources","Sources",[1522],{"label":1523,"value":1524},"Coverage","partial - source-derived recreation knowledge requiring validation",[1526,1528,1529],{"clone_of":57,"coverage_status":35,"definition":1485,"definition_sha256":1527,"description":58,"flags":4,"id":59,"machine_id":667,"manufacturer":60,"root_driver":57,"year":61},"f0944ab6f842388d5d0395dfce89258adebe51dc53b809de8b5676455a2a4ea1",{"clone_of":57,"coverage_status":35,"definition":1485,"definition_sha256":1527,"description":63,"flags":4,"id":64,"machine_id":667,"manufacturer":60,"root_driver":57,"year":65},{"coverage_status":35,"definition":1485,"definition_sha256":1527,"description":67,"flags":4,"id":57,"machine_id":667,"manufacturer":68,"root_driver":57,"year":69},[1531,1534,1538,1541,1545,1549],{"slug":1532,"name":1533,"manufacturer":68,"year":669,"status":35},"bally-flash-gordon-1980","Flash Gordon",{"slug":1535,"name":1536,"manufacturer":68,"year":1537,"status":35},"bally-centaur-1981","Centaur",1981,{"slug":1539,"name":1540,"manufacturer":68,"year":1537,"status":35},"bally-spectrum-1981","Spectrum",{"slug":1542,"name":1543,"manufacturer":68,"year":1544,"status":35},"bally-harlem-globetrotters-on-tour-1979","Harlem Globetrotters on Tour",1979,{"slug":1546,"name":1547,"manufacturer":68,"year":1548,"status":35},"bally-beat-the-clock-1985","Beat The Clock",1985,{"slug":1550,"name":1551,"manufacturer":68,"year":1552,"status":35},"bally-special-force-1986","Special Force",1986,null,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1555},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"\u002F>\u003Cpath d=\"M3 5v14a9 3 0 0 0 18 0V5\"\u002F>\u003Cpath d=\"M3 12a9 3 0 0 0 18 0\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1557,"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":1559},"\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":1561},"\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":1563},"\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":1565},"\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":1567},"\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":1569},"\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":1571},"\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":1573},"\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":1575},"\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":1577},"\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":1579,"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":1581},"\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":1583},"\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":1585},"\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":1587},"\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":1589},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",1785881383655]