import{aasg,basp,casM}from"./chunk-ASAEALE3.js";import{Jaso,d,fasl}from"./chunk-GKVIY6GD.js";import{Hasa,Tast,Wasx,Yash,Zasi,gasf}from"./chunk-YL2YTMD7.js";import"./chunk-RQFURXHW.js";varA=x([[t.UP,0,1],[t.DOWN,0,2],[t.LEFT,0,4],[t.RIGHT,0,8],[t.A,0,16],[t.B,0,32],[t.GP_A,0,16],[t.GP_B,0,32],[t.P2_UP,0,64],[t.P2_DOWN,0,128],[t.P2_LEFT,1,1],[t.P2_RIGHT,1,2],[t.P2_A,1,4],[t.P2_B,1,8],[t.VK_BACK_SLASH,1,16],[t.VK_ENTER,1,128]]),m=classextendsM{constructor(){super();this.numVisibleScanlines=240;this.defaultROMSize=49152;this.ram=newUint8Array(1024);this.read=i([[49152,65535,1023,e=>this.ram[e]],[0,49151,65535,e=>this.rom&&this.rom[e]]]);this.write=i([[49152,65535,1023,(e,r)=>{this.ram[e]=r}]]);this.init(this,this.newIOBus(),newl(newd))}getKeyboardMap(){returnA}vdpInterrupt(){returnthis.probe.logInterrupt(255),this.cpu.interrupt(255)}getVCounter(){return0}getHCounter(){return0}setMemoryControl(e){}setIOPortControl(e){}readIO(e){switch(e&193){case64:returnthis.getVCounter();case65:returnthis.getHCounter();case128:returnthis.vdp.readData();case129:returnthis.vdp.readStatus();case192:returnthis.inputs[0]^255;case193:returnthis.inputs[1]^255}return0}writeIO(e,r){switch(e&193){case0:returnthis.setMemoryControl(r);case1:returnthis.setIOPortControl(r);case64:case65:returnthis.psg.setData(r);case128:returnthis.vdp.writeData(r);case129:returnthis.vdp.writeAddress(r)}}newIOBus(){return{read:e=>(e&=255,this.readIO(e)),write:(e,r)=>{e&=255,r&=255,this.writeIO(e,r)}}}},u=classextendsm{constructor(){super(...arguments);this.cartram=newUint8Array(0);this.pagingRegisters=newUint8Array(4);this.latchedHCounter=0;this.ioControlFlags=0;this.ram=newUint8Array(8192);this.read=i([[49152,65535,8191,e=>this.ram[e]],[0,1023,1023,e=>this.rom&&this.rom[e]],[1024,16383,16383,e=>this.getPagedROM(e,1)],[16384,32767,16383,e=>this.getPagedROM(e,2)],[32768,49151,16383,e=>{varr=this.pagingRegisters[0];returnr&8?this.cartram[r&4?e+16384:e]:this.getPagedROM(e,3)}]]);this.write=i([[49152,65531,8191,(e,r)=>{this.ram[e]=r}],[65532,65535,3,(e,r)=>{this.pagingRegisters[e]=r,this.ram[e+8188]=r}],[32768,49151,16383,(e,r)=>{vars=this.pagingRegisters[0];s&8&&(this.cartram.length==0&&(this.cartram=newUint8Array(32768)),this.cartram[s&4?e+16384:e]=r)}]])}newVDP(e,r,s){returnnewg(e,r,s)}reset(){super.reset(),this.pagingRegisters.set([0,0,1,2])}getVCounter(){vare=this.scanline;returne<=218?e:e-6}getHCounter(){returnthis.latchedHCounter}computeHCounter(){return0}setIOPortControl(e){(e^this.ioControlFlags)&160&&(this.latchedHCounter=this.computeHCounter()),this.ioControlFlags=e}getPagedROM(e,r){returnthis.rom&&this.rom[e+((this.pagingRegisters[r]&this.romPageMask)<<14)]}loadROM(e){if(e.length<=49152)this.rom=h(e,49152),this.romPageMask=3;elseswitch(e.length){case65536:case131072:case262144:case524288:this.rom=e,this.romPageMask=(e.length>>14)-1;break;default:throwError("Unknown rom size: $"+f(e.length))}this.reset()}loadState(e){super.loadState(e),this.pagingRegisters.set(e.pr),this.cartram.set(e.cr),this.latchedHCounter=e.lhc,this.ioControlFlags=e.iocf}saveState(){vare=super.saveState();returne.pr=this.pagingRegisters.slice(0),e.cr=this.cartram.slice(0),e.lhc=this.latchedHCounter,e.iocf=this.ioControlFlags,e}getDebugInfo(e,r){switch(e){case"SMS":returnsuper.getDebugInfo(e,r)+`