import{aasl,basg}from"./chunk-4UOPFAU7.js";import{Hasm,dash,fasd}from"./chunk-2T5IQXGX.js";import"./chunk-JM5NHRL4.js";import{Iaso,Uast,Xasu,Zasx,_ass,gasf}from"./chunk-VOKPYVET.js";import"./chunk-5XVCUSSZ.js";varS=u([[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.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]]),n=classextendsg{constructor(){super();this.numVisibleScanlines=240;this.defaultROMSize=49152;this.ram=newUint8Array(1024);this.read=s([[49152,65535,1023,e=>this.ram[e]],[0,49151,65535,e=>this.rom&&this.rom[e]]]);this.write=s([[49152,65535,1023,(e,r)=>{this.ram[e]=r}]]);this.init(this,this.newIOBus(),newd(newh))}getKeyboardMap(){returnS}vdpInterrupt(){returnthis.probe.logInterrupt(255),this.cpu.interrupt(255)}getVCounter(){return0}getHCounter(){return0}setMemoryControl(e){}setIOPortControl(e){}newIOBus(){return{read:e=>{switch(e&=255,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},write:(e,r)=>{switch(e&=255,r&=255,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)}}}}},c=classextendsn{constructor(){super(...arguments);this.cartram=newUint8Array(0);this.pagingRegisters=newUint8Array(4);this.latchedHCounter=0;this.ioControlFlags=0;this.ram=newUint8Array(8192);this.read=s([[49152,65535,8191,e=>this.ram[e]],[0,1023,1023,e=>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=s([[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)=>{vari=this.pagingRegisters[0];i&8&&(this.cartram.length==0&&(this.cartram=newUint8Array(32768)),this.cartram[i&4?e+16384:e]=r)}]])}newVDP(e,r,i){returnnewl(e,r,i)}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=x(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)+`