1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-06-26 06:29:29 +00:00
8bitworkshop/gen/vector-PIK3G3LW.js

3 lines
9.0 KiB
JavaScript
Raw Normal View History

import{D as K,g as T,z as I}from"./chunk-ORITJQOD.js";import{$ as y,J as R,Q as A,R as C,T as _,V as w,X as O,Y as E,_ as D}from"./chunk-QR47OPYG.js";import"./chunk-5XVCUSSZ.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<x;r++){if(b&&b()){b=null;break}if(l++,--S==0){var c=s.setNMIAndWait();l+=c,S=o-c}s.clockPulse()}},this.loadROM=function(a,b){if(b.length!=8192)throw Error("ROM length must be == 0x2000");g=b.slice(0,6144),p=b.slice(6144,8192),this.reset()},this.isRunning=function(){return t&&t.isRunning()},this.pause=function(){t.stop(),i.stop()},this.resume=function(){t.start(),i.start()},this.reset=function(){this.clearDebug(),s.reset()},this.loadState=function(a){s.loadState(a.c),h.mem.set(a.b),u.mem.set(a.db),n.set(a.sw),S=a.nmic},this.saveState=function(){return{c:s.saveState(),b:h.mem.slice(0),db:u.mem.slice(0),sw:n.slice(0),nmic:S}},this.loadControlsState=function(a){n.set(a.sw)},this.saveControlsState=function(){return{sw:n.slice(0)}},this.getCPUState=function(){return s.saveState()},this.getMemoryMap=function(){return{main:[{name:"Switches/POKEY I/O",start:30720,size:4096,type:"io"},{name:"DVG I/O",start:34816,size:256,type:"io"},{name:"EAROM",start:35072,size:256,type:"ram"}]}}},B=function(M){var k=12096e3,P=k/8,v=k/4096/12,o=Math.round(P/v),x=Math.round(P/60),s,h,u,g,p,d,f,m,i,t,l,e,n=new C(16).mem,S=o,a,b;this.__proto__=new I,this.getPresets=function(){return F},this.start=function(){h=new C(2048),u=new C(8192),m=new C(64),n[0]=0,n[1]=255,n[2]=0,d={read:y([[0,2047,2047,function(r){return h.mem[r]}],[8192,10239,2047,function(r){return u.mem[r]}],[10240,24575,32767,function(r){return p[r-10240]}],[30720,30720,0,function(r){return n[0]}],[32768,32768,0,function(r){return n[1]}],[34816,34816,0,function(r){return n[2]}],[35072,35072,0,function(r){return b}],[36864,65535,65535,function(r){return g?g[r-36864]:0}]]),write:y([[0,2047,2047,function(r,c){h.mem[r]=c}],[8192,10239,2047,function(r,c){u.mem[r]=c}],[10240,24575,32767,function(r,c){p[r-10240]=c}],[24576,26623,15,function(r,c){t.pokey1.setRegister(r,c)}],[26624,28671,15,function(r,c){t.pokey2.setRegister(r,c)}],[34816,34816,0,function(r,c){}],[34880,34880,0,function(r,c){f.runUntilHalt(0)}],[34944,34944,0,function(r,c){f.reset()}],[35008,35008,0,function(r,c){}],[35072,35072,0,function(r,c){c==9&&(b=m.mem[a]),c==12&&(m.mem[a]=b)}],[35136,35199,63,function(r,c){a=r,b=c}],[35200,35200,0,function(r,c){}]])},this.readAddress=d.read,s=this.newCPU(d),i=new A(M,1024,1024),f=new z(d,i,8192),t=T(2),i.create(),l=new _(60,this.nextFrame.bind(this)),O(i,n,G)},th
//# sourceMappingURL=vector-PIK3G3LW.js.map