import{D as K,g as T,z as I}from"./chunk-6UU4KLMR.js";import{H as R,O as A,P as C,R as _,T as w,V as O,W as E,Y as D,Z as y}from"./chunk-7LTJUW24.js";import"./chunk-RQFURXHW.js";var F=[{id:"font.c",name:"Vector Fonts"},{id:"threed.c",name:"3D Transformations"},{id:"game.c",name:"Space Game"},{id:"music.c",name:"POKEY Music"}],L=E([[w.B,3,255],[w.A,4,255],[w.SELECT,8,255],[w.VK_6,9,255],[w.VK_7,10,255],[w.START,11,255],[w.P2_START,12,255],[w.UP,13,255],[w.RIGHT,14,255],[w.LEFT,15,255]]),G=E([[w.B,1,-1],[w.A,1,-2],[w.VK_5,0,2],[w.VK_6,0,1],[w.START,2,32],[w.P2_START,2,64],[w.UP,1,-16],[w.DOWN,1,-32],[w.RIGHT,1,-4],[w.LEFT,1,-8]]),H=function(M){var k=12096e3,P=k/8,v=Math.round(P/(k/4096)),o=Math.round(P*12/(k/4096)),x=Math.round(P/60),s,h,u,g,p,d,f,m,i,t,l,e=0,n=new C(16).mem,S=o;this.__proto__=new I,this.showHelp=function(){return"https://8bitworkshop.com/docs/platforms/arcade/index.html#vector-games"},this.getPresets=function(){return F},this.start=function(){h=new C(1024),u=new C(8192),d={read:y([[0,1023,1023,function(a){return h.mem[a]}],[8193,8193,0,function(a){return l/v&1?255:0}],[8192,8199,7,function(a){return n[a]}],[9216,9223,7,function(a){return n[a+8]}],[16384,20479,4095,function(a){return u.mem[a]}],[20480,24575,4095,function(a){return p[a]}],[26624,32767,0,function(a){return g?g[a-26624]:0}]],{gmask:32767}),write:y([[0,1023,1023,function(a,b){h.mem[a]=b}],[12288,12288,0,function(a,b){f.runUntilHalt(0)}],[13312,13312,0,function(a,b){e=0}],[16384,24575,8191,function(a,b){u.mem[a]=b}]],{gmask:32767})},this.readAddress=d.read,s=this.newCPU(d),m=new A(M,1024,1024),f=new W(d,m,16384),i=T(2),m.create(),t=new _(60,this.nextFrame.bind(this)),O(m,n,L)},this.advance=a=>{a||m.clear();var b=this.getDebugCallback();l=0;for(var r=0;r{r||i.clear();var c=this.getDebugCallback();e=0;for(var V=0;V>16,n=t[2]<<24>>24,S=t[3]<<24>>24,a=n!=0?e/n:0;e+=n*S&65535,t[0]=e&255,t[1]=e>>8&255,t[4]=a&255,t[5]=a>>8&255}this.start=function(){x=new C(8192),s=new C(16384),i[0]=0,i[1]=255,i[2]=0,u={read:y([[0,32767,0,function(e){return h?h[e]:0}],[32768,32783,15,function(e){return i[e]}],[33024,33039,15,function(e){return t[e]}],[40960,57343,16383,function(e){return s.mem[e]}],[57344,65535,8191,function(e){return x.mem[e]}]]),write:y([[32768,32783,15,function(e,n){d.pokey1.setRegister(e,n)}],[32784,32799,15,function(e,n){d.pokey2.setRegister(e,n)}],[33024,33038,15,function(e,n){t[e]=n}],[33039,33039,0,function(e,n){l()}],[34880,34880,0,function(e,n){g.runUntilHalt(0)}],[34944,34944,0,function(e,n){g.reset()}],[35200,35200,0,function(e,n){i[14]=16}],[40960,57343,16383,function(e,n){s.mem[e]=n}],[57344,65535,8191,function(e,n){x.mem[e]=n}]])},this.readAddress=u.read,o=this.newCPU(u,u),p=new A(M,1024,1024),g=new z(u,p,40960),d=T(2),p.create(),f=new _(60,this.nextFrame.bind(this)),O(p,i,G)},this.advance=e=>{e||p.clear(),this.runCPU(o,v),o.interrupt(255),i[15]=i[15]+1&3,--i[14]<=0&&(console.log("WATCHDOG FIRED"),this.reset())},this.loadROM=function(e,n){h=D(n,32768),this.reset()},this.isRunning=function(){return f&&f.isRunning()},this.pause=function(){f.stop(),d.stop()},this.resume=function(){f.start(),d.start()},this.reset=function(){i[14]=16,o.reset()},this.loadState=function(e){o.loadState(e.c),x.mem.set(e.b),s.mem.set(e.db),i.set(e.sw),t.set(e.mr)},this.saveState=function(){return{c:o.saveState(),b:x.mem.slice(0),db:s.mem.slice(0),sw:i.slice(0),mr:t.slice(0)}},this.loadControlsState=function(e){i.set(e.sw)},this.saveControlsState=function(){return{sw:i.slice(0)}},this.getCPUState=function(){return o.saveState()},this.getMemoryMap=function(){return{main:[{name:"Switches/POKEY I/O",start:32768,size:256,type:"io"},{name:"Math Box I/O",start:33024,size:256,type:"io"},{name:"DVG I/O",start:34816,size:256,type:"io"},{name:"DVG RAM",start:40960,size:16384,type:"ram"}]}}},W=function(M,k,P){var v=0,o=0,x=0,s=0,h=[],u=!1;P&=65535;function g(f){f&=4095;var m=M.read(f*2+P)+(M.read(f*2+P+1)<<8);return m}function p(f,m){var i=f&1<>12;switch(v++,m){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:{var i=s+9-m,t=g(v++),l=t>>12,e=o+(p(t,10)<<7>>i),n=x+(p(f,10)<<7>>i);k.drawLine(o,x,e,n,l*32,7),o=e,x=n;break}case 10:{var t=g(v++);s=d[t>>12],o=t&1023,x=f&1023;break}case 11:u=!1;break;case 13:v=h.pop();break;case 12:h.push(v);case 14:v=f&4095;break;case 15:{var i=(f>>11&1)+(f>>2&2);i=s-i-1;var e=o+(p(f,2)<<7>>i),n=x+(p(f>>8,2)<<7>>i),l=f>>4&15;k.drawLine(o,x,e,n,l*32,7),o=e,x=n;break}}}}},z=function(M,k,P){var v=0,o=0,x=0,s=1,h,u,g,p=[],d=!1;P&=65535;function f(t){return t&=8191,M.read(t*2+P)+(M.read(t*2+P+1)<<8)}function m(t,l){var e=t&1<>13;switch(v++,l){case 0:{var e=f(v++),n=e>>13;n==2&&(n=u);var S=o+Math.round(m(e,12)*s),a=x+Math.round(m(t,12)*s);g&&(h=i()),k.drawLine(o,x,S,a,n<<4,h),o=S,x=a;break}case 1:d=!1;break;case 2:{var S=o+Math.round(m(t,4)*s*2),a=x+Math.round(m(t>>8,4)*s*2),n=t>>5&7;n==2&&(n=u),g&&(h=i()),k.drawLine(o,x,S,a,n<<4,h),o=S,x=a;break}case 3:{if(t&4096){var b=(t>>8&7)+8,r=~t&255;s=(r<<16>>b)/32768}else h=t&7,u=t>>4&15,g=(t&2048)!=0;break}case 4:o=512,x=512;break;case 6:p.length==0||(v=p.pop());break;case 5:p.push(v);case 7:v==0?d=!1:v=t&8191;break}}}};R["vector-ataribw"]=H;R["vector-ataricolor"]=B;R["vector-z80color"]=Y; //# sourceMappingURL=vector-UX2ALG4N.js.map