mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2026-10-25 00:02:16 +00:00
Deploying to gh-pages from @ sehugg/8bitworkshop@344cdd21f9 🚀
This commit is contained in:
1 parent
9917a6c2b1
commit
6b6f235ec7
212 files changed
+3285
-997
No files matched your search
@@ -55,6 +55,8 @@ See [extension/CHANGELOG.md](extension/CHANGELOG.md).
|
||||
### Build tools
|
||||
|
||||
- Many toolchains are now WASI builds: cc65 (pinned to 2021 6ac4aa4), DASM 2.20.17, acme, zmac, yasm and merlin32.
|
||||
- SDCC 4 mos6502 backend: C64 presets (`hello-sdcc.c`, `screen_ram-sdcc.c`, `joymove-sdcc.c`, `siegegame-sdcc.c`, `sprite_collision-sdcc.c`, `fullscrollgame-sdcc.c`); `load_header` platform param wraps the image as a DOS 3.3 binary (apple2) or a PRG with a `SYS` stub (c64).
|
||||
- C64 `fullscrollgame.c` now takes its level data from `level2-data.c` (the same data as `level2.s`, in C) so the SDCC build can link it; `scrolling2.c` uses plain C copies under SDCC.
|
||||
- Updated batari BASIC; sdcc now parses `#symbol` directives and fixes lost link errors.
|
||||
- New build directives replace the legacy CFGFILE-style ones; build parameters no longer leak between builds.
|
||||
- `#pragma compile("...")` and oscar64 symbol/listing parsing.
|
||||
@@ -63,6 +65,10 @@ See [extension/CHANGELOG.md](extension/CHANGELOG.md).
|
||||
- cc65 toolchain (cc65/ca65/ld65 WASI builds and the per-platform include/lib zips) updated from the 2021 build (`6ac4aa4`) to cc65 `d8a486a` (V2.19-3867, 2026-09-26). The compiler runs with `--disable-opt OptLoadStore1` (the new step drops stores after loads of the same address, which breaks hardware registers and inline asm) and `-unreachable-code`.
|
||||
- cc65 `a2.lo.s` (Apple II lo-res TGI) patched in `8bitworkshop-compilers/patches/cc65-apple2-lo-tgi.patch`: a stray `bpl :+` in `INSTALL` made `tgi_install(a2_lo_tgi)` crash on a non-enhanced Apple II.
|
||||
- Presets adjusted for the newer cc65: NES `chase` closes its zero-page `#pragma` region, C64 `side_scroller` uses an unsigned fixed-point constant, and the Atari vector presets no longer recurse into `main()`. `neslib.h` no longer redefines `NULL` if `stddef.h` already did.
|
||||
- SDCC: both 3.6.5 and 4.x are bundled; 3.6.5 is the default (several times faster to build) and `//#tooldef c sdcc=4` opts in to 4.x (the default is `SDCC_DEFAULT_VERSION` in `toolmeta.ts`). Programs without an `opt_code*` pragma now build with `--no-peep --nolospre --max-allocs-per-node 500`, including Game Boy, which previously always got the full optimizer. See *SDCC versions* in the build directives docs.
|
||||
- SDCC 4 mos6502 backend (experimental): a `.sdcc` or `-sdcc.c` file on `devel-6502` or `apple2` builds with sdcc, `sdas6500` and `sdld6808` (see `hello-sdcc.c` in those presets). Apple II programs link as a DOS 3.3 binary at `$803`. `.sdcc` now selects SDCC on every Z80 and 6502 platform.
|
||||
- `//#tooldef ld code_start=ADDR` and `data_start=ADDR` move SDCC's code and RAM data. The Apple II preset `cosmic-sdcc.c` builds the Cosmic Impalas game with SDCC by including `cosmic.c`, which now has `__SDCC` alternatives for `conio` and inline assembly.
|
||||
- `devel-6502` runs headless in the `8bws` CLI, and the new `serial` run-script command prints what the program sent to its serial port.
|
||||
- Build is now only `esbuild` through `scripts/build.mjs`; code split into a headless `src/common/projectcore.ts` / `toolselect.ts`.
|
||||
- New `buildpresets` script that builds and runs every preset.
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import{a as i0}from"./chunk-TANFDIIN.js";import{G as s0,m as e0,r as t0,z as r0}from"./chunk-QYEDG265.js";import{h as O}from"./chunk-UACHXWHT.js";import{L as U,g as W,i as X,l as $,m as x0,s as a0,u as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var P=class extends t0{constructor(){super();this.cpuFrequency=1022727;this.sampleRate=this.cpuFrequency;this.cpuCyclesPerLine=65;this.cpuCyclesPerFrame=this.cpuCyclesPerLine*262;this.canvasWidth=280;this.numVisibleScanlines=192;this.numTotalScanlines=262;this.defaultROMSize=77824;this.cpuCyclesPaddleUnit=11;this.cpuCyclesPaddleMax=255*this.cpuCyclesPaddleUnit;this.LOAD_BASE=0;this.HDR_SIZE=0;this.ram=new Uint8Array(77824);this.cpu=new e0;this.grdirty=new Array(384);this.grparams={dirty:this.grdirty,grswitch:E,mem:this.ram};this.kbdlatch=0;this.soundstate=0;this.auxRAMselected=!1;this.auxRAMbank=1;this.writeinhibit=!0;this.bank2rdoffset=0;this.bank2wroffset=0;this.paddleValues=[0,0,0,0];this.paddleButtons=[!1,!1,!1];this.paddleLastTriggered=0;this.slots=new Array(8);this.fakeDrive={readROM:x=>{var a=this.cpu.getPC();if(a>=50688&&a<50944)switch(x){case 0:return 0;case 1:return this.LOAD_BASE&255;case 2:return this.LOAD_BASE>>8&255;default:return 0}else switch(x){case 0:return this.rom&&this.loadRAMWithProgram(),76;case 1:return 32;case 3:return 0;case 5:return 3;case 7:return 60;default:return 0}},readConst:x=>0,read:x=>this.floatbus(),write:(x,a)=>{}};this.loadBIOS(new $().decode(x0(atob(u0)))),this.connectCPUMemoryBus(this),this.bios[54170-(65536-this.bios.length)]=96}saveState(){return{c:this.cpu.saveState(),ram:this.ram.slice(),kbdlatch:this.kbdlatch,soundstate:this.soundstate,grswitch:this.grparams.grswitch,auxRAMselected:this.auxRAMselected,auxRAMbank:this.auxRAMbank,writeinhibit:this.writeinhibit,slots:this.slots.map(x=>x&&x.saveState&&x.saveState()),paddleValues:this.paddleValues.slice(),paddleButtons:this.paddleButtons.slice(),inputs:this.ram.slice(0,0)}}loadState(x){this.cpu.loadState(x.c),this.ram.set(x.ram),this.kbdlatch=x.kbdlatch,this.soundstate=x.soundstate,this.grparams.grswitch=x.grswitch,this.auxRAMselected=x.auxRAMselected,this.auxRAMbank=x.auxRAMbank,this.writeinhibit=x.writeinhibit,this.setupLanguageCardConstants();for(var a=0;a<this.slots.length;a++)this.slots[a]&&this.slots[a].loadState&&this.slots[a].loadState(x.slots[a]);this.paddleValues=x.paddleValues.slice(),this.paddleButtons=x.paddleButtons.slice(),this.ap2disp.invalidate()}saveControlsState(){return{inputs:null,kbdlatch:this.kbdlatch}}loadControlsState(x){this.kbdlatch=x.kbdlatch}loadBIOS(x,a){x.length!=12288&&(console.log(`apple2 loadBIOS !!!WARNING!!!: BIOS wants length 0x3000, but BIOS '${a}' has length 0x${x.length.toString(16)}`),console.log("will load BIOS to end of memory anyway...")),this.bios=Uint8Array.from(x)}loadROM(x,a,r){if(x.length==560*256){var t=new N(this,x);this.slots[6]=t,this.reset()}else{if(super.loadROM(x),X(this.rom.slice(0,4),[0,5,22,0]))this.LOAD_BASE=this.rom[57]|this.rom[56]<<8,this.HDR_SIZE=58;else{let c=this.rom[0]|this.rom[1]<<8,f=this.rom[2]|this.rom[3]<<8,g=c<49152&&c+f<77824;f==x.length-4&&g?(this.LOAD_BASE=c,this.HDR_SIZE=4):(this.LOAD_BASE=r!=null?r:2051,this.HDR_SIZE=0)}this.slots[6]=this.fakeDrive}}loadRAMWithProgram(){console.log(`Loading program into Apple ][ RAM at $${this.LOAD_BASE.toString(16)} (${this.HDR_SIZE} bytes skipped for header)`);let x=this.rom.slice(this.HDR_SIZE,this.HDR_SIZE+this.ram.length-this.LOAD_BASE);this.ram.set(x,this.LOAD_BASE),this.HDR_SIZE==58&&(this.ram[48896]=76,this.ram[49007]=1)}reset(){this.auxRAMselected=!1,this.auxRAMbank=1,this.writeinhibit=!0,this.ram.fill(0,768,1024),super.reset(),this.skipboot()}skipboot(){for(var x=0;x<2e6&&(this.cpu.advanceClock(),this.cpu.getPC()>>8!=198);x++);for(var x=0;x<2e6&&(this.cpu.advanceClock(),!(this.cpu.getPC()>>8<198));x++);}readConst(x){if(x<49152)return this.ram[x];if(x>=53248)return this.auxRAMselected?x>=57344?this.ram[x]:this.ram[x+this.bank2rdoffset]:this.bios[x-(65536-this.bios.length)];if(x>=49408&&x<51200){var a=x>>8&7;return(this.slots[a]&&this.slots[a].readConst(x&255))|0}else return 0}read(x){if(x&=65535,x<49152||x>=53248)return this.readConst(x);if(x<49408){this.probe.logIORead(x,0);var a=x>>4&15;switch(a){case 0:return this.kbdlatch;case 1:this.kbdlatch&=127;break;case 3:this.soundstate=this.soundstate^1;break;case 5:(x&15)<8&&((x&1)!=0?this.grparams.grswitch|=1<<(x>>1&7):this.grparams.grswitch&=~(1<<(x>>1&7)));break;case 6:switch(x&7){case 1:case 2:case 3:var r=(x&7)-1;return this.paddleButtons[r]?this.floatbus()|128:this.floatbus()&127;case 4:case 5:case 6:case 7:var t=(x&15)-4,c=this.frameCycles-this.paddleLastTriggered;return c<this.paddleValues[t]*this.cpuCyclesPaddleUnit?this.floatbus()|128:this.floatbus()&127;default:return this.floatbus()}case 7:if(x==49264)return this.paddleLastTriggered=this.frameCycles,this.floatbus()|128;case 8:return this.doLanguageCardIO(x);case 9:case 10:case 11:case 12:case 13:case 14:case 15:return(this.slots[a-8]&&thiLine truncated
|
||||
import{a as i0}from"./chunk-ENVHSJV6.js";import{G as s0,m as e0,r as t0,z as r0}from"./chunk-RWTUUV4L.js";import{h as O}from"./chunk-UXRCACYH.js";import{L as U,g as W,i as X,l as $,m as x0,s as a0,u as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var P=class extends t0{constructor(){super();this.cpuFrequency=1022727;this.sampleRate=this.cpuFrequency;this.cpuCyclesPerLine=65;this.cpuCyclesPerFrame=this.cpuCyclesPerLine*262;this.canvasWidth=280;this.numVisibleScanlines=192;this.numTotalScanlines=262;this.defaultROMSize=77824;this.cpuCyclesPaddleUnit=11;this.cpuCyclesPaddleMax=255*this.cpuCyclesPaddleUnit;this.LOAD_BASE=0;this.HDR_SIZE=0;this.ram=new Uint8Array(77824);this.cpu=new e0;this.grdirty=new Array(384);this.grparams={dirty:this.grdirty,grswitch:E,mem:this.ram};this.kbdlatch=0;this.soundstate=0;this.auxRAMselected=!1;this.auxRAMbank=1;this.writeinhibit=!0;this.bank2rdoffset=0;this.bank2wroffset=0;this.paddleValues=[0,0,0,0];this.paddleButtons=[!1,!1,!1];this.paddleLastTriggered=0;this.slots=new Array(8);this.fakeDrive={readROM:x=>{var a=this.cpu.getPC();if(a>=50688&&a<50944)switch(x){case 0:return 0;case 1:return this.LOAD_BASE&255;case 2:return this.LOAD_BASE>>8&255;default:return 0}else switch(x){case 0:return this.rom&&this.loadRAMWithProgram(),76;case 1:return 32;case 3:return 0;case 5:return 3;case 7:return 60;default:return 0}},readConst:x=>0,read:x=>this.floatbus(),write:(x,a)=>{}};this.loadBIOS(new $().decode(x0(atob(u0)))),this.connectCPUMemoryBus(this),this.bios[54170-(65536-this.bios.length)]=96}saveState(){return{c:this.cpu.saveState(),ram:this.ram.slice(),kbdlatch:this.kbdlatch,soundstate:this.soundstate,grswitch:this.grparams.grswitch,auxRAMselected:this.auxRAMselected,auxRAMbank:this.auxRAMbank,writeinhibit:this.writeinhibit,slots:this.slots.map(x=>x&&x.saveState&&x.saveState()),paddleValues:this.paddleValues.slice(),paddleButtons:this.paddleButtons.slice(),inputs:this.ram.slice(0,0)}}loadState(x){this.cpu.loadState(x.c),this.ram.set(x.ram),this.kbdlatch=x.kbdlatch,this.soundstate=x.soundstate,this.grparams.grswitch=x.grswitch,this.auxRAMselected=x.auxRAMselected,this.auxRAMbank=x.auxRAMbank,this.writeinhibit=x.writeinhibit,this.setupLanguageCardConstants();for(var a=0;a<this.slots.length;a++)this.slots[a]&&this.slots[a].loadState&&this.slots[a].loadState(x.slots[a]);this.paddleValues=x.paddleValues.slice(),this.paddleButtons=x.paddleButtons.slice(),this.ap2disp.invalidate()}saveControlsState(){return{inputs:null,kbdlatch:this.kbdlatch}}loadControlsState(x){this.kbdlatch=x.kbdlatch}loadBIOS(x,a){x.length!=12288&&(console.log(`apple2 loadBIOS !!!WARNING!!!: BIOS wants length 0x3000, but BIOS '${a}' has length 0x${x.length.toString(16)}`),console.log("will load BIOS to end of memory anyway...")),this.bios=Uint8Array.from(x)}loadROM(x,a,r){if(x.length==560*256){var t=new N(this,x);this.slots[6]=t,this.reset()}else{if(super.loadROM(x),X(this.rom.slice(0,4),[0,5,22,0]))this.LOAD_BASE=this.rom[57]|this.rom[56]<<8,this.HDR_SIZE=58;else{let c=this.rom[0]|this.rom[1]<<8,f=this.rom[2]|this.rom[3]<<8,g=c<49152&&c+f<77824;f==x.length-4&&g?(this.LOAD_BASE=c,this.HDR_SIZE=4):(this.LOAD_BASE=r!=null?r:2051,this.HDR_SIZE=0)}this.slots[6]=this.fakeDrive}}loadRAMWithProgram(){console.log(`Loading program into Apple ][ RAM at $${this.LOAD_BASE.toString(16)} (${this.HDR_SIZE} bytes skipped for header)`);let x=this.rom.slice(this.HDR_SIZE,this.HDR_SIZE+this.ram.length-this.LOAD_BASE);this.ram.set(x,this.LOAD_BASE),this.HDR_SIZE==58&&(this.ram[48896]=76,this.ram[49007]=1)}reset(){this.auxRAMselected=!1,this.auxRAMbank=1,this.writeinhibit=!0,this.ram.fill(0,768,1024),super.reset(),this.skipboot()}skipboot(){for(var x=0;x<2e6&&(this.cpu.advanceClock(),this.cpu.getPC()>>8!=198);x++);for(var x=0;x<2e6&&(this.cpu.advanceClock(),!(this.cpu.getPC()>>8<198));x++);}readConst(x){if(x<49152)return this.ram[x];if(x>=53248)return this.auxRAMselected?x>=57344?this.ram[x]:this.ram[x+this.bank2rdoffset]:this.bios[x-(65536-this.bios.length)];if(x>=49408&&x<51200){var a=x>>8&7;return(this.slots[a]&&this.slots[a].readConst(x&255))|0}else return 0}read(x){if(x&=65535,x<49152||x>=53248)return this.readConst(x);if(x<49408){this.probe.logIORead(x,0);var a=x>>4&15;switch(a){case 0:return this.kbdlatch;case 1:this.kbdlatch&=127;break;case 3:this.soundstate=this.soundstate^1;break;case 5:(x&15)<8&&((x&1)!=0?this.grparams.grswitch|=1<<(x>>1&7):this.grparams.grswitch&=~(1<<(x>>1&7)));break;case 6:switch(x&7){case 1:case 2:case 3:var r=(x&7)-1;return this.paddleButtons[r]?this.floatbus()|128:this.floatbus()&127;case 4:case 5:case 6:case 7:var t=(x&15)-4,c=this.frameCycles-this.paddleLastTriggered;return c<this.paddleValues[t]*this.cpuCyclesPaddleUnit?this.floatbus()|128:this.floatbus()&127;default:return this.floatbus()}case 7:if(x==49264)return this.paddleLastTriggered=this.frameCycles,this.floatbus()|128;case 8:return this.doLanguageCardIO(x);case 9:case 10:case 11:case 12:case 13:case 14:case 15:return(this.slots[a-8]&&thiLine truncated
|
||||
AUX RAM Select: `+a.auxRAMselected+`
|
||||
AUX RAM Write: `+!a.writeinhibit+`
|
||||
|
||||
GR Switches: `+a0(a.grswitch,["Graphics","Mixed","Page2","Hires"],!1)+`
|
||||
`;case"Disk":return this.slots[6]&&this.slots[6].toLongString&&this.slots[6].toLongString()||`
|
||||
`}}},E=1,L=2,v=4,z=8,l0=function(n,e){var x=280,a=192,r=4294967295,t=4278190080,c=-1,f=new Array(960);let g=250,C=[d(0,0,0),d(227,30,96),d(96,78,189),d(255,68,253),d(0,163,96),d(156,156,156),d(20,207,253),d(208,195,255),d(96,114,3),d(255,106,60),d(156,156,156),d(255,160,208),d(20,245,60),d(208,221,141),d(114,255,208),d(255,255,255)],u=[0,128,256,384,512,640,768,896,40,168,296,424,552,680,808,936,80,208,336,464,592,720,848,976],m=[0,1024,2048,3072,4096,5120,6144,7168,128,1152,2176,3200,4224,5248,6272,7296,256,1280,2304,3328,4352,5376,6400,7424,384,1408,2432,3456,4480,5504,6528,7552,512,1536,2560,3584,4608,5632,6656,7680,640,1664,2688,3712,4736,5760,6784,7808,768,1792,2816,3840,4864,5888,6912,7936,896,1920,2944,3968,4992,6016,7040,8064,40,1064,2088,3112,4136,5160,6184,7208,168,1192,2216,3240,4264,5288,6312,7336,296,1320,2344,3368,4392,5416,6440,7464,424,1448,2472,3496,4520,5544,6568,7592,552,1576,2600,3624,4648,5672,6696,7720,680,1704,2728,3752,4776,5800,6824,7848,808,1832,2856,3880,4904,5928,6952,7976,936,1960,2984,4008,5032,6056,7080,8104,80,1104,2128,3152,4176,5200,6224,7248,208,1232,2256,3280,4304,5328,6352,7376,336,1360,2384,3408,4432,5456,6480,7504,464,1488,2512,3536,4560,5584,6608,7632,592,1616,2640,3664,4688,5712,6736,7760,720,1744,2768,3792,4816,5840,6864,7888,848,1872,2896,3920,4944,5968,6992,8016,976,2e3,3024,4048,5072,6096,7120,8144,120,1144,2168,3192,4216,5240,6264,7288,248,1272,2296,3320,4344,5368,6392,7416,376,1400,2424,3448,4472,5496,6520,7544,504,1528,2552,3576,4600,5624,6648,7672,632,1656,2680,3704,4728,5752,6776,7800,760,1784,2808,3832,4856,5880,6904,7928,888,1912,2936,3960,4984,6008,7032,8056,1016,2040,3064,4088,5112,6136,7160,8184,0,1024,2048,3072,4096,5120];var R;{R=new Array(256*4*2*7);var p,I,y,Q,k0=15,J=0;for(I=0;I<2;I++)for(var D=0;D<1024;D++){(D&128)==0?(y=3,Q=12):(y=6,Q=9);var _=(D&256)>>8|(D&127)<<1|(D&512)>>1;for(p=0;p<7;p++){var M;(2<<p&_)!=0?(7<<p&_)==7<<p?M=15:M=((I^p)&1)==0?y:Q:(5<<p&_)==5<<p?M=((I^p)&1)!=0?y:Q:M=0,R[J]=C[M],J++}}}function f0(o,i,b){var h,s,A,l;for(s=(i<<3)*x+o*7,l=C[b&15],h=0;h<4;h++)n[s]=n[s+1]=n[s+2]=n[s+3]=n[s+4]=n[s+5]=n[s+6]=l,s+=x;for(l=C[b>>4],h=0;h<4;h++)n[s]=n[s+1]=n[s+2]=n[s+3]=n[s+4]=n[s+5]=n[s+6]=l,s+=x}function h0(o,i,b,h){var s=(i<<3)*x+o*7,A,l;h?(A=t,l=r):(A=r,l=t);for(var S=0;S<8;S++){var k=d0[(b<<3)+S];n[s]=(k&64)>0?A:l,n[s+1]=(k&32)>0?A:l,n[s+2]=(k&16)>0?A:l,n[s+3]=(k&8)>0?A:l,n[s+4]=(k&4)>0?A:l,n[s+5]=(k&2)>0?A:l,n[s+6]=(k&1)>0?A:l,s+=x}}this.getAddressForScanline=function(o){var i=m[o];return e.grswitch&z&&(o<160||!(e.grswitch&L))?i=i|(e.grswitch&v?16384:8192):i=i&1023|(e.grswitch&v?2048:1024),i};function Y(o,i){for(var b=o*x;o<i;o++){var h=m[o]+((e.grswitch&v)!=0?16384:8192);if(!e.dirty[h>>7]){b+=x;continue}for(var s,A,l=0,S=e.mem[h]&255,k=0;k<20;k++){for(var H=e.mem[h+1]&255,V=e.mem[h+2]&255,o0=((l&64)<<2|S|H<<9)&1023,B=0;B<7;B++)n[b+B]=R[o0*7+B];for(var b0=((S&64)<<2|H|V<<9)&1023,B=0;B<7;B++)n[b+7+B]=R[b0*7+7168+B];b+=14,h+=2,l=H,S=V}}}function q(o){for(var i=u[o]+((e.grswitch&v)!=0?2048:1024),b=0;b<40;b++){var h=e.mem[i+b]&255;h!=f[o*40+b]&&(f0(b,o,h),f[o*40+b]=h)}}function j(o,i){for(var b=u[o]+((e.grswitch&v)!=0?2048:1024),h=0;h<40;h++){var s=e.mem[b+h]&255,A;s>=128?A=!1:s>=64?(A=i,i?s-=64:s+=64):A=!0,s!=f[o*40+h]&&(h0(h,o,s&127,A),f[o*40+h]=s)}}this.updateScreen=function(o){var i,b=new Date().getTime()%(g<<1)>g;if(e.grswitch!=c&&(c=e.grswitch,o=!0),o){if((e.grswitch&E)!=0||(e.grswitch&L)!=0)for(i=0;i<24;i++)for(var h=0;h<40;h++)f[i*40+h]=-1;for(var s=0;s<e.dirty.length;s++)e.dirty[s]=!0}if((e.grswitch&E)!=0)for(i=0;i<20;i++)j(i,b);else if((e.grswitch&z)!=0)Y(0,160);else for(i=0;i<20;i++)q(i);if((e.grswitch&E)!=0||(e.grswitch&L)!=0)for(i=20;i<24;i++)j(i,b);else if((e.grswitch&z)!=0)Y(160,192);else for(i=20;i<24;i++)q(i);for(var s=0;s<e.dirty.length;s++)e.dirty[s]=!1},this.invalidate=function(){c=-1}},d0=[0,28,34,42,46,44,32,30,0,8,20,34,34,62,34,34,0,60,34,34,60,34,34,60,0,28,34,32,32,32,34,28,0,60,34,34,34,34,34,60,0,62,32,32,60,32,32,62,0,62,32,32,60,32,32,32,0,30,32,32,32,38,34,30,0,34,34,34,62,34,34,34,0,28,8,8,8,8,8,28,0,2,2,2,2,2,34,28,0,34,36,40,48,40,36,34,0,32,32,32,32,32,32,62,0,34,54,42,42,34,34,34,0,34,34,50,42,38,34,34,0,28,34,34,34,34,34,28,0,60,34,34,60,32,32,32,0,28,34,34,34,42,36,26,0,60,34,34,60,40,36,34,0,28,34,32,28,2,34,28,0,62,8,8,8,8,8,8,0,34,34,34,34,34,34,28,0,34,34,34,34,34,20,8,0,34,34,34,42,42,54,34,0,34,34,20,8,20,34,34,0,34,34,20,8,8,8,8,0,62,2,4,8,16,32,62,0,62,48,48,48,48,48,62,0,0,32,16,8,4,2,0,0,62,6,6,6,6,6,62,0,0,0,8,20,34,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,8,8,8,8,8,0,8,0,20,20,20,0,0,0,0,0,20,20,62,20,62,20,20,0,8,30,40,28,10,60,8,0,48,50,4,8,16,38,6,0,16,40,40,16,42,36,26,0,8,8,8,0,0,0,0,0,8,16,32,32,32,16,8,0,8,4,2,2,2,4,8,0,8,42,28,8,28,42,8,0,0,8,8,62,8,8,0,0,0,0,0,0,8,8,16,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,8,0,0,2,4,8,16,32,0,0,28,34,38,42,50,34,28,0,8,24,8,8,8,8,28,0,28,34,2,12,16,32,62,0,62,2,4,12,2,34,28,0,4,12,20,36,62,4,4,0,62,32,60,2,2,34,28,0,14,16,32,60,34,34,28,0,62,2,4,8,16,16,1
Line truncated
|
||||
`}}},E=1,L=2,v=4,z=8,b0=function(n,e){var x=280,a=192,r=4294967295,t=4278190080,c=-1,f=new Array(960);let g=250,k=[d(0,0,0),d(227,30,96),d(96,78,189),d(255,68,253),d(0,163,96),d(156,156,156),d(20,207,253),d(208,195,255),d(96,114,3),d(255,106,60),d(156,156,156),d(255,160,208),d(20,245,60),d(208,221,141),d(114,255,208),d(255,255,255)],u=[0,128,256,384,512,640,768,896,40,168,296,424,552,680,808,936,80,208,336,464,592,720,848,976],m=[0,1024,2048,3072,4096,5120,6144,7168,128,1152,2176,3200,4224,5248,6272,7296,256,1280,2304,3328,4352,5376,6400,7424,384,1408,2432,3456,4480,5504,6528,7552,512,1536,2560,3584,4608,5632,6656,7680,640,1664,2688,3712,4736,5760,6784,7808,768,1792,2816,3840,4864,5888,6912,7936,896,1920,2944,3968,4992,6016,7040,8064,40,1064,2088,3112,4136,5160,6184,7208,168,1192,2216,3240,4264,5288,6312,7336,296,1320,2344,3368,4392,5416,6440,7464,424,1448,2472,3496,4520,5544,6568,7592,552,1576,2600,3624,4648,5672,6696,7720,680,1704,2728,3752,4776,5800,6824,7848,808,1832,2856,3880,4904,5928,6952,7976,936,1960,2984,4008,5032,6056,7080,8104,80,1104,2128,3152,4176,5200,6224,7248,208,1232,2256,3280,4304,5328,6352,7376,336,1360,2384,3408,4432,5456,6480,7504,464,1488,2512,3536,4560,5584,6608,7632,592,1616,2640,3664,4688,5712,6736,7760,720,1744,2768,3792,4816,5840,6864,7888,848,1872,2896,3920,4944,5968,6992,8016,976,2e3,3024,4048,5072,6096,7120,8144,120,1144,2168,3192,4216,5240,6264,7288,248,1272,2296,3320,4344,5368,6392,7416,376,1400,2424,3448,4472,5496,6520,7544,504,1528,2552,3576,4600,5624,6648,7672,632,1656,2680,3704,4728,5752,6776,7800,760,1784,2808,3832,4856,5880,6904,7928,888,1912,2936,3960,4984,6008,7032,8056,1016,2040,3064,4088,5112,6136,7160,8184,0,1024,2048,3072,4096,5120];var R;{R=new Array(256*4*2*7);var p,w,y,Q,C0=15,J=0;for(w=0;w<2;w++)for(var D=0;D<1024;D++){(D&128)==0?(y=3,Q=12):(y=6,Q=9);var _=(D&256)>>8|(D&127)<<1|(D&512)>>1;for(p=0;p<7;p++){var M;(2<<p&_)!=0?(7<<p&_)==7<<p?M=15:M=((w^p)&1)==0?y:Q:(5<<p&_)==5<<p?M=((w^p)&1)!=0?y:Q:M=0,R[J]=k[M],J++}}}function f0(o,i,l){var h,s,A,b;for(s=(i<<3)*x+o*7,b=k[l&15],h=0;h<4;h++)n[s]=n[s+1]=n[s+2]=n[s+3]=n[s+4]=n[s+5]=n[s+6]=b,s+=x;for(b=k[l>>4],h=0;h<4;h++)n[s]=n[s+1]=n[s+2]=n[s+3]=n[s+4]=n[s+5]=n[s+6]=b,s+=x}function h0(o,i,l,h){var s=(i<<3)*x+o*7,A,b;h?(A=t,b=r):(A=r,b=t);for(var B=0;B<8;B++){var C=d0[(l<<3)+B];n[s]=(C&64)>0?A:b,n[s+1]=(C&32)>0?A:b,n[s+2]=(C&16)>0?A:b,n[s+3]=(C&8)>0?A:b,n[s+4]=(C&4)>0?A:b,n[s+5]=(C&2)>0?A:b,n[s+6]=(C&1)>0?A:b,s+=x}}this.getAddressForScanline=function(o){var i=m[o];return e.grswitch&z&&(o<160||!(e.grswitch&L))?i=i|(e.grswitch&v?16384:8192):i=i&1023|(e.grswitch&v?2048:1024),i};function Y(o,i){for(var l=o*x;o<i;o++){var h=m[o]+((e.grswitch&v)!=0?16384:8192);if(!e.dirty[h>>7]){l+=x;continue}for(var s,A,b=0,B=e.mem[h]&255,C=0;C<20;C++){for(var H=e.mem[h+1]&255,V=e.mem[h+2]&255,o0=((b&64)<<2|B|H<<9)&1023,S=0;S<7;S++)n[l+S]=R[o0*7+S];for(var l0=((B&64)<<2|H|V<<9)&1023,S=0;S<7;S++)n[l+7+S]=R[l0*7+7168+S];l+=14,h+=2,b=H,B=V}}}function q(o){for(var i=u[o]+((e.grswitch&v)!=0?2048:1024),l=0;l<40;l++){var h=e.mem[i+l]&255;h!=f[o*40+l]&&(f0(l,o,h),f[o*40+l]=h)}}function j(o,i){for(var l=u[o]+((e.grswitch&v)!=0?2048:1024),h=0;h<40;h++){var s=e.mem[l+h]&255,A;s>=128?A=!1:s>=64?(A=i,i?s-=64:s+=64):A=!0,s!=f[o*40+h]&&(h0(h,o,s&127,A),f[o*40+h]=s)}}this.updateScreen=function(o){var i,l=new Date().getTime()%(g<<1)>g;if(e.grswitch!=c&&(c=e.grswitch,o=!0),o){if((e.grswitch&E)!=0||(e.grswitch&L)!=0)for(i=0;i<24;i++)for(var h=0;h<40;h++)f[i*40+h]=-1;for(var s=0;s<e.dirty.length;s++)e.dirty[s]=!0}if((e.grswitch&E)!=0)for(i=0;i<20;i++)j(i,l);else if((e.grswitch&z)!=0)Y(0,160);else for(i=0;i<20;i++)q(i);if((e.grswitch&E)!=0||(e.grswitch&L)!=0)for(i=20;i<24;i++)j(i,l);else if((e.grswitch&z)!=0)Y(160,192);else for(i=20;i<24;i++)q(i);for(var s=0;s<e.dirty.length;s++)e.dirty[s]=!1},this.invalidate=function(){c=-1}},d0=[0,28,34,42,46,44,32,30,0,8,20,34,34,62,34,34,0,60,34,34,60,34,34,60,0,28,34,32,32,32,34,28,0,60,34,34,34,34,34,60,0,62,32,32,60,32,32,62,0,62,32,32,60,32,32,32,0,30,32,32,32,38,34,30,0,34,34,34,62,34,34,34,0,28,8,8,8,8,8,28,0,2,2,2,2,2,34,28,0,34,36,40,48,40,36,34,0,32,32,32,32,32,32,62,0,34,54,42,42,34,34,34,0,34,34,50,42,38,34,34,0,28,34,34,34,34,34,28,0,60,34,34,60,32,32,32,0,28,34,34,34,42,36,26,0,60,34,34,60,40,36,34,0,28,34,32,28,2,34,28,0,62,8,8,8,8,8,8,0,34,34,34,34,34,34,28,0,34,34,34,34,34,20,8,0,34,34,34,42,42,54,34,0,34,34,20,8,20,34,34,0,34,34,20,8,8,8,8,0,62,2,4,8,16,32,62,0,62,48,48,48,48,48,62,0,0,32,16,8,4,2,0,0,62,6,6,6,6,6,62,0,0,0,8,20,34,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,8,8,8,8,8,0,8,0,20,20,20,0,0,0,0,0,20,20,62,20,62,20,20,0,8,30,40,28,10,60,8,0,48,50,4,8,16,38,6,0,16,40,40,16,42,36,26,0,8,8,8,0,0,0,0,0,8,16,32,32,32,16,8,0,8,4,2,2,2,4,8,0,8,42,28,8,28,42,8,0,0,8,8,62,8,8,0,0,0,0,0,0,8,8,16,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,8,0,0,2,4,8,16,32,0,0,28,34,38,42,50,34,28,0,8,24,8,8,8,8,28,0,28,34,2,12,16,32,62,0,62,2,4,12,2,34,28,0,4,12,20,36,62,4,4,0,62,32,60,2,2,34,28,0,14,16,32,60,34,34,28,0,62,2,4,8,16,16,1
Line truncated
|
||||
Offset: `+this.track_index+`
|
||||
Mode: `+(this.read_mode?"READ":"WRITE")+`
|
||||
Motor: `+this.motor+`
|
||||
Data: `+(this.track_data?W(this.track_data[this.track_index]):"-")+`
|
||||
`}read_latch(){return this.track_index=(this.track_index+1)%F,this.track_data?this.track_data[this.track_index]&255:this.emu.floatbus()|128}write_latch(e){this.track_index=(this.track_index+1)%F,this.track_data!=null&&(this.track_data[this.track_index]=e)}readROM(e){return c0[e]}readConst(e){return c0[e]}read(e){return this.doIO(e,0)}write(e,x){this.doIO(e,x)}doIO(e,x){switch(e&15){case 1:case 3:case 5:case 7:var a,r,t;t=this.track,a=e>>1&3,a==(t-1&3)?t>0&&t--:a==(t+1&3)&&t<w*2-1&&t++,(t&1)==0?(this.track_data=this.data[t>>1],console.log("track",t/2)):this.track_data=null,this.track=t;break;case 8:this.motor=!1;break;case 9:this.motor=!0;break;case 10:break;case 11:break;case 15:this.read_mode=!1;case 12:if(this.read_mode)return this.read_latch();break;case 14:this.read_mode=!0;case 13:return x>=0&&!this.read_mode&&!this.write_protect&&this.write_latch(x),this.write_protect?128:0}return this.emu.floatbus()}},G=[150,151,154,155,157,158,159,166,167,171,172,173,174,175,178,179,180,181,182,183,185,186,187,188,189,190,191,203,205,206,207,211,214,215,217,218,219,220,221,222,223,229,230,231,233,234,235,236,237,238,239,242,243,244,245,246,247,249,250,251,252,253,254,255],m0=[0,7,14,6,13,5,12,4,11,3,10,2,9,1,8,15];function g0(n,e,x,a,r,t,c){var f,g,C,u,m=new Uint8Array(258);for(u=0,f=0;f<14;f++)t[c++]=255;for(t[c++]=213,t[c++]=170,t[c++]=150,t[c++]=n>>1|170,t[c++]=n|170,g=n,t[c++]=e>>1|170,t[c++]=e|170,g^=e,t[c++]=x>>1|170,t[c++]=x|170,g^=x,t[c++]=g>>1|170,t[c++]=g|170,t[c++]=222,t[c++]=170,t[c++]=235,f=0;f<6;f++)t[c++]=255;for(t[c++]=213,t[c++]=170,t[c++]=173,f=0;f<256;f++)m[f]=a[f+r]&255;for(m[256]=0,m[257]=0,C=0,f=0;f<86;f++)u=(m[f]&1)<<1,u|=(m[f]&2)>>1,u|=(m[f+86]&1)<<3,u|=(m[f+86]&2)<<1,u|=(m[f+172]&1)<<5,u|=(m[f+172]&2)<<3,t[c++]=G[u^C],C=u;for(f=0;f<256;f++)u=m[f]>>2,t[c++]=G[u^C],C=u;t[c++]=G[u],t[c++]=222,t[c++]=170,t[c++]=235}function p0(n,e,x){for(var a=new Uint8Array(F),r=0,t=0;t<16;t++)g0(n,e,t,x,m0[t]<<8,a,r),r+=A0;for(;r<F;)a[r++]=255;return a}var n0=[{id:"sieve.c",name:"Sieve",category:"C"},{id:"keyboardtest.c",name:"Keyboard Test"},{id:"mandel.c",name:"Mandelbrot"},{id:"tgidemo.c",name:"TGI Graphics Demo"},{id:"icepiano.c",name:"Ice Piano (Hires Demo)"},{id:"Eliza.c",name:"Eliza"},{id:"siegegame.c",name:"Siege Game"},{id:"cosmic.c",name:"Cosmic Impalas"},{id:"farmhouse.c",name:"Farmhouse Adventure"},{id:"yum.c",name:"Yum Dice Game"},{id:"lz4test.c",name:"LZ4 Decompressor"},{id:"hgrtest.a",name:"HGR Test",category:"Assembly Language"},{id:"conway.a",name:"Conway's Game of Life"},{id:"lz4fh.a",name:"LZ4FH Decompressor"},{id:"deltamod.dasm",name:"Delta Modulation Audio"},{id:"paddles.dasm",name:"Paddles/Joystick"},{id:"dos33bin.a",name:"DOS 3.3 Binary"},{id:"applesinglebin.a",name:"AppleSingle Binary"}],T=class extends i0{constructor(){super(...arguments);this.getOpcodeMetadata=r0;this.getToolForFilename=O}start(){this.startModule(this.mainElement,{jsfile:"mame8bitpc.js",biosfile:["apple2e.zip"],driver:"apple2e",width:280*2,height:384,preInit:function(x){}})}getDefaultExtensions(){return[".c",".cpp",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}getPresets(){return n0}loadROM(x,a){this.loadROMFile(a)}},Z=class extends s0{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"Zero Page RAM",start:0,size:256,type:"ram"},{name:"Line Input RAM",start:512,size:256,type:"ram"},{name:"RAM",start:768,size:192,type:"ram"},{name:"DOS Vectors",start:960,size:64,type:"ram"},{name:"Text/Lores Page 1",start:1024,size:1024,type:"ram"},{name:"RAM",start:2048,size:6144,type:"ram"},{name:"Hires Page 1",start:8192,size:8192,type:"ram"},{name:"Hires Page 2",start:16384,size:8192,type:"ram"},{name:"RAM",start:24576,size:24576,type:"ram"},{name:"I/O",start:49152,size:4096,type:"io"},{name:"ROM",start:53248,size:12288,type:"rom"}]}};this.getToolForFilename=O}newMachine(){return new P}getPresets(){return n0}getDefaultExtensions(){return[...super.getDefaultExtensions(),".lnk"]}readAddress(x){return this.machine.readConst(x)}getROMExtension(x){return x&&x.length==560*256?".dsk":".bin"}};U["apple2.mame"]=T;U.apple2=Z;
|
||||
//# sourceMappingURL=apple2-RMS6MFCB.js.map
|
||||
`}read_latch(){return this.track_index=(this.track_index+1)%F,this.track_data?this.track_data[this.track_index]&255:this.emu.floatbus()|128}write_latch(e){this.track_index=(this.track_index+1)%F,this.track_data!=null&&(this.track_data[this.track_index]=e)}readROM(e){return c0[e]}readConst(e){return c0[e]}read(e){return this.doIO(e,0)}write(e,x){this.doIO(e,x)}doIO(e,x){switch(e&15){case 1:case 3:case 5:case 7:var a,r,t;t=this.track,a=e>>1&3,a==(t-1&3)?t>0&&t--:a==(t+1&3)&&t<I*2-1&&t++,(t&1)==0?(this.track_data=this.data[t>>1],console.log("track",t/2)):this.track_data=null,this.track=t;break;case 8:this.motor=!1;break;case 9:this.motor=!0;break;case 10:break;case 11:break;case 15:this.read_mode=!1;case 12:if(this.read_mode)return this.read_latch();break;case 14:this.read_mode=!0;case 13:return x>=0&&!this.read_mode&&!this.write_protect&&this.write_latch(x),this.write_protect?128:0}return this.emu.floatbus()}},G=[150,151,154,155,157,158,159,166,167,171,172,173,174,175,178,179,180,181,182,183,185,186,187,188,189,190,191,203,205,206,207,211,214,215,217,218,219,220,221,222,223,229,230,231,233,234,235,236,237,238,239,242,243,244,245,246,247,249,250,251,252,253,254,255],m0=[0,7,14,6,13,5,12,4,11,3,10,2,9,1,8,15];function g0(n,e,x,a,r,t,c){var f,g,k,u,m=new Uint8Array(258);for(u=0,f=0;f<14;f++)t[c++]=255;for(t[c++]=213,t[c++]=170,t[c++]=150,t[c++]=n>>1|170,t[c++]=n|170,g=n,t[c++]=e>>1|170,t[c++]=e|170,g^=e,t[c++]=x>>1|170,t[c++]=x|170,g^=x,t[c++]=g>>1|170,t[c++]=g|170,t[c++]=222,t[c++]=170,t[c++]=235,f=0;f<6;f++)t[c++]=255;for(t[c++]=213,t[c++]=170,t[c++]=173,f=0;f<256;f++)m[f]=a[f+r]&255;for(m[256]=0,m[257]=0,k=0,f=0;f<86;f++)u=(m[f]&1)<<1,u|=(m[f]&2)>>1,u|=(m[f+86]&1)<<3,u|=(m[f+86]&2)<<1,u|=(m[f+172]&1)<<5,u|=(m[f+172]&2)<<3,t[c++]=G[u^k],k=u;for(f=0;f<256;f++)u=m[f]>>2,t[c++]=G[u^k],k=u;t[c++]=G[u],t[c++]=222,t[c++]=170,t[c++]=235}function p0(n,e,x){for(var a=new Uint8Array(F),r=0,t=0;t<16;t++)g0(n,e,t,x,m0[t]<<8,a,r),r+=A0;for(;r<F;)a[r++]=255;return a}var n0=[{id:"sieve.c",name:"Sieve",category:"C"},{id:"keyboardtest.c",name:"Keyboard Test"},{id:"mandel.c",name:"Mandelbrot"},{id:"tgidemo.c",name:"TGI Graphics Demo"},{id:"icepiano.c",name:"Ice Piano (Hires Demo)"},{id:"Eliza.c",name:"Eliza"},{id:"siegegame.c",name:"Siege Game"},{id:"cosmic.c",name:"Cosmic Impalas"},{id:"farmhouse.c",name:"Farmhouse Adventure"},{id:"yum.c",name:"Yum Dice Game"},{id:"lz4test.c",name:"LZ4 Decompressor"},{id:"hgrtest.a",name:"HGR Test",category:"Assembly Language"},{id:"conway.a",name:"Conway's Game of Life"},{id:"lz4fh.a",name:"LZ4FH Decompressor"},{id:"deltamod.dasm",name:"Delta Modulation Audio"},{id:"paddles.dasm",name:"Paddles/Joystick"},{id:"dos33bin.a",name:"DOS 3.3 Binary"},{id:"applesinglebin.a",name:"AppleSingle Binary"},{id:"hello-sdcc.c",name:"Hello World (SDCC)",category:"C (SDCC)"},{id:"cosmic-sdcc.c",name:"Cosmic Impalas (SDCC)"}],T=class extends i0{constructor(){super(...arguments);this.getOpcodeMetadata=r0;this.getToolForFilename=O}start(){this.startModule(this.mainElement,{jsfile:"mame8bitpc.js",biosfile:["apple2e.zip"],driver:"apple2e",width:280*2,height:384,preInit:function(x){}})}getDefaultExtensions(){return[".c",".sdcc",".cpp",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}getPresets(){return n0}loadROM(x,a){this.loadROMFile(a)}},Z=class extends s0{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"Zero Page RAM",start:0,size:256,type:"ram"},{name:"Line Input RAM",start:512,size:256,type:"ram"},{name:"RAM",start:768,size:192,type:"ram"},{name:"DOS Vectors",start:960,size:64,type:"ram"},{name:"Text/Lores Page 1",start:1024,size:1024,type:"ram"},{name:"RAM",start:2048,size:6144,type:"ram"},{name:"Hires Page 1",start:8192,size:8192,type:"ram"},{name:"Hires Page 2",start:16384,size:8192,type:"ram"},{name:"RAM",start:24576,size:24576,type:"ram"},{name:"I/O",start:49152,size:4096,type:"io"},{name:"ROM",start:53248,size:12288,type:"rom"}]}};this.getToolForFilename=O}newMachine(){return new P}getPresets(){return n0}getDefaultExtensions(){return[...super.getDefaultExtensions(),".lnk"]}readAddress(x){return this.machine.readConst(x)}getROMExtension(x){return x&&x.length==560*256?".dsk":".bin"}};U["apple2.mame"]=T;U.apple2=Z;
|
||||
//# sourceMappingURL=apple2-XAUBDC5F.js.map
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/machine/apple2.ts", "../src/platform/apple2.ts"],
|
||||
"sourcesContent": ["import { MOS6502, MOS6502State } from \"../common/cpu/MOS6502\";\nimport { Bus, BasicScanlineMachine, SavesState, AcceptsBIOS, AcceptsPaddleInput } from \"../common/devices\";\nimport { KeyFlags } from \"../common/emu\"; // TODO\nimport { hex, lzgmini, stringToByteArray, RGBA, printFlags, arrayCompare } from \"../common/util\";\n\ninterface AppleIIStateBase {\n ram: Uint8Array<ArrayBuffer>;\n soundstate: number;\n auxRAMselected, writeinhibit: boolean;\n auxRAMbank: number;\n}\n\ninterface AppleIIControlsState {\n inputs: Uint8Array<ArrayBuffer>; // unused?\n kbdlatch: number;\n}\n\ninterface AppleIIState extends AppleIIStateBase, AppleIIControlsState {\n c: MOS6502State;\n grswitch: number;\n slots: SlotDevice[];\n paddleValues: number[];\n paddleButtons: boolean[];\n}\n\ninterface SlotDevice extends Bus {\n readROM(address: number): number;\n readConst(address: number): number;\n}\n\nexport class AppleII extends BasicScanlineMachine implements AcceptsBIOS, AcceptsPaddleInput {\n\n // approx: http://www.cs.columbia.edu/~sedwards/apple2fpga/\n cpuFrequency = 1022727;\n sampleRate = this.cpuFrequency;\n cpuCyclesPerLine = 65;\n cpuCyclesPerFrame = this.cpuCyclesPerLine * 262;\n canvasWidth = 280;\n numVisibleScanlines = 192;\n numTotalScanlines = 262;\n defaultROMSize = 0x13000; // we'll never need one that big, but...\n cpuCyclesPaddleUnit = 11; // ~11 cycles per paddle unit\n cpuCyclesPaddleMax = 255 * this.cpuCyclesPaddleUnit;\n\n // these are set later\n LOAD_BASE = 0;\n HDR_SIZE = 0;\n\n ram = new Uint8Array(0x13000); // 64K + 16K LC RAM - 4K hardware + 12K ROM\n bios: Uint8Array;\n cpu = new MOS6502();\n grdirty = new Array(0xc000 >> 7);\n grparams = { dirty: this.grdirty, grswitch: GR_TXMODE, mem: this.ram };\n ap2disp;\n kbdlatch = 0;\n soundstate = 0;\n // language card switches\n auxRAMselected = false;\n auxRAMbank = 1;\n writeinhibit = true;\n // value to add when reading & writing each of these banks\n // bank 1 is E000-FFFF, bank 2 is D000-DFFF\n bank2rdoffset = 0;\n bank2wroffset = 0;\n // Paddle/joystick, PDL0-PDL3 values (0-255).\n paddleValues = [0, 0, 0, 0];\n paddleButtons = [false, false, false];\n paddleLastTriggered = 0;\n // disk II\n slots: SlotDevice[] = new Array(8);\n // fake disk drive that loads program into RAM\n fakeDrive: SlotDevice = {\n readROM: (a) => {\n var pc = this.cpu.getPC();\n if (pc >= 0xC600 && pc < 0xC700) {\n // We're reading code to EXECUTE.\n // Load the built program directly into memory, and \"read\"\n // a JMP directly to it.\n //console.log(`fakeDrive (EXEC): ${a.toString(16)}`);\n switch (a) {\n // JMP VM_BASE\n case 0:\n // SHOULD load program into RAM here, but have to do it\n // below instead.\n return 0;\n case 1: return this.LOAD_BASE & 0xff;\n case 2: return (this.LOAD_BASE >> 8) & 0xff;\n default: return 0;\n }\n }\n else {\n // We're reading code, but not executing it.\n // This is probably the Monitor routine to identify whether\n // this slot is a Disk ][ drive, so... give it what it wants.\n //console.log(`fakeDrive (NOEX): ${a.toString(16)}`);\n switch (a) {\n case 0:\n // Actually, if we get here, we probably ARE being\n // executed. For some reason, the instruction at $C600\n // gets read for execution, BEFORE the PC gets set to\n // the correct location. So we handle loading the program\n // into RAM and returning the JMP here, instead of above\n // where it would otherwise belong.\n if (this.rom) {\n this.loadRAMWithProgram();\n }\n return 0x4c; // JMP\n case 1: return 0x20;\n case 3: return 0x00;\n case 5: return 0x03;\n case 7: return 0x3c;\n default: return 0;\n }\n }\n },\n readConst: (a) => {\n return 0;\n },\n read: (a) => { return this.floatbus(); },\n write: (a, v) => { }\n };\n\n constructor() {\n super();\n this.loadBIOS(new lzgmini().decode(stringToByteArray(atob(APPLEIIGO_LZG))));\n this.connectCPUMemoryBus(this);\n // This line is inappropriate for real ROMs, but was there for\n // the APPLE][GO ROM, so keeping it only in the constructor, for\n // that special case (in case it really is important for this\n // address to be an RTS).\n this.bios[0xD39A - (0x10000 - this.bios.length)] = 0x60; // $d39a = RTS\n }\n saveState(): AppleIIState {\n // TODO: automagic\n return {Line truncated
|
||||
"mappings": "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 truncated
|
||||
"sourcesContent": ["import { MOS6502, MOS6502State } from \"../common/cpu/MOS6502\";\nimport { Bus, BasicScanlineMachine, SavesState, AcceptsBIOS, AcceptsPaddleInput } from \"../common/devices\";\nimport { KeyFlags } from \"../common/emu\"; // TODO\nimport { hex, lzgmini, stringToByteArray, RGBA, printFlags, arrayCompare } from \"../common/util\";\n\ninterface AppleIIStateBase {\n ram: Uint8Array<ArrayBuffer>;\n soundstate: number;\n auxRAMselected, writeinhibit: boolean;\n auxRAMbank: number;\n}\n\ninterface AppleIIControlsState {\n inputs: Uint8Array<ArrayBuffer>; // unused?\n kbdlatch: number;\n}\n\ninterface AppleIIState extends AppleIIStateBase, AppleIIControlsState {\n c: MOS6502State;\n grswitch: number;\n slots: SlotDevice[];\n paddleValues: number[];\n paddleButtons: boolean[];\n}\n\ninterface SlotDevice extends Bus {\n readROM(address: number): number;\n readConst(address: number): number;\n}\n\nexport class AppleII extends BasicScanlineMachine implements AcceptsBIOS, AcceptsPaddleInput {\n\n // approx: http://www.cs.columbia.edu/~sedwards/apple2fpga/\n cpuFrequency = 1022727;\n sampleRate = this.cpuFrequency;\n cpuCyclesPerLine = 65;\n cpuCyclesPerFrame = this.cpuCyclesPerLine * 262;\n canvasWidth = 280;\n numVisibleScanlines = 192;\n numTotalScanlines = 262;\n defaultROMSize = 0x13000; // we'll never need one that big, but...\n cpuCyclesPaddleUnit = 11; // ~11 cycles per paddle unit\n cpuCyclesPaddleMax = 255 * this.cpuCyclesPaddleUnit;\n\n // these are set later\n LOAD_BASE = 0;\n HDR_SIZE = 0;\n\n ram = new Uint8Array(0x13000); // 64K + 16K LC RAM - 4K hardware + 12K ROM\n bios: Uint8Array;\n cpu = new MOS6502();\n grdirty = new Array(0xc000 >> 7);\n grparams = { dirty: this.grdirty, grswitch: GR_TXMODE, mem: this.ram };\n ap2disp;\n kbdlatch = 0;\n soundstate = 0;\n // language card switches\n auxRAMselected = false;\n auxRAMbank = 1;\n writeinhibit = true;\n // value to add when reading & writing each of these banks\n // bank 1 is E000-FFFF, bank 2 is D000-DFFF\n bank2rdoffset = 0;\n bank2wroffset = 0;\n // Paddle/joystick, PDL0-PDL3 values (0-255).\n paddleValues = [0, 0, 0, 0];\n paddleButtons = [false, false, false];\n paddleLastTriggered = 0;\n // disk II\n slots: SlotDevice[] = new Array(8);\n // fake disk drive that loads program into RAM\n fakeDrive: SlotDevice = {\n readROM: (a) => {\n var pc = this.cpu.getPC();\n if (pc >= 0xC600 && pc < 0xC700) {\n // We're reading code to EXECUTE.\n // Load the built program directly into memory, and \"read\"\n // a JMP directly to it.\n //console.log(`fakeDrive (EXEC): ${a.toString(16)}`);\n switch (a) {\n // JMP VM_BASE\n case 0:\n // SHOULD load program into RAM here, but have to do it\n // below instead.\n return 0;\n case 1: return this.LOAD_BASE & 0xff;\n case 2: return (this.LOAD_BASE >> 8) & 0xff;\n default: return 0;\n }\n }\n else {\n // We're reading code, but not executing it.\n // This is probably the Monitor routine to identify whether\n // this slot is a Disk ][ drive, so... give it what it wants.\n //console.log(`fakeDrive (NOEX): ${a.toString(16)}`);\n switch (a) {\n case 0:\n // Actually, if we get here, we probably ARE being\n // executed. For some reason, the instruction at $C600\n // gets read for execution, BEFORE the PC gets set to\n // the correct location. So we handle loading the program\n // into RAM and returning the JMP here, instead of above\n // where it would otherwise belong.\n if (this.rom) {\n this.loadRAMWithProgram();\n }\n return 0x4c; // JMP\n case 1: return 0x20;\n case 3: return 0x00;\n case 5: return 0x03;\n case 7: return 0x3c;\n default: return 0;\n }\n }\n },\n readConst: (a) => {\n return 0;\n },\n read: (a) => { return this.floatbus(); },\n write: (a, v) => { }\n };\n\n constructor() {\n super();\n this.loadBIOS(new lzgmini().decode(stringToByteArray(atob(APPLEIIGO_LZG))));\n this.connectCPUMemoryBus(this);\n // This line is inappropriate for real ROMs, but was there for\n // the APPLE][GO ROM, so keeping it only in the constructor, for\n // that special case (in case it really is important for this\n // address to be an RTS).\n this.bios[0xD39A - (0x10000 - this.bios.length)] = 0x60; // $d39a = RTS\n }\n saveState(): AppleIIState {\n // TODO: automagic\n return {Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["AppleII", "BasicScanlineMachine", "MOS6502", "GR_TXMODE", "a", "pc", "v", "lzgmini", "stringToByteArray", "APPLEIIGO_LZG", "slot", "s", "i", "data", "title", "origin", "diskii", "DiskII", "arrayCompare", "hdrOrigin", "size", "isPlausible", "exedata", "address", "btn", "pdl", "elapsed", "val", "fcyc", "yline", "xcyc", "addr", "pixels", "Apple2Display", "trap", "clocks", "key", "code", "flags", "controller", "value", "index", "pressed", "category", "state", "printFlags", "GR_MIXMODE", "GR_PAGE1", "GR_HIRES", "apple", "XSIZE", "YSIZE", "PIXELON", "PIXELOFF", "oldgrmode", "textbuf", "flashInterval", "loresColor", "RGBA", "text_lut", "hires_lut", "colors_lut", "j", "c1", "c2", "c3", "base", "b1", "b", "c", "drawLoresChar", "x", "y", "adr", "drawTextChar", "invert", "on", "off", "yy", "chr", "apple2_charset", "drawHiresLines", "maxy", "yb", "x1", "b2", "b3", "d1", "d2", "drawLoresLine", "drawTextLine", "flash", "totalrepaint", "NUM_TRACKS", "TRACK_SIZE", "SECTOR_SIZE", "DISKII_PROM", "DiskIIState", "DiskII", "emu", "image", "i", "ofs", "nibblizeTrack", "s", "hex", "value", "address", "phase", "lastphase", "new_track", "byte_translation", "skewing_table", "nibblizeSector", "vol", "trk", "sector", "inn", "in_ofs", "out", "loop", "checksum", "prev_value", "sector_buffer", "out_pos", "APPLE2_PRESETS", "Apple2MAMEPlatform", "BaseMAME6502Platform", "getOpcodeMetadata_6502", "getToolForFilename_apple2", "_self", "title", "data", "NewApple2Platform", "Base6502MachinePlatform", "AppleII", "a", "rom", "PLATFORMS"]
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import{F as gr,r as Rr}from"./chunk-QYEDG265.js";import{d as mr}from"./chunk-UACHXWHT.js";import{F as or,L as Fr,U as N,Z as T,_ as hr,a as Q,aa as fr,da as er,g as E}from"./chunk-V6TNHL6H.js";import{a as pr,b as nr}from"./chunk-N7W4C4V2.js";var Cr=4026531840,lr=223,Tr=32;function n(r){this.cpu=r,this.addressingMode23Immediate=[function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]-=i),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]+=i),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){return e[t]-i};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]-i;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null,function(t,i,s){var e=r.gprs,a=function(){return e[t]+i};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]+i;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null],this.addressingMode23Register=[function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]-=e[i]),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]+=e[i]),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){return e[t]-e[i]};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]-e[i];return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t]+e[i];return c};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]+e[i];return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null],this.addressingMode2RegisterShifted=[function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(i(),e[t]-=r.shifterOperand),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(i(),e[t]+=r.shifterOperand),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){return i(),e[t]-r.shifterOperand};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){i();var c=e[t]-r.shifterOperand;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null,function(t,i,s){var e=r.gprs,a=function(){return i(),e[t]+r.shifterOperand};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){i();var c=e[t]+r.shifterOperand;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null]}n.prototype.constructAddressingMode1ASR=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4),e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):e<32?(i.shifterOperand=a>>e,i.shifterCarryOut=a&1<<e-1):s[t]>>31?(i.shifterOperand=4294967295,i.shifterCarryOut=2147483648):(i.shifterOperand=0,i.shifterCarryOut=0)}};n.prototype.constructAddressingMode1Immediate=function(r){var t=this.cpu;return function(){t.shifterOperand=r,t.shifterCarryOut=t.cpsrC}};n.prototype.constructAddressingMode1ImmediateRotate=function(r,t){var i=this.cpu;return function(){i.shifterOperand=r>>>t|r<<32-t,i.shifterCarryOut=i.shifterOperand>>31}};n.prototype.constructAddressingMode1LSL=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4),e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):e<32?(i.shifterOperand=a<<e,i.shifterCarryOut=a&1<<32-e):e==32?(i.shifterOperand=0,i.shifterCarryOut=a&1):(i.shifterOperand=0,i.shifterCarryOut=0)}};n.prototype.constructAddressingMode1LSR=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4),e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):e<32?(i.shifterOperand=a>>>e,i.shifterCarryOut=a&1<<e-1):e==32?(i.shifterOperand=0,i.shifterCarryOut=a>>31):(i.shifterOperand=0,i.shifterCarryOut=0)}};n.prototype.constructAddressingMode1ROR=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4);var c=e&31;e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):c?(i.shifterOperand=s[t]>>>c|s[t]<<32-c,i.shifterCarryOut=a&1<<c-1):(i.shifterOperand=a,i.shifterCarryOut=a>>31)}};n.prototype.constructAddressingMode23Immediate=function(r,t,i){var s=(r&983040)>>16;return this.addressingMode23Immediate[(r&27262976)>>21](s,t,i)};n.prototype.constructAddressingMode23Register=function(r,t,i){var s=(r&983040)>>16;return this.addressingMode23Register[(r&27262976)>>21](s,t,i)};n.prototype.constructAddressingMode2RegisterShifted=function(r,t,i){var s=(r&983040)>>16;return this.addressingMode2RegisterShifted[(r&27262976)>>21](s,t,i)};n.prototype.constructAddressingMode4=function(r,t){var i=this.cpu,s=i.gprs;return function(){var e=s[t]+r;return e}};n.prototype.constructAddressingMode4Writeback=function(r,t,i,s){var e=this.cpu,a=e.gprs;return function(c){var u=a[i]+r;return c&&s&&e.mmu.store32(a[i]+r-4,a[i])Line truncated
|
||||
import{F as gr,r as Rr}from"./chunk-RWTUUV4L.js";import{d as mr}from"./chunk-UXRCACYH.js";import{F as or,L as Fr,U as N,Z as T,_ as hr,a as Q,aa as fr,da as er,g as E}from"./chunk-V6TNHL6H.js";import{a as pr,b as nr}from"./chunk-N7W4C4V2.js";var Cr=4026531840,lr=223,Tr=32;function n(r){this.cpu=r,this.addressingMode23Immediate=[function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]-=i),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]+=i),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){return e[t]-i};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]-i;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null,function(t,i,s){var e=r.gprs,a=function(){return e[t]+i};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]+i;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null],this.addressingMode23Register=[function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]-=e[i]),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(e[t]+=e[i]),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){return e[t]-e[i]};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]-e[i];return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t]+e[i];return c};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){var c=e[t]+e[i];return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null],this.addressingMode2RegisterShifted=[function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(i(),e[t]-=r.shifterOperand),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){var c=e[t];return(!s||s())&&(i(),e[t]+=r.shifterOperand),c};return a.writesPC=t==15,a},null,null,null,function(t,i,s){var e=r.gprs,a=function(){return i(),e[t]-r.shifterOperand};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){i();var c=e[t]-r.shifterOperand;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null,function(t,i,s){var e=r.gprs,a=function(){return i(),e[t]+r.shifterOperand};return a.writesPC=!1,a},function(t,i,s){var e=r.gprs,a=function(){i();var c=e[t]+r.shifterOperand;return(!s||s())&&(e[t]=c),c};return a.writesPC=t==15,a},null,null]}n.prototype.constructAddressingMode1ASR=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4),e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):e<32?(i.shifterOperand=a>>e,i.shifterCarryOut=a&1<<e-1):s[t]>>31?(i.shifterOperand=4294967295,i.shifterCarryOut=2147483648):(i.shifterOperand=0,i.shifterCarryOut=0)}};n.prototype.constructAddressingMode1Immediate=function(r){var t=this.cpu;return function(){t.shifterOperand=r,t.shifterCarryOut=t.cpsrC}};n.prototype.constructAddressingMode1ImmediateRotate=function(r,t){var i=this.cpu;return function(){i.shifterOperand=r>>>t|r<<32-t,i.shifterCarryOut=i.shifterOperand>>31}};n.prototype.constructAddressingMode1LSL=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4),e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):e<32?(i.shifterOperand=a<<e,i.shifterCarryOut=a&1<<32-e):e==32?(i.shifterOperand=0,i.shifterCarryOut=a&1):(i.shifterOperand=0,i.shifterCarryOut=0)}};n.prototype.constructAddressingMode1LSR=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4),e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):e<32?(i.shifterOperand=a>>>e,i.shifterCarryOut=a&1<<e-1):e==32?(i.shifterOperand=0,i.shifterCarryOut=a>>31):(i.shifterOperand=0,i.shifterCarryOut=0)}};n.prototype.constructAddressingMode1ROR=function(r,t){var i=this.cpu,s=i.gprs;return function(){++i.cycles;var e=s[r];r==15&&(e+=4),e&=255;var a=s[t];t==15&&(a+=4);var c=e&31;e==0?(i.shifterOperand=a,i.shifterCarryOut=i.cpsrC):c?(i.shifterOperand=s[t]>>>c|s[t]<<32-c,i.shifterCarryOut=a&1<<c-1):(i.shifterOperand=a,i.shifterCarryOut=a>>31)}};n.prototype.constructAddressingMode23Immediate=function(r,t,i){var s=(r&983040)>>16;return this.addressingMode23Immediate[(r&27262976)>>21](s,t,i)};n.prototype.constructAddressingMode23Register=function(r,t,i){var s=(r&983040)>>16;return this.addressingMode23Register[(r&27262976)>>21](s,t,i)};n.prototype.constructAddressingMode2RegisterShifted=function(r,t,i){var s=(r&983040)>>16;return this.addressingMode2RegisterShifted[(r&27262976)>>21](s,t,i)};n.prototype.constructAddressingMode4=function(r,t){var i=this.cpu,s=i.gprs;return function(){var e=s[t]+r;return e}};n.prototype.constructAddressingMode4Writeback=function(r,t,i,s){var e=this.cpu,a=e.gprs;return function(c){var u=a[i]+r;return c&&s&&e.mmu.store32(a[i]+r-4,a[i])Line truncated
|
||||
`,e+=4,!(e>=D+I));c++);return u;case"CPU":var u="",p=s.c;let F={2:"Thumb",4:"ARM"},R={15:"PC",14:"LR",13:"SP",12:"IP",11:"FP",9:"SB"};for(var c=0;c<8;c++){let v=c+8;u+=Q("r"+c,5)+" "+E(p.gprs[c],8)+" ",u+=Q("r"+v,5)+" "+E(p.gprs[v],8)+Q(R[v]||"",3)+`
|
||||
`}return u+="Flags ",u+=p.cpsrN?" N":" -",u+=p.cpsrV?" V":" -",u+=p.cpsrF?" F":" -",u+=p.cpsrZ?" Z":" -",u+=p.cpsrC?" C":" -",u+=p.cpsrI?" I":" -",u+=`
|
||||
`,u+="MODE "+F[p.instructionWidth]+" "+Dr[p.mode]+`
|
||||
@@ -6,4 +6,4 @@ import{F as gr,r as Rr}from"./chunk-QYEDG265.js";import{d as mr}from"./chunk-UAC
|
||||
`,u+="cycl "+p.cycles+`
|
||||
`,u;case"FPU":for(var u="",p=s.c,c=0;c<16;c++)u+=Q("s"+c,5)+" "+E(p.ifprs[c],8)+" "+p.sfprs[c].toPrecision(6),c&1&&(u+=Q("d"+(c>>1),5)+" "+p.dfprs[c>>1].toPrecision(12)),u+=`
|
||||
`;return u}}saveState(){var i=super.saveState();return i.serial={sin:this.serialIn.slice(0),sout:this.serialOut.slice(0)},i}loadState(i){super.loadState(i),this.serialIn=i.serial.sin,this.serialOut=i.serial.sout}},Dr={16:"USER",17:"FIQ",18:"IRQ",19:"SUPERVISOR",23:"ABORT",27:"UNDEFINED",31:"SYSTEM"};var Ir=[{id:"vidfill.c",name:"Video Memory Fill"}],tr=class extends gr{constructor(){super(...arguments);this.getToolForFilename=mr}getPresets(){return Ir}getDefaultExtensions(){return[".c",".armips",".vasm"]}},sr=class extends tr{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"ROM",start:0,size:1048576,type:"ram"},{name:"I/O",start:67108864,size:256,type:"io"}]}}}async start(){super.start(),console.log("Loading Capstone"),await or("./lib/capstone-arm.min.js"),this.capstone_arm=new cs.Capstone(cs.ARCH_ARM,cs.MODE_ARM),this.capstone_thumb=new cs.Capstone(cs.ARCH_ARM,cs.MODE_THUMB)}newMachine(){return new q}readAddress(i){return this.machine.read(i)}getPlatformName(){return"ARM7"}getDebugTree(){return nr(pr({},this.machine.cpu.getDebugTree()),{dwarf:this.debugSymbols.debuginfo})}disassemble(i,s){for(var e=this.machine.cpu.isThumb(),a=e?this.capstone_thumb:this.capstone_arm,c=[],u=0;u<4;u++)c[u]=s(i+u);var p=a.disasm(c,i,4),F=p&&p[0];return F?{nbytes:F.size,line:F.mnemonic+" "+F.op_str,isaddr:F.address>0,iscall:F.mnemonic=="bl"||F.mnemonic=="blx"}:{nbytes:4,line:"???",isaddr:!1}}};Fr.arm32=sr;export{tr as BaseARMMachinePlatform};
|
||||
//# sourceMappingURL=arm32-BPVZ6WEV.js.map
|
||||
//# sourceMappingURL=arm32-6HDX2P75.js.map
|
||||
File renamed without changes.
@@ -1,4 +1,4 @@
|
||||
import{H as D0,c as l0,d as m0,e as u0,k as h0,r as E0}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as k,Z as A,_ as C0,aa as X0,ca as x0,da as N,g,l as c0,m as B0,t as g0}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var I0=X0([[A.UP,16,1],[A.DOWN,16,2],[A.LEFT,16,4],[A.RIGHT,16,8],[A.A,16,16],[A.P2_UP,17,1],[A.P2_DOWN,17,2],[A.P2_LEFT,17,4],[A.P2_RIGHT,17,8],[A.P2_A,17,16],[A.VK_P,20,1],[A.VK_SLASH,20,2],[A.VK_X,20,4],[A.VK_MINUS,20,8],[A.VK_COMMA,20,16],[A.VK_EQUALS,20,32],[A.VK_O,21,1],[A.VK_L,21,2],[A.VK_9,21,4],[A.VK_6,21,8],[A.VK_3,21,16],[A.VK_PERIOD,21,32],[A.VK_I,22,1],[A.VK_K,22,2],[A.VK_8,22,4],[A.VK_5,22,8],[A.VK_2,22,16],[A.VK_0,22,32],[A.VK_U,23,1],[A.VK_J,23,2],[A.VK_7,23,4],[A.VK_4,23,8],[A.VK_1,23,16],[A.VK_BACK_SLASH,23,32]]),P0=2,R0=function(d){var f,t,i,o,U,X,W,i0,J;let G=d?320:160,K=d?204:102,s0=G>>2,b0=d?16383:4095,H0=256,v0=4293848814,y0=4278190080,p0=d?3:1,w0=.7;var n0=0,j=new Uint8Array(32),c=0,D=0,m=!1,Y=0,b=0,p=0,V=0,w=0,Q=K,T=new Uint32Array(8),H=new Uint8Array(8),Z=0,v=new Uint8Array(d?262:131),u=new Uint8Array(4),h=0,S=0,l=0,L=0,B=new Uint8Array(8),M=0;function Q0(){return f.scanline<Q&&f.getRasterX()<n0}function z(){l++,Q0()&&!(L++&p0)&&l++}function y(e,x){i[e]=x,z(),v[(e&b0)/s0|0]=1}function S0(e,x){for(var s=e*4+3,n=0;n<4;n++){var E=e%s0>=(b&63)?0:4;i0[s--]=T[E+(x&3)],x>>=2}}function a0(e){for(var x=e*G/4,s=0;s<G/4;s++)S0(x+s,i[x+s])}function d0(e,x){if(c&8){var s=0;m||(x>>=4);for(var n=0;n<4;n++){var E=x&1?D>>2&3:D&3;s|=E<<n*2,x>>=1}x=s,m=!m}if(c&4){if(h&4){var a=2*(~h&3);x=(u[3]>>a&3)<<6|(u[2]>>a&3)<<4|(u[1]>>a&3)<<2|(u[0]>>a&3)<<0}else u[h&3]=x;h++}else{var a=(c&3)<<1,s=x>>a|Y;Y=x<<8-a&255,x=s}if(c&64&&(x=(x&3)<<6|(x&12)<<2|(x&48)>>2|(x&192)>>6),c&48){var F=i[e],r=0;F&192&&x&192&&(r|=1),F&48&&x&48&&(r|=2),F&12&&x&12&&(r|=4),F&3&&x&3&&(r|=8),c&16&&(x|=F),c&32&&(x^=F),S=S&240|r|r<<4}y(e,x)}function _(e,x){H[e&7]=x&255,T[e&7]=F0[x&255],O()}function M0(){var e=b>>6}function O(){Z=K}function V0(){let e=B[0]|B[1]<<8,x=B[2]&63,s=B[3],n=M&255|B[4]<<8,E=B[5],a=B[6]+1,F,r=0,C=0,N0=l;r=0,(x&2)===0&&(r=1);function f0(){r&&(x&4)!==0&&(F!==0||(x&8)===0)&&e++,(x&2)!==0&&(r^=1)}function o0(){F!==0&&((x&32)!==0?n++:n--)}for(;a>=0;){let q;for(F=E;F>=0;){let $,e0;$=(x&1)===0?e:n,F===0&&(x&8)!==0?e0=0:e0=o.read(e),(x&1)===0?f0():o0(),$=(x&1)!==0?e:n,y($,e0),(x&1)===0?o0():f0(),C+=4,F--}q=(n&255)+s&256,n=n&65280|n+s&255,(x&16)===0?n+=q:n-=q^256,a--}l=N0+C}this.drawScanline=e=>{e==V&&p&8&&(t.retryInterrupts=!(p&4),this.probe&&this.probe.logInterrupt(w),t.interrupt(w)),e<K&&Z>0?(v[e]=0,a0(e),Z--):v[e]&&(v[e]=0,a0(e))},this.init=(e,x,s,n,E)=>{f=e,n0=e.cpuCyclesPerLine*w0,t=x,i=s,j=n,J=E,d?o={read:N([[16384,32767,16383,function(F){return z(),i[F]}],[53248,57343,4095,function(F){return i[F+16384]}],[0,16383,16383,function(F){return X?X[F]:0}],[32768,49151,16383,function(F){return X?X[F+16384]:0}]]),write:N([[16384,32767,16383,y],[0,16383,16383,d0],[53248,57343,4095,function(F,r){i[F+16384]=r}]])}:(W=x0(new c0().decode(B0(atob(G0))),8192),o={read:N([[0,8191,8191,function(F){return W[F]}],[8192,16383,8191,function(F){return X?X[F]:0}],[16384,20479,4095,function(F){return z(),i[F]}]]),write:N([[16384,20479,4095,y],[0,16383,4095,d0]])}),U={read:function(F){F&=31;var r;return F===8?(r=S,S=0):r=j[F],r},write:function(F,r){if(F!=42331){if(F&=255,F>120&&F<128){B[F&7]=r,F==114&&(M=0),F==116&&(M=M+B[3]&255),F==126&&V0();return}switch(F&=31,r&=255,F){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:_(F,r);break;case 9:b=r,M0(),O();break;case 10:Q=d?r:r>>1,O();break;case 11:var C=t.saveState();_((C.BC>>8)-1,o.read(C.HL));break;case 12:c=r,Y=0,h=0,m=!1;break;case 13:w=r;break;case 14:p=r;break;case 15:V=d?r:r>>1;break;case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:J.setACRegister(F,r);break;case 24:var C=t.saveState();J.setACRegister((C.BC>>8)-1,o.read(C.HL));break;case 25:D=r;break;case 26:case 27:case 28:case 29:case 30:break;default:break}}}},e.connectCPUMemoryBus(o),e.connectCPUIOBus(U),this.membus=o,this.iobus=U;for(var a=0;a<8;a++)_(a,a)},this.resetWaitStates=function(){var e=l;return l=0,e},this.peek=function(e){var x=l,s=o.read(e);return l=x,s},this.loadState=e=>{t.loadState(e.c),i.set(e.ram),T.set(e.palette),H.set(e.palinds),c=e.magicop,D=e.xpand,m=e.xplower,Y=e.shift2,b=e.horcb,p=e.inmod,V=e.inlin,w=e.infbk,Q=e.verbl,h=e.rotcount,u.set(e.rotdata),S=e.intst,L=e.slotphase|0,j.set(e.inputs),B.set(e.patboard),M=e.patdest,O()},this.saveState=()=>({c:t.saveState(),ram:i.slice(0),inputs:j.slice(0),palette:T.slice(0),palinds:H.slice(0),magicop:c,xpand:D,xplower:m,shift2:Y,horcb:b,inmod:p,inlin:V,infbk:w,verbl:Q,rotcount:h,rotdata:u.slice(0),intst:S,slotphase:L,patboard:B.slice(0),patdest:M}),this.reset=()=>{c=D=p=V=w=Y=b=0,Q=K,m=!1},this.toLongString=e=>{var x="";x+=`
|
||||
import{H as D0,c as l0,d as m0,e as u0,k as h0,r as E0}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as k,Z as A,_ as C0,aa as X0,ca as x0,da as N,g,l as c0,m as B0,t as g0}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var I0=X0([[A.UP,16,1],[A.DOWN,16,2],[A.LEFT,16,4],[A.RIGHT,16,8],[A.A,16,16],[A.P2_UP,17,1],[A.P2_DOWN,17,2],[A.P2_LEFT,17,4],[A.P2_RIGHT,17,8],[A.P2_A,17,16],[A.VK_P,20,1],[A.VK_SLASH,20,2],[A.VK_X,20,4],[A.VK_MINUS,20,8],[A.VK_COMMA,20,16],[A.VK_EQUALS,20,32],[A.VK_O,21,1],[A.VK_L,21,2],[A.VK_9,21,4],[A.VK_6,21,8],[A.VK_3,21,16],[A.VK_PERIOD,21,32],[A.VK_I,22,1],[A.VK_K,22,2],[A.VK_8,22,4],[A.VK_5,22,8],[A.VK_2,22,16],[A.VK_0,22,32],[A.VK_U,23,1],[A.VK_J,23,2],[A.VK_7,23,4],[A.VK_4,23,8],[A.VK_1,23,16],[A.VK_BACK_SLASH,23,32]]),P0=2,R0=function(d){var f,t,i,o,U,X,W,i0,J;let G=d?320:160,K=d?204:102,s0=G>>2,b0=d?16383:4095,H0=256,v0=4293848814,y0=4278190080,p0=d?3:1,w0=.7;var n0=0,j=new Uint8Array(32),c=0,D=0,m=!1,Y=0,b=0,p=0,V=0,w=0,Q=K,T=new Uint32Array(8),H=new Uint8Array(8),Z=0,v=new Uint8Array(d?262:131),u=new Uint8Array(4),h=0,S=0,l=0,L=0,B=new Uint8Array(8),M=0;function Q0(){return f.scanline<Q&&f.getRasterX()<n0}function z(){l++,Q0()&&!(L++&p0)&&l++}function y(e,x){i[e]=x,z(),v[(e&b0)/s0|0]=1}function S0(e,x){for(var s=e*4+3,n=0;n<4;n++){var E=e%s0>=(b&63)?0:4;i0[s--]=T[E+(x&3)],x>>=2}}function a0(e){for(var x=e*G/4,s=0;s<G/4;s++)S0(x+s,i[x+s])}function d0(e,x){if(c&8){var s=0;m||(x>>=4);for(var n=0;n<4;n++){var E=x&1?D>>2&3:D&3;s|=E<<n*2,x>>=1}x=s,m=!m}if(c&4){if(h&4){var a=2*(~h&3);x=(u[3]>>a&3)<<6|(u[2]>>a&3)<<4|(u[1]>>a&3)<<2|(u[0]>>a&3)<<0}else u[h&3]=x;h++}else{var a=(c&3)<<1,s=x>>a|Y;Y=x<<8-a&255,x=s}if(c&64&&(x=(x&3)<<6|(x&12)<<2|(x&48)>>2|(x&192)>>6),c&48){var F=i[e],r=0;F&192&&x&192&&(r|=1),F&48&&x&48&&(r|=2),F&12&&x&12&&(r|=4),F&3&&x&3&&(r|=8),c&16&&(x|=F),c&32&&(x^=F),S=S&240|r|r<<4}y(e,x)}function _(e,x){H[e&7]=x&255,T[e&7]=F0[x&255],O()}function M0(){var e=b>>6}function O(){Z=K}function V0(){let e=B[0]|B[1]<<8,x=B[2]&63,s=B[3],n=M&255|B[4]<<8,E=B[5],a=B[6]+1,F,r=0,C=0,N0=l;r=0,(x&2)===0&&(r=1);function f0(){r&&(x&4)!==0&&(F!==0||(x&8)===0)&&e++,(x&2)!==0&&(r^=1)}function o0(){F!==0&&((x&32)!==0?n++:n--)}for(;a>=0;){let q;for(F=E;F>=0;){let $,e0;$=(x&1)===0?e:n,F===0&&(x&8)!==0?e0=0:e0=o.read(e),(x&1)===0?f0():o0(),$=(x&1)!==0?e:n,y($,e0),(x&1)===0?o0():f0(),C+=4,F--}q=(n&255)+s&256,n=n&65280|n+s&255,(x&16)===0?n+=q:n-=q^256,a--}l=N0+C}this.drawScanline=e=>{e==V&&p&8&&(t.retryInterrupts=!(p&4),this.probe&&this.probe.logInterrupt(w),t.interrupt(w)),e<K&&Z>0?(v[e]=0,a0(e),Z--):v[e]&&(v[e]=0,a0(e))},this.init=(e,x,s,n,E)=>{f=e,n0=e.cpuCyclesPerLine*w0,t=x,i=s,j=n,J=E,d?o={read:N([[16384,32767,16383,function(F){return z(),i[F]}],[53248,57343,4095,function(F){return i[F+16384]}],[0,16383,16383,function(F){return X?X[F]:0}],[32768,49151,16383,function(F){return X?X[F+16384]:0}]]),write:N([[16384,32767,16383,y],[0,16383,16383,d0],[53248,57343,4095,function(F,r){i[F+16384]=r}]])}:(W=x0(new c0().decode(B0(atob(G0))),8192),o={read:N([[0,8191,8191,function(F){return W[F]}],[8192,16383,8191,function(F){return X?X[F]:0}],[16384,20479,4095,function(F){return z(),i[F]}]]),write:N([[16384,20479,4095,y],[0,16383,4095,d0]])}),U={read:function(F){F&=31;var r;return F===8?(r=S,S=0):r=j[F],r},write:function(F,r){if(F!=42331){if(F&=255,F>120&&F<128){B[F&7]=r,F==114&&(M=0),F==116&&(M=M+B[3]&255),F==126&&V0();return}switch(F&=31,r&=255,F){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:_(F,r);break;case 9:b=r,M0(),O();break;case 10:Q=d?r:r>>1,O();break;case 11:var C=t.saveState();_((C.BC>>8)-1,o.read(C.HL));break;case 12:c=r,Y=0,h=0,m=!1;break;case 13:w=r;break;case 14:p=r;break;case 15:V=d?r:r>>1;break;case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:J.setACRegister(F,r);break;case 24:var C=t.saveState();J.setACRegister((C.BC>>8)-1,o.read(C.HL));break;case 25:D=r;break;case 26:case 27:case 28:case 29:case 30:break;default:break}}}},e.connectCPUMemoryBus(o),e.connectCPUIOBus(U),this.membus=o,this.iobus=U;for(var a=0;a<8;a++)_(a,a)},this.resetWaitStates=function(){var e=l;return l=0,e},this.peek=function(e){var x=l,s=o.read(e);return l=x,s},this.loadState=e=>{t.loadState(e.c),i.set(e.ram),T.set(e.palette),H.set(e.palinds),c=e.magicop,D=e.xpand,m=e.xplower,Y=e.shift2,b=e.horcb,p=e.inmod,V=e.inlin,w=e.infbk,Q=e.verbl,h=e.rotcount,u.set(e.rotdata),S=e.intst,L=e.slotphase|0,j.set(e.inputs),B.set(e.patboard),M=e.patdest,O()},this.saveState=()=>({c:t.saveState(),ram:i.slice(0),inputs:j.slice(0),palette:T.slice(0),palinds:H.slice(0),magicop:c,xpand:D,xplower:m,shift2:Y,horcb:b,inmod:p,inlin:V,infbk:w,verbl:Q,rotcount:h,rotdata:u.slice(0),intst:S,slotphase:L,patboard:B.slice(0),patdest:M}),this.reset=()=>{c=D=p=V=w=Y=b=0,Q=K,m=!1},this.toLongString=e=>{var x="";x+=`
|
||||
INLIN: `+e.inlin,x+=`
|
||||
VERBL: `+e.verbl,x+=`
|
||||
MAGICOP: $`+g(e.magicop),x+=`
|
||||
@@ -11,4 +11,4 @@ XPLOWER: `+e.xplower,x+=`
|
||||
INTST: $`+g(e.intst),x+=`
|
||||
Palette: `;for(var s=0;s<8;s++)x+=g(H[s]);return x+=`
|
||||
`,x},this.connectVideo=function(e){i0=e},this.loadROM=function(e){X=e},this.loadBIOS=function(e){W=e},this.getVisiblePixelWords=function(){return Q*G}},P=class extends E0{constructor(t){super();this.cpuFrequency=1789e3;this.arcade=t,this.cpu=new l0,this.psg=new t0(new m0),this.numTotalScanlines=t?262:131;var i=P0*(t?1:2);this.sampleRate=60*this.numTotalScanlines*i,this.audioadapter=new h0(this.psg.psg,i,this.sampleRate),this.handler=C0(this.inputs,I0),this.defaultROMSize=t?45056:8192,this.ram=new Uint8Array(t?20480:4096),this.numVisibleScanlines=t?204:102,this.canvasWidth=t?320:160,this.cpuCyclesPerLine=this.cpuFrequency/(60*this.numVisibleScanlines*1.286)|0,this.m=new R0(t),this.m.init(this,this.cpu,this.ram,this.inputs,this.psg),t&&(this.inputs[16]=255,this.inputs[17]=255,this.inputs[18]=0,this.inputs[19]=8)}read(t){return this.m.peek(t)}write(t,i){this.m.membus.write(t,i)}connectVideo(t){super.connectVideo(t),this.frontbuffer=t,this.backbuffer=new Uint32Array(t.length),this.m.connectVideo(this.backbuffer)}preFrame(){this.m.resetWaitStates()}postFrame(){var t=this.m.getVisiblePixelWords();this.frontbuffer.set(this.backbuffer.slice(0,t),0),this.frontbuffer.fill(0,t)}setPaddleInput(t,i){switch(t){case 0:this.inputs[28]=i&255;break;case 1:this.inputs[29]=i&255;break}}startScanline(){this.audio&&this.audioadapter.generate(this.audio)}drawScanline(){var t=this.scanline;this.m.drawScanline(t)}advanceCPU(){var t=super.advanceCPU(),i=this.m.resetWaitStates();return i&&(t+=i,this.probe.logClocks(i)),t}loadROM(t){super.loadROM(t),this.m.loadROM(this.rom),this.reset()}loadBIOS(t){this.m.loadBIOS(x0(t,8192)),this.reset()}reset(){super.reset(),this.m.reset()}loadState(t){this.m.loadState(t)}saveState(){return this.m.saveState()}getDebugCategories(){return["CPU","Stack","Astro"]}getDebugInfo(t,i){if(t==="Astro")return this.m.toLongString(i)}getRasterCanvasPosition(){return{x:this.getRasterX(),y:this.getRasterY()}}getVideoParams(){return this.arcade?{width:320,height:204,rotate:180}:{width:160,height:102}}},t0=class extends u0{setACRegister(f,t){switch(f&=7,t&=255,f){case 0:this.psg.setClock(1789e3*16/(t+1)),this.psg.writeRegisterAY(7,248);break;case 1:case 2:case 3:var i=(f-1)*2,o=t*2+1;this.psg.writeRegisterAY(i,o&255),this.psg.writeRegisterAY(i+1,o>>8&255);break;case 5:this.psg.writeRegisterAY(10,t&15);break;case 6:this.psg.writeRegisterAY(8,t&15),this.psg.writeRegisterAY(9,t>>4&15);break}}},F0=[0,2368548,4737096,7171437,9539985,11974326,14342874,16777215,2425019,4784352,7213567,9582079,12016383,14384895,16753663,16762879,4784304,7143637,9568761,11937279,14306047,16740095,16749311,16758783,6946975,9306307,11731175,14096639,16465151,16736767,16745983,16755199,8847495,11206827,13631696,15994612,16724735,16733951,16743423,16752639,10420330,12779662,15138995,16713687,16723195,16732415,16741631,16751103,11534409,13959277,16318610,16713142,16722394,16731647,16741119,16750335,12255269,14680137,16711790,16713362,16722615,16732123,16741375,16750847,12517376,14876708,16711752,16714605,16724113,16733366,16742874,16752127,12255232,14680064,16711715,16716871,16726380,16735632,16745141,16754393,11534336,13959168,16318464,16720164,16729416,16738924,16748177,16757685,10420224,12779520,15141888,16723971,16733479,16742731,16752240,16761492,8847360,11206656,13639168,16007680,16738058,16747310,16756563,16766071,6946816,9309440,11743488,14112256,16480768,16752151,16761659,16770911,4784128,7151872,9585920,11954688,14323200,16757509,16766761,16776270,2429184,4797696,7232e3,9600512,12034816,14403328,16771870,16777027,9472,2377984,4746496,7180800,9549312,11983616,14352155,16777023,14080,23296,2326528,4695040,7129344,9497856,11927326,14286659,18176,27648,36864,2405376,4774144,7142661,9568041,11927374,21760,30976,40192,246272,2614784,4980503,7405371,9764703,24320,33536,43008,52224,716810,3079982,5504851,7864183,25856,35328,44544,53763,63271,1572683,3932016,6291348,26624,35840,45312,54564,63816,393068,2752401,5177269,26112,35584,44835,54343,63596,65424,2031541,4456409,24832,34084,43592,52845,62353,65462,1834970,4194302,22565,31817,41326,50578,60087,65499,2031615,4456447,19273,28781,38034,47542,56794,393215,2752511,5177343,15466,24718,34227,43479,52987,1569535,3932159,6291455,10887,20395,29648,38900,703743,3072255,5505023,7864319,6047,15299,24807,230655,2599167,4967935,7401983,9764863,688,10197,19449,2388223,4756735,7125503,9559551,11927551,187,5088,2308095,4676607,7110911,9479423,11913727,14282239];for(I=0;I<256;I++)Y0=F0[I],F0[I]=g0(Y0)|4278190080;var Y0,I;var G0="TFpHAAAgAAAAFHUyA4UHAUpdY2XzIQAgfv5Vyg0AwwAgMc5PzR4JIQUgfiNmb+kAZRrl9cXV3eX95SEAADnlzc4H4f3h3eHRwfHhyUztacnd5d1jEd053X4Gyw8mAN1+BN2OBSdvyxTd4ckBCwjts8kAQ15cJVJTOy83ODkqNDU2LTEyMysmMC49XRtuZR9lH2UeZQjD4ALD4QIgCAgBB2IToAQGAQU+FT9lAfv1xdXl/eUB1U8KPAIB1mWj12Wj2GWi/SHrT/00AP1+ANY8ICL9NgAAIexPNP0h40/9ywD+/SHtXQgWBCHuTzQ61E+3KBL9IepPYw23KAX9NQAYA82VCf3hXUIt7U1dRikOXUIktyhG3csERig5EdVPaSYAGX63KC4+1YFfPk/OAFch1U8GAAl+3YYFErcgF0H1HgHxBBgCyyMQ/P0h+l0CVrP9dwBjNz4MGLTd4cllASEP/+XNhwLxycnB4eXFEQY
Line truncated
|
||||
//# sourceMappingURL=astrocade-TDMFEDW6.js.map
|
||||
//# sourceMappingURL=astrocade-S4VJAMLF.js.map
|
||||
File renamed without changes.
@@ -1,7 +1,7 @@
|
||||
import{a as j}from"./chunk-6P6VNFPR.js";import{G as $,h as z,k as Y,m as K,q as V}from"./chunk-QYEDG265.js";import{f as H}from"./chunk-UACHXWHT.js";import{L as O,Y as R,Z as o,_ as E,aa as N,ca as W,da as _,g as S}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var b=0,F=2,v=8,Z=N([[o.A,v+0,128],[o.B,v+1,128],[o.GP_A,v+0,128],[o.GP_B,v+1,128],[o.SELECT,F,-2],[o.START,F,-1],[o.UP,b,-16],[o.DOWN,b,-32],[o.LEFT,b,-64],[o.RIGHT,b,-128],[o.P2_A,v+2,128],[o.P2_B,v+3,128],[o.P2_UP,b,-1],[o.P2_DOWN,b,-2],[o.P2_LEFT,b,-4],[o.P2_RIGHT,b,-8]]);var M=263,G=242,C=451,tt=28,et=16,rt=24,q=2,X=M*60*q,I=class{constructor(){this.regs=new Uint8Array(32)}reset(){this.regs.fill(0)}read(r){return this.regs[r]|0}write(r,t){this.regs[r]=t}saveState(){return{regs:this.regs.slice(0)}}loadState(r){for(let t=0;t<32;t++)this.write(t,r.regs[t])}static stateToLongString(r){let t="";return t+=R(r.regs,0,32),t}},L=class{constructor(){this.cycles=0;this.regs=new Uint8Array(32);this.offset=-1;this.dll=0;this.dlstart=0;this.dli=!1;this.h16=!1;this.h8=!1;this.writemode=0;this.indirect=!1;this.pixels=new Uint8Array(320);this.WSYNC=0}reset(){this.regs.fill(0)}read(r){return this.regs[r]|0}write(r,t){this.regs[r]=t,r==4&&this.WSYNC++}saveState(){return{regs:this.regs.slice(0),offset:this.offset,dll:this.dll,dlstart:this.dlstart,dli:this.dli,h16:this.h16,h8:this.h8,indirect:this.indirect,writemode:this.writemode}}loadState(r){for(let t=0;t<32;t++)this.write(t,r.regs[t]|0);this.offset=r.offset|0,this.dll=r.dll|0,this.dlstart=r.dlstart|0,this.dli=!!r.dli,this.h16=!!r.h16,this.h8=!!r.h8,this.indirect=!!r.indirect,this.writemode=r.writemode|0}isDMAEnabled(){return(this.regs[28]&96)==64}getDLLStart(){return(this.regs[12]<<8)+this.regs[16]}getCharBaseAddress(){return(this.regs[20]<<8)+this.offset}setVBLANK(r){r?(this.regs[8]|=128,this.offset=-1,this.dll=this.getDLLStart(),this.dli=this.bus&&(this.bus.read(this.dll)&128)!=0):this.regs[8]&=-129}readDLLEntry(r){if(this.dll>=16384)return;let t=r.read(this.dll);this.offset=t&15,this.h16=(t&64)!=0,this.h8=(t&32)!=0,this.dlstart=(r.read(this.dll+1)<<8)+r.read(this.dll+2),this.dll=this.dll+3&65535,this.dli=(r.read(this.dll)&128)!=0}isHoley(r){return this.indirect?!1:!!(r&32768&&(this.h16&&r&4096||this.h8&&r&2048))}readDMA(r){return this.isHoley(r)?0:(this.cycles+=3,this.bus.read(r))}doDMA(r){this.bus=r,this.cycles=0;let t=this.pixels;if(t.fill(this.regs[0]),this.isDMAEnabled()){this.cycles+=this.offset==0?rt:et,this.offset<0&&this.readDLLEntry(r);let u=this.dlstart&65280,c=this.dlstart&255;do{let x=r.read(u+(c+0&511)),m=r.read(u+(c+1&511));if(m==0||u>=16384)break;let l=r.read(u+(c+2&511)),p=r.read(u+(c+3&511)),g=!1;if((m&31)==0){var e=p>>5,n=32-(p&31),i=r.read(u+(c+4&511));g=(m&32)!=0,c+=5,this.cycles+=10,this.writemode=m&128}else{var i=p,e=m>>5,n=32-(m&31);c+=4,this.cycles+=8}this.indirect=g;let y=x+((l+(g?0:this.offset)&255)<<8);i*=2;let d=this.regs[28],k=(d&3)+(this.writemode?4:0),A=(d&4)!=0,w=g&&(d&16)!=0;w&&(n*=2);for(var s=0;s<n;s++){let h=this.readDMA(w?y+(s>>1):y+s);if(g){let P=(this.regs[20]+this.offset<<8)+h;w&&s&1&&(P++,this.cycles-=3),h=this.readDMA(P)}switch(k){case 0:for(let a=0;a<4;a++){let f=h>>6&3;(f||A)&&(t[i]=t[i+1]=this.regs[(e<<2)+f]),h<<=2,i=i+2&511}break;case 3:for(let a=0;a<8;a++){let f=(h&128)>>6;(f||A)&&(t[i]=this.regs[(e<<2)+f]),h<<=1,i=i+1&511}break;case 4:for(let a=0;a<2;a++){let f=(h>>6&3)+(h&12);(f&3||A)&&(t[i]=t[i+1]=t[i+2]=t[i+3]=this.regs[((e&4)<<2)+f]),h<<=2,i=i+2&511}break;case 6:for(let a=0;a<4;a++){let f=(h&128)>>6|(h&8)>>3;(f||A)&&(t[i]=this.regs[(e<<2)+f]),h<<=1,i=i+1&511}break;case 2:for(let a=0;a<8;a++){let f=(h&128)>>6;f+=a&1?e&1:e>>1&1,(f||A)&&(t[i]=this.regs[(e<<2)+f]),h<<=1,i=i+1&511}break;case 7:let P=h;for(let a=0;a<4;a++){a==2&&(P<<=2);let f=(h&128)>>6,Q=e&4|P>>2&3;(f||A)&&(t[i]=this.regs[(Q<<2)+f]),h<<=1,i=i+1&511}break}}}while(this.cycles<C);this.offset-=1}return this.cycles}doInterrupt(){return this.dli&&this.offset<0?(this.dli=!1,!0):!1}static stateToLongString(r){let t="";return t+=R(r.regs,0,32),t+=`
|
||||
import{a as j}from"./chunk-6P6VNFPR.js";import{G as $,h as z,k as Y,m as K,q as V}from"./chunk-RWTUUV4L.js";import{f as H}from"./chunk-UXRCACYH.js";import{L as O,Y as R,Z as o,_ as E,aa as N,ca as W,da as _,g as S}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var b=0,F=2,v=8,Z=N([[o.A,v+0,128],[o.B,v+1,128],[o.GP_A,v+0,128],[o.GP_B,v+1,128],[o.SELECT,F,-2],[o.START,F,-1],[o.UP,b,-16],[o.DOWN,b,-32],[o.LEFT,b,-64],[o.RIGHT,b,-128],[o.P2_A,v+2,128],[o.P2_B,v+3,128],[o.P2_UP,b,-1],[o.P2_DOWN,b,-2],[o.P2_LEFT,b,-4],[o.P2_RIGHT,b,-8]]);var M=263,G=242,C=451,tt=28,et=16,rt=24,q=2,X=M*60*q,I=class{constructor(){this.regs=new Uint8Array(32)}reset(){this.regs.fill(0)}read(r){return this.regs[r]|0}write(r,t){this.regs[r]=t}saveState(){return{regs:this.regs.slice(0)}}loadState(r){for(let t=0;t<32;t++)this.write(t,r.regs[t])}static stateToLongString(r){let t="";return t+=R(r.regs,0,32),t}},L=class{constructor(){this.cycles=0;this.regs=new Uint8Array(32);this.offset=-1;this.dll=0;this.dlstart=0;this.dli=!1;this.h16=!1;this.h8=!1;this.writemode=0;this.indirect=!1;this.pixels=new Uint8Array(320);this.WSYNC=0}reset(){this.regs.fill(0)}read(r){return this.regs[r]|0}write(r,t){this.regs[r]=t,r==4&&this.WSYNC++}saveState(){return{regs:this.regs.slice(0),offset:this.offset,dll:this.dll,dlstart:this.dlstart,dli:this.dli,h16:this.h16,h8:this.h8,indirect:this.indirect,writemode:this.writemode}}loadState(r){for(let t=0;t<32;t++)this.write(t,r.regs[t]|0);this.offset=r.offset|0,this.dll=r.dll|0,this.dlstart=r.dlstart|0,this.dli=!!r.dli,this.h16=!!r.h16,this.h8=!!r.h8,this.indirect=!!r.indirect,this.writemode=r.writemode|0}isDMAEnabled(){return(this.regs[28]&96)==64}getDLLStart(){return(this.regs[12]<<8)+this.regs[16]}getCharBaseAddress(){return(this.regs[20]<<8)+this.offset}setVBLANK(r){r?(this.regs[8]|=128,this.offset=-1,this.dll=this.getDLLStart(),this.dli=this.bus&&(this.bus.read(this.dll)&128)!=0):this.regs[8]&=-129}readDLLEntry(r){if(this.dll>=16384)return;let t=r.read(this.dll);this.offset=t&15,this.h16=(t&64)!=0,this.h8=(t&32)!=0,this.dlstart=(r.read(this.dll+1)<<8)+r.read(this.dll+2),this.dll=this.dll+3&65535,this.dli=(r.read(this.dll)&128)!=0}isHoley(r){return this.indirect?!1:!!(r&32768&&(this.h16&&r&4096||this.h8&&r&2048))}readDMA(r){return this.isHoley(r)?0:(this.cycles+=3,this.bus.read(r))}doDMA(r){this.bus=r,this.cycles=0;let t=this.pixels;if(t.fill(this.regs[0]),this.isDMAEnabled()){this.cycles+=this.offset==0?rt:et,this.offset<0&&this.readDLLEntry(r);let u=this.dlstart&65280,c=this.dlstart&255;do{let x=r.read(u+(c+0&511)),m=r.read(u+(c+1&511));if(m==0||u>=16384)break;let l=r.read(u+(c+2&511)),p=r.read(u+(c+3&511)),g=!1;if((m&31)==0){var e=p>>5,n=32-(p&31),i=r.read(u+(c+4&511));g=(m&32)!=0,c+=5,this.cycles+=10,this.writemode=m&128}else{var i=p,e=m>>5,n=32-(m&31);c+=4,this.cycles+=8}this.indirect=g;let y=x+((l+(g?0:this.offset)&255)<<8);i*=2;let d=this.regs[28],k=(d&3)+(this.writemode?4:0),A=(d&4)!=0,w=g&&(d&16)!=0;w&&(n*=2);for(var s=0;s<n;s++){let h=this.readDMA(w?y+(s>>1):y+s);if(g){let P=(this.regs[20]+this.offset<<8)+h;w&&s&1&&(P++,this.cycles-=3),h=this.readDMA(P)}switch(k){case 0:for(let a=0;a<4;a++){let f=h>>6&3;(f||A)&&(t[i]=t[i+1]=this.regs[(e<<2)+f]),h<<=2,i=i+2&511}break;case 3:for(let a=0;a<8;a++){let f=(h&128)>>6;(f||A)&&(t[i]=this.regs[(e<<2)+f]),h<<=1,i=i+1&511}break;case 4:for(let a=0;a<2;a++){let f=(h>>6&3)+(h&12);(f&3||A)&&(t[i]=t[i+1]=t[i+2]=t[i+3]=this.regs[((e&4)<<2)+f]),h<<=2,i=i+2&511}break;case 6:for(let a=0;a<4;a++){let f=(h&128)>>6|(h&8)>>3;(f||A)&&(t[i]=this.regs[(e<<2)+f]),h<<=1,i=i+1&511}break;case 2:for(let a=0;a<8;a++){let f=(h&128)>>6;f+=a&1?e&1:e>>1&1,(f||A)&&(t[i]=this.regs[(e<<2)+f]),h<<=1,i=i+1&511}break;case 7:let P=h;for(let a=0;a<4;a++){a==2&&(P<<=2);let f=(h&128)>>6,Q=e&4|P>>2&3;(f||A)&&(t[i]=this.regs[(Q<<2)+f]),h<<=1,i=i+1&511}break}}}while(this.cycles<C);this.offset-=1}return this.cycles}doInterrupt(){return this.dli&&this.offset<0?(this.dli=!1,!0):!1}static stateToLongString(r){let t="";return t+=R(r.regs,0,32),t+=`
|
||||
DLL: $`+S((r.regs[12]<<8)+r.regs[16],4)+" @ $"+S(r.dll,4),t+=`
|
||||
DL: $`+S(r.dlstart,4),t+=`
|
||||
Offset: `+r.offset,t+=`
|
||||
DLI? `+r.dli,t}},T=class extends V{constructor(){super();this.cpuFrequency=1789772;this.canvasWidth=320;this.numTotalScanlines=M;this.numVisibleScanlines=G;this.defaultROMSize=49152;this.cpuCyclesPerLine=113.5;this.sampleRate=X;this.ram=new Uint8Array(4096);this.regs6532=new Uint8Array(4);this.piatimer=0;this.timerinterval=1;this.tia=new I;this.maria=new L;this.lastFrameCycles=0;this.xtracyc=0;this.cpu=new K,this.read=_([[8,13,15,t=>(this.xtracyc++,this.readInput(t))],[0,31,31,t=>(this.xtracyc++,this.tia.read(t))],[32,63,31,t=>this.maria.read(t)],[64,255,255,t=>this.ram[t+2048]],[256,319,255,t=>this.read(t)],[320,511,511,t=>this.ram[t+2048]],[640,767,127,t=>(this.xtracyc++,this.readPIA(t))],[6144,10239,65535,t=>this.ram[t-6144]],[10240,16383,2047,t=>this.read(t|8192)],[16384,65535,65535,t=>this.rom?this.rom[t-16384]:0],[0,65535,65535,t=>this.probe&&this.probe.logIllegal(t)]]),this.write=_([[21,26,31,(t,e)=>{this.xtracyc++,this.pokey1.setTIARegister(t,e)}],[0,31,31,(t,e)=>{this.xtracyc++,this.tia.write(t,e)}],[32,63,31,(t,e)=>{this.maria.write(t,e)}],[64,255,255,(t,e)=>{this.ram[t+2048]=e}],[256,319,255,(t,e)=>{this.write(t,e)}],[320,511,511,(t,e)=>{this.ram[t+2048]=e}],[640,767,127,(t,e)=>{this.xtracyc++,this.writePIA(t,e)}],[6144,10239,65535,(t,e)=>{this.ram[t-6144]=e}],[10240,16383,2047,(t,e)=>{this.write(t|8192,e)}],[49151,49151,65535,(t,e)=>{}],[0,65535,65535,(t,e)=>{this.probe&&this.probe.logIllegal(t)}]]),this.connectCPUMemoryBus(this),this.dmaBus=this.probeDMABus(this),this.handler=E(this.inputs,Z),this.pokey1=new z,this.audioadapter=new Y(this.pokey1,q,X)}readConst(t){let e=this.probe;this.probe=null;let n=this.read(t);return this.probe=e,n}readInput(t){switch(t){case 12:return~this.inputs[8]&128;case 13:return~this.inputs[9]&128;default:return this.inputs[t]|0}}readPIA(t){switch(t){case 0:case 2:return this.inputs[t];case 1:case 3:return this.regs6532[t];case 4:return this.getPIATimerValue();default:return 0}}writePIA(t,e){switch(t){case 0:case 1:case 2:case 3:this.regs6532[t]=e;return;case 20:this.setPIATimer(e,0);return;case 21:this.setPIATimer(e,3);return;case 22:this.setPIATimer(e,6);return;case 23:this.setPIATimer(e,10);return;case 24:this.setPIATimer(e,6);return}}setPIATimer(t,e){this.piatimer=t+1<<e,this.timerinterval=e}getPIATimerValue(){let t=this.piatimer;return t>0?t>>this.timerinterval:t&255}advanceCPU(){var t=super.advanceCPU();return this.tickPIATimer(t),this.xtracyc&&(t+=this.xtracyc,this.tickClocks(this.xtracyc),this.xtracyc=0),t}tickClocks(t){this.probe.logClocks(t),this.tickPIATimer(t)}tickPIATimer(t){this.piatimer=Math.max(-256,this.piatimer-t)}advanceFrame(t){var e=this.pixels,n=0,i,s=0,u=0,c=0;this.lastFrameCycles=-1,this.probe.logNewFrame();for(var x=0;x<M;x++){this.scanline=x;var m=x<G;for(this.maria.setVBLANK(!m),this.maria.WSYNC=0;s<tt&&!this.maria.WSYNC;){if(t&&t()){t=null,x=999,this.lastFrameCycles=s;break}s+=this.advanceCPU()<<2,c++}if(m){let p=this.maria.doDMA(this.dmaBus);if(this.tickClocks(p>>2),s+=p,e){let d=(this.maria.regs[28]&128)!=0?15:255;for(var l=0;l<320;l++)e[n++]=J[this.maria.pixels[l]&d]}}for((m||x==M-1)&&this.maria.doInterrupt()&&(this.probe.logInterrupt(0),this.cpu.NMI());s<C;){if(this.maria.WSYNC){this.probe.logWait(0),this.tickClocks(C-s>>2),s=C;break}if(t&&t()){t=null,x=999,this.lastFrameCycles=s;break}s+=this.advanceCPU()<<2,c++}this.audio&&this.audioadapter.generate(this.audio),s-=C,u+=s,this.probe.logNewScanline()}return c}getRasterX(){return(this.lastFrameCycles+C)%C}getRasterY(){return this.scanline}getRasterCanvasPosition(){return{x:this.getRasterX(),y:this.getRasterY()}}loadROM(t){t.length==49280&&(t=t.slice(128)),this.rom=W(t,this.defaultROMSize,!0)}reset(){super.reset(),this.tia.reset(),this.maria.reset(),this.inputs.fill(0),this.inputs[b]=255,this.inputs[F]=11,this.setPIATimer(0,0)}readAddress(t){return this.read(t)|0}loadState(t){this.cpu.loadState(t.c),this.ram.set(t.ram),this.tia.loadState(t.tia),this.maria.loadState(t.maria),this.regs6532.set(t.regs6532),this.piatimer=t.pia.timer,this.timerinterval=t.pia.interval,this.loadControlsState(t)}saveState(){return{c:this.cpu.saveState(),ram:this.ram.slice(0),tia:this.tia.saveState(),maria:this.maria.saveState(),regs6532:this.regs6532.slice(0),inputs:this.inputs.slice(0),pia:{timer:this.piatimer,interval:this.timerinterval}}}loadControlsState(t){this.inputs.set(t.inputs)}saveControlsState(){return{inputs:this.inputs.slice(0)}}getDebugCategories(){return["CPU","Stack","TIA","MARIA"]}getDebugInfo(t,e){switch(t){case"TIA":return I.stateToLongString(e.tia);case"MARIA":return L.stateToLongString(e.maria)+`
|
||||
Scanline: `+this.scanline}}getDebugDisplayLists(){let t={},e=this.maria.getDLLStart(),n=0;for(;n<240;){let i=this.readConst(e),s=i&15,u=(i&64)!=0,c=(i&32)!=0,x=(this.readConst(e+1)<<8)+this.readConst(e+2);e=e+3&65535;let m=(this.readConst(e)&128)!=0,l="DL $"+S(x,4)+" "+n+"-"+(n+s);u&&(l+=" H16"),c&&(l+=" H8"),m&&(l+=" DLI"),t[l]={$$:this._readDebugDisplayList(x)},n+=s+1}return t}_readDebugDisplayList(t){return()=>this.readDebugDisplayList(t)}readDebugDisplayList(t){let e=[],n=t&65280,i=t&255;do{let x=this.maria.regs[28],m=this.readConst(n+(i+0&511)),l=this.readConst(n+(i+1&511));if(l==0)break;let p=this.readConst(n+(i+2&511)),g=this.readConst(n+(i+3&511)),y=!1,d="",k,A=(x&3)+(l&128?4:0);if((l&31)==0){var s=g>>5,u=32-(g&31),c=this.readConst(n+(i+4&511));y=(l&32)!=0,k=l&128,i+=5}else{var c=g,s=l>>5,u=32-(l&31);i+=4}d+="X="+c+" W="+u+" P="+s,k&&(d+=" WM=1"),y&&(d+=" CHR=$"+S(this.maria.regs[20]+this.maria.offset&255)+"xx");let w=m+((p+(y?0:this.maria.offset)&255)<<8);d=" $"+S(w,4)+" "+d,d=["160A","?","320D","320A","160B","?","320B","320C"][A]+" "+d,e.push(d)}while(i<512);return e}},J=new Uint32Array(256);for(D=0;D<256;D++)J[D]=j(D);var D;var it=[{id:"sprites.dasm",name:"Sprites (ASM)",category:"Assembly"},{id:"wsync.c",name:"WSYNC",category:"CC65"},{id:"sprites.c",name:"Double Buffering"},{id:"scroll.c",name:"Scrolling"},{id:"test_conio.c78",name:"Conio Test",category:"cc7800"},{id:"example_small_sprites.c78",name:"Small Sprites"},{id:"example_vertical_scrolling.c78",name:"Vertical Scrolling"}],U=class extends ${constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"TIA",start:0,size:32,type:"io"},{name:"MARIA",start:32,size:32,type:"io"},{name:"RAM (6166 Block 0)",start:64,size:192,type:"ram"},{name:"RAM (6166 Block 1)",start:320,size:192,type:"ram"},{name:"PIA",start:640,size:24,type:"io"},{name:"RAM",start:6144,size:4096,type:"ram"},{name:"Cartridge ROM",start:16384,size:49146,type:"rom"},{name:"CPU Vectors",start:65530,size:6,type:"rom"}]}};this.getToolForFilename=H}newMachine(){return new T}getPresets(){return it}getDefaultExtensions(){return[...super.getDefaultExtensions(),".cc7800"]}readAddress(t){return this.machine.readConst(t)}getROMExtension(){return".a78"}getDebugTree(){let t=super.getDebugTree();return t.display_list=this.machine.getDebugDisplayLists(),t}};O.atari7800=U;
|
||||
//# sourceMappingURL=atari7800-5OD4EMMG.js.map
|
||||
//# sourceMappingURL=atari7800-V3WYZERI.js.map
|
||||
File renamed without changes.
@@ -1,7 +1,7 @@
|
||||
import{a as ft}from"./chunk-TANFDIIN.js";import{b as dt,c as xt,d as Q}from"./chunk-6P6VNFPR.js";import{G as ct,g as at,k as nt,m as ht,r as ot,z as lt}from"./chunk-QYEDG265.js";import{g as H}from"./chunk-UACHXWHT.js";import{L as T,Y as D,Z as i,_ as it,a as Y,aa as rt,da as k,g as _,r as I}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var Mt=[0,25,17,9],vt=[0,89,97,105],y=0,Ct=1,B=2,z=3,Lt=4,Kt=5,Pt=7,Vt=9,L=10,wt=11,Nt=12,Ut=13,ut=14,Ft=15,K=15;var Yt=13,Ht=106,Qt=105,X=[0,0,8,10,8,16,8,16,8,4,4,2,1,2,1,1],Bt=[0,0,2,2,2,2,4,4,8,8,4,4,4,2,2,2],zt=[0,0,0,0,0,1,0,1,0,0,2,1,0,0,0,0],mt=[0,0,1,1,2,2,2,2,8,4,4,2,2,2,2,1],M=class{constructor(e,t){this.regs=new Uint8Array(16);this.left=-1;this.right=-1;this.dma_enabled=!1;this.dliop=0;this.mode=0;this.jmp=!1;this.lms=!1;this.dlarg_lo=0;this.dlarg_hi=0;this.period=0;this.scanaddr=0;this.startaddr=0;this.pfbyte=0;this.ch=0;this.linesleft=0;this.yofs=0;this.isfirstline=!1;this.v=0;this.h=0;this.linebuf=new Uint8Array(48);this.dmaclock=0;this.dmaidx=0;this.output=0;this.dramrefresh=!1;this.in_vscroll=0;this.read=e,this.nmi=t}reset(){this.regs.fill(0),this.regs[ut]=0,this.regs[K]=127,this.regs[Nt]=0,this.regs[Ut]=255,this.setReg(y,0),this.h=this.v=0,this.startaddr=this.scanaddr=0,this.dmaclock=0}saveState(){return I(0,{},this)}loadState(e){I(0,this,e),this.setReg(y,e.regs[y])}static stateToLongString(e){let t="";return t+="H: "+Y(e.h,3)+" V: "+Y(e.v,3)+`
|
||||
import{a as ft}from"./chunk-ENVHSJV6.js";import{b as dt,c as xt,d as Q}from"./chunk-6P6VNFPR.js";import{G as ct,g as at,k as nt,m as ht,r as ot,z as lt}from"./chunk-RWTUUV4L.js";import{g as H}from"./chunk-UXRCACYH.js";import{L as T,Y as D,Z as i,_ as it,a as Y,aa as rt,da as k,g as _,r as I}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var Mt=[0,25,17,9],vt=[0,89,97,105],y=0,Ct=1,B=2,z=3,Lt=4,Kt=5,Pt=7,Vt=9,L=10,wt=11,Nt=12,Ut=13,ut=14,Ft=15,K=15;var Yt=13,Ht=106,Qt=105,X=[0,0,8,10,8,16,8,16,8,4,4,2,1,2,1,1],Bt=[0,0,2,2,2,2,4,4,8,8,4,4,4,2,2,2],zt=[0,0,0,0,0,1,0,1,0,0,2,1,0,0,0,0],mt=[0,0,1,1,2,2,2,2,8,4,4,2,2,2,2,1],M=class{constructor(e,t){this.regs=new Uint8Array(16);this.left=-1;this.right=-1;this.dma_enabled=!1;this.dliop=0;this.mode=0;this.jmp=!1;this.lms=!1;this.dlarg_lo=0;this.dlarg_hi=0;this.period=0;this.scanaddr=0;this.startaddr=0;this.pfbyte=0;this.ch=0;this.linesleft=0;this.yofs=0;this.isfirstline=!1;this.v=0;this.h=0;this.linebuf=new Uint8Array(48);this.dmaclock=0;this.dmaidx=0;this.output=0;this.dramrefresh=!1;this.in_vscroll=0;this.read=e,this.nmi=t}reset(){this.regs.fill(0),this.regs[ut]=0,this.regs[K]=127,this.regs[Nt]=0,this.regs[Ut]=255,this.setReg(y,0),this.h=this.v=0,this.startaddr=this.scanaddr=0,this.dmaclock=0}saveState(){return I(0,{},this)}loadState(e){I(0,this,e),this.setReg(y,e.regs[y])}static stateToLongString(e){let t="";return t+="H: "+Y(e.h,3)+" V: "+Y(e.v,3)+`
|
||||
`,t+="DLIOp: "+_(e.dliop,2)+" Lines: "+e.yofs+"/"+e.linesleft,t+=" DMA "+(e.dma_enabled?"ON ":"off"),e.dma_enabled&&(t+=" idx "+e.dmaidx+" clk "+_(e.dmaclock)),t+=`
|
||||
`,t+="Addr: "+_(e.scanaddr,4)+`
|
||||
`,t+=D(e.regs,0,16).replace("$00","Regs"),t}setReg(e,t){switch(e){case L:this.regs[L]=255;return;case Ft:this.regs[K]=31;return}this.regs[e]=t}readReg(e){switch(e){case K:return this.regs[e];case wt:return this.v>>1;default:return 255}}processDLIEntry(){if(this.mode==0)this.linesleft=(this.dliop>>4&7)+1,this.dmaclock=0;else{this.linesleft=X[this.mode],this.period=Bt[this.mode],this.jmp?(this.regs[B]=this.dlarg_lo,this.regs[z]=this.dlarg_hi,this.mode=this.period=0,this.dliop&64&&(this.linesleft=1,this.dma_enabled=!1),this.dmaclock=0):this.lms&&(this.scanaddr=this.dlarg_lo+(this.dlarg_hi<<8)),this.startaddr=this.scanaddr;let e=this.regs[y]&3,t=this.dliop&16?(this.regs[Lt]&15)>>1:0;this.dliop&16&&e<3&&e++,this.left=Mt[e]+t,this.right=vt[e]+t;let s=this.regs[Kt]&15;this.dliop&32^this.in_vscroll&&(this.in_vscroll?this.linesleft=s+1:(this.linesleft-=s,this.yofs+=s),this.linesleft&=15,this.in_vscroll^=32)}}nextLine(){this.linesleft>0&&(this.linesleft--,this.yofs++,this.isfirstline=!1,this.mode>=8&&this.linesleft&&(this.scanaddr=this.startaddr))}triggerNMI(e){this.regs[K]=e|31,this.regs[ut]&e&&this.nmi()}getDlistAddr(){return this.regs[B]+(this.regs[z]<<8)}nextInsn(){let e=this.getDlistAddr(),t=this.read(e);return e=e+1&1023|e&-1024,this.regs[B]=e&255,this.regs[z]=e>>8,t}nextScreen(){let e=this.read(this.scanaddr);return this.incScanAddr(),e}incScanAddr(){this.scanaddr=this.scanaddr+1&4095|this.scanaddr&-4096}dlDMAEnabled(){return this.regs[y]&32}isVisibleScanline(){return this.v>=8&&this.v<248}isPlayfieldDMAEnabled(){return this.dma_enabled&&!this.linesleft}isPlayerDMAEnabled(){return this.regs[y]&8}isMissileDMAEnabled(){return this.regs[y]&12}isWSYNC(){return this.regs[L]!=0}clockPulse(){let e=this.isWSYNC();if(!this.isVisibleScanline())this.doVBlank();else{switch(this.h){case 0:this.isMissileDMAEnabled()&&(this.doPlayerMissileDMA(3),e=!0);break;case 1:if(this.isPlayfieldDMAEnabled()){let t=this.nextInsn();this.jmp=(t&-65)==1,this.lms=(t&64)!=0&&(t&15)!=0,this.mode=t&15,this.dliop=t,this.yofs=0,this.isfirstline=!0,e=!0}break;case 2:case 3:case 4:case 5:this.isPlayerDMAEnabled()&&(this.doPlayerMissileDMA(this.h+2),e=!0);break;case 6:case 7:this.isPlayfieldDMAEnabled()&&this.isfirstline&&(this.jmp||this.lms)&&(this.h==6&&(this.dlarg_lo=this.nextInsn()),this.h==7&&(this.dlarg_hi=this.nextInsn()),e=!0);break;case 8:this.isfirstline&&this.processDLIEntry(),this.dliop&128&&this.linesleft==1&&this.triggerNMI(128);break;case 9:break;case 111:this.dma_enabled&&this.nextLine(),++this.v;break}if(this.output=0,this.mode>=2&&this.period){let t=this.h<=Qt;this.dmaclock=this.dmaclock<<1&511,this.dmaclock&1<<this.period&&(this.dmaclock|=1),this.h==this.left&&(this.dmaclock|=1,this.dmaidx=0),this.h==this.right&&(this.dmaclock&=-2,this.dmaidx++),this.dmaclock&1?(this.mode<8&&this.isfirstline&&(t?this.linebuf[this.dmaidx]=this.nextScreen():this.incScanAddr(),e=t),this.dmaidx++):this.dmaclock&8&&(this.ch=this.linebuf[this.dmaidx-4/this.period],t?this.readBitmapData():this.mode>=8&&this.incScanAddr(),e=t),this.output=this.h>=this.left+3&&this.h<=this.right+2?4:0}}return(this.h<Yt||this.h>Ht)&&(this.output=2),this.incHorizCounter(),!e&&this.dramrefresh&&(this.read(0),this.dramrefresh=!1,e=!0),e}incHorizCounter(){switch(this.h){case 25:case 29:case 33:case 37:case 41:case 45:case 49:case 53:case 57:this.dramrefresh=!0;break;case 102:this.regs[L]=0;break;case 113:this.h=0;return}++this.h}doVBlank(){this.linesleft=this.mode=this.period=0,this.h==111&&this.v++,this.v==248&&this.h==0&&this.triggerNMI(64),this.v==262&&this.h==112&&(this.v=0),this.v==7&&this.h==113&&(this.dma_enabled=this.dlDMAEnabled()!=0),this.output=2,this.dmaclock=0}doPlayerMissileDMA(e){let t=this.regs[y]&16,s=this.regs[Pt]<<8;t?(s&=63488,s|=e<<8,s|=this.v&255):(s&=64512,s|=e<<7,s|=this.v>>1),this.read(s)}readBitmapData(){let e=this.mode;if(e<8){let t=this.ch,s=this.yofs>>zt[this.mode],r=s&7,a=this.regs[Vt];(e&14)==6?(t&=63,a&=254):(t&=127,a&=252);let o=(t<<3)+(a<<8);if((e&14)==2){let h=this.regs[Ct],c=e==3&&(t&96)==96;h&4?this.pfbyte=this.read(o+(r^7)):this.pfbyte=this.read(o+r),c&&s<2&&(this.pfbyte=0),!c&&s>7&&(this.pfbyte=0),this.ch&128&&(h&1&&(this.pfbyte=0),h&2&&(this.pfbyte^=255))}else this.pfbyte=this.read(o+r)}else this.pfbyte=this.nextScreen()}shiftout(){if(this.output==4)switch(this.mode){case 2:case 3:case 15:{let e=this.pfbyte>>7&1;return this.pfbyte<<=1,e?8:6}case 6:case 7:{let e=this.pfbyte>>7&1;return this.pfbyte<<=1,e?(this.ch>>6)+4:0}case 9:case 11:case 12:{let e=this.pfbyte>>7&1;return this.pfbyte<<=1,e?4:0}case 4:case 5:{let e=this.pfbyte>>6&3;return this.pfbyte<<=2,this.ch&128?[0,4,5,7][e]:[0,4,5,6][e]}case 8:case 10:case 13:case 14:{let e=this.pfbyte>>6&3;return this.pfbyte<<=2,[0,4,5,6][e]}}return this.output}};var f=0;var Xt=2;var gt=4;var _t=6;var p=8,qt=9,Gt=10,Wt=11,jt=13,q=14,S=15;var Zt=8,$t=9,Jt=10,te=13,O=14,P=15;var pt=128,bt=64,ee=32,yt=16,Et=8;var se=1,St=28,ie=114;var At=511,It=131071,m=0,g=1,b=2,u=3,E=114,re=15;var ae=8;var G,V;functi
Line truncated
|
||||
`,t+=D(e.regs,0,16),t+=`Read Registers:
|
||||
`,t+=D(e.readregs,0,16),t}CASSETTE_IOLineStatus(){return 0}siocheck(){return((this.regs[f+b]==40||this.regs[f+b]==16||this.regs[f+b]==8||this.regs[f+b]==10)&&this.regs[f+u]==0||(this.regs[S]&120)==40)&&(this.regs[p]&40)==40}SIO_PutByte(e){console.log("SIO put byte",e)}SIO_GetByte(){return 0}};var w=class{constructor(e){if(this.data=e,e.length>=16&&(e[0]|e[1]<<8)==662){let s=(e[2]|e[3]<<8)*16,r=e[4]|e[5]<<8;this.sectorsize=r==256?256:128,this.sectorsize==256?this.numsectors=3+Math.floor((s-16-384)/256):this.numsectors=Math.floor((s-16)/128)}else this.sectorsize=128,this.numsectors=Math.floor(e.length/128)}sectorOffset(e){return this.sectorsize==256?e<3?16+e*128:400+(e-3)*256:16+e*128}readSector(e,t){let s=e-1;if(s<0||s>=this.numsectors)return null;let r=this.sectorOffset(s);return this.data.subarray(r,Math.min(r+t,this.data.length))}writeSector(e,t,s){let r=e-1;if(r<0||r>=this.numsectors)return!1;let a=this.sectorOffset(r);return this.data.set(t.subarray(0,Math.min(s,this.data.length-a)),a),!0}};var W=160,he=240,oe=241,Ot=242,le=[173,0,3,201,49,144,12,201,64,176,8,141,240,213,173,241,213,168,96,76,80,233],ce=[i.VK_L,i.VK_J,i.VK_SEMICOLON,i.VK_F4,i.VK_F5,i.VK_K,i.VK_BACK_SLASH,i.VK_TILDE,i.VK_O,null,i.VK_P,i.VK_U,i.VK_ENTER,i.VK_I,i.VK_MINUS2,i.VK_EQUALS2,i.VK_V,i.VK_F7,i.VK_C,i.VK_F6,i.VK_F4,i.VK_B,i.VK_X,i.VK_Z,i.VK_4,null,i.VK_3,i.VK_6,i.VK_ESCAPE,i.VK_5,i.VK_2,i.VK_1,i.VK_COMMA,i.VK_SPACE,i.VK_PERIOD,i.VK_N,null,i.VK_M,i.VK_SLASH,null,i.VK_R,null,i.VK_E,i.VK_Y,i.VK_TAB,i.VK_T,i.VK_W,i.VK_Q,i.VK_9,null,i.VK_0,i.VK_7,i.VK_BACK_SPACE,i.VK_8,null,null,i.VK_F,i.VK_H,i.VK_D,null,i.VK_CAPS_LOCK,i.VK_G,i.VK_S,i.VK_A],fe=rt([[i.UP,0,1],[i.DOWN,0,2],[i.LEFT,0,4],[i.RIGHT,0,8],[{c:16,n:"Shift",plyr:0,button:0},2,1],[i.VK_F1,3,1],[i.VK_F2,3,2],[i.VK_F3,3,4]]),C=class extends ot{constructor(){super();this.cpuFrequency=1789773;this.numTotalScanlines=262;this.cpuCyclesPerLine=114;this.canvasWidth=336;this.numVisibleScanlines=224;this.aspectRatio=this.canvasWidth/this.numVisibleScanlines*.857;this.firstVisibleScanline=16;this.firstVisibleClock=76;this.defaultROMSize=32768;this.overscan=!0;this.audioOversample=2;this.sampleRate=this.numTotalScanlines*60*this.audioOversample;this.run_address=-1;this.inputs=new Uint8Array(4);this.linergb=new Uint32Array(this.canvasWidth);this.lastdmabyte=0;this.keycode=0;this.cart_80=!1;this.cart_a0=!1;this.xexdata=null;this.xexofs=0;this.xexstubofs=0;this.xexrunaddr=-1;this.disk=null;this.keyboard_active=!0;this.d500=new Uint8Array(256);this.cpu=new ht,this.ram=new Uint8Array(65536),this.bios=new Uint8Array(10240),this.bus=this.newBus(),this.connectCPUMemoryBus(this.bus),this.antic=new M(this.readDMA.bind(this),this.antic_nmi.bind(this)),this.gtia=new Q,this.irq_pokey=new v(this.pokey_irq.bind(this),()=>this.antic.h),this.audio_pokey=at(1),this.audioadapter=new nt(this.audio_pokey.pokey1,this.audioOversample,this.sampleRate),this.handler=it(this.inputs,fe,this.getKeyboardFunction(),!0)}newBus(){return{read:k([[0,32767,65535,t=>this.ram[t]],[32768,40959,65535,t=>this.cart_80?this.rom[t-32768]:this.ram[t]],[40960,49151,65535,t=>this.cart_a0?this.rom[t-32768]:this.ram[t]],[53248,53503,31,t=>this.gtia.readReg(t)],[53760,54015,15,t=>this.readPokey(t)],[54016,54271,15,t=>this.readPIA(t)],[54272,54527,15,t=>this.antic.readReg(t)],[54528,54783,255,t=>this.d500[t]],[55296,65535,65535,t=>this.bios[t-55296]]]),write:k([[0,49146,65535,(t,s)=>{this.ram[t]=s}],[49147,49151,65535,(t,s)=>{this.ram[t]=s,this.initCartA()}],[53248,53503,31,(t,s)=>{this.gtia.setReg(t,s)}],[53760,54015,15,(t,s)=>{this.writePokey(t,s)}],[54272,54527,15,(t,s)=>{this.antic.setReg(t,s)}],[54528,54783,255,(t,s)=>{this.writeMapper(t,s)}]])}}loadBIOS(t){this.bios.set(t),this.installSIOStub()}installSIOStub(){this.bios[3161]=76,this.bios[3162]=54528+W&255,this.bios[3163]=54528+W>>8,this.d500.set(le,W)}reset(){super.reset(),this.antic.reset(),this.gtia.reset(),this.keycode=0}read(t){return this.bus.read(t)}readDMA(t){let s=this.bus.read(t);return this.probe.logDMARead(t,s),this.lastdmabyte=s,s}readConst(t){return t<53248||t>=54528?this.bus.read(t):255}write(t,s){this.bus.write(t,s)}readPokey(t){switch(t&15){case 9:return this.keycode&255;case 15:return~this.keycode>>6&4|~this.keycode>>3&8|18;default:return this.irq_pokey.read(t)}}readPIA(t){if(t==0||t==1)return~this.inputs[t]}writePokey(t,s){this.audio_pokey.pokey1.setRegister(t,s),this.irq_pokey.write(t,s)}startScanline(){this.gtia.sync();for(let t=0;t<4;t++)this.gtia.readregs[dt+t]=~this.inputs[2]>>t&1;this.gtia.readregs[xt]=~this.inputs[3]&7,this.audio&&this.audioadapter.generate(this.audio),this.irq_pokey.advanceScanline()}drawScanline(){let t=this.antic.v-this.firstVisibleScanline;t>=0&&t<this.numVisibleScanlines&&this.pixels.set(this.linergb,t*this.canvasWidth)}advanceCPU(){this.antic.clockPulse()?(this.antic.h<8&&this.gtia.updateGfx(this.antic.h-1,this.antic.v,this.lastdmabyte),this.antic.isWSYNC()&&this.probe.logWait(0),this.probe.logClocks(1)):super.advanceCPU();let t=this.an
Line truncated
|
||||
//# sourceMappingURL=atari8-Z33KTU3I.js.map
|
||||
//# sourceMappingURL=atari8-MAPQMH2S.js.map
|
||||
File renamed without changes.
@@ -1,4 +1,4 @@
|
||||
import{b as y}from"./chunk-3FIVEUG2.js";import{n as E}from"./chunk-UACHXWHT.js";import{C as c,L as f,U as d,W as v,X as S,a as g}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";function O(u){return u.value!=null}function k(u){return u.name!=null}function N(u){return u.op!=null&&u.left!=null&&u.right!=null}function I(u){return u.op!=null&&u.expr!=null}var m=class{randomize(){this.seed(Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647)}constructor(){(()=>{var r,e,i,n;this.seed=function(s,a,h,o){r=s,e=a,i=h,n=o},this.seedfloat=function(s){this.seed(s,s*4294,s*429496,s*4294967296),this.next(),this.next(),this.next()},this.next=function(){r>>>=0,e>>>=0,i>>>=0,n>>>=0;var s=r+e|0;return r=e^e>>>9,e=i+(i<<3)|0,i=i<<21|i>>>11,n=n+1|0,s=s+n|0,i=i+s|0,(s>>>0)/4294967296}})(),this.seedfloat(-1)}},T=1024*1024,l=class u{constructor(){this.margin=80;this.running=!1;this.exited=!0;this.trace=!1}load(t){let r=null,e=0;if(this.pc2label!=null){let s=this.curpc;for(;s>0&&(r=this.pc2label.get(s))==null;)s--;e=this.curpc-s,console.log("oldpc=",this.curpc,"restart @ label",r,"+",e)}this.program=t,this.opts=t.opts,this.opts.maxArrayElements||(this.opts.maxArrayElements=T),this.allstmts=t.stmts,this.label2pc=t.labels,this.label2dataptr={},this.pc2label=new Map,this.datums=[],this.subroutines={},this.builtins=this.getBuiltinFunctions();for(var i in t.labels){var n=t.labels[i];this.pc2label.set(n,i)}return this.allstmts.forEach((s,a)=>{this.curpc=a+1,this.compileStatement(s),s.command=="DATA"&&(this.label2dataptr[s.$loc.label]=this.datums.length,s.datums.forEach(h=>{this.curpc=s.$loc.offset,this.datums.push(h)}))}),this.label2pc[r]!=null?(this.curpc=this.label2pc[r]+e,!0):(this.curpc=0,!1)}reset(){this.curpc=0,this.dataptr=0,this.clearVars(),this.returnStack=[],this.column=0,this.running=!0,this.exited=!1}clearVars(){this.globals=this.vars={},this.arrays={},this.defs={},this.forLoops={},this.forLoopStack=[],this.whileLoops=[],this.rng=new m,this.opts&&this.opts.staticArrays&&this.allstmts.filter(t=>t.command=="DIM").forEach(t=>{t.args.forEach(r=>this.compileJS(this._DIM(r))())})}saveState(){return $.extend(!0,{},this)}loadState(t){$.extend(!0,this,t)}getBuiltinFunctions(){var t=this.program&&this.opts.validFunctions;t||(t=Object.getOwnPropertyNames(u.prototype).filter(i=>/^[A-Z]{3,}[$]?$/.test(i)));var r={};for(var e of t)this.supportsFunction(e)&&(r[e]=this[e].bind(this));return r}supportsFunction(t){return typeof this[t]=="function"}runtimeError(t){throw this.curpc--,new d(t,this.getCurrentSourceLocation())}dialectError(t){this.runtimeError(`I can't ${t} in this dialect of BASIC.`)}getLineForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.line}getLabelForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.label}getCurrentSourceLocation(){var t=this.getStatement();return t&&t.$loc}getCurrentLabel(){var t=this.getCurrentSourceLocation();return t&&t.label}getStatement(){return this.allstmts[this.curpc]}step(){if(!this.running)return!1;var t=this.getStatement();return t?(this.trace&&console.log(this.curpc,t,this.vars,Object.keys(this.arrays)),this.curpc++,this.executeStatement(t),this.running):(this.running=!1,this.exited=!0,!1)}compileStatement(t){if(t.$run==null)try{var r=this["do__"+t.command];r==null&&this.runtimeError(`I don't know how to "${t.command}".`);var e=r.bind(this)(t);this.trace&&console.log(e),t.$run=this.compileJS(e)}catch(i){throw e&&console.log(e),i}}compileJS(t){return new Function(t).bind(this)}executeStatement(t){this.compileStatement(t),t.$run()}skipToEOL(){do this.curpc++;while(this.curpc<this.allstmts.length&&!this.pc2label.get(this.curpc))}skipToElse(){for(;this.curpc<this.allstmts.length;){var t=this.allstmts[this.curpc].command;if(t=="ELSE"){this.curpc++;break}else if(t=="IF")return this.skipToEOL();if(this.curpc++,this.pc2label.get(this.curpc))break}}skipToEOF(){this.curpc=this.allstmts.length}skipToAfterNext(t){for(var r=this.curpc;r<this.allstmts.length;){var e=this.allstmts[r];if(e.command=="NEXT"){var i=e.lexpr;if(i&&i.name==t){this.curpc=r+1;return}}r++}this.runtimeError(`I couldn't find a matching NEXT ${t} to skip this for loop.`)}skipToAfterWend(){for(var t=this.curpc-1,r=0;t<this.allstmts.length;){var e=this.allstmts[t];if(e.command=="WHILE")r++;else if(e.command=="WEND"&&(r--,r==0)){this.curpc=t+1;return}t++}this.runtimeError("I couldn't find a matching WEND for this WHILE.")}gotoLabel(t){var r=this.label2pc[t];r>=0?this.curpc=r:this.runtimeError(`I tried to go to the label "${t}" but couldn't find it.`)}newLocalScope(){this.vars=Object.create(this.vars)}popLocalScope(){this.vars!==this.globals&&(this.vars=Object.getPrototypeOf(this.vars))}gosubLabel(t){this.returnStack.length>32767&&this.runtimeError("I did too many GOSUBs without a RETURN."),this.returnStack.push(this.curpc),this.gotoLabel(t)}returnFromGosub(){this.returnStack.length==0&&this.runtimeError("I tried to RETURN, but there wasn't a corresponding GOSUB.");var t=this.retuLine truncated
|
||||
import{b as y}from"./chunk-3FIVEUG2.js";import{n as E}from"./chunk-UXRCACYH.js";import{C as c,L as f,U as d,W as v,X as S,a as g}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";function O(u){return u.value!=null}function k(u){return u.name!=null}function N(u){return u.op!=null&&u.left!=null&&u.right!=null}function I(u){return u.op!=null&&u.expr!=null}var m=class{randomize(){this.seed(Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647,Math.random()*2147483647)}constructor(){(()=>{var r,e,i,n;this.seed=function(s,a,h,o){r=s,e=a,i=h,n=o},this.seedfloat=function(s){this.seed(s,s*4294,s*429496,s*4294967296),this.next(),this.next(),this.next()},this.next=function(){r>>>=0,e>>>=0,i>>>=0,n>>>=0;var s=r+e|0;return r=e^e>>>9,e=i+(i<<3)|0,i=i<<21|i>>>11,n=n+1|0,s=s+n|0,i=i+s|0,(s>>>0)/4294967296}})(),this.seedfloat(-1)}},T=1024*1024,l=class u{constructor(){this.margin=80;this.running=!1;this.exited=!0;this.trace=!1}load(t){let r=null,e=0;if(this.pc2label!=null){let s=this.curpc;for(;s>0&&(r=this.pc2label.get(s))==null;)s--;e=this.curpc-s,console.log("oldpc=",this.curpc,"restart @ label",r,"+",e)}this.program=t,this.opts=t.opts,this.opts.maxArrayElements||(this.opts.maxArrayElements=T),this.allstmts=t.stmts,this.label2pc=t.labels,this.label2dataptr={},this.pc2label=new Map,this.datums=[],this.subroutines={},this.builtins=this.getBuiltinFunctions();for(var i in t.labels){var n=t.labels[i];this.pc2label.set(n,i)}return this.allstmts.forEach((s,a)=>{this.curpc=a+1,this.compileStatement(s),s.command=="DATA"&&(this.label2dataptr[s.$loc.label]=this.datums.length,s.datums.forEach(h=>{this.curpc=s.$loc.offset,this.datums.push(h)}))}),this.label2pc[r]!=null?(this.curpc=this.label2pc[r]+e,!0):(this.curpc=0,!1)}reset(){this.curpc=0,this.dataptr=0,this.clearVars(),this.returnStack=[],this.column=0,this.running=!0,this.exited=!1}clearVars(){this.globals=this.vars={},this.arrays={},this.defs={},this.forLoops={},this.forLoopStack=[],this.whileLoops=[],this.rng=new m,this.opts&&this.opts.staticArrays&&this.allstmts.filter(t=>t.command=="DIM").forEach(t=>{t.args.forEach(r=>this.compileJS(this._DIM(r))())})}saveState(){return $.extend(!0,{},this)}loadState(t){$.extend(!0,this,t)}getBuiltinFunctions(){var t=this.program&&this.opts.validFunctions;t||(t=Object.getOwnPropertyNames(u.prototype).filter(i=>/^[A-Z]{3,}[$]?$/.test(i)));var r={};for(var e of t)this.supportsFunction(e)&&(r[e]=this[e].bind(this));return r}supportsFunction(t){return typeof this[t]=="function"}runtimeError(t){throw this.curpc--,new d(t,this.getCurrentSourceLocation())}dialectError(t){this.runtimeError(`I can't ${t} in this dialect of BASIC.`)}getLineForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.line}getLabelForPC(t){var r=this.allstmts[t];return r&&r.$loc&&r.$loc.label}getCurrentSourceLocation(){var t=this.getStatement();return t&&t.$loc}getCurrentLabel(){var t=this.getCurrentSourceLocation();return t&&t.label}getStatement(){return this.allstmts[this.curpc]}step(){if(!this.running)return!1;var t=this.getStatement();return t?(this.trace&&console.log(this.curpc,t,this.vars,Object.keys(this.arrays)),this.curpc++,this.executeStatement(t),this.running):(this.running=!1,this.exited=!0,!1)}compileStatement(t){if(t.$run==null)try{var r=this["do__"+t.command];r==null&&this.runtimeError(`I don't know how to "${t.command}".`);var e=r.bind(this)(t);this.trace&&console.log(e),t.$run=this.compileJS(e)}catch(i){throw e&&console.log(e),i}}compileJS(t){return new Function(t).bind(this)}executeStatement(t){this.compileStatement(t),t.$run()}skipToEOL(){do this.curpc++;while(this.curpc<this.allstmts.length&&!this.pc2label.get(this.curpc))}skipToElse(){for(;this.curpc<this.allstmts.length;){var t=this.allstmts[this.curpc].command;if(t=="ELSE"){this.curpc++;break}else if(t=="IF")return this.skipToEOL();if(this.curpc++,this.pc2label.get(this.curpc))break}}skipToEOF(){this.curpc=this.allstmts.length}skipToAfterNext(t){for(var r=this.curpc;r<this.allstmts.length;){var e=this.allstmts[r];if(e.command=="NEXT"){var i=e.lexpr;if(i&&i.name==t){this.curpc=r+1;return}}r++}this.runtimeError(`I couldn't find a matching NEXT ${t} to skip this for loop.`)}skipToAfterWend(){for(var t=this.curpc-1,r=0;t<this.allstmts.length;){var e=this.allstmts[t];if(e.command=="WHILE")r++;else if(e.command=="WEND"&&(r--,r==0)){this.curpc=t+1;return}t++}this.runtimeError("I couldn't find a matching WEND for this WHILE.")}gotoLabel(t){var r=this.label2pc[t];r>=0?this.curpc=r:this.runtimeError(`I tried to go to the label "${t}" but couldn't find it.`)}newLocalScope(){this.vars=Object.create(this.vars)}popLocalScope(){this.vars!==this.globals&&(this.vars=Object.getPrototypeOf(this.vars))}gosubLabel(t){this.returnStack.length>32767&&this.runtimeError("I did too many GOSUBs without a RETURN."),this.returnStack.push(this.curpc),this.gotoLabel(t)}returnFromGosub(){this.returnStack.length==0&&this.runtimeError("I tried to RETURN, but there wasn't a corresponding GOSUB.");var t=this.retuLine truncated
|
||||
`)this.column=0,e=t;else if(t==" "){var n=this.opts.printZoneLength,s=Math.floor(this.column/n),a=(s+1)*this.opts.printZoneLength;a+n>this.margin?(this.column=0,e=`
|
||||
`):e=this.TAB(a)}else e=`${t}`;return e}float2str(t,r){var e=t.toString().toUpperCase();if(r>0){for(var i=r;e.length>r;)e=t.toPrecision(i--);e.startsWith("0.")?e=e.substr(1):e.startsWith("-0.")&&(e="-"+e.substr(2))}return e}printExpr(t){var r=this.valueToString(t,this.opts.numericPadding);this.column+=r.length,this.print(r)}print(t){console.log(t)}async input(t,r){return{line:"",vals:[]}}resume(){}expr2js(t,r){if(r||(r={}),O(t))return JSON.stringify(t.value);if(k(t)){if(!t.args&&r.locals&&r.locals.indexOf(t.name)>=0)return t.name;{r.isconst&&this.runtimeError("I expected a constant value here.");var e="",i=JSON.stringify(t.name);let h=t.args?t.args.map(o=>this.expr2js(o,r)).join(", "):[];return t.name.startsWith("FN")?e+=`this.getDef(${i})(${h})`:this.builtins[t.name]?(this.checkFuncArgs(t,this.builtins[t.name]),e+=`this.builtins.${t.name}(${h})`):t.args?this.opts.arraysContainChars&&t.name.endsWith("$")?e+=`this.getStringSlice(this.vars.${t.name}, ${h})`:e+=`this.arrayGet(${i}, ${h})`:e+=`this.vars.${t.name}`,r.novalid?e:`this.checkValue(${e}, ${i})`}}else if(N(t)){var n=this.expr2js(t.left,r),s=this.expr2js(t.right,r);return`this.${t.op}(${n}, ${s})`}else if(I(t)){var a=this.expr2js(t.expr,r);return`this.${t.op}(${a})`}}assign2js(t,r){r||(r={});var e="";return(t.name.startsWith("FN")||this.builtins[t.name])&&this.runtimeError("I can't call a function here."),t.args?this.opts.arraysContainChars&&t.name.endsWith("$")?this.runtimeError("I can't set array slices via this command yet."):e+=this.array2js(t,r):e=`this.globals.${t.name}`,e}array2js(t,r){var e=JSON.stringify(t.name),i=t.args||[];return this.expr2js(t,{novalid:!0})+`;this.getArray(${e}, ${i.length})`+i.map(n=>"[this.ROUND("+this.expr2js(n,r)+")]").join("")}checkFuncArgs(t,r){var e=t.args?t.args.length:0;t.name=="RND"&&e==0||t.name=="MID$"&&e==2||t.name=="INSTR"&&e==2||r.length!=e&&this.runtimeError(`I expected ${r.length} arguments for the ${t.name} function, but I got ${e}.`)}startForLoop(t,r,e,i,n){var s=this.curpc-1,a=this.pc2label.get(s);i||(i=1),this.vars[t]=r,this.trace&&console.log(`FOR ${t} = ${r} TO ${e} STEP ${i}`);var h=()=>i>=0?this.vars[t]>e:this.vars[t]<e;this.opts.testInitialFor&&h()&&(n!=null?this.curpc=n+1:this.skipToAfterNext(t)),this.forLoopStack[t]!=null&&(this.forLoopStack=this.forLoopStack.filter(o=>o==t)),this.forLoopStack.push(t),this.forLoops[t]={$next:o=>{o&&t!=o&&this.runtimeError(`I executed NEXT "${o}", but the last FOR was for "${t}".`),this.vars[t]+=i;var b=h();b?(this.forLoopStack.pop(),delete this.forLoops[t]):this.curpc=(a!=null&&this.label2pc[a]||s)+1,this.trace&&console.log(`NEXT ${t}: ${this.vars[t]} TO ${e} STEP ${i} DONE=${b}`)}}}nextForLoop(t){var r=this.forLoops[t||this.opts.optionalNextVar&&this.forLoopStack[this.forLoopStack.length-1]];r||this.runtimeError("I couldn't find a matching FOR for this NEXT."),r.$next(t)}whileLoop(t){t?this.whileLoops.push(this.curpc-1):this.skipToAfterWend()}nextWhileLoop(){var t=this.whileLoops.pop();t==null?this.runtimeError("I couldn't find a matching WHILE for this WEND."):this.curpc=t}assign(t,r,e){return e&&t.endsWith("$")?this.checkValue(this.convert(t,r),t):t.endsWith("$")?this.convertToString(r,t):this.convertToNumber(r,t)}convert(t,r){return t.endsWith("$")?r==null?"":r.toString():typeof r=="number"?r:parseFloat(r+"")}convertToString(t,r){if(typeof t!="string")this.runtimeError(`I can't convert ${t} to a string.`);else return t}convertToNumber(t,r){if(typeof t!="number")this.runtimeError(`I can't convert ${t} to a number.`);else return this.checkNum(t)}dimArray(t,...r){if(r=r.map(Math.round),this.arrays[t]!=null){if(this.opts.staticArrays)return;this.runtimeError(`I already dimensioned this array (${t}) earlier.`)}var e=this.getTotalArrayLength(r);e>this.opts.maxArrayElements&&this.runtimeError("I can't create an array with this many elements.");var i=t.endsWith("$"),n=i?Array:Float64Array;if(r.length==1)this.arrays[t]=new n(r[0]+1);else if(r.length==2){this.arrays[t]=new Array(r[0]+1);for(var s=0;s<r[0]+1;s++)this.arrays[t][s]=new n(r[1]+1)}else this.runtimeError("I only support arrays of one or two dimensions.")}getTotalArrayLength(t){for(var r=1,e=0;e<t.length;e++)t[e]<this.opts.defaultArrayBase&&this.runtimeError(`I can't create an array with a dimension less than ${this.opts.defaultArrayBase}.`),r*=t[e];return r}getArray(t,r){return this.arrays[t]||(this.opts.defaultArraySize==0&&this.dialectError("automatically declare arrays without a DIM statement (or did you mean to call a function?)"),r==1?this.dimArray(t,this.opts.defaultArraySize-1):r==2?this.dimArray(t,this.opts.defaultArraySize-1,this.opts.defaultArraySize-1):this.runtimeError("I only support arrays of one or two dimensions.")),this.arrays[t]}arrayGet(t,...r){var e=this.getArray(t,r.length);r=r.map(this.ROUND.bind(this));for(var i=e,n=0;n<r.length;n++){var s=r[n];c(i)||this.runtimeError(`I tried to lookup ${t}(${r}) but used too many dimensions.`),s<this.opts.defaultArrayBase&&this.runtimeError(`I triedLine truncated
|
||||
var value = this.convert(${JSON.stringify(n.name)}, response.vals[${s}]);
|
||||
@@ -34,4 +34,4 @@ import{b as y}from"./chunk-3FIVEUG2.js";import{n as E}from"./chunk-UACHXWHT.js";
|
||||
|
||||
`),this.tty.addtext("*** END OF PROGRAM ***",1),this.tty.showPrintHead(!1)}loadROM(t,r){var e=this.runtime.exited;this.program=r;var i=this.runtime.load(r);this.tty.uppercaseOnly=!0,(!this.hotReload||e||!i)&&this.reset()}getROMExtension(){return".json"}reset(){this.tty.clear(),this.runtime.reset(),this.clock=0,this.transcript=[]}pause(){this.timer.stop()}resume(){this.isBlocked()||(this.animcount=0,this.timer.start())}isBlocked(){return this.tty.waitingfor!=null||this.runtime.exited}isRunning(){return this.timer.isRunning()}getDefaultExtensions(){return[".bas"]}getPresets(){return L}getPC(){return this.runtime.curpc}getSP(){return 4096-this.runtime.returnStack.length}isStable(){return!0}getCPUState(){return{PC:this.getPC(),SP:this.getSP()}}saveState(){return{c:this.getCPUState(),rt:this.runtime.saveState()}}loadState(t){this.runtime.loadState(t)}getDebugTree(){return{CurrentLine:this.runtime.getCurrentLabel(),Variables:this.runtime.vars,Arrays:this.runtime.arrays,Functions:this.runtime.defs,ForLoops:this.runtime.forLoops,WhileLoops:this.runtime.whileLoops,ReturnStack:this.runtime.returnStack,NextDatum:this.runtime.datums[this.runtime.dataptr],Clock:this.clock,Options:this.runtime.opts,Internals:this.runtime}}inspect(t){let r=this.runtime.vars[t];if(r!=null)return`${t} = ${r}`}showHelp(){return"https://8bitworkshop.com/docs/platforms/basic/"}getDebugCategories(){return["Variables"]}getDebugInfo(t,r){if(t==="Variables")return this.varsToLongString()}varsToLongString(){var t="",r=Object.keys(this.runtime.vars);r.sort();for(var e of r){var i=this.runtime.vars[e],n=JSON.stringify(i);n.length>24&&(n=`${n.substr(0,24)}...(${n.length})`),t+=g(e,3)+" = "+n+`
|
||||
`}return t}setupDebug(t){this.onBreakpointHit=t}clearDebug(){this.onBreakpointHit=null,this.debugTrap=null}checkDebugTrap(){return this.debugTrap&&this.debugTrap()?(this.pause(),this.break(),!0):!1}break(){this.onBreakpointHit&&this.onBreakpointHit(this.saveState())}step(){var t=this.clock;this.debugTrap=()=>this.clock>t,this.resume()}stepOver(){var t=this.runtime.getStatement();if(t&&(t.command=="GOSUB"||t.command=="ONGOSUB")){var r=this.getPC()+1;this.runEval(()=>this.getPC()==r)}else this.step()}hasCustomStepOver(){return!0}runUntilReturn(){var t=this.getSP();this.runEval(()=>this.getSP()>t)}runEval(t){this.debugTrap=()=>t(this.getCPUState()),this.resume()}restartAtPC(t){return t=Math.round(t),t>=0&&t<this.runtime.allstmts.length?(this.runtime.curpc=t,this.tty.cancelinput(),this.clock=0,!0):!1}readFile(t){return this.internalFiles[t]}writeFile(t,r){return this.internalFiles[t]=r,!0}didExit(){this.internalFiles["stdout.txt"]=this.transcript.join(""),v()}};f.basic=p;
|
||||
//# sourceMappingURL=basic-IHKFPLSJ.js.map
|
||||
//# sourceMappingURL=basic-6QVJSRQT.js.map
|
||||
File renamed without changes.
@@ -1,14 +0,0 @@
|
||||
import{a as M}from"./chunk-TANFDIIN.js";import{G as y,s as S,z as _}from"./chunk-QYEDG265.js";import{a as b}from"./chunk-UACHXWHT.js";import{L as n,Y as f,a as x,g as a,v as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var m=class extends S{constructor(){super(...arguments);this.numTotalScanlines=312;this.cpuCyclesPerLine=63;this.joymask0=0;this.joymask1=0;this.lightpen_x=0;this.lightpen_y=0}loadBIOS(e){super.loadBIOS(e)}reset(){super.reset();for(var e=0;e<128;e++)this.exports.machine_key_up(this.sys,e);if(this.romptr&&this.romlen){if(this.exports.machine_load_rom(this.sys,this.romptr,this.romlen),this.prgstart=this.romarr[0]+(this.romarr[1]<<8),this.prgstart==2049)if(this.romarr[6]==158){for(var i=0,t=0;t<5;t++){var e=this.romarr[7+t];if(e==155||e==0)break;i=i*10+(e&15)}this.prgstart=i,console.log("SYS",i,a(i))}else this.prgstart=this.romarr[2]+(this.romarr[3]<<8)+2,console.log("RUN",this.prgstart,a(this.prgstart));if(this.prgstart<32768){this.exports.machine_exec(this.sys,25e4);for(var s="\rSYS "+this.prgstart,t=0;t<s.length;t++){var r=s.charCodeAt(t);this.exports.machine_exec(this.sys,3e4),this.exports.machine_key_down(this.sys,r),this.exports.machine_exec(this.sys,3e4),this.exports.machine_key_up(this.sys,r),this.exports.machine_exec(this.sys,1)}this.exports.machine_key_down(this.sys,13),this.exports.machine_exec(this.sys,1);for(var t=0;t<1e5&&this.getPC()!=this.prgstart;t++)this.exports.machine_tick(this.sys);this.exports.machine_key_up(this.sys,13),this.exports.machine_exec(this.sys,1)}else{this.exports.machine_exec(this.sys,100);for(var o=this.romarr[4]+this.romarr[5]*256,t=0;t<15e4&&this.getPC()!=o;t++)this.exports.machine_tick(this.sys)}}}advanceFrame(e){var i=this.getRasterY(),t=Math.floor((this.numTotalScanlines-i)*19656/this.numTotalScanlines),s=this.probe!=null;return s&&this.exports.machine_reset_probe_buffer(),t=super.advanceFrameClock(e,t),s&&this.copyProbeData(),t}getCPUState(){this.exports.machine_save_cpu_state(this.sys,this.cpustateptr);var e=this.cpustatearr,i=e[2]+(e[3]<<8);return{PC:i,SP:e[9],A:e[6],X:e[7],Y:e[8],C:e[10]&1,Z:e[10]&2,I:e[10]&4,D:e[10]&8,V:e[10]&64,N:e[10]&128,o:this.readConst(i),R:e[19]!=55}}saveState(){this.exports.machine_save_state(this.sys,this.stateptr);let e=this.getDebugStateOffset(1),i=this.getDebugStateOffset(2),t=this.getDebugStateOffset(3),s=this.getDebugStateOffset(4),r=this.getDebugStateOffset(5),o=this.getDebugStateOffset(9);return{c:this.getCPUState(),state:this.statearr.slice(0),ram:this.statearr.slice(r,r+65536),cia1:this.statearr.slice(e,e+64),cia2:this.statearr.slice(i,i+64),vic:this.statearr.slice(t+1,t+1+64),sid:this.statearr.slice(s,s+32),pla:this.statearr.slice(o,o+16),joymask0:this.joymask0,joymask1:this.joymask1}}loadState(e){this.statearr.set(e.state),this.exports.machine_load_state(this.sys,this.stateptr),this.joymask0=e.joymask0|0,this.joymask1=e.joymask1|0,this.exports.c64_joystick(this.sys,this.joymask0,this.joymask1)}getVideoParams(){return{width:392,height:272,overscan:!0,videoFrequency:50,aspect:392/272*.9365}}setKeyInput(e,i,t){if(!(e==16||e==17||e==18||e==224)){var s=0,r=0;switch(e){case 32:s=r=16;break;case 37:e=8,s=r=4;break;case 38:e=11,s=r=1;break;case 39:e=9,s=r=8;break;case 40:e=10,s=r=2;break;case 113:e=241;break;case 115:e=243;break;case 119:e=245;break;case 121:e=247;break;case 188:e=t&2?60:46;break;case 190:e=t&2?62:44;break;case 191:e=t&2?63:47;break;case 222:e=t&2?34:39;break;case 219:e=t&2?123:91;break;case 221:e=t&2?125:93;break;case 48:t&2&&(e=41);break;case 49:t&2&&(e=33);break;case 50:t&2&&(e=64);break;case 51:t&2&&(e=35);break;case 52:t&2&&(e=36);break;case 53:t&2&&(e=37);break;case 54:t&2&&(e=94);break;case 55:t&2&&(e=38);break;case 56:t&2&&(e=42);break;case 57:t&2&&(e=40);break;case 59:t&2&&(e=58);break;case 61:t&2&&(e=43);break;case 173:e=t&2?95:45;break}t&1?(this.exports.machine_key_down(this.sys,e),this.joymask0|=s,this.joymask1|=r):t&64&&(this.exports.machine_key_up(this.sys,e),this.joymask0&=~s,this.joymask1&=~r),this.exports.c64_joystick(this.sys,this.joymask0,this.joymask1)}}getRasterX(){return this.statearr[244]}getRasterY(){return this.exports.machine_get_raster_line(this.sys)}getRasterCanvasPosition(){return{x:this.getRasterX()*392/63,y:this.getRasterY()-14}}getDebugStateOffset(e){var i=this.exports.machine_get_debug_pointer(this.sys,e);return i-this.sys}getDebugCategories(){return["CPU","ZPRAM","Stack","PLA","CIA","VIC","SID"]}getDebugInfo(e,i){switch(e){case"PLA":{let t="",s=i.pla[0],r=i.pla[3];return t+=`$0000 - $9FFF RAM
|
||||
`,t+=`$A000 - $BFFF ${(r&3)==3?"BASIC ROM":"RAM"}
|
||||
`,t+=`$C000 - $CFFF RAM
|
||||
`,t+=`$D000 - $DFFF ${s?"I/O":(r&3)!=0?"CHAR ROM":"RAM"}
|
||||
`,t+=`$E000 - $FFFF ${(r&2)==2?"KERNAL ROM":"RAM"}
|
||||
`,t}case"CIA":{let t="";for(let s=0;s<2;s++){let r=s?i.cia2:i.cia1;t+=`CIA ${s+1}
|
||||
`,t+=` A: Data ${a(r[0])} DDR ${a(r[1])} Input ${a(r[2])}`,t+=` Timer ${a(r[10]+r[11]*256,4)}
|
||||
`,t+=` B: Data ${a(r[4])} DDR ${a(r[5])} Input ${a(r[6])}`,t+=` Timer ${a(r[20]+r[21]*256,4)}
|
||||
`}return t}case"VIC":{let t=i.vic,s="",r=(i.cia2[0]&3^3)*16384,o=r+(i.vic[24]&14)*1024,l=r+(i.vic[24]>>4)*1024,p=i.vic[17]&32,C=(i.cia2[0]&1)==1&&(i.vic[24]&12)==4,A=i.state[244],I=this.getRasterY();return s+="Mode:",i.vic[17]&32?s+=" BITMAP":s+=" CHAR",i.vic[22]&16&&(s+=" MULTICOLOR"),i.vic[17]&64&&(s+=" EXTENDED"),s+=`
|
||||
`,s+=`Raster: (${x(A,3)}, ${x(I,3)}) `,s+=`Scroll: (${i.vic[22]&7}, ${i.vic[17]&7})`,s+=`
|
||||
`,s+=`VIC Bank: $${a(r,4)} Scrn: $${a(l,4)} `,p?s+=`Bitmap: $${a(o&57344,4)}`:C?s+=`Char: ROM $${a(o,4)}`:s+=`Char: $${a(o,4)}`,s+=`
|
||||
`,s+=f(t,53248,64),s}case"SID":{let t=i.sid,s="";return s+=f(t,54272,32),s}}}setPaddleInput(e,i){e==0&&(this.lightpen_x=i),e==1&&(this.lightpen_y=i);let t=22,s=36,r=228,o=220,l=d(0,255,(this.lightpen_x-t)/(r-t)*160+24),p=d(0,255,(this.lightpen_y-s)/(o-s)*200+50);this.exports.machine_set_mouse(this.sys,l,p)}};var R=[{id:"helloc.c",name:"Hello World",category:"C"},{id:"screen_ram.c",name:"Screen RAM"},{id:"siegegame.c",name:"Siege Game"},{id:"joymove.c",name:"Sprite Movement"},{id:"sprite_collision.c",name:"Sprite Collision"},{id:"scroll1.c",name:"Scrolling (Single Buffer)"},{id:"test_setirq.c",name:"Raster Interrupts"},{id:"test_display_list.c",name:"Raster IRQ Library"},{id:"scrolling_text.c",name:"Big Scrolling Text"},{id:"side_scroller.c",name:"Side-Scrolling Game"},{id:"scroll2.c",name:"Scrolling (Double Buffer)"},{id:"scroll3.c",name:"Scrolling (Multidirectional)"},{id:"scroll4.c",name:"Scrolling (Color RAM Buffering)"},{id:"scroll5.c",name:"Scrolling (Camera Following)"},{id:"fullscrollgame.c",name:"Full-Scrolling Game"},{id:"test_multiplex.c",name:"Sprite Retriggering"},{id:"test_multispritelib.c",name:"Sprite Multiplexing Library"},{id:"mcbitmap.c",name:"Multicolor Bitmap Mode"},{id:"testlz4.c",name:"LZ4 Bitmap Compression"},{id:"musicplayer.c",name:"Music Player"},{id:"siddemo.c",name:"SID Player Demo"},{id:"digisound.c",name:"Digi Sound Player"},{id:"climber.c",name:"Climber Game"},{id:"test_border_sprites.c",name:"Sprites in the Borders"},{id:"sprite_stretch.c",name:"Sprite Stretching"},{id:"linecrunch.c",name:"Linecrunch"},{id:"fld.c",name:"Flexible Line Distance"},{id:"plasma.c",name:"Plasma Demo"},{id:"23matches.c",name:"23 Matches"},{id:"tgidemo.c",name:"TGI Graphics Demo"},{id:"upandaway.c",name:"Up, Up and Away"},{id:"hello.dasm",name:"Hello World (DASM)",category:"Assembly"},{id:"hello.acme",name:"Hello World (ACME)"},{id:"hello.wiz",name:"Hello Wiz (Wiz)"},{id:"hello.cpp",name:"Hello Oscar64",category:"C++ (Oscar64)"},{id:"particles.cpp",name:"Fireworks"},{id:"lander.cpp",name:"Lunar Lander"}],v={main:[{name:"6510 Registers",start:0,size:2,type:"io"},{name:"BIOS Reserved",start:512,size:167},{name:"Default Screen RAM",start:1024,size:1024,type:"ram"},{name:"Cartridge ROM",start:32768,size:8192,type:"rom"},{name:"BASIC ROM",start:40960,size:8192,type:"rom"},{name:"Upper RAM",start:49152,size:4096,type:"ram"},{name:"Character ROM",start:53248,size:4096,type:"rom"},{name:"VIC-II I/O",start:53248,size:1024,type:"io"},{name:"SID",start:54272,size:1024,type:"io"},{name:"Color RAM",start:55296,size:1024,type:"io"},{name:"CIA 1",start:56320,size:256,type:"io"},{name:"CIA 2",start:56576,size:256,type:"io"},{name:"I/O 1",start:56832,size:256,type:"io"},{name:"I/O 2",start:57088,size:256,type:"io"},{name:"KERNAL ROM",start:57344,size:8192,type:"rom"}]},h=class extends y{newMachine(){return new m("c64")}getPresets(){return R}readAddress(c){return this.machine.readConst(c)}getMemoryMap(){return v}showHelp(){return"https://8bitworkshop.com/docs/platforms/c64/"}getROMExtension(c){return c&&c[0]==1&&c[1]==8?".prg":".bin"}},u=class extends M{constructor(){super(...arguments);this.getToolForFilename=b;this.getOpcodeMetadata=_}getPresets(){return R}getDefaultExtensions(){return[".c",".cpp",".o64",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}loadROM(e,i){if(!this.started)this.startModule(this.mainElement,{jsfile:"mame8bitpc.js",biosfile:"c64.zip",cfgfile:"c64.cfg",driver:"c64",width:418,height:235,romfn:"/emulator/image.crt",romdata:new Uint8Array(i),romsize:65536,extraargs:["-autoboot_delay","5","-autoboot_command",`load "$",8,1
|
||||
`],preInit:function(s){}});else{this.loadROMFile(i),this.loadRegion(":quickload",i);var t=this.luacall('image:load("/emulator/image.prg")');console.log("load rom",t)}}start(){}getMemoryMap(){return v}};n.c64=h;n["c64.wasm"]=h;n["c64.mame"]=u;
|
||||
//# sourceMappingURL=c64-7RF3PPMK.js.map
|
||||
@@ -0,0 +1,14 @@
|
||||
import{a as C}from"./chunk-ENVHSJV6.js";import{G as y,s as b,z as _}from"./chunk-RWTUUV4L.js";import{a as S}from"./chunk-UXRCACYH.js";import{L as n,Y as u,a as x,g as a,v as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var m=class extends b{constructor(){super(...arguments);this.numTotalScanlines=312;this.cpuCyclesPerLine=63;this.joymask0=0;this.joymask1=0;this.lightpen_x=0;this.lightpen_y=0}loadBIOS(e){super.loadBIOS(e)}reset(){super.reset();for(var e=0;e<128;e++)this.exports.machine_key_up(this.sys,e);if(this.romptr&&this.romlen){if(this.exports.machine_load_rom(this.sys,this.romptr,this.romlen),this.prgstart=this.romarr[0]+(this.romarr[1]<<8),this.prgstart==2049)if(this.romarr[6]==158){for(var s=0,t=0;t<5;t++){var e=this.romarr[7+t];if(e==155||e==0)break;s=s*10+(e&15)}this.prgstart=s,console.log("SYS",s,a(s))}else this.prgstart=this.romarr[2]+(this.romarr[3]<<8)+2,console.log("RUN",this.prgstart,a(this.prgstart));if(this.prgstart<32768){this.exports.machine_exec(this.sys,25e4);for(var i="\rSYS "+this.prgstart,t=0;t<i.length;t++){var r=i.charCodeAt(t);this.exports.machine_exec(this.sys,3e4),this.exports.machine_key_down(this.sys,r),this.exports.machine_exec(this.sys,3e4),this.exports.machine_key_up(this.sys,r),this.exports.machine_exec(this.sys,1)}this.exports.machine_key_down(this.sys,13),this.exports.machine_exec(this.sys,1);for(var t=0;t<1e5&&this.getPC()!=this.prgstart;t++)this.exports.machine_tick(this.sys);this.exports.machine_key_up(this.sys,13),this.exports.machine_exec(this.sys,1)}else{this.exports.machine_exec(this.sys,100);for(var o=this.romarr[4]+this.romarr[5]*256,t=0;t<15e4&&this.getPC()!=o;t++)this.exports.machine_tick(this.sys)}}}advanceFrame(e){var s=this.getRasterY(),t=Math.floor((this.numTotalScanlines-s)*19656/this.numTotalScanlines),i=this.probe!=null;return i&&this.exports.machine_reset_probe_buffer(),t=super.advanceFrameClock(e,t),i&&this.copyProbeData(),t}getCPUState(){this.exports.machine_save_cpu_state(this.sys,this.cpustateptr);var e=this.cpustatearr,s=e[2]+(e[3]<<8);return{PC:s,SP:e[9],A:e[6],X:e[7],Y:e[8],C:e[10]&1,Z:e[10]&2,I:e[10]&4,D:e[10]&8,V:e[10]&64,N:e[10]&128,o:this.readConst(s),R:e[19]!=55}}saveState(){this.exports.machine_save_state(this.sys,this.stateptr);let e=this.getDebugStateOffset(1),s=this.getDebugStateOffset(2),t=this.getDebugStateOffset(3),i=this.getDebugStateOffset(4),r=this.getDebugStateOffset(5),o=this.getDebugStateOffset(9);return{c:this.getCPUState(),state:this.statearr.slice(0),ram:this.statearr.slice(r,r+65536),cia1:this.statearr.slice(e,e+64),cia2:this.statearr.slice(s,s+64),vic:this.statearr.slice(t+1,t+1+64),sid:this.statearr.slice(i,i+32),pla:this.statearr.slice(o,o+16),joymask0:this.joymask0,joymask1:this.joymask1}}loadState(e){this.statearr.set(e.state),this.exports.machine_load_state(this.sys,this.stateptr),this.joymask0=e.joymask0|0,this.joymask1=e.joymask1|0,this.exports.c64_joystick(this.sys,this.joymask0,this.joymask1)}getVideoParams(){return{width:392,height:272,overscan:!0,videoFrequency:50,aspect:392/272*.9365}}setKeyInput(e,s,t){if(!(e==16||e==17||e==18||e==224)){var i=0,r=0;switch(e){case 32:i=r=16;break;case 37:e=8,i=r=4;break;case 38:e=11,i=r=1;break;case 39:e=9,i=r=8;break;case 40:e=10,i=r=2;break;case 113:e=241;break;case 115:e=243;break;case 119:e=245;break;case 121:e=247;break;case 188:e=t&2?60:46;break;case 190:e=t&2?62:44;break;case 191:e=t&2?63:47;break;case 222:e=t&2?34:39;break;case 219:e=t&2?123:91;break;case 221:e=t&2?125:93;break;case 48:t&2&&(e=41);break;case 49:t&2&&(e=33);break;case 50:t&2&&(e=64);break;case 51:t&2&&(e=35);break;case 52:t&2&&(e=36);break;case 53:t&2&&(e=37);break;case 54:t&2&&(e=94);break;case 55:t&2&&(e=38);break;case 56:t&2&&(e=42);break;case 57:t&2&&(e=40);break;case 59:t&2&&(e=58);break;case 61:t&2&&(e=43);break;case 173:e=t&2?95:45;break}t&1?(this.exports.machine_key_down(this.sys,e),this.joymask0|=i,this.joymask1|=r):t&64&&(this.exports.machine_key_up(this.sys,e),this.joymask0&=~i,this.joymask1&=~r),this.exports.c64_joystick(this.sys,this.joymask0,this.joymask1)}}getRasterX(){return this.statearr[244]}getRasterY(){return this.exports.machine_get_raster_line(this.sys)}getRasterCanvasPosition(){return{x:this.getRasterX()*392/63,y:this.getRasterY()-14}}getDebugStateOffset(e){var s=this.exports.machine_get_debug_pointer(this.sys,e);return s-this.sys}getDebugCategories(){return["CPU","ZPRAM","Stack","PLA","CIA","VIC","SID"]}getDebugInfo(e,s){switch(e){case"PLA":{let t="",i=s.pla[0],r=s.pla[3];return t+=`$0000 - $9FFF RAM
|
||||
`,t+=`$A000 - $BFFF ${(r&3)==3?"BASIC ROM":"RAM"}
|
||||
`,t+=`$C000 - $CFFF RAM
|
||||
`,t+=`$D000 - $DFFF ${i?"I/O":(r&3)!=0?"CHAR ROM":"RAM"}
|
||||
`,t+=`$E000 - $FFFF ${(r&2)==2?"KERNAL ROM":"RAM"}
|
||||
`,t}case"CIA":{let t="";for(let i=0;i<2;i++){let r=i?s.cia2:s.cia1;t+=`CIA ${i+1}
|
||||
`,t+=` A: Data ${a(r[0])} DDR ${a(r[1])} Input ${a(r[2])}`,t+=` Timer ${a(r[10]+r[11]*256,4)}
|
||||
`,t+=` B: Data ${a(r[4])} DDR ${a(r[5])} Input ${a(r[6])}`,t+=` Timer ${a(r[20]+r[21]*256,4)}
|
||||
`}return t}case"VIC":{let t=s.vic,i="",r=(s.cia2[0]&3^3)*16384,o=r+(s.vic[24]&14)*1024,l=r+(s.vic[24]>>4)*1024,p=s.vic[17]&32,v=(s.cia2[0]&1)==1&&(s.vic[24]&12)==4,A=s.state[244],D=this.getRasterY();return i+="Mode:",s.vic[17]&32?i+=" BITMAP":i+=" CHAR",s.vic[22]&16&&(i+=" MULTICOLOR"),s.vic[17]&64&&(i+=" EXTENDED"),i+=`
|
||||
`,i+=`Raster: (${x(A,3)}, ${x(D,3)}) `,i+=`Scroll: (${s.vic[22]&7}, ${s.vic[17]&7})`,i+=`
|
||||
`,i+=`VIC Bank: $${a(r,4)} Scrn: $${a(l,4)} `,p?i+=`Bitmap: $${a(o&57344,4)}`:v?i+=`Char: ROM $${a(o,4)}`:i+=`Char: $${a(o,4)}`,i+=`
|
||||
`,i+=u(t,53248,64),i}case"SID":{let t=s.sid,i="";return i+=u(t,54272,32),i}}}setPaddleInput(e,s){e==0&&(this.lightpen_x=s),e==1&&(this.lightpen_y=s);let t=22,i=36,r=228,o=220,l=d(0,255,(this.lightpen_x-t)/(r-t)*160+24),p=d(0,255,(this.lightpen_y-i)/(o-i)*200+50);this.exports.machine_set_mouse(this.sys,l,p)}};var M=[{id:"helloc.c",name:"Hello World",category:"C"},{id:"screen_ram.c",name:"Screen RAM"},{id:"siegegame.c",name:"Siege Game"},{id:"joymove.c",name:"Sprite Movement"},{id:"sprite_collision.c",name:"Sprite Collision"},{id:"scroll1.c",name:"Scrolling (Single Buffer)"},{id:"test_setirq.c",name:"Raster Interrupts"},{id:"test_display_list.c",name:"Raster IRQ Library"},{id:"scrolling_text.c",name:"Big Scrolling Text"},{id:"side_scroller.c",name:"Side-Scrolling Game"},{id:"scroll2.c",name:"Scrolling (Double Buffer)"},{id:"scroll3.c",name:"Scrolling (Multidirectional)"},{id:"scroll4.c",name:"Scrolling (Color RAM Buffering)"},{id:"scroll5.c",name:"Scrolling (Camera Following)"},{id:"fullscrollgame.c",name:"Full-Scrolling Game"},{id:"test_multiplex.c",name:"Sprite Retriggering"},{id:"test_multispritelib.c",name:"Sprite Multiplexing Library"},{id:"mcbitmap.c",name:"Multicolor Bitmap Mode"},{id:"testlz4.c",name:"LZ4 Bitmap Compression"},{id:"musicplayer.c",name:"Music Player"},{id:"siddemo.c",name:"SID Player Demo"},{id:"digisound.c",name:"Digi Sound Player"},{id:"climber.c",name:"Climber Game"},{id:"test_border_sprites.c",name:"Sprites in the Borders"},{id:"sprite_stretch.c",name:"Sprite Stretching"},{id:"linecrunch.c",name:"Linecrunch"},{id:"fld.c",name:"Flexible Line Distance"},{id:"plasma.c",name:"Plasma Demo"},{id:"23matches.c",name:"23 Matches"},{id:"tgidemo.c",name:"TGI Graphics Demo"},{id:"upandaway.c",name:"Up, Up and Away"},{id:"hello.dasm",name:"Hello World (DASM)",category:"Assembly"},{id:"hello.acme",name:"Hello World (ACME)"},{id:"hello.wiz",name:"Hello Wiz (Wiz)"},{id:"hello.cpp",name:"Hello Oscar64",category:"C++ (Oscar64)"},{id:"particles.cpp",name:"Fireworks"},{id:"lander.cpp",name:"Lunar Lander"},{id:"hello-sdcc.c",name:"Hello World (SDCC)",category:"C (SDCC)"},{id:"sprite_collision-sdcc.c",name:"Sprite Collision (SDCC)"},{id:"fullscrollgame-sdcc.c",name:"Full-Scrolling Game (SDCC)"}],R={main:[{name:"6510 Registers",start:0,size:2,type:"io"},{name:"BIOS Reserved",start:512,size:167},{name:"Default Screen RAM",start:1024,size:1024,type:"ram"},{name:"Cartridge ROM",start:32768,size:8192,type:"rom"},{name:"BASIC ROM",start:40960,size:8192,type:"rom"},{name:"Upper RAM",start:49152,size:4096,type:"ram"},{name:"Character ROM",start:53248,size:4096,type:"rom"},{name:"VIC-II I/O",start:53248,size:1024,type:"io"},{name:"SID",start:54272,size:1024,type:"io"},{name:"Color RAM",start:55296,size:1024,type:"io"},{name:"CIA 1",start:56320,size:256,type:"io"},{name:"CIA 2",start:56576,size:256,type:"io"},{name:"I/O 1",start:56832,size:256,type:"io"},{name:"I/O 2",start:57088,size:256,type:"io"},{name:"KERNAL ROM",start:57344,size:8192,type:"rom"}]},h=class extends y{newMachine(){return new m("c64")}getPresets(){return M}readAddress(c){return this.machine.readConst(c)}getMemoryMap(){return R}showHelp(){return"https://8bitworkshop.com/docs/platforms/c64/"}getROMExtension(c){return c&&c[0]==1&&c[1]==8?".prg":".bin"}},f=class extends C{constructor(){super(...arguments);this.getToolForFilename=S;this.getOpcodeMetadata=_}getPresets(){return M}getDefaultExtensions(){return[".c",".cpp",".o64",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}loadROM(e,s){if(!this.started)this.startModule(this.mainElement,{jsfile:"mame8bitpc.js",biosfile:"c64.zip",cfgfile:"c64.cfg",driver:"c64",width:418,height:235,romfn:"/emulator/image.crt",romdata:new Uint8Array(s),romsize:65536,extraargs:["-autoboot_delay","5","-autoboot_command",`load "$",8,1
|
||||
`],preInit:function(i){}});else{this.loadROMFile(s),this.loadRegion(":quickload",s);var t=this.luacall('image:load("/emulator/image.prg")');console.log("load rom",t)}}start(){}getMemoryMap(){return R}};n.c64=h;n["c64.wasm"]=h;n["c64.mame"]=f;
|
||||
//# sourceMappingURL=c64-EUV3UE4H.js.map
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/machine/c64.ts", "../src/platform/c64.ts"],
|
||||
"sourcesContent": ["\nimport { AcceptsPaddleInput, Probeable } from \"../common/devices\";\nimport { dumpRAM, KeyFlags } from \"../common/emu\";\nimport { clamp, hex, lpad } from \"../common/util\";\n\n// https://www.c64-wiki.com/wiki/C64\n// http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt\n// http://www.zimmers.net/cbmpics/cbm/c64/c64prg.txt\n// http://sta.c64.org/cbm64mem.html\n// http://hitmen.c02.at/temp/palstuff/\n\n//// WASM Machine\n\nimport { Machine } from \"../common/baseplatform\";\nimport { TrapCondition } from \"../common/devices\";\nimport { BaseWASMMachine } from \"../common/wasmplatform\";\n\nexport class C64_WASMMachine extends BaseWASMMachine \n implements Machine, Probeable, AcceptsPaddleInput {\n\n numTotalScanlines = 312;\n cpuCyclesPerLine = 63;\n\n prgstart : number;\n joymask0 = 0;\n joymask1 = 0;\n lightpen_x = 0;\n lightpen_y = 0;\n\n loadBIOS(srcArray: Uint8Array) {\n super.loadBIOS(srcArray);\n }\n reset() {\n super.reset();\n // clear keyboard\n for (var ch=0; ch<128; ch++) {\n this.exports.machine_key_up(this.sys, ch);\n }\n // load rom\n if (this.romptr && this.romlen) {\n this.exports.machine_load_rom(this.sys, this.romptr, this.romlen);\n this.prgstart = this.romarr[0] + (this.romarr[1]<<8); // get load address\n // look for BASIC program start\n if (this.prgstart == 0x801) {\n // decode SYS address from decimal?\n if (this.romarr[6] == 0x9e) {\n var addr = 0;\n for (var i=0; i<5; i++) {\n var ch = this.romarr[7+i];\n if (ch == 0x9b || ch == 0) break;\n addr = addr * 10 + (ch & 0xf);\n }\n this.prgstart = addr;\n console.log(\"SYS\", addr, hex(addr));\n } else {\n this.prgstart = this.romarr[2] + (this.romarr[3]<<8) + 2; // point to after BASIC program\n console.log(\"RUN\", this.prgstart, hex(this.prgstart));\n }\n }\n // is program loaded into RAM?\n if (this.prgstart < 0x8000) {\n // advance BIOS a few frames\n this.exports.machine_exec(this.sys, 250000);\n // type in command (SYS 2061)\n var cmd = \"\\rSYS \"+this.prgstart;\n for (var i=0; i<cmd.length; i++) {\n var key = cmd.charCodeAt(i);\n this.exports.machine_exec(this.sys, 30000);\n this.exports.machine_key_down(this.sys, key);\n this.exports.machine_exec(this.sys, 30000);\n this.exports.machine_key_up(this.sys, key);\n this.exports.machine_exec(this.sys, 1); // chips/kbd.c has a \"sticky counter\"\n }\n // advance clock until program starts\n this.exports.machine_key_down(this.sys, 13);\n this.exports.machine_exec(this.sys, 1); // chips/kbd.c has a \"sticky counter\"\n for (var i=0; i<100000 && this.getPC() != this.prgstart; i++) {\n this.exports.machine_tick(this.sys);\n }\n // release RETURN key\n // (otherwise it stays stuck down and every keyboard read returns CR,\n // e.g. conio cgetc() always returning a bogus char - GH issue #203)\n this.exports.machine_key_up(this.sys, 13);\n this.exports.machine_exec(this.sys, 1); // chips/kbd.c has a \"sticky counter\"\n } else {\n // get out of reset\n this.exports.machine_exec(this.sys, 100);\n // wait until cartridge start\n // TODO: detect ROM cartridge\n var warmstart = this.romarr[0x4] + this.romarr[0x5]*256;\n for (var i=0; i<150000 && this.getPC() != warmstart; i++) {\n this.exports.machine_tick(this.sys);\n }\n }\n // TODO: shouldn't we return here @ start of frame?\n // and stop probing\n }\n }\n advanceFrame(trap: TrapCondition) : number {\n // TODO: does this sync with VSYNC?\n // TODO: ticks, not msec (machine_tick() has different rate then machine_exec())\n var scanline = this.getRasterY();\n var clocks = Math.floor((this.numTotalScanlines - scanline) * 19656 / this.numTotalScanlines);\n var probing = this.probe != null;\n if (probing) this.exports.machine_reset_probe_buffer();\n clocks = super.advanceFrameClock(trap, clocks);\n if (probing) this.copyProbeData();\n //console.log(clocks, this.getRasterY());\n return clocks;\n }\n getCPUState() {\n this.exports.machine_save_cpu_state(this.sys, this.cpustateptr);\n var s = this.cpustatearr;\n var pc = s[2] + (s[3]<<8);\n return {\n PC:pc,\n SP:s[9],\n A:s[6],\n X:s[7],\n Y:s[8],\n C:s[10] & 1,\n Z:s[10] & 2,\n I:s[10] & 4,\n D:s[10] & 8,\n V:s[10] & 64,\n N:s[10] & 128,\n o:this.readConst(pc),\n R:s[19] != 0x37, // bit 28 of PINS\n }\n }\n saveState() {\n this.exports.machine_save_state(this.sys, this.stateptr);\n let cia1 = this.getDebugStateOffset(1);\n let cia2 = this.getDebugStateOffset(2);\n let vic = this.getDebugStateOffset(3Line truncated
|
||||
"mappings": "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 truncated
|
||||
"sourcesContent": ["\nimport { AcceptsPaddleInput, Probeable } from \"../common/devices\";\nimport { dumpRAM, KeyFlags } from \"../common/emu\";\nimport { clamp, hex, lpad } from \"../common/util\";\n\n// https://www.c64-wiki.com/wiki/C64\n// http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt\n// http://www.zimmers.net/cbmpics/cbm/c64/c64prg.txt\n// http://sta.c64.org/cbm64mem.html\n// http://hitmen.c02.at/temp/palstuff/\n\n//// WASM Machine\n\nimport { Machine } from \"../common/baseplatform\";\nimport { TrapCondition } from \"../common/devices\";\nimport { BaseWASMMachine } from \"../common/wasmplatform\";\n\nexport class C64_WASMMachine extends BaseWASMMachine \n implements Machine, Probeable, AcceptsPaddleInput {\n\n numTotalScanlines = 312;\n cpuCyclesPerLine = 63;\n\n prgstart : number;\n joymask0 = 0;\n joymask1 = 0;\n lightpen_x = 0;\n lightpen_y = 0;\n\n loadBIOS(srcArray: Uint8Array) {\n super.loadBIOS(srcArray);\n }\n reset() {\n super.reset();\n // clear keyboard\n for (var ch=0; ch<128; ch++) {\n this.exports.machine_key_up(this.sys, ch);\n }\n // load rom\n if (this.romptr && this.romlen) {\n this.exports.machine_load_rom(this.sys, this.romptr, this.romlen);\n this.prgstart = this.romarr[0] + (this.romarr[1]<<8); // get load address\n // look for BASIC program start\n if (this.prgstart == 0x801) {\n // decode SYS address from decimal?\n if (this.romarr[6] == 0x9e) {\n var addr = 0;\n for (var i=0; i<5; i++) {\n var ch = this.romarr[7+i];\n if (ch == 0x9b || ch == 0) break;\n addr = addr * 10 + (ch & 0xf);\n }\n this.prgstart = addr;\n console.log(\"SYS\", addr, hex(addr));\n } else {\n this.prgstart = this.romarr[2] + (this.romarr[3]<<8) + 2; // point to after BASIC program\n console.log(\"RUN\", this.prgstart, hex(this.prgstart));\n }\n }\n // is program loaded into RAM?\n if (this.prgstart < 0x8000) {\n // advance BIOS a few frames\n this.exports.machine_exec(this.sys, 250000);\n // type in command (SYS 2061)\n var cmd = \"\\rSYS \"+this.prgstart;\n for (var i=0; i<cmd.length; i++) {\n var key = cmd.charCodeAt(i);\n this.exports.machine_exec(this.sys, 30000);\n this.exports.machine_key_down(this.sys, key);\n this.exports.machine_exec(this.sys, 30000);\n this.exports.machine_key_up(this.sys, key);\n this.exports.machine_exec(this.sys, 1); // chips/kbd.c has a \"sticky counter\"\n }\n // advance clock until program starts\n this.exports.machine_key_down(this.sys, 13);\n this.exports.machine_exec(this.sys, 1); // chips/kbd.c has a \"sticky counter\"\n for (var i=0; i<100000 && this.getPC() != this.prgstart; i++) {\n this.exports.machine_tick(this.sys);\n }\n // release RETURN key\n // (otherwise it stays stuck down and every keyboard read returns CR,\n // e.g. conio cgetc() always returning a bogus char - GH issue #203)\n this.exports.machine_key_up(this.sys, 13);\n this.exports.machine_exec(this.sys, 1); // chips/kbd.c has a \"sticky counter\"\n } else {\n // get out of reset\n this.exports.machine_exec(this.sys, 100);\n // wait until cartridge start\n // TODO: detect ROM cartridge\n var warmstart = this.romarr[0x4] + this.romarr[0x5]*256;\n for (var i=0; i<150000 && this.getPC() != warmstart; i++) {\n this.exports.machine_tick(this.sys);\n }\n }\n // TODO: shouldn't we return here @ start of frame?\n // and stop probing\n }\n }\n advanceFrame(trap: TrapCondition) : number {\n // TODO: does this sync with VSYNC?\n // TODO: ticks, not msec (machine_tick() has different rate then machine_exec())\n var scanline = this.getRasterY();\n var clocks = Math.floor((this.numTotalScanlines - scanline) * 19656 / this.numTotalScanlines);\n var probing = this.probe != null;\n if (probing) this.exports.machine_reset_probe_buffer();\n clocks = super.advanceFrameClock(trap, clocks);\n if (probing) this.copyProbeData();\n //console.log(clocks, this.getRasterY());\n return clocks;\n }\n getCPUState() {\n this.exports.machine_save_cpu_state(this.sys, this.cpustateptr);\n var s = this.cpustatearr;\n var pc = s[2] + (s[3]<<8);\n return {\n PC:pc,\n SP:s[9],\n A:s[6],\n X:s[7],\n Y:s[8],\n C:s[10] & 1,\n Z:s[10] & 2,\n I:s[10] & 4,\n D:s[10] & 8,\n V:s[10] & 64,\n N:s[10] & 128,\n o:this.readConst(pc),\n R:s[19] != 0x37, // bit 28 of PINS\n }\n }\n saveState() {\n this.exports.machine_save_state(this.sys, this.stateptr);\n let cia1 = this.getDebugStateOffset(1);\n let cia2 = this.getDebugStateOffset(2);\n let vic = this.getDebugStateOffset(3Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["C64_WASMMachine", "BaseWASMMachine", "srcArray", "ch", "addr", "i", "hex", "cmd", "key", "warmstart", "trap", "scanline", "clocks", "probing", "s", "pc", "cia1", "cia2", "vic", "sid", "ramofs", "pla", "state", "code", "flags", "mask", "mask2", "index", "p", "category", "iomapped", "port", "m", "vicbank", "charmem", "screen", "isbitmap", "ischar", "rasterX", "rasterY", "lpad", "dumpRAM", "controller", "value", "x1", "y1", "x2", "y2", "x", "clamp", "y", "C64_PRESETS", "C64_MEMORY_MAP", "C64WASMPlatform", "Base6502MachinePlatform", "C64_WASMMachine", "a", "rom", "C64MAMEPlatform", "BaseMAME6502Platform", "getToolForFilename_6502", "getOpcodeMetadata_6502", "title", "data", "_self", "result", "PLATFORMS"]
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import{a as P}from"./chunk-YYW5TDEL.js";import{F as S,q as f}from"./chunk-QYEDG265.js";import{j as p}from"./chunk-UACHXWHT.js";import{L as m,Z as c,ca as l,da as C,g as a,s as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var D=1,b=2,k=4,R=8,o=16,F=class{constructor(){this.PC0=0;this.PC1=0;this.DC0=0;this.DC1=0;this.A=0;this.W=0;this.IS=0;this.R=new Uint8Array(64);this.o=0;this.stable=!0;this.irqRequest=!1}connectMemoryBus(t){this.bus=t}connectIOBus(t){this.iobus=t}reset(){this.PC0=0,this.PC1=0,this.DC0=0,this.DC1=0,this.A=0,this.W=0,this.IS=0,this.R.fill(0),this.irqRequest=!1}interrupt(t){this.irqRequest=!0}getPC(){return this.PC0}getSP(){return this.PC1}isStable(){return this.stable}saveState(){return{PC:this.PC0,PC0:this.PC0,PC1:this.PC1,DC0:this.DC0,DC1:this.DC1,A:this.A,W:this.W,IS:this.IS,R:Array.from(this.R),o:this.o,irq:this.irqRequest}}loadState(t){var s;this.PC0=(s=t.PC0)!=null?s:t.PC,this.PC1=t.PC1,this.DC0=t.DC0,this.DC1=t.DC1,this.A=t.A,this.W=t.W,this.IS=t.IS;for(let e=0;e<64;e++)this.R[e]=t.R[e];this.o=t.o,this.irqRequest=t.irq}fetchPC0(){let t=this.bus.read(this.PC0);return this.PC0=this.PC0+1&65535,t}fetchDC0(){let t=this.bus.read(this.DC0);return this.DC0=this.DC0+1&65535,t}storeDC0(t){this.bus.write(this.DC0,t),this.DC0=this.DC0+1&65535}clrOZCS(){this.W&=~(R|k|b|D)}setSZ(t){(t&255)===0&&(this.W|=k),(t&128)===0&&(this.W|=D)}doAdd(t,s,e=0){let h=(t&255)+(s&255)+(e&1);return h&256&&(this.W|=b),((t^h)&(s^h)&128)!==0&&(this.W|=R),h&255}doAddDecimal(t,s){let e=(t&15)+(s&15),h=e>9?1:0;e=(t>>4)+(s>>4)+h;let r=e>9?1:0;this.clrOZCS();let i=this.doAdd(t,s);this.setSZ(i);let n=0;return r&&(n|=160),h&&(n|=10),n&&(this.clrOZCS(),i=this.doAdd(i,n),this.setSZ(i)),i}getScratchpadIndex(t){if(t<12)return t;if(t===12)return this.IS&63;if(t===13){let s=this.IS&63;return this.IS=this.IS&56|this.IS+1&7,s}if(t===14){let s=this.IS&63;return this.IS=this.IS&56|this.IS-1&7,s}return 0}advanceInsn(){if(this.irqRequest&&this.W&o)return this.irqRequest=!1,this.PC1=this.PC0,this.PC0=this.bus.read(4094)<<8|this.bus.read(4095),this.W&=~o,6;let t=this.fetchPC0();this.o=t,this.stable=!0;let s=4,e,h;switch(t){case 0:this.A=this.R[12];break;case 1:this.A=this.R[13];break;case 2:this.A=this.R[14];break;case 3:this.A=this.R[15];break;case 4:this.R[12]=this.A;break;case 5:this.R[13]=this.A;break;case 6:this.R[14]=this.A;break;case 7:this.R[15]=this.A;break;case 8:this.R[12]=this.PC1>>8&255,this.R[13]=this.PC1&255,s=8;break;case 9:this.PC1=this.R[12]<<8|this.R[13],s=8;break;case 10:this.A=this.IS&63;break;case 11:this.IS=this.A&63;break;case 12:this.PC1=this.PC0,this.PC0=this.R[12]<<8|this.R[13],s=8;break;case 13:this.PC0=this.R[14]<<8|this.R[15],s=8;break;case 14:this.R[14]=this.DC0>>8&255,this.R[15]=this.DC0&255,s=8;break;case 15:this.DC0=this.R[14]<<8|this.R[15],s=8;break;case 16:this.DC0=this.R[10]<<8|this.R[11],s=8;break;case 17:this.R[10]=this.DC0>>8&255,this.R[11]=this.DC0&255,s=8;break;case 18:this.A=this.A>>1&255,this.clrOZCS(),this.setSZ(this.A);break;case 19:this.A=this.A<<1&255,this.clrOZCS(),this.setSZ(this.A);break;case 20:this.A=this.A>>4&255,this.clrOZCS(),this.setSZ(this.A);break;case 21:this.A=this.A<<4&255,this.clrOZCS(),this.setSZ(this.A);break;case 22:this.A=this.fetchDC0(),s=6;break;case 23:this.storeDC0(this.A),s=6;break;case 24:this.A=~this.A&255,this.clrOZCS(),this.setSZ(this.A);break;case 25:e=this.W&b?1:0,this.clrOZCS(),this.A=this.doAdd(this.A,e),this.setSZ(this.A);break;case 26:this.W&=~o;break;case 27:this.W|=o;break;case 28:this.PC0=this.PC1;break;case 29:this.W=this.R[9]&31;break;case 30:this.R[9]=this.W&31;break;case 31:this.clrOZCS(),this.A=this.doAdd(this.A,1),this.setSZ(this.A);break;case 32:this.A=this.fetchPC0(),s=6;break;case 33:e=this.fetchPC0(),this.A=this.A&e,this.clrOZCS(),this.setSZ(this.A),s=6;break;case 34:e=this.fetchPC0(),this.A=this.A|e,this.clrOZCS(),this.setSZ(this.A),s=6;break;case 35:e=this.fetchPC0(),this.A=this.A^e,this.clrOZCS(),this.setSZ(this.A),s=6;break;case 36:e=this.fetchPC0(),this.clrOZCS(),this.A=this.doAdd(this.A,e),this.setSZ(this.A),s=6;break;case 37:e=this.fetchPC0(),this.clrOZCS(),this.doAdd(~this.A&255,e,1),this.setSZ(this.doAdd(~this.A&255,e,1)),s=6;break;case 38:e=this.fetchPC0(),this.A=this.iobus.read(e)&255,this.clrOZCS(),this.setSZ(this.A),s=8;break;case 39:e=this.fetchPC0(),this.iobus.write(e,this.A),s=8;break;case 40:{let r=this.fetchPC0(),i=this.fetchPC0();this.PC1=this.PC0,this.PC0=r<<8|i,s=12;break}case 41:{let r=this.fetchPC0(),i=this.fetchPC0();this.PC0=r<<8|i,s=10;break}case 42:{let r=this.fetchPC0(),i=this.fetchPC0();this.DC0=r<<8|i,s=10;break}case 43:break;case 44:e=this.DC0,this.DC0=this.DC1,this.DC1=e;break;case 45:case 46:case 47:break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:h=this.getScratchpadIndex(t&15),this.clrOZCS(),this.R[h]=this.doAdd(this.R[h],255),this.setSZ(this.R[h]),s=6;break;case 63:break;case 64:case 65:case 66:case 67:case 68:case 69:case
Line truncated
|
||||
import{a as P}from"./chunk-YYW5TDEL.js";import{F as S,q as f}from"./chunk-RWTUUV4L.js";import{j as p}from"./chunk-UXRCACYH.js";import{L as m,Z as c,ca as l,da as C,g as a,s as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var D=1,b=2,k=4,R=8,o=16,F=class{constructor(){this.PC0=0;this.PC1=0;this.DC0=0;this.DC1=0;this.A=0;this.W=0;this.IS=0;this.R=new Uint8Array(64);this.o=0;this.stable=!0;this.irqRequest=!1}connectMemoryBus(t){this.bus=t}connectIOBus(t){this.iobus=t}reset(){this.PC0=0,this.PC1=0,this.DC0=0,this.DC1=0,this.A=0,this.W=0,this.IS=0,this.R.fill(0),this.irqRequest=!1}interrupt(t){this.irqRequest=!0}getPC(){return this.PC0}getSP(){return this.PC1}isStable(){return this.stable}saveState(){return{PC:this.PC0,PC0:this.PC0,PC1:this.PC1,DC0:this.DC0,DC1:this.DC1,A:this.A,W:this.W,IS:this.IS,R:Array.from(this.R),o:this.o,irq:this.irqRequest}}loadState(t){var s;this.PC0=(s=t.PC0)!=null?s:t.PC,this.PC1=t.PC1,this.DC0=t.DC0,this.DC1=t.DC1,this.A=t.A,this.W=t.W,this.IS=t.IS;for(let e=0;e<64;e++)this.R[e]=t.R[e];this.o=t.o,this.irqRequest=t.irq}fetchPC0(){let t=this.bus.read(this.PC0);return this.PC0=this.PC0+1&65535,t}fetchDC0(){let t=this.bus.read(this.DC0);return this.DC0=this.DC0+1&65535,t}storeDC0(t){this.bus.write(this.DC0,t),this.DC0=this.DC0+1&65535}clrOZCS(){this.W&=~(R|k|b|D)}setSZ(t){(t&255)===0&&(this.W|=k),(t&128)===0&&(this.W|=D)}doAdd(t,s,e=0){let h=(t&255)+(s&255)+(e&1);return h&256&&(this.W|=b),((t^h)&(s^h)&128)!==0&&(this.W|=R),h&255}doAddDecimal(t,s){let e=(t&15)+(s&15),h=e>9?1:0;e=(t>>4)+(s>>4)+h;let r=e>9?1:0;this.clrOZCS();let i=this.doAdd(t,s);this.setSZ(i);let n=0;return r&&(n|=160),h&&(n|=10),n&&(this.clrOZCS(),i=this.doAdd(i,n),this.setSZ(i)),i}getScratchpadIndex(t){if(t<12)return t;if(t===12)return this.IS&63;if(t===13){let s=this.IS&63;return this.IS=this.IS&56|this.IS+1&7,s}if(t===14){let s=this.IS&63;return this.IS=this.IS&56|this.IS-1&7,s}return 0}advanceInsn(){if(this.irqRequest&&this.W&o)return this.irqRequest=!1,this.PC1=this.PC0,this.PC0=this.bus.read(4094)<<8|this.bus.read(4095),this.W&=~o,6;let t=this.fetchPC0();this.o=t,this.stable=!0;let s=4,e,h;switch(t){case 0:this.A=this.R[12];break;case 1:this.A=this.R[13];break;case 2:this.A=this.R[14];break;case 3:this.A=this.R[15];break;case 4:this.R[12]=this.A;break;case 5:this.R[13]=this.A;break;case 6:this.R[14]=this.A;break;case 7:this.R[15]=this.A;break;case 8:this.R[12]=this.PC1>>8&255,this.R[13]=this.PC1&255,s=8;break;case 9:this.PC1=this.R[12]<<8|this.R[13],s=8;break;case 10:this.A=this.IS&63;break;case 11:this.IS=this.A&63;break;case 12:this.PC1=this.PC0,this.PC0=this.R[12]<<8|this.R[13],s=8;break;case 13:this.PC0=this.R[14]<<8|this.R[15],s=8;break;case 14:this.R[14]=this.DC0>>8&255,this.R[15]=this.DC0&255,s=8;break;case 15:this.DC0=this.R[14]<<8|this.R[15],s=8;break;case 16:this.DC0=this.R[10]<<8|this.R[11],s=8;break;case 17:this.R[10]=this.DC0>>8&255,this.R[11]=this.DC0&255,s=8;break;case 18:this.A=this.A>>1&255,this.clrOZCS(),this.setSZ(this.A);break;case 19:this.A=this.A<<1&255,this.clrOZCS(),this.setSZ(this.A);break;case 20:this.A=this.A>>4&255,this.clrOZCS(),this.setSZ(this.A);break;case 21:this.A=this.A<<4&255,this.clrOZCS(),this.setSZ(this.A);break;case 22:this.A=this.fetchDC0(),s=6;break;case 23:this.storeDC0(this.A),s=6;break;case 24:this.A=~this.A&255,this.clrOZCS(),this.setSZ(this.A);break;case 25:e=this.W&b?1:0,this.clrOZCS(),this.A=this.doAdd(this.A,e),this.setSZ(this.A);break;case 26:this.W&=~o;break;case 27:this.W|=o;break;case 28:this.PC0=this.PC1;break;case 29:this.W=this.R[9]&31;break;case 30:this.R[9]=this.W&31;break;case 31:this.clrOZCS(),this.A=this.doAdd(this.A,1),this.setSZ(this.A);break;case 32:this.A=this.fetchPC0(),s=6;break;case 33:e=this.fetchPC0(),this.A=this.A&e,this.clrOZCS(),this.setSZ(this.A),s=6;break;case 34:e=this.fetchPC0(),this.A=this.A|e,this.clrOZCS(),this.setSZ(this.A),s=6;break;case 35:e=this.fetchPC0(),this.A=this.A^e,this.clrOZCS(),this.setSZ(this.A),s=6;break;case 36:e=this.fetchPC0(),this.clrOZCS(),this.A=this.doAdd(this.A,e),this.setSZ(this.A),s=6;break;case 37:e=this.fetchPC0(),this.clrOZCS(),this.doAdd(~this.A&255,e,1),this.setSZ(this.doAdd(~this.A&255,e,1)),s=6;break;case 38:e=this.fetchPC0(),this.A=this.iobus.read(e)&255,this.clrOZCS(),this.setSZ(this.A),s=8;break;case 39:e=this.fetchPC0(),this.iobus.write(e,this.A),s=8;break;case 40:{let r=this.fetchPC0(),i=this.fetchPC0();this.PC1=this.PC0,this.PC0=r<<8|i,s=12;break}case 41:{let r=this.fetchPC0(),i=this.fetchPC0();this.PC0=r<<8|i,s=10;break}case 42:{let r=this.fetchPC0(),i=this.fetchPC0();this.DC0=r<<8|i,s=10;break}case 43:break;case 44:e=this.DC0,this.DC0=this.DC1,this.DC1=e;break;case 45:case 46:case 47:break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:h=this.getScratchpadIndex(t&15),this.clrOZCS(),this.R[h]=this.doAdd(this.R[h],255),this.setSZ(this.R[h]),s=6;break;case 63:break;case 64:case 65:case 66:case 67:case 68:case 69:case
Line truncated
|
||||
DC0 = `+a(x.DC0,4)+" DC1 = "+a(x.DC1,4)+`
|
||||
A = `+a(x.A,2)+" W = "+a(x.W,2)+`
|
||||
IS = `+a(x.IS,2)+`
|
||||
@@ -14,4 +14,4 @@ Port 5: `+a(e.port5||0,2)+`
|
||||
Row: `+a(e.row_reg||0,2)+`
|
||||
Col: `+a(e.col_reg||0,2)+`
|
||||
`;case"VRAM":return"";default:return""}}getMemoryMap(){return{main:[{name:"BIOS",start:0,size:2048,type:"rom"},{name:"Cart ROM",start:2048,size:30720,type:"rom"}]}}};m.channelf=A;
|
||||
//# sourceMappingURL=channelf-RAJ3RCG5.js.map
|
||||
//# sourceMappingURL=channelf-ZQADDMQO.js.map
|
||||
File renamed without changes.
@@ -1,4 +1,4 @@
|
||||
import{A as w,a as b,b as v,y as P}from"./chunk-QYEDG265.js";import{R as S,T as p,X as C}from"./chunk-V6TNHL6H.js";var o=class{constructor(t){this.loaded=!1;this.preinitted=!1;this.started=!1;this.romtype="cart";this.running=!1;this.initluavars=!1;this.mainElement=t,this.timer=new C(20,this.poll.bind(this))}luacall(t){return this.js_lua_string||(this.js_lua_string=Module.cwrap("_Z13js_lua_stringPKc","string",["string"])),this.js_lua_string(t||"")}_pause(){this.running=!1,this.timer.stop()}pause(){this.loaded&&this.running&&(this.luacall("emu.pause()"),this._pause())}_resume(){this.luacall("emu.unpause()"),this.running=!0,this.timer.start()}resume(){this.loaded&&!this.running&&this._resume()}reset(){this.loaded&&(this.luacall("manager:machine():soft_reset()"),this.running=!0,this.initluavars=!1)}isRunning(){return this.running}bufferConsoleOutput(t){typeof t=="string"&&console.log(t)}startModule(t,e){this.started=!0;var r=this.romfn=this.romfn||e.romfn,n=this.romdata=this.romdata||e.romdata||new p(e.romsize).mem,g=this.romtype=this.romtype||e.romtype,a=this.video=new S(this.mainElement,e.width,e.height);a.create(),$(a.canvas).attr("id","canvas"),console.log("loading",e.jsfile);var u=[e.driver,"-debug","-debugger","none","-verbose","-window","-nokeepaspect","-resolution",a.canvas.width+"x"+a.canvas.height];r&&u.push("-"+g,r),e.extraargs&&(u=u.concat(e.extraargs)),console.log(u),window.JSMESS={},window.Module={arguments:u,screenIsReadOnly:!0,print:this.bufferConsoleOutput,canvas:a.canvas,doNotCaptureKeyboard:!0,keyboardListeningElement:a.canvas,preInit:()=>{console.log("loading FS"),ENV.SDL_EMSCRIPTEN_KEYBOARD_ELEMENT="canvas",e.cfgfile&&(FS.mkdir("/cfg"),FS.writeFile("/cfg/"+e.cfgfile,e.cfgdata,{encoding:"utf8"})),e.biosfile&&(FS.mkdir("/roms"),FS.mkdir("/roms/"+e.driver),FS.writeFile("/roms/"+e.biosfile,e.biosdata,{encoding:"binary"})),FS.mkdir("/emulator"),r&&FS.writeFile(r,n,{encoding:"binary"}),e.preInit&&e.preInit(self),this.preinitted=!0},preRun:[()=>{$(a.canvas).click(i=>{a.canvas.focus()}),this.loaded=!0,console.log("about to run...")}]};var d,c,m=$.Deferred(),f=$.Deferred();if(e.cfgfile&&(d=$.get("mame/cfg/"+e.cfgfile,i=>{e.cfgdata=i,console.log("loaded "+e.cfgfile)},"text")),e.biosfile){var s=new XMLHttpRequest;s.open("GET","mame/roms/"+e.biosfile,!0),s.responseType="arraybuffer",s.onload=i=>{e.biosdata=new Uint8Array(s.response),console.log("loaded "+e.biosfile),m.resolve()},s.ontimeout=function(i){throw Error("Timeout loading "+e.biosfile)},s.send()}else m.resolve();c=$.get("mame/debugger.lua",i=>{this.luadebugscript=i,console.log("loaded debugger.lua")},"text");{var l=new XMLHttpRequest;l.open("GET","mame/"+e.jsfile.replace(".js",".wasm"),!0),l.responseType="arraybuffer",l.onload=i=>{console.log("loaded WASM file"),window.Module.wasmBinary=new Uint8Array(l.response),f.resolve()},l.ontimeout=function(i){throw Error("Timeout loading "+e.jsfile)},l.send()}$.when(c,d,m,f).done(()=>{var i=document.createElement("script");i.src="mame/"+e.jsfile,document.getElementsByTagName("head")[0].appendChild(i),console.log("created script element")}),window.mamelua=i=>(this.initlua(),[i,this.luacall(i)])}loadROMFile(t){this.romdata=t,this.preinitted&&this.romfn&&FS.writeFile(this.romfn,t,{encoding:"binary"})}loadRegion(t,e){if(this.loaded&&e.length>0){for(var r='rgn = manager:machine():memory().regions["'+t+`"]
|
||||
import{A as w,a as b,b as v,y as P}from"./chunk-RWTUUV4L.js";import{R as S,T as p,X as C}from"./chunk-V6TNHL6H.js";var o=class{constructor(t){this.loaded=!1;this.preinitted=!1;this.started=!1;this.romtype="cart";this.running=!1;this.initluavars=!1;this.mainElement=t,this.timer=new C(20,this.poll.bind(this))}luacall(t){return this.js_lua_string||(this.js_lua_string=Module.cwrap("_Z13js_lua_stringPKc","string",["string"])),this.js_lua_string(t||"")}_pause(){this.running=!1,this.timer.stop()}pause(){this.loaded&&this.running&&(this.luacall("emu.pause()"),this._pause())}_resume(){this.luacall("emu.unpause()"),this.running=!0,this.timer.start()}resume(){this.loaded&&!this.running&&this._resume()}reset(){this.loaded&&(this.luacall("manager:machine():soft_reset()"),this.running=!0,this.initluavars=!1)}isRunning(){return this.running}bufferConsoleOutput(t){typeof t=="string"&&console.log(t)}startModule(t,e){this.started=!0;var r=this.romfn=this.romfn||e.romfn,n=this.romdata=this.romdata||e.romdata||new p(e.romsize).mem,g=this.romtype=this.romtype||e.romtype,a=this.video=new S(this.mainElement,e.width,e.height);a.create(),$(a.canvas).attr("id","canvas"),console.log("loading",e.jsfile);var u=[e.driver,"-debug","-debugger","none","-verbose","-window","-nokeepaspect","-resolution",a.canvas.width+"x"+a.canvas.height];r&&u.push("-"+g,r),e.extraargs&&(u=u.concat(e.extraargs)),console.log(u),window.JSMESS={},window.Module={arguments:u,screenIsReadOnly:!0,print:this.bufferConsoleOutput,canvas:a.canvas,doNotCaptureKeyboard:!0,keyboardListeningElement:a.canvas,preInit:()=>{console.log("loading FS"),ENV.SDL_EMSCRIPTEN_KEYBOARD_ELEMENT="canvas",e.cfgfile&&(FS.mkdir("/cfg"),FS.writeFile("/cfg/"+e.cfgfile,e.cfgdata,{encoding:"utf8"})),e.biosfile&&(FS.mkdir("/roms"),FS.mkdir("/roms/"+e.driver),FS.writeFile("/roms/"+e.biosfile,e.biosdata,{encoding:"binary"})),FS.mkdir("/emulator"),r&&FS.writeFile(r,n,{encoding:"binary"}),e.preInit&&e.preInit(self),this.preinitted=!0},preRun:[()=>{$(a.canvas).click(i=>{a.canvas.focus()}),this.loaded=!0,console.log("about to run...")}]};var d,c,m=$.Deferred(),f=$.Deferred();if(e.cfgfile&&(d=$.get("mame/cfg/"+e.cfgfile,i=>{e.cfgdata=i,console.log("loaded "+e.cfgfile)},"text")),e.biosfile){var s=new XMLHttpRequest;s.open("GET","mame/roms/"+e.biosfile,!0),s.responseType="arraybuffer",s.onload=i=>{e.biosdata=new Uint8Array(s.response),console.log("loaded "+e.biosfile),m.resolve()},s.ontimeout=function(i){throw Error("Timeout loading "+e.biosfile)},s.send()}else m.resolve();c=$.get("mame/debugger.lua",i=>{this.luadebugscript=i,console.log("loaded debugger.lua")},"text");{var l=new XMLHttpRequest;l.open("GET","mame/"+e.jsfile.replace(".js",".wasm"),!0),l.responseType="arraybuffer",l.onload=i=>{console.log("loaded WASM file"),window.Module.wasmBinary=new Uint8Array(l.response),f.resolve()},l.ontimeout=function(i){throw Error("Timeout loading "+e.jsfile)},l.send()}$.when(c,d,m,f).done(()=>{var i=document.createElement("script");i.src="mame/"+e.jsfile,document.getElementsByTagName("head")[0].appendChild(i),console.log("created script element")}),window.mamelua=i=>(this.initlua(),[i,this.luacall(i)])}loadROMFile(t){this.romdata=t,this.preinitted&&this.romfn&&FS.writeFile(this.romfn,t,{encoding:"binary"})}loadRegion(t,e){if(this.loaded&&e.length>0){for(var r='rgn = manager:machine():memory().regions["'+t+`"]
|
||||
`,n=0;n<e.length;n+=4){var g=e[n]+(e[n+1]<<8)+(e[n+2]<<16)+(e[n+3]<<24);r+="rgn:write_u32("+n+","+g+`)
|
||||
`}this.luacall(r),this.reset()}}initlua(){this.initluavars||(this.luacall(this.luadebugscript),this.luacall("mamedbg.init()"),this.initluavars=!0)}readAddress(t){return this.initlua(),parseInt(this.luacall("return mem:read_u8("+t+")"))}getCPUReg(t){return this.loaded?(this.initlua(),parseInt(this.luacall("return cpu.state."+t+".value"))):0}grabState(t){return this.initlua(),{c:this.getCPUState(),buf:this.luacall("return string.tohex("+t+")")}}saveState(){return this.grabState("manager:machine():buffer_save()")}loadState(t){return this.initlua(),this.luacall("manager:machine():buffer_load(string.fromhex('"+t.buf+"'))")}poll(){if(this.onBreakpointHit&&this.luacall("return tostring(mamedbg.is_stopped())")=="true"){this._pause();var t=this.grabState("lastBreakState");this.onBreakpointHit(t)}}clearDebug(){this.onBreakpointHit=null,this.loaded&&(this.initlua(),this.luacall("mamedbg.reset()"))}getDebugCallback(){return this.onBreakpointHit}setupDebug(t){this.onBreakpointHit=t}debugcmd(t){this.initlua(),this.luacall(t),this._resume()}runToPC(t){this.debugcmd("mamedbg.runTo("+t.join(",")+")")}runToVsync(){this.debugcmd("mamedbg.runToVsync()")}runUntilReturn(){this.debugcmd("mamedbg.runUntilReturn()")}runEval(){this.reset(),this.step()}step(){this.debugcmd("mamedbg.step()")}getDebugCategories(){return["CPU"]}getDebugInfo(t,e){if(t==="CPU")return this.cpuStateToLongString(e.c)}getDebugTree(){this.initlua();var t=JSON.parse(this.luacall("return table.tojson(manager:machine().devices)")),e=JSON.parse(this.luacall("return table.tojson(manager:machine().images)")),r=JSON.parse(this.luacall("return table.tojson(manager:machine():memory().regions)"));return{devices:t,images:e,regions:r}}},_=class extends o{getPC(){return this.getCPUReg("PC")}getSP(){return this.getCPUReg("SP")}isStable(){return!0}getCPUState(){return{PC:this.getPC(),SP:this.getSP(),A:this.getCPUReg("A"),X:this.getCPUReg("X"),Y:this.getCPUReg("Y"),flags:this.getCPUReg("P")}}disassemble(t,e){return b(t,e(t),e(t+1),e(t+2))}cpuStateToLongString(t){return P(t)}},U=class extends o{getPC(){return this.getCPUReg("PC")}getSP(){return this.getCPUReg("SP")}isStable(){return!0}getCPUState(){return{PC:this.getPC(),SP:this.getSP(),AF:this.getCPUReg("AF"),BC:this.getCPUReg("BC"),DE:this.getCPUReg("DE"),HL:this.getCPUReg("HL"),IX:this.getCPUReg("IX"),IY:this.getCPUReg("IY"),IR:this.getCPUReg("R")+(this.getCPUReg("I")<<8)}}disassemble(t,e){return v(t,e(t),e(t+1),e(t+2),e(t+3))}cpuStateToLongString(t){return w(t)}};export{_ as a,U as b};
|
||||
//# sourceMappingURL=chunk-TANFDIIN.js.map
|
||||
//# sourceMappingURL=chunk-ENVHSJV6.js.map
|
||||
File renamed without changes.
@@ -1,7 +1,7 @@
|
||||
import{a as it,b as ft,c as st}from"./chunk-UACHXWHT.js";import{E as wt,Q as kt,R as Dt,U as Ye,X as Rt,Y as at,ba as Bt,g as $,j as _t,s as Ve}from"./chunk-V6TNHL6H.js";var gn=[{mn:"BRK",am:"",nb:1,il:0,c1:7,c2:0,nw:3,br:1,mod:"SI"},{mn:"ORA",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SLO",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PHP",am:"",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:"S"},{mn:"ORA",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ANC",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA",nb:3,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BPL",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"ORA",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SLO",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"CLC",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"C"},{mn:"ORA",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"SLO",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"JSR",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:1,mod:"S"},{mn:"AND",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RLA",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BIT",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"ZVN"},{mn:"AND",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PLP",am:"",nb:1,il:0,c1:4,c2:0,nw:0,br:0,mod:"SCZIDVN"},{mn:"AND",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ANC",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"BIT",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"ZVN"},{mn:"AND",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BMI",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"AND",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RLA",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"AND",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"SEC",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"C"},{mn:"AND",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"RLA",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"AND",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"RTI",am:"",nb:1,il:0,c1:6,c2:0,nw:0,br:1,mod:"SCZIDVN"},{mn:"EOR",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SRE",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"EOR",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PHA",am:"",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:"S"},{mn:"EOR",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ASR",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"JMP",am:"AAAA",nb:3,il:0,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"EOR",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BVC",am:"branch",Line truncated
|
||||
import{a as it,b as ft,c as st}from"./chunk-UXRCACYH.js";import{E as wt,Q as kt,R as Dt,U as Ye,X as Rt,Y as at,ba as Bt,g as $,j as _t,s as Ve}from"./chunk-V6TNHL6H.js";var gn=[{mn:"BRK",am:"",nb:1,il:0,c1:7,c2:0,nw:3,br:1,mod:"SI"},{mn:"ORA",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SLO",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PHP",am:"",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:"S"},{mn:"ORA",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ANC",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA",nb:3,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BPL",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"ORA",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SLO",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"CLC",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"C"},{mn:"ORA",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"SLO",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"JSR",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:1,mod:"S"},{mn:"AND",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RLA",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BIT",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"ZVN"},{mn:"AND",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PLP",am:"",nb:1,il:0,c1:4,c2:0,nw:0,br:0,mod:"SCZIDVN"},{mn:"AND",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ANC",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"BIT",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"ZVN"},{mn:"AND",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BMI",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"AND",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RLA",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"AND",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"SEC",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"C"},{mn:"AND",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"RLA",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"AND",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"RTI",am:"",nb:1,il:0,c1:6,c2:0,nw:0,br:1,mod:"SCZIDVN"},{mn:"EOR",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SRE",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"EOR",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PHA",am:"",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:"S"},{mn:"EOR",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ASR",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"JMP",am:"AAAA",nb:3,il:0,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"EOR",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BVC",am:"branch",Line truncated
|
||||
A: `+o.toString(16)+" X: "+b.toString(16)+" Y: "+x.toString(16)+" SP: "+l.toString(16)+" N"+f+" V"+W+" D"+N+" I"+g+" Z"+B+" C"+_+" "},this.breakpoint=function(m){if(this.trace)var h="CPU Breakpoint! "+(m?"("+m+")":"")+`
|
||||
|
||||
`+this.toString()};var Pt=[7,6,0,8,3,3,5,5,3,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,3,2,2,2,3,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,5,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,0,6,0,6,3,3,3,3,2,0,2,0,4,4,4,4,2,6,0,0,4,4,4,4,2,5,2,0,0,5,0,0,2,6,2,6,3,3,3,3,2,2,2,0,4,4,4,4,2,5,0,5,4,4,4,4,2,4,2,0,4,4,4,4,2,6,0,8,3,3,5,5,2,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,2,6,0,8,3,3,5,5,2,2,2,0,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7],vn=[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1],Sn=[1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,3,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,0,2,0,2,2,2,2,2,1,0,1,0,3,3,3,3,2,2,0,0,2,2,2,3,1,3,1,0,0,3,0,0,2,2,2,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3],On=[1,2,0,0,0,2,2,0,1,2,1,0,0,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,3,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,0,2,0,0,2,2,2,0,1,0,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,0,3,0,0,2,2,2,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0];this.getOpcodeMetadata=function(m,h){return{opcode:m,mnenomic:t[m],minCycles:Pt[m],maxCycles:Pt[m]+vn[m],insnlength:Sn[m]}},this.setNMI=function(){d=bn(),a0=1,i=i-1&65535},this.setIRQ=function(){g||(d=mn(),a0=1,i=i-1&65535)},this.getSP=function(){return l},this.getPC=function(){return i-1&65535},this.getT=function(){return a0},this.isHalted=function(){return t[_0]=="uKIL"},this.isPCStable=function(){return a0==0}};var Ft=class{constructor(){this.cpu=new mt;this.interruptType=0}connectMemoryBus(e){this.cpu.connectBus(e)}advanceClock(){if(this.interruptType&&this.isStable()){switch(this.interruptType){case 1:this.cpu.setNMI();break;case 2:this.cpu.setIRQ();break}this.interruptType=0}this.cpu.clockPulse()}advanceInsn(){do this.advanceClock();while(!this.isStable())}reset(){this.cpu.reset(),this.interruptType=0}interrupt(e){this.interruptType!=1&&(this.interruptType=e)}NMI(){this.interrupt(1)}IRQ(){this.interrupt(2)}getSP(){return this.cpu.getSP()}getPC(){return this.cpu.getPC()}isHalted(){return this.cpu.isHalted()}saveState(){var e=this.cpu.saveState();return e.it=this.interruptType,e}loadState(e){this.cpu.loadState(e),this.interruptType=e.it}isStable(){return this.cpu.isPCStable()}getOpcodeMetadata(e){return this.cpu.getOpcodeMetadata(e)}};var Ne=class{constructor(e){this.maxROMSize=262144;this.videoOffsetBytes=0;this.prefix=e;var n=this;this.cpu={getPC:n.getPC.bind(n),getSP:n.getSP.bind(n),isStable:n.isStable.bind(n),reset:n.reset.bind(n),saveState:()=>n.getCPUState(),loadState:()=>{console.log("loadState not implemented")},connectMemoryBus(){console.log("connectMemoryBus not implemented")}}}getImports(e){return{}}async fetchWASM(){var e=await fetch("res/"+this.prefix+".wasm");if(e.status==200||e.size){var n=await e.arrayBuffer(),i=await WebAssembly.compile(n),l=await WebAssembly.instantiate(i,this.getImports(i));this.instance=l,this.exports=l.exports}else throw new Error("could not load WASM file")}allocateBIOS(e){this.biosptr=this.exports.malloc(e.byteLength),this.biosarr=new Uint8Array(this.exports.memory.buffer,this.biosptr,e.byteLength)}async fetchBIOS(){var e=await fetch("res/"+this.prefix+".bios");if(e.status==200||e.size){var n=new Uint8Array(await e.arrayBuffer());this.allocateBIOS(n),this.loadBIOS(n)}else throw new Error("could not load BIOS file")}async initWASM(){this.sys=this.exports.machine_init(this.biosptr);let e=this.exports.machine_get_state_size();this.stateptr=this.exports.malloc(e);let n=this.exports.machine_get_controls_state_size();this.ctrlstateptr=this.exports.malloc(n);let i=this.exports.machine_get_cpu_state_size();this.cpustateptr=this.exports.malloc(i),this.romptr=this.exports.malloc(this.maxROMSize),this.statearr=new Uint8Array(this.exports.memory.buffer,this.stateptr,e),this.ctrlstatearr=new Uint8Array(this.exports.memory.buffer,this.ctrlstateptr,n),this.cpustatearr=new Uint8Array(this.exports.memory.buffer,this.cpustateptr,i
Line truncated
|
||||
`+this.toString()};var Pt=[7,6,0,8,3,3,5,5,3,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,3,2,2,2,3,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,5,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,0,6,0,6,3,3,3,3,2,0,2,0,4,4,4,4,2,6,0,0,4,4,4,4,2,5,2,0,0,5,0,0,2,6,2,6,3,3,3,3,2,2,2,0,4,4,4,4,2,5,0,5,4,4,4,4,2,4,2,0,4,4,4,4,2,6,0,8,3,3,5,5,2,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,2,6,0,8,3,3,5,5,2,2,2,0,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7],vn=[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1],Sn=[1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,3,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,0,2,0,2,2,2,2,2,1,0,1,0,3,3,3,3,2,2,0,0,2,2,2,3,1,3,1,0,0,3,0,0,2,2,2,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3],On=[1,2,0,0,0,2,2,0,1,2,1,0,0,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,3,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,0,2,0,0,2,2,2,0,1,0,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,0,3,0,0,2,2,2,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0];this.getOpcodeMetadata=function(m,h){return{opcode:m,mnenomic:t[m],minCycles:Pt[m],maxCycles:Pt[m]+vn[m],insnlength:Sn[m]}},this.setNMI=function(){d=bn(),a0=1,i=i-1&65535},this.setIRQ=function(){g||(d=mn(),a0=1,i=i-1&65535)},this.getSP=function(){return l},this.getPC=function(){return i-1&65535},this.getT=function(){return a0},this.isHalted=function(){return t[_0]=="uKIL"},this.isPCStable=function(){return a0==0}};var Ft=class{constructor(){this.cpu=new mt;this.interruptType=0}connectMemoryBus(e){this.cpu.connectBus(e)}advanceClock(){if(this.interruptType&&this.isStable()){switch(this.interruptType){case 1:this.cpu.setNMI();break;case 2:this.cpu.setIRQ();break}this.interruptType=0}this.cpu.clockPulse()}advanceInsn(){do this.advanceClock();while(!this.isStable())}reset(){this.cpu.reset(),this.interruptType=0}interrupt(e){this.interruptType!=1&&(this.interruptType=e)}NMI(){this.interrupt(1)}IRQ(){this.interrupt(2)}getSP(){return this.cpu.getSP()}getPC(){return this.cpu.getPC()}isHalted(){return this.cpu.isHalted()}saveState(){var e=this.cpu.saveState();return e.it=this.interruptType,e}loadState(e){this.cpu.loadState(e),this.interruptType=e.it}isStable(){return this.cpu.isPCStable()}getOpcodeMetadata(e){return this.cpu.getOpcodeMetadata(e)}};var Ne=class{constructor(e){this.maxROMSize=262144;this.videoOffsetBytes=0;this.prefix=e;var n=this;this.cpu={getPC:n.getPC.bind(n),getSP:n.getSP.bind(n),isStable:n.isStable.bind(n),reset:n.reset.bind(n),saveState:()=>n.getCPUState(),loadState:()=>{console.log("loadState not implemented")},connectMemoryBus(){console.log("connectMemoryBus not implemented")}}}getImports(e){return{}}async fetchWASM(){var e=await fetch("res/"+this.prefix+".wasm");if(e.status==200||e.size){var n=await e.arrayBuffer(),i=await WebAssembly.compile(n),l=await WebAssembly.instantiate(i,this.getImports(i));this.instance=l,this.exports=l.exports}else throw new Error("could not load WASM file")}allocateBIOS(e){this.biosptr=this.exports.malloc(e.byteLength),this.biosarr=new Uint8Array(this.exports.memory.buffer,this.biosptr,e.byteLength)}async fetchBIOS(){var e=await fetch("res/"+this.prefix+".bios");if(e.status==200||e.size){var n=new Uint8Array(await e.arrayBuffer());this.allocateBIOS(n),this.loadBIOS(n)}else throw new Error("could not load BIOS file")}async initWASM(){this.sys=this.exports.machine_init(this.biosptr);let e=this.exports.machine_get_state_size();this.stateptr=this.exports.malloc(e);let n=this.exports.machine_get_controls_state_size();this.ctrlstateptr=this.exports.malloc(n);let i=this.exports.machine_get_cpu_state_size();this.cpustateptr=this.exports.malloc(i),this.romptr=this.exports.malloc(this.maxROMSize),this.statearr=new Uint8Array(this.exports.memory.buffer,this.stateptr,e),this.ctrlstatearr=new Uint8Array(this.exports.memory.buffer,this.ctrlstateptr,n),this.cpustatearr=new Uint8Array(this.exports.memory.buffer,this.cpustateptr,i
Line truncated
|
||||
A `+$(C.A)+" "+(C.R?"":"BUSY")+`
|
||||
X `+$(C.X)+`
|
||||
Y `+$(C.Y)+" SP "+$(C.SP)+`
|
||||
@@ -14,7 +14,7 @@ DE `+$(C.DE,4)+" HL "+$(C.HL,4)+`
|
||||
SP `+$(C.SP,4)+`
|
||||
AF `+$(C.AF,4)+" BC "+$(C.BC,4)+`
|
||||
DE `+$(C.DE,4)+" HL "+$(C.HL,4)+`
|
||||
`}var At=class extends ye{constructor(){super(...arguments);this.waitCycles=0;this.getToolForFilename=ft}newCPU(n,i){return this._cpu=new We,this._cpu.connectMemoryBus(n),this._cpu.connectIOBus(i),this._cpu}getPC(){return this._cpu.getPC()}getSP(){return this._cpu.getSP()}isStable(){return!0}runCPU(n,i){if(this._cpu=n,this.waitCycles=0,this.wasBreakpointHit())return 0;var l=this.getDebugCallback(),o=0;for(this.waitCycles+=i;this.waitCycles>0;){if(l&&l()){l=null;break}var b=n.advanceInsn();o+=b,this.waitCycles-=b}return o}getDefaultExtensions(){return[".c",".ns",".s",".scc",".sgb",".z",".wiz"]}getDebugCategories(){return["CPU","Stack"]}getDebugInfo(n,i){switch(n){case"CPU":return jt(i.c);case"Stack":{var l=i.c.SP-1&65535,o=l&65280,b=o+255;return l==0&&(l=65536),console.log(l,o,b),Le(this,[],o,b,l,205)}}}disassemble(n,i){return lt(n,i(n),i(n+1),i(n+2),i(n+3))}};function Ct(C){function e(n){return Ve(n,["E","F","H","I","N","Z","V","C"],!0)}return"PC "+$(C.PC,4)+" "+e(C.CC)+`
|
||||
`}var At=class extends ye{constructor(){super(...arguments);this.waitCycles=0;this.getToolForFilename=ft}newCPU(n,i){return this._cpu=new We,this._cpu.connectMemoryBus(n),this._cpu.connectIOBus(i),this._cpu}getPC(){return this._cpu.getPC()}getSP(){return this._cpu.getSP()}isStable(){return!0}runCPU(n,i){if(this._cpu=n,this.waitCycles=0,this.wasBreakpointHit())return 0;var l=this.getDebugCallback(),o=0;for(this.waitCycles+=i;this.waitCycles>0;){if(l&&l()){l=null;break}var b=n.advanceInsn();o+=b,this.waitCycles-=b}return o}getDefaultExtensions(){return[".c",".sdcc",".ns",".s",".scc",".sgb",".z",".wiz"]}getDebugCategories(){return["CPU","Stack"]}getDebugInfo(n,i){switch(n){case"CPU":return jt(i.c);case"Stack":{var l=i.c.SP-1&65535,o=l&65280,b=o+255;return l==0&&(l=65536),console.log(l,o,b),Le(this,[],o,b,l,205)}}}disassemble(n,i){return lt(n,i(n),i(n+1),i(n+2),i(n+3))}};function Ct(C){function e(n){return Ve(n,["E","F","H","I","N","Z","V","C"],!0)}return"PC "+$(C.PC,4)+" "+e(C.CC)+`
|
||||
SP `+$(C.SP,4)+`
|
||||
DP `+$(C.DP,2)+`
|
||||
A `+$(C.A,2)+`
|
||||
@@ -27,4 +27,4 @@ $`+$(l)+": ",x+=$(N,4)+" "+Dn(C,N,!0),l++,f=0):(f==0&&(x+=`
|
||||
$`+$(l)+": "),x+=$(W(l))+" ",++f==8&&(f=0))}return x+`
|
||||
`}function Dn(C,e,n){for(var i=e,l=C.debugSymbols&&C.debugSymbols.addr2symbol;l&&e>=0;){var o=l[e];if(o){var o=l[e];return n?o+" + $"+$(i-e):o}if(!n)break;e--}return""}function Rn(C){return typeof C.connectVideo=="function"}function Bn(C){return typeof C.connectAudio=="function"}function Nn(C){return typeof C.setKeyInput=="function"}function Ht(C){return typeof C.setPaddleInput=="function"}function bt(C){return typeof C.getRasterY=="function"}function yn(C){return typeof C.connectProbe=="function"}function In(C){return typeof C.loadBIOS=="function"}function Ln(C){return typeof C.connectSerialIO=="function"}var Ie=class extends ye{constructor(e){super(),this.mainElement=e}reset(){this.machine.reset(),this.serialVisualizer!=null&&this.serialVisualizer.reset()}loadState(e){if(!this.debugPCDelta||!e.c)return this.machine.loadState(e);this.unfixPC(e.c);try{this.machine.loadState(e)}finally{this.fixPC(e.c)}}saveState(){let e=this.machine.saveState();return this.debugPCDelta&&e.c&&this.fixPC(e.c),e}getSP(){return this.machine.cpu.getSP()}getPC(){return this.machine.cpu.getPC()}isStable(){return this.machine.cpu.isStable()}getCPUState(){return this.fixPC(this.machine.cpu.saveState())}loadControlsState(e){this.machine.loadControlsState(e)}saveControlsState(){return this.machine.saveControlsState()}async start(){this.machine=this.newMachine();let e=this.machine;e instanceof Ne&&await e.loadWASM();var n;if(Rn(e)){var i=e.getVideoParams();this.video=new Dt(this.mainElement,i.width,i.height,{overscan:!!i.overscan,rotate:i.rotate|0,aspect:i.aspect}),this.video.create(),e.connectVideo(this.video.getFrameData()),Nn(e)&&(this.video.setKeyboardEvents(e.setKeyInput.bind(e)),this.poller=new Bt(e.setKeyInput.bind(e))),n=i.videoFrequency}if(this.timer=new Rt(n||60,this.nextFrame.bind(this)),Bn(e)){var l=e.getAudioParams();this.audio=new Ke(l.sampleRate),this.audio.start(),e.connectAudio(this.audio)}Ht(e)&&this.video.setupMouseEvents(),yn(e)&&(this.probeRecorder=new je(e),this.startProbing=()=>(e.connectProbe(this.probeRecorder),this.probeRecorder),this.stopProbing=()=>{e.connectProbe(null)}),In(e)&&(this.loadBIOS=(o,b)=>{e.loadBIOS(b,o)}),Ln(e)&&(this.serialIOInterface==null?this.serialVisualizer=new vt(this.mainElement,e):e.connectSerialIO(this.serialIOInterface))}loadROM(e,n,i){this.machine.loadROM(n,e,i),this.reset()}pollControls(){this.poller&&this.poller.poll(),Ht(this.machine)&&(this.machine.setPaddleInput(0,this.video.paddle_x),this.machine.setPaddleInput(1,this.video.paddle_y),this.machine.setPaddleButton&&this.video.paddle_buttons!=null&&(this.machine.setPaddleButton(0,this.video.paddle_buttons[0]),this.machine.setPaddleButton(1,this.video.paddle_buttons[1]),this.machine.setPaddleButton(2,this.video.paddle_buttons[2]))),this.machine.pollControls&&this.machine.pollControls()}advance(e){let n=this.getDebugCallback();try{var i=this.machine.advanceFrame(n);return i}finally{!e&&this.video&&(this.video.updateFrame(),this.updateVideoDebugger()),!e&&this.serialVisualizer&&this.serialVisualizer.refresh()}}updateVideoDebugger(){var e;if(!this.isRunning()&&bt(this.machine)&&this.machine.getRasterCanvasPosition){let{x:n,y:i}=this.machine.getRasterCanvasPosition();if(n>=0||i>=0){let l=(e=this.video)==null?void 0:e.getContext();l&&kt(l,n,i,1)}}}advanceFrameClock(e,n){if(n>0)return this.machine instanceof Ne?this.machine.advanceFrameClock(e,n):this.machine.advanceFrame(()=>--n<=0)}isRunning(){return this.timer&&this.timer.isRunning()}resume(){this.timer.start(),this.audio&&this.audio.start(),this.poller&&this.poller.start()}pause(){this.timer.stop(),this.audio&&this.audio.stop(),this.poller&&this.poller.stop()}runToVsync(){this.restartDebugging();var e=!1;this.runEval(()=>{if(this.getRasterScanline()>0)e=!0;else return e})}getRasterScanline(){return bt(this.machine)&&this.machine.getRasterY?this.machine.getRasterY():-1}getRasterLineClock(){return bt(this.machine)&&this.machine.getRasterX?this.machine.getRasterX():-1}readAddress(e){return this.machine.read(e)}getDebugCategories(){if(ve(this.machine))return this.machine.getDebugCategories()}getDebugInfo(e,n){return ve(this.machine)&&this.machine.getDebugInfo(e,n)}},Vt=class extends Ie{constructor(){super(...arguments);this.getOpcodeMetadata=Kt}getToolForFilename(n){return it(n)}getDefaultExtensions(){return[".c",".cpp",".o64",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}disassemble(n,i){return ct(n,i(n),i(n+1),i(n+2))}getDebugCategories(){return ve(this.machine)?this.machine.getDebugCategories():["CPU","ZPRAM","Stack"]}getDebugInfo(n,i){switch(n){case"CPU":return zt(i.c);case"ZPRAM":return at(i.b||i.ram,0,256);case"Stack":return Le(this,i.b||i.ram,256,511,256+i.c.SP,32);default:return ve(this.machine)&&this.machine.getDebugInfo(n,i)}}},Yt=class extends Ie{constructor(){super(...arguments);this.getToolForFilename=ft}getDefaultExtensions(){return[".c",".ns",".s",".scc",".sgb",".z",".wiz"]}getDebugCategories(){return ve(this.machine)?this.machine.getDebugCategories():["CPU","Stack"]}getDe
Line truncated
|
||||
`),i.op==="read"?n+="<< ":i.op==="write"&&(n+=">> "),e=i.op),i.value==10?(n+="\u21B5",e=""):n+=wt(i.value);this.textarea.value=n,this.lastOutCount=this.device.serialOut.length,this.textarea.style.display="block"}}};export{ct as a,lt as b,We as c,ot as d,Nt as e,yt as f,Fn as g,Pn as h,Tn as i,wn as j,Lt as k,$e as l,Ft as m,je as n,Be as o,xt as p,ut as q,Ot as r,Ne as s,Tt as t,ve as u,ht as v,kn as w,Ut as x,zt as y,Kt as z,jt as A,mr as B,At as C,Xt as D,Le as E,Ie as F,Vt as G,Yt as H,Wt as I};
|
||||
//# sourceMappingURL=chunk-QYEDG265.js.map
|
||||
//# sourceMappingURL=chunk-RWTUUV4L.js.map
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/common/cpu/disasm6502.ts", "../src/common/cpu/ZilogZ80.ts", "../src/common/audio.ts", "../src/common/probe.ts", "../src/common/devices.ts", "../src/common/cpu/disasmz80.ts", "../src/common/cpu/6809.ts", "../src/common/cpu/MOS6502.ts", "../src/common/wasmplatform.ts", "../src/common/baseplatform.ts"],
|
||||
"sourcesContent": ["\nimport { hex } from \"../util\";\n\nexport var OPS_6502 = [\n {mn:\"BRK\",am:\"\",nb:1,il:0,c1:7,c2:0,nw:3,br:1,mod:\"SI\"}, // 0\n {mn:\"ORA\",am:\"(aa,x)\",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:\"AZN\"}, // 1\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 2\n {mn:\"SLO\",am:\"(aa,x)\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 3\n {mn:\"NOP\",am:\"aa\",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:\"\"}, // 4\n {mn:\"ORA\",am:\"aa\",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:\"AZN\"}, // 5\n {mn:\"ASL\",am:\"aa\",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:\"CZN\"}, // 6\n {mn:\"SLO\",am:\"aa\",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 7\n {mn:\"PHP\",am:\"\",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:\"S\"}, // 8\n {mn:\"ORA\",am:\"#aa\",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:\"AZN\"}, // 9\n {mn:\"ASL\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // a\n {mn:\"ANC\",am:\"#aa\",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // b\n {mn:\"NOP\",am:\"AAAA\",nb:3,il:1,c1:3,c2:0,nw:0,br:0,mod:\"\"}, // c\n {mn:\"ORA\",am:\"AAAA\",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // d\n {mn:\"ASL\",am:\"AAAA\",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // e\n {mn:\"SLO\",am:\"AAAA\",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // f\n {mn:\"BPL\",am:\"branch\",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:\"\"}, // 10\n {mn:\"ORA\",am:\"(aa),y\",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:\"AZN\"}, // 11\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 12\n {mn:\"SLO\",am:\"(aa),y\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 13\n {mn:\"NOP\",am:\"aa,x\",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 14\n {mn:\"ORA\",am:\"aa,x\",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // 15\n {mn:\"ASL\",am:\"aa,x\",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // 16\n {mn:\"SLO\",am:\"aa,x\",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 17\n {mn:\"CLC\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"C\"}, // 18\n {mn:\"ORA\",am:\"AAAA,y\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 19\n {mn:\"NOP\",am:\"\",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:\"\"}, // 1a\n {mn:\"SLO\",am:\"AAAA,y\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 1b\n {mn:\"NOP\",am:\"AAAA,x\",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 1c\n {mn:\"ORA\",am:\"AAAA,x\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 1d\n {mn:\"ASL\",am:\"AAAA,x\",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:\"CZN\"}, // 1e\n {mn:\"SLO\",am:\"AAAA,x\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 1f\n {mn:\"JSR\",am:\"AAAA\",nb:3,il:0,c1:6,c2:0,nw:2,br:1,mod:\"S\"}, // 20\n {mn:\"AND\",am:\"(aa,x)\",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:\"AZN\"}, // 21\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 22\n {mn:\"RLA\",am:\"(aa,x)\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 23\n {mn:\"BIT\",am:\"aa\",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:\"ZVN\"}, // 24\n {mn:\"AND\",am:\"aa\",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:\"AZN\"}, // 25\n {mn:\"ROL\",am:\"aa\",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:\"CZN\"}, // 26\n {mn:\"RLA\",am:\"aa\",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 27\n {mn:\"PLP\",am:\"\",nb:1,il:0,c1:4,c2:0,nw:0,br:0,mod:\"SCZIDVN\"}, // 28\n {mn:\"AND\",am:\"#aa\",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:\"AZN\"}, // 29\n {mn:\"ROL\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // 2a\n {mn:\"ANC\",am:\"#aa\",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // 2b\n {mn:\"BIT\",am:\"AAAA\",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:\"ZVN\"}, // 2c\n {mn:\"AND\",am:\"AAAA\",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // 2d\n {mn:\"ROL\",am:\"AAAA\",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // 2e\n {mn:\"RLA\",am:\"AAAA\",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 2f\n {mn:\"BMI\",am:\"branch\",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:\"\"}, // 30\n {mn:\"AND\",am:\"(aa),y\",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:\"AZN\"}, // 31\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 32\n {mn:\"RLA\",am:\"(aa),y\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 33\n {mn:\"NOP\",am:\"aa,x\",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 34\n {mn:\"AND\",am:\"aa,x\",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // 35\n {mn:\"ROL\",am:\"aa,x\",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // 36\n {mn:\"RLA\",am:\"aa,x\",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 37\n {mn:\"SEC\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"C\"}, // 38\n {mn:\"AND\",am:\"AAAA,y\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 39\n {mn:\"NOP\",am:\"\",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:\"\"}, // 3a\n {mn:\"RLA\",am:\"AAAA,y\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 3b\n {mn:\"NOP\",am:\"AAAA,x\",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 3c\n {mn:\"AND\",am:\"AAAA,x\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 3d\n {mn:\"ROL\",am:\"AAAA,x\",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:\"CZN\"}, // 3e\n {mn:\"RLA\",am:\"AAAA,x\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 3f\n {mn:\"RTI\",am:\"\",nb:1,il:0,c1:6,c2:0,nw:0,br:1,mod:\"SLine truncated
|
||||
"mappings": "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 truncated
|
||||
"sourcesContent": ["\nimport { hex } from \"../util\";\n\nexport var OPS_6502 = [\n {mn:\"BRK\",am:\"\",nb:1,il:0,c1:7,c2:0,nw:3,br:1,mod:\"SI\"}, // 0\n {mn:\"ORA\",am:\"(aa,x)\",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:\"AZN\"}, // 1\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 2\n {mn:\"SLO\",am:\"(aa,x)\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 3\n {mn:\"NOP\",am:\"aa\",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:\"\"}, // 4\n {mn:\"ORA\",am:\"aa\",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:\"AZN\"}, // 5\n {mn:\"ASL\",am:\"aa\",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:\"CZN\"}, // 6\n {mn:\"SLO\",am:\"aa\",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 7\n {mn:\"PHP\",am:\"\",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:\"S\"}, // 8\n {mn:\"ORA\",am:\"#aa\",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:\"AZN\"}, // 9\n {mn:\"ASL\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // a\n {mn:\"ANC\",am:\"#aa\",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // b\n {mn:\"NOP\",am:\"AAAA\",nb:3,il:1,c1:3,c2:0,nw:0,br:0,mod:\"\"}, // c\n {mn:\"ORA\",am:\"AAAA\",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // d\n {mn:\"ASL\",am:\"AAAA\",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // e\n {mn:\"SLO\",am:\"AAAA\",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // f\n {mn:\"BPL\",am:\"branch\",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:\"\"}, // 10\n {mn:\"ORA\",am:\"(aa),y\",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:\"AZN\"}, // 11\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 12\n {mn:\"SLO\",am:\"(aa),y\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 13\n {mn:\"NOP\",am:\"aa,x\",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 14\n {mn:\"ORA\",am:\"aa,x\",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // 15\n {mn:\"ASL\",am:\"aa,x\",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // 16\n {mn:\"SLO\",am:\"aa,x\",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 17\n {mn:\"CLC\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"C\"}, // 18\n {mn:\"ORA\",am:\"AAAA,y\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 19\n {mn:\"NOP\",am:\"\",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:\"\"}, // 1a\n {mn:\"SLO\",am:\"AAAA,y\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 1b\n {mn:\"NOP\",am:\"AAAA,x\",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 1c\n {mn:\"ORA\",am:\"AAAA,x\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 1d\n {mn:\"ASL\",am:\"AAAA,x\",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:\"CZN\"}, // 1e\n {mn:\"SLO\",am:\"AAAA,x\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 1f\n {mn:\"JSR\",am:\"AAAA\",nb:3,il:0,c1:6,c2:0,nw:2,br:1,mod:\"S\"}, // 20\n {mn:\"AND\",am:\"(aa,x)\",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:\"AZN\"}, // 21\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 22\n {mn:\"RLA\",am:\"(aa,x)\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 23\n {mn:\"BIT\",am:\"aa\",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:\"ZVN\"}, // 24\n {mn:\"AND\",am:\"aa\",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:\"AZN\"}, // 25\n {mn:\"ROL\",am:\"aa\",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:\"CZN\"}, // 26\n {mn:\"RLA\",am:\"aa\",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 27\n {mn:\"PLP\",am:\"\",nb:1,il:0,c1:4,c2:0,nw:0,br:0,mod:\"SCZIDVN\"}, // 28\n {mn:\"AND\",am:\"#aa\",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:\"AZN\"}, // 29\n {mn:\"ROL\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // 2a\n {mn:\"ANC\",am:\"#aa\",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:\"ACZN\"}, // 2b\n {mn:\"BIT\",am:\"AAAA\",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:\"ZVN\"}, // 2c\n {mn:\"AND\",am:\"AAAA\",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // 2d\n {mn:\"ROL\",am:\"AAAA\",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // 2e\n {mn:\"RLA\",am:\"AAAA\",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 2f\n {mn:\"BMI\",am:\"branch\",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:\"\"}, // 30\n {mn:\"AND\",am:\"(aa),y\",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:\"AZN\"}, // 31\n {mn:\"KIL\",am:\"\",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:\"\"}, // 32\n {mn:\"RLA\",am:\"(aa),y\",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 33\n {mn:\"NOP\",am:\"aa,x\",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 34\n {mn:\"AND\",am:\"aa,x\",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:\"AZN\"}, // 35\n {mn:\"ROL\",am:\"aa,x\",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:\"CZN\"}, // 36\n {mn:\"RLA\",am:\"aa,x\",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 37\n {mn:\"SEC\",am:\"\",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:\"C\"}, // 38\n {mn:\"AND\",am:\"AAAA,y\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 39\n {mn:\"NOP\",am:\"\",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:\"\"}, // 3a\n {mn:\"RLA\",am:\"AAAA,y\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 3b\n {mn:\"NOP\",am:\"AAAA,x\",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:\"\"}, // 3c\n {mn:\"AND\",am:\"AAAA,x\",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:\"AZN\"}, // 3d\n {mn:\"ROL\",am:\"AAAA,x\",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:\"CZN\"}, // 3e\n {mn:\"RLA\",am:\"AAAA,x\",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:\"ACZN\"}, // 3f\n {mn:\"RTI\",am:\"\",nb:1,il:0,c1:6,c2:0,nw:0,br:1,mod:\"SLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["OPS_6502", "disassemble6502", "pc", "b0", "b1", "b2", "op", "s", "am", "isaddr", "offset", "hex", "FastZ80", "coreParameter", "core", "a", "b", "c", "d", "e", "h", "l", "a_prime", "b_prime", "c_prime", "d_prime", "e_prime", "h_prime", "l_prime", "ix", "iy", "i", "r", "sp", "pc", "flags", "flags_prime", "imode", "iff1", "iff2", "halted", "do_delayed_di", "do_delayed_ei", "cycle_counter", "getState", "get_flags_register", "get_flags_prime", "setState", "state", "set_flags_register", "set_flags_prime", "reset", "run_instruction", "doing_delayed_di", "doing_delayed_ei", "opcode", "decode_instruction", "retval", "interrupt", "non_maskable", "data", "push_word", "vector_address", "get_operand", "operand", "op_array", "do_add", "do_adc", "do_sub", "do_sbc", "do_and", "do_xor", "do_or", "do_cp", "func", "instructions", "cycle_counts", "get_signed_offset_byte", "value", "update_xy_flags", "result", "get_parity", "parity_bits", "pop_word", "do_conditional_absolute_jump", "condition", "do_conditional_relative_jump", "offset", "do_conditional_call", "do_conditional_return", "do_reset", "address", "temp", "do_inc", "do_dec", "do_hl_add", "hl", "do_hl_adc", "do_hl_sbc", "do_in", "port", "do_neg", "do_ldi", "read_value", "do_cpi", "temp_carry", "do_ini", "do_outi", "do_ldd", "do_cpd", "do_ind", "do_outd", "do_rlc", "do_rrc", "do_rl", "do_rr", "do_sla", "do_sra", "do_sll", "do_srl", "do_ix_add", "temp_s", "temp_z", "temp_p", "bit_number", "reg_code", "cycle_counts_cb", "dd_instructions", "cycle_counts_dd", "ed_instructions", "cycle_counts_ed", "hl_value", "temp1", "temp2", "ddcb_functions", "Z80", "v", "bus", "s", "MasterAudio", "AY38910_Audio", "master", "i", "val", "SN76489_Audio", "newPOKEYAudio", "count", "audio", "pokey", "POKEYDeviceChannel", "combinePolys", "a", "b", "arr", "n", "divideBy", "NOTPOLY5", "POLY4", "PURE", "VOL_ONLY", "VOLUME_MASK", "POLY9", "CH1_179", "CH3_179", "CH1_CH2", "CH3_CH4", "CH1_FILTER", "CH2_FILTER", "CLOCK_15", "DIV_64", "DIV_15", "POLY4_SIZE", "POLY5_SIZE", "POLY9_SIZE", "POLY17_SIZE", "CHAN1", "CHAN2", "CHAN3", "CHAN4", "CHIP1", "CHIP2", "CHIP3", "CHIP4", "SAMPLE", "FREQ_17_EXACT", "FREQ_17_APPROX", "bit1", "bit2", "bit4", "bit5", "bit9", "bit15", "bit31", "bit17", "bit17_5", "bit5_4", "wavetones", "div2", "div6", "div31", "div93", "bit15_4", "bit5_2", "bit5_6", "tiawavetones", "regs", "counters", "deltas", "volume", "audc", "waveforms", "buffer", "sampleRate", "clock", "baseDelta", "dirty", "length", "rate", "updateValues", "addr", "ctrl", "base", "div", "j", "k", "value", "s", "sample", "d", "v", "wav", "cnt", "on", "WorkerSoundChannel", "worker", "output", "pending", "pendingLength", "e", "buf", "l", "audioStreamFactory", "AUDIO_CHUNK_SAMPLES", "SampleAudio", "clockfreq", "self", "sfrac", "sinc", "accum", "buffer", "bufpos", "bufferlist", "ifill", "written", "read", "skippedBuffers", "lastSkipLog", "underruns", "fillHist", "collectStats", "baseSinc", "trim", "fillAvg", "lastTrimAdj", "FILL_TARGET", "FILL_ALPHA", "TRIM_GAIN", "MAX_TRIM", "TRIM_INTERVAL_MS", "MAXBUFFERS", "targetDepth", "mix", "ape", "lbuf", "m", "buf", "i", "clearBuffers", "createContext", "AudioContext", "ctx", "audioStreamFactory", "arrbuf", "value", "out", "now", "trimNow", "want", "count", "total", "weighted", "maxFill", "fill", "on", "SampledAudio", "sampleRate", "TssChannelAdapter", "chans", "oversample", "c", "sink", "l", "bufs", "ch", "ProbeRecorder", "m", "buflen", "newbuflen", "a", "src", "clocks", "address", "SP", "type", "value", "op", "count", "i", "NullProbe", "src", "BasicHeadlessMachine", "key", "code", "flags", "probe", "probing", "data", "title", "origin", "state", "c", "membus", "a", "val", "v", "iobus", "BasicMachine", "audio", "pixels", "BasicScanlineMachine", "trap", "endLineClock", "steps", "sl", "Z80_OPS", "Z80_OPS_ED", "Z80_OPS_CB", "disassembleZ80", "pc", "b0", "b1", "b2", "b3", "op", "n", "am", "bytes", "isaddr", "iscall", "ireg", "hex", "offset", "CPU6809", "ticks", "rA", "rB", "rX", "rY", "rU", "rS", "PC", "CC", "DP", "F_CARRY", "F_OVERFLOW", "F_ZERO", "F_NEGATIVE", "F_IRQMASK", "F_HALFCARRY", "F_FIRQMASK", "F_ENTIRE", "vecRESET", "vecNMI", "vecSWI", "vecIRQ", "vecFIRQ", "vecSWI2", "vecSWI3", "IRQs", "byteTo", "byteAt", "cycles", "cycles2", "flagsNZ", "setV8", "a", "b", "r", "setV16", "getD", "setD", "v", "PUSHB", "PUSHW", "PUSHBU", "PUSHWU", "PULLB", "PULLW", "PULLBU", "PULLWU", "PSHS", "ucTemp", "i", "PSHU", "PULS", "PULU", "getPBR", "ucPostByte", "setPBR", "TFREXG", "bExchange", "signed", "x", "signed16", "fetch", "fetch16", "v1", "v2", "ReadWord", "addr", "WriteWord", "PostByte", "pb", "preg", "xchg", "sTemp", "sByte", "flagsNZ16", "word", "oINC", "oDEC", "oSUB", "temp", "oSUB16", "oADD", "oADD16", "oADC", "oSBC", "oCMP", "oCMP16", "oNEG", "oLSR", "oASR", "oASL", "oROL", "oldc", "oROR", "oEOR", "oOR", "oAND", "oCOM", "dpadd", "step", "oldT", "oldPC", "opcode", "cf", "nhi", "nlo", "reset", "ds", "ds11", "ds10", "disasm", "c", "d", "pc", "toHexN", "n", "s", "toHex2", "toHex4"Line truncated
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import{c as ie,k as he,o as ne,r as oe}from"./chunk-QYEDG265.js";import{_ as ae,a as A,g as w,u}from"./chunk-V6TNHL6H.js";var L=class{constructor(t,e,r){this.probe=new ne;this.ram=new Uint8Array(16384);this.registers=new Uint8Array(8);this.spriteBuffer=new Uint8Array(256);this.displayOn=!1;this.interruptsOn=!1;this.fb32=t,this.cru=e,this.enableFlicker=r,this.palette=[u(0,0,0),u(0,0,0),u(33,200,66),u(94,220,120),u(84,85,237),u(125,118,252),u(212,82,77),u(66,235,245),u(252,85,84),u(255,121,120),u(212,193,84),u(230,206,128),u(33,176,59),u(201,91,186),u(204,204,204),u(255,255,255)]}reset(){var t;this.ram.fill(0),this.registers.fill(0),this.addressRegister=0,this.statusRegister=0,this.prefetchByte=0,this.latch=!1,this.displayOn=!1,this.interruptsOn=!1,this.screenMode=0,this.bitmapMode=!1,this.textMode=!1,this.colorTable=0,this.nameTable=0,this.charPatternTable=0,this.spriteAttributeTable=0,this.spritePatternTable=0,this.colorTableMask=16383,this.patternTableMask=16383,this.ramMask=16383,this.fgColor=0,this.bgColor=0,this.flicker=this.enableFlicker,this.redrawRequired=!0,this.width=304,this.height=240}drawScanline(t){var e=this.fb32,r=this.width,s=t*r,i=this.screenMode,h=this.textMode,a=this.bitmapMode,n=h?240:256,b=192,o=r-n>>1,d=this.height-b>>1,p=this.fgColor,M=this.bgColor,l=this.ram,v=this.nameTable,V=this.colorTable,P=this.charPatternTable,G=this.colorTableMask,S=this.patternTableMask,ce=this.spriteAttributeTable,de=this.spritePatternTable,$=(this.registers[1]&2)!==0,H=this.registers[1]&1,Z=($?16:8)<<(H?1:0),j=this.flicker?4:32,J=this.palette,N=!1,Q=!1,Y=31,R,f,D,T,C,F,m;if(t>=d&&t<d+b&&this.displayOn){var c=t-d;if(!h){var W=this.spriteBuffer;W.fill(0);var z=0,ee=!1,I=ce,B;for(B=0;B<32&&z<=j&&!ee;B++){var k=l[I];if(k!==208){k>208&&(k-=256),k++;var y=k+Z,U=-1;if(B<8||!a)c>=k&&c<y&&(U=c);else{var X=c&((this.registers[4]&3)<<6|63);X>=k&&X<y?U=X:c>=64&&c<128&&c>=k&&c<y&&(U=c)}if(U!==-1){if(z<j){var te=l[I+1],me=l[I+2]&($?252:255),ge=l[I+3]&15;(l[I+3]&128)!==0&&(te-=32);for(var pe=U-k>>H,Me=de+(me<<3)+pe,E=0;E<Z;E++){var O=te+E;if(O>=0&&O<n){var re=E>>H,Te=l[Me+(re>=8?16:0)];(Te&128>>(re&7))!==0&&(W[O]===0?W[O]=ge+1:N=!0)}}}z++}I+=4}else ee=!0}z>4&&(Q=!0,Y=B)}var _=h?(c>>3)*40:c>>3<<5,x=c&7;for(R=0;R<r;R++){if(R>=o&&R<o+n){var g=R-o;switch(i){case 0:T=l[v+_+(g>>3)],F=l[V+(T>>3)],m=l[P+(T<<3)+x],f=(m&128>>(g&7))!==0?(F&240)>>4:F&15;break;case 2:T=l[v+_+(g>>3)],C=((c&192)<<5)+(T<<3),F=l[V+(C&G)+x],m=l[P+(C&S)+x],f=(m&128>>(g&7))!==0?(F&240)>>4:F&15;break;case 3:T=l[v+_+(g>>3)],x=(c&28)>>2,m=l[P+(T<<3)+x],f=(g&4)===0?(m&240)>>4:m&15;break;case 1:T=l[v+_+Math.floor(g/6)],m=l[P+(T<<3)+x],f=(m&128>>g%6)!==0?p:M;break;case 5:T=l[v+_+Math.floor(g/6)],C=((c&192)<<5)+(T<<3),m=l[P+(C&S)+x],f=(m&128>>g%6)!==0?p:M;break;case 6:T=l[v+_+(g>>3)],x=(c&28)>>2,C=((c&192)<<5)+(T<<3),m=l[P+(C&S)+x],f=(g&4)===0?(m&240)>>4:m&15;break;case 7:f=(g&4)===0?p:M;break}if(f===0&&(f=M),!h){var se=W[g]-1;se>0&&(f=se)}}else f=M;D=J[f],e[s++]=D}}else for(D=J[M],R=0;R<r;R++)e[s++]=D;t===d+b&&(this.statusRegister|=128,this.interruptsOn&&this.cru.setVDPInterrupt(!0)),N&&(this.statusRegister|=32),(this.statusRegister&64)===0&&(this.statusRegister|=Y),Q&&(this.statusRegister|=64)}setReadAddress(t){this.addressRegister=(t&63)<<8|this.addressRegister&255,this.prefetchByte=this.ram[this.addressRegister++],this.addressRegister&=16383}setWriteAddress(t){this.addressRegister=(t&63)<<8|this.addressRegister&255}setVDPWriteRegister(t){var e=this.registers.length-1;switch(this.registers[t&e]=this.addressRegister&255,t&e){case 0:this.updateMode(this.registers[0],this.registers[1]);break;case 1:this.ramMask=(this.registers[1]&128)!==0?16383:8191,this.displayOn=(this.registers[1]&64)!==0,this.interruptsOn=(this.registers[1]&32)!==0,this.updateMode(this.registers[0],this.registers[1]);break;case 2:this.nameTable=(this.registers[2]&15)<<10;break;case 3:this.bitmapMode?this.colorTable=(this.registers[3]&128)<<6:this.colorTable=this.registers[3]<<6,this.updateTableMasks();break;case 4:this.bitmapMode?this.charPatternTable=(this.registers[4]&4)<<11:this.charPatternTable=(this.registers[4]&7)<<11,this.updateTableMasks();break;case 5:this.spriteAttributeTable=(this.registers[5]&127)<<7;break;case 6:this.spritePatternTable=(this.registers[6]&7)<<11;break;case 7:this.fgColor=(this.registers[7]&240)>>4,this.bgColor=this.registers[7]&15;break}}setVDPWriteCommand3(t){this.setVDPWriteRegister(t)}writeAddress(t){if(!this.latch)this.addressRegister=this.addressRegister&65280|t;else{switch((t&192)>>6){case 0:this.setReadAddress(t);break;case 1:this.setWriteAddress(t);break;case 2:this.setVDPWriteRegister(t);break;case 3:this.setVDPWriteCommand3(t);break}this.redrawRequired=!0}this.latch=!this.latch}updateMode(t,e){if(this.bitmapMode=(t&2)!==0,this.textMode=(e&16)!==0,this.bitmapMode)switch((e&24)>>3){case 0:this.screenMode=2;break;case 1:this.screenMode=6;break;case 2:this.screenMode=5;break;case 3:this.screenMode=7;break}else switch((e&24)>>3){case 0:this.screenMode=0;break;caLine truncated
|
||||
import{c as ie,k as he,o as ne,r as oe}from"./chunk-RWTUUV4L.js";import{_ as ae,a as A,g as w,u}from"./chunk-V6TNHL6H.js";var L=class{constructor(t,e,r){this.probe=new ne;this.ram=new Uint8Array(16384);this.registers=new Uint8Array(8);this.spriteBuffer=new Uint8Array(256);this.displayOn=!1;this.interruptsOn=!1;this.fb32=t,this.cru=e,this.enableFlicker=r,this.palette=[u(0,0,0),u(0,0,0),u(33,200,66),u(94,220,120),u(84,85,237),u(125,118,252),u(212,82,77),u(66,235,245),u(252,85,84),u(255,121,120),u(212,193,84),u(230,206,128),u(33,176,59),u(201,91,186),u(204,204,204),u(255,255,255)]}reset(){var t;this.ram.fill(0),this.registers.fill(0),this.addressRegister=0,this.statusRegister=0,this.prefetchByte=0,this.latch=!1,this.displayOn=!1,this.interruptsOn=!1,this.screenMode=0,this.bitmapMode=!1,this.textMode=!1,this.colorTable=0,this.nameTable=0,this.charPatternTable=0,this.spriteAttributeTable=0,this.spritePatternTable=0,this.colorTableMask=16383,this.patternTableMask=16383,this.ramMask=16383,this.fgColor=0,this.bgColor=0,this.flicker=this.enableFlicker,this.redrawRequired=!0,this.width=304,this.height=240}drawScanline(t){var e=this.fb32,r=this.width,s=t*r,i=this.screenMode,h=this.textMode,a=this.bitmapMode,n=h?240:256,b=192,o=r-n>>1,d=this.height-b>>1,p=this.fgColor,M=this.bgColor,l=this.ram,v=this.nameTable,V=this.colorTable,P=this.charPatternTable,G=this.colorTableMask,S=this.patternTableMask,ce=this.spriteAttributeTable,de=this.spritePatternTable,$=(this.registers[1]&2)!==0,H=this.registers[1]&1,Z=($?16:8)<<(H?1:0),j=this.flicker?4:32,J=this.palette,N=!1,Q=!1,Y=31,R,f,D,T,C,F,m;if(t>=d&&t<d+b&&this.displayOn){var c=t-d;if(!h){var W=this.spriteBuffer;W.fill(0);var z=0,ee=!1,I=ce,B;for(B=0;B<32&&z<=j&&!ee;B++){var k=l[I];if(k!==208){k>208&&(k-=256),k++;var y=k+Z,U=-1;if(B<8||!a)c>=k&&c<y&&(U=c);else{var X=c&((this.registers[4]&3)<<6|63);X>=k&&X<y?U=X:c>=64&&c<128&&c>=k&&c<y&&(U=c)}if(U!==-1){if(z<j){var te=l[I+1],me=l[I+2]&($?252:255),ge=l[I+3]&15;(l[I+3]&128)!==0&&(te-=32);for(var pe=U-k>>H,Me=de+(me<<3)+pe,E=0;E<Z;E++){var O=te+E;if(O>=0&&O<n){var re=E>>H,Te=l[Me+(re>=8?16:0)];(Te&128>>(re&7))!==0&&(W[O]===0?W[O]=ge+1:N=!0)}}}z++}I+=4}else ee=!0}z>4&&(Q=!0,Y=B)}var _=h?(c>>3)*40:c>>3<<5,x=c&7;for(R=0;R<r;R++){if(R>=o&&R<o+n){var g=R-o;switch(i){case 0:T=l[v+_+(g>>3)],F=l[V+(T>>3)],m=l[P+(T<<3)+x],f=(m&128>>(g&7))!==0?(F&240)>>4:F&15;break;case 2:T=l[v+_+(g>>3)],C=((c&192)<<5)+(T<<3),F=l[V+(C&G)+x],m=l[P+(C&S)+x],f=(m&128>>(g&7))!==0?(F&240)>>4:F&15;break;case 3:T=l[v+_+(g>>3)],x=(c&28)>>2,m=l[P+(T<<3)+x],f=(g&4)===0?(m&240)>>4:m&15;break;case 1:T=l[v+_+Math.floor(g/6)],m=l[P+(T<<3)+x],f=(m&128>>g%6)!==0?p:M;break;case 5:T=l[v+_+Math.floor(g/6)],C=((c&192)<<5)+(T<<3),m=l[P+(C&S)+x],f=(m&128>>g%6)!==0?p:M;break;case 6:T=l[v+_+(g>>3)],x=(c&28)>>2,C=((c&192)<<5)+(T<<3),m=l[P+(C&S)+x],f=(g&4)===0?(m&240)>>4:m&15;break;case 7:f=(g&4)===0?p:M;break}if(f===0&&(f=M),!h){var se=W[g]-1;se>0&&(f=se)}}else f=M;D=J[f],e[s++]=D}}else for(D=J[M],R=0;R<r;R++)e[s++]=D;t===d+b&&(this.statusRegister|=128,this.interruptsOn&&this.cru.setVDPInterrupt(!0)),N&&(this.statusRegister|=32),(this.statusRegister&64)===0&&(this.statusRegister|=Y),Q&&(this.statusRegister|=64)}setReadAddress(t){this.addressRegister=(t&63)<<8|this.addressRegister&255,this.prefetchByte=this.ram[this.addressRegister++],this.addressRegister&=16383}setWriteAddress(t){this.addressRegister=(t&63)<<8|this.addressRegister&255}setVDPWriteRegister(t){var e=this.registers.length-1;switch(this.registers[t&e]=this.addressRegister&255,t&e){case 0:this.updateMode(this.registers[0],this.registers[1]);break;case 1:this.ramMask=(this.registers[1]&128)!==0?16383:8191,this.displayOn=(this.registers[1]&64)!==0,this.interruptsOn=(this.registers[1]&32)!==0,this.updateMode(this.registers[0],this.registers[1]);break;case 2:this.nameTable=(this.registers[2]&15)<<10;break;case 3:this.bitmapMode?this.colorTable=(this.registers[3]&128)<<6:this.colorTable=this.registers[3]<<6,this.updateTableMasks();break;case 4:this.bitmapMode?this.charPatternTable=(this.registers[4]&4)<<11:this.charPatternTable=(this.registers[4]&7)<<11,this.updateTableMasks();break;case 5:this.spriteAttributeTable=(this.registers[5]&127)<<7;break;case 6:this.spritePatternTable=(this.registers[6]&7)<<11;break;case 7:this.fgColor=(this.registers[7]&240)>>4,this.bgColor=this.registers[7]&15;break}}setVDPWriteCommand3(t){this.setVDPWriteRegister(t)}writeAddress(t){if(!this.latch)this.addressRegister=this.addressRegister&65280|t;else{switch((t&192)>>6){case 0:this.setReadAddress(t);break;case 1:this.setWriteAddress(t);break;case 2:this.setVDPWriteRegister(t);break;case 3:this.setVDPWriteCommand3(t);break}this.redrawRequired=!0}this.latch=!this.latch}updateMode(t,e){if(this.bitmapMode=(t&2)!==0,this.textMode=(e&16)!==0,this.bitmapMode)switch((e&24)>>3){case 0:this.screenMode=2;break;case 1:this.screenMode=6;break;case 2:this.screenMode=5;break;case 3:this.screenMode=7;break}else switch((e&24)>>3){case 0:this.screenMode=0;break;caLine truncated
|
||||
|
||||
`;var s=this.getDebugTables();for(var i of s)i[2]>0&&(e+=A(i[0],20)+": $"+w(i[1],4)+" - $"+w(i[1]+i[2]-1,4)+`
|
||||
`);return e+=A("Address Register",20)+": $"+w(this.addressRegister,4)+`
|
||||
@@ -8,4 +8,4 @@ import{c as ie,k as he,o as ne,r as oe}from"./chunk-QYEDG265.js";import{_ as ae,
|
||||
`,this.ramMask!=16383&&(e+=A("RAM Mask",20)+": $"+w(this.ramMask)+`
|
||||
`),e}hexView(t,e,r){for(var s="",i=null,h=t,a=0,n=0;n<e&&h<16384;h++,n++){(n&15)===0&&(s+=`
|
||||
`+w(h,4)+":",a++),s+=" ",r&&r===h&&(i=a);var b=this.ram[h].toString(16).toUpperCase();b.length===1&&(s+="0"),s+=b}return{text:s.substr(1),lineCount:a,anchorLine:i-1}}getWord(t){return t<16384?this.ram[t]<<8|this.ram[t+1]:0}getCharAt(t,e){return t-=24,e-=24,this.textMode?this.ram[this.nameTable+Math.floor((t-8)/6)+Math.floor(e/8)*40]:this.ram[this.nameTable+Math.floor(t/8)+Math.floor(e/8)*32]}setFlicker(t){this.flicker=t,this.enableFlicker=t}getState(){return{ram:this.ram.slice(0),registers:this.registers.slice(0),addressRegister:this.addressRegister,statusRegister:this.statusRegister,latch:this.latch,prefetchByte:this.prefetchByte,displayOn:this.displayOn,interruptsOn:this.interruptsOn,screenMode:this.screenMode,bitmapMode:this.bitmapMode,textMode:this.textMode,colorTable:this.colorTable,nameTable:this.nameTable,charPatternTable:this.charPatternTable,spriteAttributeTable:this.spriteAttributeTable,spritePatternTable:this.spritePatternTable,colorTableMask:this.colorTableMask,patternTableMask:this.patternTableMask,ramMask:this.ramMask,fgColor:this.fgColor,bgColor:this.bgColor,flicker:this.flicker}}restoreState(t){this.ram.set(t.ram),this.registers.set(t.registers),this.addressRegister=t.addressRegister,this.statusRegister=t.statusRegister,this.latch=t.latch,this.prefetchByte=t.prefetchByte,this.displayOn=t.displayOn,this.interruptsOn=t.interruptsOn,this.screenMode=t.screenMode,this.bitmapMode=t.bitmapMode,this.textMode=t.textMode,this.colorTable=t.colorTable,this.nameTable=t.nameTable,this.charPatternTable=t.charPatternTable,this.spriteAttributeTable=t.spriteAttributeTable,this.spritePatternTable=t.spritePatternTable,this.colorTableMask=t.colorTableMask,this.patternTableMask=t.patternTableMask,this.ramMask=t.ramMask,this.fgColor=t.fgColor,this.bgColor=t.bgColor,this.flicker=t.flicker,this.redrawRequired=!0}},K=class extends L{constructor(){super(...arguments);this.cram=new Uint8Array(32);this.cpalette=new Uint32Array(32);this.registers=new Uint8Array(16);this.vramUntwiddled=new Uint8Array(32768);this.numVisibleLines=192;this.lineCounter=0;this.lineInterruptPending=!1}reset(){super.reset(),this.writeToCRAM=!1,this.cram.fill(0),this.cpalette.fill(0),this.vramUntwiddled.fill(0)}readStatus(){return this.lineInterruptPending=!1,super.readStatus()}updateMode(e,r){e&4?(this.screenMode=4,this.nameTable=(this.registers[2]&15)<<10&14336,this.spriteAttributeTable=(this.registers[5]&126)<<7):super.updateMode(e,r)}setReadAddress(e){super.setReadAddress(e),this.writeToCRAM=!1}setWriteAddress(e){super.setWriteAddress(e),this.writeToCRAM=!1}setVDPWriteRegister(e){super.setVDPWriteRegister(e),this.ramMask=16383}setVDPWriteCommand3(e){this.writeToCRAM=!0}writeData(e){if(this.writeToCRAM){var r=this.addressRegister++&this.cram.length-1;this.cram[r]=e,this.cpalette[r]=u((e&3)*85,(e>>2&3)*85,(e>>4&3)*85),this.prefetchByte=e,this.addressRegister&=this.ramMask,this.redrawRequired=!0}else{var s=this.addressRegister;super.writeData(e),this.writeTwiddled(s,e)}this.latch=!1}writeTwiddled(e,r){for(var s=e&16380,i=s*2,h=this.ram[s],a=this.ram[s+1],n=this.ram[s+2],b=this.ram[s+3],o=0;o<8;++o){var d=7-o,p=h>>>d&1|(a>>>d&1)<<1|(n>>>d&1)<<2|(b>>>d&1)<<3;this.vramUntwiddled[i+o]=p}}getState(){var e=super.getState();return e.cram=this.cram.slice(0),e}restoreState(e){super.restoreState(e),this.cram.set(e.cram)}drawScanline(e){this.screenMode==4?this.rasterize_line(e):super.drawScanline(e)}findSprites(e){var r=this.spriteAttributeTable,s=[],i=8,h;for(this.registers[1]&2&&(i=16),h=0;h<64;h++){var a=this.ram[r+h];if(a===208)break;if(a>=240&&(a-=256),e>=a&&e<a+i){if(s.length===8){this.statusRegister|=64;break}s.push([this.ram[r+128+h*2],this.ram[r+128+h*2+1],a])}}return s}rasterize_background(e,r,s,i,h){e=e|0,r=r|0,s=s|0,i=(i|0)*2;var a,n;s&512?(n=-1,i+=7):n=1;let b=s&2048?16:0;var o;if(h&&b===0)for(a=0;a<8;a++)o=this.vramUntwiddled[i],i+=n,o!==0&&(this.fb32[e+r]=this.cpalette[o]),r=r+1&255;else for(a=0;a<8;a++)o=this.vramUntwiddled[i]+b,i+=n,this.fb32[e+r]=this.cpalette[o],r=r+1&255}clear_background(e,r){e=e|0,r=r|0;var s;let i=this.cpalette[0];for(s=0;s<8;++s)this.fb32[e+r]=i,r=r+1&255}rasterize_background_line(e,r,s,i){e=e|0,r=r|0,s=s|0;let h=(i|0)*4;for(var a=0;a<32;a++){var n=this.ram[s+a*2]|this.ram[s+a*2+1]<<8,b=n&511,o=32*b;n&1024?o+=28-h:o+=h,(n&4096)===0?this.rasterize_background(e,r,n,o,!1):this.clear_background(e,r),r=r+8&255}}rasterize_foreground_line(e,r,s,i){e=e|0,r=r|0,s=s|0;let h=(i|0)*4;for(var a=0;a<32;a++){var n=this.ram[s+a*2]|this.ram[s+a*2+1]<<8;if((n&4096)!==0){var b=n&511,o=32*b;n&1024?o+=28-h:o+=h,this.rasterize_background(e,a*8+r&255,n,o,!0)}}}rasterize_sprites(e,r,s,i){r=r|0,s=s|0;let h=this.registers[6]&4?8192:0;for(var a=0;a<256;++a){for(var n=a,b=!1,o=!1,d=256,p=0;p<i.length;p++){var M=i[p],l=n-M[0];if(l<0){var v=-l;v<d&&(d=v);continue}if(!(l>=8)){b=!0;var V=e-M[2],P=h+M[1]*32+V*4,G=P*2+l,S=this.vramUntwiddled[G];if(S!==0){if(o){this.statusRegister|=32;break}this.fb32[r+(s+a-this.registers[8]&255)]=this.cpalette[16+S]
Line truncated
|
||||
//# sourceMappingURL=chunk-FWTZO6HF.js.map
|
||||
//# sourceMappingURL=chunk-TP7C4K6K.js.map
|
||||
File renamed without changes.
@@ -1,2 +0,0 @@
|
||||
function r(e){return e.endsWith("-llvm.c")?"remote:llvm-mos":e.endsWith(".c")||e.endsWith(".h")?"cc65":e.endsWith(".s")||e.endsWith(".ca65")?"ca65":e.endsWith(".dasm")?"dasm":e.endsWith(".bb")?"bataribasic":e.endsWith(".acme")?"acme":e.endsWith(".xa")?"xa":e.endsWith(".wiz")?"wiz":e.endsWith(".ecs")?"ecs":e.endsWith(".cpp")||e.endsWith(".cc")||e.endsWith(".o64")?"oscar64":"dasm"}function s(e){return e.endsWith(".c")||e.endsWith(".h")?"sdcc":e.endsWith(".s")?"sdasz80":e.endsWith(".sgb")?"sdasgb":e.endsWith(".ns")?"naken":e.endsWith(".scc")?"sccz80":e.endsWith(".z")?"zmac":e.endsWith(".wiz")?"wiz":"zmac"}function o(e){return e.endsWith(".c")||e.endsWith(".h")?"cmoc":e.endsWith(".xasm")?"xasm6809":e.endsWith(".lwasm")?"lwasm":"cmoc"}function c(e){return e=e.toLowerCase(),e.endsWith(".vasm")?"vasmarm":e.endsWith(".armips")?"armips":"armtcc"}function a(e){return e.endsWith(".cc2600")?"cc2600":e.endsWith("-llvm.c")?"remote:llvm-mos":e.endsWith(".wiz")?"wiz":e.endsWith(".bb")||e.endsWith(".bas")?"bataribasic":e.endsWith(".ca65")?"ca65":e.endsWith(".acme")?"acme":e.endsWith(".c")?"cc65":e.endsWith(".ecs")?"ecs":"dasm"}function u(e){return e.endsWith(".cc7800")||e.endsWith(".c78")?"cc7800":r(e)}function l(e){return e.endsWith(".bas")||e.endsWith(".fb")||e.endsWith(".fbi")?"fastbasic":r(e)}function m(e){return e.endsWith(".lnk")?"merlin32":r(e)}function d(e){return e.endsWith(".nesasm")?"nesasm":r(e)}function g(e){return e.endsWith(".c")?"cc65":e.endsWith(".s")||e.endsWith(".ca65")?"ca65":"dasm"}function h(e){return e.endsWith(".asm")?"jsasm":e.endsWith(".ice")?"silice":"verilator"}function W(e){return e.endsWith(".c")?"smlrc":"yasm"}function f(e){return e.endsWith(".dg")?"dialog":"inform6"}function F(e){return"basic"}export{r as a,s as b,o as c,c as d,a as e,u as f,l as g,m as h,d as i,g as j,h as k,W as l,f as m,F as n};
|
||||
//# sourceMappingURL=chunk-UACHXWHT.js.map
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/common/toolselect.ts"],
|
||||
"sourcesContent": ["\n// toolselect - which tool builds a file, by platform and filename.\n// The one table the IDE's platform objects, the CLI, and the VS Code\n// extension all use. Keep this module free of emulator imports so build-only\n// code can use it without pulling in CPU cores.\n\nimport { getBasePlatform, getRootBasePlatform } from \"./util\";\n\nexport type ToolSelector = (fn: string) => string;\n\n////// per architecture\n\nexport function getToolForFilename_6502(fn: string): string {\n if (fn.endsWith(\"-llvm.c\")) return \"remote:llvm-mos\";\n if (fn.endsWith(\".c\")) return \"cc65\";\n if (fn.endsWith(\".h\")) return \"cc65\";\n if (fn.endsWith(\".s\")) return \"ca65\";\n if (fn.endsWith(\".ca65\")) return \"ca65\";\n if (fn.endsWith(\".dasm\")) return \"dasm\";\n if (fn.endsWith(\".bb\")) return \"bataribasic\";\n if (fn.endsWith(\".acme\")) return \"acme\";\n if (fn.endsWith(\".xa\")) return \"xa\";\n if (fn.endsWith(\".wiz\")) return \"wiz\";\n if (fn.endsWith(\".ecs\")) return \"ecs\";\n if (fn.endsWith(\".cpp\")) return \"oscar64\";\n if (fn.endsWith(\".cc\")) return \"oscar64\";\n if (fn.endsWith(\".o64\")) return \"oscar64\";\n return \"dasm\"; // .a\n}\n\nexport function getToolForFilename_z80(fn: string): string {\n if (fn.endsWith(\".c\")) return \"sdcc\";\n if (fn.endsWith(\".h\")) return \"sdcc\";\n if (fn.endsWith(\".s\")) return \"sdasz80\";\n if (fn.endsWith(\".sgb\")) return \"sdasgb\";\n if (fn.endsWith(\".ns\")) return \"naken\";\n if (fn.endsWith(\".scc\")) return \"sccz80\";\n if (fn.endsWith(\".z\")) return \"zmac\";\n if (fn.endsWith(\".wiz\")) return \"wiz\";\n return \"zmac\";\n}\n\nexport function getToolForFilename_6809(fn: string): string {\n if (fn.endsWith(\".c\")) return \"cmoc\";\n if (fn.endsWith(\".h\")) return \"cmoc\";\n if (fn.endsWith(\".xasm\")) return \"xasm6809\";\n if (fn.endsWith(\".lwasm\")) return \"lwasm\";\n return \"cmoc\";\n}\n\nexport function getToolForFilename_arm32(fn: string): string {\n fn = fn.toLowerCase();\n if (fn.endsWith(\".vasm\")) return \"vasmarm\";\n if (fn.endsWith(\".armips\")) return \"armips\";\n return \"armtcc\";\n}\n\n////// per platform\n\nexport function getToolForFilename_vcs(fn: string): string {\n if (fn.endsWith(\".cc2600\")) return \"cc2600\";\n if (fn.endsWith(\"-llvm.c\")) return \"remote:llvm-mos\";\n if (fn.endsWith(\".wiz\")) return \"wiz\";\n if (fn.endsWith(\".bb\") || fn.endsWith(\".bas\")) return \"bataribasic\";\n if (fn.endsWith(\".ca65\")) return \"ca65\";\n if (fn.endsWith(\".acme\")) return \"acme\";\n //if (fn.endsWith(\".inc\")) return \"ca65\";\n if (fn.endsWith(\".c\")) return \"cc65\";\n //if (fn.endsWith(\".h\")) return \"cc65\";\n if (fn.endsWith(\".ecs\")) return \"ecs\";\n return \"dasm\";\n}\n\nexport function getToolForFilename_atari7800(fn: string): string {\n if (fn.endsWith(\".cc7800\")) return \"cc7800\";\n if (fn.endsWith(\".c78\")) return \"cc7800\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_atari8(fn: string): string {\n if (fn.endsWith(\".bas\") || fn.endsWith(\".fb\") || fn.endsWith(\".fbi\")) return \"fastbasic\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_apple2(fn: string): string {\n if (fn.endsWith(\".lnk\")) return \"merlin32\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_nes(fn: string): string {\n //if (fn.endsWith(\".asm\")) return \"ca65\"; // .asm uses ca65\n if (fn.endsWith(\".nesasm\")) return \"nesasm\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_channelf(fn: string): string {\n if (fn.endsWith(\".c\")) return \"cc65\";\n if (fn.endsWith(\".s\") || fn.endsWith(\".ca65\")) return \"ca65\";\n return \"dasm\";\n}\n\nexport function getToolForFilename_verilog(fn: string): string {\n if (fn.endsWith(\".asm\")) return \"jsasm\";\n if (fn.endsWith(\".ice\")) return \"silice\";\n return \"verilator\";\n}\n\nexport function getToolForFilename_x86(fn: string): string {\n if (fn.endsWith(\".c\")) return \"smlrc\";\n return \"yasm\";\n}\n\nexport function getToolForFilename_zmachine(fn: string): string {\n return fn.endsWith(\".dg\") ? \"dialog\" : \"inform6\";\n}\n\nexport function getToolForFilename_basic(fn: string): string {\n return \"basic\";\n}\n\n// Looked up by full platform id, then base id (no .suffix), then root id (no\n// -specialization), so e.g. williams-z80 can differ from williams.\nconst PLATFORM_TOOLS: { [platform: string]: ToolSelector } = {\n // 6502\n 'vcs': getToolForFilename_vcs,\n 'atari7800': getToolForFilename_atari7800,\n 'atari8': getToolForFilename_atari8,\n 'apple2': getToolForFilename_apple2,\n 'nes': getToolForFilename_nes,\n 'c64': getToolForFilename_6502,\n 'vic20': getToolForFilename_6502,\n 'kim1': getToolForFilename_6502,\n 'exidy': getToolForFilename_6502,\n 'devel': getToolForFilename_6502,\n 'pce': getToolForFilename_65Line truncated
|
||||
"mappings": "AAYO,SAASA,EAAwBC,EAAoB,CAC1D,OAAIA,EAAG,SAAS,SAAS,EAAU,kBAC/BA,EAAG,SAAS,IAAI,GAChBA,EAAG,SAAS,IAAI,EAAU,OAC1BA,EAAG,SAAS,IAAI,GAChBA,EAAG,SAAS,OAAO,EAAU,OAC7BA,EAAG,SAAS,OAAO,EAAU,OAC7BA,EAAG,SAAS,KAAK,EAAU,cAC3BA,EAAG,SAAS,OAAO,EAAU,OAC7BA,EAAG,SAAS,KAAK,EAAU,KAC3BA,EAAG,SAAS,MAAM,EAAU,MAC5BA,EAAG,SAAS,MAAM,EAAU,MAC5BA,EAAG,SAAS,MAAM,GAClBA,EAAG,SAAS,KAAK,GACjBA,EAAG,SAAS,MAAM,EAAU,UACzB,MACT,CAEO,SAASC,EAAuBD,EAAoB,CAEzD,OADIA,EAAG,SAAS,IAAI,GAChBA,EAAG,SAAS,IAAI,EAAU,OAC1BA,EAAG,SAAS,IAAI,EAAU,UAC1BA,EAAG,SAAS,MAAM,EAAU,SAC5BA,EAAG,SAAS,KAAK,EAAU,QAC3BA,EAAG,SAAS,MAAM,EAAU,SAC5BA,EAAG,SAAS,IAAI,EAAU,OAC1BA,EAAG,SAAS,MAAM,EAAU,MACzB,MACT,CAEO,SAASE,EAAwBF,EAAoB,CAE1D,OADIA,EAAG,SAAS,IAAI,GAChBA,EAAG,SAAS,IAAI,EAAU,OAC1BA,EAAG,SAAS,OAAO,EAAU,WAC7BA,EAAG,SAAS,QAAQ,EAAU,QAC3B,MACT,CAEO,SAASG,EAAyBH,EAAoB,CAE3D,OADAA,EAAKA,EAAG,YAAY,EAChBA,EAAG,SAAS,OAAO,EAAU,UAC7BA,EAAG,SAAS,SAAS,EAAU,SAC5B,QACT,CAIO,SAASI,EAAuBJ,EAAoB,CACzD,OAAIA,EAAG,SAAS,SAAS,EAAU,SAC/BA,EAAG,SAAS,SAAS,EAAU,kBAC/BA,EAAG,SAAS,MAAM,EAAU,MAC5BA,EAAG,SAAS,KAAK,GAAKA,EAAG,SAAS,MAAM,EAAU,cAClDA,EAAG,SAAS,OAAO,EAAU,OAC7BA,EAAG,SAAS,OAAO,EAAU,OAE7BA,EAAG,SAAS,IAAI,EAAU,OAE1BA,EAAG,SAAS,MAAM,EAAU,MACzB,MACT,CAEO,SAASK,EAA6BL,EAAoB,CAE/D,OADIA,EAAG,SAAS,SAAS,GACrBA,EAAG,SAAS,MAAM,EAAU,SACzBD,EAAwBC,CAAE,CACnC,CAEO,SAASM,EAA0BN,EAAoB,CAC5D,OAAIA,EAAG,SAAS,MAAM,GAAKA,EAAG,SAAS,KAAK,GAAKA,EAAG,SAAS,MAAM,EAAU,YACtED,EAAwBC,CAAE,CACnC,CAEO,SAASO,EAA0BP,EAAoB,CAC5D,OAAIA,EAAG,SAAS,MAAM,EAAU,WACzBD,EAAwBC,CAAE,CACnC,CAEO,SAASQ,EAAuBR,EAAoB,CAEzD,OAAIA,EAAG,SAAS,SAAS,EAAU,SAC5BD,EAAwBC,CAAE,CACnC,CAEO,SAASS,EAA4BT,EAAoB,CAC9D,OAAIA,EAAG,SAAS,IAAI,EAAU,OAC1BA,EAAG,SAAS,IAAI,GAAKA,EAAG,SAAS,OAAO,EAAU,OAC/C,MACT,CAEO,SAASU,EAA2BV,EAAoB,CAC7D,OAAIA,EAAG,SAAS,MAAM,EAAU,QAC5BA,EAAG,SAAS,MAAM,EAAU,SACzB,WACT,CAEO,SAASW,EAAuBX,EAAoB,CACzD,OAAIA,EAAG,SAAS,IAAI,EAAU,QACvB,MACT,CAEO,SAASY,EAA4BZ,EAAoB,CAC9D,OAAOA,EAAG,SAAS,KAAK,EAAI,SAAW,SACzC,CAEO,SAASa,EAAyBb,EAAoB,CAC3D,MAAO,OACT",
|
||||
"names": ["getToolForFilename_6502", "fn", "getToolForFilename_z80", "getToolForFilename_6809", "getToolForFilename_arm32", "getToolForFilename_vcs", "getToolForFilename_atari7800", "getToolForFilename_atari8", "getToolForFilename_apple2", "getToolForFilename_nes", "getToolForFilename_channelf", "getToolForFilename_verilog", "getToolForFilename_x86", "getToolForFilename_zmachine", "getToolForFilename_basic"]
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
function r(e){return e.endsWith("-llvm.c")?"remote:llvm-mos":e.endsWith("-sdcc.c")||e.endsWith(".sdcc")?"sdcc":e.endsWith(".c")||e.endsWith(".h")?"cc65":e.endsWith(".s")||e.endsWith(".ca65")?"ca65":e.endsWith(".dasm")?"dasm":e.endsWith(".bb")?"bataribasic":e.endsWith(".acme")?"acme":e.endsWith(".xa")?"xa":e.endsWith(".wiz")?"wiz":e.endsWith(".ecs")?"ecs":e.endsWith(".cpp")||e.endsWith(".cc")||e.endsWith(".o64")?"oscar64":"dasm"}function s(e){return e.endsWith(".c")||e.endsWith(".sdcc")||e.endsWith(".h")?"sdcc":e.endsWith(".s")?"sdasz80":e.endsWith(".sgb")?"sdasgb":e.endsWith(".ns")?"naken":e.endsWith(".scc")?"sccz80":e.endsWith(".z")?"zmac":e.endsWith(".wiz")?"wiz":"zmac"}function c(e){return e.endsWith(".c")||e.endsWith(".h")?"cmoc":e.endsWith(".xasm")?"xasm6809":e.endsWith(".lwasm")?"lwasm":"cmoc"}function o(e){return e=e.toLowerCase(),e.endsWith(".vasm")?"vasmarm":e.endsWith(".armips")?"armips":"armtcc"}function a(e){return e.endsWith(".cc2600")?"cc2600":e.endsWith("-llvm.c")?"remote:llvm-mos":e.endsWith(".wiz")?"wiz":e.endsWith(".bb")||e.endsWith(".bas")?"bataribasic":e.endsWith(".ca65")?"ca65":e.endsWith(".acme")?"acme":e.endsWith(".c")?"cc65":e.endsWith(".ecs")?"ecs":"dasm"}function u(e){return e.endsWith(".cc7800")||e.endsWith(".c78")?"cc7800":r(e)}function d(e){return e.endsWith(".bas")||e.endsWith(".fb")||e.endsWith(".fbi")?"fastbasic":r(e)}function l(e){return e.endsWith(".lnk")?"merlin32":r(e)}function m(e){return e.endsWith(".nesasm")?"nesasm":r(e)}function g(e){return e.endsWith(".c")?"cc65":e.endsWith(".s")||e.endsWith(".ca65")?"ca65":"dasm"}function h(e){return e.endsWith(".asm")?"jsasm":e.endsWith(".ice")?"silice":"verilator"}function W(e){return e.endsWith(".c")?"smlrc":"yasm"}function F(e){return e.endsWith(".dg")?"dialog":"inform6"}function p(e){return"basic"}export{r as a,s as b,c,o as d,a as e,u as f,d as g,l as h,m as i,g as j,h as k,W as l,F as m,p as n};
|
||||
//# sourceMappingURL=chunk-UXRCACYH.js.map
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/common/toolselect.ts"],
|
||||
"sourcesContent": ["\n// toolselect - which tool builds a file, by platform and filename.\n// The one table the IDE's platform objects, the CLI, and the VS Code\n// extension all use. Keep this module free of emulator imports so build-only\n// code can use it without pulling in CPU cores.\n\nimport { getBasePlatform, getRootBasePlatform } from \"./util\";\n\nexport type ToolSelector = (fn: string) => string;\n\n////// per architecture\n\nexport function getToolForFilename_6502(fn: string): string {\n if (fn.endsWith(\"-llvm.c\")) return \"remote:llvm-mos\";\n if (fn.endsWith(\"-sdcc.c\") || fn.endsWith(\".sdcc\")) return \"sdcc\"; // SDCC 4.x mos6502 backend\n if (fn.endsWith(\".c\")) return \"cc65\";\n if (fn.endsWith(\".h\")) return \"cc65\";\n if (fn.endsWith(\".s\")) return \"ca65\";\n if (fn.endsWith(\".ca65\")) return \"ca65\";\n if (fn.endsWith(\".dasm\")) return \"dasm\";\n if (fn.endsWith(\".bb\")) return \"bataribasic\";\n if (fn.endsWith(\".acme\")) return \"acme\";\n if (fn.endsWith(\".xa\")) return \"xa\";\n if (fn.endsWith(\".wiz\")) return \"wiz\";\n if (fn.endsWith(\".ecs\")) return \"ecs\";\n if (fn.endsWith(\".cpp\")) return \"oscar64\";\n if (fn.endsWith(\".cc\")) return \"oscar64\";\n if (fn.endsWith(\".o64\")) return \"oscar64\";\n return \"dasm\"; // .a\n}\n\nexport function getToolForFilename_z80(fn: string): string {\n if (fn.endsWith(\".c\") || fn.endsWith(\".sdcc\")) return \"sdcc\";\n if (fn.endsWith(\".h\")) return \"sdcc\";\n if (fn.endsWith(\".s\")) return \"sdasz80\";\n if (fn.endsWith(\".sgb\")) return \"sdasgb\";\n if (fn.endsWith(\".ns\")) return \"naken\";\n if (fn.endsWith(\".scc\")) return \"sccz80\";\n if (fn.endsWith(\".z\")) return \"zmac\";\n if (fn.endsWith(\".wiz\")) return \"wiz\";\n return \"zmac\";\n}\n\nexport function getToolForFilename_6809(fn: string): string {\n if (fn.endsWith(\".c\")) return \"cmoc\";\n if (fn.endsWith(\".h\")) return \"cmoc\";\n if (fn.endsWith(\".xasm\")) return \"xasm6809\";\n if (fn.endsWith(\".lwasm\")) return \"lwasm\";\n return \"cmoc\";\n}\n\nexport function getToolForFilename_arm32(fn: string): string {\n fn = fn.toLowerCase();\n if (fn.endsWith(\".vasm\")) return \"vasmarm\";\n if (fn.endsWith(\".armips\")) return \"armips\";\n return \"armtcc\";\n}\n\n////// per platform\n\nexport function getToolForFilename_vcs(fn: string): string {\n if (fn.endsWith(\".cc2600\")) return \"cc2600\";\n if (fn.endsWith(\"-llvm.c\")) return \"remote:llvm-mos\";\n if (fn.endsWith(\".wiz\")) return \"wiz\";\n if (fn.endsWith(\".bb\") || fn.endsWith(\".bas\")) return \"bataribasic\";\n if (fn.endsWith(\".ca65\")) return \"ca65\";\n if (fn.endsWith(\".acme\")) return \"acme\";\n //if (fn.endsWith(\".inc\")) return \"ca65\";\n if (fn.endsWith(\".c\")) return \"cc65\";\n //if (fn.endsWith(\".h\")) return \"cc65\";\n if (fn.endsWith(\".ecs\")) return \"ecs\";\n return \"dasm\";\n}\n\nexport function getToolForFilename_atari7800(fn: string): string {\n if (fn.endsWith(\".cc7800\")) return \"cc7800\";\n if (fn.endsWith(\".c78\")) return \"cc7800\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_atari8(fn: string): string {\n if (fn.endsWith(\".bas\") || fn.endsWith(\".fb\") || fn.endsWith(\".fbi\")) return \"fastbasic\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_apple2(fn: string): string {\n if (fn.endsWith(\".lnk\")) return \"merlin32\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_nes(fn: string): string {\n //if (fn.endsWith(\".asm\")) return \"ca65\"; // .asm uses ca65\n if (fn.endsWith(\".nesasm\")) return \"nesasm\";\n return getToolForFilename_6502(fn);\n}\n\nexport function getToolForFilename_channelf(fn: string): string {\n if (fn.endsWith(\".c\")) return \"cc65\";\n if (fn.endsWith(\".s\") || fn.endsWith(\".ca65\")) return \"ca65\";\n return \"dasm\";\n}\n\nexport function getToolForFilename_verilog(fn: string): string {\n if (fn.endsWith(\".asm\")) return \"jsasm\";\n if (fn.endsWith(\".ice\")) return \"silice\";\n return \"verilator\";\n}\n\nexport function getToolForFilename_x86(fn: string): string {\n if (fn.endsWith(\".c\")) return \"smlrc\";\n return \"yasm\";\n}\n\nexport function getToolForFilename_zmachine(fn: string): string {\n return fn.endsWith(\".dg\") ? \"dialog\" : \"inform6\";\n}\n\nexport function getToolForFilename_basic(fn: string): string {\n return \"basic\";\n}\n\n// Looked up by full platform id, then base id (no .suffix), then root id (no\n// -specialization), so e.g. williams-z80 can differ from williams.\nconst PLATFORM_TOOLS: { [platform: string]: ToolSelector } = {\n // 6502\n 'vcs': getToolForFilename_vcs,\n 'atari7800': getToolForFilename_atari7800,\n 'atari8': getToolForFilename_atari8,\n 'apple2': getToolForFilename_apple2,\n 'nes': getToolForFilename_nes,\n 'c64': getToolForFilename_6502,\n 'vic20': getToolForFilename_6502,\n 'kim1'Line truncated
|
||||
"mappings": "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",
|
||||
"names": ["getToolForFilename_6502", "fn", "getToolForFilename_z80", "getToolForFilename_6809", "getToolForFilename_arm32", "getToolForFilename_vcs", "getToolForFilename_atari7800", "getToolForFilename_atari8", "getToolForFilename_apple2", "getToolForFilename_nes", "getToolForFilename_channelf", "getToolForFilename_verilog", "getToolForFilename_x86", "getToolForFilename_zmachine", "getToolForFilename_basic"]
|
||||
}
|
||||
@@ -1,2 +1,2 @@
|
||||
import{N as b,O as w}from"./chunk-V6TNHL6H.js";import{e as E}from"./chunk-N7W4C4V2.js";var y=E((d,v)=>{(function(l,e){typeof define=="function"&&define.amd?define([],e):typeof d!="undefined"?e():(e(),l.FileSaver={})})(d,function(){"use strict";function l(t,r){return typeof r=="undefined"?r={autoBom:!1}:typeof r!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\uFEFF",t],{type:t.type}):t}function e(t,r,c){var a=new XMLHttpRequest;a.open("GET",t),a.responseType="blob",a.onload=function(){h(a.response,r,c)},a.onerror=function(){console.error("could not download file")},a.send()}function o(t){var r=new XMLHttpRequest;r.open("HEAD",t,!1);try{r.send()}catch(c){}return 200<=r.status&&299>=r.status}function i(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(c){var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(r)}}var n=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,u=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),h=n.saveAs||(typeof window!="object"||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(t,r,c){var a=n.URL||n.webkitURL,s=document.createElement("a");r=r||t.name||"download",s.download=r,s.rel="noopener",typeof t=="string"?(s.href=t,s.origin===location.origin?i(s):o(s.href)?e(t,r,c):i(s,s.target="_blank")):(s.href=a.createObjectURL(t),setTimeout(function(){a.revokeObjectURL(s.href)},4e4),setTimeout(function(){i(s)},0))}:"msSaveOrOpenBlob"in navigator?function(t,r,c){if(r=r||t.name||"download",typeof t!="string")navigator.msSaveOrOpenBlob(l(t,c),r);else if(o(t))e(t,r,c);else{var a=document.createElement("a");a.href=t,a.target="_blank",setTimeout(function(){i(a)})}}:function(t,r,c,a){if(a=a||open("","_blank"),a&&(a.document.title=a.document.body.innerText="downloading..."),typeof t=="string")return e(t,r,c);var s=t.type==="application/octet-stream",C=/constructor/i.test(n.HTMLElement)||n.safari,S=/CriOS\/[\d]+/.test(navigator.userAgent);if((S||s&&C||u)&&typeof FileReader!="undefined"){var p=new FileReader;p.onloadend=function(){var m=p.result;m=S?m:m.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=m:location=m,a=null},p.readAsDataURL(t)}else{var k=n.URL||n.webkitURL,f=k.createObjectURL(t);a?a.location=f:location.href=f,a=null,setTimeout(function(){k.revokeObjectURL(f)},4e4)}});n.saveAs=h.saveAs=h,typeof v!="undefined"&&(v.exports=h)})});var g=class{constructor(e){this.checkpointInterval=10;this.maxCheckpoints=300;this.reset(),this.platform=e}reset(){this.checkpoints=[],this.framerecs=[],this.frameCount=0,this.lastSeekFrame=0,this.lastSeekStep=0,this.lastStepCount=0,this.callbackStateChanged&&this.callbackStateChanged()}frameRequested(){var e={controls:this.platform.saveControlsState(),seed:b()},o=!1;return this.lastSeekFrame<this.frameCount?this.loadControls(this.lastSeekFrame):(this.platform.saveControlsState&&this.framerecs.push(e),o=this.frameCount++%this.checkpointInterval==0),this.lastSeekFrame++,this.lastSeekStep=0,this.callbackStateChanged&&this.callbackStateChanged(),o}numFrames(){return this.frameCount}currentFrame(){return this.lastSeekFrame}currentStep(){return this.lastSeekStep}recordFrame(e){this.checkpoints.push(e),this.callbackNewCheckpoint&&this.callbackNewCheckpoint(e),this.checkpoints.length>this.maxCheckpoints&&(this.checkpoints.shift(),this.framerecs=this.framerecs.slice(this.checkpointInterval),this.lastSeekFrame-=this.checkpointInterval,this.frameCount-=this.checkpointInterval,this.callbackStateChanged&&this.callbackStateChanged())}getStateAtOrBefore(e){if(e<=0&&this.checkpoints.length>0)return{frame:0,state:this.checkpoints[0]};var o=Math.floor(e/this.checkpointInterval),i=o<this.checkpoints.length?o:this.checkpoints.length-1,n=i*this.checkpointInterval;return{frame:n,state:this.checkpoints[i]}}loadFrame(e,o){if(e|=0,o|=0,e==this.lastSeekFrame&&o==this.lastSeekStep)return e;let{frame:i,state:n}=this.getStateAtOrBefore(e-1);if(n){var u=0;for(this.platform.pause(),this.platform.loadState(n);i<e;)i<this.framerecs.length&&this.loadControls(i),i++,u=this.platform.advance(i<e);return i==0&&(u=this.platform.advance(!0),this.platform.loadState(n)),o>0&&this.platform.advanceFrameClock&&(o=this.platform.advanceFrameClock(null,o)),this.lastSeekFrame=e,this.lastSeekStep=o,this.lastStepCount=u,e}else return-1}loadControls(e){this.platform.loadControlsState&&this.platform.loadControlsState(this.framerecs[e].controls),w(this.framerecs[e].seed)}getLastCheckpoint(){return this.checkpoints.length&&this.checkpoints[this.checkpoints.length-1]}};function R(l){switch(l){case"apple2":return import("./apple2-RMS6MFCB.js");case"arm32"Line truncated
|
||||
//# sourceMappingURL=chunk-XPT2MIFH.js.map
|
||||
import{N as b,O as w}from"./chunk-V6TNHL6H.js";import{e as E}from"./chunk-N7W4C4V2.js";var y=E((d,v)=>{(function(l,e){typeof define=="function"&&define.amd?define([],e):typeof d!="undefined"?e():(e(),l.FileSaver={})})(d,function(){"use strict";function l(t,r){return typeof r=="undefined"?r={autoBom:!1}:typeof r!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\uFEFF",t],{type:t.type}):t}function e(t,r,c){var a=new XMLHttpRequest;a.open("GET",t),a.responseType="blob",a.onload=function(){h(a.response,r,c)},a.onerror=function(){console.error("could not download file")},a.send()}function o(t){var r=new XMLHttpRequest;r.open("HEAD",t,!1);try{r.send()}catch(c){}return 200<=r.status&&299>=r.status}function i(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(c){var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(r)}}var n=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,u=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),h=n.saveAs||(typeof window!="object"||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(t,r,c){var a=n.URL||n.webkitURL,s=document.createElement("a");r=r||t.name||"download",s.download=r,s.rel="noopener",typeof t=="string"?(s.href=t,s.origin===location.origin?i(s):o(s.href)?e(t,r,c):i(s,s.target="_blank")):(s.href=a.createObjectURL(t),setTimeout(function(){a.revokeObjectURL(s.href)},4e4),setTimeout(function(){i(s)},0))}:"msSaveOrOpenBlob"in navigator?function(t,r,c){if(r=r||t.name||"download",typeof t!="string")navigator.msSaveOrOpenBlob(l(t,c),r);else if(o(t))e(t,r,c);else{var a=document.createElement("a");a.href=t,a.target="_blank",setTimeout(function(){i(a)})}}:function(t,r,c,a){if(a=a||open("","_blank"),a&&(a.document.title=a.document.body.innerText="downloading..."),typeof t=="string")return e(t,r,c);var s=t.type==="application/octet-stream",C=/constructor/i.test(n.HTMLElement)||n.safari,S=/CriOS\/[\d]+/.test(navigator.userAgent);if((S||s&&C||u)&&typeof FileReader!="undefined"){var p=new FileReader;p.onloadend=function(){var m=p.result;m=S?m:m.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=m:location=m,a=null},p.readAsDataURL(t)}else{var k=n.URL||n.webkitURL,f=k.createObjectURL(t);a?a.location=f:location.href=f,a=null,setTimeout(function(){k.revokeObjectURL(f)},4e4)}});n.saveAs=h.saveAs=h,typeof v!="undefined"&&(v.exports=h)})});var g=class{constructor(e){this.checkpointInterval=10;this.maxCheckpoints=300;this.reset(),this.platform=e}reset(){this.checkpoints=[],this.framerecs=[],this.frameCount=0,this.lastSeekFrame=0,this.lastSeekStep=0,this.lastStepCount=0,this.callbackStateChanged&&this.callbackStateChanged()}frameRequested(){var e={controls:this.platform.saveControlsState(),seed:b()},o=!1;return this.lastSeekFrame<this.frameCount?this.loadControls(this.lastSeekFrame):(this.platform.saveControlsState&&this.framerecs.push(e),o=this.frameCount++%this.checkpointInterval==0),this.lastSeekFrame++,this.lastSeekStep=0,this.callbackStateChanged&&this.callbackStateChanged(),o}numFrames(){return this.frameCount}currentFrame(){return this.lastSeekFrame}currentStep(){return this.lastSeekStep}recordFrame(e){this.checkpoints.push(e),this.callbackNewCheckpoint&&this.callbackNewCheckpoint(e),this.checkpoints.length>this.maxCheckpoints&&(this.checkpoints.shift(),this.framerecs=this.framerecs.slice(this.checkpointInterval),this.lastSeekFrame-=this.checkpointInterval,this.frameCount-=this.checkpointInterval,this.callbackStateChanged&&this.callbackStateChanged())}getStateAtOrBefore(e){if(e<=0&&this.checkpoints.length>0)return{frame:0,state:this.checkpoints[0]};var o=Math.floor(e/this.checkpointInterval),i=o<this.checkpoints.length?o:this.checkpoints.length-1,n=i*this.checkpointInterval;return{frame:n,state:this.checkpoints[i]}}loadFrame(e,o){if(e|=0,o|=0,e==this.lastSeekFrame&&o==this.lastSeekStep)return e;let{frame:i,state:n}=this.getStateAtOrBefore(e-1);if(n){var u=0;for(this.platform.pause(),this.platform.loadState(n);i<e;)i<this.framerecs.length&&this.loadControls(i),i++,u=this.platform.advance(i<e);return i==0&&(u=this.platform.advance(!0),this.platform.loadState(n)),o>0&&this.platform.advanceFrameClock&&(o=this.platform.advanceFrameClock(null,o)),this.lastSeekFrame=e,this.lastSeekStep=o,this.lastStepCount=u,e}else return-1}loadControls(e){this.platform.loadControlsState&&this.platform.loadControlsState(this.framerecs[e].controls),w(this.framerecs[e].seed)}getLastCheckpoint(){return this.checkpoints.length&&this.checkpoints[this.checkpoints.length-1]}};function R(l){switch(l){case"apple2":return import("./apple2-XAUBDC5F.js");case"arm32"Line truncated
|
||||
//# sourceMappingURL=chunk-XRDUJUI5.js.map
|
||||
File renamed without changes.
@@ -1,4 +1,4 @@
|
||||
import{c as h}from"./chunk-FWTZO6HF.js";import{b as m}from"./chunk-TANFDIIN.js";import{H as M,d as D,f as E}from"./chunk-QYEDG265.js";import{b as n}from"./chunk-UACHXWHT.js";import{L as r,Z as e,aa as f,da as g,l as a,m as c}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var x=f([[e.UP,0,1],[e.DOWN,0,4],[e.LEFT,0,8],[e.RIGHT,0,2],[e.A,0,64],[e.B,1,64],[e.GP_A,0,64],[e.GP_B,1,64],[e.P2_UP,2,1],[e.P2_DOWN,2,4],[e.P2_LEFT,2,8],[e.P2_RIGHT,2,2],[e.P2_A,2,64],[e.P2_B,3,64]]),t=class extends h{constructor(){super();this.defaultROMSize=32768;this.ram=new Uint8Array(1024);this.read=g([[0,8191,8191,A=>this.bios?this.bios[A]:0],[24576,32767,1023,A=>this.ram[A]],[32768,65535,32767,A=>this.rom?this.rom[A]:0]]);this.write=g([[24576,32767,1023,(A,B)=>{this.ram[A]=B}]]);this.init(this,this.newIOBus(),new E(new D)),this.bios=new a().decode(c(atob(I)))}getKeyboardMap(){return x}vdpInterrupt(){this.probe.logInterrupt(0),this.cpu.NMI()}newIOBus(){return{read:A=>{switch(A&=255,A){case 252:return this.inputs[this.keypadMode?1:0]^255;case 255:return this.inputs[this.keypadMode?3:2]^255}return A>=160&&A<=191?A&1?this.vdp.readStatus():this.vdp.readData():0},write:(A,B)=>{switch(A&=255,B&=255,A>>4){case 8:case 9:this.keypadMode=!0;break;case 12:case 13:this.keypadMode=!1;break;case 10:case 11:return A&1?this.vdp.writeAddress(B):this.vdp.writeData(B);case 15:this.psg.setData(B);break}}}}loadState(A){super.loadState(A),this.keypadMode=A.kpm}saveState(){var A=super.saveState();return A.kpm=this.keypadMode,A}reset(){super.reset(),this.keypadMode=!1}},I=`
|
||||
import{c as h}from"./chunk-TP7C4K6K.js";import{b as m}from"./chunk-ENVHSJV6.js";import{H as M,d as D,f as E}from"./chunk-RWTUUV4L.js";import{b as n}from"./chunk-UXRCACYH.js";import{L as r,Z as e,aa as f,da as g,l as a,m as c}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var x=f([[e.UP,0,1],[e.DOWN,0,4],[e.LEFT,0,8],[e.RIGHT,0,2],[e.A,0,64],[e.B,1,64],[e.GP_A,0,64],[e.GP_B,1,64],[e.P2_UP,2,1],[e.P2_DOWN,2,4],[e.P2_LEFT,2,8],[e.P2_RIGHT,2,2],[e.P2_A,2,64],[e.P2_B,3,64]]),t=class extends h{constructor(){super();this.defaultROMSize=32768;this.ram=new Uint8Array(1024);this.read=g([[0,8191,8191,A=>this.bios?this.bios[A]:0],[24576,32767,1023,A=>this.ram[A]],[32768,65535,32767,A=>this.rom?this.rom[A]:0]]);this.write=g([[24576,32767,1023,(A,B)=>{this.ram[A]=B}]]);this.init(this,this.newIOBus(),new E(new D)),this.bios=new a().decode(c(atob(I)))}getKeyboardMap(){return x}vdpInterrupt(){this.probe.logInterrupt(0),this.cpu.NMI()}newIOBus(){return{read:A=>{switch(A&=255,A){case 252:return this.inputs[this.keypadMode?1:0]^255;case 255:return this.inputs[this.keypadMode?3:2]^255}return A>=160&&A<=191?A&1?this.vdp.readStatus():this.vdp.readData():0},write:(A,B)=>{switch(A&=255,B&=255,A>>4){case 8:case 9:this.keypadMode=!0;break;case 12:case 13:this.keypadMode=!1;break;case 10:case 11:return A&1?this.vdp.writeAddress(B):this.vdp.writeData(B);case 15:this.psg.setData(B);break}}}}loadState(A){super.loadState(A),this.keypadMode=A.kpm}saveState(){var A=super.saveState();return A.kpm=this.keypadMode,A}reset(){super.reset(),this.keypadMode=!1}},I=`
|
||||
TFpHAAAgAAAAB7djQcnHAQEDBgcx/3MYawAAAMMMgAehB+EPB+USB+UVB+UYB+UbB+UeB+QHHAZm
|
||||
IYA8igUCBYIAKgCAff5VIAl8/qogBCoKgOnHAwkfgICAAAMFT6CgB4LgByEH4WDAYMBABlggQIAg
|
||||
B+HAwOCgYAMGKweBQAYxBphAQEAG+KBABnAGEuAGUAabB+QA4AflBkggIAYyB+FgoKCgwAZdwAY5
|
||||
@@ -34,4 +34,4 @@ PANDTwNjYHAGWShQAwKHOBA4A8LZA0IIeAaZOEREKChsADBAIBA4BqkoA4KfA0KIVFQDIvg4QANi
|
||||
FwAGaQNjr3gHIwZYEAAGEEAwCDBABgkHoTAIBlEIFANIAlAgBiAAfAdhAwJ3B0IGfwMDjgPmiAcB
|
||||
A8SRHAYnBihQAwK9BwFgEAODTQPjNXgDAmgHHwcfBx8HHwcfBx8HHwcfBx8HHwcfBx8HHwcfBx8H
|
||||
HwcfBx8HHwcfBx8HHwcfBx8HHwcfBx8HHwcfBx8HHwcfBx8HHwcfBx8HHwcfBx8HHwcfBwM=`;var Q=[{id:"text.c",name:"Text Mode"},{id:"hello.c",name:"Scrolling Text"},{id:"text32.c",name:"32-Column Color Text"},{id:"stars.c",name:"Scrolling Starfield"},{id:"cursorsmooth.c",name:"Moving Cursor"},{id:"simplemusic.c",name:"Simple Music"},{id:"musicplayer.c",name:"Multivoice Music"},{id:"mode2bitmap.c",name:"Mode 2 Bitmap"},{id:"mode2compressed.c",name:"Mode 2 Bitmap (LZG)"},{id:"lines.c",name:"Mode 2 Lines"},{id:"multicolor.c",name:"Multicolor Mode"},{id:"siegegame.c",name:"Siege Game"},{id:"shoot.c",name:"Solarian Game"},{id:"climber.c",name:"Climber Game"}],o=class extends M{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"BIOS",start:0,size:8192,type:"rom"},{name:"Cartridge Header",start:32768,size:256,type:"rom"}]}}}newMachine(){return new t}getPresets(){return Q}readAddress(A){return this.machine.read(A)}readVRAMAddress(A){return this.machine.readVRAMAddress(A)}showHelp(){return"https://8bitworkshop.com/docs/platforms/coleco/"}},i=class extends m{constructor(){super(...arguments);this.getToolForFilename=n}start(){this.startModule(this.mainElement,{jsfile:"mame8bitws.js",cfgfile:"coleco.cfg",biosfile:"coleco/313 10031-4005 73108a.u2",driver:"coleco",width:280*2,height:432,romfn:"/emulator/cart.rom",romsize:32768,preInit:function(A){}})}loadROM(A,B){this.loadROMFile(B),this.loadRegion(":coleco_cart:rom",B)}getPresets(){return Q}getDefaultExtensions(){return[".c",".ns",".s",".scc",".sgb",".z",".wiz"]}};r["coleco.mame"]=i;r.coleco=o;export{Q as ColecoVision_PRESETS};
|
||||
//# sourceMappingURL=coleco-DHZHDQNM.js.map
|
||||
//# sourceMappingURL=coleco-3KDKKITT.js.map
|
||||
File renamed without changes.
@@ -386,7 +386,7 @@ class Base6502Platform extends BaseDebugPlatform {
|
||||
disassemble(pc, read) {
|
||||
return (0, disasm6502_1.disassemble6502)(pc, read(pc), read(pc + 1), read(pc + 2));
|
||||
}
|
||||
getDefaultExtensions() { return [".c", ".cpp", ".o64", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
getDefaultExtensions() { return [".c", ".sdcc", ".cpp", ".o64", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
;
|
||||
getDebugCategories() {
|
||||
return ['CPU', 'ZPRAM', 'Stack'];
|
||||
@@ -495,7 +495,7 @@ class BaseZ80Platform extends BaseDebugPlatform {
|
||||
}
|
||||
return n;
|
||||
}
|
||||
getDefaultExtensions() { return [".c", ".ns", ".s", ".scc", ".sgb", ".z", ".wiz"]; }
|
||||
getDefaultExtensions() { return [".c", ".sdcc", ".ns", ".s", ".scc", ".sgb", ".z", ".wiz"]; }
|
||||
;
|
||||
// TODO: Z80 opcode metadata
|
||||
//this.getOpcodeMetadata = function() { }
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"baseplatform.js","sourceRoot":"","sources":["../../src/common/baseplatform.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"baseplatform.js","sourceRoot":"","sources":["../../src/common/baseplatform.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -448,6 +448,11 @@ class EmuCore {
|
||||
/** Frames per second the platform's timer asked for (60 if unknown). */
|
||||
get frameRate() { return this.video ? this.video.frameRate : 60; }
|
||||
saveState() { return this.platform.saveState ? this.platform.saveState() : null; }
|
||||
/** Text a platform's program has sent to a serial port, or null if it has none. */
|
||||
getSerialOutput() {
|
||||
const p = this.platform;
|
||||
return typeof p.getSerialOutput === 'function' ? p.getSerialOutput() : null;
|
||||
}
|
||||
getDebugInfo() {
|
||||
const state = this.saveState();
|
||||
const p = this.platform;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"emucore.js","sourceRoot":"","sources":["../../src/common/emucore.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"emucore.js","sourceRoot":"","sources":["../../src/common/emucore.ts"],"names":[],"mappings":"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 truncated
|
||||
+49
-10
@@ -23,7 +23,7 @@
|
||||
* (unless noWorkerBuild) and vice versa.
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOL_META = exports.DIALOG_INCLUDE_PATTERNS = exports.ECS_INCLUDE_PATTERNS = exports.WIZ_INCLUDE_PATTERNS = exports.ACME_INCLUDE_PATTERNS = exports.USE_ASM_INCLUDE_PATTERNS = exports.SYSTEM_INCLUDE_PATTERNS = exports.VERILOG_INCLUDE_PATTERNS = exports.SHARED_LINK_PATTERNS = exports.OSCAR64_INCLUDE_PATTERNS = exports.DASM_INCLUDE_PATTERNS = exports.SHARED_INCLUDE_PATTERNS = void 0;
|
||||
exports.TOOL_META = exports.SDCC_DEFAULT_VERSION = exports.DIALOG_INCLUDE_PATTERNS = exports.ECS_INCLUDE_PATTERNS = exports.WIZ_INCLUDE_PATTERNS = exports.ACME_INCLUDE_PATTERNS = exports.USE_ASM_INCLUDE_PATTERNS = exports.SYSTEM_INCLUDE_PATTERNS = exports.VERILOG_INCLUDE_PATTERNS = exports.SHARED_LINK_PATTERNS = exports.OSCAR64_INCLUDE_PATTERNS = exports.DASM_INCLUDE_PATTERNS = exports.SHARED_INCLUDE_PATTERNS = void 0;
|
||||
exports.getSystemIncludePatterns = getSystemIncludePatterns;
|
||||
exports.getToolMeta = getToolMeta;
|
||||
exports.getPlatformToolHelpURL = getPlatformToolHelpURL;
|
||||
@@ -130,6 +130,29 @@ const TOOL_PLATFORM_HELPURL = {
|
||||
lynx: 'https://cc65.github.io/doc/lynx.html',
|
||||
},
|
||||
};
|
||||
/**
|
||||
* Which SDCC a program gets unless it says `//#tooldef c sdcc=3|4`. To make
|
||||
* 4.x the default, change this to 4: nothing else needs editing.
|
||||
* 3 = 3.6.5, Emscripten, preloadFS 'sdcc' (builds several times faster)
|
||||
* 4 = 4.x, WASI, sdcc-fs.zip (smaller code)
|
||||
*/
|
||||
exports.SDCC_DEFAULT_VERSION = 3;
|
||||
/**
|
||||
* 'default' lists both filesystems; the one for SDCC_DEFAULT_VERSION leads
|
||||
* (getSharedFileSystemName prefers preloadFS). Platforms whose prebuilt
|
||||
* libraries were compiled by SDCC 3.x (libcv, gb.lib, cpctelera) have only
|
||||
* preloadFS: 4.x's default calling convention, sdcccall(1), can't call them.
|
||||
*/
|
||||
const SDCC_FS = {
|
||||
'default': exports.SDCC_DEFAULT_VERSION === 3
|
||||
? { preloadFS: 'sdcc', wasiFSZip: 'sdcc-fs.zip' }
|
||||
: { wasiFSZip: 'sdcc-fs.zip' },
|
||||
'coleco': { preloadFS: 'sdcc' },
|
||||
'msx-libcv': { preloadFS: 'sdcc' },
|
||||
'sms': { preloadFS: 'sdcc' },
|
||||
'gb': { preloadFS: 'sdcc' },
|
||||
'cpc': { preloadFS: 'sdcc' },
|
||||
};
|
||||
const CC65_WASIFS = {
|
||||
'apple2': { wasiFSZip: 'cc65-fs-apple2.zip' },
|
||||
'c64': { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
@@ -233,25 +256,25 @@ exports.TOOL_META = {
|
||||
// ---- SDCC toolchain (z80) ----
|
||||
sdcc: {
|
||||
id: 'sdcc', name: 'SDCC', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.c', '.h'],
|
||||
includeDirs: ['/include'],
|
||||
extensions: ['.c', '.h', '.sdcc'],
|
||||
includeDirs: ['/share/sdcc/include', '/include'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
wasmModule: 'sdcc',
|
||||
version: '3.6.5',
|
||||
wasmModule: 'sdcc4',
|
||||
version: exports.SDCC_DEFAULT_VERSION === 3 ? '3.6.5' : '4.6.0',
|
||||
defineFlag: '-D', defineInline: true,
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
platforms: SDCC_FS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdasz80: {
|
||||
id: 'sdasz80', name: 'sdasz80', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.s'],
|
||||
includeDirs: ['/include'],
|
||||
includeDirs: ['/share/sdcc/include', '/include'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasz80',
|
||||
wasmModule: 'sdasz80-4',
|
||||
version: '02.00',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
platforms: SDCC_FS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -268,7 +291,23 @@ exports.TOOL_META = {
|
||||
sdldz80: {
|
||||
id: 'sdldz80', name: 'sdldz80', kind: 'linker', arch: 'z80',
|
||||
extensions: [],
|
||||
wasmModule: 'sdldz80',
|
||||
wasmModule: 'sdld4',
|
||||
version: '03.00',
|
||||
linkSymbolFlag: '-g', linkSymbolInline: false,
|
||||
},
|
||||
// SDCC 4.x mos6502 backend (compile with `-sdcc.c`); sdld6808 is the
|
||||
// 6502 personality of the sdld4 binary
|
||||
sdas6500: {
|
||||
id: 'sdas6500', name: 'sdas6500', kind: 'assembler', arch: '6502',
|
||||
extensions: [],
|
||||
wasmModule: 'sdas6500',
|
||||
version: '02.00',
|
||||
platforms: SDCC_FS,
|
||||
},
|
||||
sdld6808: {
|
||||
id: 'sdld6808', name: 'sdld6808', kind: 'linker', arch: '6502',
|
||||
extensions: [],
|
||||
wasmModule: 'sdld4',
|
||||
version: '03.00',
|
||||
linkSymbolFlag: '-g', linkSymbolInline: false,
|
||||
},
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../src/common/toolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../src/common/toolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -25,6 +25,8 @@ const util_1 = require("./util");
|
||||
function getToolForFilename_6502(fn) {
|
||||
if (fn.endsWith("-llvm.c"))
|
||||
return "remote:llvm-mos";
|
||||
if (fn.endsWith("-sdcc.c") || fn.endsWith(".sdcc"))
|
||||
return "sdcc"; // SDCC 4.x mos6502 backend
|
||||
if (fn.endsWith(".c"))
|
||||
return "cc65";
|
||||
if (fn.endsWith(".h"))
|
||||
@@ -54,7 +56,7 @@ function getToolForFilename_6502(fn) {
|
||||
return "dasm"; // .a
|
||||
}
|
||||
function getToolForFilename_z80(fn) {
|
||||
if (fn.endsWith(".c"))
|
||||
if (fn.endsWith(".c") || fn.endsWith(".sdcc"))
|
||||
return "sdcc";
|
||||
if (fn.endsWith(".h"))
|
||||
return "sdcc";
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"toolselect.js","sourceRoot":"","sources":["../../src/common/toolselect.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"toolselect.js","sourceRoot":"","sources":["../../src/common/toolselect.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -350,6 +350,20 @@ class WASIMemoryFilesystem {
|
||||
return WASIErrors.ISDIR;
|
||||
return this.files.delete(name) ? WASIErrors.SUCCESS : WASIErrors.NOENT;
|
||||
}
|
||||
// Rename a file within this (writable) layer, replacing any file at newName.
|
||||
renameFile(oldName, newName) {
|
||||
oldName = normalizeWASIPath(oldName);
|
||||
newName = normalizeWASIPath(newName);
|
||||
if (this.dirs.has(oldName) || this.dirs.has(newName))
|
||||
return WASIErrors.ISDIR;
|
||||
const file = this.files.get(oldName);
|
||||
if (!file)
|
||||
return WASIErrors.NOENT;
|
||||
this.files.delete(oldName);
|
||||
file.name = newName;
|
||||
this.files.set(newName, file);
|
||||
return WASIErrors.SUCCESS;
|
||||
}
|
||||
removeDirectory(name) {
|
||||
name = normalizeWASIPath(name);
|
||||
if (name === '/')
|
||||
@@ -771,6 +785,18 @@ class WASIRunner {
|
||||
debug("path_unlink_file", dir + "", path);
|
||||
return this.fs.removeFile(path);
|
||||
}
|
||||
path_rename(old_dirfd, old_path_ptr, old_path_len, new_dirfd, new_path_ptr, new_path_len) {
|
||||
const olddir = this.fds[old_dirfd];
|
||||
const newdir = this.fds[new_dirfd];
|
||||
if (olddir == null || newdir == null)
|
||||
return WASIErrors.BADF;
|
||||
if (olddir.type !== FDType.DIRECTORY || newdir.type !== FDType.DIRECTORY)
|
||||
return WASIErrors.NOTDIR;
|
||||
const oldpath = olddir.name + '/' + this.peekUTF8(old_path_ptr, old_path_len);
|
||||
const newpath = newdir.name + '/' + this.peekUTF8(new_path_ptr, new_path_len);
|
||||
debug("path_rename", oldpath, newpath);
|
||||
return this.fs.renameFile(oldpath, newpath);
|
||||
}
|
||||
path_remove_directory(dirfd, path_ptr, path_len) {
|
||||
const dir = this.fds[dirfd];
|
||||
if (dir == null)
|
||||
@@ -821,6 +847,7 @@ class WASIRunner {
|
||||
path_readlink: this.path_readlink.bind(this),
|
||||
path_unlink_file: this.path_unlink_file.bind(this),
|
||||
path_remove_directory: this.path_remove_directory.bind(this),
|
||||
path_rename: this.path_rename.bind(this),
|
||||
path_create_directory: this.path_create_directory.bind(this),
|
||||
clock_time_get: this.clock_time_get.bind(this),
|
||||
fd_fdstat_set_flags() { warning("TODO: fd_fdstat_set_flags"); return WASIErrors.NOTSUP; },
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"wasishim.js","sourceRoot":"","sources":["../../../src/common/wasi/wasishim.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"wasishim.js","sourceRoot":"","sources":["../../../src/common/wasi/wasishim.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -1,2 +1,2 @@
|
||||
import{H as d,s as p}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as n}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=class extends p{constructor(){super(...arguments);this.numTotalScanlines=312;this.cpuCyclesPerLine=224;this.joymask0=0;this.runaddr=16384}loadROM(t){let s=new Uint8Array(t.length+m.length);s.set(m,0),s[24]=t.length&255,s[25]=t.length>>8,s[26]=this.runaddr&255,s[27]=this.runaddr>>8,s.set(t,m.length),super.loadROM(s)}reset(){if(super.reset(),this.exports.machine_exec(this.sys,1e6),this.romptr&&this.romlen){this.exports.machine_load_rom(this.sys,this.romptr,this.romlen);for(var t=0;t<1e5&&this.getPC()!=this.runaddr;t++)this.exports.machine_tick(this.sys)}}advanceFrame(t){var s=this.getRasterY(),r=Math.floor((this.numTotalScanlines-s)*(4e6/50)/this.numTotalScanlines),e=this.probe!=null;return e&&this.exports.machine_reset_probe_buffer(),r=super.advanceFrameClock(t,r),e&&this.copyProbeData(),r}getRasterY(){return this.exports.machine_get_raster_line(this.sys)}getRasterCanvasPosition(){return{x:-1,y:this.getRasterY()-14}}getCPUState(){this.exports.machine_save_cpu_state(this.sys,this.cpustateptr);var t=this.cpustatearr,s=t[9]+(t[8]<<8),r=t[10]+(t[11]<<8),e=t[12]+(t[13]<<8),a=t[14]+(t[15]<<8),x=t[24]+(t[25]<<8),f=t[26]+(t[27]<<8),u=t[28]+(t[29]<<8),h=t[34]+(t[35]<<8),_=t[36]+(t[37]<<8);return{PC:h,SP:x,AF:s,BC:a,DE:e,HL:r,IX:u,IY:f,IR:_,o:this.readConst(h)}}saveState(){return this.exports.machine_save_state(this.sys,this.stateptr),{c:this.getCPUState(),state:this.statearr.slice(0),joymask0:this.joymask0}}loadState(t){this.statearr.set(t.state),this.exports.machine_load_state(this.sys,this.stateptr),this.joymask0=t.joymask0|0}getVideoParams(){return{width:768,height:272,overscan:!0,videoFrequency:50,aspect:1.3}}setKeyInput(t,s,r){if(!(t==16||t==17||t==18||t==224)){var e=0,a=0;t==37&&(t=8,e=4),t==38&&(t=11,e=1),t==39&&(t=9,e=8),t==40&&(t=10,e=2),t==32&&(e=16),t==65&&(t=65,a=4),t==87&&(t=87,a=1),t==68&&(t=68,a=8),t==83&&(t=83,a=2),t==69&&(a=16),t==113&&(t=241),t==115&&(t=243),t==119&&(t=245),t==121&&(t=247),r&1?(this.exports.machine_key_down(this.sys,t),this.joymask0|=e):r&64&&(this.exports.machine_key_up(this.sys,t),this.joymask0&=~e)}}};var g=[{id:"easy_stdio_boxes.c",name:"Standard I/O",category:"C"},{id:"easy_mode_strings.c",name:"Video Modes"},{id:"easy_random.c",name:"Random Numbers"},{id:"easy_sprites.c",name:"Keyboard + Sprites"},{id:"medium_scrolling.c",name:"Scrolling Text"},{id:"siegegame.c",name:"Siege Game"},{id:"music.c",name:"Music Player"},{id:"hello.asm",name:"Hello World",category:"Assembly"}],v={main:[{name:"BIOS",start:0,size:16384,type:"rom"},{name:"Screen RAM",start:49152,size:16384,type:"ram"}]},i=class extends d{newMachine(){return new o("cpc")}getPresets(){return g}readAddress(c){return this.machine.readConst(c)}getMemoryMap(){return v}showHelp(){return"https://8bitworkshop.com/docs/platforms/cpc/"}};n["cpc.6128"]=i;n["cpc.464"]=i;n["cpc.kcc"]=i;
|
||||
//# sourceMappingURL=cpc-C72IO2CP.js.map
|
||||
import{H as d,s as p}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as n}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=class extends p{constructor(){super(...arguments);this.numTotalScanlines=312;this.cpuCyclesPerLine=224;this.joymask0=0;this.runaddr=16384}loadROM(t){let s=new Uint8Array(t.length+m.length);s.set(m,0),s[24]=t.length&255,s[25]=t.length>>8,s[26]=this.runaddr&255,s[27]=this.runaddr>>8,s.set(t,m.length),super.loadROM(s)}reset(){if(super.reset(),this.exports.machine_exec(this.sys,1e6),this.romptr&&this.romlen){this.exports.machine_load_rom(this.sys,this.romptr,this.romlen);for(var t=0;t<1e5&&this.getPC()!=this.runaddr;t++)this.exports.machine_tick(this.sys)}}advanceFrame(t){var s=this.getRasterY(),r=Math.floor((this.numTotalScanlines-s)*(4e6/50)/this.numTotalScanlines),e=this.probe!=null;return e&&this.exports.machine_reset_probe_buffer(),r=super.advanceFrameClock(t,r),e&&this.copyProbeData(),r}getRasterY(){return this.exports.machine_get_raster_line(this.sys)}getRasterCanvasPosition(){return{x:-1,y:this.getRasterY()-14}}getCPUState(){this.exports.machine_save_cpu_state(this.sys,this.cpustateptr);var t=this.cpustatearr,s=t[9]+(t[8]<<8),r=t[10]+(t[11]<<8),e=t[12]+(t[13]<<8),a=t[14]+(t[15]<<8),x=t[24]+(t[25]<<8),f=t[26]+(t[27]<<8),u=t[28]+(t[29]<<8),h=t[34]+(t[35]<<8),_=t[36]+(t[37]<<8);return{PC:h,SP:x,AF:s,BC:a,DE:e,HL:r,IX:u,IY:f,IR:_,o:this.readConst(h)}}saveState(){return this.exports.machine_save_state(this.sys,this.stateptr),{c:this.getCPUState(),state:this.statearr.slice(0),joymask0:this.joymask0}}loadState(t){this.statearr.set(t.state),this.exports.machine_load_state(this.sys,this.stateptr),this.joymask0=t.joymask0|0}getVideoParams(){return{width:768,height:272,overscan:!0,videoFrequency:50,aspect:1.3}}setKeyInput(t,s,r){if(!(t==16||t==17||t==18||t==224)){var e=0,a=0;t==37&&(t=8,e=4),t==38&&(t=11,e=1),t==39&&(t=9,e=8),t==40&&(t=10,e=2),t==32&&(e=16),t==65&&(t=65,a=4),t==87&&(t=87,a=1),t==68&&(t=68,a=8),t==83&&(t=83,a=2),t==69&&(a=16),t==113&&(t=241),t==115&&(t=243),t==119&&(t=245),t==121&&(t=247),r&1?(this.exports.machine_key_down(this.sys,t),this.joymask0|=e):r&64&&(this.exports.machine_key_up(this.sys,t),this.joymask0&=~e)}}};var g=[{id:"easy_stdio_boxes.c",name:"Standard I/O",category:"C"},{id:"easy_mode_strings.c",name:"Video Modes"},{id:"easy_random.c",name:"Random Numbers"},{id:"easy_sprites.c",name:"Keyboard + Sprites"},{id:"medium_scrolling.c",name:"Scrolling Text"},{id:"siegegame.c",name:"Siege Game"},{id:"music.c",name:"Music Player"},{id:"hello.asm",name:"Hello World",category:"Assembly"}],v={main:[{name:"BIOS",start:0,size:16384,type:"rom"},{name:"Screen RAM",start:49152,size:16384,type:"ram"}]},i=class extends d{newMachine(){return new o("cpc")}getPresets(){return g}readAddress(c){return this.machine.readConst(c)}getMemoryMap(){return v}showHelp(){return"https://8bitworkshop.com/docs/platforms/cpc/"}};n["cpc.6128"]=i;n["cpc.464"]=i;n["cpc.kcc"]=i;
|
||||
//# sourceMappingURL=cpc-POSTORN7.js.map
|
||||
File renamed without changes.
@@ -1,2 +0,0 @@
|
||||
import{G as x,m as p,p as m}from"./chunk-QYEDG265.js";import{a as y}from"./chunk-3FIVEUG2.js";import"./chunk-UACHXWHT.js";import{D as d,L as f,W as c,da as a,n as h}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var n=31,s=class extends m{constructor(){super();this.cpuFrequency=1e6;this.defaultROMSize=32768;this.cpu=new p;this.ram=new Uint8Array(16384);this.read=a([[0,16383,16383,e=>this.ram[e]],[16384,16384,65535,e=>this.serial.byteAvailable()?128:0],[16385,16385,65535,e=>this.serial.recvByte()],[16386,16386,65535,e=>this.serial.clearToSend()?128:0],[32768,65535,32767,e=>this.rom&&this.rom[e]]]);this.write=a([[0,16383,16383,(e,r)=>{this.ram[e]=r}],[16387,16387,65535,(e,r)=>this.serial.sendByte(r)],[16399,16399,65535,(e,r)=>{this.inputs[n]=1}]]);this.connectCPUMemoryBus(this)}connectSerialIO(e){this.serial=e}readConst(e){return this.read(e)}advanceFrame(e){for(var r=0;r<this.cpuFrequency/60&&!(e&&e());)r+=this.advanceCPU();return r}advanceCPU(){if(this.isHalted())return 1;var e=super.advanceCPU();return this.serial&&this.serial.advance(e),e}reset(){this.inputs[n]=0,super.reset(),this.serial&&this.serial.reset()}isHalted(){return this.inputs[n]!=0}};var S=[{id:"hello.dasm",name:"Hello World (ASM)"}],l=class{constructor(t){t.style.overflowY="auto";var e=$('<div id="gameport"/>').appendTo(t);$('<p class="transcript-header">Serial Output</p>').appendTo(e);var r=$('<div id="windowport" class="transcript"/>').appendTo(e);this.div=r[0]}start(){this.tty=new y(this.div,!1)}reset(){this.tty.clear()}saveState(){return this.tty.saveState()}loadState(t){this.tty.loadState(t)}};function v(i){return i==10?"":i<32?String.fromCharCode(i+9216):String.fromCharCode(i)}var u=class{constructor(){this.bufferedRead=!0;this.cyclesPerByte=1e6/(57600/8);this.maxOutputBytes=4096}clearToSend(){return this.outputBytes.length<this.maxOutputBytes}sendByte(t){this.clearToSend()&&(this.outputBytes.push(t),this.viewer.tty.addtext(v(t),34),t==10&&this.viewer.tty.newline(),this.clearToSend()||(this.viewer.tty.newline(),this.viewer.tty.addtext("\u26A0\uFE0F OUTPUT BUFFER FULL \u26A0\uFE0F",4)))}byteAvailable(){return this.readIndex()>this.inputIndex}recvByte(){var t=this.readIndex();this.inputIndex=t;var e=(this.inputBytes&&this.inputBytes[t])|0;return this.viewer.tty.addtext(v(e),18),e==10&&this.viewer.tty.newline(),e}readIndex(){return this.bufferedRead?this.inputIndex+1:Math.floor(this.clk/this.cyclesPerByte)}reset(){this.inputIndex=-1,this.clk=0,this.outputBytes=[],this.bufin=""}advance(t){this.clk+=t}saveState(){return{clk:this.clk,idx:this.inputIndex,out:this.outputBytes.slice()}}loadState(t){this.clk=t.clk,this.inputIndex=t.idx,this.outputBytes=t.out.slice()}},o=class extends x{constructor(e){super(e);this.getMemoryMap=function(){return{main:[{name:"RAM",start:0,size:16384,type:"ram"},{name:"ROM",start:32768,size:32768,type:"rom"}]}};this.serview=new l(e)}async start(){super.start(),this.serial=new u,this.serial.viewer=this.serview,this.serview.start(),this.machine.connectSerialIO(this.serial)}reset(){this.serial.inputBytes=d(this.internalFiles["serialin.dat"]),super.reset(),this.serview.reset()}isBlocked(){return this.machine.isHalted()}advance(e){return this.isBlocked()?(this.internalFiles["serialout.dat"]=h(this.serial.outputBytes),c(),0):super.advance(e)}saveState(){var e=super.saveState();return e.serial=this.serial.saveState(),e.serview=this.serview.saveState(),e}loadState(e){super.loadState(e),this.serial.loadState(e.serial),this.serview.loadState(e.serview)}newMachine(){return new s}getPresets(){return S}readAddress(e){return this.machine.readConst(e)}};f["devel-6502"]=o;export{u as SerialTestHarness};
|
||||
//# sourceMappingURL=devel-Q7EA5VXM.js.map
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/machine/devel.ts", "../src/platform/devel.ts"],
|
||||
"sourcesContent": ["\nimport { MOS6502 } from \"../common/cpu/MOS6502\";\nimport { BasicHeadlessMachine, HasSerialIO, SerialIOInterface } from \"../common/devices\";\nimport { padBytes, newAddressDecoder } from \"../common/emu\"; // TODO\n\nconst INPUT_HALTED = 31;\n\nexport class Devel6502 extends BasicHeadlessMachine implements HasSerialIO {\n\n cpuFrequency = 1000000;\n defaultROMSize = 0x8000;\n \n cpu = new MOS6502();\n ram = new Uint8Array(0x4000);\n rom : Uint8Array;\n serial : SerialIOInterface;\n\n constructor() {\n super();\n this.connectCPUMemoryBus(this);\n }\n \n connectSerialIO(serial: SerialIOInterface) {\n this.serial = serial;\n }\n\n read = newAddressDecoder([\n [0x0000, 0x3fff, 0x3fff, (a) => { return this.ram[a]; }],\n [0x4000, 0x4000, 0xffff, (a) => { return this.serial.byteAvailable() ? 0x80 : 0 }],\n [0x4001, 0x4001, 0xffff, (a) => { return this.serial.recvByte() }],\n [0x4002, 0x4002, 0xffff, (a) => { return this.serial.clearToSend() ? 0x80 : 0 }],\n [0x8000, 0xffff, 0x7fff, (a) => { return this.rom && this.rom[a]; }],\n ]);\n \n write = newAddressDecoder([\n [0x0000, 0x3fff, 0x3fff, (a,v) => { this.ram[a] = v; }],\n [0x4003, 0x4003, 0xffff, (a,v) => { return this.serial.sendByte(v) }],\n [0x400f, 0x400f, 0xffff, (a,v) => { this.inputs[INPUT_HALTED] = 1; }],\n ]);\n \n readConst(a:number) : number {\n return this.read(a);\n }\n\n advanceFrame(trap) : number {\n var clock = 0;\n while (clock < this.cpuFrequency/60) {\n if (trap && trap()) break;\n clock += this.advanceCPU();\n }\n return clock;\n }\n\n advanceCPU() {\n if (this.isHalted()) return 1;\n var n = super.advanceCPU();\n if (this.serial) this.serial.advance(n);\n return n;\n }\n\n reset() {\n this.inputs[INPUT_HALTED] = 0;\n super.reset();\n if (this.serial) this.serial.reset();\n }\n\n isHalted() { return this.inputs[INPUT_HALTED] != 0; }\n}\n\n", "\nimport { Platform } from \"../common/baseplatform\";\nimport { EmuHalt, PLATFORMS, haltEmulation } from \"../common/emu\";\nimport { Devel6502 } from \"../machine/devel\";\nimport { Base6502MachinePlatform } from \"../common/baseplatform\";\nimport { SerialIOInterface } from \"../common/devices\";\nimport { byteArrayToString, convertDataToUint8Array } from \"../common/util\";\nimport { TeleType } from \"../common/teletype\";\n\nvar DEVEL_6502_PRESETS = [\n {id:'hello.dasm', name:'Hello World (ASM)'},\n];\n\nclass SerialInOutViewer {\n div : HTMLElement;\n tty : TeleType;\n \n constructor(div: HTMLElement) {\n div.style.overflowY = 'auto';\n var gameport = $('<div id=\"gameport\"/>').appendTo(div);\n $('<p class=\"transcript-header\">Serial Output</p>').appendTo(gameport);\n var windowport = $('<div id=\"windowport\" class=\"transcript\"/>').appendTo(gameport);\n this.div = windowport[0];\n }\n start() {\n this.tty = new TeleType(this.div, false);\n //this.tty.ncols = 40;\n }\n reset() {\n this.tty.clear();\n }\n saveState() {\n return this.tty.saveState();\n }\n loadState(state) {\n this.tty.loadState(state);\n }\n}\n\nfunction byteToASCII(b: number) : string {\n if (b == 10) return '';\n if (b < 32)\n return String.fromCharCode(b + 0x2400);\n else\n return String.fromCharCode(b);\n}\n\nexport class SerialTestHarness implements SerialIOInterface {\n\n viewer : SerialInOutViewer;\n bufferedRead : boolean = true;\n cyclesPerByte = 1000000/(57600/8); // 138.88888 cycles\n maxOutputBytes = 4096;\n inputBytes : Uint8Array;\n\n outputBytes : number[];\n inputIndex : number;\n clk : number;\n bufin : string;\n\n clearToSend(): boolean {\n return this.outputBytes.length < this.maxOutputBytes;\n }\n sendByte(b: number) {\n if (this.clearToSend()) {\n this.outputBytes.push(b);\n this.viewer.tty.addtext(byteToASCII(b), 2|32);\n if (b == 10) this.viewer.tty.newline();\n if (!this.clearToSend()) {\n this.viewer.tty.newline();\n this.viewer.tty.addtext(\"\u26A0\uFE0F OUTPUT BUFFER FULL \u26A0\uFE0F\", 4);\n }\n }\n }\n byteAvailable(): boolean {\n return this.readIndex() > this.inputIndex;\n }\n recvByte(): number {\n var index = this.readIndex();\n this.inputIndex = index;\n var b = (this.inputBytes && this.inputBytes[index]) | 0;\n //this.bufin += byteToASCII(b);\n this.viewer.tty.addtext(byteToASCII(b), 2|16);\n if (b == 10) this.viewer.tty.newline();\n return b;\n }\n readIndex(): number {\n return this.bufferedRead ? (this.inputIndex+1) : Math.floor(this.clk / this.cyclesPerByte);\n }\n\n reset() {\n this.inputIndex = -1;\n this.clk = 0;\n this.outputBytes = [];\n this.bufin = '';\n }\n\n advance(clocks: number) {\n this.clk += clocks;\n }\n\n saveState() {\n return {\n clk: this.clk,\n idx: this.inputIndex,\n out: this.outputBytes.slice()\n }\n }\n loadState(state) {\n this.clk = state.clkLine truncated
|
||||
"mappings": "2NAKA,IAAMA,EAAe,GAERC,EAAN,cAAwBC,CAA4C,CAUzE,aAAc,CACZ,MAAM,EATR,kBAAe,IACf,oBAAiB,MAEjB,SAAM,IAAIC,EACV,SAAM,IAAI,WAAW,KAAM,EAa3B,UAAOC,EAAkB,CACvB,CAAC,EAAQ,MAAQ,MAASC,GAAe,KAAK,IAAIA,CAAC,CAAI,EACvD,CAAC,MAAQ,MAAQ,MAASA,GAAe,KAAK,OAAO,cAAc,EAAI,IAAO,CAAG,EACjF,CAAC,MAAQ,MAAQ,MAASA,GAAe,KAAK,OAAO,SAAS,CAAG,EACjE,CAAC,MAAQ,MAAQ,MAASA,GAAe,KAAK,OAAO,YAAY,EAAI,IAAO,CAAG,EAC/E,CAAC,MAAQ,MAAQ,MAASA,GAAe,KAAK,KAAO,KAAK,IAAIA,CAAC,CAAI,CACrE,CAAC,EAED,WAAQD,EAAkB,CACxB,CAAC,EAAQ,MAAQ,MAAQ,CAACC,EAAEC,IAAM,CAAE,KAAK,IAAID,CAAC,EAAIC,CAAG,CAAC,EACtD,CAAC,MAAQ,MAAQ,MAAQ,CAACD,EAAEC,IAAe,KAAK,OAAO,SAASA,CAAC,CAAG,EACpE,CAAC,MAAQ,MAAQ,MAAQ,CAACD,EAAEC,IAAM,CAAE,KAAK,OAAON,CAAY,EAAI,CAAG,CAAC,CACtE,CAAC,EAnBC,KAAK,oBAAoB,IAAI,CAC/B,CAEA,gBAAgBO,EAA2B,CACzC,KAAK,OAASA,CAChB,CAgBA,UAAUF,EAAmB,CAC3B,OAAO,KAAK,KAAKA,CAAC,CACpB,CAEA,aAAaG,EAAe,CAE1B,QADIC,EAAQ,EACLA,EAAQ,KAAK,aAAa,IAC3B,EAAAD,GAAQA,EAAK,IACjBC,GAAS,KAAK,WAAW,EAE3B,OAAOA,CACT,CAEA,YAAa,CACX,GAAI,KAAK,SAAS,EAAG,MAAO,GAC5B,IAAIC,EAAI,MAAM,WAAW,EACzB,OAAI,KAAK,QAAQ,KAAK,OAAO,QAAQA,CAAC,EAC/BA,CACT,CAEA,OAAQ,CACN,KAAK,OAAOV,CAAY,EAAI,EAC5B,MAAM,MAAM,EACR,KAAK,QAAQ,KAAK,OAAO,MAAM,CACrC,CAEA,UAAW,CAAE,OAAO,KAAK,OAAOA,CAAY,GAAK,CAAG,CACtD,EC1DA,IAAIW,EAAqB,CACvB,CAAC,GAAG,aAAc,KAAK,mBAAmB,CAC5C,EAEMC,EAAN,KAAwB,CAItB,YAAYC,EAAkB,CAC5BA,EAAI,MAAM,UAAY,OACtB,IAAIC,EAAW,EAAE,sBAAsB,EAAE,SAASD,CAAG,EACrD,EAAE,gDAAgD,EAAE,SAASC,CAAQ,EACrE,IAAIC,EAAa,EAAE,2CAA2C,EAAE,SAASD,CAAQ,EACjF,KAAK,IAAMC,EAAW,CAAC,CACzB,CACA,OAAQ,CACN,KAAK,IAAM,IAAIC,EAAS,KAAK,IAAK,EAAK,CAEzC,CACA,OAAQ,CACN,KAAK,IAAI,MAAM,CACjB,CACA,WAAY,CACV,OAAO,KAAK,IAAI,UAAU,CAC5B,CACA,UAAUC,EAAO,CACf,KAAK,IAAI,UAAUA,CAAK,CAC1B,CACF,EAEA,SAASC,EAAYC,EAAoB,CACvC,OAAIA,GAAK,GAAW,GAChBA,EAAI,GACC,OAAO,aAAaA,EAAI,IAAM,EAE9B,OAAO,aAAaA,CAAC,CAChC,CAEO,IAAMC,EAAN,KAAqD,CAArD,cAGL,kBAAyB,GACzB,mBAAgB,KAAS,MAAM,GAC/B,oBAAiB,KAQjB,aAAuB,CACrB,OAAO,KAAK,YAAY,OAAS,KAAK,cACxC,CACA,SAASD,EAAW,CACd,KAAK,YAAY,IACnB,KAAK,YAAY,KAAKA,CAAC,EACvB,KAAK,OAAO,IAAI,QAAQD,EAAYC,CAAC,EAAG,EAAI,EACxCA,GAAK,IAAI,KAAK,OAAO,IAAI,QAAQ,EAChC,KAAK,YAAY,IACpB,KAAK,OAAO,IAAI,QAAQ,EACxB,KAAK,OAAO,IAAI,QAAQ,+CAA4B,CAAC,GAG3D,CACA,eAAyB,CACvB,OAAO,KAAK,UAAU,EAAI,KAAK,UACjC,CACA,UAAmB,CACjB,IAAIE,EAAQ,KAAK,UAAU,EAC3B,KAAK,WAAaA,EAClB,IAAIF,GAAK,KAAK,YAAc,KAAK,WAAWE,CAAK,GAAK,EAEtD,YAAK,OAAO,IAAI,QAAQH,EAAYC,CAAC,EAAG,EAAI,EACxCA,GAAK,IAAI,KAAK,OAAO,IAAI,QAAQ,EAC9BA,CACT,CACA,WAAoB,CAClB,OAAO,KAAK,aAAgB,KAAK,WAAW,EAAK,KAAK,MAAM,KAAK,IAAM,KAAK,aAAa,CAC3F,CAEA,OAAQ,CACN,KAAK,WAAa,GAClB,KAAK,IAAM,EACX,KAAK,YAAc,CAAC,EACpB,KAAK,MAAQ,EACf,CAEA,QAAQG,EAAgB,CACtB,KAAK,KAAOA,CACd,CAEA,WAAY,CACV,MAAO,CACL,IAAK,KAAK,IACV,IAAK,KAAK,WACV,IAAK,KAAK,YAAY,MAAM,CAC9B,CACF,CACA,UAAUL,EAAO,CACf,KAAK,IAAMA,EAAM,IACjB,KAAK,WAAaA,EAAM,IACxB,KAAK,YAAcA,EAAM,IAAI,MAAM,CACrC,CACF,EAEMM,EAAN,cAAgCC,CAAuD,CAKrF,YAAYC,EAA0B,CACpC,MAAMA,CAAW,EAiDnB,kBAAe,UAAW,CAAE,MAAO,CAAE,KAAK,CACtC,CAAC,KAAK,MAAgB,MAAM,EAAO,KAAK,MAAO,KAAK,KAAK,EACzD,CAAC,KAAK,MAAgB,MAAM,MAAO,KAAK,MAAO,KAAK,KAAK,CAC7D,CAAE,CAAE,EAnDF,KAAK,QAAU,IAAIb,EAAkBa,CAAW,CAClD,CAEA,MAAM,OAAQ,CACZ,MAAM,MAAM,EACZ,KAAK,OAAS,IAAIL,EAClB,KAAK,OAAO,OAAS,KAAK,QAC1B,KAAK,QAAQ,MAAM,EACnB,KAAK,QAAQ,gBAAgB,KAAK,MAAM,CAC1C,CAEA,OAAQ,CACN,KAAK,OAAO,WAAaM,EAAwB,KAAK,cAAc,cAAc,CAAC,EACnF,MAAM,MAAM,EACZ,KAAK,QAAQ,MAAM,CACrB,CAEA,WAAY,CACV,OAAO,KAAK,QAAQ,SAAS,CAC/B,CAEA,QAAQC,EAAkB,CACxB,OAAI,KAAK,UAAU,GACjB,KAAK,cAAc,eAAe,EAAIC,EAAkB,KAAK,OAAO,WAAW,EAC/EC,EAAc,EACP,GAEF,MAAM,QAAQF,CAAO,CAC9B,CAEA,WAAY,CACV,IAAIV,EAAc,MAAM,UAAU,EAClC,OAAAA,EAAM,OAAS,KAAK,OAAO,UAAU,EACrCA,EAAM,QAAU,KAAK,QAAQ,UAAU,EAChCA,CACT,CAEA,UAAUA,EAAO,CACf,MAAM,UAAUA,CAAK,EACrB,KAAK,OAAO,UAAUA,EAAM,MAAM,EAClC,KAAK,QAAQ,UAAUA,EAAM,OAAO,CAEtC,CAEA,YAAsB,CAAE,OAAO,IAAIa,CAAa,CAChD,YAAsB,CAAE,OAAOnB,CAAoB,CACnD,YAAYoB,EAAU,CAAE,OAAO,KAAK,QAAQ,UAAUA,CAAC,CAAG,CAM5D,EAIAC,EAAU,YAAY,EAAIT",
|
||||
"names": ["INPUT_HALTED", "Devel6502", "BasicHeadlessMachine", "MOS6502", "newAddressDecoder", "a", "v", "serial", "trap", "clock", "n", "DEVEL_6502_PRESETS", "SerialInOutViewer", "div", "gameport", "windowport", "TeleType", "state", "byteToASCII", "b", "SerialTestHarness", "index", "clocks", "Devel6502Platform", "Base6502MachinePlatform", "mainElement", "convertDataToUint8Array", "novideo", "byteArrayToString", "haltEmulation", "Devel6502", "a", "PLATFORMS"]
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
import{G as y,m,p as v}from"./chunk-RWTUUV4L.js";import{a as x}from"./chunk-3FIVEUG2.js";import"./chunk-UXRCACYH.js";import{D as f,L as c,W as p,da as n,n as a}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var l=31,s=class extends v{constructor(){super();this.cpuFrequency=1e6;this.defaultROMSize=32768;this.cpu=new m;this.ram=new Uint8Array(16384);this.read=n([[0,16383,16383,e=>this.ram[e]],[16384,16384,65535,e=>this.serial.byteAvailable()?128:0],[16385,16385,65535,e=>this.serial.recvByte()],[16386,16386,65535,e=>this.serial.clearToSend()?128:0],[32768,65535,32767,e=>this.rom&&this.rom[e]]]);this.write=n([[0,16383,16383,(e,r)=>{this.ram[e]=r}],[16387,16387,65535,(e,r)=>this.serial.sendByte(r)],[16399,16399,65535,(e,r)=>{this.inputs[l]=1}]]);this.connectCPUMemoryBus(this)}connectSerialIO(e){this.serial=e}readConst(e){return this.read(e)}advanceFrame(e){for(var r=0;r<this.cpuFrequency/60&&!(e&&e());)r+=this.advanceCPU();return r}advanceCPU(){if(this.isHalted())return 1;var e=super.advanceCPU();return this.serial&&this.serial.advance(e),e}reset(){this.inputs[l]=0,super.reset(),this.serial&&this.serial.reset()}isHalted(){return this.inputs[l]!=0}};var w=[{id:"hello.dasm",name:"Hello World (ASM)"},{id:"hello-sdcc.c",name:"Hello World (SDCC C)"}],o=class{constructor(){this.tty={addtext(){},newline(){},clear(){},saveState(){return{}},loadState(){}}}start(){}reset(){}saveState(){return{}}loadState(){}},u=class{constructor(t){t.style.overflowY="auto";var e=$('<div id="gameport"/>').appendTo(t);$('<p class="transcript-header">Serial Output</p>').appendTo(e);var r=$('<div id="windowport" class="transcript"/>').appendTo(e);this.div=r[0]}start(){this.tty=new x(this.div,!1)}reset(){this.tty.clear()}saveState(){return this.tty.saveState()}loadState(t){this.tty.loadState(t)}};function S(i){return i==10?"":i<32?String.fromCharCode(i+9216):String.fromCharCode(i)}var d=class{constructor(){this.bufferedRead=!0;this.cyclesPerByte=1e6/(57600/8);this.maxOutputBytes=4096}clearToSend(){return this.outputBytes.length<this.maxOutputBytes}sendByte(t){this.clearToSend()&&(this.outputBytes.push(t),this.viewer.tty.addtext(S(t),34),t==10&&this.viewer.tty.newline(),this.clearToSend()||(this.viewer.tty.newline(),this.viewer.tty.addtext("\u26A0\uFE0F OUTPUT BUFFER FULL \u26A0\uFE0F",4)))}byteAvailable(){return this.readIndex()>this.inputIndex}recvByte(){var t=this.readIndex();this.inputIndex=t;var e=(this.inputBytes&&this.inputBytes[t])|0;return this.viewer.tty.addtext(S(e),18),e==10&&this.viewer.tty.newline(),e}readIndex(){return this.bufferedRead?this.inputIndex+1:Math.floor(this.clk/this.cyclesPerByte)}reset(){this.inputIndex=-1,this.clk=0,this.outputBytes=[],this.bufin=""}advance(t){this.clk+=t}saveState(){return{clk:this.clk,idx:this.inputIndex,out:this.outputBytes.slice()}}loadState(t){this.clk=t.clk,this.inputIndex=t.idx,this.outputBytes=t.out.slice()}},h=class extends y{constructor(e){super(e);this.getMemoryMap=function(){return{main:[{name:"RAM",start:0,size:16384,type:"ram"},{name:"ROM",start:32768,size:32768,type:"rom"}]}};this.serview=e?new u(e):new o}async start(){super.start(),this.serial=new d,this.serial.viewer=this.serview,this.serview.start(),this.machine.connectSerialIO(this.serial)}reset(){this.serial.inputBytes=f(this.internalFiles["serialin.dat"]),super.reset(),this.serview.reset()}isBlocked(){return this.machine.isHalted()}advance(e){return this.isBlocked()?(this.internalFiles["serialout.dat"]=a(this.serial.outputBytes),p(),0):super.advance(e)}saveState(){var e=super.saveState();return e.serial=this.serial.saveState(),e.serview=this.serview.saveState(),e}loadState(e){super.loadState(e),this.serial.loadState(e.serial),this.serview.loadState(e.serview)}getSerialOutput(){return a(this.serial.outputBytes)}newMachine(){return new s}getPresets(){return w}readAddress(e){return this.machine.readConst(e)}};c["devel-6502"]=h;export{d as SerialTestHarness};
|
||||
//# sourceMappingURL=devel-UW7ZZSEK.js.map
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/machine/devel.ts", "../src/platform/devel.ts"],
|
||||
"sourcesContent": ["\nimport { MOS6502 } from \"../common/cpu/MOS6502\";\nimport { BasicHeadlessMachine, HasSerialIO, SerialIOInterface } from \"../common/devices\";\nimport { padBytes, newAddressDecoder } from \"../common/emu\"; // TODO\n\nconst INPUT_HALTED = 31;\n\nexport class Devel6502 extends BasicHeadlessMachine implements HasSerialIO {\n\n cpuFrequency = 1000000;\n defaultROMSize = 0x8000;\n \n cpu = new MOS6502();\n ram = new Uint8Array(0x4000);\n rom : Uint8Array;\n serial : SerialIOInterface;\n\n constructor() {\n super();\n this.connectCPUMemoryBus(this);\n }\n \n connectSerialIO(serial: SerialIOInterface) {\n this.serial = serial;\n }\n\n read = newAddressDecoder([\n [0x0000, 0x3fff, 0x3fff, (a) => { return this.ram[a]; }],\n [0x4000, 0x4000, 0xffff, (a) => { return this.serial.byteAvailable() ? 0x80 : 0 }],\n [0x4001, 0x4001, 0xffff, (a) => { return this.serial.recvByte() }],\n [0x4002, 0x4002, 0xffff, (a) => { return this.serial.clearToSend() ? 0x80 : 0 }],\n [0x8000, 0xffff, 0x7fff, (a) => { return this.rom && this.rom[a]; }],\n ]);\n \n write = newAddressDecoder([\n [0x0000, 0x3fff, 0x3fff, (a,v) => { this.ram[a] = v; }],\n [0x4003, 0x4003, 0xffff, (a,v) => { return this.serial.sendByte(v) }],\n [0x400f, 0x400f, 0xffff, (a,v) => { this.inputs[INPUT_HALTED] = 1; }],\n ]);\n \n readConst(a:number) : number {\n return this.read(a);\n }\n\n advanceFrame(trap) : number {\n var clock = 0;\n while (clock < this.cpuFrequency/60) {\n if (trap && trap()) break;\n clock += this.advanceCPU();\n }\n return clock;\n }\n\n advanceCPU() {\n if (this.isHalted()) return 1;\n var n = super.advanceCPU();\n if (this.serial) this.serial.advance(n);\n return n;\n }\n\n reset() {\n this.inputs[INPUT_HALTED] = 0;\n super.reset();\n if (this.serial) this.serial.reset();\n }\n\n isHalted() { return this.inputs[INPUT_HALTED] != 0; }\n}\n\n", "\nimport { Platform } from \"../common/baseplatform\";\nimport { EmuHalt, PLATFORMS, haltEmulation } from \"../common/emu\";\nimport { Devel6502 } from \"../machine/devel\";\nimport { Base6502MachinePlatform } from \"../common/baseplatform\";\nimport { SerialIOInterface } from \"../common/devices\";\nimport { byteArrayToString, convertDataToUint8Array } from \"../common/util\";\nimport { TeleType } from \"../common/teletype\";\n\nvar DEVEL_6502_PRESETS = [\n {id:'hello.dasm', name:'Hello World (ASM)'},\n {id:'hello-sdcc.c', name:'Hello World (SDCC C)'},\n];\n\n/** What the serial harness draws on: the TeleType viewer, or nothing (headless). */\ninterface SerialViewer {\n tty : { addtext(s: string, flags: number): void, newline(): void, clear(): void,\n saveState(): any, loadState(state: any): void };\n start(): void;\n reset(): void;\n saveState(): any;\n loadState(state: any): void;\n}\n\n/** For the CLI and tests, which have no DOM: the output is kept by the harness. */\nclass HeadlessSerialViewer implements SerialViewer {\n tty = { addtext() {}, newline() {}, clear() {}, saveState() { return {}; }, loadState() {} };\n start() {}\n reset() {}\n saveState() { return {}; }\n loadState() {}\n}\n\nclass SerialInOutViewer implements SerialViewer {\n div : HTMLElement;\n tty : TeleType;\n \n constructor(div: HTMLElement) {\n div.style.overflowY = 'auto';\n var gameport = $('<div id=\"gameport\"/>').appendTo(div);\n $('<p class=\"transcript-header\">Serial Output</p>').appendTo(gameport);\n var windowport = $('<div id=\"windowport\" class=\"transcript\"/>').appendTo(gameport);\n this.div = windowport[0];\n }\n start() {\n this.tty = new TeleType(this.div, false);\n //this.tty.ncols = 40;\n }\n reset() {\n this.tty.clear();\n }\n saveState() {\n return this.tty.saveState();\n }\n loadState(state) {\n this.tty.loadState(state);\n }\n}\n\nfunction byteToASCII(b: number) : string {\n if (b == 10) return '';\n if (b < 32)\n return String.fromCharCode(b + 0x2400);\n else\n return String.fromCharCode(b);\n}\n\nexport class SerialTestHarness implements SerialIOInterface {\n\n viewer : SerialViewer;\n bufferedRead : boolean = true;\n cyclesPerByte = 1000000/(57600/8); // 138.88888 cycles\n maxOutputBytes = 4096;\n inputBytes : Uint8Array;\n\n outputBytes : number[];\n inputIndex : number;\n clk : number;\n bufin : string;\n\n clearToSend(): boolean {\n return this.outputBytes.length < this.maxOutputBytes;\n }\n sendByte(b: number) {\n if (this.clearToSend()) {\n this.outputBytes.push(b);\n this.viewer.tty.addtext(byteToASCII(b), 2|32);\n if (b == 10) this.viewer.tty.newline();\n if (!this.clearToSend()) {\n this.viewer.tty.newline();\n this.viewer.tty.addtext(\"\u26A0\uFE0F OUTPUT BUFFER FULL \u26A0\uFE0F\", 4);\n }\n }\n }\n byteAvailable(): boolean {\n return this.readIndex() > this.inputIndex;\n }\n recvByte(): number {\n var index = this.readLine truncated
|
||||
"mappings": "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",
|
||||
"names": ["INPUT_HALTED", "Devel6502", "BasicHeadlessMachine", "MOS6502", "newAddressDecoder", "a", "v", "serial", "trap", "clock", "n", "DEVEL_6502_PRESETS", "HeadlessSerialViewer", "SerialInOutViewer", "div", "gameport", "windowport", "TeleType", "state", "byteToASCII", "b", "SerialTestHarness", "index", "clocks", "Devel6502Platform", "Base6502MachinePlatform", "mainElement", "convertDataToUint8Array", "novideo", "byteArrayToString", "haltEmulation", "Devel6502", "a", "PLATFORMS"]
|
||||
}
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
import{b as v,c as P}from"./chunk-XPT2MIFH.js";import{B as p,F as w,L as c,l as u,m,z as g}from"./chunk-V6TNHL6H.js";import{g as I}from"./chunk-N7W4C4V2.js";var k=I(P()),i,a,l,h=(function(e){if(!e||e.length==0)return{};for(var r={},t=0;t<e.length;++t){var o=e[t].split("=",2);o.length==1?r[o[0]]="":r[o[0]]=decodeURIComponent(o[1].replace(/\+/g," "))}return r})(window.location.search.substr(1).split("&"));function x(){typeof window.onerror=="object"&&(window.onerror=function(e,r,t,o,n){var s=e+" "+r+" "+t+":"+o+", "+n;$.get("/error?msg="+encodeURIComponent(s),"text")})}function M(){var e=!1;document.addEventListener("visibilitychange",function(r){document.visibilityState=="hidden"&&a.isRunning()?(a.pause(),e=!0):document.visibilityState=="visible"&&e&&(a.resume(),e=!1)}),$(window).on("focus",function(){e&&(a.resume(),e=!1)}),$(window).on("blur",function(){a.isRunning()&&(a.pause(),e=!0)})}async function y(e,r){if(!r){alert("No ROM found.");return}console.log(r.length+" bytes"),await a.loadROM(e,r),a.resume()}function R(){return $("#emulator").find("canvas")}function E(e,r,t){w("gif.js/dist/gif.js").then(()=>{var o=R()[0];if(!o){alert("Could not find canvas element to record video!");return}var n=0;o.style&&o.style.transform&&(o.style.transform.indexOf("rotate(-90deg)")>=0?n=-1:o.style.transform.indexOf("rotate(90deg)")>=0&&(n=1));var s=new GIF({workerScript:"gif.js/dist/gif.worker.js",workers:4,quality:10,rotate:n});s.on("finished",function(C){console.log("finished encoding GIF"),t(C)}),e=e||100+(Math.random()*256&3),r=r||100+(Math.random()*256&15);var f=0;console.log("Recording video",o);var d=()=>{f++>r?(console.log("Rendering video"),s.render()):(s.addFrame(o,{delay:e,copy:!0}),setTimeout(d,e))};d()})}async function S(e){if(!c[i])throw Error("Invalid platform '"+i+"'.");a=new c[i]($("#emuscreen")[0]),await a.start(),e.rec&&R().on("focus",()=>{a.resume()});var r=e.n||"Game",t,o=e.url,n=e.r;if(o)return console.log(o),g(o,f=>{y(r,f)},"arraybuffer"),!0;if(n){var s=m(atob(n));t=new u().decode(s)}return M(),y(r,t),!0}async function b(e){if(e.data&&(e=e.data),i=e.p,!i)throw new Error("No platform variable!");try{var r=await v(p(i));console.log("starting platform",i),await S(e)}catch(t){console.log(t),alert('Platform "'+i+'" not supported.')}}function F(){x(),h.p&&b(h)}window.addEventListener("message",O,!1);function O(e){if(e.data){var r=e.data.cmd;if(r=="start"&&!a)b(e);else if(r=="reset")a.reset(),l.reset();else if(r=="getReplay"){var t={frameCount:l.frameCount,checkpoints:l.checkpoints,framerecs:l.framerecs,checkpointInterval:l.checkpointInterval,maxCheckpoints:l.maxCheckpoints};e.source.postMessage({ack:r,replay:t},e.origin)}else if(r=="watchState"){var o=new Function("platform","state",e.data.fn);l.callbackNewCheckpoint=n=>{e.source.postMessage({ack:r,state:o(a,n)},e.origin)}}else r=="recordVideo"?E(e.data.intervalMsec,e.data.maxFrames,function(n){e.data.filename&&(0,k.saveAs)(n,e.data.filename),e.source.postMessage({ack:r,gif:n},e.origin)}):console.log("Unknown data.cmd: "+r)}}self===top&&(document.body.style.backgroundColor="#555");F();export{a as platform,i as platform_id,F as startEmbed,l as stateRecorder};
|
||||
import{b as v,c as P}from"./chunk-XRDUJUI5.js";import{B as p,F as w,L as c,l as u,m,z as g}from"./chunk-V6TNHL6H.js";import{g as I}from"./chunk-N7W4C4V2.js";var k=I(P()),i,a,l,h=(function(e){if(!e||e.length==0)return{};for(var r={},t=0;t<e.length;++t){var o=e[t].split("=",2);o.length==1?r[o[0]]="":r[o[0]]=decodeURIComponent(o[1].replace(/\+/g," "))}return r})(window.location.search.substr(1).split("&"));function x(){typeof window.onerror=="object"&&(window.onerror=function(e,r,t,o,n){var s=e+" "+r+" "+t+":"+o+", "+n;$.get("/error?msg="+encodeURIComponent(s),"text")})}function M(){var e=!1;document.addEventListener("visibilitychange",function(r){document.visibilityState=="hidden"&&a.isRunning()?(a.pause(),e=!0):document.visibilityState=="visible"&&e&&(a.resume(),e=!1)}),$(window).on("focus",function(){e&&(a.resume(),e=!1)}),$(window).on("blur",function(){a.isRunning()&&(a.pause(),e=!0)})}async function y(e,r){if(!r){alert("No ROM found.");return}console.log(r.length+" bytes"),await a.loadROM(e,r),a.resume()}function R(){return $("#emulator").find("canvas")}function E(e,r,t){w("gif.js/dist/gif.js").then(()=>{var o=R()[0];if(!o){alert("Could not find canvas element to record video!");return}var n=0;o.style&&o.style.transform&&(o.style.transform.indexOf("rotate(-90deg)")>=0?n=-1:o.style.transform.indexOf("rotate(90deg)")>=0&&(n=1));var s=new GIF({workerScript:"gif.js/dist/gif.worker.js",workers:4,quality:10,rotate:n});s.on("finished",function(C){console.log("finished encoding GIF"),t(C)}),e=e||100+(Math.random()*256&3),r=r||100+(Math.random()*256&15);var f=0;console.log("Recording video",o);var d=()=>{f++>r?(console.log("Rendering video"),s.render()):(s.addFrame(o,{delay:e,copy:!0}),setTimeout(d,e))};d()})}async function S(e){if(!c[i])throw Error("Invalid platform '"+i+"'.");a=new c[i]($("#emuscreen")[0]),await a.start(),e.rec&&R().on("focus",()=>{a.resume()});var r=e.n||"Game",t,o=e.url,n=e.r;if(o)return console.log(o),g(o,f=>{y(r,f)},"arraybuffer"),!0;if(n){var s=m(atob(n));t=new u().decode(s)}return M(),y(r,t),!0}async function b(e){if(e.data&&(e=e.data),i=e.p,!i)throw new Error("No platform variable!");try{var r=await v(p(i));console.log("starting platform",i),await S(e)}catch(t){console.log(t),alert('Platform "'+i+'" not supported.')}}function F(){x(),h.p&&b(h)}window.addEventListener("message",O,!1);function O(e){if(e.data){var r=e.data.cmd;if(r=="start"&&!a)b(e);else if(r=="reset")a.reset(),l.reset();else if(r=="getReplay"){var t={frameCount:l.frameCount,checkpoints:l.checkpoints,framerecs:l.framerecs,checkpointInterval:l.checkpointInterval,maxCheckpoints:l.maxCheckpoints};e.source.postMessage({ack:r,replay:t},e.origin)}else if(r=="watchState"){var o=new Function("platform","state",e.data.fn);l.callbackNewCheckpoint=n=>{e.source.postMessage({ack:r,state:o(a,n)},e.origin)}}else r=="recordVideo"?E(e.data.intervalMsec,e.data.maxFrames,function(n){e.data.filename&&(0,k.saveAs)(n,e.data.filename),e.source.postMessage({ack:r,gif:n},e.origin)}):console.log("Unknown data.cmd: "+r)}}self===top&&(document.body.style.backgroundColor="#555");F();export{a as platform,i as platform_id,F as startEmbed,l as stateRecorder};
|
||||
//# sourceMappingURL=embedui.js.map
|
||||
@@ -1,2 +1,2 @@
|
||||
import{G,m as S,r as k}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as P,Z as c,_ as v,aa as R,da as C}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var T=R([[c.START,1,-1],[c.RIGHT,1,-4],[c.LEFT,1,-8],[c.A,1,-16],[c.UP,1,-32],[c.DOWN,1,-64],[c.SELECT,1,-128]]);var U={collision_mask:4,collision_invert:4,scrnbase:16384,charbase:18432};var b=class extends k{constructor(){super();this.cpuFrequency=705562;this.sampleRate=894886;this.numVisibleScanlines=256;this.numTotalScanlines=262;this.cpuCyclesPerLine=42;this.canvasWidth=256;this.defaultROMSize=45056;this.cpu=new S;this.ram=new Uint8Array(28672);this.color_latch=[84,238,107];this.palette=[4278190080,4278190335,4294901760,4294902015,4278255360,4278255615,4294967040,4294967295];this.inputs=new Uint8Array(4);this.keyMap=T;this.handler=v(this.inputs,this.keyMap);this.scrnbase=16384;this.charbase=18432;this.collision_mask=0;this.collision_invert=0;this.current_collision=0;this.pia_regs=new Uint8Array(4);this.bus={read:C([[0,1023,0,t=>this.ram[t]],[4096,16383,0,t=>this.rom[t-4096]],[16384,20479,0,t=>this.ram[t]],[20736,20991,3,t=>t==3?this.int_latch():this.inputs[t]],[20992,21007,3,t=>this.readPIA(t)],[24576,28671,0,t=>this.ram[t]],[32768,65535,0,t=>this.rom[t-32768]]]),write:C([[0,1023,0,(t,e)=>{this.ram[t]=e}],[16384,20479,0,(t,e)=>{this.ram[t]=e}],[20480,20737,0,(t,e)=>{this.ram[t]=e}],[20992,21007,3,(t,e)=>{this.writePIA(t,e)}],[21008,21010,3,(t,e)=>{this.setColorLatch(t,e)}],[24576,28671,0,(t,e)=>{this.ram[t]=e}]])};this.connectCPUMemoryBus(this),this.updatePalette(),this.inputs[0]=234,this.inputs[1]=255}configure(t){this.collision_mask=t.collision_mask,this.collision_invert=t.collision_invert,this.scrnbase=t.scrnbase,this.charbase=t.charbase}loadROM(t){if(super.loadROM(t),t.length==11616)this.rom.set(t.slice(10240,12288),32768),this.rom.set(t.slice(9984,10240),32512),this.rom.set(t.slice(0,10240),2048),this.scrnbase=16384,this.charbase=18432;else if(t.length==14336)this.rom.set(t.slice(13312,14336),32768),this.rom.set(t.slice(12032,12288),32512),this.scrnbase=16384,this.charbase=18432;else if(t.length==32768)this.rom.set(t.slice(30720,32768),32768),this.rom.set(t.slice(0,24576),8192),this.scrnbase=16384,this.charbase=24576;else if(t.length==45056)this.configure(U);else if(t.length!=45056)throw new Error("Warning: ROM size not recognized: "+t.length);let e=32768;this.sprite_gfx=this.rom.subarray(e,e+2048)}read(t){return this.bus.read(t)}readConst(t){return t==20739?this.inputs[3]:this.bus.read(t)}write(t,e){this.bus.write(t,e)}readPIA(t){return this.pia_regs[t&3]}writePIA(t,e){this.pia_regs[t&3]=e}int_latch(){let t=this.inputs[3];t|=this.inputs[1]&128?0:64;let e=this.current_collision^this.collision_invert;return e&=this.collision_mask,t|=e,this.inputs[3]=128,t}checkCollisionM1CHAR(){let t=this.ram[20480],e=this.ram[20544],r=236-t-4,i=244-e-4,a=this.ram[20737];if(a&128&&!(a&16)&&this.collision_mask!=0)return!1;let l=a&32?1:0,o=((this.ram[20736]&15)+16*l)*32;for(let s=0;s<16;s++){let x=i+s;if(x<0||x>=256)continue;let d=x>>3,y=x&7,M=this.sprite_gfx[o+s],m=this.sprite_gfx[o+s+16];for(let n=0;n<16;n++){let _=n<8?M:m,p=n<8?128>>n:128>>n-8;if(!(_&p))continue;let h=r+n;if(h<0||h>=256)continue;let u=h>>3,g=this.ram[this.scrnbase+d*32+u];if(this.ram[this.charbase+g*8+y]&128>>(h&7))return!0}}return!1}checkCollisionM1M2(){let t=236-this.ram[20480]-4,e=244-this.ram[20544]-4,r=236-this.ram[20608]-4,i=244-this.ram[20672]-4;if(t+16<=r||r+16<=t||e+16<=i||i+16<=e)return!1;let a=this.ram[20737],l=a&32?1:0,f=((this.ram[20736]&15)+16*l)*32,o=a&64?1:0,s=((this.ram[20736]>>4)+32+16*o)*32,x=Math.max(t,r),d=Math.min(t+16,r+16),y=Math.max(e,i),M=Math.min(e+16,i+16);for(let m=y;m<M;m++){let n=m-e,_=m-i;for(let p=x;p<d;p++){let h=p-t,u=p-r,g=h<8?this.sprite_gfx[f+n]:this.sprite_gfx[f+n+16],E=h<8?128>>h:128>>h-8,I=u<8?this.sprite_gfx[s+_]:this.sprite_gfx[s+_+16],z=u<8?128>>u:128>>u-8;if(g&E&&I&z)return!0}}return!1}updatePalette(){this.set_1_color(0,0),this.set_1_color(1,7),this.set_1_color(2,0),this.set_1_color(3,6),this.set_1_color(4,4),this.set_1_color(5,3),this.set_1_color(6,2),this.set_1_color(7,1)}set_1_color(t,e){let r=this.color_latch[0]&1<<e?1:0,i=this.color_latch[1]&1<<e?2:0,a=this.color_latch[2]&1<<e?4:0;this.palette[t]=F[r|i|a]}setColorLatch(t,e){this.color_latch[t&3]=e,this.updatePalette()}drawSprite(t,e,r,i){var a=236-t-4,l=244-e-4;if(l+=15,l-=this.scanline,l>=0&&l<16){l=15-l;let f=this.scanline*this.canvasWidth,o=this.sprite_gfx[r+l];for(let s=0;s<8;s++)if(o&128>>s){let x=a+s;x>=0&&x<256&&(this.pixels[f+x]=this.palette[i])}o=this.sprite_gfx[r+l+16];for(let s=0;s<8;s++)if(o&128>>s){let x=a+s+8;x>=0&&x<256&&(this.pixels[f+x]=this.palette[i])}}}drawSprite1(){let t=this.ram[20737];if(t&128&&!(t&16)&&this.collision_mask!=0)return;let e=this.ram[20480],r=this.ram[20544],i=t&32?1:0,a=(this.ram[20736]&15)+16*i;this.drawSprite(e,r,a*32,1)}drawSprite2(){let t=this.ram[20737];if(t&64&&this.collision_mask!=0)return;let e=this.ram[20608],r=this.ram[20672],i=tLine truncated
|
||||
//# sourceMappingURL=exidy-L6KVY44A.js.map
|
||||
import{G,m as S,r as k}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as P,Z as c,_ as v,aa as R,da as C}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var T=R([[c.START,1,-1],[c.RIGHT,1,-4],[c.LEFT,1,-8],[c.A,1,-16],[c.UP,1,-32],[c.DOWN,1,-64],[c.SELECT,1,-128]]);var U={collision_mask:4,collision_invert:4,scrnbase:16384,charbase:18432};var b=class extends k{constructor(){super();this.cpuFrequency=705562;this.sampleRate=894886;this.numVisibleScanlines=256;this.numTotalScanlines=262;this.cpuCyclesPerLine=42;this.canvasWidth=256;this.defaultROMSize=45056;this.cpu=new S;this.ram=new Uint8Array(28672);this.color_latch=[84,238,107];this.palette=[4278190080,4278190335,4294901760,4294902015,4278255360,4278255615,4294967040,4294967295];this.inputs=new Uint8Array(4);this.keyMap=T;this.handler=v(this.inputs,this.keyMap);this.scrnbase=16384;this.charbase=18432;this.collision_mask=0;this.collision_invert=0;this.current_collision=0;this.pia_regs=new Uint8Array(4);this.bus={read:C([[0,1023,0,t=>this.ram[t]],[4096,16383,0,t=>this.rom[t-4096]],[16384,20479,0,t=>this.ram[t]],[20736,20991,3,t=>t==3?this.int_latch():this.inputs[t]],[20992,21007,3,t=>this.readPIA(t)],[24576,28671,0,t=>this.ram[t]],[32768,65535,0,t=>this.rom[t-32768]]]),write:C([[0,1023,0,(t,e)=>{this.ram[t]=e}],[16384,20479,0,(t,e)=>{this.ram[t]=e}],[20480,20737,0,(t,e)=>{this.ram[t]=e}],[20992,21007,3,(t,e)=>{this.writePIA(t,e)}],[21008,21010,3,(t,e)=>{this.setColorLatch(t,e)}],[24576,28671,0,(t,e)=>{this.ram[t]=e}]])};this.connectCPUMemoryBus(this),this.updatePalette(),this.inputs[0]=234,this.inputs[1]=255}configure(t){this.collision_mask=t.collision_mask,this.collision_invert=t.collision_invert,this.scrnbase=t.scrnbase,this.charbase=t.charbase}loadROM(t){if(super.loadROM(t),t.length==11616)this.rom.set(t.slice(10240,12288),32768),this.rom.set(t.slice(9984,10240),32512),this.rom.set(t.slice(0,10240),2048),this.scrnbase=16384,this.charbase=18432;else if(t.length==14336)this.rom.set(t.slice(13312,14336),32768),this.rom.set(t.slice(12032,12288),32512),this.scrnbase=16384,this.charbase=18432;else if(t.length==32768)this.rom.set(t.slice(30720,32768),32768),this.rom.set(t.slice(0,24576),8192),this.scrnbase=16384,this.charbase=24576;else if(t.length==45056)this.configure(U);else if(t.length!=45056)throw new Error("Warning: ROM size not recognized: "+t.length);let e=32768;this.sprite_gfx=this.rom.subarray(e,e+2048)}read(t){return this.bus.read(t)}readConst(t){return t==20739?this.inputs[3]:this.bus.read(t)}write(t,e){this.bus.write(t,e)}readPIA(t){return this.pia_regs[t&3]}writePIA(t,e){this.pia_regs[t&3]=e}int_latch(){let t=this.inputs[3];t|=this.inputs[1]&128?0:64;let e=this.current_collision^this.collision_invert;return e&=this.collision_mask,t|=e,this.inputs[3]=128,t}checkCollisionM1CHAR(){let t=this.ram[20480],e=this.ram[20544],r=236-t-4,i=244-e-4,a=this.ram[20737];if(a&128&&!(a&16)&&this.collision_mask!=0)return!1;let l=a&32?1:0,o=((this.ram[20736]&15)+16*l)*32;for(let s=0;s<16;s++){let x=i+s;if(x<0||x>=256)continue;let d=x>>3,y=x&7,M=this.sprite_gfx[o+s],m=this.sprite_gfx[o+s+16];for(let n=0;n<16;n++){let _=n<8?M:m,p=n<8?128>>n:128>>n-8;if(!(_&p))continue;let h=r+n;if(h<0||h>=256)continue;let u=h>>3,g=this.ram[this.scrnbase+d*32+u];if(this.ram[this.charbase+g*8+y]&128>>(h&7))return!0}}return!1}checkCollisionM1M2(){let t=236-this.ram[20480]-4,e=244-this.ram[20544]-4,r=236-this.ram[20608]-4,i=244-this.ram[20672]-4;if(t+16<=r||r+16<=t||e+16<=i||i+16<=e)return!1;let a=this.ram[20737],l=a&32?1:0,f=((this.ram[20736]&15)+16*l)*32,o=a&64?1:0,s=((this.ram[20736]>>4)+32+16*o)*32,x=Math.max(t,r),d=Math.min(t+16,r+16),y=Math.max(e,i),M=Math.min(e+16,i+16);for(let m=y;m<M;m++){let n=m-e,_=m-i;for(let p=x;p<d;p++){let h=p-t,u=p-r,g=h<8?this.sprite_gfx[f+n]:this.sprite_gfx[f+n+16],E=h<8?128>>h:128>>h-8,I=u<8?this.sprite_gfx[s+_]:this.sprite_gfx[s+_+16],z=u<8?128>>u:128>>u-8;if(g&E&&I&z)return!0}}return!1}updatePalette(){this.set_1_color(0,0),this.set_1_color(1,7),this.set_1_color(2,0),this.set_1_color(3,6),this.set_1_color(4,4),this.set_1_color(5,3),this.set_1_color(6,2),this.set_1_color(7,1)}set_1_color(t,e){let r=this.color_latch[0]&1<<e?1:0,i=this.color_latch[1]&1<<e?2:0,a=this.color_latch[2]&1<<e?4:0;this.palette[t]=F[r|i|a]}setColorLatch(t,e){this.color_latch[t&3]=e,this.updatePalette()}drawSprite(t,e,r,i){var a=236-t-4,l=244-e-4;if(l+=15,l-=this.scanline,l>=0&&l<16){l=15-l;let f=this.scanline*this.canvasWidth,o=this.sprite_gfx[r+l];for(let s=0;s<8;s++)if(o&128>>s){let x=a+s;x>=0&&x<256&&(this.pixels[f+x]=this.palette[i])}o=this.sprite_gfx[r+l+16];for(let s=0;s<8;s++)if(o&128>>s){let x=a+s+8;x>=0&&x<256&&(this.pixels[f+x]=this.palette[i])}}}drawSprite1(){let t=this.ram[20737];if(t&128&&!(t&16)&&this.collision_mask!=0)return;let e=this.ram[20480],r=this.ram[20544],i=t&32?1:0,a=(this.ram[20736]&15)+16*i;this.drawSprite(e,r,a*32,1)}drawSprite2(){let t=this.ram[20737];if(t&64&&this.collision_mask!=0)return;let e=this.ram[20608],r=this.ram[20672],i=tLine truncated
|
||||
//# sourceMappingURL=exidy-RMOHPADZ.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{H as Q,c as z,d as X,e as L,k as j,r as J}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as B,M as N,U as Y,Z as s,_ as q,aa as F,ca as Z,da as _}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var o0=F([[s.A,0,16],[s.LEFT,0,4],[s.RIGHT,0,8],[s.P2_A,1,16],[s.P2_LEFT,1,4],[s.P2_RIGHT,1,8],[s.SELECT,0,1],[s.START,1,1],[s.VK_2,1,2]]),h0=F([[s.UP,0,-1],[s.B,0,-2],[s.VK_7,0,-4],[s.A,0,-8],[s.RIGHT,0,-16],[s.LEFT,0,-32],[s.VK_6,0,-64],[s.SELECT,0,-128],[s.START,1,-128],[s.VK_2,1,-64],[s.DOWN,2,-64]]),u0=[33,71,151,8448,18176,38656,5308416,11403264],c0=function(n,b,t,e,f){var u=f.gfxBase||10240;this.missileWidth=f.missileWidth||4,this.missileOffset=f.missileOffset||0,this.showOffscreenObjects=!1,this.frameCounter=0,this.starsEnabled=0;for(var k=[],T=0;T<256;T++)k[T]=N();this.advanceFrame=function(){this.frameCounter=this.frameCounter+1&255},this.drawScanline=function(c,x){var l=x*264;if(!this.showOffscreenObjects&&(x<16||x>=240)){for(var r=0;r<264;r++)c[l+r]=4278190080;return}for(var a=l,C=0;C<32;C++)for(var I=C,s0=t[I*2],a0=t[I*2+1],D=x+s0&255,i0=D>>3<<5,o=D&7,n0=b[i0+I],A=(a0&7)<<2,m=u+(n0<<3)+o,d=n[m],v=n[m+2048],r=0;r<8;r++){var h=128>>r,p=A+(d&h?1:0)+(v&h?2:0);c[a]=e[p],a++}for(var w=7;w>=0;w--){var y=(w<<2)+64,f0=t[y],P=240-(f0-(w<3?1:0)),o=x-P;if(o>=0&&o<16){var O=t[y+3]+1;if(O==0&&!this.showOffscreenObjects)continue;var E=t[y+1],K=E&64;E&128&&(o=15-o),E&=63;var A=(t[y+2]&7)<<2,m=u+(E<<5)+(o<8?o:o+8);a=l+O;for(var d=n[m],v=n[m+2048],r=0;r<8;r++){var h=128>>r,p=(d&h?1:0)+(v&h?2:0);p&&(c[K?a+15-r:a+r]=e[A+p])}for(var d=n[m+8],v=n[m+2056],r=0;r<8;r++){var h=128>>r,p=(d&h?1:0)+(v&h?2:0);p&&(c[K?a+7-r:a+r+8]=e[A+p])}}}for(var G=255,W=255,i=0;i<8;i++){var P=t[96+(i<<2)+1];(P+x-(i<3?1:0)&255)==255&&(i!=7?G=i:W=i)}for(var r=0;r<2;r++)if(i=r?W:G,i!=255)for(var O=255-t[96+(i<<2)+3],a=l+O-this.missileOffset,x0=i==7?4294967040:4294967295,H=0;H<this.missileWidth;H++)c[a++]=x0;if(this.starsEnabled){var V=this.frameCounter+k[x&255]&255;if(V+x&16){var a=l+V;(c[a]&16777215)==0&&(c[a]=e[x&31])}}}},t0=18432e3,m0=264,e0=t0/6,r0=t0/3/192/2,p0=r0/132/2,O0=1/p0*(20/132),l0=e0/r0,M=8,$=2,d0=60*m0,g=class extends J{constructor(){super();this.options={};this.palBase=14336;this.keyMap=o0;this.cpuFrequency=e0;this.canvasWidth=264;this.numTotalScanlines=264;this.numVisibleScanlines=264;this.defaultROMSize=16384;this.sampleRate=d0*$;this.cpuCyclesPerLine=l0|0;this.rotate=90;this.cpu=new z;this.ram=new Uint8Array(2048);this.vram=new Uint8Array(1024);this.oram=new Uint8Array(256);this.watchdog_counter=0;this.interruptEnabled=0;this.defaultInputs=[14,8,0];this.read=_([[0,16383,0,t=>this.rom?this.rom[t]:null],[16384,18431,1023,t=>this.ram[t]],[20480,22527,1023,t=>this.vram[t]],[22528,24575,255,t=>this.oram[t]],[24576,24576,0,t=>this.inputs[0]],[26624,26624,0,t=>this.inputs[1]],[28672,28672,0,t=>this.inputs[2]],[30720,30720,0,t=>{this.watchdog_counter=M}]]);this.write=_([[16384,18431,1023,(t,e)=>{this.ram[t]=e}],[20480,22527,1023,(t,e)=>{this.vram[t]=e}],[22528,24575,255,(t,e)=>{this.oram[t]=e}],[28673,28673,0,(t,e)=>{this.interruptEnabled=e&1}],[28676,28676,0,(t,e)=>{this.gfx.starsEnabled=e&1}]]);var t=new X;this.psg1=new L(t),this.psg2=new L(t),this.audioadapter=new j([this.psg1.psg,this.psg2.psg],$,this.sampleRate),this.init()}init(){this.rom=new Uint8Array(this.defaultROMSize),this.palette=new Uint32Array(new ArrayBuffer(128)),this.gfx=new c0(this.rom,this.vram,this.oram,this.palette,this.options),this.connectCPUMemoryBus(this),this.connectCPUIOBus(this.newIOBus()),this.inputs.set(this.defaultInputs),this.handler=q(this.inputs,this.keyMap)}readConst(t){return t<28672?this.read(t):null}newIOBus(){return{read:t=>0,write:(t,e)=>{t&1&&this.psg1.selectRegister(e&15),t&2&&this.psg1.setData(e),t&4&&this.psg2.selectRegister(e&15),t&8&&this.psg2.setData(e)}}}reset(){super.reset(),this.psg1.reset(),this.psg2.reset(),this.watchdog_counter=M}startScanline(){this.audio&&this.audioadapter&&this.audioadapter.generate(this.audio)}drawScanline(){this.gfx.drawScanline(this.pixels,this.scanline)}advanceFrame(t){var e=super.advanceFrame(t);if(this.gfx.advanceFrame(),!this.gfx.showOffscreenObjects)for(var f=0;f<264;f++)this.pixels.fill(4278190080,256+f*264,264+f*264);if(this.watchdog_counter--<=0)throw new Y("WATCHDOG FIRED");return this.interruptEnabled&&this.cpu.NMI(),e}loadROM(t){this.rom.set(Z(t,this.defaultROMSize));for(var e=0;e<32;e++){var f=this.rom[this.palBase+e];this.palette[e]=4278190080;for(var u=0;u<8;u++)1<<u&f&&(this.palette[e]+=u0[u])}}loadState(t){super.loadState(t),this.vram.set(t.bv),this.oram.set(t.bo),this.watchdog_counter=t.wdc,this.interruptEnabled=t.ie,this.gfx.starsEnabled=t.se,this.gfx.frameCounter=t.fc}saveState(){var t=super.saveState();return t.bv=this.vram.slice(0),t.bo=this.oram.slice(0),t.fc=this.gfx.frameCounter,t.ie=this.interruptEnabled,t.se=this.gfx.starsEnabled,t.wdc=this.watchdog_counter,t}},S=class extends g{constructor(){super();this.defaultROMSize=20512;this.palBase=20480;this.scramble=!Line truncated
|
||||
//# sourceMappingURL=galaxian-CJMJ6QQE.js.map
|
||||
import{H as Q,c as z,d as X,e as L,k as j,r as J}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as B,M as N,U as Y,Z as s,_ as q,aa as F,ca as Z,da as _}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var o0=F([[s.A,0,16],[s.LEFT,0,4],[s.RIGHT,0,8],[s.P2_A,1,16],[s.P2_LEFT,1,4],[s.P2_RIGHT,1,8],[s.SELECT,0,1],[s.START,1,1],[s.VK_2,1,2]]),h0=F([[s.UP,0,-1],[s.B,0,-2],[s.VK_7,0,-4],[s.A,0,-8],[s.RIGHT,0,-16],[s.LEFT,0,-32],[s.VK_6,0,-64],[s.SELECT,0,-128],[s.START,1,-128],[s.VK_2,1,-64],[s.DOWN,2,-64]]),u0=[33,71,151,8448,18176,38656,5308416,11403264],c0=function(n,b,t,e,f){var u=f.gfxBase||10240;this.missileWidth=f.missileWidth||4,this.missileOffset=f.missileOffset||0,this.showOffscreenObjects=!1,this.frameCounter=0,this.starsEnabled=0;for(var k=[],T=0;T<256;T++)k[T]=N();this.advanceFrame=function(){this.frameCounter=this.frameCounter+1&255},this.drawScanline=function(c,x){var l=x*264;if(!this.showOffscreenObjects&&(x<16||x>=240)){for(var r=0;r<264;r++)c[l+r]=4278190080;return}for(var a=l,C=0;C<32;C++)for(var I=C,s0=t[I*2],a0=t[I*2+1],D=x+s0&255,i0=D>>3<<5,o=D&7,n0=b[i0+I],A=(a0&7)<<2,m=u+(n0<<3)+o,d=n[m],v=n[m+2048],r=0;r<8;r++){var h=128>>r,p=A+(d&h?1:0)+(v&h?2:0);c[a]=e[p],a++}for(var w=7;w>=0;w--){var y=(w<<2)+64,f0=t[y],P=240-(f0-(w<3?1:0)),o=x-P;if(o>=0&&o<16){var O=t[y+3]+1;if(O==0&&!this.showOffscreenObjects)continue;var E=t[y+1],K=E&64;E&128&&(o=15-o),E&=63;var A=(t[y+2]&7)<<2,m=u+(E<<5)+(o<8?o:o+8);a=l+O;for(var d=n[m],v=n[m+2048],r=0;r<8;r++){var h=128>>r,p=(d&h?1:0)+(v&h?2:0);p&&(c[K?a+15-r:a+r]=e[A+p])}for(var d=n[m+8],v=n[m+2056],r=0;r<8;r++){var h=128>>r,p=(d&h?1:0)+(v&h?2:0);p&&(c[K?a+7-r:a+r+8]=e[A+p])}}}for(var G=255,W=255,i=0;i<8;i++){var P=t[96+(i<<2)+1];(P+x-(i<3?1:0)&255)==255&&(i!=7?G=i:W=i)}for(var r=0;r<2;r++)if(i=r?W:G,i!=255)for(var O=255-t[96+(i<<2)+3],a=l+O-this.missileOffset,x0=i==7?4294967040:4294967295,H=0;H<this.missileWidth;H++)c[a++]=x0;if(this.starsEnabled){var V=this.frameCounter+k[x&255]&255;if(V+x&16){var a=l+V;(c[a]&16777215)==0&&(c[a]=e[x&31])}}}},t0=18432e3,m0=264,e0=t0/6,r0=t0/3/192/2,p0=r0/132/2,O0=1/p0*(20/132),l0=e0/r0,M=8,$=2,d0=60*m0,g=class extends J{constructor(){super();this.options={};this.palBase=14336;this.keyMap=o0;this.cpuFrequency=e0;this.canvasWidth=264;this.numTotalScanlines=264;this.numVisibleScanlines=264;this.defaultROMSize=16384;this.sampleRate=d0*$;this.cpuCyclesPerLine=l0|0;this.rotate=90;this.cpu=new z;this.ram=new Uint8Array(2048);this.vram=new Uint8Array(1024);this.oram=new Uint8Array(256);this.watchdog_counter=0;this.interruptEnabled=0;this.defaultInputs=[14,8,0];this.read=_([[0,16383,0,t=>this.rom?this.rom[t]:null],[16384,18431,1023,t=>this.ram[t]],[20480,22527,1023,t=>this.vram[t]],[22528,24575,255,t=>this.oram[t]],[24576,24576,0,t=>this.inputs[0]],[26624,26624,0,t=>this.inputs[1]],[28672,28672,0,t=>this.inputs[2]],[30720,30720,0,t=>{this.watchdog_counter=M}]]);this.write=_([[16384,18431,1023,(t,e)=>{this.ram[t]=e}],[20480,22527,1023,(t,e)=>{this.vram[t]=e}],[22528,24575,255,(t,e)=>{this.oram[t]=e}],[28673,28673,0,(t,e)=>{this.interruptEnabled=e&1}],[28676,28676,0,(t,e)=>{this.gfx.starsEnabled=e&1}]]);var t=new X;this.psg1=new L(t),this.psg2=new L(t),this.audioadapter=new j([this.psg1.psg,this.psg2.psg],$,this.sampleRate),this.init()}init(){this.rom=new Uint8Array(this.defaultROMSize),this.palette=new Uint32Array(new ArrayBuffer(128)),this.gfx=new c0(this.rom,this.vram,this.oram,this.palette,this.options),this.connectCPUMemoryBus(this),this.connectCPUIOBus(this.newIOBus()),this.inputs.set(this.defaultInputs),this.handler=q(this.inputs,this.keyMap)}readConst(t){return t<28672?this.read(t):null}newIOBus(){return{read:t=>0,write:(t,e)=>{t&1&&this.psg1.selectRegister(e&15),t&2&&this.psg1.setData(e),t&4&&this.psg2.selectRegister(e&15),t&8&&this.psg2.setData(e)}}}reset(){super.reset(),this.psg1.reset(),this.psg2.reset(),this.watchdog_counter=M}startScanline(){this.audio&&this.audioadapter&&this.audioadapter.generate(this.audio)}drawScanline(){this.gfx.drawScanline(this.pixels,this.scanline)}advanceFrame(t){var e=super.advanceFrame(t);if(this.gfx.advanceFrame(),!this.gfx.showOffscreenObjects)for(var f=0;f<264;f++)this.pixels.fill(4278190080,256+f*264,264+f*264);if(this.watchdog_counter--<=0)throw new Y("WATCHDOG FIRED");return this.interruptEnabled&&this.cpu.NMI(),e}loadROM(t){this.rom.set(Z(t,this.defaultROMSize));for(var e=0;e<32;e++){var f=this.rom[this.palBase+e];this.palette[e]=4278190080;for(var u=0;u<8;u++)1<<u&f&&(this.palette[e]+=u0[u])}}loadState(t){super.loadState(t),this.vram.set(t.bv),this.oram.set(t.bo),this.watchdog_counter=t.wdc,this.interruptEnabled=t.ie,this.gfx.starsEnabled=t.se,this.gfx.frameCounter=t.fc}saveState(){var t=super.saveState();return t.bv=this.vram.slice(0),t.bo=this.oram.slice(0),t.fc=this.gfx.frameCounter,t.ie=this.interruptEnabled,t.se=this.gfx.starsEnabled,t.wdc=this.watchdog_counter,t}},S=class extends g{constructor(){super();this.defaultROMSize=20512;this.palBase=20480;this.scramble=!Line truncated
|
||||
//# sourceMappingURL=galaxian-OHSHF73Y.js.map
|
||||
File renamed without changes.
@@ -1,4 +1,4 @@
|
||||
import{a as L,b as Q}from"./chunk-BPKA7VND.js";import{B as Y,E as J,F as $,r as K,u as U}from"./chunk-QYEDG265.js";import{b as Z}from"./chunk-UACHXWHT.js";import{L as W,U as O,Z as g,_ as z,aa as N,da as j,g as l}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var m=class m{constructor(){this.A=0;this.F=0;this.B=0;this.C=0;this.D=0;this.E=0;this.H=0;this.L=0;this.SP=65534;this.PC=256;this.ime=!1;this.imeDelay=!1;this.halted=!1;this.interruptFlags=0;this.cyclesPerInsn=0;this.o=0;this.stable=!0}connectMemoryBus(t){this.bus=t}reset(){this.A=1,this.F=176,this.B=0,this.C=19,this.D=0,this.E=216,this.H=1,this.L=77,this.SP=65534,this.PC=256,this.ime=!1,this.imeDelay=!1,this.halted=!1,this.interruptFlags=0}interrupt(t){this.interruptFlags|=t}getPC(){return this.PC}getSP(){return this.SP}isStable(){return this.stable}saveState(){return{PC:this.PC,SP:this.SP,AF:this.A<<8|this.F,BC:this.B<<8|this.C,DE:this.D<<8|this.E,HL:this.H<<8|this.L,o:this.o,ime:this.ime?1:0,halted:this.halted,interrupt:this.interruptFlags}}loadState(t){this.PC=t.PC,this.SP=t.SP,this.A=t.AF>>8&255,this.F=t.AF&240,this.B=t.BC>>8&255,this.C=t.BC&255,this.D=t.DE>>8&255,this.E=t.DE&255,this.H=t.HL>>8&255,this.L=t.HL&255,this.o=t.o,this.ime=!!t.ime,this.halted=t.halted,this.interruptFlags=t.interrupt}getAF(){return this.A<<8|this.F&240}getBC(){return this.B<<8|this.C}getDE(){return this.D<<8|this.E}getHL(){return this.H<<8|this.L}setAF(t){this.A=t>>8&255,this.F=t&240}setBC(t){this.B=t>>8&255,this.C=t&255}setDE(t){this.D=t>>8&255,this.E=t&255}setHL(t){this.H=t>>8&255,this.L=t&255}read(t){return this.bus.read(t&65535)}write(t,e){this.bus.write(t&65535,e&255)}readWord(t){return this.read(t)|this.read(t+1)<<8}writeWord(t,e){this.write(t,e&255),this.write(t+1,e>>8&255)}fetchByte(){var t=this.read(this.PC);return this.PC=this.PC+1&65535,t}fetchWord(){var t=this.fetchByte(),e=this.fetchByte();return e<<8|t}fetchSignedByte(){var t=this.fetchByte();return t<128?t:t-256}pushWord(t){this.SP=this.SP-1&65535,this.write(this.SP,t>>8&255),this.SP=this.SP-1&65535,this.write(this.SP,t&255)}popWord(){var t=this.read(this.SP);this.SP=this.SP+1&65535;var e=this.read(this.SP);return this.SP=this.SP+1&65535,e<<8|t}getZ(){return!!(this.F&m.FLAG_Z)}getN(){return!!(this.F&m.FLAG_N)}getH(){return!!(this.F&m.FLAG_H)}getC(){return!!(this.F&m.FLAG_C)}setZ(t){t?this.F|=m.FLAG_Z:this.F&=~m.FLAG_Z}setN(t){t?this.F|=m.FLAG_N:this.F&=~m.FLAG_N}setH(t){t?this.F|=m.FLAG_H:this.F&=~m.FLAG_H}setC(t){t?this.F|=m.FLAG_C:this.F&=~m.FLAG_C}setFlags(t,e,s,i){this.F=(t?m.FLAG_Z:0)|(e?m.FLAG_N:0)|(s?m.FLAG_H:0)|(i?m.FLAG_C:0)}getReg(t){switch(t){case 0:return this.B;case 1:return this.C;case 2:return this.D;case 3:return this.E;case 4:return this.H;case 5:return this.L;case 6:return this.read(this.getHL());case 7:return this.A}return 0}setReg(t,e){switch(e&=255,t){case 0:this.B=e;break;case 1:this.C=e;break;case 2:this.D=e;break;case 3:this.E=e;break;case 4:this.H=e;break;case 5:this.L=e;break;case 6:this.write(this.getHL(),e);break;case 7:this.A=e;break}}getReg16(t){switch(t){case 0:return this.getBC();case 1:return this.getDE();case 2:return this.getHL();case 3:return this.SP}return 0}setReg16(t,e){switch(e&=65535,t){case 0:this.setBC(e);break;case 1:this.setDE(e);break;case 2:this.setHL(e);break;case 3:this.SP=e;break}}getReg16AF(t){switch(t){case 0:return this.getBC();case 1:return this.getDE();case 2:return this.getHL();case 3:return this.getAF()}return 0}setReg16AF(t,e){switch(e&=65535,t){case 0:this.setBC(e);break;case 1:this.setDE(e);break;case 2:this.setHL(e);break;case 3:this.setAF(e);break}}checkCondition(t){switch(t){case 0:return!this.getZ();case 1:return this.getZ();case 2:return!this.getC();case 3:return this.getC()}return!1}addA(t){var e=this.A+t;this.setFlags((e&255)===0,!1,(this.A&15)+(t&15)>15,e>255),this.A=e&255}adcA(t){var e=this.getC()?1:0,s=this.A+t+e;this.setFlags((s&255)===0,!1,(this.A&15)+(t&15)+e>15,s>255),this.A=s&255}subA(t){var e=this.A-t;this.setFlags((e&255)===0,!0,(this.A&15)<(t&15),e<0),this.A=e&255}sbcA(t){var e=this.getC()?1:0,s=this.A-t-e;this.setFlags((s&255)===0,!0,(this.A&15)<(t&15)+e,s<0),this.A=s&255}andA(t){this.A&=t,this.setFlags(this.A===0,!1,!0,!1)}xorA(t){this.A^=t,this.A&=255,this.setFlags(this.A===0,!1,!1,!1)}orA(t){this.A|=t,this.A&=255,this.setFlags(this.A===0,!1,!1,!1)}cpA(t){var e=this.A-t;this.setFlags((e&255)===0,!0,(this.A&15)<(t&15),e<0)}aluOp(t,e){switch(t){case 0:this.addA(e);break;case 1:this.adcA(e);break;case 2:this.subA(e);break;case 3:this.sbcA(e);break;case 4:this.andA(e);break;case 5:this.xorA(e);break;case 6:this.orA(e);break;case 7:this.cpA(e);break}}inc8(t){var e=t+1&255;return this.setZ(e===0),this.setN(!1),this.setH((t&15)===15),e}dec8(t){var e=t-1&255;return this.setZ(e===0),this.setN(!0),this.setH((t&15)===0),e}addHL(t){var e=this.getHL(),s=e+t;this.setN(!1),this.setH((e&4095)+(t&4095)>4095),this.setC(s>65535),this.setHL(s&65535)}daa(){var t=this.A;this.getN()?(this.getC()&&(t-=96),this.getH()&&(t-=6)):((this.getC()||Line truncated
|
||||
import{a as L,b as Q}from"./chunk-BPKA7VND.js";import{B as Y,E as J,F as $,r as K,u as U}from"./chunk-RWTUUV4L.js";import{b as Z}from"./chunk-UXRCACYH.js";import{L as W,U as O,Z as g,_ as z,aa as N,da as j,g as l}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var m=class m{constructor(){this.A=0;this.F=0;this.B=0;this.C=0;this.D=0;this.E=0;this.H=0;this.L=0;this.SP=65534;this.PC=256;this.ime=!1;this.imeDelay=!1;this.halted=!1;this.interruptFlags=0;this.cyclesPerInsn=0;this.o=0;this.stable=!0}connectMemoryBus(t){this.bus=t}reset(){this.A=1,this.F=176,this.B=0,this.C=19,this.D=0,this.E=216,this.H=1,this.L=77,this.SP=65534,this.PC=256,this.ime=!1,this.imeDelay=!1,this.halted=!1,this.interruptFlags=0}interrupt(t){this.interruptFlags|=t}getPC(){return this.PC}getSP(){return this.SP}isStable(){return this.stable}saveState(){return{PC:this.PC,SP:this.SP,AF:this.A<<8|this.F,BC:this.B<<8|this.C,DE:this.D<<8|this.E,HL:this.H<<8|this.L,o:this.o,ime:this.ime?1:0,halted:this.halted,interrupt:this.interruptFlags}}loadState(t){this.PC=t.PC,this.SP=t.SP,this.A=t.AF>>8&255,this.F=t.AF&240,this.B=t.BC>>8&255,this.C=t.BC&255,this.D=t.DE>>8&255,this.E=t.DE&255,this.H=t.HL>>8&255,this.L=t.HL&255,this.o=t.o,this.ime=!!t.ime,this.halted=t.halted,this.interruptFlags=t.interrupt}getAF(){return this.A<<8|this.F&240}getBC(){return this.B<<8|this.C}getDE(){return this.D<<8|this.E}getHL(){return this.H<<8|this.L}setAF(t){this.A=t>>8&255,this.F=t&240}setBC(t){this.B=t>>8&255,this.C=t&255}setDE(t){this.D=t>>8&255,this.E=t&255}setHL(t){this.H=t>>8&255,this.L=t&255}read(t){return this.bus.read(t&65535)}write(t,e){this.bus.write(t&65535,e&255)}readWord(t){return this.read(t)|this.read(t+1)<<8}writeWord(t,e){this.write(t,e&255),this.write(t+1,e>>8&255)}fetchByte(){var t=this.read(this.PC);return this.PC=this.PC+1&65535,t}fetchWord(){var t=this.fetchByte(),e=this.fetchByte();return e<<8|t}fetchSignedByte(){var t=this.fetchByte();return t<128?t:t-256}pushWord(t){this.SP=this.SP-1&65535,this.write(this.SP,t>>8&255),this.SP=this.SP-1&65535,this.write(this.SP,t&255)}popWord(){var t=this.read(this.SP);this.SP=this.SP+1&65535;var e=this.read(this.SP);return this.SP=this.SP+1&65535,e<<8|t}getZ(){return!!(this.F&m.FLAG_Z)}getN(){return!!(this.F&m.FLAG_N)}getH(){return!!(this.F&m.FLAG_H)}getC(){return!!(this.F&m.FLAG_C)}setZ(t){t?this.F|=m.FLAG_Z:this.F&=~m.FLAG_Z}setN(t){t?this.F|=m.FLAG_N:this.F&=~m.FLAG_N}setH(t){t?this.F|=m.FLAG_H:this.F&=~m.FLAG_H}setC(t){t?this.F|=m.FLAG_C:this.F&=~m.FLAG_C}setFlags(t,e,s,i){this.F=(t?m.FLAG_Z:0)|(e?m.FLAG_N:0)|(s?m.FLAG_H:0)|(i?m.FLAG_C:0)}getReg(t){switch(t){case 0:return this.B;case 1:return this.C;case 2:return this.D;case 3:return this.E;case 4:return this.H;case 5:return this.L;case 6:return this.read(this.getHL());case 7:return this.A}return 0}setReg(t,e){switch(e&=255,t){case 0:this.B=e;break;case 1:this.C=e;break;case 2:this.D=e;break;case 3:this.E=e;break;case 4:this.H=e;break;case 5:this.L=e;break;case 6:this.write(this.getHL(),e);break;case 7:this.A=e;break}}getReg16(t){switch(t){case 0:return this.getBC();case 1:return this.getDE();case 2:return this.getHL();case 3:return this.SP}return 0}setReg16(t,e){switch(e&=65535,t){case 0:this.setBC(e);break;case 1:this.setDE(e);break;case 2:this.setHL(e);break;case 3:this.SP=e;break}}getReg16AF(t){switch(t){case 0:return this.getBC();case 1:return this.getDE();case 2:return this.getHL();case 3:return this.getAF()}return 0}setReg16AF(t,e){switch(e&=65535,t){case 0:this.setBC(e);break;case 1:this.setDE(e);break;case 2:this.setHL(e);break;case 3:this.setAF(e);break}}checkCondition(t){switch(t){case 0:return!this.getZ();case 1:return this.getZ();case 2:return!this.getC();case 3:return this.getC()}return!1}addA(t){var e=this.A+t;this.setFlags((e&255)===0,!1,(this.A&15)+(t&15)>15,e>255),this.A=e&255}adcA(t){var e=this.getC()?1:0,s=this.A+t+e;this.setFlags((s&255)===0,!1,(this.A&15)+(t&15)+e>15,s>255),this.A=s&255}subA(t){var e=this.A-t;this.setFlags((e&255)===0,!0,(this.A&15)<(t&15),e<0),this.A=e&255}sbcA(t){var e=this.getC()?1:0,s=this.A-t-e;this.setFlags((s&255)===0,!0,(this.A&15)<(t&15)+e,s<0),this.A=s&255}andA(t){this.A&=t,this.setFlags(this.A===0,!1,!0,!1)}xorA(t){this.A^=t,this.A&=255,this.setFlags(this.A===0,!1,!1,!1)}orA(t){this.A|=t,this.A&=255,this.setFlags(this.A===0,!1,!1,!1)}cpA(t){var e=this.A-t;this.setFlags((e&255)===0,!0,(this.A&15)<(t&15),e<0)}aluOp(t,e){switch(t){case 0:this.addA(e);break;case 1:this.adcA(e);break;case 2:this.subA(e);break;case 3:this.sbcA(e);break;case 4:this.andA(e);break;case 5:this.xorA(e);break;case 6:this.orA(e);break;case 7:this.cpA(e);break}}inc8(t){var e=t+1&255;return this.setZ(e===0),this.setN(!1),this.setH((t&15)===15),e}dec8(t){var e=t-1&255;return this.setZ(e===0),this.setN(!0),this.setH((t&15)===0),e}addHL(t){var e=this.getHL(),s=e+t;this.setN(!1),this.setH((e&4095)+(t&4095)>4095),this.setC(s>65535),this.setHL(s&65535)}daa(){var t=this.A;this.getN()?(this.getC()&&(t-=96),this.getH()&&(t-=6)):((this.getC()||Line truncated
|
||||
LY `+l(this.ly,2)+" LYC "+l(this.lyc,2)+`
|
||||
SCX `+l(this.scx,2)+" SCY "+l(this.scy,2)+`
|
||||
WX `+l(this.wx,2)+" WY "+l(this.wy,2)+`
|
||||
@@ -14,4 +14,4 @@ SPD `+(this.doubleSpeed?"2x":"1x")+`
|
||||
`),this.hasRTC&&(this.syncRTC(),i+=`--- RTC ---
|
||||
`+l(this.rtcHour,2)+":"+l(this.rtcMin,2)+":"+l(this.rtcSec,2)+" day "+this.rtcDay+(this.rtcHalt?" HALT":"")+(this.rtcCarry?" CARRY":"")+`
|
||||
`),i}}};var te=[{id:"hello.c",name:"Hello World",category:"C"},{id:"typewriter.c",name:"Typewriter Text"},{id:"testdrawing.c",name:"Drawing Routines"},{id:"joypad.c",name:"Joypad Input"},{id:"testphys.c",name:"Sprite Movement"},{id:"sprites.c",name:"Multiple Sprites"},{id:"metasprites.c",name:"Metasprites"},{id:"paint.c",name:"Paint Program"},{id:"scroll.c",name:"Scrolling"},{id:"large_map.c",name:"Large Scrolling Map"},{id:"window.c",name:"Window Status Bar"},{id:"galaxy.c",name:"Window + Sprites"},{id:"raster.c",name:"STAT/LYC Raster Effects"},{id:"interrupts.c",name:"VBlank + Timer Interrupts"},{id:"vram.c",name:"VRAM/OAM Access"},{id:"gbc.c",name:"Game Boy Color"},{id:"gbdecompress.c",name:"Decompression"},{id:"music.c",name:"Music Player"},{id:"clock.c",name:"MBC3 Real-Time Clock"},{id:"banking.c",name:"ROM Bank Switching"},{id:"siegegame.c",name:"Siege Game",category:"Games"},{id:"climber.c",name:"Climber Game"},{id:"chase.c",name:"Shiru's Chase Game"},{id:"pakupaku.c",name:"Paku Paku"},{id:"hello.sgb",name:"Hello World (ASM)",category:"Assembler"},{id:"main.wiz",name:"Snake Game (Wiz)"}],q=class extends ${constructor(){super(...arguments);this.getToolForFilename=Z;this.lcdPersistence=.5}newMachine(){return new T}getPresets(){return te}getDefaultExtensions(){return[".c",".ns",".s",".scc",".sgb",".z",".wiz"]}readAddress(e){return this.machine.read(e)}readVRAMAddress(e){return this.machine.readVRAMAddress(e)}async start(){var e;if(await super.start(),typeof HTMLCanvasElement!="undefined"&&((e=this.video)==null?void 0:e.canvas)instanceof HTMLCanvasElement){let s=this.video.updateFrame.bind(this.video);this.video.updateFrame=(...i)=>{this.applyLCDPersistence(),s(...i)}}}applyLCDPersistence(){if(!(this.lcdPersistence>0)||this.machine.cgbMode){this.lcdPrevFrame=null;return}let e=this.video.getFrameData(),s=this.lcdPrevFrame;if(!s||s.length!=e.length){this.lcdPrevFrame=new Uint32Array(e);return}let i=Math.round(this.lcdPersistence*256),h=256-i;for(let r=0;r<e.length;r++){let a=e[r],c=s[r];if(a===c)continue;let o=(c&255)*i+(a&255)*h>>8,n=(c>>8&255)*i+(a>>8&255)*h>>8,u=(c>>16&255)*i+(a>>16&255)*h>>8;s[r]=e[r]=4278190080|u<<16|n<<8|o}}getOriginPC(){return 256}getROMExtension(){return".gb"}getMemoryMap(){return{main:[{name:"ROM Bank 0",start:0,size:16384,type:"rom"},{name:"ROM Bank 1+",start:16384,size:16384,type:"rom"},{name:"Video RAM",start:32768,size:8192,type:"ram"},{name:"External RAM",start:40960,size:8192,type:"ram"},{name:"Work RAM",start:49152,size:8192,type:"ram"},{name:"OAM",start:65024,size:160,type:"ram"},{name:"I/O Registers",start:65280,size:128,type:"io"},{name:"High RAM",start:65408,size:127,type:"ram"}]}}getDebugCategories(){return U(this.machine)?this.machine.getDebugCategories():["CPU","Stack","PPU"]}getDebugInfo(e,s){switch(e){case"CPU":return Y(s.c);case"Stack":{var i=s.c.SP-1&65535,h=i&65280,r=h+255;return i==0&&(i=65536),J(this,[],h,r,i,205)}default:return U(this.machine)&&this.machine.getDebugInfo(e,s)}}disassemble(e,s){return Q(e,s(e),s(e+1),s(e+2))}showHelp(){return"https://8bitworkshop.com/docs/platforms/gameboy/"}},V=class extends q{constructor(){super(...arguments);this.lcdPersistence=0}newMachine(){var e=new T;return e}getPresets(){return te}getROMExtension(){return".gbc"}getMemoryMap(){return{main:[{name:"ROM Bank 0",start:0,size:16384,type:"rom"},{name:"ROM Bank 1+",start:16384,size:16384,type:"rom"},{name:"Video RAM B0",start:32768,size:8192,type:"ram"},{name:"External RAM",start:40960,size:8192,type:"ram"},{name:"Work RAM 0",start:49152,size:4096,type:"ram"},{name:"Work RAM 1-7",start:53248,size:4096,type:"ram"},{name:"OAM",start:65024,size:160,type:"ram"},{name:"I/O Registers",start:65280,size:128,type:"io"},{name:"High RAM",start:65408,size:127,type:"ram"}]}}showHelp(){return"https://8bitworkshop.com/docs/platforms/gameboy/"}};W.gb=q;W["gb.color"]=V;
|
||||
//# sourceMappingURL=gb-PP6J5B4N.js.map
|
||||
//# sourceMappingURL=gb-DUD4LPKZ.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{G as y,m as l,p as V}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as p,Z as e,ca as F,da as f,g as h,l as I,m as x}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var B=[e.VK_DELETE,e.VK_ENTER,e.VK_RIGHT,e.VK_F7,e.VK_F1,e.VK_F3,e.VK_F5,e.VK_DOWN,e.VK_3,e.VK_W,e.VK_A,e.VK_4,e.VK_Z,e.VK_S,e.VK_E,e.VK_SHIFT,e.VK_5,e.VK_R,e.VK_D,e.VK_6,e.VK_C,e.VK_F,e.VK_T,e.VK_X,e.VK_7,e.VK_Y,e.VK_G,e.VK_8,e.VK_B,e.VK_H,e.VK_U,e.VK_V,e.VK_9,e.VK_I,e.VK_J,e.VK_0,e.VK_M,e.VK_K,e.VK_O,e.VK_N,null,e.VK_P,e.VK_L,e.VK_MINUS,e.VK_PERIOD,null,null,e.VK_COMMA,null,null,e.VK_SEMICOLON,e.VK_HOME,e.VK_SHIFT,e.VK_EQUALS,e.VK_TILDE,e.VK_SLASH,e.VK_1,e.VK_LEFT,e.VK_CONTROL,e.VK_2,e.VK_SPACE,e.VK_ALT,e.VK_Q,null],A=0,a=class{constructor(){this.regs=new Uint8Array(16);this.ina=0;this.inb=0}read(o){return this.regs[o]}write(o,r){this.regs[o]=r}input_a(){return this.ina&~this.regs[1]}input_b(){return this.inb&~this.regs[1]}output_a(){return this.regs[0]^255|this.regs[1]}output_b(){return this.regs[2]^255|this.regs[3]}},g=class extends V{constructor(){super();this.cpuFrequency=1e6;this.defaultROMSize=4096;this.cpu=new l;this.ram=new Uint8Array(6144);this.rriot1=new a;this.rriot2=new a;this.digits=[];this.read=f([[5888,5951,15,r=>this.readIO_1(r)],[5952,6015,15,r=>this.readIO_2(r)],[0,6143,8191,r=>this.ram[r]],[6144,8191,2047,r=>this.bios[r]]],{gmask:8191});this.write=f([[5888,5951,15,(r,t)=>this.writeIO_1(r,t)],[5952,6015,15,(r,t)=>this.writeIO_2(r,t)],[0,6143,8191,(r,t)=>{this.ram[r]=t}]],{gmask:8191});this.bios=new I().decode(x(atob(O))),this.connectCPUMemoryBus(this)}readConst(r){return this.read(r)}readIO_1(r){return this.rriot1.read(r)}writeIO_1(r,t){this.rriot1.write(r,t)}readIO_2(r){switch(r&15){case 0:let t=0;for(let i=0;i<8;i++)(this.rriot2.regs[0]&1<<i)==0&&(t|=this.inputs[A+i]);this.rriot2.ina=t^255}return this.rriot2.read(r)}writeIO_2(r,t){this.rriot2.write(r,t);let i=this.rriot2.output_a(),n=this.rriot2.output_b();console.log(i,n)}loadROM(r){super.loadROM(r),this.ram.set(this.rom,1024),this.reset()}loadBIOS(r){this.bios=F(r,2048),this.reset()}setKeyInput(r,t,i){for(var n=B,s=0;s<n.length;s++)if(n[s]&&n[s].c==r){let K=s>>3,u=s&7;i&1?this.inputs[A+K]|=1<<u:i&64&&(this.inputs[A+K]&=~(1<<u)),console.log(r,K,u,h(this.inputs[A+K]));break}}advanceFrame(r){for(var t=0;t<this.cpuFrequency/60&&!(r&&r());)t+=this.advanceCPU();return t}},O="TFpHAAAIAAAABY3ivWkoAQsOJSiprY3sFyAyGaknjUIXqb+NQxeiZKkWIHoZytD4qSoo4a35FyBhGa31FyBeGa32KKPtF833F63uF+34F5AkqS8lXeclnegooqICqQQOBTgAhfqF+0xPHCDsJXAg6hlMMxgPGamNDgVrTI3vF61xGI3wF61yGI3xF6kHDgJ8/43pFyBBGk7pFw3pFyUErekXyRbQ7aIKICQaJQHfytD2JUIq8AYlBtHw8yDzGc35F/ANrfkXyQAlDf/wF9CcJQ0gTBmN7RcOBQHuF0z4GCXEKKSiAiV9L/AUIAAa0CPK0PElDEzsFw4CnCWhzecX0Awo4ugX0ASpAPACqf8OBcWt9ReN7Ret9heN7hepYI3vF6kAjecXjegXYKgYbSUB5xet6BdpACUJmGAgTBmoSigBIG8ZmChiYCkPyQoYMAJpB2kwjukXjOoXoAggnhlKsAYooUyRGSDEKEKI0Ouu6Res6hdgoglILEcXEPupfo1EF6mnjUIXDgkHDiKqytDfaGCiBg4FHsMODB4lhw4HHu7tF9AD7u4XYCAkGiAAGiikYMkwMB7JRxAayUAwAxhpCSooAaQEKi7pF4jQ+a3pF6AAYMhgjusXoggOIovqFw3qF43qF8rQ8a3qFypKrusXYCxCFxD7rUYXoP+MKIEUiND9JQow+zjtDgYLByULSf8pgGAOSFsOBJeaDgymJYclW0x1Gv8oHygfKB4oGWsaKCKF82iF8WiF74X6aIXwhfuE9Ib1uobyIIgeTE8cbPoXbP4Xov+aJYmp/43zF6kBLEAX0Bkw+an8GGkBkAPu8xesQBcQ843yDkIbah4gjB4l2x4gLx6iCiAxHkyvHakAhfiF+SBaHskB8AYgrB9M2x0gGR/Q0yWi8MwlBPD0KILvIGofyRUQu8kU8ETJEPAsyREoYRLwL8kT8DEKKAGF/KIEpP/QCrH6BvwqkfpMwxwKJvom+8rQ6vAIqQHQAqkAhf8OgmZjHyihTMgdpe+F+qXwDoR6Wh7JO9D5JRr3hfYgnR+qIJEfKMGF+yjl+ijhivAPJQORJUMlO8rQ8uglB8X20BcowvfQE4rQuaIMDkOaDgLPTxwlD6IR0O4OBNYoofaF9yAvHqk7IKAepfrN9xel+w6iGRipACA7HiDMHyAeHqX2JQOl9yiBTGQcqRiqJVGRJVGgALH6DgUFDgJy8A4IIeb40ALm+UxIHSV6Lx4lJCCeDgcnng4CQCUqTKwdpvKapftIpfpIpfFIpvWk9KXzQMkg8MrJf/AbyQ3w28kK8BzJLvAmyUfw1clR8ArJTPAJTGocDiIgQh1M5xw4pfrpAYX6sALG+0ysHaAApfiR+kzCHaX7DgSOpQ4FlmCiB73VHyCgHsoQ92CF/A6D00wepfwogw6K1UygHob9oggORAQiMPkg1B4g6x6tQBcpgEb+Bf6F/iUJytDvJQym/aX+KkpgogGG/6IAjkEXoj+OQxeiB45CF9h4YKkghf6G/SUkrUIXKf4OInLUHqIIJYVG/mkAJcnK0O4lCgkBJcam/WCt8xeN9Bet8hc46QGwA870F6z0FxDzDggPSk70F5DjCYCw4KADogGp/45CF+joLUAXiND1oAeMQhcJgEn/YA4iXIX5qX+NQReiCaADufgADgPmSB8lAikPKOGI0OslMakAJRlM/h6E/Ki55x+gAIxAFyUOjUAXoH+I0P3o6KT8YOb60ALm+2CiIaABIAIf0AfgJ9D1qRVgoP8KsAPIEPqKKQ9KqpgQAxhpB8rQ+mAYZfeF96X2aQCF9mAgWh4grB8opKX4DqKkG8lHEBcOqaSgBCom+Cb5iA7iZWCl+IX6pfmF+2AAKAMKDU1JSyATUlJFIBO/htvP5u39h//v9/y53vnx////HBwiHB8c";var c=[],m=class extends y{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"RAM",start:0,size:5120,type:"ram"},{name:"6530",start:5888,size:64,type:"io"},{name:"6530",start:5952,size:64,type:"io"},{name:"RAM",start:6016,size:128,type:"ram"},{name:"BIOS",start:6144,size:2048,type:"rom"}]}}}newMachine(){return new g}getPresets(){return c}readAddress(r){return this.machine.readConst(r)}};p.kim1=m;
|
||||
//# sourceMappingURL=kim1-B54DQ2TK.js.map
|
||||
import{G as y,m as l,p as V}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as p,Z as e,ca as F,da as f,g as h,l as I,m as x}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var B=[e.VK_DELETE,e.VK_ENTER,e.VK_RIGHT,e.VK_F7,e.VK_F1,e.VK_F3,e.VK_F5,e.VK_DOWN,e.VK_3,e.VK_W,e.VK_A,e.VK_4,e.VK_Z,e.VK_S,e.VK_E,e.VK_SHIFT,e.VK_5,e.VK_R,e.VK_D,e.VK_6,e.VK_C,e.VK_F,e.VK_T,e.VK_X,e.VK_7,e.VK_Y,e.VK_G,e.VK_8,e.VK_B,e.VK_H,e.VK_U,e.VK_V,e.VK_9,e.VK_I,e.VK_J,e.VK_0,e.VK_M,e.VK_K,e.VK_O,e.VK_N,null,e.VK_P,e.VK_L,e.VK_MINUS,e.VK_PERIOD,null,null,e.VK_COMMA,null,null,e.VK_SEMICOLON,e.VK_HOME,e.VK_SHIFT,e.VK_EQUALS,e.VK_TILDE,e.VK_SLASH,e.VK_1,e.VK_LEFT,e.VK_CONTROL,e.VK_2,e.VK_SPACE,e.VK_ALT,e.VK_Q,null],A=0,a=class{constructor(){this.regs=new Uint8Array(16);this.ina=0;this.inb=0}read(o){return this.regs[o]}write(o,r){this.regs[o]=r}input_a(){return this.ina&~this.regs[1]}input_b(){return this.inb&~this.regs[1]}output_a(){return this.regs[0]^255|this.regs[1]}output_b(){return this.regs[2]^255|this.regs[3]}},g=class extends V{constructor(){super();this.cpuFrequency=1e6;this.defaultROMSize=4096;this.cpu=new l;this.ram=new Uint8Array(6144);this.rriot1=new a;this.rriot2=new a;this.digits=[];this.read=f([[5888,5951,15,r=>this.readIO_1(r)],[5952,6015,15,r=>this.readIO_2(r)],[0,6143,8191,r=>this.ram[r]],[6144,8191,2047,r=>this.bios[r]]],{gmask:8191});this.write=f([[5888,5951,15,(r,t)=>this.writeIO_1(r,t)],[5952,6015,15,(r,t)=>this.writeIO_2(r,t)],[0,6143,8191,(r,t)=>{this.ram[r]=t}]],{gmask:8191});this.bios=new I().decode(x(atob(O))),this.connectCPUMemoryBus(this)}readConst(r){return this.read(r)}readIO_1(r){return this.rriot1.read(r)}writeIO_1(r,t){this.rriot1.write(r,t)}readIO_2(r){switch(r&15){case 0:let t=0;for(let i=0;i<8;i++)(this.rriot2.regs[0]&1<<i)==0&&(t|=this.inputs[A+i]);this.rriot2.ina=t^255}return this.rriot2.read(r)}writeIO_2(r,t){this.rriot2.write(r,t);let i=this.rriot2.output_a(),n=this.rriot2.output_b();console.log(i,n)}loadROM(r){super.loadROM(r),this.ram.set(this.rom,1024),this.reset()}loadBIOS(r){this.bios=F(r,2048),this.reset()}setKeyInput(r,t,i){for(var n=B,s=0;s<n.length;s++)if(n[s]&&n[s].c==r){let K=s>>3,u=s&7;i&1?this.inputs[A+K]|=1<<u:i&64&&(this.inputs[A+K]&=~(1<<u)),console.log(r,K,u,h(this.inputs[A+K]));break}}advanceFrame(r){for(var t=0;t<this.cpuFrequency/60&&!(r&&r());)t+=this.advanceCPU();return t}},O="TFpHAAAIAAAABY3ivWkoAQsOJSiprY3sFyAyGaknjUIXqb+NQxeiZKkWIHoZytD4qSoo4a35FyBhGa31FyBeGa32KKPtF833F63uF+34F5AkqS8lXeclnegooqICqQQOBTgAhfqF+0xPHCDsJXAg6hlMMxgPGamNDgVrTI3vF61xGI3wF61yGI3xF6kHDgJ8/43pFyBBGk7pFw3pFyUErekXyRbQ7aIKICQaJQHfytD2JUIq8AYlBtHw8yDzGc35F/ANrfkXyQAlDf/wF9CcJQ0gTBmN7RcOBQHuF0z4GCXEKKSiAiV9L/AUIAAa0CPK0PElDEzsFw4CnCWhzecX0Awo4ugX0ASpAPACqf8OBcWt9ReN7Ret9heN7hepYI3vF6kAjecXjegXYKgYbSUB5xet6BdpACUJmGAgTBmoSigBIG8ZmChiYCkPyQoYMAJpB2kwjukXjOoXoAggnhlKsAYooUyRGSDEKEKI0Ouu6Res6hdgoglILEcXEPupfo1EF6mnjUIXDgkHDiKqytDfaGCiBg4FHsMODB4lhw4HHu7tF9AD7u4XYCAkGiAAGiikYMkwMB7JRxAayUAwAxhpCSooAaQEKi7pF4jQ+a3pF6AAYMhgjusXoggOIovqFw3qF43qF8rQ8a3qFypKrusXYCxCFxD7rUYXoP+MKIEUiND9JQow+zjtDgYLByULSf8pgGAOSFsOBJeaDgymJYclW0x1Gv8oHygfKB4oGWsaKCKF82iF8WiF74X6aIXwhfuE9Ib1uobyIIgeTE8cbPoXbP4Xov+aJYmp/43zF6kBLEAX0Bkw+an8GGkBkAPu8xesQBcQ843yDkIbah4gjB4l2x4gLx6iCiAxHkyvHakAhfiF+SBaHskB8AYgrB9M2x0gGR/Q0yWi8MwlBPD0KILvIGofyRUQu8kU8ETJEPAsyREoYRLwL8kT8DEKKAGF/KIEpP/QCrH6BvwqkfpMwxwKJvom+8rQ6vAIqQHQAqkAhf8OgmZjHyihTMgdpe+F+qXwDoR6Wh7JO9D5JRr3hfYgnR+qIJEfKMGF+yjl+ijhivAPJQORJUMlO8rQ8uglB8X20BcowvfQE4rQuaIMDkOaDgLPTxwlD6IR0O4OBNYoofaF9yAvHqk7IKAepfrN9xel+w6iGRipACA7HiDMHyAeHqX2JQOl9yiBTGQcqRiqJVGRJVGgALH6DgUFDgJy8A4IIeb40ALm+UxIHSV6Lx4lJCCeDgcnng4CQCUqTKwdpvKapftIpfpIpfFIpvWk9KXzQMkg8MrJf/AbyQ3w28kK8BzJLvAmyUfw1clR8ArJTPAJTGocDiIgQh1M5xw4pfrpAYX6sALG+0ysHaAApfiR+kzCHaX7DgSOpQ4FlmCiB73VHyCgHsoQ92CF/A6D00wepfwogw6K1UygHob9oggORAQiMPkg1B4g6x6tQBcpgEb+Bf6F/iUJytDvJQym/aX+KkpgogGG/6IAjkEXoj+OQxeiB45CF9h4YKkghf6G/SUkrUIXKf4OInLUHqIIJYVG/mkAJcnK0O4lCgkBJcam/WCt8xeN9Bet8hc46QGwA870F6z0FxDzDggPSk70F5DjCYCw4KADogGp/45CF+joLUAXiND1oAeMQhcJgEn/YA4iXIX5qX+NQReiCaADufgADgPmSB8lAikPKOGI0OslMakAJRlM/h6E/Ki55x+gAIxAFyUOjUAXoH+I0P3o6KT8YOb60ALm+2CiIaABIAIf0AfgJ9D1qRVgoP8KsAPIEPqKKQ9KqpgQAxhpB8rQ+mAYZfeF96X2aQCF9mAgWh4grB8opKX4DqKkG8lHEBcOqaSgBCom+Cb5iA7iZWCl+IX6pfmF+2AAKAMKDU1JSyATUlJFIBO/htvP5u39h//v9/y53vnx////HBwiHB8c";var c=[],m=class extends y{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"RAM",start:0,size:5120,type:"ram"},{name:"6530",start:5888,size:64,type:"io"},{name:"6530",start:5952,size:64,type:"io"},{name:"RAM",start:6016,size:128,type:"ram"},{name:"BIOS",start:6144,size:2048,type:"rom"}]}}}newMachine(){return new g}getPresets(){return c}readAddress(r){return this.machine.readConst(r)}};p.kim1=m;
|
||||
//# sourceMappingURL=kim1-AEIR7MHF.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{H as X,c as v,d as Y,e as P,k as z,r as D}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as B,U as G,Z as s,_ as N,aa as V,ca as U,da as w}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var st=19968e3,W=st/4,Z=480,g=525,T=512,K=30,it=Math.floor(W/(g*K)),H=32,at=30,C=8,O=16;function E(c){return c&=7,c<<5|c<<2|c>>1}var nt=V([[s.SELECT,0,1],[s.START,0,4],[s.VK_2,0,8],[s.UP,1,1],[s.DOWN,1,2],[s.LEFT,1,4],[s.RIGHT,1,8],[s.A,1,16],[s.B,1,32],[s.P2_UP,2,1],[s.P2_DOWN,2,2],[s.P2_LEFT,2,4],[s.P2_RIGHT,2,8],[s.P2_A,2,16],[s.P2_B,2,32]]);var k=57344,q=k,y=16384,lt=q+y,Q=32768,ot=16384,pt=k+y+Q+ot,A=class extends D{constructor(){super();this.cpuFrequency=W;this.canvasWidth=T;this.numVisibleScanlines=Z;this.numTotalScanlines=g;this.cpuCyclesPerLine=it;this.defaultROMSize=pt;this.sampleRate=K*g*2;this.cpu=new v;this.ram=new Uint8Array(2048);this.sprram=new Uint8Array(512);this.vram=new Uint8Array(2048);this.palram=new Uint8Array(128);this.palette=new Uint32Array(64);this.interruptEnabled=!1;this.watchdog_counter=O;this.ctcVector=0;this.read=w([[0,57343,65535,t=>this.rom?this.rom[t]:0],[57344,59391,2047,t=>this.ram[t]],[59392,61439,511,t=>this.sprram[t]],[61440,63487,2047,t=>this.vram[t]],[63488,65535,127,t=>this.palram[t]]]);this.write=w([[57344,59391,2047,(t,e)=>{this.ram[t]=e}],[59392,61439,511,(t,e)=>{this.sprram[t]=e}],[61440,63487,2047,(t,e)=>{this.vram[t]=e}],[63488,65535,127,(t,e)=>{this.palram[t]=e,this.updatePalette(t)}]]);var t=new Y;this.psg1=new P(t),this.psg2=new P(t),this.audioadapter=new z([this.psg1.psg,this.psg2.psg],2,this.sampleRate),this.connectCPUMemoryBus(this),this.connectCPUIOBus(this.newIOBus()),this.inputs.set([0,0,0,255,255]),this.handler=N(this.inputs,nt)}readConst(t){return this.read(t)}newIOBus(){return{read:t=>(t&=255,t<=4?this.inputs[t]:t>=8&&t<=15?this.inputs[3]:(t>=240&&t<=243,0)),write:(t,e)=>{t&=255,t==224&&(this.watchdog_counter=O),t>=240&&t<=243&&((t&3)==0&&!(e&1)||(e&1)==0&&(this.ctcVector=e&248)),t>=0&&t<=7}}}updatePalette(t){let e=t>>1;if(e>=64)return;let r=this.palram[e*2+1],n=E(r>>6&3),i=E(r&7),a=E(r>>3&7),o=(this.palram[e*2]&1)<<2;n=E(o|r>>6&3),this.palette[e]=4278190080|a<<16|i<<8|n}drawScanline(){let t=this.scanline;if(t>=Z)return;let e=t*T;if((t&1)==0){t>>=1;let r=Math.floor(t/C),n=t%C;if(r<at)for(let i=0;i<H;i++){let a=(r*H+i)*2,o=this.vram[a],l=this.vram[a+1],x=o|(l&3)<<8,h=l>>4&3,F=(l&4)!=0,m=(l&8)!=0?15-n:n,u=i*C*2;this.drawTileLine(e+u,x,m,h,F)}}this.drawSpriteScanline(t,e)}drawTileLine(t,e,r,n,i){let a=q,o=y/2,x=e*32+(r<8,r),h=this.rom[a+x]||0,F=this.rom[a+o+x]||0,d=n*4;for(let m=0;m<8;m++){let u=7-m,p=i?14-m*2:m*2,b=h>>u&1|(F>>u&1)<<1;this.pixels[t+p]=this.pixels[t+p+512]=this.pixels[t+p+1]=this.pixels[t+p+513]=this.palette[d+b]}}drawSpriteScanline(t,e){let r=lt,n=Q/4;for(let i=31;i>=0;i--){let a=i*4,o=this.sprram[a]-2&255;o=496-o;let l=this.sprram[a+1],x=this.sprram[a+2]|(l&8?256:0),h=this.sprram[a+3]-3&511,F=(l&16)!=0,d=(l&32)!=0,u=16+(l&3)*16,p=t-o;if(p<0||p>=32)continue;let b=d?31-p:p,J=x*128+b;for(let f=0;f<4;f++){let M=J+f*32,$=this.rom[r+M]||0,tt=this.rom[r+n+M]||0,et=this.rom[r+n*2+M]||0,rt=this.rom[r+n*3+M]||0;for(let _=0;_<8;_++){let S=7-_,L=$>>S&1|(tt>>S&1)<<1|(et>>S&1)<<2|(rt>>S&1)<<3;if(L==0)continue;let R;F?R=h+31-(f*8+_):R=h+f*8+_,R>=0&&R<T&&(this.pixels[e+R]=this.palette[u+L])}}}}startScanline(){this.audio&&this.audioadapter&&this.audioadapter.generate(this.audio)}advanceFrame(t){var e=super.advanceFrame(t);if(this.watchdog_counter--<=0)throw new G("WATCHDOG FIRED");return this.cpu.interrupt(this.ctcVector),e}reset(){super.reset(),this.watchdog_counter=O,this.interruptEnabled=!1,this.ctcVector=0,this.psg1.reset(),this.psg2.reset()}loadROM(t){this.rom=U(t,this.defaultROMSize);for(let e=0;e<64;e++)this.updatePalette(e*2)}loadState(t){super.loadState(t),this.sprram.set(t.sprram),this.vram.set(t.vram),this.palram.set(t.palram),this.watchdog_counter=t.wdc,this.interruptEnabled=t.ie,this.ctcVector=t.ctcv;for(let e=0;e<64;e++)this.updatePalette(e*2)}saveState(){var t=super.saveState();return t.sprram=this.sprram.slice(0),t.vram=this.vram.slice(0),t.palram=this.palram.slice(0),t.wdc=this.watchdog_counter,t.ie=this.interruptEnabled,t.ctcv=this.ctcVector,t}};var mt=[{id:"minimal.c",name:"Minimal Example"},{id:"gfxtest.c",name:"Graphics Test"}],I=class extends X{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"Program ROM",start:0,size:57344,type:"rom"},{name:"NVRAM",start:57344,size:2048,type:"ram"},{name:"Sprite RAM",start:59392,size:512,type:"ram"},{name:"Video RAM",start:61440,size:2048,type:"ram"},{name:"Palette RAM",start:63488,size:128,type:"ram"}]}}}newMachine(){return new A}getPresets(){return mt}readAddress(t){return this.machine.readConst(t)}readVRAMAddress(t){return t<512?this.machine.sprram[t]:t<2560?this.machine.vram[t-512]:this.machine.palram[t-2560&127]}};B.mcr=I;
|
||||
//# sourceMappingURL=mcr-2DMHCXT5.js.map
|
||||
import{H as X,c as v,d as Y,e as P,k as z,r as D}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as B,U as G,Z as s,_ as N,aa as V,ca as U,da as w}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var st=19968e3,W=st/4,Z=480,g=525,T=512,K=30,it=Math.floor(W/(g*K)),H=32,at=30,C=8,O=16;function E(c){return c&=7,c<<5|c<<2|c>>1}var nt=V([[s.SELECT,0,1],[s.START,0,4],[s.VK_2,0,8],[s.UP,1,1],[s.DOWN,1,2],[s.LEFT,1,4],[s.RIGHT,1,8],[s.A,1,16],[s.B,1,32],[s.P2_UP,2,1],[s.P2_DOWN,2,2],[s.P2_LEFT,2,4],[s.P2_RIGHT,2,8],[s.P2_A,2,16],[s.P2_B,2,32]]);var k=57344,q=k,y=16384,lt=q+y,Q=32768,ot=16384,pt=k+y+Q+ot,A=class extends D{constructor(){super();this.cpuFrequency=W;this.canvasWidth=T;this.numVisibleScanlines=Z;this.numTotalScanlines=g;this.cpuCyclesPerLine=it;this.defaultROMSize=pt;this.sampleRate=K*g*2;this.cpu=new v;this.ram=new Uint8Array(2048);this.sprram=new Uint8Array(512);this.vram=new Uint8Array(2048);this.palram=new Uint8Array(128);this.palette=new Uint32Array(64);this.interruptEnabled=!1;this.watchdog_counter=O;this.ctcVector=0;this.read=w([[0,57343,65535,t=>this.rom?this.rom[t]:0],[57344,59391,2047,t=>this.ram[t]],[59392,61439,511,t=>this.sprram[t]],[61440,63487,2047,t=>this.vram[t]],[63488,65535,127,t=>this.palram[t]]]);this.write=w([[57344,59391,2047,(t,e)=>{this.ram[t]=e}],[59392,61439,511,(t,e)=>{this.sprram[t]=e}],[61440,63487,2047,(t,e)=>{this.vram[t]=e}],[63488,65535,127,(t,e)=>{this.palram[t]=e,this.updatePalette(t)}]]);var t=new Y;this.psg1=new P(t),this.psg2=new P(t),this.audioadapter=new z([this.psg1.psg,this.psg2.psg],2,this.sampleRate),this.connectCPUMemoryBus(this),this.connectCPUIOBus(this.newIOBus()),this.inputs.set([0,0,0,255,255]),this.handler=N(this.inputs,nt)}readConst(t){return this.read(t)}newIOBus(){return{read:t=>(t&=255,t<=4?this.inputs[t]:t>=8&&t<=15?this.inputs[3]:(t>=240&&t<=243,0)),write:(t,e)=>{t&=255,t==224&&(this.watchdog_counter=O),t>=240&&t<=243&&((t&3)==0&&!(e&1)||(e&1)==0&&(this.ctcVector=e&248)),t>=0&&t<=7}}}updatePalette(t){let e=t>>1;if(e>=64)return;let r=this.palram[e*2+1],n=E(r>>6&3),i=E(r&7),a=E(r>>3&7),o=(this.palram[e*2]&1)<<2;n=E(o|r>>6&3),this.palette[e]=4278190080|a<<16|i<<8|n}drawScanline(){let t=this.scanline;if(t>=Z)return;let e=t*T;if((t&1)==0){t>>=1;let r=Math.floor(t/C),n=t%C;if(r<at)for(let i=0;i<H;i++){let a=(r*H+i)*2,o=this.vram[a],l=this.vram[a+1],x=o|(l&3)<<8,h=l>>4&3,F=(l&4)!=0,m=(l&8)!=0?15-n:n,u=i*C*2;this.drawTileLine(e+u,x,m,h,F)}}this.drawSpriteScanline(t,e)}drawTileLine(t,e,r,n,i){let a=q,o=y/2,x=e*32+(r<8,r),h=this.rom[a+x]||0,F=this.rom[a+o+x]||0,d=n*4;for(let m=0;m<8;m++){let u=7-m,p=i?14-m*2:m*2,b=h>>u&1|(F>>u&1)<<1;this.pixels[t+p]=this.pixels[t+p+512]=this.pixels[t+p+1]=this.pixels[t+p+513]=this.palette[d+b]}}drawSpriteScanline(t,e){let r=lt,n=Q/4;for(let i=31;i>=0;i--){let a=i*4,o=this.sprram[a]-2&255;o=496-o;let l=this.sprram[a+1],x=this.sprram[a+2]|(l&8?256:0),h=this.sprram[a+3]-3&511,F=(l&16)!=0,d=(l&32)!=0,u=16+(l&3)*16,p=t-o;if(p<0||p>=32)continue;let b=d?31-p:p,J=x*128+b;for(let f=0;f<4;f++){let M=J+f*32,$=this.rom[r+M]||0,tt=this.rom[r+n+M]||0,et=this.rom[r+n*2+M]||0,rt=this.rom[r+n*3+M]||0;for(let _=0;_<8;_++){let S=7-_,L=$>>S&1|(tt>>S&1)<<1|(et>>S&1)<<2|(rt>>S&1)<<3;if(L==0)continue;let R;F?R=h+31-(f*8+_):R=h+f*8+_,R>=0&&R<T&&(this.pixels[e+R]=this.palette[u+L])}}}}startScanline(){this.audio&&this.audioadapter&&this.audioadapter.generate(this.audio)}advanceFrame(t){var e=super.advanceFrame(t);if(this.watchdog_counter--<=0)throw new G("WATCHDOG FIRED");return this.cpu.interrupt(this.ctcVector),e}reset(){super.reset(),this.watchdog_counter=O,this.interruptEnabled=!1,this.ctcVector=0,this.psg1.reset(),this.psg2.reset()}loadROM(t){this.rom=U(t,this.defaultROMSize);for(let e=0;e<64;e++)this.updatePalette(e*2)}loadState(t){super.loadState(t),this.sprram.set(t.sprram),this.vram.set(t.vram),this.palram.set(t.palram),this.watchdog_counter=t.wdc,this.interruptEnabled=t.ie,this.ctcVector=t.ctcv;for(let e=0;e<64;e++)this.updatePalette(e*2)}saveState(){var t=super.saveState();return t.sprram=this.sprram.slice(0),t.vram=this.vram.slice(0),t.palram=this.palram.slice(0),t.wdc=this.watchdog_counter,t.ie=this.interruptEnabled,t.ctcv=this.ctcVector,t}};var mt=[{id:"minimal.c",name:"Minimal Example"},{id:"gfxtest.c",name:"Graphics Test"}],I=class extends X{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"Program ROM",start:0,size:57344,type:"rom"},{name:"NVRAM",start:57344,size:2048,type:"ram"},{name:"Sprite RAM",start:59392,size:512,type:"ram"},{name:"Video RAM",start:61440,size:2048,type:"ram"},{name:"Palette RAM",start:63488,size:128,type:"ram"}]}}}newMachine(){return new A}getPresets(){return mt}readAddress(t){return this.machine.readConst(t)}readVRAMAddress(t){return t<512?this.machine.sprram[t]:t<2560?this.machine.vram[t-512]:this.machine.palram[t-2560&127]}};B.mcr=I;
|
||||
//# sourceMappingURL=mcr-6CI7LYHO.js.map
|
||||
File renamed without changes.
@@ -1,4 +1,4 @@
|
||||
import{c as C}from"./chunk-FWTZO6HF.js";import{H as x,d as U,e as Q}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as t,Z as A,aa as H,l as E,m as O}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var n=H([[A.UP,0,1],[A.DOWN,0,2],[A.LEFT,0,4],[A.RIGHT,0,8],[A.A,0,16],[A.B,0,32],[A.P2_UP,1,1],[A.P2_DOWN,1,2],[A.P2_LEFT,1,4],[A.P2_RIGHT,1,8],[A.P2_A,1,16],[A.P2_B,1,32],[A.ANYKEY,2,0]]),a=0;var i=16,F=[A.VK_7,A.VK_6,A.VK_5,A.VK_4,A.VK_3,A.VK_2,A.VK_1,A.VK_0,A.VK_SEMICOLON,A.VK_CLOSE_BRACKET,A.VK_OPEN_BRACKET,A.VK_BACK_SLASH,A.VK_EQUALS,A.VK_MINUS,A.VK_9,A.VK_8,A.VK_B,A.VK_A,null,A.VK_SLASH,A.VK_PERIOD,A.VK_COMMA,A.VK_ACUTE,A.VK_QUOTE,A.VK_J,A.VK_I,A.VK_H,A.VK_G,A.VK_F,A.VK_E,A.VK_D,A.VK_C,A.VK_R,A.VK_Q,A.VK_P,A.VK_O,A.VK_N,A.VK_M,A.VK_L,A.VK_K,A.VK_Z,A.VK_Y,A.VK_X,A.VK_W,A.VK_V,A.VK_U,A.VK_T,A.VK_S,A.VK_F3,A.VK_F2,A.VK_F1,null,A.VK_CAPS_LOCK,null,A.VK_CONTROL,A.VK_SHIFT,A.VK_ENTER,null,A.VK_BACK_SPACE,null,A.VK_TAB,A.VK_ESCAPE,A.VK_F5,A.VK_F4,A.VK_RIGHT,A.VK_DOWN,A.VK_UP,A.VK_LEFT,A.VK_DELETE,A.VK_INSERT,A.VK_HOME,A.VK_SPACE,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],M=class extends C{constructor(){super();this.numVisibleScanlines=240;this.defaultROMSize=32768;this.ram=new Uint8Array(65536);this.slotmask=0;this.ppi_c=0;this.read=s=>{let e=s>>14<<1,D=this.slotmask>>e&3,g=this.slots[D];return g?g.read(s):0};this.write=(s,e)=>{let D=s>>14<<1,g=this.slotmask>>D&3,B=this.slots[g];B&&B.write(s,e)};this.init(this,this.newIOBus(),new Q(new U)),this.bios=new E().decode(O(atob(h))),this.bios[3541]=0,this.bios[3542]=0,this.bios[3543]=0,this.slots=[{read:s=>this.bios[s]|0,write:(s,e)=>{}},{read:s=>this.rom[s-16384]|0,write:(s,e)=>{}},{read:s=>this.rom[s-16384]|0,write:(s,e)=>{}},{read:s=>this.ram[s]|0,write:(s,e)=>{this.ram[s]=e}}]}loadBIOS(s){this.bios=s}getKeyboardMap(){return n}getKeyboardFunction(){return(s,e,D,g)=>{for(var B=F,T=0;T<B.length;T++)if(B[T]&&B[T].c==e){let R=T>>3,f=7-(T&7);g&1?this.inputs[i+R]|=1<<f:g&64&&(this.inputs[i+R]&=~(1<<f));break}}}newIOBus(){return{read:s=>{switch(s&=255,s){case 152:return this.vdp.readData();case 153:return this.vdp.readStatus();case 162:return this.psg.currentRegister()==14?~this.inputs[a]:this.psg.readData();case 168:return this.slotmask;case 169:return~this.inputs[i+(this.ppi_c&15)];case 170:return this.ppi_c}return 0},write:(s,e)=>{switch(s&=255,e&=255,s){case 152:this.vdp.writeData(e);break;case 153:this.vdp.writeAddress(e);break;case 168:this.slotmask=e;break;case 170:this.ppi_c=e;break;case 171:let D=e>>1&7;this.ppi_c=this.ppi_c&~(1<<D)|(e&1)<<D;break;case 160:this.psg.selectRegister(e);break;case 161:this.psg.setData(e);break;case 252:case 253:case 254:case 255:break}}}}vdpInterrupt(){this.probe.logInterrupt(255),this.cpu.interrupt(255)}loadState(s){super.loadState(s),this.slotmask=s.slotmask,this.ppi_c=s.ppi_c,this.psg.selectRegister(s.psgRegister)}saveState(){var s=super.saveState();return s.slotmask=this.slotmask,s.ppi_c=this.ppi_c,s.psgRegister=this.psg.currentRegister(),s}reset(){super.reset(),this.slotmask=0,this.ppi_c=0}resetInputs(){this.inputs.fill(0)}},h=`
|
||||
import{c as C}from"./chunk-TP7C4K6K.js";import{H as x,d as U,e as Q}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as t,Z as A,aa as H,l as E,m as O}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var n=H([[A.UP,0,1],[A.DOWN,0,2],[A.LEFT,0,4],[A.RIGHT,0,8],[A.A,0,16],[A.B,0,32],[A.P2_UP,1,1],[A.P2_DOWN,1,2],[A.P2_LEFT,1,4],[A.P2_RIGHT,1,8],[A.P2_A,1,16],[A.P2_B,1,32],[A.ANYKEY,2,0]]),a=0;var i=16,F=[A.VK_7,A.VK_6,A.VK_5,A.VK_4,A.VK_3,A.VK_2,A.VK_1,A.VK_0,A.VK_SEMICOLON,A.VK_CLOSE_BRACKET,A.VK_OPEN_BRACKET,A.VK_BACK_SLASH,A.VK_EQUALS,A.VK_MINUS,A.VK_9,A.VK_8,A.VK_B,A.VK_A,null,A.VK_SLASH,A.VK_PERIOD,A.VK_COMMA,A.VK_ACUTE,A.VK_QUOTE,A.VK_J,A.VK_I,A.VK_H,A.VK_G,A.VK_F,A.VK_E,A.VK_D,A.VK_C,A.VK_R,A.VK_Q,A.VK_P,A.VK_O,A.VK_N,A.VK_M,A.VK_L,A.VK_K,A.VK_Z,A.VK_Y,A.VK_X,A.VK_W,A.VK_V,A.VK_U,A.VK_T,A.VK_S,A.VK_F3,A.VK_F2,A.VK_F1,null,A.VK_CAPS_LOCK,null,A.VK_CONTROL,A.VK_SHIFT,A.VK_ENTER,null,A.VK_BACK_SPACE,null,A.VK_TAB,A.VK_ESCAPE,A.VK_F5,A.VK_F4,A.VK_RIGHT,A.VK_DOWN,A.VK_UP,A.VK_LEFT,A.VK_DELETE,A.VK_INSERT,A.VK_HOME,A.VK_SPACE,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],M=class extends C{constructor(){super();this.numVisibleScanlines=240;this.defaultROMSize=32768;this.ram=new Uint8Array(65536);this.slotmask=0;this.ppi_c=0;this.read=s=>{let e=s>>14<<1,D=this.slotmask>>e&3,g=this.slots[D];return g?g.read(s):0};this.write=(s,e)=>{let D=s>>14<<1,g=this.slotmask>>D&3,B=this.slots[g];B&&B.write(s,e)};this.init(this,this.newIOBus(),new Q(new U)),this.bios=new E().decode(O(atob(h))),this.bios[3541]=0,this.bios[3542]=0,this.bios[3543]=0,this.slots=[{read:s=>this.bios[s]|0,write:(s,e)=>{}},{read:s=>this.rom[s-16384]|0,write:(s,e)=>{}},{read:s=>this.rom[s-16384]|0,write:(s,e)=>{}},{read:s=>this.ram[s]|0,write:(s,e)=>{this.ram[s]=e}}]}loadBIOS(s){this.bios=s}getKeyboardMap(){return n}getKeyboardFunction(){return(s,e,D,g)=>{for(var B=F,T=0;T<B.length;T++)if(B[T]&&B[T].c==e){let R=T>>3,f=7-(T&7);g&1?this.inputs[i+R]|=1<<f:g&64&&(this.inputs[i+R]&=~(1<<f));break}}}newIOBus(){return{read:s=>{switch(s&=255,s){case 152:return this.vdp.readData();case 153:return this.vdp.readStatus();case 162:return this.psg.currentRegister()==14?~this.inputs[a]:this.psg.readData();case 168:return this.slotmask;case 169:return~this.inputs[i+(this.ppi_c&15)];case 170:return this.ppi_c}return 0},write:(s,e)=>{switch(s&=255,e&=255,s){case 152:this.vdp.writeData(e);break;case 153:this.vdp.writeAddress(e);break;case 168:this.slotmask=e;break;case 170:this.ppi_c=e;break;case 171:let D=e>>1&7;this.ppi_c=this.ppi_c&~(1<<D)|(e&1)<<D;break;case 160:this.psg.selectRegister(e);break;case 161:this.psg.setData(e);break;case 252:case 253:case 254:case 255:break}}}}vdpInterrupt(){this.probe.logInterrupt(255),this.cpu.interrupt(255)}loadState(s){super.loadState(s),this.slotmask=s.slotmask,this.ppi_c=s.ppi_c,this.psg.selectRegister(s.psgRegister)}saveState(){var s=super.saveState();return s.slotmask=this.slotmask,s.ppi_c=this.ppi_c,s.psgRegister=this.psg.currentRegister(),s}reset(){super.reset(),this.slotmask=0,this.ppi_c=0}resetInputs(){this.inputs.fill(0)}},h=`
|
||||
TFpHAADAAAAAI8Sp+W4NAVo7UZPzwxINvxuYmMPtEADDvyMAw/+T4QAkAMMbEQDDNJPhIZPhc5Ph
|
||||
JxEhAgAAAMM5EZOhk+HmGMNOEcNYEcMWAsMiAsMuAsNFAsNNAsNVAsNgAsNtAsOBAsOXAsOtAsPU
|
||||
AgDDXhnDHgPDggPDwgPDBQTDQwTDjwTDtwTD5gTDGQXDbwXDggXDjAXDlwXDOhfDUhfDXBfDahHD
|
||||
@@ -161,4 +161,4 @@ H5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mf
|
||||
kx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+T
|
||||
H5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+TH5Mfkx+THpMc/w==
|
||||
`;var o=[{id:"helloworld.asm",name:"Hello World (ASM)"},{id:"redbook_kbd.asm",name:"Redbook Keyboard Scanner (ASM)"},{id:"siegegame.c",name:"Siege Game"},{id:"eliza.c",name:"Eliza"},{id:"hello.wiz",name:"Hello (Wiz)"}],l=[{id:"text.c",name:"Text Mode"},{id:"hello.c",name:"Scrolling Text"},{id:"text32.c",name:"32-Column Color Text"},{id:"stars.c",name:"Scrolling Starfield"},{id:"cursorsmooth.c",name:"Moving Cursor"},{id:"simplemusic.c",name:"Simple Music"},{id:"musicplayer.c",name:"Multivoice Music"},{id:"mode2bitmap.c",name:"Mode 2 Bitmap"},{id:"mode2compressed.c",name:"Mode 2 Bitmap (LZG)"},{id:"lines.c",name:"Mode 2 Lines"},{id:"multicolor.c",name:"Multicolor Mode"},{id:"siegegame.c",name:"Siege Game"},{id:"shoot.c",name:"Solarian Game"},{id:"climber.c",name:"Climber Game"}],w=class extends x{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"BIOS",start:0,size:16384,type:"rom"},{name:"RAM",start:49152,size:12800,type:"ram"},{name:"Stack",start:61440,size:768,type:"ram"},{name:"BIOS Work RAM",start:62208,size:3328}]}}}newMachine(){return new M}getPresets(){return o}readAddress(s){return this.machine.read(s)}readVRAMAddress(s){return this.machine.readVRAMAddress(s)}},k=class extends w{getPresets(){return l}};t.msx=w;t["msx-libcv"]=k;
|
||||
//# sourceMappingURL=msx-IHIZHVAU.js.map
|
||||
//# sourceMappingURL=msx-SD6GVBPB.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{H as u,c as o,r as m}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as f,Z as t,_ as c,aa as h,da as a}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var _=h([[t.A,1,16],[t.LEFT,1,32],[t.RIGHT,1,64],[t.P2_A,2,16],[t.P2_LEFT,2,32],[t.P2_RIGHT,2,64],[t.SELECT,1,1],[t.START,1,4],[t.P2_START,1,2]]),p=256,w=4293848814,b=4278190080,i=class extends m{constructor(){super();this.cpuFrequency=1996800;this.canvasWidth=256;this.numTotalScanlines=262;this.numVisibleScanlines=224;this.cpuCyclesPerLine=Math.floor(1996800/(262*60));this.defaultROMSize=8192;this.rotate=-90;this.sampleRate=1;this.bitshift_offset=0;this.bitshift_register=0;this.cpu=new o;this.ram=new Uint8Array(8192);this.read=a([[0,8191,8191,e=>this.rom?this.rom[e]:0],[8192,16383,8191,e=>this.ram[e]]]);this.write=a([[8192,9215,1023,(e,s)=>{this.ram[e]=s}],[9216,16383,8191,(e,s)=>{this.ram[e]=s;for(var l=e-1024<<3,r=0;r<8;r++)this.pixels[l+r]=s&1<<r?w:b}]]);this.connectCPUMemoryBus(this),this.connectCPUIOBus(this.newIOBus()),this.handler=c(this.inputs,_)}newIOBus(){return{read:e=>{switch(e&=3,e){case 0:case 1:case 2:return this.inputs[e];case 3:return this.bitshift_register>>8-this.bitshift_offset&255}return 0},write:(e,s)=>{switch(e&=7,s&=255,e){case 2:this.bitshift_offset=s&7;break;case 3:case 5:break;case 4:this.bitshift_register=this.bitshift_register>>8|s<<8;break;case 6:this.watchdog_counter=p;break}}}}startScanline(){}drawScanline(){this.scanline==95?this.interrupt(207):this.scanline==223&&this.interrupt(215)}interrupt(e){this.probe.logInterrupt(e),this.cpu.interrupt(e)}advanceFrame(e){return this.watchdog_counter--<=0&&(console.log("WATCHDOG FIRED"),this.reset()),super.advanceFrame(e)}loadState(e){super.loadState(e),this.bitshift_register=e.bsr,this.bitshift_offset=e.bso,this.watchdog_counter=e.wdc}saveState(){var e=super.saveState();return e.bsr=this.bitshift_register,e.bso=this.bitshift_offset,e.wdc=this.watchdog_counter,e}reset(){super.reset(),this.watchdog_counter=p}};var S=[{id:"gfxtest.c",name:"Graphics Test"},{id:"shifter.c",name:"Sprite w/ Bit Shifter"},{id:"game2.c",name:"Cosmic Impalas"}],n=class extends u{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"Frame Buffer",start:9216,size:7168,type:"ram"}]}}}newMachine(){return new i}getPresets(){return S}readAddress(e){return this.machine.read(e)}showHelp(){return"https://8bitworkshop.com/docs/platforms/arcade/index.html#midway-8080"}};f.mw8080bw=n;
|
||||
//# sourceMappingURL=mw8080bw-BKLOGFXB.js.map
|
||||
import{H as u,c as o,r as m}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as f,Z as t,_ as c,aa as h,da as a}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var _=h([[t.A,1,16],[t.LEFT,1,32],[t.RIGHT,1,64],[t.P2_A,2,16],[t.P2_LEFT,2,32],[t.P2_RIGHT,2,64],[t.SELECT,1,1],[t.START,1,4],[t.P2_START,1,2]]),p=256,w=4293848814,b=4278190080,i=class extends m{constructor(){super();this.cpuFrequency=1996800;this.canvasWidth=256;this.numTotalScanlines=262;this.numVisibleScanlines=224;this.cpuCyclesPerLine=Math.floor(1996800/(262*60));this.defaultROMSize=8192;this.rotate=-90;this.sampleRate=1;this.bitshift_offset=0;this.bitshift_register=0;this.cpu=new o;this.ram=new Uint8Array(8192);this.read=a([[0,8191,8191,e=>this.rom?this.rom[e]:0],[8192,16383,8191,e=>this.ram[e]]]);this.write=a([[8192,9215,1023,(e,s)=>{this.ram[e]=s}],[9216,16383,8191,(e,s)=>{this.ram[e]=s;for(var l=e-1024<<3,r=0;r<8;r++)this.pixels[l+r]=s&1<<r?w:b}]]);this.connectCPUMemoryBus(this),this.connectCPUIOBus(this.newIOBus()),this.handler=c(this.inputs,_)}newIOBus(){return{read:e=>{switch(e&=3,e){case 0:case 1:case 2:return this.inputs[e];case 3:return this.bitshift_register>>8-this.bitshift_offset&255}return 0},write:(e,s)=>{switch(e&=7,s&=255,e){case 2:this.bitshift_offset=s&7;break;case 3:case 5:break;case 4:this.bitshift_register=this.bitshift_register>>8|s<<8;break;case 6:this.watchdog_counter=p;break}}}}startScanline(){}drawScanline(){this.scanline==95?this.interrupt(207):this.scanline==223&&this.interrupt(215)}interrupt(e){this.probe.logInterrupt(e),this.cpu.interrupt(e)}advanceFrame(e){return this.watchdog_counter--<=0&&(console.log("WATCHDOG FIRED"),this.reset()),super.advanceFrame(e)}loadState(e){super.loadState(e),this.bitshift_register=e.bsr,this.bitshift_offset=e.bso,this.watchdog_counter=e.wdc}saveState(){var e=super.saveState();return e.bsr=this.bitshift_register,e.bso=this.bitshift_offset,e.wdc=this.watchdog_counter,e}reset(){super.reset(),this.watchdog_counter=p}};var S=[{id:"gfxtest.c",name:"Graphics Test"},{id:"shifter.c",name:"Sprite w/ Bit Shifter"},{id:"game2.c",name:"Cosmic Impalas"}],n=class extends u{constructor(){super(...arguments);this.getMemoryMap=function(){return{main:[{name:"Frame Buffer",start:9216,size:7168,type:"ram"}]}}}newMachine(){return new i}getPresets(){return S}readAddress(e){return this.machine.read(e)}showHelp(){return"https://8bitworkshop.com/docs/platforms/arcade/index.html#midway-8080"}};f.mw8080bw=n;
|
||||
//# sourceMappingURL=mw8080bw-KVH4PEGP.js.map
|
||||
File renamed without changes.
@@ -1,4 +1,4 @@
|
||||
import{b as qe}from"./chunk-2PGV3RX6.js";import{a as hs}from"./chunk-SRBQMLE7.js";import{a as ze}from"./chunk-TANFDIIN.js";import{j as Ve,n as we,o as Ge,x as De,z as Le}from"./chunk-QYEDG265.js";import{i as he}from"./chunk-UACHXWHT.js";import{$ as Ie,I as Me,L as ie,R as se,U as re,X as Oe,Z as I,aa as Pe,g as pt,n as Ne}from"./chunk-V6TNHL6H.js";import{a as Be,d as S,f as ss,h as rs,i as c}from"./chunk-N7W4C4V2.js";function v(u,t,e,i,s){for(let r=0;r<s;++r)e[i+r]=u[t+r]}function V(u,t){let e=u.constructor.JSON_PROPERTIES;for(let i=0;i<e.length;i++){let s=e[i],r=u[s],a=t[s];ArrayBuffer.isView(r)&&(Array.isArray(a)||ArrayBuffer.isView(a))?r.set(a):Array.isArray(a)?u[s]=a.slice(0):u[s]=a}}function w(u){let t={},e=u.constructor.JSON_PROPERTIES;for(let i=0;i<e.length;i++){let s=e[i],r=u[s];t[s]=Array.isArray(r)||ArrayBuffer.isView(r)?r.slice(0):r}return t}var H=S(()=>{});var T,Z,k,A,st,M,B,Et,b,y,G,F,as,K,Q,Rt,ns,os,ls,ve,cs,ms,fs,ps,us,xs,ds,Rs,gs,bs,$,ae,ne,Tt,Cs,_s,tt,At,Ss,ys,Ue,Es,et,gt,bt,Ct,ht,it,Ts,As,ks,Fs,_t,St,Bs,Ns,X,Ms,Os,Is,at,oe,le,Ps,Vs,ws,Gs,Ds,Ls,zs,We,qs,vs,ut,kt,nt,ot,lt,ct,mt,ft,yt,D,He,Us,Ws,Hs,Ys,Js,Xs,js,Zs,Ft,ce,Ye=S(()=>{H();T=0,Z=1,k=2,A=3,st=4,M=5,B=6,Et=7,b=8,y=9,G=10,F=11,as=12,K=0,Q=1,Rt=2,ns=3,os=4,ls=5,ve=6,cs=7,ms=8,fs=9,ps=10,us=11,xs=12,ds=13,Rs=14,gs=15,bs=16,$=17,ae=18,ne=19,Tt=20,Cs=21,_s=22,tt=23,At=24,Ss=25,ys=26,Ue=27,Es=28,et=29,gt=30,bt=31,Ct=32,ht=33,it=34,Ts=35,As=36,ks=37,Fs=38,_t=39,St=40,Bs=41,Ns=42,X=43,Ms=44,Os=45,Is=46,at=47,oe=48,le=49,Ps=50,Vs=51,ws=52,Gs=53,Ds=54,Ls=55,zs=56,We=57,qs=58,vs=59,ut=60,kt=61,nt=62,ot=63,lt=64,ct=65,mt=66,ft=67,yt=68,D=69,He=71,Us=72,Ws=73,Hs=74,Ys=75,Js=76,Xs=77,js={ins:-1,mode:0,size:1,cycles:2},Zs={105:{ins:K,mode:M,size:2,cycles:2},101:{ins:K,mode:T,size:2,cycles:3},117:{ins:K,mode:B,size:2,cycles:4},109:{ins:K,mode:A,size:3,cycles:4},125:{ins:K,mode:b,size:3,cycles:4},121:{ins:K,mode:y,size:3,cycles:4},97:{ins:K,mode:G,size:2,cycles:6},113:{ins:K,mode:F,size:2,cycles:5},41:{ins:Q,mode:M,size:2,cycles:2},37:{ins:Q,mode:T,size:2,cycles:3},53:{ins:Q,mode:B,size:2,cycles:4},45:{ins:Q,mode:A,size:3,cycles:4},61:{ins:Q,mode:b,size:3,cycles:4},57:{ins:Q,mode:y,size:3,cycles:4},33:{ins:Q,mode:G,size:2,cycles:6},49:{ins:Q,mode:F,size:2,cycles:5},10:{ins:Rt,mode:st,size:1,cycles:2},6:{ins:Rt,mode:T,size:2,cycles:5},22:{ins:Rt,mode:B,size:2,cycles:6},14:{ins:Rt,mode:A,size:3,cycles:6},30:{ins:Rt,mode:b,size:3,cycles:7},144:{ins:ns,mode:Z,size:2,cycles:2},176:{ins:os,mode:Z,size:2,cycles:2},240:{ins:ls,mode:Z,size:2,cycles:2},48:{ins:cs,mode:Z,size:2,cycles:2},208:{ins:ms,mode:Z,size:2,cycles:2},16:{ins:fs,mode:Z,size:2,cycles:2},80:{ins:us,mode:Z,size:2,cycles:2},112:{ins:xs,mode:Z,size:2,cycles:2},36:{ins:ve,mode:T,size:2,cycles:3},44:{ins:ve,mode:A,size:3,cycles:4},0:{ins:ps,mode:k,size:1,cycles:7},24:{ins:ds,mode:k,size:1,cycles:2},216:{ins:Rs,mode:k,size:1,cycles:2},88:{ins:gs,mode:k,size:1,cycles:2},184:{ins:bs,mode:k,size:1,cycles:2},201:{ins:$,mode:M,size:2,cycles:2},197:{ins:$,mode:T,size:2,cycles:3},213:{ins:$,mode:B,size:2,cycles:4},205:{ins:$,mode:A,size:3,cycles:4},221:{ins:$,mode:b,size:3,cycles:4},217:{ins:$,mode:y,size:3,cycles:4},193:{ins:$,mode:G,size:2,cycles:6},209:{ins:$,mode:F,size:2,cycles:5},224:{ins:ae,mode:M,size:2,cycles:2},228:{ins:ae,mode:T,size:2,cycles:3},236:{ins:ae,mode:A,size:3,cycles:4},192:{ins:ne,mode:M,size:2,cycles:2},196:{ins:ne,mode:T,size:2,cycles:3},204:{ins:ne,mode:A,size:3,cycles:4},198:{ins:Tt,mode:T,size:2,cycles:5},214:{ins:Tt,mode:B,size:2,cycles:6},206:{ins:Tt,mode:A,size:3,cycles:6},222:{ins:Tt,mode:b,size:3,cycles:7},202:{ins:Cs,mode:k,size:1,cycles:2},136:{ins:_s,mode:k,size:1,cycles:2},73:{ins:tt,mode:M,size:2,cycles:2},69:{ins:tt,mode:T,size:2,cycles:3},85:{ins:tt,mode:B,size:2,cycles:4},77:{ins:tt,mode:A,size:3,cycles:4},93:{ins:tt,mode:b,size:3,cycles:4},89:{ins:tt,mode:y,size:3,cycles:4},65:{ins:tt,mode:G,size:2,cycles:6},81:{ins:tt,mode:F,size:2,cycles:5},230:{ins:At,mode:T,size:2,cycles:5},246:{ins:At,mode:B,size:2,cycles:6},238:{ins:At,mode:A,size:3,cycles:6},254:{ins:At,mode:b,size:3,cycles:7},232:{ins:Ss,mode:k,size:1,cycles:2},200:{ins:ys,mode:k,size:1,cycles:2},76:{ins:Ue,mode:A,size:3,cycles:3},108:{ins:Ue,mode:as,size:3,cycles:5},32:{ins:Es,mode:A,size:3,cycles:6},169:{ins:et,mode:M,size:2,cycles:2},165:{ins:et,mode:T,size:2,cycles:3},181:{ins:et,mode:B,size:2,cycles:4},173:{ins:et,mode:A,size:3,cycles:4},189:{ins:et,mode:b,size:3,cycles:4},185:{ins:et,mode:y,size:3,cycles:4},161:{ins:et,mode:G,size:2,cycles:6},177:{ins:et,mode:F,size:2,cycles:5},162:{ins:gt,mode:M,size:2,cycles:2},166:{ins:gt,mode:T,size:2,cycles:3},182:{ins:gt,mode:Et,size:2,cycles:4},174:{ins:gt,mode:A,size:3,cycles:4},190:{ins:gt,mode:y,size:3,cycles:4},160:{ins:bt,mode:M,size:2,cycles:2},164:{ins:bt,mode:T,size:2,cycles:3},180:{ins:bt,mode:B,size:2,cycles:4},172:{ins:bt,mode:A,size:3,cycles:4},188:{ins:bt,mode:b,size:3,cycles:4},74:{ins:Ct,mode:st,size:1,cycles:2},70:{ins:Ct,mode:T,size:2,cycles:Line truncated
|
||||
import{b as qe}from"./chunk-2PGV3RX6.js";import{a as hs}from"./chunk-SRBQMLE7.js";import{a as ze}from"./chunk-ENVHSJV6.js";import{j as Ve,n as we,o as Ge,x as De,z as Le}from"./chunk-RWTUUV4L.js";import{i as he}from"./chunk-UXRCACYH.js";import{$ as Ie,I as Me,L as ie,R as se,U as re,X as Oe,Z as I,aa as Pe,g as pt,n as Ne}from"./chunk-V6TNHL6H.js";import{a as Be,d as S,f as ss,h as rs,i as c}from"./chunk-N7W4C4V2.js";function v(u,t,e,i,s){for(let r=0;r<s;++r)e[i+r]=u[t+r]}function V(u,t){let e=u.constructor.JSON_PROPERTIES;for(let i=0;i<e.length;i++){let s=e[i],r=u[s],a=t[s];ArrayBuffer.isView(r)&&(Array.isArray(a)||ArrayBuffer.isView(a))?r.set(a):Array.isArray(a)?u[s]=a.slice(0):u[s]=a}}function w(u){let t={},e=u.constructor.JSON_PROPERTIES;for(let i=0;i<e.length;i++){let s=e[i],r=u[s];t[s]=Array.isArray(r)||ArrayBuffer.isView(r)?r.slice(0):r}return t}var H=S(()=>{});var T,Z,k,A,st,M,B,Et,b,y,G,F,as,K,Q,Rt,ns,os,ls,ve,cs,ms,fs,ps,us,xs,ds,Rs,gs,bs,$,ae,ne,Tt,Cs,_s,tt,At,Ss,ys,Ue,Es,et,gt,bt,Ct,ht,it,Ts,As,ks,Fs,_t,St,Bs,Ns,X,Ms,Os,Is,at,oe,le,Ps,Vs,ws,Gs,Ds,Ls,zs,We,qs,vs,ut,kt,nt,ot,lt,ct,mt,ft,yt,D,He,Us,Ws,Hs,Ys,Js,Xs,js,Zs,Ft,ce,Ye=S(()=>{H();T=0,Z=1,k=2,A=3,st=4,M=5,B=6,Et=7,b=8,y=9,G=10,F=11,as=12,K=0,Q=1,Rt=2,ns=3,os=4,ls=5,ve=6,cs=7,ms=8,fs=9,ps=10,us=11,xs=12,ds=13,Rs=14,gs=15,bs=16,$=17,ae=18,ne=19,Tt=20,Cs=21,_s=22,tt=23,At=24,Ss=25,ys=26,Ue=27,Es=28,et=29,gt=30,bt=31,Ct=32,ht=33,it=34,Ts=35,As=36,ks=37,Fs=38,_t=39,St=40,Bs=41,Ns=42,X=43,Ms=44,Os=45,Is=46,at=47,oe=48,le=49,Ps=50,Vs=51,ws=52,Gs=53,Ds=54,Ls=55,zs=56,We=57,qs=58,vs=59,ut=60,kt=61,nt=62,ot=63,lt=64,ct=65,mt=66,ft=67,yt=68,D=69,He=71,Us=72,Ws=73,Hs=74,Ys=75,Js=76,Xs=77,js={ins:-1,mode:0,size:1,cycles:2},Zs={105:{ins:K,mode:M,size:2,cycles:2},101:{ins:K,mode:T,size:2,cycles:3},117:{ins:K,mode:B,size:2,cycles:4},109:{ins:K,mode:A,size:3,cycles:4},125:{ins:K,mode:b,size:3,cycles:4},121:{ins:K,mode:y,size:3,cycles:4},97:{ins:K,mode:G,size:2,cycles:6},113:{ins:K,mode:F,size:2,cycles:5},41:{ins:Q,mode:M,size:2,cycles:2},37:{ins:Q,mode:T,size:2,cycles:3},53:{ins:Q,mode:B,size:2,cycles:4},45:{ins:Q,mode:A,size:3,cycles:4},61:{ins:Q,mode:b,size:3,cycles:4},57:{ins:Q,mode:y,size:3,cycles:4},33:{ins:Q,mode:G,size:2,cycles:6},49:{ins:Q,mode:F,size:2,cycles:5},10:{ins:Rt,mode:st,size:1,cycles:2},6:{ins:Rt,mode:T,size:2,cycles:5},22:{ins:Rt,mode:B,size:2,cycles:6},14:{ins:Rt,mode:A,size:3,cycles:6},30:{ins:Rt,mode:b,size:3,cycles:7},144:{ins:ns,mode:Z,size:2,cycles:2},176:{ins:os,mode:Z,size:2,cycles:2},240:{ins:ls,mode:Z,size:2,cycles:2},48:{ins:cs,mode:Z,size:2,cycles:2},208:{ins:ms,mode:Z,size:2,cycles:2},16:{ins:fs,mode:Z,size:2,cycles:2},80:{ins:us,mode:Z,size:2,cycles:2},112:{ins:xs,mode:Z,size:2,cycles:2},36:{ins:ve,mode:T,size:2,cycles:3},44:{ins:ve,mode:A,size:3,cycles:4},0:{ins:ps,mode:k,size:1,cycles:7},24:{ins:ds,mode:k,size:1,cycles:2},216:{ins:Rs,mode:k,size:1,cycles:2},88:{ins:gs,mode:k,size:1,cycles:2},184:{ins:bs,mode:k,size:1,cycles:2},201:{ins:$,mode:M,size:2,cycles:2},197:{ins:$,mode:T,size:2,cycles:3},213:{ins:$,mode:B,size:2,cycles:4},205:{ins:$,mode:A,size:3,cycles:4},221:{ins:$,mode:b,size:3,cycles:4},217:{ins:$,mode:y,size:3,cycles:4},193:{ins:$,mode:G,size:2,cycles:6},209:{ins:$,mode:F,size:2,cycles:5},224:{ins:ae,mode:M,size:2,cycles:2},228:{ins:ae,mode:T,size:2,cycles:3},236:{ins:ae,mode:A,size:3,cycles:4},192:{ins:ne,mode:M,size:2,cycles:2},196:{ins:ne,mode:T,size:2,cycles:3},204:{ins:ne,mode:A,size:3,cycles:4},198:{ins:Tt,mode:T,size:2,cycles:5},214:{ins:Tt,mode:B,size:2,cycles:6},206:{ins:Tt,mode:A,size:3,cycles:6},222:{ins:Tt,mode:b,size:3,cycles:7},202:{ins:Cs,mode:k,size:1,cycles:2},136:{ins:_s,mode:k,size:1,cycles:2},73:{ins:tt,mode:M,size:2,cycles:2},69:{ins:tt,mode:T,size:2,cycles:3},85:{ins:tt,mode:B,size:2,cycles:4},77:{ins:tt,mode:A,size:3,cycles:4},93:{ins:tt,mode:b,size:3,cycles:4},89:{ins:tt,mode:y,size:3,cycles:4},65:{ins:tt,mode:G,size:2,cycles:6},81:{ins:tt,mode:F,size:2,cycles:5},230:{ins:At,mode:T,size:2,cycles:5},246:{ins:At,mode:B,size:2,cycles:6},238:{ins:At,mode:A,size:3,cycles:6},254:{ins:At,mode:b,size:3,cycles:7},232:{ins:Ss,mode:k,size:1,cycles:2},200:{ins:ys,mode:k,size:1,cycles:2},76:{ins:Ue,mode:A,size:3,cycles:3},108:{ins:Ue,mode:as,size:3,cycles:5},32:{ins:Es,mode:A,size:3,cycles:6},169:{ins:et,mode:M,size:2,cycles:2},165:{ins:et,mode:T,size:2,cycles:3},181:{ins:et,mode:B,size:2,cycles:4},173:{ins:et,mode:A,size:3,cycles:4},189:{ins:et,mode:b,size:3,cycles:4},185:{ins:et,mode:y,size:3,cycles:4},161:{ins:et,mode:G,size:2,cycles:6},177:{ins:et,mode:F,size:2,cycles:5},162:{ins:gt,mode:M,size:2,cycles:2},166:{ins:gt,mode:T,size:2,cycles:3},182:{ins:gt,mode:Et,size:2,cycles:4},174:{ins:gt,mode:A,size:3,cycles:4},190:{ins:gt,mode:y,size:3,cycles:4},160:{ins:bt,mode:M,size:2,cycles:2},164:{ins:bt,mode:T,size:2,cycles:3},180:{ins:bt,mode:B,size:2,cycles:4},172:{ins:bt,mode:A,size:3,cycles:4},188:{ins:bt,mode:b,size:3,cycles:4},74:{ins:Ct,mode:st,size:1,cycles:2},70:{ins:Ct,mode:T,size:2,cycles:Line truncated
|
||||
`)}var l=i[8194];s+=`
|
||||
Status `,s+=l&128?"VBLANK ":"- ",s+=l&64?"SPRITE0HIT ":"- ",s+=`
|
||||
`,e.f_color&&(s+=" Tint "+(e.f_color&1?"RED ":"")+(e.f_color&2?"BLUE ":"")+(e.f_color&4?"GREEN ":"")+`
|
||||
@@ -23,4 +23,4 @@ IRQ Counter: `+e.irqCounter,s+=`
|
||||
CHR Select: `+e.chrAddressSelect),s+=`
|
||||
`,s}startProbing(){var e=new we(this);return this.connectProbe(e),e}stopProbing(){this.connectProbe(null)}connectProbe(e){this.probe=e||this.nullProbe}showHelp(){return"https://8bitworkshop.com/docs/platforms/nes/"}getDebugSymbolFile(){var e=this.debugSymbols.addr2symbol,i="";for(let[s,r]of Object.entries(e)){let a=Number(s),n;a<8192?(a=a%2048,n="R"):a<24576?n="G":a<32768?(a=a-24576,n="S"):(a=a-32768,n="P");let l=a.toString(16).padStart(4,"0").toUpperCase();r[0]>="0"&&r[0]<="9"&&(r="L"+r),r=Me(r,".","_"),i+=`${n}:${l}:${r}
|
||||
`}return{extension:".mlb",blob:new Blob([i],{type:"text/plain"})}}},Fe=class extends ze{constructor(){super(...arguments);this.getToolForFilename=he;this.getOpcodeMetadata=Le}start(){}loadROM(e,i){if(!this.started)this.startModule(this.mainElement,{jsfile:"mame8bitws.js",driver:"nes",width:256,height:240,romfn:"/emulator/cart.nes",romdata:new Uint8Array(i),preInit:function(a){}});else{var s=i[4]*16384,r=i[5]*8192;this.loadROMFile(i),this.loadRegion(":nes_slot:cart:prg_rom",i.slice(16,16+s)),this.loadRegion(":nes_slot:cart:chr_rom",i.slice(16+s,16+s+r))}}getPresets(){return es}getDefaultExtensions(){return[".c",".cpp",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}};ie.nes=ke;ie["nes.mame"]=Fe;
|
||||
//# sourceMappingURL=nes-EMVG76ED.js.map
|
||||
//# sourceMappingURL=nes-G3Q7YZ23.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{H as B,c as w,r as V}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as R,U as M,Z as x,_ as P,aa as U,ca as E}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var D=U([[x.UP,0,1],[x.LEFT,0,2],[x.RIGHT,0,4],[x.DOWN,0,8],[x.VK_5,0,32],[x.VK_6,0,64],[x.A,0,128],[x.START,1,32],[x.VK_2,1,64]]),l=224,p=288,v=class{constructor(n,r,t,e){this.rom=n;this.vram=r;this.cram=t;this.ram=e;this.tiles=new Uint8Array(256*64);this.sprites=new Uint8Array(64*256);this.colors=new Uint32Array(32);this.paletteRom=new Uint8Array(256);this.spritePos=new Uint8Array(16);this.rebuild()}rebuild(){for(var n=0;n<32;n++){var r=this.rom[24576+n],t=(r>>0&1)*33+(r>>1&1)*71+(r>>2&1)*151,e=(r>>3&1)*33+(r>>4&1)*71+(r>>5&1)*151,i=(r>>6&1)*81+(r>>7&1)*174;this.colors[n]=4278190080|i<<16|e<<8|t}this.paletteRom.set(this.rom.subarray(24832,25088));for(var a=this.rom.subarray(16384,20480),s=0;s<256;s++){var c=this.tiles.subarray(s*64,s*64+64),h=a.subarray(s*16,s*16+16);this.decodeStrip(h,0,c,0,4,8),this.decodeStrip(h,8,c,0,0,8)}for(var o=this.rom.subarray(20480,24576),f=0;f<64;f++){var u=this.sprites.subarray(f*256,f*256+256),m=o.subarray(f*64,f*64+64);this.decodeStrip(m,0,u,8,12,16),this.decodeStrip(m,8,u,8,0,16),this.decodeStrip(m,16,u,8,4,16),this.decodeStrip(m,24,u,8,8,16),this.decodeStrip(m,32,u,0,12,16),this.decodeStrip(m,40,u,0,0,16),this.decodeStrip(m,48,u,0,4,16),this.decodeStrip(m,56,u,0,8,16)}}decodeStrip(n,r,t,e,i,a){for(var s=i*a+e,c=0;c<8;c++)for(var h=n[r+c],o=0;o<4;o++){var f=(3-o)*a+(7-c),u=h>>o&1|(h>>o+4&1)<<1;t[s+f]=u}}getPalette(n,r){n&=63;var t=n*4;r[0]=this.paletteRom[t],r[1]=this.paletteRom[t+1],r[2]=this.paletteRom[t+2],r[3]=this.paletteRom[t+3]}drawTile(n,r,t,e,i){if(!(e<0||e>=l))for(var a=this.tiles.subarray(r*64,r*64+64),s=0;s<64;s++){var c=s&7,h=s>>3,o=e+c;if(!(o<0||o>=l)){var f=t[a[s]&3];n[(i+h)*l+o]=this.colors[f&31]}}}drawSprite(n,r,t,e,i,a,s){if(!(e<=-16||e>l))for(var c=this.sprites.subarray(r*256,r*256+256),h=0;h<256;h++){var o=h&15,f=h>>4,u=c[h]&3;if(t[u]!==0){var m=a?15-o:o,T=s?15-f:f,y=e+m,g=i+T;y<0||y>=l||g<0||g>=p||(n[g*l+y]=this.colors[t[u]&31])}}}drawFrame(n){n.fill(4278190080);for(var r=new Uint8Array(4),t=0,e=34;e<36;e++)for(var i=31;i>=0;i--)this.getPalette(this.cram[t],r),this.drawTile(n,this.vram[t],r,(i-2)*8,e*8),t++;t=64;for(var i=29;i>=2;i--)for(var e=2;e<=33;e++)this.getPalette(this.cram[t],r),this.drawTile(n,this.vram[t],r,(i-2)*8,e*8),t++;t=960;for(var e=0;e<2;e++)for(var i=31;i>=0;i--)this.getPalette(this.cram[t],r),this.drawTile(n,this.vram[t],r,(i-2)*8,e*8),t++;for(var a=7;a>=0;a--){var s=this.ram[1008+a*2],c=this.ram[1008+a*2+1],h=l-this.spritePos[a*2]+15,o=p-this.spritePos[a*2+1]-16;this.getPalette(c,r),this.drawSprite(n,s>>2,r,h,o,!!(s&2),!!(s&1))}}},O=18432e3,C=O/6,k=O/3/192/2,F=C/k,A=256,d=class d extends V{constructor(){super();this.cpuFrequency=C;this.canvasWidth=l;this.numTotalScanlines=p;this.numVisibleScanlines=p;this.defaultROMSize=32768;this.cpuCyclesPerLine=F|0;this.sampleRate=60*264;this.rotate=0;this.cpu=new w;this.ram=new Uint8Array(1024);this.vram=new Uint8Array(1024);this.cram=new Uint8Array(1024);this.oram=new Uint8Array(256);this.interruptEnabled=0;this.interruptVector=255;this.pendingVBlankIsr=!1;this.watchdog_counter=A;this.flipScreen=0;this.soundEnabled=0;this.soundRegs=new Uint8Array(32);this.soundAcc=new Uint32Array(3);this.waveforms=d.WAVEFORMS;this.keyMap=D;this.frameDrawn=!1;this.readByte=r=>{if(r&=65535,r<16384)return this.rom[r];if(r<17408)return this.vram[r-16384];if(r<18432)return this.cram[r-17408];if(r<19456)return 191;if(r<20480)return this.ram[r-19456];if(r<20736){var t=r&192;return t===0?~this.inputs[0]&255|16:t===64?~this.inputs[1]&111|144:t===128?201:255}return r>=32768?this.rom[r&16383]:255};this.writeByte=(r,t)=>{if(r&=65535,!(r<16384)){if(r<17408){this.vram[r-16384]=t;return}if(r<18432){this.cram[r-17408]=t;return}if(!(r<19456)){if(r<20480){this.ram[r-19456]=t;return}if((r&65528)===20480){var e=r&7;e===0&&(this.interruptEnabled=t&1),e===1&&(this.soundEnabled=t&1),e===3&&(this.flipScreen=t&1)}else r>=20544&&r<=20575?this.soundRegs[r-20544]=t&15:(r&65520)===20576?this.gfx.spritePos[r&15]=t:(r&65472)===20672&&(this.watchdog_counter=A)}}};this.connectCPUIOBus({read:r=>255,write:(r,t)=>{(r&255)===0&&(this.interruptVector=t&255)}}),this.connectCPUMemoryBus({read:this.readByte,write:this.writeByte}),this.cpu.retryInterrupts=!0,this.rom=new Uint8Array(this.defaultROMSize),this.gfx=new v(this.rom,this.vram,this.cram,this.ram),this.inputs.fill(0),this.handler=P(this.inputs,this.keyMap)}static buildWaveforms(){for(var r=new Uint8Array(256),t=0;t<32;t++){var e=t/32;r[0+t]=8+Math.sin(e*Math.PI*2)*7.5|0,r[32+t]=t<16?15:0,r[64+t]=t<16?t:31-t,r[96+t]=t>>1,r[128+t]=t<8?15:t<16?0:t<24?10:0,r[160+t]=8+Math.sin(e*Math.PI*4)*7.5|0,r[192+t]=t&1?12:2,r[224+t]=t*3&15}return r}reset(){super.reset(),this.cpu.reset(),this.watchdog_counter=A,this.interruptEnabled=0,this.interruptVector=255,this.pendingVBlankIsr=!1,this.soundEnabled=0,this.soundRegs.fill(0)Line truncated
|
||||
//# sourceMappingURL=pacman-RAYBJORX.js.map
|
||||
import{H as B,c as w,r as V}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as R,U as M,Z as x,_ as P,aa as U,ca as E}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var D=U([[x.UP,0,1],[x.LEFT,0,2],[x.RIGHT,0,4],[x.DOWN,0,8],[x.VK_5,0,32],[x.VK_6,0,64],[x.A,0,128],[x.START,1,32],[x.VK_2,1,64]]),l=224,p=288,v=class{constructor(n,r,t,e){this.rom=n;this.vram=r;this.cram=t;this.ram=e;this.tiles=new Uint8Array(256*64);this.sprites=new Uint8Array(64*256);this.colors=new Uint32Array(32);this.paletteRom=new Uint8Array(256);this.spritePos=new Uint8Array(16);this.rebuild()}rebuild(){for(var n=0;n<32;n++){var r=this.rom[24576+n],t=(r>>0&1)*33+(r>>1&1)*71+(r>>2&1)*151,e=(r>>3&1)*33+(r>>4&1)*71+(r>>5&1)*151,i=(r>>6&1)*81+(r>>7&1)*174;this.colors[n]=4278190080|i<<16|e<<8|t}this.paletteRom.set(this.rom.subarray(24832,25088));for(var a=this.rom.subarray(16384,20480),s=0;s<256;s++){var c=this.tiles.subarray(s*64,s*64+64),h=a.subarray(s*16,s*16+16);this.decodeStrip(h,0,c,0,4,8),this.decodeStrip(h,8,c,0,0,8)}for(var o=this.rom.subarray(20480,24576),f=0;f<64;f++){var u=this.sprites.subarray(f*256,f*256+256),m=o.subarray(f*64,f*64+64);this.decodeStrip(m,0,u,8,12,16),this.decodeStrip(m,8,u,8,0,16),this.decodeStrip(m,16,u,8,4,16),this.decodeStrip(m,24,u,8,8,16),this.decodeStrip(m,32,u,0,12,16),this.decodeStrip(m,40,u,0,0,16),this.decodeStrip(m,48,u,0,4,16),this.decodeStrip(m,56,u,0,8,16)}}decodeStrip(n,r,t,e,i,a){for(var s=i*a+e,c=0;c<8;c++)for(var h=n[r+c],o=0;o<4;o++){var f=(3-o)*a+(7-c),u=h>>o&1|(h>>o+4&1)<<1;t[s+f]=u}}getPalette(n,r){n&=63;var t=n*4;r[0]=this.paletteRom[t],r[1]=this.paletteRom[t+1],r[2]=this.paletteRom[t+2],r[3]=this.paletteRom[t+3]}drawTile(n,r,t,e,i){if(!(e<0||e>=l))for(var a=this.tiles.subarray(r*64,r*64+64),s=0;s<64;s++){var c=s&7,h=s>>3,o=e+c;if(!(o<0||o>=l)){var f=t[a[s]&3];n[(i+h)*l+o]=this.colors[f&31]}}}drawSprite(n,r,t,e,i,a,s){if(!(e<=-16||e>l))for(var c=this.sprites.subarray(r*256,r*256+256),h=0;h<256;h++){var o=h&15,f=h>>4,u=c[h]&3;if(t[u]!==0){var m=a?15-o:o,T=s?15-f:f,y=e+m,g=i+T;y<0||y>=l||g<0||g>=p||(n[g*l+y]=this.colors[t[u]&31])}}}drawFrame(n){n.fill(4278190080);for(var r=new Uint8Array(4),t=0,e=34;e<36;e++)for(var i=31;i>=0;i--)this.getPalette(this.cram[t],r),this.drawTile(n,this.vram[t],r,(i-2)*8,e*8),t++;t=64;for(var i=29;i>=2;i--)for(var e=2;e<=33;e++)this.getPalette(this.cram[t],r),this.drawTile(n,this.vram[t],r,(i-2)*8,e*8),t++;t=960;for(var e=0;e<2;e++)for(var i=31;i>=0;i--)this.getPalette(this.cram[t],r),this.drawTile(n,this.vram[t],r,(i-2)*8,e*8),t++;for(var a=7;a>=0;a--){var s=this.ram[1008+a*2],c=this.ram[1008+a*2+1],h=l-this.spritePos[a*2]+15,o=p-this.spritePos[a*2+1]-16;this.getPalette(c,r),this.drawSprite(n,s>>2,r,h,o,!!(s&2),!!(s&1))}}},O=18432e3,C=O/6,k=O/3/192/2,F=C/k,A=256,d=class d extends V{constructor(){super();this.cpuFrequency=C;this.canvasWidth=l;this.numTotalScanlines=p;this.numVisibleScanlines=p;this.defaultROMSize=32768;this.cpuCyclesPerLine=F|0;this.sampleRate=60*264;this.rotate=0;this.cpu=new w;this.ram=new Uint8Array(1024);this.vram=new Uint8Array(1024);this.cram=new Uint8Array(1024);this.oram=new Uint8Array(256);this.interruptEnabled=0;this.interruptVector=255;this.pendingVBlankIsr=!1;this.watchdog_counter=A;this.flipScreen=0;this.soundEnabled=0;this.soundRegs=new Uint8Array(32);this.soundAcc=new Uint32Array(3);this.waveforms=d.WAVEFORMS;this.keyMap=D;this.frameDrawn=!1;this.readByte=r=>{if(r&=65535,r<16384)return this.rom[r];if(r<17408)return this.vram[r-16384];if(r<18432)return this.cram[r-17408];if(r<19456)return 191;if(r<20480)return this.ram[r-19456];if(r<20736){var t=r&192;return t===0?~this.inputs[0]&255|16:t===64?~this.inputs[1]&111|144:t===128?201:255}return r>=32768?this.rom[r&16383]:255};this.writeByte=(r,t)=>{if(r&=65535,!(r<16384)){if(r<17408){this.vram[r-16384]=t;return}if(r<18432){this.cram[r-17408]=t;return}if(!(r<19456)){if(r<20480){this.ram[r-19456]=t;return}if((r&65528)===20480){var e=r&7;e===0&&(this.interruptEnabled=t&1),e===1&&(this.soundEnabled=t&1),e===3&&(this.flipScreen=t&1)}else r>=20544&&r<=20575?this.soundRegs[r-20544]=t&15:(r&65520)===20576?this.gfx.spritePos[r&15]=t:(r&65472)===20672&&(this.watchdog_counter=A)}}};this.connectCPUIOBus({read:r=>255,write:(r,t)=>{(r&255)===0&&(this.interruptVector=t&255)}}),this.connectCPUMemoryBus({read:this.readByte,write:this.writeByte}),this.cpu.retryInterrupts=!0,this.rom=new Uint8Array(this.defaultROMSize),this.gfx=new v(this.rom,this.vram,this.cram,this.ram),this.inputs.fill(0),this.handler=P(this.inputs,this.keyMap)}static buildWaveforms(){for(var r=new Uint8Array(256),t=0;t<32;t++){var e=t/32;r[0+t]=8+Math.sin(e*Math.PI*2)*7.5|0,r[32+t]=t<16?15:0,r[64+t]=t<16?t:31-t,r[96+t]=t>>1,r[128+t]=t<8?15:t<16?0:t<24?10:0,r[160+t]=8+Math.sin(e*Math.PI*4)*7.5|0,r[192+t]=t&1?12:2,r[224+t]=t*3&15}return r}reset(){super.reset(),this.cpu.reset(),this.watchdog_counter=A,this.interruptEnabled=0,this.interruptVector=255,this.pendingVBlankIsr=!1,this.soundEnabled=0,this.soundRegs.fill(0)Line truncated
|
||||
//# sourceMappingURL=pacman-L2UNSITI.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import"./chunk-QYEDG265.js";import{a as y}from"./chunk-UACHXWHT.js";import{L as m,R as G,Z as u}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var M=[{id:"gfxtest.c",name:"Graphics Test (tiles/sprites)"},{id:"perftest.c",name:"Graphics Pipeline Benchmark"},{id:"solarian.c",name:"Solarian"},{id:"chase.c",name:"Chase"},{id:"test_conio.c",name:"Hello World (conio)"},{id:"siegegame.c",name:"Siege Game (conio)"},{id:"hello.wiz",name:"Hello World (Wiz)"}],V=class{constructor(t){this.mainElement=t}start(){this.pce=new R,this.video=new G(this.mainElement,684,262,{overscan:!0,aspect:4/3}),this.video.create(),this.pce.SetCanvas(this.video.canvas)}reset(){this.pce.Reset()}isRunning(){return this.pce.TimerID!=null}pause(){this.pce.Pause()}resume(){this.pce.CreateAudioContext(),this.pce.Start()}getPresets(){return M}loadROM(t,e){this.pce.Pause(),this.pce.Init(),this.pce.SetROM(e)}advance(t){return this.pce.Run(),1}getPlatformName(){return"PC Engine"}getToolForFilename(t){return y(t)}getDefaultExtensions(){return[".c",".cpp",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}showHelp(){return"https://8bitworkshop.com/docs/platforms/pce/"}readAddress(t){return this.pce.Get(t)}writeAddress(t,e){this.pce.Set(t,e)}readVRAMAddress(t){return this.pce.VDC[0].VRAM[t]}};m.pce=V;var R=class{constructor(){this.MainCanvas=null;this.Ctx=null;this.ImageData=null;this.MapperBase=class{constructor(t,e){this.ROM=t,this.Core=e}Init(){}Read(t){return 255}Write(t,e){}};this.VDCSelect=0;this.ScreenWidthMAX=0;this.ScreenHeightMAX=0;this.SuperGrafx=!1,this.CountryTypePCE=64,this.CountryTypeTG16=0,this.CountryType=this.CountryTypePCE,this.GamePadButton6=!1,this.MultiTap=!1,this.EtcConstruct(),this.CPUConstruct(),this.StorageConstruct(),this.VCEConstruct(),this.VPCConstruct(),this.VDCConstruct(),this.SoundConstruct(),this.PSGConstruct(),this.TimerConstruct(),this.JoystickConstruct()}EtcConstruct(){this.TimerID=null,this.MainCanvas=null,this.Ctx=null,this.ImageData=null}UpdateAnimationFrame(){this.TimerID=window.requestAnimationFrame(this.UpdateAnimationFrame.bind(this)),this.Run()}CancelAnimationFrame(){window.cancelAnimationFrame(this.TimerID),this.TimerID=null}Pause(){this.TimerID!=null&&(this.JoystickEventRelease(),this.CancelAnimationFrame())}Start(){this.TimerID==null&&(this.JoystickEventInit(),this.UpdateAnimationFrame())}Run(){for(this.CheckGamePad(),this.DrawFlag=!1;!this.DrawFlag;)this.CPURun(),this.VDCRun(),this.TimerRun(),this.PSGRun()}Reset(){this.StorageReset(),this.Mapper.Init(),this.CPUInit(),this.VCEInit(),this.VPCInit(),this.VDCInit(),this.TimerInit(),this.JoystickInit(),this.PSGInit(),this.CPUReset()}Init(){this.StorageInit(),this.CPUInit(),this.VCEInit(),this.VPCInit(),this.VDCInit(),this.TimerInit(),this.JoystickInit(),this.PSGInit()}SetCanvas(t){if(this.MainCanvas=t,!this.MainCanvas.getContext)return!1;this.Ctx=this.MainCanvas.getContext("2d"),this.ImageData=this.Ctx.createImageData(this.MainCanvas.width,this.MainCanvas.height);for(let e=0;e<this.MainCanvas.width*this.MainCanvas.height*4;e+=4)this.ImageData.data[e]=0,this.ImageData.data[e+1]=0,this.ImageData.data[e+2]=0,this.ImageData.data[e+3]=255;return this.Ctx.putImageData(this.ImageData,0,0),!0}CPUConstruct(){this.OpCycles=[8,7,3,4,6,4,6,7,3,2,2,2,7,5,7,6,2,7,7,4,6,4,6,7,2,5,2,2,7,5,7,6,7,7,3,4,4,4,6,7,3,2,2,2,5,5,7,6,2,7,7,2,4,4,6,7,2,5,2,2,5,5,7,6,7,7,3,4,8,4,6,7,3,2,2,2,4,5,7,6,2,7,7,5,2,4,6,7,2,5,3,2,2,5,7,6,7,7,2,2,4,4,6,7,3,2,2,2,7,5,7,6,2,7,7,0,4,4,6,7,2,5,3,2,7,5,7,6,4,7,2,7,4,4,4,7,2,2,2,2,5,5,5,6,2,7,7,8,4,4,4,7,2,5,2,2,5,5,5,6,2,7,2,7,4,4,4,7,2,2,2,2,5,5,5,6,2,7,7,8,4,4,4,7,2,5,2,2,5,5,5,6,2,7,2,0,4,4,6,7,2,2,2,2,5,5,7,6,2,7,7,0,2,4,6,7,2,5,3,2,2,5,7,6,2,7,2,0,4,4,6,7,2,2,2,2,5,5,7,6,2,7,7,0,2,4,6,7,2,5,3,2,2,5,7,6],this.OpBytes=[0,2,1,2,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,2,2,2,2,2,1,3,1,1,3,3,3,0,0,2,1,2,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,1,2,2,2,2,1,3,1,1,3,3,3,0,0,2,1,2,0,2,2,2,1,2,1,1,0,3,3,0,0,2,2,2,1,2,2,2,1,3,1,1,1,3,3,0,0,2,1,1,2,2,2,2,1,2,1,1,0,3,3,0,0,2,2,0,2,2,2,2,1,3,1,1,0,3,3,0,0,2,1,3,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,4,2,2,2,2,1,3,1,1,3,3,3,0,2,2,2,3,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,4,2,2,2,2,1,3,1,1,3,3,3,0,2,2,1,0,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,0,1,2,2,2,1,3,1,1,1,3,3,0,2,2,1,0,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,0,1,2,2,2,1,3,1,1,1,3,3,0],this.A=0,this.X=0,this.Y=0,this.PC=0,this.S=0,this.P=0,this.NZCacheTable=new Uint8Array(256),this.NZCacheTable=this.NZCacheTable.map((t,e)=>e&128),this.NZCacheTable[0]=2,this.NFlag=128,this.VFlag=64,this.TFlag=32,this.BFlag=16,this.DFlag=8,this.IFlag=4,this.ZFlag=2,this.CFlag=1,this.TIQFlag=4,this.IRQ1Flag=2,this.IRQ2Flag=1,this.ProgressClock=0,this.CPUBaseClock=0,this.BaseClock1=12,this.BaseClock3=6,this.BaseClock5=4,this.BaseClock7=3,this.BaseClock10=2,this.TransferSrc=0,this.TransferDist=0,this.TransferLen=0,this.TransferAlt=0}CPUReset(){this.TransferSrc=0,this.TransferDist=0,this.TransferLen=0,this.TransferAlt=0,this.CPUBaseClock=this.BaseClock1,this.SetIFlag(),this.PC=this.Get16(65534)}CPUInit(){this.A=0,this.X=0,this.Y=0,tLine truncated
|
||||
//# sourceMappingURL=pce-QHW3U4S4.js.map
|
||||
import"./chunk-RWTUUV4L.js";import{a as y}from"./chunk-UXRCACYH.js";import{L as m,R as G,Z as u}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var M=[{id:"gfxtest.c",name:"Graphics Test (tiles/sprites)"},{id:"perftest.c",name:"Graphics Pipeline Benchmark"},{id:"solarian.c",name:"Solarian"},{id:"chase.c",name:"Chase"},{id:"test_conio.c",name:"Hello World (conio)"},{id:"siegegame.c",name:"Siege Game (conio)"},{id:"hello.wiz",name:"Hello World (Wiz)"}],V=class{constructor(t){this.mainElement=t}start(){this.pce=new R,this.video=new G(this.mainElement,684,262,{overscan:!0,aspect:4/3}),this.video.create(),this.pce.SetCanvas(this.video.canvas)}reset(){this.pce.Reset()}isRunning(){return this.pce.TimerID!=null}pause(){this.pce.Pause()}resume(){this.pce.CreateAudioContext(),this.pce.Start()}getPresets(){return M}loadROM(t,e){this.pce.Pause(),this.pce.Init(),this.pce.SetROM(e)}advance(t){return this.pce.Run(),1}getPlatformName(){return"PC Engine"}getToolForFilename(t){return y(t)}getDefaultExtensions(){return[".c",".cpp",".acme",".xa",".ca65",".dasm",".ecs",".wiz"]}showHelp(){return"https://8bitworkshop.com/docs/platforms/pce/"}readAddress(t){return this.pce.Get(t)}writeAddress(t,e){this.pce.Set(t,e)}readVRAMAddress(t){return this.pce.VDC[0].VRAM[t]}};m.pce=V;var R=class{constructor(){this.MainCanvas=null;this.Ctx=null;this.ImageData=null;this.MapperBase=class{constructor(t,e){this.ROM=t,this.Core=e}Init(){}Read(t){return 255}Write(t,e){}};this.VDCSelect=0;this.ScreenWidthMAX=0;this.ScreenHeightMAX=0;this.SuperGrafx=!1,this.CountryTypePCE=64,this.CountryTypeTG16=0,this.CountryType=this.CountryTypePCE,this.GamePadButton6=!1,this.MultiTap=!1,this.EtcConstruct(),this.CPUConstruct(),this.StorageConstruct(),this.VCEConstruct(),this.VPCConstruct(),this.VDCConstruct(),this.SoundConstruct(),this.PSGConstruct(),this.TimerConstruct(),this.JoystickConstruct()}EtcConstruct(){this.TimerID=null,this.MainCanvas=null,this.Ctx=null,this.ImageData=null}UpdateAnimationFrame(){this.TimerID=window.requestAnimationFrame(this.UpdateAnimationFrame.bind(this)),this.Run()}CancelAnimationFrame(){window.cancelAnimationFrame(this.TimerID),this.TimerID=null}Pause(){this.TimerID!=null&&(this.JoystickEventRelease(),this.CancelAnimationFrame())}Start(){this.TimerID==null&&(this.JoystickEventInit(),this.UpdateAnimationFrame())}Run(){for(this.CheckGamePad(),this.DrawFlag=!1;!this.DrawFlag;)this.CPURun(),this.VDCRun(),this.TimerRun(),this.PSGRun()}Reset(){this.StorageReset(),this.Mapper.Init(),this.CPUInit(),this.VCEInit(),this.VPCInit(),this.VDCInit(),this.TimerInit(),this.JoystickInit(),this.PSGInit(),this.CPUReset()}Init(){this.StorageInit(),this.CPUInit(),this.VCEInit(),this.VPCInit(),this.VDCInit(),this.TimerInit(),this.JoystickInit(),this.PSGInit()}SetCanvas(t){if(this.MainCanvas=t,!this.MainCanvas.getContext)return!1;this.Ctx=this.MainCanvas.getContext("2d"),this.ImageData=this.Ctx.createImageData(this.MainCanvas.width,this.MainCanvas.height);for(let e=0;e<this.MainCanvas.width*this.MainCanvas.height*4;e+=4)this.ImageData.data[e]=0,this.ImageData.data[e+1]=0,this.ImageData.data[e+2]=0,this.ImageData.data[e+3]=255;return this.Ctx.putImageData(this.ImageData,0,0),!0}CPUConstruct(){this.OpCycles=[8,7,3,4,6,4,6,7,3,2,2,2,7,5,7,6,2,7,7,4,6,4,6,7,2,5,2,2,7,5,7,6,7,7,3,4,4,4,6,7,3,2,2,2,5,5,7,6,2,7,7,2,4,4,6,7,2,5,2,2,5,5,7,6,7,7,3,4,8,4,6,7,3,2,2,2,4,5,7,6,2,7,7,5,2,4,6,7,2,5,3,2,2,5,7,6,7,7,2,2,4,4,6,7,3,2,2,2,7,5,7,6,2,7,7,0,4,4,6,7,2,5,3,2,7,5,7,6,4,7,2,7,4,4,4,7,2,2,2,2,5,5,5,6,2,7,7,8,4,4,4,7,2,5,2,2,5,5,5,6,2,7,2,7,4,4,4,7,2,2,2,2,5,5,5,6,2,7,7,8,4,4,4,7,2,5,2,2,5,5,5,6,2,7,2,0,4,4,6,7,2,2,2,2,5,5,7,6,2,7,7,0,2,4,6,7,2,5,3,2,2,5,7,6,2,7,2,0,4,4,6,7,2,2,2,2,5,5,7,6,2,7,7,0,2,4,6,7,2,5,3,2,2,5,7,6],this.OpBytes=[0,2,1,2,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,2,2,2,2,2,1,3,1,1,3,3,3,0,0,2,1,2,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,1,2,2,2,2,1,3,1,1,3,3,3,0,0,2,1,2,0,2,2,2,1,2,1,1,0,3,3,0,0,2,2,2,1,2,2,2,1,3,1,1,1,3,3,0,0,2,1,1,2,2,2,2,1,2,1,1,0,3,3,0,0,2,2,0,2,2,2,2,1,3,1,1,0,3,3,0,0,2,1,3,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,4,2,2,2,2,1,3,1,1,3,3,3,0,2,2,2,3,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,4,2,2,2,2,1,3,1,1,3,3,3,0,2,2,1,0,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,0,1,2,2,2,1,3,1,1,1,3,3,0,2,2,1,0,2,2,2,2,1,2,1,1,3,3,3,0,0,2,2,0,1,2,2,2,1,3,1,1,1,3,3,0],this.A=0,this.X=0,this.Y=0,this.PC=0,this.S=0,this.P=0,this.NZCacheTable=new Uint8Array(256),this.NZCacheTable=this.NZCacheTable.map((t,e)=>e&128),this.NZCacheTable[0]=2,this.NFlag=128,this.VFlag=64,this.TFlag=32,this.BFlag=16,this.DFlag=8,this.IFlag=4,this.ZFlag=2,this.CFlag=1,this.TIQFlag=4,this.IRQ1Flag=2,this.IRQ2Flag=1,this.ProgressClock=0,this.CPUBaseClock=0,this.BaseClock1=12,this.BaseClock3=6,this.BaseClock5=4,this.BaseClock7=3,this.BaseClock10=2,this.TransferSrc=0,this.TransferDist=0,this.TransferLen=0,this.TransferAlt=0}CPUReset(){this.TransferSrc=0,this.TransferDist=0,this.TransferLen=0,this.TransferAlt=0,this.CPUBaseClock=this.BaseClock1,this.SetIFlag(),this.PC=this.Get16(65534)}CPUInit(){this.A=0,this.X=0,this.Y=0,tLine truncated
|
||||
//# sourceMappingURL=pce-GU673WGG.js.map
|
||||
File renamed without changes.
@@ -27,6 +27,8 @@ const APPLE2_PRESETS = [
|
||||
// {id:'tb_6502.s', name:'Tom Bombem (assembler game)'},
|
||||
{ id: 'dos33bin.a', name: "DOS 3.3 Binary" },
|
||||
{ id: 'applesinglebin.a', name: "AppleSingle Binary" },
|
||||
{ id: 'hello-sdcc.c', name: 'Hello World (SDCC)', category: "C (SDCC)" },
|
||||
{ id: 'cosmic-sdcc.c', name: 'Cosmic Impalas (SDCC)' },
|
||||
];
|
||||
/// MAME support
|
||||
class Apple2MAMEPlatform extends mameplatform_1.BaseMAME6502Platform {
|
||||
@@ -50,7 +52,7 @@ class Apple2MAMEPlatform extends mameplatform_1.BaseMAME6502Platform {
|
||||
},
|
||||
});
|
||||
}
|
||||
getDefaultExtensions() { return [".c", ".cpp", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
getDefaultExtensions() { return [".c", ".sdcc", ".cpp", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
getPresets() { return APPLE2_PRESETS; }
|
||||
loadROM(title, data) {
|
||||
this.loadROMFile(data);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"apple2.js","sourceRoot":"","sources":["../../src/platform/apple2.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"apple2.js","sourceRoot":"","sources":["../../src/platform/apple2.ts"],"names":[],"mappings":"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"}
|
||||
@@ -46,6 +46,9 @@ const C64_PRESETS = [
|
||||
{ id: 'hello.cpp', name: 'Hello Oscar64', category: 'C++ (Oscar64)' },
|
||||
{ id: 'particles.cpp', name: 'Fireworks' },
|
||||
{ id: 'lander.cpp', name: 'Lunar Lander' },
|
||||
{ id: 'hello-sdcc.c', name: 'Hello World (SDCC)', category: 'C (SDCC)' },
|
||||
{ id: 'sprite_collision-sdcc.c', name: 'Sprite Collision (SDCC)' },
|
||||
{ id: 'fullscrollgame-sdcc.c', name: 'Full-Scrolling Game (SDCC)' },
|
||||
];
|
||||
const C64_MEMORY_MAP = { main: [
|
||||
{ name: '6510 Registers', start: 0x0, size: 0x2, type: 'io' },
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"c64.js","sourceRoot":"","sources":["../../src/platform/c64.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"c64.js","sourceRoot":"","sources":["../../src/platform/c64.ts"],"names":[],"mappings":"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 truncated
|
||||
+15
-1
@@ -8,7 +8,18 @@ const util_1 = require("../common/util");
|
||||
const teletype_1 = require("../common/teletype");
|
||||
var DEVEL_6502_PRESETS = [
|
||||
{ id: 'hello.dasm', name: 'Hello World (ASM)' },
|
||||
{ id: 'hello-sdcc.c', name: 'Hello World (SDCC C)' },
|
||||
];
|
||||
/** For the CLI and tests, which have no DOM: the output is kept by the harness. */
|
||||
class HeadlessSerialViewer {
|
||||
constructor() {
|
||||
this.tty = { addtext() { }, newline() { }, clear() { }, saveState() { return {}; }, loadState() { } };
|
||||
}
|
||||
start() { }
|
||||
reset() { }
|
||||
saveState() { return {}; }
|
||||
loadState() { }
|
||||
}
|
||||
class SerialInOutViewer {
|
||||
constructor(div) {
|
||||
div.style.overflowY = 'auto';
|
||||
@@ -108,7 +119,8 @@ class Devel6502Platform extends baseplatform_1.Base6502MachinePlatform {
|
||||
{ name: 'ROM', start: 0x8000, size: 0x8000, type: 'rom' },
|
||||
] };
|
||||
};
|
||||
this.serview = new SerialInOutViewer(mainElement);
|
||||
// no element: running headless (the 8bws CLI)
|
||||
this.serview = mainElement ? new SerialInOutViewer(mainElement) : new HeadlessSerialViewer();
|
||||
}
|
||||
async start() {
|
||||
super.start();
|
||||
@@ -145,6 +157,8 @@ class Devel6502Platform extends baseplatform_1.Base6502MachinePlatform {
|
||||
this.serview.loadState(state.serview);
|
||||
// TODO: reload tty UI
|
||||
}
|
||||
/** Everything the program has sent to the serial port (for the CLI's `serial` command). */
|
||||
getSerialOutput() { return (0, util_1.byteArrayToString)(this.serial.outputBytes); }
|
||||
newMachine() { return new devel_1.Devel6502(); }
|
||||
getPresets() { return DEVEL_6502_PRESETS; }
|
||||
readAddress(a) { return this.machine.readConst(a); }
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"devel.js","sourceRoot":"","sources":["../../src/platform/devel.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"devel.js","sourceRoot":"","sources":["../../src/platform/devel.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../node_modules/depd/index.js", "../../node_modules/bytes/index.js", "../../node_modules/content-type/index.js", "../../node_modules/setprototypeof/index.js", "../../node_modules/statuses/codes.json", "../../node_modules/statuses/index.js", "../../node_modules/inherits/inherits_browser.js", "../../node_modules/inherits/inherits.js", "../../node_modules/toidentifier/index.js", "../../node_modules/http-errors/index.js", "../../node_modules/ms/index.js", "../../node_modules/debug/src/debug.js", "../../node_modules/debug/src/browser.js", "../../node_modules/debug/src/node.js", "../../node_modules/debug/src/index.js", "../../node_modules/destroy/index.js", "../../node_modules/safer-buffer/safer.js", "../../node_modules/iconv-lite/lib/bom-handling.js", "../../node_modules/iconv-lite/encodings/internal.js", "../../node_modules/iconv-lite/encodings/utf16.js", "../../node_modules/iconv-lite/encodings/utf7.js", "../../node_modules/iconv-lite/encodings/sbcs-codec.js", "../../node_modules/iconv-lite/encodings/sbcs-data.js", "../../node_modules/iconv-lite/encodings/sbcs-data-generated.js", "../../node_modules/iconv-lite/encodings/dbcs-codec.js", "../../node_modules/iconv-lite/encodings/tables/shiftjis.json", "../../node_modules/iconv-lite/encodings/tables/eucjp.json", "../../node_modules/iconv-lite/encodings/tables/cp936.json", "../../node_modules/iconv-lite/encodings/tables/gbk-added.json", "../../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json", "../../node_modules/iconv-lite/encodings/tables/cp949.json", "../../node_modules/iconv-lite/encodings/tables/cp950.json", "../../node_modules/iconv-lite/encodings/tables/big5-added.json", "../../node_modules/iconv-lite/encodings/dbcs-data.js", "../../node_modules/iconv-lite/encodings/index.js", "../../node_modules/iconv-lite/lib/streams.js", "../../node_modules/iconv-lite/lib/extend-node.js", "../../node_modules/iconv-lite/lib/index.js", "../../node_modules/unpipe/index.js", "../../node_modules/raw-body/index.js", "../../node_modules/ee-first/index.js", "../../node_modules/on-finished/index.js", "../../node_modules/body-parser/lib/read.js", "../../node_modules/media-typer/index.js", "../../node_modules/mime-db/db.json", "../../node_modules/mime-db/index.js", "../../node_modules/mime-types/index.js", "../../node_modules/type-is/index.js", "../../node_modules/body-parser/lib/types/json.js", "../../node_modules/body-parser/lib/types/raw.js", "../../node_modules/body-parser/lib/types/text.js", "../../node_modules/es-errors/type.js", "../../node_modules/object-inspect/util.inspect.js", "../../node_modules/object-inspect/index.js", "../../node_modules/side-channel-list/index.js", "../../node_modules/es-object-atoms/index.js", "../../node_modules/es-errors/index.js", "../../node_modules/es-errors/eval.js", "../../node_modules/es-errors/range.js", "../../node_modules/es-errors/ref.js", "../../node_modules/es-errors/syntax.js", "../../node_modules/es-errors/uri.js", "../../node_modules/math-intrinsics/abs.js", "../../node_modules/math-intrinsics/floor.js", "../../node_modules/math-intrinsics/max.js", "../../node_modules/math-intrinsics/min.js", "../../node_modules/math-intrinsics/pow.js", "../../node_modules/math-intrinsics/round.js", "../../node_modules/math-intrinsics/isNaN.js", "../../node_modules/math-intrinsics/sign.js", "../../node_modules/gopd/gOPD.js", "../../node_modules/gopd/index.js", "../../node_modules/es-define-property/index.js", "../../node_modules/has-symbols/shams.js", "../../node_modules/has-symbols/index.js", "../../node_modules/get-proto/Reflect.getPrototypeOf.js", "../../node_modules/get-proto/Object.getPrototypeOf.js", "../../node_modules/function-bind/implementation.js", "../../node_modules/function-bind/index.js", "../../node_modules/call-bind-apply-helpers/functionCall.js", "../../node_modules/call-bind-apply-helpers/functionApply.js", "../../node_modules/call-bind-apply-helpers/reflectApply.js", "../../node_modules/call-bind-apply-helpers/actualApply.js", "../../node_modules/call-bind-apply-helpers/index.js", "../../node_modules/dunder-proto/get.js", "../../node_modules/get-proto/index.js", "../../node_modules/hasown/index.js", "../../node_modules/get-intrinsic/index.js", "../../node_modules/call-bound/index.js", "../../node_modules/side-channel-map/index.js", "../../node_modules/side-channel-weakmap/index.js", "../../node_modules/side-channel/index.js", "../../node_modules/qs/lib/formats.js", "../../node_modules/qs/lib/utils.js", "../../node_modules/qs/lib/stringify.js", "../../node_modules/qs/lib/parse.js", "../../node_modules/qs/lib/index.js", "../../node_modules/body-parser/lib/types/urlencoded.js", "../../node_modules/body-parser/index.js", "../../node_modules/merge-descriptors/index.js", "../../node_modules/encodeurl/index.js", "../../node_modules/escape-html/index.js", "../../node_modules/parseurl/index.js", "../../node_modules/finalhandler/index.js", "../../node_modules/array-flatten/array-flatten.js", "../../node_modulLine truncated
|
||||
"sourcesContent": ["/*!\n * depd\n * Copyright(c) 2014-2018 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\n\nvar relative = require('path').relative\n\n/**\n * Module exports.\n */\n\nmodule.exports = depd\n\n/**\n * Get the path to base files on.\n */\n\nvar basePath = process.cwd()\n\n/**\n * Determine if namespace is contained in the string.\n */\n\nfunction containsNamespace (str, namespace) {\n var vals = str.split(/[ ,]+/)\n var ns = String(namespace).toLowerCase()\n\n for (var i = 0; i < vals.length; i++) {\n var val = vals[i]\n\n // namespace contained\n if (val && (val === '*' || val.toLowerCase() === ns)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Convert a data descriptor to accessor descriptor.\n */\n\nfunction convertDataDescriptorToAccessor (obj, prop, message) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop)\n var value = descriptor.value\n\n descriptor.get = function getter () { return value }\n\n if (descriptor.writable) {\n descriptor.set = function setter (val) { return (value = val) }\n }\n\n delete descriptor.value\n delete descriptor.writable\n\n Object.defineProperty(obj, prop, descriptor)\n\n return descriptor\n}\n\n/**\n * Create arguments string to keep arity.\n */\n\nfunction createArgumentsString (arity) {\n var str = ''\n\n for (var i = 0; i < arity; i++) {\n str += ', arg' + i\n }\n\n return str.substr(2)\n}\n\n/**\n * Create stack string from stack.\n */\n\nfunction createStackString (stack) {\n var str = this.name + ': ' + this.namespace\n\n if (this.message) {\n str += ' deprecated ' + this.message\n }\n\n for (var i = 0; i < stack.length; i++) {\n str += '\\n at ' + stack[i].toString()\n }\n\n return str\n}\n\n/**\n * Create deprecate for namespace in caller.\n */\n\nfunction depd (namespace) {\n if (!namespace) {\n throw new TypeError('argument namespace is required')\n }\n\n var stack = getStack()\n var site = callSiteLocation(stack[1])\n var file = site[0]\n\n function deprecate (message) {\n // call to self as log\n log.call(deprecate, message)\n }\n\n deprecate._file = file\n deprecate._ignored = isignored(namespace)\n deprecate._namespace = namespace\n deprecate._traced = istraced(namespace)\n deprecate._warned = Object.create(null)\n\n deprecate.function = wrapfunction\n deprecate.property = wrapproperty\n\n return deprecate\n}\n\n/**\n * Determine if event emitter has listeners of a given type.\n *\n * The way to do this check is done three different ways in Node.js >= 0.8\n * so this consolidates them into a minimal set using instance methods.\n *\n * @param {EventEmitter} emitter\n * @param {string} type\n * @returns {boolean}\n * @private\n */\n\nfunction eehaslisteners (emitter, type) {\n var count = typeof emitter.listenerCount !== 'function'\n ? emitter.listeners(type).length\n : emitter.listenerCount(type)\n\n return count > 0\n}\n\n/**\n * Determine if namespace is ignored.\n */\n\nfunction isignored (namespace) {\n if (process.noDeprecation) {\n // --no-deprecation support\n return true\n }\n\n var str = process.env.NO_DEPRECATION || ''\n\n // namespace ignored\n return containsNamespace(str, namespace)\n}\n\n/**\n * Determine if namespace is traced.\n */\n\nfunction istraced (namespace) {\n if (process.traceDeprecation) {\n // --trace-deprecation support\n return true\n }\n\n var str = process.env.TRACE_DEPRECATION || ''\n\n // namespace traced\n return containsNamespace(str, namespace)\n}\n\n/**\n * Display deprecation message.\n */\n\nfunction log (message, site) {\n var haslisteners = eehaslisteners(process, 'deprecation')\n\n // abort early if no destination\n if (!haslisteners && this._ignored) {\n return\n }\n\n var caller\n var callFile\n var callSite\n var depSite\n var i = 0\n var seen = false\n var stack = getStack()\n var file = this._file\n\n if (site) {\n // provided site\n depSite = site\n callSite = callSiteLocation(stack[1])\n callSite.name = depSite.name\n file = callSite[0]\n } else {\n // get call site\n i = 2\n depSite = callSiteLocation(stack[i])\n callSite = depSite\n }\n\n // get caller of deprecated thing in relation to file\n for (; i < stack.length; i++) {\n caller = callSiteLocation(stack[i])\n callFile = caller[0]\n\n if (callFile === file) {\n seen = true\n } else if (callFile === this._file) {\n file = this._file\n } else if (seen) {\n break\n }\n }\n\n var key = caller\n ? depSite.join(':') + '__' + caller.join(':')\n : undefined\n\n if (key !== undefined && key in this._warned) {\n // already warned\n return\n }\n\n this._warned[key] = true\n\n // generate automatic message from call site\n var msg = message\n if (!msg) {\n msg = callSite === depSite || !callSite.name\n ? defaultMessage(depSite)\n : defaultMessage(callSite)\n }\n\n // Line truncated
|
||||
"sourcesContent": ["/*!\n * depd\n * Copyright(c) 2014-2018 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module dependencies.\n */\n\nvar relative = require('path').relative\n\n/**\n * Module exports.\n */\n\nmodule.exports = depd\n\n/**\n * Get the path to base files on.\n */\n\nvar basePath = process.cwd()\n\n/**\n * Determine if namespace is contained in the string.\n */\n\nfunction containsNamespace (str, namespace) {\n var vals = str.split(/[ ,]+/)\n var ns = String(namespace).toLowerCase()\n\n for (var i = 0; i < vals.length; i++) {\n var val = vals[i]\n\n // namespace contained\n if (val && (val === '*' || val.toLowerCase() === ns)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Convert a data descriptor to accessor descriptor.\n */\n\nfunction convertDataDescriptorToAccessor (obj, prop, message) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop)\n var value = descriptor.value\n\n descriptor.get = function getter () { return value }\n\n if (descriptor.writable) {\n descriptor.set = function setter (val) { return (value = val) }\n }\n\n delete descriptor.value\n delete descriptor.writable\n\n Object.defineProperty(obj, prop, descriptor)\n\n return descriptor\n}\n\n/**\n * Create arguments string to keep arity.\n */\n\nfunction createArgumentsString (arity) {\n var str = ''\n\n for (var i = 0; i < arity; i++) {\n str += ', arg' + i\n }\n\n return str.substr(2)\n}\n\n/**\n * Create stack string from stack.\n */\n\nfunction createStackString (stack) {\n var str = this.name + ': ' + this.namespace\n\n if (this.message) {\n str += ' deprecated ' + this.message\n }\n\n for (var i = 0; i < stack.length; i++) {\n str += '\\n at ' + stack[i].toString()\n }\n\n return str\n}\n\n/**\n * Create deprecate for namespace in caller.\n */\n\nfunction depd (namespace) {\n if (!namespace) {\n throw new TypeError('argument namespace is required')\n }\n\n var stack = getStack()\n var site = callSiteLocation(stack[1])\n var file = site[0]\n\n function deprecate (message) {\n // call to self as log\n log.call(deprecate, message)\n }\n\n deprecate._file = file\n deprecate._ignored = isignored(namespace)\n deprecate._namespace = namespace\n deprecate._traced = istraced(namespace)\n deprecate._warned = Object.create(null)\n\n deprecate.function = wrapfunction\n deprecate.property = wrapproperty\n\n return deprecate\n}\n\n/**\n * Determine if event emitter has listeners of a given type.\n *\n * The way to do this check is done three different ways in Node.js >= 0.8\n * so this consolidates them into a minimal set using instance methods.\n *\n * @param {EventEmitter} emitter\n * @param {string} type\n * @returns {boolean}\n * @private\n */\n\nfunction eehaslisteners (emitter, type) {\n var count = typeof emitter.listenerCount !== 'function'\n ? emitter.listeners(type).length\n : emitter.listenerCount(type)\n\n return count > 0\n}\n\n/**\n * Determine if namespace is ignored.\n */\n\nfunction isignored (namespace) {\n if (process.noDeprecation) {\n // --no-deprecation support\n return true\n }\n\n var str = process.env.NO_DEPRECATION || ''\n\n // namespace ignored\n return containsNamespace(str, namespace)\n}\n\n/**\n * Determine if namespace is traced.\n */\n\nfunction istraced (namespace) {\n if (process.traceDeprecation) {\n // --trace-deprecation support\n return true\n }\n\n var str = process.env.TRACE_DEPRECATION || ''\n\n // namespace traced\n return containsNamespace(str, namespace)\n}\n\n/**\n * Display deprecation message.\n */\n\nfunction log (message, site) {\n var haslisteners = eehaslisteners(process, 'deprecation')\n\n // abort early if no destination\n if (!haslisteners && this._ignored) {\n return\n }\n\n var caller\n var callFile\n var callSite\n var depSite\n var i = 0\n var seen = false\n var stack = getStack()\n var file = this._file\n\n if (site) {\n // provided site\n depSite = site\n callSite = callSiteLocation(stack[1])\n callSite.name = depSite.name\n file = callSite[0]\n } else {\n // get call site\n i = 2\n depSite = callSiteLocation(stack[i])\n callSite = depSite\n }\n\n // get caller of deprecated thing in relation to file\n for (; i < stack.length; i++) {\n caller = callSiteLocation(stack[i])\n callFile = caller[0]\n\n if (callFile === file) {\n seen = true\n } else if (callFile === this._file) {\n file = this._file\n } else if (seen) {\n break\n }\n }\n\n var key = caller\n ? depSite.join(':') + '__' + caller.join(':')\n : undefined\n\n if (key !== undefined && key in this._warned) {\n // already warned\n return\n }\n\n this._warned[key] = true\n\n // generate automatic message from call site\n var msg = message\n if (!msg) {\n msg = callSite === depSite || !callSite.name\n ? defaultMessage(depSite)\n : defaultMessage(callSite)\n }\n\n // Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["exports", "module", "exports", "module", "exports", "exports", "module", "exports", "module", "exports", "module", "codes", "status", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "useColors", "exports", "module", "useColors", "fd", "stream", "fs", "exports", "module", "exports", "module", "exports", "module", "Buffer", "exports", "exports", "module", "Buffer", "exports", "Buffer", "exports", "Buffer", "i", "exports", "Buffer", "exports", "module", "exports", "module", "exports", "Buffer", "i", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "Buffer", "exports", "module", "Buffer", "exports", "module", "Buffer", "exports", "module", "exports", "module", "exports", "module", "i", "fn", "exports", "module", "exports", "module", "exports", "exports", "module", "exports", "module", "exports", "charset", "path", "extension", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "isNaN", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "concatty", "slicy", "Empty", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "undefined", "doEval", "stringToPath", "getBaseIntrinsic", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "markOverflow", "isOverflow", "getMaxIndex", "setMaxIndex", "compactQueue", "arrayToObject", "setProperty", "merge", "encode", "compact", "isRegExp", "isBuffer", "combine", "maybeMap", "exports", "module", "isNonNullishPrimitive", "stringify", "value", "normalizeStringifyOptions", "exports", "module", "splitKeyIntoSegments", "normalizeParseOptions", "require_lib", "exports", "module", "exports", "module", "exports", "module", "bodyParser", "exports", "module", "exports", "module", "exports", "module", "escape", "exports", "module", "url", "exports", "module", "exports", "module", "exports", "module", "path", "m", "exports", "module", "path", "match", "exports", "module", "exports", "module", "path", "methods", "exports", "module", "exports", "module", "path", "err", "route", "i", "exports", "app", "exports", "module", "query", "exports", "module", "path", "fs", "resolve", "exports", "module", "Buffer", "exports", "module", "Buffer", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "path", "fs", "require_ms", "exports", "module", "exports", "module", "exports", "module", "fs", "path", "etag", "index", "match", "send", "err", "stream", "type", "exports", "module", "exports", "module", "string", "error1", "exports", "module", "require_utils", "exports", "Buffer", "path", "exports", "module", "app", "path", "fn", "View", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "range", "subdomains", "path", "exports", "exports", "decode", "exports", "module", "exports", "module", "Buffer", "path", "send", "app", "escape", "res", "exports", "module", "serveStatic", "path", "exports", "module", "app", "req", "res", "require_express", "exports", "module", "exports", "module", "require_lib", "exports", "module", "cors", "import_fs", "import_path", "import_path", "path", "fs", "path", "express", "cors", "path", "fs"]
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import{a as P,b,c as w}from"./chunk-FWTZO6HF.js";import{H as u,d as M,f as S}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as c,Z as s,aa as g,ca as p,da as n,g as l}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var A=g([[s.UP,0,1],[s.DOWN,0,2],[s.LEFT,0,4],[s.RIGHT,0,8],[s.A,0,16],[s.B,0,32],[s.GP_A,0,16],[s.GP_B,0,32],[s.P2_UP,0,64],[s.P2_DOWN,0,128],[s.P2_LEFT,1,1],[s.P2_RIGHT,1,2],[s.P2_A,1,4],[s.P2_B,1,8],[s.VK_BACK_SLASH,1,16],[s.VK_ENTER,1,128]]),a=class extends w{constructor(){super();this.numVisibleScanlines=240;this.defaultROMSize=49152;this.ram=new Uint8Array(1024);this.read=n([[49152,65535,1023,e=>this.ram[e]],[0,49151,65535,e=>this.rom&&this.rom[e]]]);this.write=n([[49152,65535,1023,(e,r)=>{this.ram[e]=r}]]);this.init(this,this.newIOBus(),new S(new M))}getKeyboardMap(){return A}vdpInterrupt(){return this.probe.logInterrupt(255),this.cpu.interrupt(255)}getVCounter(){return 0}getHCounter(){return 0}setMemoryControl(e){}setIOPortControl(e){}readIO(e){switch(e&193){case 64:return this.getVCounter();case 65:return this.getHCounter();case 128:return this.vdp.readData();case 129:return this.vdp.readStatus();case 192:return this.inputs[0]^255;case 193:return this.inputs[1]^255}return 0}writeIO(e,r){switch(e&193){case 0:return this.setMemoryControl(r);case 1:return this.setIOPortControl(r);case 64:case 65:return this.psg.setData(r);case 128:return this.vdp.writeData(r);case 129:return this.vdp.writeAddress(r)}}newIOBus(){return{read:e=>(e&=255,this.readIO(e)),write:(e,r)=>{e&=255,r&=255,this.writeIO(e,r)}}}},o=class extends a{constructor(){super(...arguments);this.cartram=new Uint8Array(0);this.pagingRegisters=new Uint8Array(4);this.latchedHCounter=0;this.ioControlFlags=0;this.ram=new Uint8Array(8192);this.read=n([[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=>{var r=this.pagingRegisters[0];return r&8?this.cartram[r&4?e+16384:e]:this.getPagedROM(e,3)}]]);this.write=n([[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)=>{var m=this.pagingRegisters[0];m&8&&(this.cartram.length==0&&(this.cartram=new Uint8Array(32768)),this.cartram[m&4?e+16384:e]=r)}]])}newVDP(e,r,m){return new P(e,r,m)}reset(){super.reset(),this.pagingRegisters.set([0,0,1,2])}getVCounter(){var e=this.scanline;return e<=218?e:e-6}getHCounter(){return this.latchedHCounter}computeHCounter(){return 0}setIOPortControl(e){(e^this.ioControlFlags)&160&&(this.latchedHCounter=this.computeHCounter()),this.ioControlFlags=e}getPagedROM(e,r){return this.rom&&this.rom[e+((this.pagingRegisters[r]&this.romPageMask)<<14)]}loadROM(e){if(e.length<=49152)this.rom=p(e,49152),this.romPageMask=3;else switch(e.length){case 65536:case 131072:case 262144:case 524288:this.rom=e,this.romPageMask=(e.length>>14)-1;break;default:throw Error("Unknown rom size: $"+l(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(){var e=super.saveState();return e.pr=this.pagingRegisters.slice(0),e.cr=this.cartram.slice(0),e.lhc=this.latchedHCounter,e.iocf=this.ioControlFlags,e}getDebugInfo(e,r){return e==="SMS"?super.getDebugInfo(e,r)+`
|
||||
import{a as P,b,c as w}from"./chunk-TP7C4K6K.js";import{H as u,d as M,f as S}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as c,Z as s,aa as g,ca as p,da as n,g as l}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var A=g([[s.UP,0,1],[s.DOWN,0,2],[s.LEFT,0,4],[s.RIGHT,0,8],[s.A,0,16],[s.B,0,32],[s.GP_A,0,16],[s.GP_B,0,32],[s.P2_UP,0,64],[s.P2_DOWN,0,128],[s.P2_LEFT,1,1],[s.P2_RIGHT,1,2],[s.P2_A,1,4],[s.P2_B,1,8],[s.VK_BACK_SLASH,1,16],[s.VK_ENTER,1,128]]),a=class extends w{constructor(){super();this.numVisibleScanlines=240;this.defaultROMSize=49152;this.ram=new Uint8Array(1024);this.read=n([[49152,65535,1023,e=>this.ram[e]],[0,49151,65535,e=>this.rom&&this.rom[e]]]);this.write=n([[49152,65535,1023,(e,r)=>{this.ram[e]=r}]]);this.init(this,this.newIOBus(),new S(new M))}getKeyboardMap(){return A}vdpInterrupt(){return this.probe.logInterrupt(255),this.cpu.interrupt(255)}getVCounter(){return 0}getHCounter(){return 0}setMemoryControl(e){}setIOPortControl(e){}readIO(e){switch(e&193){case 64:return this.getVCounter();case 65:return this.getHCounter();case 128:return this.vdp.readData();case 129:return this.vdp.readStatus();case 192:return this.inputs[0]^255;case 193:return this.inputs[1]^255}return 0}writeIO(e,r){switch(e&193){case 0:return this.setMemoryControl(r);case 1:return this.setIOPortControl(r);case 64:case 65:return this.psg.setData(r);case 128:return this.vdp.writeData(r);case 129:return this.vdp.writeAddress(r)}}newIOBus(){return{read:e=>(e&=255,this.readIO(e)),write:(e,r)=>{e&=255,r&=255,this.writeIO(e,r)}}}},o=class extends a{constructor(){super(...arguments);this.cartram=new Uint8Array(0);this.pagingRegisters=new Uint8Array(4);this.latchedHCounter=0;this.ioControlFlags=0;this.ram=new Uint8Array(8192);this.read=n([[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=>{var r=this.pagingRegisters[0];return r&8?this.cartram[r&4?e+16384:e]:this.getPagedROM(e,3)}]]);this.write=n([[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)=>{var m=this.pagingRegisters[0];m&8&&(this.cartram.length==0&&(this.cartram=new Uint8Array(32768)),this.cartram[m&4?e+16384:e]=r)}]])}newVDP(e,r,m){return new P(e,r,m)}reset(){super.reset(),this.pagingRegisters.set([0,0,1,2])}getVCounter(){var e=this.scanline;return e<=218?e:e-6}getHCounter(){return this.latchedHCounter}computeHCounter(){return 0}setIOPortControl(e){(e^this.ioControlFlags)&160&&(this.latchedHCounter=this.computeHCounter()),this.ioControlFlags=e}getPagedROM(e,r){return this.rom&&this.rom[e+((this.pagingRegisters[r]&this.romPageMask)<<14)]}loadROM(e){if(e.length<=49152)this.rom=p(e,49152),this.romPageMask=3;else switch(e.length){case 65536:case 131072:case 262144:case 524288:this.rom=e,this.romPageMask=(e.length>>14)-1;break;default:throw Error("Unknown rom size: $"+l(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(){var e=super.saveState();return e.pr=this.pagingRegisters.slice(0),e.cr=this.cartram.slice(0),e.lhc=this.latchedHCounter,e.iocf=this.ioControlFlags,e}getDebugInfo(e,r){return e==="SMS"?super.getDebugInfo(e,r)+`
|
||||
Bank Regs: `+this.pagingRegisters+`
|
||||
`:super.getDebugInfo(e,r)}},x=class extends o{newVDP(t,e,r){return new b(t,e,r)}readIO(t){switch(t&193){case 0:return~this.inputs[1]&128|64;case 220:return this.inputs[0]^255;case 221:return this.inputs[1]^255}return super.readIO(t)}};var R=[{id:"text.c",name:"Text Mode"},{id:"hello.c",name:"Scrolling Text"},{id:"text32.c",name:"32-Column Color Text"},{id:"stars.c",name:"Scrolling Starfield"},{id:"cursorsmooth.c",name:"Moving Cursor"},{id:"simplemusic.c",name:"Simple Music"},{id:"musicplayer.c",name:"Multivoice Music"},{id:"mode2bitmap.c",name:"Mode 2 Bitmap"},{id:"mode2compressed.c",name:"Mode 2 Bitmap (LZG)"},{id:"lines.c",name:"Mode 2 Lines"},{id:"multicolor.c",name:"Multicolor Mode"},{id:"siegegame.c",name:"Siege Game"},{id:"shoot.c",name:"Solarian Game"},{id:"climber.c",name:"Climber Game"}],C=[{id:"mode4test.c",name:"Mode 4 Test"},{id:"text.c",name:"Text Mode"},{id:"hello.c",name:"Scrolling Text"},{id:"text32.c",name:"32-Column Color Text"},{id:"stars.c",name:"Scrolling Starfield"},{id:"cursorsmooth.c",name:"Moving Cursor"},{id:"simplemusic.c",name:"Simple Music"},{id:"musicplayer.c",name:"Multivoice Music"},{id:"siegegame.c",name:"Siege Game"},{id:"climber.c",name:"Climber Game"},{id:"solarian.c",name:"Solarian Game"}],O=[...C],_=[...C],f=class extends u{newMachine(){return new a}getPresets(){return R}readAddress(t){return this.machine.read(t)}readVRAMAddress(t){return this.machine.readVRAMAddress(t)}},d=class extends u{newMachine(){return new o}getPresets(){return O}readAddress(t){return this.machine.read(t)}readVRAMAddress(t){return this.machine.readVRAMAddress(t)}},h=class extends u{newMachine(){return new x}getPresets(){return _}readAddress(t){return this.machine.read(t)}readVRAMAddress(t){return this.machine.readVRAMAddress(t)}};c["sms-sg1000-libcv"]=f;c["sms-sms-libcv"]=d;c["sms-gg-libcv"]=h;export{_ as GG_PRESETS,R as SG1000_PRESETS,O as SMS_PRESETS};
|
||||
//# sourceMappingURL=sms-7XSKW2G3.js.map
|
||||
//# sourceMappingURL=sms-QJAREAJY.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{C as w}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as v,R as x,T as p,X as C,ca as P,da as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var y=[],A=function(R){this.__proto__=new w;var t,i,o,f,l,u,c,m,s,M=0,a=0,n,g=14318e3/8,D=1789750/1280,S=g/60,b=g/D;this.getPresets=function(){return y},this.start=function(){i=new p(1024),f={read:d([[0,16383,16383,function(e){return o?o[e]:null}],[16384,24575,1023,function(e){return i.mem[e]}]]),write:d([[16384,24575,1023,function(e,r){i.mem[e]=r}]]),isContended:function(){return!1}},l={read:function(e){if(e&64){if(a==15){var r=t.getTstates()/b&1;return r?255:0}return n.readRegister(a)&255}return 0},write:function(e,r){e&128&&(a=r&15),e&64&&n.writeRegisterAY(a,r&255)}},this.readAddress=f.read,t=this.newCPU(f,l),n=new PsgDeviceChannel,c=new MasterChannel,n.setMode(PsgDeviceChannel.MODE_SIGNED),n.setDevice(PsgDeviceChannel.DEVICE_AY_3_8910),c.addChannel(n),u=new AudioLooper(512),u.setChannel(c),m=new x(R,256,256),m.create(),m.setKeyboardEvents(function(e,r,T){var h=e-49;h>=0&&T&1&&(n.writeRegister(14,h),n.writeRegister(15,128),t.setIFF1(1),t.requestInterrupt(56))}),s=new C(60,()=>{if(this.isRunning()){var e=this.getDebugCallback(),r=t.getTstates()+S;if(e)for(;t.getTstates()<r;)e&&e()&&(e=null),t.runFrame(t.getTstates()+1);else t.runFrame(r)}})},this.loadROM=function(e,r){o=P(r,16384),t.reset()},this.loadState=function(e){t.loadState(e.c),i.mem.set(e.b)},this.saveState=function(){return{c:this.getCPUState(),b:i.mem.slice(0)}},this.getCPUState=function(){return t.saveState()},this.isRunning=function(){return s&&s.isRunning()},this.pause=function(){s.stop()},this.resume=function(){s.start(),u.activate()},this.reset=function(){t.reset(),this.getDebugCallback()||t.setTstates(0)}};v.sound_konami=A;
|
||||
//# sourceMappingURL=sound_konami-JDSIX6TM.js.map
|
||||
import{C as w}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as v,R as x,T as p,X as C,ca as P,da as d}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var y=[],A=function(R){this.__proto__=new w;var t,i,o,f,l,u,c,m,s,M=0,a=0,n,g=14318e3/8,D=1789750/1280,S=g/60,b=g/D;this.getPresets=function(){return y},this.start=function(){i=new p(1024),f={read:d([[0,16383,16383,function(e){return o?o[e]:null}],[16384,24575,1023,function(e){return i.mem[e]}]]),write:d([[16384,24575,1023,function(e,r){i.mem[e]=r}]]),isContended:function(){return!1}},l={read:function(e){if(e&64){if(a==15){var r=t.getTstates()/b&1;return r?255:0}return n.readRegister(a)&255}return 0},write:function(e,r){e&128&&(a=r&15),e&64&&n.writeRegisterAY(a,r&255)}},this.readAddress=f.read,t=this.newCPU(f,l),n=new PsgDeviceChannel,c=new MasterChannel,n.setMode(PsgDeviceChannel.MODE_SIGNED),n.setDevice(PsgDeviceChannel.DEVICE_AY_3_8910),c.addChannel(n),u=new AudioLooper(512),u.setChannel(c),m=new x(R,256,256),m.create(),m.setKeyboardEvents(function(e,r,T){var h=e-49;h>=0&&T&1&&(n.writeRegister(14,h),n.writeRegister(15,128),t.setIFF1(1),t.requestInterrupt(56))}),s=new C(60,()=>{if(this.isRunning()){var e=this.getDebugCallback(),r=t.getTstates()+S;if(e)for(;t.getTstates()<r;)e&&e()&&(e=null),t.runFrame(t.getTstates()+1);else t.runFrame(r)}})},this.loadROM=function(e,r){o=P(r,16384),t.reset()},this.loadState=function(e){t.loadState(e.c),i.mem.set(e.b)},this.saveState=function(){return{c:this.getCPUState(),b:i.mem.slice(0)}},this.getCPUState=function(){return t.saveState()},this.isRunning=function(){return s&&s.isRunning()},this.pause=function(){s.stop()},this.resume=function(){s.start(),u.activate()},this.reset=function(){t.reset(),this.getDebugCallback()||t.setTstates(0)}};v.sound_konami=A;
|
||||
//# sourceMappingURL=sound_konami-SZIVTBKX.js.map
|
||||
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
import{H as u,c as f,q as o}from"./chunk-QYEDG265.js";import"./chunk-UACHXWHT.js";import{L as m,da as t}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var h=[{id:"swave.c",name:"Wavetable Synth"}],a=class extends o{constructor(){super();this.cpuFrequency=18432e3/6;this.cpuCyclesPerFrame=this.cpuFrequency/60;this.cpuAudioFactor=32;this.canvasWidth=256;this.numVisibleScanlines=256;this.defaultROMSize=16384;this.sampleRate=this.cpuFrequency;this.overscan=!0;this.ram=new Uint8Array(1024);this.command=0;this.dac=0;this.dac_float=0;this.xpos=0;this.read=t([[0,16383,16383,e=>this.rom&&this.rom[e]],[16384,32767,1023,e=>this.ram[e]]]);this.write=t([[16384,32767,1023,(e,s)=>{this.ram[e]=s}]]);this.cpu=new f,this.connectCPUMemoryBus(this),this.connectCPUIOBus({read:e=>this.command&255,write:(e,s)=>{let r=this.dac=s&255;this.dac_float=(r&128?-256+r:r)/128}})}advanceFrame(e){this.pixels&&this.pixels.fill(0);let s=this.cpuCyclesPerFrame;for(var r=0;r<s&&!(e&&e());)r+=this.advanceCPU();return r}advanceCPU(){var e=super.advanceCPU();return this.audio&&this.audio.feedSample(this.dac_float,e),this.pixels&&!this.cpu.isHalted()&&(this.pixels[(this.xpos>>8&255)+(255-this.dac<<8)]=4281597747,this.xpos=this.xpos+e&16777215),e}setKeyInput(e,s,r){var c=e-49;c>=0&&r&1&&(this.command=c&255,this.cpu.reset())}},i=class extends u{newMachine(){return new a}getPresets(){return h}readAddress(n){return this.machine.read(n)}};m["sound_williams-z80"]=i;export{i as WilliamsSoundPlatform};
|
||||
//# sourceMappingURL=sound_williams-J2ISZQKY.js.map
|
||||
import{H as u,c as f,q as o}from"./chunk-RWTUUV4L.js";import"./chunk-UXRCACYH.js";import{L as m,da as t}from"./chunk-V6TNHL6H.js";import"./chunk-N7W4C4V2.js";var h=[{id:"swave.c",name:"Wavetable Synth"}],a=class extends o{constructor(){super();this.cpuFrequency=18432e3/6;this.cpuCyclesPerFrame=this.cpuFrequency/60;this.cpuAudioFactor=32;this.canvasWidth=256;this.numVisibleScanlines=256;this.defaultROMSize=16384;this.sampleRate=this.cpuFrequency;this.overscan=!0;this.ram=new Uint8Array(1024);this.command=0;this.dac=0;this.dac_float=0;this.xpos=0;this.read=t([[0,16383,16383,e=>this.rom&&this.rom[e]],[16384,32767,1023,e=>this.ram[e]]]);this.write=t([[16384,32767,1023,(e,s)=>{this.ram[e]=s}]]);this.cpu=new f,this.connectCPUMemoryBus(this),this.connectCPUIOBus({read:e=>this.command&255,write:(e,s)=>{let r=this.dac=s&255;this.dac_float=(r&128?-256+r:r)/128}})}advanceFrame(e){this.pixels&&this.pixels.fill(0);let s=this.cpuCyclesPerFrame;for(var r=0;r<s&&!(e&&e());)r+=this.advanceCPU();return r}advanceCPU(){var e=super.advanceCPU();return this.audio&&this.audio.feedSample(this.dac_float,e),this.pixels&&!this.cpu.isHalted()&&(this.pixels[(this.xpos>>8&255)+(255-this.dac<<8)]=4281597747,this.xpos=this.xpos+e&16777215),e}setKeyInput(e,s,r){var c=e-49;c>=0&&r&1&&(this.command=c&255,this.cpu.reset())}},i=class extends u{newMachine(){return new a}getPresets(){return h}readAddress(n){return this.machine.read(n)}};m["sound_williams-z80"]=i;export{i as WilliamsSoundPlatform};
|
||||
//# sourceMappingURL=sound_williams-5MCUOTIL.js.map
|
||||
File renamed without changes.
@@ -386,7 +386,7 @@ class Base6502Platform extends BaseDebugPlatform {
|
||||
disassemble(pc, read) {
|
||||
return (0, disasm6502_1.disassemble6502)(pc, read(pc), read(pc + 1), read(pc + 2));
|
||||
}
|
||||
getDefaultExtensions() { return [".c", ".cpp", ".o64", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
getDefaultExtensions() { return [".c", ".sdcc", ".cpp", ".o64", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
;
|
||||
getDebugCategories() {
|
||||
return ['CPU', 'ZPRAM', 'Stack'];
|
||||
@@ -495,7 +495,7 @@ class BaseZ80Platform extends BaseDebugPlatform {
|
||||
}
|
||||
return n;
|
||||
}
|
||||
getDefaultExtensions() { return [".c", ".ns", ".s", ".scc", ".sgb", ".z", ".wiz"]; }
|
||||
getDefaultExtensions() { return [".c", ".sdcc", ".ns", ".s", ".scc", ".sgb", ".z", ".wiz"]; }
|
||||
;
|
||||
// TODO: Z80 opcode metadata
|
||||
//this.getOpcodeMetadata = function() { }
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"baseplatform.js","sourceRoot":"","sources":["../../../src/common/baseplatform.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"baseplatform.js","sourceRoot":"","sources":["../../../src/common/baseplatform.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -448,6 +448,11 @@ class EmuCore {
|
||||
/** Frames per second the platform's timer asked for (60 if unknown). */
|
||||
get frameRate() { return this.video ? this.video.frameRate : 60; }
|
||||
saveState() { return this.platform.saveState ? this.platform.saveState() : null; }
|
||||
/** Text a platform's program has sent to a serial port, or null if it has none. */
|
||||
getSerialOutput() {
|
||||
const p = this.platform;
|
||||
return typeof p.getSerialOutput === 'function' ? p.getSerialOutput() : null;
|
||||
}
|
||||
getDebugInfo() {
|
||||
const state = this.saveState();
|
||||
const p = this.platform;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"emucore.js","sourceRoot":"","sources":["../../../src/common/emucore.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"emucore.js","sourceRoot":"","sources":["../../../src/common/emucore.ts"],"names":[],"mappings":"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 truncated
|
||||
+49
-10
@@ -23,7 +23,7 @@
|
||||
* (unless noWorkerBuild) and vice versa.
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TOOL_META = exports.DIALOG_INCLUDE_PATTERNS = exports.ECS_INCLUDE_PATTERNS = exports.WIZ_INCLUDE_PATTERNS = exports.ACME_INCLUDE_PATTERNS = exports.USE_ASM_INCLUDE_PATTERNS = exports.SYSTEM_INCLUDE_PATTERNS = exports.VERILOG_INCLUDE_PATTERNS = exports.SHARED_LINK_PATTERNS = exports.OSCAR64_INCLUDE_PATTERNS = exports.DASM_INCLUDE_PATTERNS = exports.SHARED_INCLUDE_PATTERNS = void 0;
|
||||
exports.TOOL_META = exports.SDCC_DEFAULT_VERSION = exports.DIALOG_INCLUDE_PATTERNS = exports.ECS_INCLUDE_PATTERNS = exports.WIZ_INCLUDE_PATTERNS = exports.ACME_INCLUDE_PATTERNS = exports.USE_ASM_INCLUDE_PATTERNS = exports.SYSTEM_INCLUDE_PATTERNS = exports.VERILOG_INCLUDE_PATTERNS = exports.SHARED_LINK_PATTERNS = exports.OSCAR64_INCLUDE_PATTERNS = exports.DASM_INCLUDE_PATTERNS = exports.SHARED_INCLUDE_PATTERNS = void 0;
|
||||
exports.getSystemIncludePatterns = getSystemIncludePatterns;
|
||||
exports.getToolMeta = getToolMeta;
|
||||
exports.getPlatformToolHelpURL = getPlatformToolHelpURL;
|
||||
@@ -130,6 +130,29 @@ const TOOL_PLATFORM_HELPURL = {
|
||||
lynx: 'https://cc65.github.io/doc/lynx.html',
|
||||
},
|
||||
};
|
||||
/**
|
||||
* Which SDCC a program gets unless it says `//#tooldef c sdcc=3|4`. To make
|
||||
* 4.x the default, change this to 4: nothing else needs editing.
|
||||
* 3 = 3.6.5, Emscripten, preloadFS 'sdcc' (builds several times faster)
|
||||
* 4 = 4.x, WASI, sdcc-fs.zip (smaller code)
|
||||
*/
|
||||
exports.SDCC_DEFAULT_VERSION = 3;
|
||||
/**
|
||||
* 'default' lists both filesystems; the one for SDCC_DEFAULT_VERSION leads
|
||||
* (getSharedFileSystemName prefers preloadFS). Platforms whose prebuilt
|
||||
* libraries were compiled by SDCC 3.x (libcv, gb.lib, cpctelera) have only
|
||||
* preloadFS: 4.x's default calling convention, sdcccall(1), can't call them.
|
||||
*/
|
||||
const SDCC_FS = {
|
||||
'default': exports.SDCC_DEFAULT_VERSION === 3
|
||||
? { preloadFS: 'sdcc', wasiFSZip: 'sdcc-fs.zip' }
|
||||
: { wasiFSZip: 'sdcc-fs.zip' },
|
||||
'coleco': { preloadFS: 'sdcc' },
|
||||
'msx-libcv': { preloadFS: 'sdcc' },
|
||||
'sms': { preloadFS: 'sdcc' },
|
||||
'gb': { preloadFS: 'sdcc' },
|
||||
'cpc': { preloadFS: 'sdcc' },
|
||||
};
|
||||
const CC65_WASIFS = {
|
||||
'apple2': { wasiFSZip: 'cc65-fs-apple2.zip' },
|
||||
'c64': { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
@@ -233,25 +256,25 @@ exports.TOOL_META = {
|
||||
// ---- SDCC toolchain (z80) ----
|
||||
sdcc: {
|
||||
id: 'sdcc', name: 'SDCC', kind: 'compiler', arch: 'z80',
|
||||
extensions: ['.c', '.h'],
|
||||
includeDirs: ['/include'],
|
||||
extensions: ['.c', '.h', '.sdcc'],
|
||||
includeDirs: ['/share/sdcc/include', '/include'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'http://sdcc.sourceforge.net/doc/sdccman.pdf',
|
||||
wasmModule: 'sdcc',
|
||||
version: '3.6.5',
|
||||
wasmModule: 'sdcc4',
|
||||
version: exports.SDCC_DEFAULT_VERSION === 3 ? '3.6.5' : '4.6.0',
|
||||
defineFlag: '-D', defineInline: true,
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
platforms: SDCC_FS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
sdasz80: {
|
||||
id: 'sdasz80', name: 'sdasz80', kind: 'assembler', arch: 'z80',
|
||||
extensions: ['.s'],
|
||||
includeDirs: ['/include'],
|
||||
includeDirs: ['/share/sdcc/include', '/include'],
|
||||
editorStyle: 'z80',
|
||||
wasmModule: 'sdasz80',
|
||||
wasmModule: 'sdasz80-4',
|
||||
version: '02.00',
|
||||
platforms: { default: { preloadFS: 'sdcc' } },
|
||||
platforms: SDCC_FS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -268,7 +291,23 @@ exports.TOOL_META = {
|
||||
sdldz80: {
|
||||
id: 'sdldz80', name: 'sdldz80', kind: 'linker', arch: 'z80',
|
||||
extensions: [],
|
||||
wasmModule: 'sdldz80',
|
||||
wasmModule: 'sdld4',
|
||||
version: '03.00',
|
||||
linkSymbolFlag: '-g', linkSymbolInline: false,
|
||||
},
|
||||
// SDCC 4.x mos6502 backend (compile with `-sdcc.c`); sdld6808 is the
|
||||
// 6502 personality of the sdld4 binary
|
||||
sdas6500: {
|
||||
id: 'sdas6500', name: 'sdas6500', kind: 'assembler', arch: '6502',
|
||||
extensions: [],
|
||||
wasmModule: 'sdas6500',
|
||||
version: '02.00',
|
||||
platforms: SDCC_FS,
|
||||
},
|
||||
sdld6808: {
|
||||
id: 'sdld6808', name: 'sdld6808', kind: 'linker', arch: '6502',
|
||||
extensions: [],
|
||||
wasmModule: 'sdld4',
|
||||
version: '03.00',
|
||||
linkSymbolFlag: '-g', linkSymbolInline: false,
|
||||
},
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../../src/common/toolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../../src/common/toolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -25,6 +25,8 @@ const util_1 = require("./util");
|
||||
function getToolForFilename_6502(fn) {
|
||||
if (fn.endsWith("-llvm.c"))
|
||||
return "remote:llvm-mos";
|
||||
if (fn.endsWith("-sdcc.c") || fn.endsWith(".sdcc"))
|
||||
return "sdcc"; // SDCC 4.x mos6502 backend
|
||||
if (fn.endsWith(".c"))
|
||||
return "cc65";
|
||||
if (fn.endsWith(".h"))
|
||||
@@ -54,7 +56,7 @@ function getToolForFilename_6502(fn) {
|
||||
return "dasm"; // .a
|
||||
}
|
||||
function getToolForFilename_z80(fn) {
|
||||
if (fn.endsWith(".c"))
|
||||
if (fn.endsWith(".c") || fn.endsWith(".sdcc"))
|
||||
return "sdcc";
|
||||
if (fn.endsWith(".h"))
|
||||
return "sdcc";
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"toolselect.js","sourceRoot":"","sources":["../../../src/common/toolselect.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"toolselect.js","sourceRoot":"","sources":["../../../src/common/toolselect.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -350,6 +350,20 @@ class WASIMemoryFilesystem {
|
||||
return WASIErrors.ISDIR;
|
||||
return this.files.delete(name) ? WASIErrors.SUCCESS : WASIErrors.NOENT;
|
||||
}
|
||||
// Rename a file within this (writable) layer, replacing any file at newName.
|
||||
renameFile(oldName, newName) {
|
||||
oldName = normalizeWASIPath(oldName);
|
||||
newName = normalizeWASIPath(newName);
|
||||
if (this.dirs.has(oldName) || this.dirs.has(newName))
|
||||
return WASIErrors.ISDIR;
|
||||
const file = this.files.get(oldName);
|
||||
if (!file)
|
||||
return WASIErrors.NOENT;
|
||||
this.files.delete(oldName);
|
||||
file.name = newName;
|
||||
this.files.set(newName, file);
|
||||
return WASIErrors.SUCCESS;
|
||||
}
|
||||
removeDirectory(name) {
|
||||
name = normalizeWASIPath(name);
|
||||
if (name === '/')
|
||||
@@ -771,6 +785,18 @@ class WASIRunner {
|
||||
debug("path_unlink_file", dir + "", path);
|
||||
return this.fs.removeFile(path);
|
||||
}
|
||||
path_rename(old_dirfd, old_path_ptr, old_path_len, new_dirfd, new_path_ptr, new_path_len) {
|
||||
const olddir = this.fds[old_dirfd];
|
||||
const newdir = this.fds[new_dirfd];
|
||||
if (olddir == null || newdir == null)
|
||||
return WASIErrors.BADF;
|
||||
if (olddir.type !== FDType.DIRECTORY || newdir.type !== FDType.DIRECTORY)
|
||||
return WASIErrors.NOTDIR;
|
||||
const oldpath = olddir.name + '/' + this.peekUTF8(old_path_ptr, old_path_len);
|
||||
const newpath = newdir.name + '/' + this.peekUTF8(new_path_ptr, new_path_len);
|
||||
debug("path_rename", oldpath, newpath);
|
||||
return this.fs.renameFile(oldpath, newpath);
|
||||
}
|
||||
path_remove_directory(dirfd, path_ptr, path_len) {
|
||||
const dir = this.fds[dirfd];
|
||||
if (dir == null)
|
||||
@@ -821,6 +847,7 @@ class WASIRunner {
|
||||
path_readlink: this.path_readlink.bind(this),
|
||||
path_unlink_file: this.path_unlink_file.bind(this),
|
||||
path_remove_directory: this.path_remove_directory.bind(this),
|
||||
path_rename: this.path_rename.bind(this),
|
||||
path_create_directory: this.path_create_directory.bind(this),
|
||||
clock_time_get: this.clock_time_get.bind(this),
|
||||
fd_fdstat_set_flags() { warning("TODO: fd_fdstat_set_flags"); return WASIErrors.NOTSUP; },
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"wasishim.js","sourceRoot":"","sources":["../../../../src/common/wasi/wasishim.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"wasishim.js","sourceRoot":"","sources":["../../../../src/common/wasi/wasishim.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -27,6 +27,8 @@ const APPLE2_PRESETS = [
|
||||
// {id:'tb_6502.s', name:'Tom Bombem (assembler game)'},
|
||||
{ id: 'dos33bin.a', name: "DOS 3.3 Binary" },
|
||||
{ id: 'applesinglebin.a', name: "AppleSingle Binary" },
|
||||
{ id: 'hello-sdcc.c', name: 'Hello World (SDCC)', category: "C (SDCC)" },
|
||||
{ id: 'cosmic-sdcc.c', name: 'Cosmic Impalas (SDCC)' },
|
||||
];
|
||||
/// MAME support
|
||||
class Apple2MAMEPlatform extends mameplatform_1.BaseMAME6502Platform {
|
||||
@@ -50,7 +52,7 @@ class Apple2MAMEPlatform extends mameplatform_1.BaseMAME6502Platform {
|
||||
},
|
||||
});
|
||||
}
|
||||
getDefaultExtensions() { return [".c", ".cpp", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
getDefaultExtensions() { return [".c", ".sdcc", ".cpp", ".acme", ".xa", ".ca65", ".dasm", ".ecs", ".wiz"]; }
|
||||
getPresets() { return APPLE2_PRESETS; }
|
||||
loadROM(title, data) {
|
||||
this.loadROMFile(data);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"apple2.js","sourceRoot":"","sources":["../../../src/platform/apple2.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"apple2.js","sourceRoot":"","sources":["../../../src/platform/apple2.ts"],"names":[],"mappings":"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"}
|
||||
@@ -46,6 +46,9 @@ const C64_PRESETS = [
|
||||
{ id: 'hello.cpp', name: 'Hello Oscar64', category: 'C++ (Oscar64)' },
|
||||
{ id: 'particles.cpp', name: 'Fireworks' },
|
||||
{ id: 'lander.cpp', name: 'Lunar Lander' },
|
||||
{ id: 'hello-sdcc.c', name: 'Hello World (SDCC)', category: 'C (SDCC)' },
|
||||
{ id: 'sprite_collision-sdcc.c', name: 'Sprite Collision (SDCC)' },
|
||||
{ id: 'fullscrollgame-sdcc.c', name: 'Full-Scrolling Game (SDCC)' },
|
||||
];
|
||||
const C64_MEMORY_MAP = { main: [
|
||||
{ name: '6510 Registers', start: 0x0, size: 0x2, type: 'io' },
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"c64.js","sourceRoot":"","sources":["../../../src/platform/c64.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"c64.js","sourceRoot":"","sources":["../../../src/platform/c64.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -8,7 +8,18 @@ const util_1 = require("../common/util");
|
||||
const teletype_1 = require("../common/teletype");
|
||||
var DEVEL_6502_PRESETS = [
|
||||
{ id: 'hello.dasm', name: 'Hello World (ASM)' },
|
||||
{ id: 'hello-sdcc.c', name: 'Hello World (SDCC C)' },
|
||||
];
|
||||
/** For the CLI and tests, which have no DOM: the output is kept by the harness. */
|
||||
class HeadlessSerialViewer {
|
||||
constructor() {
|
||||
this.tty = { addtext() { }, newline() { }, clear() { }, saveState() { return {}; }, loadState() { } };
|
||||
}
|
||||
start() { }
|
||||
reset() { }
|
||||
saveState() { return {}; }
|
||||
loadState() { }
|
||||
}
|
||||
class SerialInOutViewer {
|
||||
constructor(div) {
|
||||
div.style.overflowY = 'auto';
|
||||
@@ -108,7 +119,8 @@ class Devel6502Platform extends baseplatform_1.Base6502MachinePlatform {
|
||||
{ name: 'ROM', start: 0x8000, size: 0x8000, type: 'rom' },
|
||||
] };
|
||||
};
|
||||
this.serview = new SerialInOutViewer(mainElement);
|
||||
// no element: running headless (the 8bws CLI)
|
||||
this.serview = mainElement ? new SerialInOutViewer(mainElement) : new HeadlessSerialViewer();
|
||||
}
|
||||
async start() {
|
||||
super.start();
|
||||
@@ -145,6 +157,8 @@ class Devel6502Platform extends baseplatform_1.Base6502MachinePlatform {
|
||||
this.serview.loadState(state.serview);
|
||||
// TODO: reload tty UI
|
||||
}
|
||||
/** Everything the program has sent to the serial port (for the CLI's `serial` command). */
|
||||
getSerialOutput() { return (0, util_1.byteArrayToString)(this.serial.outputBytes); }
|
||||
newMachine() { return new devel_1.Devel6502(); }
|
||||
getPresets() { return DEVEL_6502_PRESETS; }
|
||||
readAddress(a) { return this.machine.readConst(a); }
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"devel.js","sourceRoot":"","sources":["../../../src/platform/devel.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"devel.js","sourceRoot":"","sources":["../../../src/platform/devel.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -95,7 +95,7 @@ const cliformat_1 = require("./cliformat");
|
||||
const PRESETS_DIR = 'presets';
|
||||
const PLATFORM_SRC_DIR = 'src/platform';
|
||||
const DEFAULT_TIMEOUT = 120000;
|
||||
const DEFAULT_RUN_FRAMES = 300;
|
||||
const DEFAULT_RUN_FRAMES = 200;
|
||||
// A frame this uniform after a few seconds almost always means nothing drew;
|
||||
// a real screen has a background plus text or sprites (or stars).
|
||||
const SOLID_FRACTION = 0.9995;
|
||||
@@ -106,6 +106,8 @@ const SKIP_PLATFORMS = [
|
||||
'astrocade-arcade',
|
||||
'mcr',
|
||||
'vectrex',
|
||||
'devel',
|
||||
'devel-6502',
|
||||
];
|
||||
// build these, but don't run them: the emulator needs a real browser
|
||||
// (x86 is the v86 PC emulator, loaded as a page script)
|
||||
@@ -499,7 +501,12 @@ async function runPreset(result, preset, platform, opts = {}) {
|
||||
for (let i = 0; i < frames; i++)
|
||||
target.advanceFrame();
|
||||
run.ok = true;
|
||||
const video = target.getVideo();
|
||||
let video = target.getVideo();
|
||||
if (!video) {
|
||||
for (let i = 0; i < frames; i++)
|
||||
target.advanceFrame();
|
||||
video = target.getVideo();
|
||||
}
|
||||
if (!video) {
|
||||
run.verdict = 'novideo';
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"buildpresets.js","sourceRoot":"","sources":["../../../src/tools/buildpresets.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"buildpresets.js","sourceRoot":"","sources":["../../../src/tools/buildpresets.ts"],"names":[],"mappings":"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 truncated
|
||||
Loaded 100 of 212 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user