import{aasT}from"./chunk-VAKIPXZM.js";import{aasA}from"./chunk-PQDZBFBB.js";import{AasR,Gask,aasb,masP,nasx,wasC}from"./chunk-HB3LWF25.js";import{Dasd,Jasm,Nasf,Sasv,UasS,aasn,gasc,hasu}from"./chunk-ATS7PSQG.js";import"./chunk-5XVCUSSZ.js";varp=[{id:"examples/hello.a",chapter:4,name:"Hello 6502 and TIA"},{id:"examples/vsync.a",chapter:5,name:"Painting on the CRT",title:"Color Bars"},{id:"examples/playfield.a",chapter:6,name:"Playfield Graphics"},{id:"examples/sprite.a",chapter:7,name:"Players and Sprites"},{id:"examples/colorsprites.a",chapter:8,name:"Color Sprites"},{id:"examples/timing2.a",chapter:9,name:"Fine Positioning",title:"Fine Position"},{id:"examples/missiles.a",chapter:10,name:"Player/Missile Graphics",title:"Player/Missile"},{id:"examples/sethorizpos.a",chapter:11,name:"SetHorizPos Routine"},{id:"examples/piatimer.a",chapter:12,name:"PIA Timer"},{id:"examples/controls.a",chapter:13,name:"Joysticks"},{id:"examples/complexscene.a",chapter:15,name:"Complex Scene I"},{id:"examples/complexscene2.a",chapter:16,name:"Complex Scene II"},{id:"examples/scoreboard.a",chapter:18,name:"Scoreboard"},{id:"examples/collisions.a",chapter:19,name:"Collisions"},{id:"examples/bitmap.a",chapter:20,name:"Async Playfield: Bitmap",title:"Async PF Bitmap"},{id:"examples/brickgame.a",chapter:21,name:"Async Playfield: Bricks",title:"Async PF Bricks"},{id:"examples/bigsprite.a",chapter:22,name:"A Big 48-Pixel Sprite",title:"48-Pixel Sprite"},{id:"examples/tinyfonts2.a",chapter:23,name:"Tiny Text"},{id:"examples/score6.a",chapter:24,name:"6-Digit Score"},{id:"examples/retrigger.a",chapter:26,name:"Sprite Formations"},{id:"examples/multisprite3.a",chapter:28,name:"Multisprites"},{id:"examples/procgen1.a",chapter:30,name:"Procedural Generation"},{id:"examples/lines.a",chapter:31,name:"Drawing Lines"},{id:"examples/musicplayer.a",chapter:32,name:"Music Player"},{id:"examples/road.a",chapter:33,name:"Pseudo 3D Road"},{id:"examples/bankswitching.a",chapter:35,name:"Bankswitching"},{id:"examples/wavetable.a",chapter:36,name:"Wavetable Sound"},{id:"examples/fracpitch.a",name:"Fractional Pitch"},{id:"examples/pal.a",name:"PAL Video Output"},{id:"bb/helloworld.bas",name:"Hello World (batariBASIC)"},{id:"bb/draw.bas",name:"Playfield Draw (batariBASIC)"},{id:"bb/sample.bas",name:"Sprite Test (batariBASIC)"},{id:"bb/FIFA1977.bas",name:"2P Soccer Game (batariBASIC)"},{id:"bb/duck_chase.bas",name:"Duck Chase (batariBASIC)"},{id:"wiz/finalduck.wiz",name:"Final Duck (Wiz)"}];functiong(s){returns.endsWith(".wiz")?"wiz":s.endsWith(".bb")||s.endsWith(".bas")?"bataribasic":s.endsWith(".ca65")?"ca65":s.endsWith(".ecs")?"ecs":"dasm"}varE=classextendsC{constructor(){super(...arguments);this.machine={cpuCyclesPerLine:76};this.getToolForFilename=g;this.getMemoryMap=function(){return{main:[{name:"TIA Registers",start:0,size:128,type:"io"},{name:"PIA RAM",start:128,size:128,type:"ram"},{name:"PIA Ports and Timer",start:640,size:24,type:"io"},{name:"Cartridge ROM",start:61440,size:4096,type:"rom"}]}};this.nullProbe=newx;this.probe=this.nullProbe}getPresets(){returnp}asyncstart(){vare=this;awaitd("javatari/javatari.js"),Javatari.AUTO_START=!1,Javatari.SHOW_ERRORS=!1,Javatari.CARTRIDGE_CHANGE_DISABLED=!0,Javatari.DEBUG_SCANLINE_OVERFLOW=!1,Javatari.AUDIO_BUFFER_SIZE=256,$("#javatari-div").show(),Javatari.start();vara=Javatari.room.console;a.oldClockPulse=a.clockPulse,a.clockPulse=function(){e.updateRecorder(),e.probe.logNewFrame(),this.oldClockPulse(),Javatari.room.console.getCPUState().o==2&&Javatari.room.console.onBreakpointHit!=null&&Javatari.room.console.onBreakpointHit(Javatari.room.console.saveState())};varr=a.tia.getVideoOutput();r.oldNextLine=r.nextLine,r.nextLine=function(i,l){returne.probe.logNewScanline(),this.oldNextLine(i,l)};varo=$("#javatari-screen").find("canvas");newResizeObserver(i=>{this.resize()}).observe(o[0])}loadROM(e,a){if(a.length==0||(a.length&1023)!=0)thrownewv("Invalid ROM length: "+a.length);varr=this.isRunning();if(Javatari.loadROM(e,a),!this.isRunning())throwError("CouldnotloadROM