mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2026-10-25 00:02:16 +00:00
Deploying to gh-pages from @ sehugg/8bitworkshop@84eff0f8ed 🚀
This commit is contained in:
1 parent
a92c38e567
commit
92fa980a38
93 files changed
+653
-337568
No files matched your search
@@ -189,7 +189,7 @@ unless a different license is explicitly stated within the specific code sample.
|
||||
* https://www.mamedev.org/ (BSD-3-Clause)
|
||||
* https://github.com/floooh/chips (Zlib)
|
||||
* https://github.com/DrGoldfire/Z80.js (MIT)
|
||||
* http://www.twitchasylum.com/jsvecx/
|
||||
* http://www.twitchasylum.com/jsvecx/ (GPL-3)
|
||||
* https://github.com/curiousdannii/ifvms.js/ (MIT)
|
||||
* https://github.com/6502ts/6502.ts (MIT)
|
||||
* https://github.com/yhzmr442/jspce (MIT)
|
||||
@@ -200,16 +200,16 @@ unless a different license is explicitly stated within the specific code sample.
|
||||
* https://cc65.github.io/ (zlib)
|
||||
* http://sdcc.sourceforge.net/ (GPL-2)
|
||||
* https://github.com/stahta01/cmoc/ (GPL-3.0)
|
||||
* https://github.com/batari-Basic/batari-Basic
|
||||
* https://github.com/batari-Basic/batari-Basic (GPL-2)
|
||||
* https://www.veripool.org/wiki/verilator (GNU Lesser Public License Version 3)
|
||||
* http://mcpp.sourceforge.net/ (BSD-2)
|
||||
* https://github.com/DavidKinder/Inform6
|
||||
* https://github.com/DavidKinder/Inform6 (Inform, https://github.com/DavidKinder/Inform6/blob/master/licence.txt)
|
||||
* https://github.com/dmsc/fastbasic (GPL-2.0)
|
||||
* https://github.com/wiz-lang/wiz (MIT)
|
||||
* https://github.com/sylefeb/Silice (GPL-3.0)
|
||||
* https://github.com/steux/cc7800 (GPL-3.0)
|
||||
* https://bellard.org/tcc/
|
||||
* https://github.com/Dialog-IF/dialog
|
||||
* https://bellard.org/tcc/ (MIT)
|
||||
* https://github.com/Dialog-IF/dialog (BSD-2-Clause)
|
||||
* https://github.com/alexfru/SmallerC (BSD-2-Clause)
|
||||
* https://github.com/drmortalwombat/oscar64/ (GPL-3.0)
|
||||
|
||||
@@ -220,7 +220,7 @@ unless a different license is explicitly stated within the specific code sample.
|
||||
* http://48k.ca/zmac.html (public domain)
|
||||
* https://github.com/apple2accumulator/merlin32
|
||||
* https://github.com/camsaul/nesasm
|
||||
* https://www.floodgap.com/retrotech/xa/
|
||||
* https://www.floodgap.com/retrotech/xa/ (GPL-2)
|
||||
* https://github.com/mikeakohn/naken_asm (GPL-3)
|
||||
* https://github.com/yasm/yasm
|
||||
* https://github.com/mbitsnbites/vasm-mirror
|
||||
@@ -229,11 +229,11 @@ unless a different license is explicitly stated within the specific code sample.
|
||||
### Dev Kits / Libraries
|
||||
|
||||
* https://shiru.untergrund.net/code.shtml
|
||||
* http://www.colecovision.eu/ColecoVision/development/libcv.shtml
|
||||
* http://www.colecovision.eu/ColecoVision/development/libcv.shtml (LGPL-2.1)
|
||||
* https://github.com/toyoshim/tss (BSD-3-Clause)
|
||||
* https://github.com/lronaldo/cpctelera (LGPL-3.0)
|
||||
* https://github.com/datajerk/c2t (BSD-3)
|
||||
* https://github.com/sehugg/6809tools
|
||||
* https://github.com/sehugg/6809tools (GPL-3)
|
||||
* https://github.com/mbitsnbites/liblzg (Zlib)
|
||||
* https://github.com/sehugg/makewav
|
||||
* https://github.com/Kingcom/armips (MIT)
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
import{M as b,N as w}from"./chunk-ZTLOJICZ.js";import{d as E}from"./chunk-VSC4MAII.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-HWNTKLI6.js");case"arm32"Line truncated
|
||||
//# sourceMappingURL=chunk-2I4PZDSN.js.map
|
||||
import{M as b,N as w}from"./chunk-ZTLOJICZ.js";import{d as E}from"./chunk-VSC4MAII.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-HWNTKLI6.js");case"arm32"Line truncated
|
||||
//# sourceMappingURL=chunk-7CYBOXJ5.js.map
|
||||
File renamed without changes.
+25
-22
@@ -130,18 +130,18 @@ const TOOL_PLATFORM_HELPURL = {
|
||||
lynx: 'https://cc65.github.io/doc/lynx.html',
|
||||
},
|
||||
};
|
||||
const CC65_PRELOADFS = {
|
||||
'apple2': { preloadFS: '65-apple2' },
|
||||
'c64': { preloadFS: '65-c64' },
|
||||
'vic20': { preloadFS: '65-vic20' },
|
||||
'nes': { preloadFS: '65-nes' },
|
||||
'atari8': { preloadFS: '65-atari8' },
|
||||
'vector': { preloadFS: '65-none' },
|
||||
'atari7800': { preloadFS: '65-none' },
|
||||
'devel': { preloadFS: '65-none' },
|
||||
'vcs': { preloadFS: '65-atari2600' },
|
||||
'pce': { preloadFS: '65-pce' },
|
||||
'exidy': { preloadFS: '65-none' },
|
||||
const CC65_WASIFS = {
|
||||
'apple2': { wasiFSZip: 'cc65-fs-apple2.zip' },
|
||||
'c64': { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
'vic20': { wasiFSZip: 'cc65-fs-vic20.zip' },
|
||||
'nes': { wasiFSZip: 'cc65-fs-nes.zip' },
|
||||
'atari8': { wasiFSZip: 'cc65-fs-atari8.zip' },
|
||||
'vector': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'atari7800': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'devel': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'vcs': { wasiFSZip: 'cc65-fs-atari2600.zip' },
|
||||
'pce': { wasiFSZip: 'cc65-fs-pce.zip' },
|
||||
'exidy': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
};
|
||||
//// tool registry
|
||||
exports.TOOL_META = {
|
||||
@@ -200,26 +200,26 @@ exports.TOOL_META = {
|
||||
cc65: {
|
||||
id: 'cc65', name: 'cc65', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.h'],
|
||||
includeDirs: ['/include', '/asminc'],
|
||||
includeDirs: ['/share/cc65/include', '/share/cc65/asminc'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://cc65.github.io/doc/cc65.html',
|
||||
wasmModule: 'cc65',
|
||||
version: '2.19',
|
||||
defineFlag: '-D', defineInline: true,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
ca65: {
|
||||
id: 'ca65', name: 'ca65', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.s', '.ca65', '.inc'],
|
||||
includeDirs: ['/include', '/asminc'],
|
||||
includeDirs: ['/share/cc65/include', '/share/cc65/asminc'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://cc65.github.io/doc/ca65.html',
|
||||
wasmModule: 'ca65',
|
||||
version: '2.19',
|
||||
defineFlag: '-D', defineInline: false,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -439,7 +439,7 @@ exports.TOOL_META = {
|
||||
helpURL: 'https://github.com/dmsc/fastbasic/blob/v4.4/manual.md',
|
||||
wasmModule: 'fastbasic-int',
|
||||
version: '4.4',
|
||||
platforms: { default: { preloadFS: '65-atari8' } },
|
||||
platforms: { default: { wasiFSZip: 'cc65-fs-atari8.zip' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -489,9 +489,9 @@ exports.TOOL_META = {
|
||||
extensions: ['.ecs'],
|
||||
editorStyle: 'ecs',
|
||||
platforms: {
|
||||
vcs: { preloadFS: '65-atari2600' },
|
||||
nes: { preloadFS: '65-nes' },
|
||||
c64: { preloadFS: '65-c64' },
|
||||
vcs: { wasiFSZip: 'cc65-fs-atari2600.zip' },
|
||||
nes: { wasiFSZip: 'cc65-fs-nes.zip' },
|
||||
c64: { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
},
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.ECS_INCLUDE_PATTERNS],
|
||||
},
|
||||
@@ -655,7 +655,7 @@ function getPreloadFSName(tool, platform) {
|
||||
if (platform) {
|
||||
// Try the exact id, then the root base id so suffixed platform ids
|
||||
// (e.g. 'atari8-800', 'atari8-5200.xlmame') resolve to the shared
|
||||
// filesystem registered under the root ('atari8' -> '65-atari8').
|
||||
// filesystem registered under the root (e.g. 'atari8-800' -> 'atari8').
|
||||
let p = meta.platforms[platform];
|
||||
if (p && p.preloadFS)
|
||||
return p.preloadFS;
|
||||
@@ -773,7 +773,7 @@ function getIncludeDirs(tool, platform_id) {
|
||||
}
|
||||
/**
|
||||
* Name of the shared filesystem to query for this tool's bundled files:
|
||||
* either the emscripten preloadFS package name (e.g. '65-nes') or, for tools
|
||||
* either the emscripten preloadFS package name (e.g. 'sdcc') or, for tools
|
||||
* with a WASI filesystem zip (e.g. cc2600), 'wasi:<zipname>'.
|
||||
* Undefined if the tool has no bundled filesystem.
|
||||
*/
|
||||
@@ -781,6 +781,9 @@ function getSharedFileSystemName(tool, platform) {
|
||||
var fsName = getPreloadFSName(tool, platform);
|
||||
if (fsName)
|
||||
return fsName;
|
||||
let config = getPlatformToolConfig(tool, platform);
|
||||
if (config && config.wasiFSZip)
|
||||
return 'wasi:' + config.wasiFSZip;
|
||||
let meta = tool && getToolMeta(tool);
|
||||
return (meta && meta.wasiFSZip) ? 'wasi:' + meta.wasiFSZip : undefined;
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../src/common/toolmeta.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAkMH,4DAGC;AAoiBD,kCAEC;AAOD,wDAWC;AAOD,wCAIC;AAMD,wDAYC;AAOD,sDAUC;AAMD,4CAoBC;AAGD,0CAGC;AASD,gDAKC;AAOD,gCASC;AAOD,wCASC;AAMD,oCAOC;AAGD,0CAKC;AAQD,0DAGC;AAMD,wCAMC;AAQD,0DAKC;AAOD,0DAkBC;AAz8BD,iCAA6C;AA6I7C,iEAAiE;AAEjE,6EAA6E;AAChE,QAAA,uBAAuB,GAAa;IAC/C,+CAA+C;IAC/C,0CAA0C;CAC3C,CAAC;AAEF,0EAA0E;AAC1E,gFAAgF;AAChF,wEAAwE;AACxE,yEAAyE;AACzE,+EAA+E;AAClE,QAAA,qBAAqB,GAAa;IAC7C,GAAG,+BAAuB;IAC1B,0CAA0C;CAC3C,CAAC;AAEF,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC7D,QAAA,wBAAwB,GAAoC;IACvE,GAAG,+BAAuB;IAC1B,gDAAgD;CACjD,CAAC;AAEF,iDAAiD;AACpC,QAAA,oBAAoB,GAAa;IAC5C,mCAAmC;CACpC,CAAC;AAEF,6EAA6E;AAC7E,2BAA2B;AACd,QAAA,wBAAwB,GAAoC;IACvE,wCAAwC;IACxC,6DAA6D;IAC7D,EAAE,EAAE,EAAE,0BAA0B,EAAE,MAAM,EAAE,OAAO,EAAE;IACnD,2BAA2B;CAC5B,CAAC;AAEF,sEAAsE;AACtE,uEAAuE;AACvE,oEAAoE;AACvD,QAAA,uBAAuB,GAAyB;IAC3D,EAAE,EAAE,EAAE,mCAAmC,EAAE,MAAM,EAAE,IAAI,EAAE;CAC1D,CAAC;AAEF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAAa;IACpD,IAAI,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,+BAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9F,CAAC;AAED,sDAAsD;AACzC,QAAA,wBAAwB,GAAa;IAChD,+BAA+B;CAChC,CAAC;AAEF,oBAAoB;AACP,QAAA,qBAAqB,GAAa;IAC7C,sBAAsB;CACvB,CAAC;AAEF,gEAAgE;AACnD,QAAA,oBAAoB,GAAoC;IACnE,EAAE,EAAE,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,EAAE;IAClD,yBAAyB;CAC1B,CAAC;AAEF,qBAAqB;AACR,QAAA,oBAAoB,GAAa;IAC5C,2BAA2B;CAC5B,CAAC;AAEF,iDAAiD;AACpC,QAAA,uBAAuB,GAAa;IAC/C,+BAA+B;CAChC,CAAC;AAEF,oEAAoE;AAEpE;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAuD;IAChF,IAAI,EAAE;QACJ,MAAM,EAAE,wCAAwC;QAChD,MAAM,EAAE,uCAAuC;QAC/C,GAAG,EAAE,qCAAqC;QAC1C,GAAG,EAAE,qCAAqC;QAC1C,GAAG,EAAE,qCAAqC;QAC1C,KAAK,EAAE,uCAAuC;QAC9C,IAAI,EAAE,sCAAsC;KAC7C;CACF,CAAC;AAEF,MAAM,cAAc,GAA+C;IACjE,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;IACpC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;IAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;IAClC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;IAC9B,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;IACpC,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;IAClC,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;IACrC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;IACjC,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;IACpC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;IAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;CAClC,CAAC;AAEF,kBAAkB;AAEL,QAAA,SAAS,GAA+B;IAEnD,4BAA4B;IAE5B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;QACzD,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wFAAwF;QACjG,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,6BAAqB;QACtC,YAAY,EAAE,4BAAoB;KACnC;IAED,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;QACzD,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,sEAAsE;QAC/E,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,QAAQ;QACjB,eAAe,EAAE,CAAC,GAAG,+BAAuB,EAAE,GAAG,6BAAqB,CAAC;QACvE,YAAY,EAAE,4BAAoB;KACnC;IAED,EAAE,EAAE;QACF,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;QACrD,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wCAAwC;QACjD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,+BAAuB;QACxC,YAAY,EAAE,4BAAoB;KACnC;IAED,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;QAC7D,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,+BAAuB;QACxC,YAAY,EAAE,4BAAoB;KACnC;IAED,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;QAClE,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,+CAA+C;QACxD,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,QAAQ;QACjB,eAAe,EAAE,CAAC,GAAG,+BAAuB,EAAE,GAAG,gCAAwB,CAAC;QAC1E,YAAY,EAAE,4BAAoB;KACnC;IAED,2BAA2B;IAE3B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;QACxD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACxB,WAAW,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QACpC,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI;QACpC,SAAS,EAAE,cAAc;QACzB,eAAe,EAAE,+BAAuB;QACxC,YAAY,EAAE,4BAAoB;KACnC;IAED,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;QACzD,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;QACnC,WAAW,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QACpC,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK;QACrC,SAAS,EAAE,cAAc;QACzB,eAAe,EAAE,+BAAuB;QACxC,YAAY,EAAE,4BAAoB;KACnC;IAED,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM;QACtD,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK;KAC9C;IAED,iCAAiC;IAEjC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;QACvD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACxB,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,OAAO;QAChB,ULine truncated
|
||||
{"version":3,"file":"toolmeta.js","sourceRoot":"","sources":["../../src/common/toolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
import{b as v,c as P}from"./chunk-2I4PZDSN.js";import{A as p,E as w,K as c,l as u,m,y as g}from"./chunk-ZTLOJICZ.js";import{e as I}from"./chunk-VSC4MAII.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-7CYBOXJ5.js";import{A as p,E as w,K as c,l as u,m,y as g}from"./chunk-ZTLOJICZ.js";import{e as I}from"./chunk-VSC4MAII.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{H as Q,c as z,d as X,e as L,k as j,r as J}from"./chunk-MZ43WA3W.js";import"./chunk-UACHXWHT.js";import{$ as F,K as P,L as N,T as Y,Y as s,Z as q,ba as Z,ca as _}from"./chunk-ZTLOJICZ.js";import"./chunk-VSC4MAII.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,r,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 e=0;e<264;e++)c[l+e]=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],e=0;e<8;e++){var h=128>>e,p=A+(d&h?1:0)+(v&h?2:0);c[a]=r[p],a++}for(var w=7;w>=0;w--){var y=(w<<2)+64,f0=t[y],B=240-(f0-(w<3?1:0)),o=x-B;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],e=0;e<8;e++){var h=128>>e,p=(d&h?1:0)+(v&h?2:0);p&&(c[K?a+15-e:a+e]=r[A+p])}for(var d=n[m+8],v=n[m+2056],e=0;e<8;e++){var h=128>>e,p=(d&h?1:0)+(v&h?2:0);p&&(c[K?a+7-e:a+e+8]=r[A+p])}}}for(var G=255,W=255,i=0;i<8;i++){var B=t[96+(i<<2)+1];(B+x-(i<3?1:0)&255)==255&&(i!=7?G=i:W=i)}for(var e=0;e<2;e++)if(i=e?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]=r[x&31])}}}},t0=18432e3,m0=264,r0=t0/6,e0=t0/3/192/2,p0=e0/132/2,y0=1/p0*(20/132),l0=r0/e0,M=8,$=2,d0=60*m0,g=class extends J{constructor(){super();this.options={};this.palBase=14336;this.keyMap=o0;this.cpuFrequency=r0;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,r)=>{this.ram[t]=r}],[20480,22527,1023,(t,r)=>{this.vram[t]=r}],[22528,24575,255,(t,r)=>{this.oram[t]=r}],[28673,28673,0,(t,r)=>{this.interruptEnabled=r&1}],[28676,28676,0,(t,r)=>{this.gfx.starsEnabled=r&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,r)=>{t&1&&this.psg1.selectRegister(r&15),t&2&&this.psg1.setData(r),t&4&&this.psg2.selectRegister(r&15),t&8&&this.psg2.setData(r)}}}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 r=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(),r}loadROM(t){this.rom.set(Z(t,this.defaultROMSize));for(var r=0;r<32;r++){var f=this.rom[this.palBase+r];this.palette[r]=4278190080;for(var u=0;u<8;u++)1<<u&f&&(this.palette[r]+=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=!0Line truncated
|
||||
//# sourceMappingURL=galaxian-5K5GYCNO.js.map
|
||||
import{H as Q,c as z,d as X,e as L,k as j,r as J}from"./chunk-MZ43WA3W.js";import"./chunk-UACHXWHT.js";import{$ as F,K as B,L as N,T as Y,Y as s,Z as q,ba as Z,ca as _}from"./chunk-ZTLOJICZ.js";import"./chunk-VSC4MAII.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=!0Line truncated
|
||||
//# sourceMappingURL=galaxian-W5PTII5G.js.map
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/machine/galaxian.ts", "../src/platform/galaxian.ts"],
|
||||
"sourcesContent": ["\nimport { Z80, Z80State } from \"../common/cpu/ZilogZ80\";\nimport { BasicScanlineMachine } from \"../common/devices\";\nimport { KeyFlags, newAddressDecoder, padBytes, noise, Keys, makeKeycodeMap, newKeyboardHandler, EmuHalt } from \"../common/emu\";\nimport { TssChannelAdapter, MasterAudio, AY38910_Audio } from \"../common/audio\";\nimport { hex } from \"../common/util\";\n\nconst GALAXIAN_KEYCODE_MAP = makeKeycodeMap([\n [Keys.A, 0, 0x10], // P1\n [Keys.LEFT, 0, 0x4],\n [Keys.RIGHT, 0, 0x8],\n [Keys.P2_A, 1, 0x10], // P2\n [Keys.P2_LEFT, 1, 0x4],\n [Keys.P2_RIGHT, 1, 0x8],\n [Keys.SELECT, 0, 0x1],\n [Keys.START, 1, 0x1],\n [Keys.VK_2, 1, 0x2],\n]);\n\nconst SCRAMBLE_KEYCODE_MAP = makeKeycodeMap([\n [Keys.UP, 0, -0x1], // P1\n [Keys.B, 0, -0x2], // fire\n [Keys.VK_7, 0, -0x4], // credit\n [Keys.A, 0, -0x8], // bomb\n [Keys.RIGHT, 0, -0x10],\n [Keys.LEFT, 0, -0x20],\n [Keys.VK_6, 0, -0x40],\n [Keys.SELECT, 0, -0x80],\n [Keys.START, 1, -0x80],\n [Keys.VK_2, 1, -0x40],\n [Keys.DOWN, 2, -0x40],\n //[Keys.VK_UP, 2, -0x10],\n]);\n\nconst bitcolors = [\n 0x000021, 0x000047, 0x000097, // red\n 0x002100, 0x004700, 0x009700, // green\n 0x510000, 0xae0000 // blue\n];\n\nconst GalaxianVideo = function (rom: Uint8Array, vram: Uint8Array, oram: Uint8Array, palette: Uint32Array, options) {\n\n var gfxBase = options.gfxBase || 0x2800;\n this.missileWidth = options.missileWidth || 4;\n this.missileOffset = options.missileOffset || 0;\n this.showOffscreenObjects = false;\n this.frameCounter = 0;\n this.starsEnabled = 0;\n var stars = [];\n for (var i = 0; i < 256; i++)\n stars[i] = noise();\n\n this.advanceFrame = function () {\n this.frameCounter = (this.frameCounter + 1) & 0xff;\n }\n\n this.drawScanline = function (pixels, sl) {\n var pixofs = sl * 264;\n // hide offscreen on left + right (b/c rotated)\n if (!this.showOffscreenObjects && (sl < 16 || sl >= 240)) {\n for (var i = 0; i < 264; i++)\n pixels[pixofs + i] = 0xff000000;\n return; // offscreen\n }\n // draw tiles\n var outi = pixofs; // starting output pixel in frame buffer\n for (var xx = 0; xx < 32; xx++) {\n var xofs = xx;\n var scroll = oram[xofs * 2]; // even entries control scroll position\n var attrib = oram[xofs * 2 + 1]; // odd entries control the color base\n var sl2 = (sl + scroll) & 0xff;\n var vramofs = (sl2 >> 3) << 5; // offset in VRAM\n var yy = sl2 & 7; // y offset within tile\n var tile = vram[vramofs + xofs]; // TODO: why undefined?\n var color0 = (attrib & 7) << 2;\n var addr = gfxBase + (tile << 3) + yy;\n var data1 = rom[addr];\n var data2 = rom[addr + 0x800];\n for (var i = 0; i < 8; i++) {\n var bm = 128 >> i;\n var color = color0 + ((data1 & bm) ? 1 : 0) + ((data2 & bm) ? 2 : 0);\n pixels[outi] = palette[color];\n outi++;\n }\n }\n // draw sprites\n for (var sprnum = 7; sprnum >= 0; sprnum--) {\n var base = (sprnum << 2) + 0x40;\n var base0 = oram[base];\n var sy = 240 - (base0 - ((sprnum < 3) ? 1 : 0)); // the first three sprites match against y-1\n var yy = (sl - sy);\n if (yy >= 0 && yy < 16) {\n var sx = oram[base + 3] + 1; // +1 pixel offset from tiles\n if (sx == 0 && !this.showOffscreenObjects) {\n continue; // drawn off-buffer\n }\n var code = oram[base + 1];\n var flipx = code & 0x40; // TODO: flipx\n if (code & 0x80) // flipy\n yy = 15 - yy;\n code &= 0x3f;\n var color0 = (oram[base + 2] & 7) << 2;\n var addr = gfxBase + (code << 5) + (yy < 8 ? yy : yy + 8);\n outi = pixofs + sx; //<< 1\n var data1 = rom[addr];\n var data2 = rom[addr + 0x800];\n for (var i = 0; i < 8; i++) {\n var bm = 128 >> i;\n var color = ((data1 & bm) ? 1 : 0) + ((data2 & bm) ? 2 : 0);\n if (color)\n pixels[flipx ? (outi + 15 - i) : (outi + i)] = palette[color0 + color];\n }\n var data1 = rom[addr + 8];\n var data2 = rom[addr + 0x808];\n for (var i = 0; i < 8; i++) {\n var bm = 128 >> i;\n var color = ((data1 & bm) ? 1 : 0) + ((data2 & bm) ? 2 : 0);\n if (color)\n pixels[flipx ? (outi + 7 - i) : (outi + i + 8)] = palette[color0 + color];\n }\n }\n }\n // draw bLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["GALAXIAN_KEYCODE_MAP", "makeKeycodeMap", "Keys", "SCRAMBLE_KEYCODE_MAP", "bitcolors", "GalaxianVideo", "rom", "vram", "oram", "palette", "options", "gfxBase", "stars", "i", "noise", "pixels", "sl", "pixofs", "outi", "xx", "xofs", "scroll", "attrib", "sl2", "vramofs", "yy", "tile", "color0", "addr", "data1", "data2", "bm", "color", "sprnum", "base", "base0", "sy", "sx", "code", "flipx", "shell", "missile", "which", "col", "j", "starx", "XTAL", "scanlinesPerFrame", "cpuFrequency", "hsyncFrequency", "vsyncFrequency", "vblankDuration", "cpuCyclesPerLine", "INITIAL_WATCHDOG", "audioOversample", "audioSampleRate", "GalaxianMachine", "BasicScanlineMachine", "Z80", "newAddressDecoder", "a", "v", "audio", "MasterAudio", "AY38910_Audio", "TssChannelAdapter", "newKeyboardHandler", "val", "trap", "steps", "EmuHalt", "data", "padBytes", "b", "state", "GalaxianScrambleMachine", "bit", "GalaxianPlatform", "BaseZ80MachinePlatform", "GalaxianMachine", "a", "GalaxianScramblePlatform", "GalaxianScrambleMachine", "PLATFORMS"]
|
||||
"sourcesContent": ["\nimport { Z80, Z80State } from \"../common/cpu/ZilogZ80\";\nimport { BasicScanlineMachine } from \"../common/devices\";\nimport { KeyFlags, newAddressDecoder, padBytes, noise, Keys, makeKeycodeMap, newKeyboardHandler, EmuHalt } from \"../common/emu\";\nimport { TssChannelAdapter, MasterAudio, AY38910_Audio } from \"../common/audio\";\nimport { hex } from \"../common/util\";\n\nconst GALAXIAN_KEYCODE_MAP = makeKeycodeMap([\n [Keys.A, 0, 0x10], // P1\n [Keys.LEFT, 0, 0x4],\n [Keys.RIGHT, 0, 0x8],\n [Keys.P2_A, 1, 0x10], // P2\n [Keys.P2_LEFT, 1, 0x4],\n [Keys.P2_RIGHT, 1, 0x8],\n [Keys.SELECT, 0, 0x1],\n [Keys.START, 1, 0x1],\n [Keys.VK_2, 1, 0x2],\n]);\n\nconst SCRAMBLE_KEYCODE_MAP = makeKeycodeMap([\n [Keys.UP, 0, -0x1], // P1\n [Keys.B, 0, -0x2], // fire\n [Keys.VK_7, 0, -0x4], // credit\n [Keys.A, 0, -0x8], // bomb\n [Keys.RIGHT, 0, -0x10],\n [Keys.LEFT, 0, -0x20],\n [Keys.VK_6, 0, -0x40],\n [Keys.SELECT, 0, -0x80],\n [Keys.START, 1, -0x80],\n [Keys.VK_2, 1, -0x40],\n [Keys.DOWN, 2, -0x40],\n //[Keys.VK_UP, 2, -0x10],\n]);\n\nconst bitcolors = [\n 0x000021, 0x000047, 0x000097, // red\n 0x002100, 0x004700, 0x009700, // green\n 0x510000, 0xae0000 // blue\n];\n\nconst GalaxianVideo = function (rom: Uint8Array, vram: Uint8Array, oram: Uint8Array, palette: Uint32Array, options) {\n\n var gfxBase = options.gfxBase || 0x2800;\n this.missileWidth = options.missileWidth || 4;\n this.missileOffset = options.missileOffset || 0;\n this.showOffscreenObjects = false;\n this.frameCounter = 0;\n this.starsEnabled = 0;\n var stars = [];\n for (var i = 0; i < 256; i++)\n stars[i] = noise();\n\n this.advanceFrame = function () {\n this.frameCounter = (this.frameCounter + 1) & 0xff;\n }\n\n this.drawScanline = function (pixels, sl) {\n var pixofs = sl * 264;\n // hide offscreen on left + right (b/c rotated)\n if (!this.showOffscreenObjects && (sl < 16 || sl >= 240)) {\n for (var i = 0; i < 264; i++)\n pixels[pixofs + i] = 0xff000000;\n return; // offscreen\n }\n // draw tiles\n var outi = pixofs; // starting output pixel in frame buffer\n for (var xx = 0; xx < 32; xx++) {\n var xofs = xx;\n var scroll = oram[xofs * 2]; // even entries control scroll position\n var attrib = oram[xofs * 2 + 1]; // odd entries control the color base\n var sl2 = (sl + scroll) & 0xff;\n var vramofs = (sl2 >> 3) << 5; // offset in VRAM\n var yy = sl2 & 7; // y offset within tile\n var tile = vram[vramofs + xofs]; // TODO: why undefined?\n var color0 = (attrib & 7) << 2;\n var addr = gfxBase + (tile << 3) + yy;\n var data1 = rom[addr];\n var data2 = rom[addr + 0x800];\n for (var i = 0; i < 8; i++) {\n var bm = 128 >> i;\n var color = color0 + ((data1 & bm) ? 1 : 0) + ((data2 & bm) ? 2 : 0);\n pixels[outi] = palette[color];\n outi++;\n }\n }\n // draw sprites\n for (var sprnum = 7; sprnum >= 0; sprnum--) {\n var base = (sprnum << 2) + 0x40;\n var base0 = oram[base];\n var sy = 240 - (base0 - ((sprnum < 3) ? 1 : 0)); // the first three sprites match against y-1\n var yy = (sl - sy);\n if (yy >= 0 && yy < 16) {\n var sx = oram[base + 3] + 1; // +1 pixel offset from tiles\n if (sx == 0 && !this.showOffscreenObjects) {\n continue; // drawn off-buffer\n }\n var code = oram[base + 1];\n var flipx = code & 0x40; // TODO: flipx\n if (code & 0x80) // flipy\n yy = 15 - yy;\n code &= 0x3f;\n var color0 = (oram[base + 2] & 7) << 2;\n var addr = gfxBase + (code << 5) + (yy < 8 ? yy : yy + 8);\n outi = pixofs + sx; //<< 1\n var data1 = rom[addr];\n var data2 = rom[addr + 0x800];\n for (var i = 0; i < 8; i++) {\n var bm = 128 >> i;\n var color = ((data1 & bm) ? 1 : 0) + ((data2 & bm) ? 2 : 0);\n if (color)\n pixels[flipx ? (outi + 15 - i) : (outi + i)] = palette[color0 + color];\n }\n var data1 = rom[addr + 8];\n var data2 = rom[addr + 0x808];\n for (var i = 0; i < 8; i++) {\n var bm = 128 >> i;\n var color = ((data1 & bm) ? 1 : 0) + ((data2 & bm) ? 2 : 0);\n if (color)\n pixels[flipx ? (outi + 7 - i) : (outi + i + 8)] = palette[color0 + color];\n }\n }\n }\n // draw bLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["GALAXIAN_KEYCODE_MAP", "makeKeycodeMap", "Keys", "SCRAMBLE_KEYCODE_MAP", "bitcolors", "GalaxianVideo", "rom", "vram", "oram", "palette", "options", "gfxBase", "stars", "i", "noise", "pixels", "sl", "pixofs", "outi", "xx", "xofs", "scroll", "attrib", "sl2", "vramofs", "yy", "tile", "color0", "addr", "data1", "data2", "bm", "color", "sprnum", "base", "base0", "sy", "sx", "code", "flipx", "shell", "missile", "which", "col", "j", "starx", "XTAL", "scanlinesPerFrame", "cpuFrequency", "hsyncFrequency", "vsyncFrequency", "vblankDuration", "cpuCyclesPerLine", "INITIAL_WATCHDOG", "audioOversample", "audioSampleRate", "GalaxianMachine", "BasicScanlineMachine", "Z80", "newAddressDecoder", "a", "v", "audio", "MasterAudio", "AY38910_Audio", "TssChannelAdapter", "newKeyboardHandler", "val", "trap", "steps", "EmuHalt", "data", "padBytes", "b", "state", "GalaxianScrambleMachine", "bit", "GALAXIAN_PRESETS", "GalaxianPlatform", "BaseZ80MachinePlatform", "GalaxianMachine", "a", "GalaxianScramblePlatform", "GalaxianScrambleMachine", "PLATFORMS"]
|
||||
}
|
||||
+1
-1
@@ -2329,7 +2329,7 @@ async function startPlatform() {
|
||||
// try to load last file (redirect)
|
||||
var lastid = userPrefs.getLastPreset();
|
||||
// load first preset file, unless we're in a repo
|
||||
var defaultfile = lastid || (exports.repo_id ? null : PRESETS[0].id);
|
||||
var defaultfile = lastid || (exports.repo_id ? null : (PRESETS[0] && PRESETS[0].id));
|
||||
exports.qs.file = defaultfile || 'DEFAULT';
|
||||
if (!defaultfile) {
|
||||
(0, dialogs_1.alertError)("There is no default main file for this project. Try selecting one from the pulldown.");
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -27,6 +27,7 @@ class GalaxianPlatform extends baseplatform_1.BaseZ80MachinePlatform {
|
||||
}
|
||||
class GalaxianScramblePlatform extends GalaxianPlatform {
|
||||
newMachine() { return new galaxian_1.GalaxianScrambleMachine(); }
|
||||
getPresets() { return GALAXIAN_PRESETS; }
|
||||
}
|
||||
emu_1.PLATFORMS['galaxian'] = GalaxianPlatform;
|
||||
emu_1.PLATFORMS['galaxian-scramble'] = GalaxianScramblePlatform;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"galaxian.js","sourceRoot":"","sources":["../../src/platform/galaxian.ts"],"names":[],"mappings":";;AAEA,uCAA0C;AAC1C,kDAA+E;AAC/E,yDAAgE;AAEhE,MAAM,gBAAgB,GAAG;IACvB,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1C,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;CAC1C,CAAC;AAEF,MAAM,gBAAiB,SAAQ,qCAAuC;IAAtE;;QAME,oDAAoD;QACpD,iBAAY,GAAG;YAAa,OAAO,EAAE,IAAI,EAAC;oBACxC,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACrD,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACtD,EAAC,IAAI,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC;iBAC1D,EAAE,CAAA;QAAC,CAAC,CAAC;IAER,CAAC;IAXC,UAAU,KAAc,OAAO,IAAI,0BAAe,EAAE,CAAC,CAAC,CAAC;IACvD,UAAU,KAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,CAAC,IAAW,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,CAAC,IAAO,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAOjG,QAAQ,KAAK,OAAO,6EAA6E,CAAA,CAAC,CAAC;CACpG;AAED,MAAM,wBAAyB,SAAQ,gBAAgB;IAErD,UAAU,KAAc,OAAO,IAAI,kCAAuB,EAAE,CAAC,CAAC,CAAC;CAEhE;AAED,eAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC;AACzC,eAAS,CAAC,mBAAmB,CAAC,GAAG,wBAAwB,CAAC"}
|
||||
{"version":3,"file":"galaxian.js","sourceRoot":"","sources":["../../src/platform/galaxian.ts"],"names":[],"mappings":";;AAEA,uCAA0C;AAC1C,kDAA+E;AAC/E,yDAAgE;AAEhE,MAAM,gBAAgB,GAAG;IACvB,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1C,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;CAC1C,CAAC;AAEF,MAAM,gBAAiB,SAAQ,qCAAuC;IAAtE;;QAME,oDAAoD;QACpD,iBAAY,GAAG;YAAa,OAAO,EAAE,IAAI,EAAC;oBACxC,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACrD,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACtD,EAAC,IAAI,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC;iBAC1D,EAAE,CAAA;QAAC,CAAC,CAAC;IAER,CAAC;IAXC,UAAU,KAAc,OAAO,IAAI,0BAAe,EAAE,CAAC,CAAC,CAAC;IACvD,UAAU,KAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,CAAC,IAAW,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,CAAC,IAAO,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAOjG,QAAQ,KAAK,OAAO,6EAA6E,CAAA,CAAC,CAAC;CACpG;AAED,MAAM,wBAAyB,SAAQ,gBAAgB;IAErD,UAAU,KAAc,OAAO,IAAI,kCAAuB,EAAE,CAAC,CAAC,CAAC;IAC/D,UAAU,KAAc,OAAO,gBAAgB,CAAC,CAAC,CAAC;CAEnD;AAED,eAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC;AACzC,eAAS,CAAC,mBAAmB,CAAC,GAAG,wBAAwB,CAAC"}
|
||||
@@ -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"]
|
||||
}
|
||||
+25
-22
@@ -130,18 +130,18 @@ const TOOL_PLATFORM_HELPURL = {
|
||||
lynx: 'https://cc65.github.io/doc/lynx.html',
|
||||
},
|
||||
};
|
||||
const CC65_PRELOADFS = {
|
||||
'apple2': { preloadFS: '65-apple2' },
|
||||
'c64': { preloadFS: '65-c64' },
|
||||
'vic20': { preloadFS: '65-vic20' },
|
||||
'nes': { preloadFS: '65-nes' },
|
||||
'atari8': { preloadFS: '65-atari8' },
|
||||
'vector': { preloadFS: '65-none' },
|
||||
'atari7800': { preloadFS: '65-none' },
|
||||
'devel': { preloadFS: '65-none' },
|
||||
'vcs': { preloadFS: '65-atari2600' },
|
||||
'pce': { preloadFS: '65-pce' },
|
||||
'exidy': { preloadFS: '65-none' },
|
||||
const CC65_WASIFS = {
|
||||
'apple2': { wasiFSZip: 'cc65-fs-apple2.zip' },
|
||||
'c64': { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
'vic20': { wasiFSZip: 'cc65-fs-vic20.zip' },
|
||||
'nes': { wasiFSZip: 'cc65-fs-nes.zip' },
|
||||
'atari8': { wasiFSZip: 'cc65-fs-atari8.zip' },
|
||||
'vector': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'atari7800': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'devel': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'vcs': { wasiFSZip: 'cc65-fs-atari2600.zip' },
|
||||
'pce': { wasiFSZip: 'cc65-fs-pce.zip' },
|
||||
'exidy': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
};
|
||||
//// tool registry
|
||||
exports.TOOL_META = {
|
||||
@@ -200,26 +200,26 @@ exports.TOOL_META = {
|
||||
cc65: {
|
||||
id: 'cc65', name: 'cc65', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.h'],
|
||||
includeDirs: ['/include', '/asminc'],
|
||||
includeDirs: ['/share/cc65/include', '/share/cc65/asminc'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://cc65.github.io/doc/cc65.html',
|
||||
wasmModule: 'cc65',
|
||||
version: '2.19',
|
||||
defineFlag: '-D', defineInline: true,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
ca65: {
|
||||
id: 'ca65', name: 'ca65', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.s', '.ca65', '.inc'],
|
||||
includeDirs: ['/include', '/asminc'],
|
||||
includeDirs: ['/share/cc65/include', '/share/cc65/asminc'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://cc65.github.io/doc/ca65.html',
|
||||
wasmModule: 'ca65',
|
||||
version: '2.19',
|
||||
defineFlag: '-D', defineInline: false,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -439,7 +439,7 @@ exports.TOOL_META = {
|
||||
helpURL: 'https://github.com/dmsc/fastbasic/blob/v4.4/manual.md',
|
||||
wasmModule: 'fastbasic-int',
|
||||
version: '4.4',
|
||||
platforms: { default: { preloadFS: '65-atari8' } },
|
||||
platforms: { default: { wasiFSZip: 'cc65-fs-atari8.zip' } },
|
||||
includePatterns: exports.SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: exports.SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -489,9 +489,9 @@ exports.TOOL_META = {
|
||||
extensions: ['.ecs'],
|
||||
editorStyle: 'ecs',
|
||||
platforms: {
|
||||
vcs: { preloadFS: '65-atari2600' },
|
||||
nes: { preloadFS: '65-nes' },
|
||||
c64: { preloadFS: '65-c64' },
|
||||
vcs: { wasiFSZip: 'cc65-fs-atari2600.zip' },
|
||||
nes: { wasiFSZip: 'cc65-fs-nes.zip' },
|
||||
c64: { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
},
|
||||
includePatterns: [...exports.SHARED_INCLUDE_PATTERNS, ...exports.ECS_INCLUDE_PATTERNS],
|
||||
},
|
||||
@@ -655,7 +655,7 @@ function getPreloadFSName(tool, platform) {
|
||||
if (platform) {
|
||||
// Try the exact id, then the root base id so suffixed platform ids
|
||||
// (e.g. 'atari8-800', 'atari8-5200.xlmame') resolve to the shared
|
||||
// filesystem registered under the root ('atari8' -> '65-atari8').
|
||||
// filesystem registered under the root (e.g. 'atari8-800' -> 'atari8').
|
||||
let p = meta.platforms[platform];
|
||||
if (p && p.preloadFS)
|
||||
return p.preloadFS;
|
||||
@@ -773,7 +773,7 @@ function getIncludeDirs(tool, platform_id) {
|
||||
}
|
||||
/**
|
||||
* Name of the shared filesystem to query for this tool's bundled files:
|
||||
* either the emscripten preloadFS package name (e.g. '65-nes') or, for tools
|
||||
* either the emscripten preloadFS package name (e.g. 'sdcc') or, for tools
|
||||
* with a WASI filesystem zip (e.g. cc2600), 'wasi:<zipname>'.
|
||||
* Undefined if the tool has no bundled filesystem.
|
||||
*/
|
||||
@@ -781,6 +781,9 @@ function getSharedFileSystemName(tool, platform) {
|
||||
var fsName = getPreloadFSName(tool, platform);
|
||||
if (fsName)
|
||||
return fsName;
|
||||
let config = getPlatformToolConfig(tool, platform);
|
||||
if (config && config.wasiFSZip)
|
||||
return 'wasi:' + config.wasiFSZip;
|
||||
let meta = tool && getToolMeta(tool);
|
||||
return (meta && meta.wasiFSZip) ? 'wasi:' + meta.wasiFSZip : undefined;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
+1
-1
@@ -2329,7 +2329,7 @@ async function startPlatform() {
|
||||
// try to load last file (redirect)
|
||||
var lastid = userPrefs.getLastPreset();
|
||||
// load first preset file, unless we're in a repo
|
||||
var defaultfile = lastid || (exports.repo_id ? null : PRESETS[0].id);
|
||||
var defaultfile = lastid || (exports.repo_id ? null : (PRESETS[0] && PRESETS[0].id));
|
||||
exports.qs.file = defaultfile || 'DEFAULT';
|
||||
if (!defaultfile) {
|
||||
(0, dialogs_1.alertError)("There is no default main file for this project. Try selecting one from the pulldown.");
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/ide/ui.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -27,6 +27,7 @@ class GalaxianPlatform extends baseplatform_1.BaseZ80MachinePlatform {
|
||||
}
|
||||
class GalaxianScramblePlatform extends GalaxianPlatform {
|
||||
newMachine() { return new galaxian_1.GalaxianScrambleMachine(); }
|
||||
getPresets() { return GALAXIAN_PRESETS; }
|
||||
}
|
||||
emu_1.PLATFORMS['galaxian'] = GalaxianPlatform;
|
||||
emu_1.PLATFORMS['galaxian-scramble'] = GalaxianScramblePlatform;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"galaxian.js","sourceRoot":"","sources":["../../../src/platform/galaxian.ts"],"names":[],"mappings":";;AAEA,uCAA0C;AAC1C,kDAA+E;AAC/E,yDAAgE;AAEhE,MAAM,gBAAgB,GAAG;IACvB,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1C,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;CAC1C,CAAC;AAEF,MAAM,gBAAiB,SAAQ,qCAAuC;IAAtE;;QAME,oDAAoD;QACpD,iBAAY,GAAG;YAAa,OAAO,EAAE,IAAI,EAAC;oBACxC,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACrD,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACtD,EAAC,IAAI,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC;iBAC1D,EAAE,CAAA;QAAC,CAAC,CAAC;IAER,CAAC;IAXC,UAAU,KAAc,OAAO,IAAI,0BAAe,EAAE,CAAC,CAAC,CAAC;IACvD,UAAU,KAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,CAAC,IAAW,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,CAAC,IAAO,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAOjG,QAAQ,KAAK,OAAO,6EAA6E,CAAA,CAAC,CAAC;CACpG;AAED,MAAM,wBAAyB,SAAQ,gBAAgB;IAErD,UAAU,KAAc,OAAO,IAAI,kCAAuB,EAAE,CAAC,CAAC,CAAC;CAEhE;AAED,eAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC;AACzC,eAAS,CAAC,mBAAmB,CAAC,GAAG,wBAAwB,CAAC"}
|
||||
{"version":3,"file":"galaxian.js","sourceRoot":"","sources":["../../../src/platform/galaxian.ts"],"names":[],"mappings":";;AAEA,uCAA0C;AAC1C,kDAA+E;AAC/E,yDAAgE;AAEhE,MAAM,gBAAgB,GAAG;IACvB,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1C,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;CAC1C,CAAC;AAEF,MAAM,gBAAiB,SAAQ,qCAAuC;IAAtE;;QAME,oDAAoD;QACpD,iBAAY,GAAG;YAAa,OAAO,EAAE,IAAI,EAAC;oBACxC,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACrD,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC;oBACtD,EAAC,IAAI,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC;iBAC1D,EAAE,CAAA;QAAC,CAAC,CAAC;IAER,CAAC;IAXC,UAAU,KAAc,OAAO,IAAI,0BAAe,EAAE,CAAC,CAAC,CAAC;IACvD,UAAU,KAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,CAAC,IAAW,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,CAAC,IAAO,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAOjG,QAAQ,KAAK,OAAO,6EAA6E,CAAA,CAAC,CAAC;CACpG;AAED,MAAM,wBAAyB,SAAQ,gBAAgB;IAErD,UAAU,KAAc,OAAO,IAAI,kCAAuB,EAAE,CAAC,CAAC,CAAC;IAC/D,UAAU,KAAc,OAAO,gBAAgB,CAAC,CAAC,CAAC;CAEnD;AAED,eAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC;AACzC,eAAS,CAAC,mBAAmB,CAAC,GAAG,wBAAwB,CAAC"}
|
||||
@@ -4,11 +4,60 @@ exports.assembleCA65 = assembleCA65;
|
||||
exports.linkLD65 = linkLD65;
|
||||
exports.compileCC65 = compileCC65;
|
||||
const toolmeta_1 = require("../../common/toolmeta");
|
||||
const util_1 = require("../../common/util");
|
||||
const wasishim_1 = require("../../common/wasi/wasishim");
|
||||
const builder_1 = require("../builder");
|
||||
const listingutils_1 = require("../listingutils");
|
||||
const cc65dbg_1 = require("./cc65dbg");
|
||||
const wasmutils_1 = require("../wasmutils");
|
||||
const wasiutils_1 = require("../wasiutils");
|
||||
// the WASI builds look for their data under share/cc65 in the per-platform
|
||||
// cc65-fs-<platform>.zip, preopened at '.'
|
||||
const CC65_SHARE = 'share/cc65';
|
||||
const wasiModules = {};
|
||||
/**
|
||||
* Run cc65, ca65 or ld65 on a fresh WASI runner layered over the platform's
|
||||
* cc65 filesystem. `populate` copies the step's inputs into the runner first.
|
||||
* Returns the runner (for reading outputs) and its stderr lines.
|
||||
*/
|
||||
async function runCC65Tool(step, tool, args, populate) {
|
||||
const fsname = (0, toolmeta_1.getSharedFileSystemName)('cc65', step.platform);
|
||||
if (!fsname || !fsname.startsWith('wasi:'))
|
||||
throw new Error("No cc65 filesystem for platform " + step.platform);
|
||||
const sharefs = await (0, wasmutils_1.ensureWasiFilesystem)(fsname.substring(5));
|
||||
if (!sharefs)
|
||||
throw new Error("Could not load cc65 filesystem " + fsname);
|
||||
if (!wasiModules[tool]) {
|
||||
wasiModules[tool] = new WebAssembly.Module((0, wasmutils_1.loadWASMBinary)(tool));
|
||||
}
|
||||
const wasi = new wasishim_1.WASIRunner();
|
||||
wasi.initSync(wasiModules[tool]);
|
||||
wasi.fs.setParent(sharefs);
|
||||
populate((0, wasiutils_1.wasiFSAdapter)(wasi));
|
||||
wasi.addPreopenDirectory(".");
|
||||
wasi.setArgs([tool, ...args]);
|
||||
const errno = wasi.run();
|
||||
console.log('exec', tool, args.join(' '));
|
||||
const stdout = wasi.fds[1].getBytesAsString();
|
||||
if (stdout)
|
||||
console.log(stdout);
|
||||
const stderr = wasi.fds[2].getBytesAsString().split(listingutils_1.re_crlf).filter(s => s != '');
|
||||
return { wasi, errno, stderr };
|
||||
}
|
||||
/** Report a failed tool run that printed no parseable error message. */
|
||||
function checkExitCode(tool, errno, stderr, errors) {
|
||||
if (errno && !errors.length) {
|
||||
errors.push({ line: 0, msg: tool + " exited with code " + errno + (stderr.length ? ": " + stderr.join('\n') : '') });
|
||||
}
|
||||
}
|
||||
function readWASIOutput(wasi, path) {
|
||||
const fd = wasi.fs.getFile(path);
|
||||
if (!fd)
|
||||
throw new Error("Missing output file " + path);
|
||||
return fd.getBytes().slice();
|
||||
}
|
||||
function readWASIOutputString(wasi, path) {
|
||||
return new TextDecoder().decode(readWASIOutput(wasi, path));
|
||||
}
|
||||
/*
|
||||
000000r 1 .segment "CODE"
|
||||
000000r 1 .proc _rasterWait: near
|
||||
@@ -112,8 +161,7 @@ function parseCA65Listing(asmfn, code, symbols, segments, params, dbg, listings)
|
||||
}
|
||||
return origlines;
|
||||
}
|
||||
function assembleCA65(step) {
|
||||
(0, wasmutils_1.loadNative)("ca65");
|
||||
async function assembleCA65(step) {
|
||||
var errors = [];
|
||||
(0, builder_1.gatherFiles)(step, { mainFilePath: "main.s" });
|
||||
var objpath = step.prefix + ".o";
|
||||
@@ -125,18 +173,7 @@ function assembleCA65(step) {
|
||||
}
|
||||
(0, builder_1.fixParamsWithDefines)(step.path, step.params);
|
||||
if ((0, builder_1.staleFiles)(step, [objpath, lstpath])) {
|
||||
var objout, lstout;
|
||||
var CA65 = wasmutils_1.emglobal.ca65({
|
||||
instantiateWasm: (0, wasmutils_1.moduleInstFn)('ca65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: wasmutils_1.print_fn,
|
||||
printErr: (0, listingutils_1.makeErrorMatcher)(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1),
|
||||
});
|
||||
var FS = CA65.FS;
|
||||
(0, wasmutils_1.setupFS)(FS, '65-' + (0, util_1.getRootBasePlatform)(step.platform));
|
||||
(0, builder_1.populateFiles)(step, FS);
|
||||
var args = ['-v', '-g', '-I', '/share/asminc', '-o', objpath, '-l', lstpath, step.path];
|
||||
var args = ['-v', '-g', '-I', CC65_SHARE + '/asminc', '-o', objpath, '-l', lstpath, step.path];
|
||||
args.unshift.apply(args, ["-D", "__8BITWORKSHOP__=1"]);
|
||||
if (step.mainfile) {
|
||||
args.unshift.apply(args, ["-D", "__MAIN__=1"]);
|
||||
@@ -148,17 +185,17 @@ function assembleCA65(step) {
|
||||
.concat((0, toolmeta_1.defineArgs)('ca65', step.params.symbols && step.params.symbols.assembler))
|
||||
.concat((0, toolmeta_1.extraArgsFor)('ca65', step.params.buildArgs));
|
||||
args.splice(args.length - 1, 0, ...extra);
|
||||
(0, wasmutils_1.execMain)(step, CA65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'ca65', args, (fs) => (0, builder_1.populateFiles)(step, fs));
|
||||
stderr.forEach((0, listingutils_1.makeErrorMatcher)(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode('ca65', errno, stderr, errors);
|
||||
if (errors.length) {
|
||||
let listings = {};
|
||||
// TODO? change extension to .lst
|
||||
//listings[step.path] = { lines:[], text:getWorkFileAsString(step.path) };
|
||||
return { errors, listings };
|
||||
}
|
||||
objout = FS.readFile(objpath, { encoding: 'binary' });
|
||||
lstout = FS.readFile(lstpath, { encoding: 'utf8' });
|
||||
(0, builder_1.putWorkFile)(objpath, objout);
|
||||
(0, builder_1.putWorkFile)(lstpath, lstout);
|
||||
(0, builder_1.putWorkFile)(objpath, readWASIOutput(wasi, objpath));
|
||||
(0, builder_1.putWorkFile)(lstpath, readWASIOutputString(wasi, lstpath));
|
||||
}
|
||||
return {
|
||||
linktool: "ld65",
|
||||
@@ -166,33 +203,17 @@ function assembleCA65(step) {
|
||||
args: [objpath]
|
||||
};
|
||||
}
|
||||
function linkLD65(step) {
|
||||
async function linkLD65(step) {
|
||||
var _a, _b, _c;
|
||||
(0, wasmutils_1.loadNative)("ld65");
|
||||
var params = step.params;
|
||||
(0, builder_1.gatherFiles)(step);
|
||||
var binpath = "main";
|
||||
if ((0, builder_1.staleFiles)(step, [binpath])) {
|
||||
var errors = [];
|
||||
var LD65 = wasmutils_1.emglobal.ld65({
|
||||
instantiateWasm: (0, wasmutils_1.moduleInstFn)('ld65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: wasmutils_1.print_fn,
|
||||
printErr: function (s) { errors.push({ msg: s, line: 0 }); }
|
||||
});
|
||||
var FS = LD65.FS;
|
||||
(0, wasmutils_1.setupFS)(FS, '65-' + (0, util_1.getRootBasePlatform)(step.platform));
|
||||
(0, builder_1.populateFiles)(step, FS);
|
||||
(0, builder_1.populateExtraFiles)(step, FS, params.extra_link_files);
|
||||
// populate .cfg file, if it is a custom one
|
||||
if (builder_1.store.hasFile(params.cfgfile)) {
|
||||
(0, builder_1.populateEntry)(FS, params.cfgfile, builder_1.store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
var libargs = params.libargs || [];
|
||||
var cfgfile = params.cfgfile;
|
||||
var args = ['--cfg-path', '/share/cfg',
|
||||
'--lib-path', '/share/lib',
|
||||
var args = ['--cfg-path', CC65_SHARE + '/cfg',
|
||||
'--lib-path', CC65_SHARE + '/lib',
|
||||
'-C', cfgfile,
|
||||
'-Ln', 'main.vice',
|
||||
'--dbgfile', 'main.dbg',
|
||||
@@ -201,12 +222,23 @@ function linkLD65(step) {
|
||||
// //#symbol ld (symbols not already merged into libargs) and //#flag ld
|
||||
args.push.apply(args, (0, toolmeta_1.linkSymbolArgs)('ld65', params.symbols && params.symbols.linker));
|
||||
args.push.apply(args, (0, toolmeta_1.extraArgsFor)('ld65', params.buildArgs));
|
||||
(0, wasmutils_1.execMain)(step, LD65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'ld65', args, (fs) => {
|
||||
(0, builder_1.populateFiles)(step, fs);
|
||||
(0, builder_1.populateExtraFiles)(step, fs, params.extra_link_files);
|
||||
// populate .cfg file, if it is a custom one
|
||||
if (builder_1.store.hasFile(params.cfgfile)) {
|
||||
(0, builder_1.populateEntry)(fs, params.cfgfile, builder_1.store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
});
|
||||
// any ld65 message (even a warning) fails the build
|
||||
for (let s of stderr)
|
||||
errors.push({ msg: s, line: 0 });
|
||||
checkExitCode('ld65', errno, stderr, errors);
|
||||
if (errors.length)
|
||||
return { errors: errors };
|
||||
var aout = FS.readFile("main", { encoding: 'binary' });
|
||||
var mapout = FS.readFile("main.map", { encoding: 'utf8' });
|
||||
var viceout = FS.readFile("main.vice", { encoding: 'utf8' });
|
||||
var aout = readWASIOutput(wasi, "main");
|
||||
var mapout = readWASIOutputString(wasi, "main.map");
|
||||
var viceout = readWASIOutputString(wasi, "main.vice");
|
||||
// correct binary for PCEngine
|
||||
if (step.platform == 'pce' && aout.length > 0x2000) {
|
||||
// move 8 KB from end to front
|
||||
@@ -236,7 +268,7 @@ function linkLD65(step) {
|
||||
// symbol sizes from the linker debug file
|
||||
var symbolsizes = {};
|
||||
try {
|
||||
let dbgsyms = (0, cc65dbg_1.parseCC65DbgSizes)(FS.readFile("main.dbg", { encoding: 'utf8' }), params.ignore_segments);
|
||||
let dbgsyms = (0, cc65dbg_1.parseCC65DbgSizes)(readWASIOutputString(wasi, "main.dbg"), params.ignore_segments);
|
||||
symbolsizes = dbgsyms.sizes;
|
||||
// labels outside CPU address space (e.g. NES CHR) would alias real addresses
|
||||
for (let name of dbgsyms.ignored)
|
||||
@@ -274,7 +306,7 @@ function linkLD65(step) {
|
||||
var listings = {};
|
||||
for (var fn of step.files) {
|
||||
if (fn.endsWith('.lst')) {
|
||||
var lstout = FS.readFile(fn, { encoding: 'utf8' });
|
||||
var lstout = readWASIOutputString(wasi, fn);
|
||||
lstout = lstout.split('\n\n')[1] || lstout; // remove header
|
||||
(0, builder_1.putWorkFile)(fn, lstout);
|
||||
//const asmpath = fn.replace(/\.lst$/, '.ca65'); // TODO! could be .s
|
||||
@@ -308,51 +340,17 @@ function linkLD65(step) {
|
||||
};
|
||||
}
|
||||
}
|
||||
function compileCC65(step) {
|
||||
(0, wasmutils_1.loadNative)("cc65");
|
||||
async function compileCC65(step) {
|
||||
var params = step.params;
|
||||
// stderr
|
||||
var re_err1 = /(.*?):(\d+): (.+)/;
|
||||
var errors = [];
|
||||
var errline = 0;
|
||||
function match_fn(s) {
|
||||
console.log(s);
|
||||
var matches = re_err1.exec(s);
|
||||
if (matches) {
|
||||
errline = parseInt(matches[2]);
|
||||
errors.push({
|
||||
line: errline,
|
||||
msg: matches[3],
|
||||
path: matches[1]
|
||||
});
|
||||
}
|
||||
}
|
||||
(0, builder_1.gatherFiles)(step, { mainFilePath: "main.c" });
|
||||
var destpath = step.prefix + '.s';
|
||||
// the link step reads these params, so they have to be settled even when
|
||||
// the assembly file is up to date and nothing below runs
|
||||
(0, builder_1.fixParamsWithDefines)(step.path, params);
|
||||
if ((0, builder_1.staleFiles)(step, [destpath])) {
|
||||
var CC65 = wasmutils_1.emglobal.cc65({
|
||||
instantiateWasm: (0, wasmutils_1.moduleInstFn)('cc65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: wasmutils_1.print_fn,
|
||||
printErr: match_fn,
|
||||
});
|
||||
var FS = CC65.FS;
|
||||
(0, wasmutils_1.setupFS)(FS, '65-' + (0, util_1.getRootBasePlatform)(step.platform));
|
||||
(0, builder_1.populateFiles)(step, FS, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === 'string') {
|
||||
code = (0, builder_1.processEmbedDirective)(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
});
|
||||
var args = [
|
||||
'-I', '/share/include',
|
||||
'-I', CC65_SHARE + '/include',
|
||||
'-I', '.',
|
||||
"-D", "__8BITWORKSHOP__",
|
||||
];
|
||||
@@ -368,9 +366,20 @@ function compileCC65(step) {
|
||||
var customArgs = params.extra_compiler_args || ['-T', '-g', '-Oirs', '-Cl', '-W', '-pointer-sign,-no-effect'];
|
||||
args = args.concat(customArgs, args);
|
||||
args.push(step.path);
|
||||
const runerr = (0, wasmutils_1.execToFile)(step, CC65, args, FS, destpath, errors);
|
||||
if (runerr)
|
||||
return runerr;
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'cc65', args, (fs) => (0, builder_1.populateFiles)(step, fs, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === 'string') {
|
||||
code = (0, builder_1.processEmbedDirective)(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
}));
|
||||
stderr.forEach((0, listingutils_1.makeErrorMatcher)(errors, /(.*?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode('cc65', errno, stderr, errors);
|
||||
if (errors.length)
|
||||
return { errors };
|
||||
(0, builder_1.putWorkFile)(destpath, readWASIOutputString(wasi, destpath));
|
||||
}
|
||||
return {
|
||||
nexttool: "ca65",
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"cc65.js","sourceRoot":"","sources":["../../../../src/worker/tools/cc65.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"cc65.js","sourceRoot":"","sources":["../../../../src/worker/tools/cc65.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -8,6 +8,7 @@ exports.unzipWASIFilesystem = unzipWASIFilesystem;
|
||||
exports.loadWASIFilesystemZip = loadWASIFilesystemZip;
|
||||
exports.populateWASIFiles = populateWASIFiles;
|
||||
exports.runWASI = runWASI;
|
||||
exports.wasiFSAdapter = wasiFSAdapter;
|
||||
const jszip_1 = __importDefault(require("jszip"));
|
||||
const wasishim_1 = require("../common/wasi/wasishim");
|
||||
const builder_1 = require("./builder");
|
||||
@@ -67,4 +68,15 @@ function runWASI(wasi, errors) {
|
||||
errors.push({ line: 0, msg: "" + e });
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Wrap a WASI runner's filesystem in the Emscripten FS calls the builder's
|
||||
* populateFiles/populateExtraFiles/populateEntry use, so tools can share them.
|
||||
*/
|
||||
function wasiFSAdapter(wasi) {
|
||||
return {
|
||||
mkdir: (path) => wasi.fs.putDirectory(path),
|
||||
writeFile: (path, data) => wasi.fs.putFile(path, data),
|
||||
utime: () => { },
|
||||
};
|
||||
}
|
||||
//# sourceMappingURL=wasiutils.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"wasiutils.js","sourceRoot":"","sources":["../../../src/worker/wasiutils.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"wasiutils.js","sourceRoot":"","sources":["../../../src/worker/wasiutils.ts"],"names":[],"mappings":"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"}
|
||||
@@ -180,16 +180,6 @@ function loadNative(modulename) {
|
||||
// mount the filesystem at /share
|
||||
function setupFS(FS, name) {
|
||||
var WORKERFS = FS.filesystems['WORKERFS'];
|
||||
if (name === '65-vector')
|
||||
name = '65-none'; // TODO
|
||||
if (name === '65-atari7800')
|
||||
name = '65-none'; // TODO
|
||||
if (name === '65-devel')
|
||||
name = '65-none'; // TODO
|
||||
if (name === '65-vcs')
|
||||
name = '65-atari2600'; // TODO
|
||||
if (name === '65-exidy')
|
||||
name = '65-none'; // TODO
|
||||
if (!exports.fsMeta[name])
|
||||
throw Error("No filesystem for '" + name + "'");
|
||||
FS.mkdir('/share');
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"wasmutils.js","sourceRoot":"","sources":["../../../src/worker/wasmutils.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"wasmutils.js","sourceRoot":"","sources":["../../../src/worker/wasmutils.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -34,9 +34,11 @@ function setupRequireFunction() {
|
||||
async function handleMessage(data) {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fs = (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform);
|
||||
if (fs && !wasmutils_1.fsMeta[fs])
|
||||
(0, wasmutils_1.loadFilesystem)(fs);
|
||||
var fs0 = splitWasiFSName((0, toolmeta_1.getSharedFileSystemName)(data.preload, data.platform) || "");
|
||||
if (fs0.wasi)
|
||||
await (0, wasmutils_1.ensureWasiFilesystem)(fs0.name);
|
||||
else if (fs0.name && !wasmutils_1.fsMeta[fs0.name])
|
||||
(0, wasmutils_1.loadFilesystem)(fs0.name);
|
||||
return;
|
||||
}
|
||||
// read a file from a filesystem package (shared code)
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../../src/worker/workermain.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../../src/worker/workermain.ts"],"names":[],"mappings":"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"}
|
||||
@@ -260,8 +260,8 @@ function c64Params() {
|
||||
});
|
||||
(0, mocha_1.describe)("platform tool config resolution", function () {
|
||||
(0, mocha_1.it)("resolves per-platform, root-base, and default configs", function () {
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPlatformToolConfig)('cc65', 'nes').preloadFS, '65-nes');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPlatformToolConfig)('cc65', 'atari8-800').preloadFS, '65-atari8');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPlatformToolConfig)('cc65', 'nes').wasiFSZip, 'cc65-fs-nes.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPlatformToolConfig)('cc65', 'atari8-800').wasiFSZip, 'cc65-fs-atari8.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPlatformToolConfig)('sdcc').preloadFS, 'sdcc');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPlatformToolConfig)('dasm', 'nes'), undefined);
|
||||
});
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"testbuildparams.js","sourceRoot":"","sources":["../../../test/unit/testbuildparams.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"testbuildparams.js","sourceRoot":"","sources":["../../../test/unit/testbuildparams.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -90,7 +90,7 @@ describe('ToolchainSource', function () {
|
||||
(0, projectsource_1.setProjectProvider)(() => null);
|
||||
});
|
||||
it('should list and lazily search bundled header files', async function () {
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/include/nes.h': NES_H, '/include/apple.h': APPLE_H }));
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/share/cc65/include/nes.h': NES_H, '/share/cc65/include/apple.h': APPLE_H }));
|
||||
const ts = new toolchainsource_1.ToolchainSource();
|
||||
// First query triggers ready(), which lists and reads every header file
|
||||
const hits = await ts.query('VBLANK', 10);
|
||||
@@ -98,28 +98,28 @@ describe('ToolchainSource', function () {
|
||||
const rec = hits[0].record;
|
||||
assert.strictEqual(rec.kind, 'text');
|
||||
assert.strictEqual(rec.source, 'toolchain');
|
||||
assert.strictEqual(rec.file, '/include/nes.h');
|
||||
assert.strictEqual(rec.file, '/share/cc65/include/nes.h');
|
||||
assert.ok(rec.line && rec.line > 0);
|
||||
// The two hash-flavored hits should both appear (each file is searched)
|
||||
assert.ok(hits.some(h => h.record.file === '/include/nes.h' && h.record.name.includes('VBLANK')));
|
||||
assert.ok(hits.some(h => h.record.file === '/share/cc65/include/nes.h' && h.record.name.includes('VBLANK')));
|
||||
});
|
||||
it('should be case-insensitive', async function () {
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/include/nes.h': NES_H }));
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/share/cc65/include/nes.h': NES_H }));
|
||||
const ts = new toolchainsource_1.ToolchainSource();
|
||||
const hits = await ts.query('vblank', 10);
|
||||
assert.ok(hits.length >= 1);
|
||||
});
|
||||
it('should require at least 2 chars', async function () {
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/include/nes.h': NES_H }));
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/share/cc65/include/nes.h': NES_H }));
|
||||
const ts = new toolchainsource_1.ToolchainSource();
|
||||
const hits = await ts.query('x', 10);
|
||||
assert.strictEqual(hits.length, 0);
|
||||
});
|
||||
it('should read every header before answering the first query', async function () {
|
||||
const fs = makeFs({
|
||||
'/include/a.h': '#define AAA 1\n',
|
||||
'/include/b.h': '#define BBB 2\n',
|
||||
'/include/tgi.h': '#define TGI_OK 1\n',
|
||||
'/share/cc65/include/a.h': '#define AAA 1\n',
|
||||
'/share/cc65/include/b.h': '#define BBB 2\n',
|
||||
'/share/cc65/include/tgi.h': '#define TGI_OK 1\n',
|
||||
});
|
||||
(0, projectsource_1.setProjectProvider)(() => fs);
|
||||
const ts = new toolchainsource_1.ToolchainSource();
|
||||
@@ -129,11 +129,11 @@ describe('ToolchainSource', function () {
|
||||
// otherwise results depend on how many times the user types.
|
||||
const hits = await ts.query('TGI', 10);
|
||||
assert.ok(hits.length >= 1, 'should index all headers on the first query');
|
||||
assert.strictEqual(hits[0].record.file, '/include/tgi.h');
|
||||
assert.strictEqual(hits[0].record.file, '/share/cc65/include/tgi.h');
|
||||
assert.strictEqual(ts['loaded'].size, 3);
|
||||
});
|
||||
it('should rank matches near the start of the line higher', async function () {
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/include/nes.h': NES_H }));
|
||||
(0, projectsource_1.setProjectProvider)(() => makeFs({ '/share/cc65/include/nes.h': NES_H }));
|
||||
const ts = new toolchainsource_1.ToolchainSource();
|
||||
const hits = await ts.query('PPU', 10);
|
||||
assert.ok(hits.length >= 2, 'PPU matches several lines');
|
||||
@@ -146,8 +146,8 @@ describe('ToolchainSource', function () {
|
||||
});
|
||||
it('should skip non-searchable file types', async function () {
|
||||
const ts = new toolchainsource_1.ToolchainSource();
|
||||
assert.strictEqual(ts.isSearchable('/include/nes.h'), true);
|
||||
assert.strictEqual(ts.isSearchable('/include/nes.o'), false);
|
||||
assert.strictEqual(ts.isSearchable('/share/cc65/include/nes.h'), true);
|
||||
assert.strictEqual(ts.isSearchable('/share/cc65/include/nes.o'), false);
|
||||
assert.strictEqual(ts.isSearchable('/lib/binary.bin'), false);
|
||||
assert.strictEqual(ts.isSearchable('/scripts/makefile'), true); // no ext
|
||||
});
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"testsearchtoolchain.js","sourceRoot":"","sources":["../../../test/unit/testsearchtoolchain.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"testsearchtoolchain.js","sourceRoot":"","sources":["../../../test/unit/testsearchtoolchain.ts"],"names":[],"mappings":"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"}
|
||||
@@ -43,19 +43,21 @@ const workerlib_1 = require("../../src/worker/workerlib");
|
||||
assert_1.default.deepStrictEqual((0, toolmeta_1.getToolMetaForFilename)('foo.xyz'), []);
|
||||
});
|
||||
(0, mocha_1.it)('getPreloadFSName resolves per-platform filesystems', function () {
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'nes'), '65-nes');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'c64'), '65-c64');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'nonexistent'), undefined);
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'nes'), undefined); // WASI zip, not preloadFS
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'nes'), 'wasi:cc65-fs-nes.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'c64'), 'wasi:cc65-fs-c64.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'nonexistent'), undefined);
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('sdcc'), 'sdcc'); // default config
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('dasm'), undefined);
|
||||
});
|
||||
(0, mocha_1.it)('getPreloadFSName resolves suffixed platform ids to their root base', function () {
|
||||
(0, mocha_1.it)('getSharedFileSystemName resolves suffixed platform ids to their root base', function () {
|
||||
// atari8 runs as 'atari8-800' / 'atari8-5200' / *.xlmame variants
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'atari8'), '65-atari8');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'atari8-800'), '65-atari8');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'atari8-800.xlmame'), '65-atari8');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getPreloadFSName)('cc65', 'atari8-5200'), '65-atari8');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'atari8-800'), '65-atari8');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'atari8'), 'wasi:cc65-fs-atari8.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'atari8-800'), 'wasi:cc65-fs-atari8.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'atari8-800.xlmame'), 'wasi:cc65-fs-atari8.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('cc65', 'atari8-5200'), 'wasi:cc65-fs-atari8.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('fastbasic', 'atari8-800'), 'wasi:cc65-fs-atari8.zip');
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSharedFileSystemName)('ecs', 'nes'), 'wasi:cc65-fs-nes.zip');
|
||||
});
|
||||
(0, mocha_1.it)('getSkeletonName defaults to the tool id', function () {
|
||||
assert_1.default.strictEqual((0, toolmeta_1.getSkeletonName)('dasm'), 'dasm');
|
||||
@@ -119,8 +121,8 @@ const workerlib_1 = require("../../src/worker/workerlib");
|
||||
assert_1.default.deepStrictEqual(deps('#include "foo.h"\n', 'cc65'), []);
|
||||
});
|
||||
(0, mocha_1.it)('resolves shared filesystem names for all tools with includeDirs', function () {
|
||||
assert_1.default.equal((0, toolmeta_1.getSharedFileSystemName)('cc65', 'nes'), 'wasi:cc65-fs-nes.zip');
|
||||
// preloadFS-backed tools
|
||||
assert_1.default.equal((0, toolmeta_1.getSharedFileSystemName)('cc65', 'nes'), '65-nes');
|
||||
assert_1.default.equal((0, toolmeta_1.getSharedFileSystemName)('sdcc', 'coleco'), 'sdcc');
|
||||
assert_1.default.equal((0, toolmeta_1.getSharedFileSystemName)('bataribasic', 'vcs'), 'wasi:bb-fs.zip');
|
||||
assert_1.default.equal((0, toolmeta_1.getSharedFileSystemName)('wiz'), 'wiz');
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"testtoolmeta.js","sourceRoot":"","sources":["../../../test/unit/testtoolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"testtoolmeta.js","sourceRoot":"","sources":["../../../test/unit/testtoolmeta.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -1,30 +1,30 @@
|
||||
import{a as d0}from"./chunk-NTFEI2OH.js";import{a as h0}from"./chunk-T6VURU5O.js";import{a as vc}from"./chunk-A7SWO6EA.js";import{a as u0,b as f0,c as s_}from"./chunk-2I4PZDSN.js";import{C as nf,H as sf,t as l0,u as c0}from"./chunk-MZ43WA3W.js";import"./chunk-UACHXWHT.js";import{A as cn,E as dn,F as ef,G as xo,I as wo,J as yc,K as tf,T as rf,U as o0,X as a0,a as Gn,b as Ma,d as St,da as Sc,e as La,f as zt,g as Ce,h as Ku,i as r0,k as n0,m as Oc,n as gc,o as bc,p as Cs,q as i0,t as vo,w as s0,x as Ju,y as Da,z as ir}from"./chunk-ZTLOJICZ.js";import{a as gt,b as As,c as Ra,d as Gu,e as Hu}from"./chunk-VSC4MAII.js";var af=Gu((p0,of)=>{(function(r){if(typeof p0=="object"&&typeof of!="undefined")of.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=r()}})(function(){var r,e,t;return(function n(i,s,o){function a(d,h){if(!s[d]){if(!i[d]){var u=typeof Ra=="function"&&Ra;if(!h&&u)return u(d,!0);if(l)return l(d,!0);var f=new Error("Cannot find module '"+d+"'");throw f.code="MODULE_NOT_FOUND",f}var m=s[d]={exports:{}};i[d][0].call(m.exports,function(g){var v=i[d][1][g];return a(v||g)},m,m.exports,n,i,s,o)}return s[d].exports}for(var l=typeof Ra=="function"&&Ra,c=0;c<o.length;c++)a(o[c]);return a})({1:[function(n,i,s){(function(o){"use strict";var a=o.MutationObserver||o.WebKitMutationObserver,l;if(a){var c=0,d=new a(g),h=o.document.createTextNode("");d.observe(h,{characterData:!0}),l=function(){h.data=c=++c%2}}else if(!o.setImmediate&&typeof o.MessageChannel!="undefined"){var u=new o.MessageChannel;u.port1.onmessage=g,l=function(){u.port2.postMessage(0)}}else"document"in o&&"onreadystatechange"in o.document.createElement("script")?l=function(){var k=o.document.createElement("script");k.onreadystatechange=function(){g(),k.onreadystatechange=null,k.parentNode.removeChild(k),k=null},o.document.documentElement.appendChild(k)}:l=function(){setTimeout(g,0)};var f,m=[];function g(){f=!0;for(var k,L,M=m.length;M;){for(L=m,m=[],k=-1;++k<M;)L[k]();M=m.length}f=!1}i.exports=v;function v(k){m.push(k)===1&&!f&&l()}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],2:[function(n,i,s){"use strict";var o=n(1);function a(){}var l={},c=["REJECTED"],d=["FULFILLED"],h=["PENDING"];i.exports=u;function u(x){if(typeof x!="function")throw new TypeError("resolver must be a function");this.state=h,this.queue=[],this.outcome=void 0,x!==a&&v(this,x)}u.prototype.catch=function(x){return this.then(null,x)},u.prototype.then=function(x,R){if(typeof x!="function"&&this.state===d||typeof R!="function"&&this.state===c)return this;var X=new this.constructor(a);if(this.state!==h){var j=this.state===d?x:R;m(X,j,this.outcome)}else this.queue.push(new f(X,x,R));return X};function f(x,R,X){this.promise=x,typeof R=="function"&&(this.onFulfilled=R,this.callFulfilled=this.otherCallFulfilled),typeof X=="function"&&(this.onRejected=X,this.callRejected=this.otherCallRejected)}f.prototype.callFulfilled=function(x){l.resolve(this.promise,x)},f.prototype.otherCallFulfilled=function(x){m(this.promise,this.onFulfilled,x)},f.prototype.callRejected=function(x){l.reject(this.promise,x)},f.prototype.otherCallRejected=function(x){m(this.promise,this.onRejected,x)};function m(x,R,X){o(function(){var j;try{j=R(X)}catch(G){return l.reject(x,G)}j===x?l.reject(x,new TypeError("Cannot resolve promise with itself")):l.resolve(x,j)})}l.resolve=function(x,R){var X=k(g,R);if(X.status==="error")return l.reject(x,X.value);var j=X.value;if(j)v(x,j);else{x.state=d,x.outcome=R;for(var G=-1,ie=x.queue.length;++G<ie;)x.queue[G].callFulfilled(R)}return x},l.reject=function(x,R){x.state=c,x.outcome=R;for(var X=-1,j=x.queue.length;++X<j;)x.queue[X].callRejected(R);return x};function g(x){var R=x&&x.then;if(x&&(typeof x=="object"||typeof x=="function")&&typeof R=="function")return function(){R.apply(x,arguments)}}function v(x,R){var X=!1;function j(ge){X||(X=!0,l.reject(x,ge))}function G(ge){X||(X=!0,l.resolve(x,ge))}function ie(){R(G,j)}var U=k(ie);U.status==="error"&&j(U.value)}function k(x,R){var X={};try{X.value=x(R),X.status="success"}catch(j){X.status="error",X.value=j}return X}u.resolve=L;function L(x){return x instanceof this?x:l.resolve(new this(a),x)}u.reject=M;function M(x){var R=new this(a);return l.reject(R,x)}u.all=D;function D(x){var R=this;if(Object.prototype.toString.call(x)!=="[object Array]")return this.reject(new TypeError("must be an array"));var X=x.length,j=!1;if(!X)return this.resolve([]);for(var G=new Array(X),ie=0,U=-1,ge=new this(a);++U<X;)pe(x[U],U);return ge;function pe(ke,B){R.resolve(ke).then(he,function(J){j||(j=!0,l.reject(ge,J))});function he(J){G[B]=J,++ie===X&&!j&&(j=!0,l.resolve(ge,G))}}}u.race=w;function w(x){var R=this;if(Object.prototype.toString.call(x)!=="[object Array]")return this.reject(new TypeError("must be an array"));var X=xLine truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xX(r,e){return yX(r)||SX(r,e)||wX(r,e)||vX()}function wX(r,e){if(r){if(typeof r=="string")return YQ(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?YQ(r,e):void 0}}var sT=Object.entries,FQ=Object.setPrototypeOf,PX=Object.isFrozen,kX=Object.getPrototypeOf,$X=Object.getOwnPropertyDescriptor,It=Object.freeze,Ft=Object.seal,Sa=Object.create,oT=typeof Reflect!="undefined"&&Reflect,Lb=oT.apply,Db=oT.construct;It||(It=function(e){return e});Ft||(Ft=function(e){return e});Lb||(Lb=function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];return e.apply(t,i)});Db||(Db=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return new e(...n)});var fo=Ct(Array.prototype.forEach),QX=Ct(Array.prototype.lastIndexOf),NQ=Ct(Array.prototype.pop),rc=Ct(Array.prototype.push),TX=Ct(Array.prototype.splice),va=Array.isArray,sc=Ct(String.prototype.toLowerCase),_b=Ct(String.prototype.toString),jQ=Ct(String.prototype.match),nc=Ct(String.prototype.replace),UQ=Ct(String.prototype.indexOf),_X=Ct(String.prototype.trim),AX=Ct(Number.prototype.toString),CX=Ct(Boolean.prototype.toString),qQ=typeof BigInt=="undefined"?null:Ct(BigInt.prototype.toString),GQ=typeof Symbol=="undefined"?null:Ct(Symbol.prototype.toString),Mr=Ct(Object.prototype.hasOwnProperty),ic=Ct(Object.prototype.toString),ur=Ct(RegExp.prototype.test),uo=EX(TypeError);function Ct(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return Lb(r,e,n)}}function EX(r){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Db(r,t)}}function Ye(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:sc;if(FQ&&FQ(r,null),!va(e))return r;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let s=t(i);s!==i&&(PX(e)||(e[n]=s),i=s)}r[i]=!0}return r}function RX(r){for(let e=0;e<r.length;e++)Mr(r,e)||(r[e]=null);return r}function en(r){let e=Sa(null);for(let n of sT(r)){var t=xX(n,2);let i=t[0],s=t[1];Mr(r,i)&&(va(s)?e[i]=RX(s):s&&typeof s=="object"&&s.constructor===Object?e[i]=en(s):e[i]=s)}return e}function MX(r){switch(typeof r){case"string":return r;case"number":return AX(r);case"boolean":return CX(r);case"bigint":return qQ?qQ(r):"0";case"symbol":return GQ?GQ(r):"Symbol()";case"undefined":return ic(r);case"function":case"object":{if(r===null)return ic(r);let e=r,t=wn(e,"toString");if(typeof t=="function"){let n=t(e);return typeof n=="string"?n:ic(n)}return ic(r)}default:return ic(r)}}function wn(r,e){for(;r!==null;){let n=$X(r,e);if(n){if(n.get)return Ct(n.get);if(typeof n.value=="function")return Ct(n.value)}r=kX(r)}function t(){return null}return t}function LX(r){try{return ur(r,""),!0}catch(e){return!1}}var HQ=It(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ab=It(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Cb=It(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),DX=It(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-gly
Line truncated
|
||||
`+Qe),yt&&(Qe=S(Qe)),G&&tr?B(Qe):Qe},e.setConfig=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bi(C),ne=!0,me=Se,qe=we},e.clearConfig=function(){Or=null,ne=!1,me=null,qe=null,G=U,ie=""},e.isValidAttribute=function(C,p,b){Or||bi({});let T=_e(C),I=_e(p);return Xe(T,I,b)},e.addHook=function(C,p){typeof p=="function"&&Mr(Oe,C)&&rc(Oe[C],p)},e.removeHook=function(C,p){if(Mr(Oe,C)){if(p!==void 0){let b=QX(Oe[C],p);return b===-1?void 0:TX(Oe[C],b,1)[0]}return NQ(Oe[C])}},e.removeHooks=function(C){Mr(Oe,C)&&(Oe[C]=[])},e.removeAllHooks=function(){Oe=iT()},e}var JX=lT();cT.exports=JX});var qb=Hu(af());var Es="\u2190\u2191\u2193\u2192";var wc=[{keys:[Es],action:"Joypad"},{keys:["Space"],action:"Button A"},{keys:["Shift"],action:"Button B"}],lf=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button 1"},{keys:["Shift"],action:"Button 2"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"}],xc=[...wc,{keys:["\\"],action:"Select"},{keys:["Enter"],action:"Start"}],m0=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button"}],O0={vcs:m0,c64:m0,apple2:[{keys:["Mouse"],action:"Paddles/Joystick"},{keys:["Click"],action:"Button 1"},{keys:["SHIFT-Click"],action:"Button 2"},{keys:["ALT-Click"],action:"Button 3"}],nes:xc,atari7800:xc,pce:xc,gb:xc,msx:wc,coleco:wc,sms:[...wc,{keys:["Enter"],action:"Start"}],vicdual:lf,galaxian:lf,vector:lf,mw8080bw:[{keys:["\u2190\xA0\u2192"],action:"Joystick"},{keys:["Space"],action:"Fire"}],williams:[{keys:["A W S D"],action:"Move"},{keys:[Es],action:"Fire"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"},{keys:["6 7 8 9"],action:"Extra"}],astrocade:[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Trigger"},{keys:["Mouse X"],action:"Knob"},{keys:[`U I O P
|
||||
import{a as d0}from"./chunk-NTFEI2OH.js";import{a as h0}from"./chunk-T6VURU5O.js";import{a as vc}from"./chunk-A7SWO6EA.js";import{a as u0,b as f0,c as s_}from"./chunk-7CYBOXJ5.js";import{C as nf,H as sf,t as l0,u as c0}from"./chunk-MZ43WA3W.js";import"./chunk-UACHXWHT.js";import{A as Xr,E as dn,F as ef,G as xo,I as wo,J as yc,K as tf,T as rf,U as o0,X as a0,a as Gn,b as Ma,d as St,da as Sc,e as La,f as zt,g as Ce,h as Ku,i as r0,k as n0,m as Oc,n as gc,o as bc,p as Cs,q as i0,t as vo,w as s0,x as Ju,y as Da,z as sr}from"./chunk-ZTLOJICZ.js";import{a as gt,b as As,c as Ra,d as Gu,e as Hu}from"./chunk-VSC4MAII.js";var af=Gu((p0,of)=>{(function(r){if(typeof p0=="object"&&typeof of!="undefined")of.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=r()}})(function(){var r,e,t;return(function n(i,s,o){function a(d,h){if(!s[d]){if(!i[d]){var u=typeof Ra=="function"&&Ra;if(!h&&u)return u(d,!0);if(l)return l(d,!0);var f=new Error("Cannot find module '"+d+"'");throw f.code="MODULE_NOT_FOUND",f}var m=s[d]={exports:{}};i[d][0].call(m.exports,function(g){var v=i[d][1][g];return a(v||g)},m,m.exports,n,i,s,o)}return s[d].exports}for(var l=typeof Ra=="function"&&Ra,c=0;c<o.length;c++)a(o[c]);return a})({1:[function(n,i,s){(function(o){"use strict";var a=o.MutationObserver||o.WebKitMutationObserver,l;if(a){var c=0,d=new a(g),h=o.document.createTextNode("");d.observe(h,{characterData:!0}),l=function(){h.data=c=++c%2}}else if(!o.setImmediate&&typeof o.MessageChannel!="undefined"){var u=new o.MessageChannel;u.port1.onmessage=g,l=function(){u.port2.postMessage(0)}}else"document"in o&&"onreadystatechange"in o.document.createElement("script")?l=function(){var k=o.document.createElement("script");k.onreadystatechange=function(){g(),k.onreadystatechange=null,k.parentNode.removeChild(k),k=null},o.document.documentElement.appendChild(k)}:l=function(){setTimeout(g,0)};var f,m=[];function g(){f=!0;for(var k,L,M=m.length;M;){for(L=m,m=[],k=-1;++k<M;)L[k]();M=m.length}f=!1}i.exports=v;function v(k){m.push(k)===1&&!f&&l()}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],2:[function(n,i,s){"use strict";var o=n(1);function a(){}var l={},c=["REJECTED"],d=["FULFILLED"],h=["PENDING"];i.exports=u;function u(x){if(typeof x!="function")throw new TypeError("resolver must be a function");this.state=h,this.queue=[],this.outcome=void 0,x!==a&&v(this,x)}u.prototype.catch=function(x){return this.then(null,x)},u.prototype.then=function(x,R){if(typeof x!="function"&&this.state===d||typeof R!="function"&&this.state===c)return this;var X=new this.constructor(a);if(this.state!==h){var j=this.state===d?x:R;m(X,j,this.outcome)}else this.queue.push(new f(X,x,R));return X};function f(x,R,X){this.promise=x,typeof R=="function"&&(this.onFulfilled=R,this.callFulfilled=this.otherCallFulfilled),typeof X=="function"&&(this.onRejected=X,this.callRejected=this.otherCallRejected)}f.prototype.callFulfilled=function(x){l.resolve(this.promise,x)},f.prototype.otherCallFulfilled=function(x){m(this.promise,this.onFulfilled,x)},f.prototype.callRejected=function(x){l.reject(this.promise,x)},f.prototype.otherCallRejected=function(x){m(this.promise,this.onRejected,x)};function m(x,R,X){o(function(){var j;try{j=R(X)}catch(G){return l.reject(x,G)}j===x?l.reject(x,new TypeError("Cannot resolve promise with itself")):l.resolve(x,j)})}l.resolve=function(x,R){var X=k(g,R);if(X.status==="error")return l.reject(x,X.value);var j=X.value;if(j)v(x,j);else{x.state=d,x.outcome=R;for(var G=-1,ie=x.queue.length;++G<ie;)x.queue[G].callFulfilled(R)}return x},l.reject=function(x,R){x.state=c,x.outcome=R;for(var X=-1,j=x.queue.length;++X<j;)x.queue[X].callRejected(R);return x};function g(x){var R=x&&x.then;if(x&&(typeof x=="object"||typeof x=="function")&&typeof R=="function")return function(){R.apply(x,arguments)}}function v(x,R){var X=!1;function j(ge){X||(X=!0,l.reject(x,ge))}function G(ge){X||(X=!0,l.resolve(x,ge))}function ie(){R(G,j)}var U=k(ie);U.status==="error"&&j(U.value)}function k(x,R){var X={};try{X.value=x(R),X.status="success"}catch(j){X.status="error",X.value=j}return X}u.resolve=L;function L(x){return x instanceof this?x:l.resolve(new this(a),x)}u.reject=M;function M(x){var R=new this(a);return l.reject(R,x)}u.all=D;function D(x){var R=this;if(Object.prototype.toString.call(x)!=="[object Array]")return this.reject(new TypeError("must be an array"));var X=x.length,j=!1;if(!X)return this.resolve([]);for(var G=new Array(X),ie=0,U=-1,ge=new this(a);++U<X;)pe(x[U],U);return ge;function pe(ke,B){R.resolve(ke).then(he,function(J){j||(j=!0,l.reject(ge,J))});function he(J){G[B]=J,++ie===X&&!j&&(j=!0,l.resolve(ge,G))}}}u.race=w;function w(x){var R=this;if(Object.prototype.toString.call(x)!=="[object Array]")return this.reject(new TypeError("must be an array"));var X=xLine truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wX(r,e){return SX(r)||vX(r,e)||PX(r,e)||xX()}function PX(r,e){if(r){if(typeof r=="string")return YQ(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?YQ(r,e):void 0}}var sT=Object.entries,FQ=Object.setPrototypeOf,kX=Object.isFrozen,$X=Object.getPrototypeOf,QX=Object.getOwnPropertyDescriptor,It=Object.freeze,Ft=Object.seal,Sa=Object.create,oT=typeof Reflect!="undefined"&&Reflect,Lb=oT.apply,Db=oT.construct;It||(It=function(e){return e});Ft||(Ft=function(e){return e});Lb||(Lb=function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];return e.apply(t,i)});Db||(Db=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return new e(...n)});var fo=Ct(Array.prototype.forEach),TX=Ct(Array.prototype.lastIndexOf),NQ=Ct(Array.prototype.pop),rc=Ct(Array.prototype.push),_X=Ct(Array.prototype.splice),va=Array.isArray,sc=Ct(String.prototype.toLowerCase),_b=Ct(String.prototype.toString),jQ=Ct(String.prototype.match),nc=Ct(String.prototype.replace),UQ=Ct(String.prototype.indexOf),AX=Ct(String.prototype.trim),CX=Ct(Number.prototype.toString),EX=Ct(Boolean.prototype.toString),qQ=typeof BigInt=="undefined"?null:Ct(BigInt.prototype.toString),GQ=typeof Symbol=="undefined"?null:Ct(Symbol.prototype.toString),Mr=Ct(Object.prototype.hasOwnProperty),ic=Ct(Object.prototype.toString),ur=Ct(RegExp.prototype.test),uo=RX(TypeError);function Ct(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return Lb(r,e,n)}}function RX(r){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Db(r,t)}}function Ye(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:sc;if(FQ&&FQ(r,null),!va(e))return r;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let s=t(i);s!==i&&(kX(e)||(e[n]=s),i=s)}r[i]=!0}return r}function MX(r){for(let e=0;e<r.length;e++)Mr(r,e)||(r[e]=null);return r}function tn(r){let e=Sa(null);for(let n of sT(r)){var t=wX(n,2);let i=t[0],s=t[1];Mr(r,i)&&(va(s)?e[i]=MX(s):s&&typeof s=="object"&&s.constructor===Object?e[i]=tn(s):e[i]=s)}return e}function LX(r){switch(typeof r){case"string":return r;case"number":return CX(r);case"boolean":return EX(r);case"bigint":return qQ?qQ(r):"0";case"symbol":return GQ?GQ(r):"Symbol()";case"undefined":return ic(r);case"function":case"object":{if(r===null)return ic(r);let e=r,t=wn(e,"toString");if(typeof t=="function"){let n=t(e);return typeof n=="string"?n:ic(n)}return ic(r)}default:return ic(r)}}function wn(r,e){for(;r!==null;){let n=QX(r,e);if(n){if(n.get)return Ct(n.get);if(typeof n.value=="function")return Ct(n.value)}r=$X(r)}function t(){return null}return t}function DX(r){try{return ur(r,""),!0}catch(e){return!1}}var HQ=It(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ab=It(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Cb=It(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),IX=It(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-gly
Line truncated
|
||||
`+Qe),yt&&(Qe=S(Qe)),G&&rr?B(Qe):Qe},e.setConfig=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bi(C),ne=!0,me=Se,qe=we},e.clearConfig=function(){Or=null,ne=!1,me=null,qe=null,G=U,ie=""},e.isValidAttribute=function(C,p,b){Or||bi({});let T=_e(C),I=_e(p);return Xe(T,I,b)},e.addHook=function(C,p){typeof p=="function"&&Mr(Oe,C)&&rc(Oe[C],p)},e.removeHook=function(C,p){if(Mr(Oe,C)){if(p!==void 0){let b=TX(Oe[C],p);return b===-1?void 0:_X(Oe[C],b,1)[0]}return NQ(Oe[C])}},e.removeHooks=function(C){Mr(Oe,C)&&(Oe[C]=[])},e.removeAllHooks=function(){Oe=iT()},e}var ez=lT();cT.exports=ez});var qb=Hu(af());var Es="\u2190\u2191\u2193\u2192";var wc=[{keys:[Es],action:"Joypad"},{keys:["Space"],action:"Button A"},{keys:["Shift"],action:"Button B"}],lf=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button 1"},{keys:["Shift"],action:"Button 2"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"}],xc=[...wc,{keys:["\\"],action:"Select"},{keys:["Enter"],action:"Start"}],m0=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button"}],O0={vcs:m0,c64:m0,apple2:[{keys:["Mouse"],action:"Paddles/Joystick"},{keys:["Click"],action:"Button 1"},{keys:["SHIFT-Click"],action:"Button 2"},{keys:["ALT-Click"],action:"Button 3"}],nes:xc,atari7800:xc,pce:xc,gb:xc,msx:wc,coleco:wc,sms:[...wc,{keys:["Enter"],action:"Start"}],vicdual:lf,galaxian:lf,vector:lf,mw8080bw:[{keys:["\u2190\xA0\u2192"],action:"Joystick"},{keys:["Space"],action:"Fire"}],williams:[{keys:["A W S D"],action:"Move"},{keys:[Es],action:"Fire"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"},{keys:["6 7 8 9"],action:"Extra"}],astrocade:[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Trigger"},{keys:["Mouse X"],action:"Knob"},{keys:[`U I O P
|
||||
J K L /
|
||||
7 8 9 X
|
||||
4 5 6 -
|
||||
1 2 3 ,
|
||||
\\ 0 . =`],action:"Keypad"}],vectrex:[{keys:[Es],action:"Joystick"},{keys:["Z X C V"],action:"Buttons"}],atari8:[{keys:[Es],action:"Joystick"},{keys:["Shift"],action:"Button"},{keys:["F1"],action:"Start"},{keys:["F2"],action:"Select"},{keys:["F3"],action:"Option"}],pacman:[{keys:["\u2190\xA0\u2192"],action:"Joystick"},{keys:["Space"],action:"Fire"},{keys:["5","6"],action:"Coin"},{keys:["Enter","2"],action:"Start"}]};var o_={left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown"},cf=null;function Po(){if(cf===null){var r=typeof navigator!="undefined"?navigator:null;cf=!!r&&/mac|iphone|ipad|ipod/i.test(r.platform||r.userAgent||"")}return cf}function hf(r){var e=r.toLowerCase().split("+"),t=e.pop(),n={mod:!1,shift:!1,key:""};for(var i of e)if(i=="mod"||i=="ctrl"||i=="meta"||i=="cmd")n.mod=!0;else if(i=="shift")n.shift=!0;else return console.warn('Keyboard shortcut "'+r+'": unsupported modifier "'+i+'" (alt is layout-dependent), skipping'),null;t=o_[t]||t;var s=/^[a-z]$/.test(t),o=/^f([1-9]|1[0-2])$/.test(t);return!s&&!o&&!/^[0-9]$/.test(t)&&!/^arrow/.test(t)?(console.warn('Keyboard shortcut "'+r+'": key "'+t+'" is layout-dependent (use a-z, 0-9, f1-f12), skipping'),null):n.shift&&!s&&!/^arrow/.test(t)?(console.warn('Keyboard shortcut "'+r+'": shift is only allowed with letters and arrows, skipping'),null):(n.key=t,n)}function a_(r,e){if(e.altKey)return!1;var t=Po(),n=t?e.metaKey:e.ctrlKey,i=t?e.ctrlKey:e.metaKey;return r.mod!==n||i||r.shift!==e.shiftKey?!1:(e.key||"").toLowerCase()===r.key}var Pc=class{constructor(){this.bindings=[];this.handler=e=>{if(!e.defaultPrevented)for(var t=0;t<this.bindings.length;t++){var n=this.bindings[t];if(a_(n.binding,e)){e.preventDefault(),e.stopPropagation(),n.fn(e);return}}}}bind(e,t){var n=hf(e);n&&this.bindings.push({binding:n,fn:t})}unbindAll(){this.bindings=[]}attach(){window.addEventListener("keydown",this.handler)}detach(){window.removeEventListener("keydown",this.handler)}},l_={mod:"Mod",cmd:"Mod",meta:"Mod",ctrl:"Ctrl",control:"Ctrl",shift:"Shift",alt:"Alt",option:"Alt"},df=null;function c_(){if(df===null){var r=typeof navigator!="undefined"?navigator:null;df=!!r&&/win/i.test(r.platform||r.userAgent||"")}return df}function g0(r){var e=r.split("-"),t=e.pop();t===""&&(t="-");var n=[];for(var i of e)if(i!==""){var s=l_[i.toLowerCase()]||i;s=="Ctrl"&&!Po()&&(s="Mod"),n.indexOf(s)<0&&n.push(s)}return n.sort(),n.concat([t.toLowerCase()]).join("-")}function d_(r){var e=Po()?r.mac:c_()?r.win:r.linux;return e||r.key}var uf=["Mod-Shift-a","Mod-Shift-d","Mod-Shift-e","Mod-Shift-f","Mod-Shift-g","Mod-Shift-h","Mod-Shift-i","Mod-Shift-j","Mod-Shift-k","Mod-Shift-l","Mod-Shift-r","Mod-Shift-x","Mod-Shift-y"];function ff(r,e){var t=e.map(g0);return r.filter(function(n){var i=d_(n);return!i||t.indexOf(g0(i))<0})}var h_={shift:"\u21E7",ctrl:"\u2303",alt:"\u2325",meta:"\u2318",mod:"\u2318",cmd:"\u2318"},u_={shift:"Shift",ctrl:"Ctrl",alt:"Alt",meta:"Win",mod:"Ctrl",cmd:"Cmd"},f_={arrowleft:"\u2190",arrowright:"\u2192",arrowup:"\u2191",arrowdown:"\u2193",backspace:"\u232B",enter:"\u21A9",tab:"\u21E5",escape:"\u238B",space:"\u2423"};function mf(r){var e=r.toLowerCase().split("+"),t=e.pop(),n=Po(),i=n?["shift","ctrl","alt","meta","mod","cmd"]:["mod","ctrl","shift","alt","meta","cmd"],s=i.filter(c=>e.indexOf(c)>=0);for(var o of e)s.indexOf(o)<0&&s.push(o);var a=s.map(c=>n?h_[c]||c:u_[c]||c).join(n?"":"+"),l=/^[a-z][0-9]?$/.test(t)?t.toUpperCase():f_[t]||(n?t:t.charAt(0).toUpperCase()+t.slice(1));return(a?a+(n?"":"+"):"")+l}var pf=class{constructor(e){this.shortcutsSig="";this.status={};this.visible=!0;this.pendingShortcuts=!1;this.pendingStatus=!1;this.div=e,this.shortcutsZone=$(document.createElement("span")).addClass("shortcuts_zone"),this.statusZone=$(document.createElement("span")).addClass("status_zone"),$(e).append(this.shortcutsZone).append(this.statusZone)}setShortcuts(e){if(this.visible){var t=e.map(s=>s.key+""+s.label).join("");if(t!==this.shortcutsSig){if(Ia){this.pendingShortcuts=!0;return}this.shortcutsSig=t,this.shortcutsZone.empty();for(var n of e){var i=$(document.createElement("span")).addClass("shortcut");i.append($(document.createElement("kbd")).text(mf(n.key))),i.append(document.createTextNode(" "+n.label)),n.fn&&b0(i,n.fn),this.shortcutsZone.append(i)}}}}setStatus(e,t){t?this.status[e]=t:delete this.status[e],this.renderStatus()}renderStatus(){if(this.visible){if(Ia){this.pendingStatus=!0;return}this.statusZone.empty();for(var e of Object.keys(this.status)){var t=this.status[e],n=$(document.createElement("span")).addClass("status_item");t.cls&&n.addClass(t.cls),t.title&&n.prop("title",t.title),n.text(t.text),t.fn&&b0(n,t.fn),this.statusZone.append(n)}}}};function b0(r,e){r.addClass("clickable"),r.mousedown(t=>t.preventDefault()),r.click(e)}var Ia=!1;function y0(){Xr&&(Xr.pendingShortcuts&&(Xr.pendingShortcuts=!1,zr()),Xr.pendingStatus&&(Xr.pendingStatus=!1,Xr.renderStatus()))}function p_(){$(document).on("mousedown.shortcutbar",()=>{Ia=!0}),$(document).on(
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function v_(r,e){return b_(r)||y_(r,e)||x_(r,e)||S_()}function x_(r,e){if(r){if(typeof r=="string")return A0(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A0(r,e):void 0}}var F0=Object.entries,C0=Object.setPrototypeOf,w_=Object.isFrozen,P_=Object.getPrototypeOf,k_=Object.getOwnPropertyDescriptor,Mt=Object.freeze,Wt=Object.seal,ko=Object.create,N0=typeof Reflect!="undefined"&&Reflect,xf=N0.apply,wf=N0.construct;Mt||(Mt=function(e){return e});Wt||(Wt=function(e){return e});xf||(xf=function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];return e.apply(t,i)});wf||(wf=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return new e(...n)});var Ms=$t(Array.prototype.forEach),$_=$t(Array.prototype.lastIndexOf),E0=$t(Array.prototype.pop),Za=$t(Array.prototype.push),Q_=$t(Array.prototype.splice),$o=Array.isArray,Wa=$t(String.prototype.toLowerCase),Of=$t(String.prototype.toString),R0=$t(String.prototype.match),Xa=$t(String.prototype.replace),M0=$t(String.prototype.indexOf),T_=$t(String.prototype.trim),__=$t(Number.prototype.toString),A_=$t(Boolean.prototype.toString),L0=typeof BigInt=="undefined"?null:$t(BigInt.prototype.toString),D0=typeof Symbol=="undefined"?null:$t(Symbol.prototype.toString),$r=$t(Object.prototype.hasOwnProperty),za=$t(Object.prototype.toString),sr=$t(RegExp.prototype.test),Rs=C_(TypeError);function $t(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return xf(r,e,n)}}function C_(r){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return wf(r,t)}}function Ve(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Wa;if(C0&&C0(r,null),!$o(e))return r;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let s=t(i);s!==i&&(w_(e)||(e[n]=s),i=s)}r[i]=!0}return r}function E_(r){for(let e=0;e<r.length;e++)$r(r,e)||(r[e]=null);return r}function Vr(r){let e=ko(null);for(let n of F0(r)){var t=v_(n,2);let i=t[0],s=t[1];$r(r,i)&&($o(s)?e[i]=E_(s):s&&typeof s=="object"&&s.constructor===Object?e[i]=Vr(s):e[i]=s)}return e}function R_(r){switch(typeof r){case"string":return r;case"number":return __(r);case"boolean":return A_(r);case"bigint":return L0?L0(r):"0";case"symbol":return D0?D0(r):"Symbol()";case"undefined":return za(r);case"function":case"object":{if(r===null)return za(r);let e=r,t=hn(e,"toString");if(typeof t=="function"){let n=t(e);return typeof n=="string"?n:za(n)}return za(r)}default:return za(r)}}function hn(r,e){for(;r!==null;){let n=k_(r,e);if(n){if(n.get)return $t(n.get);if(typeof n.value=="function")return $t(n.value)}r=P_(r)}function t(){return null}return t}function M_(r){try{return sr(r,""),!0}catch(e){return!1}}var I0=Mt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),gf=Mt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),bf=Mt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),L_=Mt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-gly
Line truncated
|
||||
`+Qe),yt&&(Qe=S(Qe)),G&&tr?B(Qe):Qe},e.setConfig=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bi(C),ne=!0,me=Se,qe=we},e.clearConfig=function(){Or=null,ne=!1,me=null,qe=null,G=U,ie=""},e.isValidAttribute=function(C,p,b){Or||bi({});let T=_e(C),I=_e(p);return Xe(T,I,b)},e.addHook=function(C,p){typeof p=="function"&&$r(Oe,C)&&Za(Oe[C],p)},e.removeHook=function(C,p){if($r(Oe,C)){if(p!==void 0){let b=$_(Oe[C],p);return b===-1?void 0:Q_(Oe[C],b,1)[0]}return E0(Oe[C])}},e.removeHooks=function(C){$r(Oe,C)&&(Oe[C]=[])},e.removeAllHooks=function(){Oe=Y0()},e}var Yi=U0();var K_=$f(),q0=["clk","reset"],Qf=class{constructor(e,t){this.lines=[];this.zoom=8;this.t0=0;this.tsel=-1;this.tnow=-1;this.hexformat=!0;this.scrollbarWidth=12;this.parent=e,this.wfp=t,this.parent.setAttribute("tabindex","-1"),this.parent.addEventListener("mousedown",n=>{n.preventDefault(),this.parent.focus()}),$0(this.parent,()=>this.getShortcuts()),T0(this.parent,"verilog-waveform"),this.recreate()}getShortcuts(){return[{key:"=",label:"Zoom In",fn:()=>this.setZoom(this.zoom*2)},{key:"-",label:"Zoom Out",fn:()=>this.setZoom(this.zoom/2)},{key:"ctrl+shift+left",label:"To Start",fn:()=>{this.setSelTime(0),this.setOrgTime(0)}},{key:"shift+left",label:"Page Left",fn:()=>this.setSelTime(this.tsel-this.clocksPerPage/4)},{key:"left",label:"Left",fn:()=>this.setSelTime(this.tsel-1)},{key:"right",label:"Right",fn:()=>this.setSelTime(this.tsel+1)},{key:"shift+right",label:"Page Right",fn:()=>this.setSelTime(this.tsel+this.clocksPerPage/4)},{key:"space",label:"Go To Current",fn:()=>{this.setOrgTime(this.tnow),this.setSelTime(this.tnow)}},{key:"h",label:"Hex/Dec",fn:()=>{this.hexformat=!this.hexformat,this.refresh()}}]}recreate(){clearTimeout(this.wtimer),this.wtimer=setTimeout(()=>{this.destroy(),this._recreate()},0)}destroy(){this.wavelist&&($(this.wavelist.container).remove(),this.wavelist=null),this.toolbar&&(this.toolbar.destroy(),this.toolbar=null),this.clklabel&&(this.clklabel.remove(),this.clklabel=null)}_recreate(){if(this.meta=this.wfp.getSignalMetadata(),!!this.meta){var e=$(this.parent).width();this.pageWidth=e-this.scrollbarWidth;var t=40;this.setClocksPerPage(),this.clockMax=0,this.wavelist=new Wr({w:e,h:$(this.parent).height(),itemHeight:t,totalRows:this.meta.length+1,generatorFn:o=>{var a=this.meta[o];let l=document.createElement("div"),c=document.createElement("canvas");return c.width=e-12,c.height=t,l.appendChild(c),l.classList.add("waverow"),this.lines[o]=c,this.refreshRow(o),a&&a.input&&q0.indexOf(a.label)<0&&(l.onmousedown=d=>{var h=this.meta[o];h&&h.input&&this.changeInputValue(o)},l.classList.add("editable"),l.style.cursor="grab"),l}});var n=this.wavelist.container;n.tabIndex=-1,this.toolbar=new Bi(this.parent,this.parent),this.toolbar.span.css("display","inline-block"),this.clklabel=document.createElement("span"),this.clklabel.innerText="-",$(this.parent).append(this.clklabel),$(this.parent).append(n);var i=!1,s=o=>{this.setSelTime(o.offsetX/this.zoom+this.t0-.5)};$(n).mousedown(o=>{i=!0,s(o)}),$(n).mousemove(o=>{i&&s(o)}),$(n).mouseup(o=>{i=!1}),$(n).on("wheel",o=>{if(Math.abs(o.originalEvent.deltaX)>Math.abs(o.originalEvent.deltaY)){var a=Math.max(-1e3,Math.min(1e3,o.originalEvent.deltaX));a&&this.setOrgTime(this.t0+a)}}),this.toolbar.add("=","Zoom In","glyphicon-zoom-in",(o,a)=>{this.setZoom(this.zoom*2)}),this.toolbar.add("+","Zoom In",null,(o,a)=>{this.setZoom(this.zoom*2)}),this.toolbar.add("-","Zoom Out","glyphicon-zoom-out",(o,a)=>{this.setZoom(this.zoom/2)}),this.toolbar.add("ctrl+shift+left","Move to beginning","glyphicon-backward",(o,a)=>{this.setSelTime(0),this.setOrgTime(0)}),this.toolbar.add("shift+left","Move left 1/4 page","glyphicon-fast-backward",(o,a)=>{this.setSelTime(this.tsel-this.clocksPerPage/4)}),this.toolbar.add("left","Move left 1 clock","glyphicon-step-backward",(o,a)=>{this.setSelTime(this.tsel-1)}),this.toolbar.add("right","Move right 1 clock","glyphicon-step-forward",(o,a)=>{this.setSelTime(this.tsel+1)}),this.toolbar.add("shift+right","Move right 1/4 page","glyphicon-fast-forward",(o,a)=>{this.setSelTime(this.tsel+this.clocksPerPage/4)}),this.toolbar.add("space","Go to current time","glyphicon-flash",(o,a)=>{this.setOrgTime(this.tnow),this.setSelTime(this.tnow)}),this.toolbar.add("h","Switch between hex/decimal format","glyphicon-barcode",(o,a)=>{this.hexformat=!this.hexformat,this.refresh()}),$(window).resize(()=>{this.recreate()})}}roundT(e){return e=Math.round(e),e=Math.max(0,e),e=Math.min(this.clockMax+this.clocksPerPage/2,e),e}setOrgTime(e){this.t0=this.roundT(e),this.refresh()}setCurrentTime(e){this.tnow=this.roundT(e),this.refresh()}setSelTime(e){e=this.roundT(e),e>=this.t0+this.clocksPerPage-1&&(this.t0+=this.clocksPerPage/4),e<=this.t0+2&&(this.t0-=this.clocksPerPage/4),this.tsel=e,this.setOrgTime(this.t0),this.clklabel.innerText=" clk "+this.tsel}setClocksPerPage(){this.clocksPerPage=Math.floor(this.pageWidth/this.zoom)-1}setZoom(e){this.zoom=Math.max(1/16,Math.min(6
Line truncated
|
||||
`);for(let i of e||[]){let s=i instanceof RegExp?{re:i}:i;for(let o of n){let a;for(s.re.lastIndex=0;a=s.re.exec(o);){let l=a[s.group!=null?s.group:a.length-1];l&&t.push(s.suffix?l+s.suffix:l)}}}return t}var Cn={vcs:{arch:"6502",code_start:4096,code_size:61440,data_start:128,data_size:128,wiz_rom_ext:".a26",wiz_inc_dir:"2600",cfgfile:"atari2600.cfg",libargs:["crt0.o","atari2600.lib"],extra_link_files:["crt0.o","atari2600.cfg"],asm_cfgfile:"atari2600-asm.cfg",asm_libargs:[],asm_extra_link_files:["atari2600-asm.cfg"],define:["__ATARI2600__"]},mw8080bw:{arch:"z80",code_start:0,rom_size:8192,data_start:8192,data_size:1024,stack_end:9216},vicdual:{arch:"z80",code_start:0,rom_size:16416,data_start:58368,data_size:1024,stack_end:59392},galaxian:{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:18432},"galaxian-scramble":{arch:"z80",code_start:0,rom_size:20512,data_start:16384,data_size:1024,stack_end:18432},pacman:{arch:"z80",code_start:0,codeseg_start:202,rom_size:32768,data_start:19456,data_size:652,stack_end:20416},williams:{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152,set_stack_end:49152,extra_link_files:["williams.scr","libcmoc-crt-vec.a","libcmoc-std-vec.a"],extra_link_args:["-swilliams.scr","-lcmoc-crt-vec","-lcmoc-std-vec"],extra_compile_files:["assert.h","cmoc.h","stdarg.h","stdlib.h"]},"williams-defender":{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152},"williams-z80":{arch:"z80",code_start:0,rom_size:38912,data_start:38912,data_size:10240,stack_end:49152},"vector-z80color":{arch:"z80",code_start:0,rom_size:32768,data_start:57344,data_size:8192,stack_end:0},"vector-ataricolor":{arch:"6502",define:["__VECTOR__"],cfgfile:"vector-color.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","vector-color.cfg"]},"sound_williams-z80":{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:32768},base_z80:{arch:"z80",code_start:0,rom_size:32768,data_start:32768,data_size:32768,stack_end:0},coleco:{arch:"z80",rom_start:32768,code_start:33024,rom_size:32768,data_start:28672,data_size:1024,stack_end:32768,extra_preproc_args:["-I","/share/include/coleco","-D","CV_CV"],extra_link_args:["-k","/share/lib/coleco","-l","libcv","-l","libcvu","crt0.rel"]},msx:{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_link_args:["crt0-msx.rel"],extra_link_files:["crt0-msx.rel","crt0-msx.lst"],wiz_sys_type:"z80",wiz_inc_dir:"msx"},"msx-libcv":{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_preproc_args:["-I",".","-D","CV_MSX"],extra_link_args:["-k",".","-l","libcv-msx","-l","libcvu-msx","crt0-msx.rel"],extra_link_files:["libcv-msx.lib","libcvu-msx.lib","crt0-msx.rel","crt0-msx.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},"sms-sg1000-libcv":{arch:"z80",rom_start:0,code_start:256,rom_size:49152,data_start:49152,data_size:1024,stack_end:57344,extra_preproc_args:["-I",".","-D","CV_SMS"],extra_link_args:["-k",".","-l","libcv-sms","-l","libcvu-sms","crt0-sms.rel"],extra_link_files:["libcv-sms.lib","libcvu-sms.lib","crt0-sms.rel","crt0-sms.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},nes:{arch:"6502",define:["__NES__"],cfgfile:"neslib2.cfg",libargs:["crt0.o","nes.lib","neslib2.lib","-D","NES_MAPPER=0","-D","NES_PRG_BANKS=2","-D","NES_CHR_BANKS=1","-D","NES_MIRRORING=0"],extra_link_files:["crt0.o","neslib2.lib","neslib2.cfg","nesbanked.cfg"],symbolConfigs:{NES_MAPPER:{4:"nesbanked.cfg"}},ignore_segments:["HEADER","CHARS"],wiz_rom_ext:".nes"},apple2:{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["--lib-path","/share/target/apple2/drv","apple2.lib"],__CODE_RUN__:16384,code_start:2051,acmeargs:["-f","apple"]},"apple2-e":{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["apple2.lib"],acmeargs:["-f","apple"]},"atari8-800xl.disk":{arch:"6502",define:["__ATARI__"],cfgfile:"atari.cfg",libargs:["atari.lib"],fastbasic_cfgfile:"fastbasic-cart.cfg",ignore_segments:["EXEHDR","SYSCHKHDR","SYSCHKTRL","MAINHDR","AUTOSTRT"]},"atari8-800xl":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-800":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-5200":{arch:"6502",define:["__ATARI5200__"],cfgfile:"atari5200.cfg",libargs:["atari5200.lib","-D","__CARTFLAGS__=255"],fastbasic_cfgfile:"fastbasic-cart.cfg"},verilog:{arch:"verilog",extra_compile_files:["8bitworkshop.v"]},astrocad
Line truncated
|
||||
\\ 0 . =`],action:"Keypad"}],vectrex:[{keys:[Es],action:"Joystick"},{keys:["Z X C V"],action:"Buttons"}],atari8:[{keys:[Es],action:"Joystick"},{keys:["Shift"],action:"Button"},{keys:["F1"],action:"Start"},{keys:["F2"],action:"Select"},{keys:["F3"],action:"Option"}],pacman:[{keys:["\u2190\xA0\u2192"],action:"Joystick"},{keys:["Space"],action:"Fire"},{keys:["5","6"],action:"Coin"},{keys:["Enter","2"],action:"Start"}]};var o_={left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown"},cf=null;function Po(){if(cf===null){var r=typeof navigator!="undefined"?navigator:null;cf=!!r&&/mac|iphone|ipad|ipod/i.test(r.platform||r.userAgent||"")}return cf}function hf(r){var e=r.toLowerCase().split("+"),t=e.pop(),n={mod:!1,shift:!1,key:""};for(var i of e)if(i=="mod"||i=="ctrl"||i=="meta"||i=="cmd")n.mod=!0;else if(i=="shift")n.shift=!0;else return console.warn('Keyboard shortcut "'+r+'": unsupported modifier "'+i+'" (alt is layout-dependent), skipping'),null;t=o_[t]||t;var s=/^[a-z]$/.test(t),o=/^f([1-9]|1[0-2])$/.test(t);return!s&&!o&&!/^[0-9]$/.test(t)&&!/^arrow/.test(t)?(console.warn('Keyboard shortcut "'+r+'": key "'+t+'" is layout-dependent (use a-z, 0-9, f1-f12), skipping'),null):n.shift&&!s&&!/^arrow/.test(t)?(console.warn('Keyboard shortcut "'+r+'": shift is only allowed with letters and arrows, skipping'),null):(n.key=t,n)}function a_(r,e){if(e.altKey)return!1;var t=Po(),n=t?e.metaKey:e.ctrlKey,i=t?e.ctrlKey:e.metaKey;return r.mod!==n||i||r.shift!==e.shiftKey?!1:(e.key||"").toLowerCase()===r.key}var Pc=class{constructor(){this.bindings=[];this.handler=e=>{if(!e.defaultPrevented)for(var t=0;t<this.bindings.length;t++){var n=this.bindings[t];if(a_(n.binding,e)){e.preventDefault(),e.stopPropagation(),n.fn(e);return}}}}bind(e,t){var n=hf(e);n&&this.bindings.push({binding:n,fn:t})}unbindAll(){this.bindings=[]}attach(){window.addEventListener("keydown",this.handler)}detach(){window.removeEventListener("keydown",this.handler)}},l_={mod:"Mod",cmd:"Mod",meta:"Mod",ctrl:"Ctrl",control:"Ctrl",shift:"Shift",alt:"Alt",option:"Alt"},df=null;function c_(){if(df===null){var r=typeof navigator!="undefined"?navigator:null;df=!!r&&/win/i.test(r.platform||r.userAgent||"")}return df}function g0(r){var e=r.split("-"),t=e.pop();t===""&&(t="-");var n=[];for(var i of e)if(i!==""){var s=l_[i.toLowerCase()]||i;s=="Ctrl"&&!Po()&&(s="Mod"),n.indexOf(s)<0&&n.push(s)}return n.sort(),n.concat([t.toLowerCase()]).join("-")}function d_(r){var e=Po()?r.mac:c_()?r.win:r.linux;return e||r.key}var uf=["Mod-Shift-a","Mod-Shift-d","Mod-Shift-e","Mod-Shift-f","Mod-Shift-g","Mod-Shift-h","Mod-Shift-i","Mod-Shift-j","Mod-Shift-k","Mod-Shift-l","Mod-Shift-r","Mod-Shift-x","Mod-Shift-y"];function ff(r,e){var t=e.map(g0);return r.filter(function(n){var i=d_(n);return!i||t.indexOf(g0(i))<0})}var h_={shift:"\u21E7",ctrl:"\u2303",alt:"\u2325",meta:"\u2318",mod:"\u2318",cmd:"\u2318"},u_={shift:"Shift",ctrl:"Ctrl",alt:"Alt",meta:"Win",mod:"Ctrl",cmd:"Cmd"},f_={arrowleft:"\u2190",arrowright:"\u2192",arrowup:"\u2191",arrowdown:"\u2193",backspace:"\u232B",enter:"\u21A9",tab:"\u21E5",escape:"\u238B",space:"\u2423"};function mf(r){var e=r.toLowerCase().split("+"),t=e.pop(),n=Po(),i=n?["shift","ctrl","alt","meta","mod","cmd"]:["mod","ctrl","shift","alt","meta","cmd"],s=i.filter(c=>e.indexOf(c)>=0);for(var o of e)s.indexOf(o)<0&&s.push(o);var a=s.map(c=>n?h_[c]||c:u_[c]||c).join(n?"":"+"),l=/^[a-z][0-9]?$/.test(t)?t.toUpperCase():f_[t]||(n?t:t.charAt(0).toUpperCase()+t.slice(1));return(a?a+(n?"":"+"):"")+l}var pf=class{constructor(e){this.shortcutsSig="";this.status={};this.visible=!0;this.pendingShortcuts=!1;this.pendingStatus=!1;this.div=e,this.shortcutsZone=$(document.createElement("span")).addClass("shortcuts_zone"),this.statusZone=$(document.createElement("span")).addClass("status_zone"),$(e).append(this.shortcutsZone).append(this.statusZone)}setShortcuts(e){if(this.visible){var t=e.map(s=>s.key+""+s.label).join("");if(t!==this.shortcutsSig){if(Ia){this.pendingShortcuts=!0;return}this.shortcutsSig=t,this.shortcutsZone.empty();for(var n of e){var i=$(document.createElement("span")).addClass("shortcut");i.append($(document.createElement("kbd")).text(mf(n.key))),i.append(document.createTextNode(" "+n.label)),n.fn&&b0(i,n.fn),this.shortcutsZone.append(i)}}}}setStatus(e,t){t?this.status[e]=t:delete this.status[e],this.renderStatus()}renderStatus(){if(this.visible){if(Ia){this.pendingStatus=!0;return}this.statusZone.empty();for(var e of Object.keys(this.status)){var t=this.status[e],n=$(document.createElement("span")).addClass("status_item");t.cls&&n.addClass(t.cls),t.title&&n.prop("title",t.title),n.text(t.text),t.fn&&b0(n,t.fn),this.statusZone.append(n)}}}};function b0(r,e){r.addClass("clickable"),r.mousedown(t=>t.preventDefault()),r.click(e)}var Ia=!1;function y0(){zr&&(zr.pendingShortcuts&&(zr.pendingShortcuts=!1,Wr()),zr.pendingStatus&&(zr.pendingStatus=!1,zr.renderStatus()))}function p_(){$(document).on("mousedown.shortcutbar",()=>{Ia=!0}),$(document).on(
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function v_(r,e){return b_(r)||y_(r,e)||x_(r,e)||S_()}function x_(r,e){if(r){if(typeof r=="string")return A0(r,e);var t={}.toString.call(r).slice(8,-1);return t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set"?Array.from(r):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A0(r,e):void 0}}var F0=Object.entries,C0=Object.setPrototypeOf,w_=Object.isFrozen,P_=Object.getPrototypeOf,k_=Object.getOwnPropertyDescriptor,Mt=Object.freeze,Wt=Object.seal,ko=Object.create,N0=typeof Reflect!="undefined"&&Reflect,xf=N0.apply,wf=N0.construct;Mt||(Mt=function(e){return e});Wt||(Wt=function(e){return e});xf||(xf=function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),s=2;s<n;s++)i[s-2]=arguments[s];return e.apply(t,i)});wf||(wf=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return new e(...n)});var Ms=$t(Array.prototype.forEach),$_=$t(Array.prototype.lastIndexOf),E0=$t(Array.prototype.pop),Za=$t(Array.prototype.push),Q_=$t(Array.prototype.splice),$o=Array.isArray,Wa=$t(String.prototype.toLowerCase),Of=$t(String.prototype.toString),R0=$t(String.prototype.match),Xa=$t(String.prototype.replace),M0=$t(String.prototype.indexOf),T_=$t(String.prototype.trim),__=$t(Number.prototype.toString),A_=$t(Boolean.prototype.toString),L0=typeof BigInt=="undefined"?null:$t(BigInt.prototype.toString),D0=typeof Symbol=="undefined"?null:$t(Symbol.prototype.toString),$r=$t(Object.prototype.hasOwnProperty),za=$t(Object.prototype.toString),or=$t(RegExp.prototype.test),Rs=C_(TypeError);function $t(r){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return xf(r,e,n)}}function C_(r){return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return wf(r,t)}}function Ve(r,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Wa;if(C0&&C0(r,null),!$o(e))return r;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let s=t(i);s!==i&&(w_(e)||(e[n]=s),i=s)}r[i]=!0}return r}function E_(r){for(let e=0;e<r.length;e++)$r(r,e)||(r[e]=null);return r}function Yr(r){let e=ko(null);for(let n of F0(r)){var t=v_(n,2);let i=t[0],s=t[1];$r(r,i)&&($o(s)?e[i]=E_(s):s&&typeof s=="object"&&s.constructor===Object?e[i]=Yr(s):e[i]=s)}return e}function R_(r){switch(typeof r){case"string":return r;case"number":return __(r);case"boolean":return A_(r);case"bigint":return L0?L0(r):"0";case"symbol":return D0?D0(r):"Symbol()";case"undefined":return za(r);case"function":case"object":{if(r===null)return za(r);let e=r,t=hn(e,"toString");if(typeof t=="function"){let n=t(e);return typeof n=="string"?n:za(n)}return za(r)}default:return za(r)}}function hn(r,e){for(;r!==null;){let n=k_(r,e);if(n){if(n.get)return $t(n.get);if(typeof n.value=="function")return $t(n.value)}r=P_(r)}function t(){return null}return t}function M_(r){try{return or(r,""),!0}catch(e){return!1}}var I0=Mt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),gf=Mt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),bf=Mt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),L_=Mt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-gly
Line truncated
|
||||
`+Qe),yt&&(Qe=S(Qe)),G&&rr?B(Qe):Qe},e.setConfig=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bi(C),ne=!0,me=Se,qe=we},e.clearConfig=function(){Or=null,ne=!1,me=null,qe=null,G=U,ie=""},e.isValidAttribute=function(C,p,b){Or||bi({});let T=_e(C),I=_e(p);return Xe(T,I,b)},e.addHook=function(C,p){typeof p=="function"&&$r(Oe,C)&&Za(Oe[C],p)},e.removeHook=function(C,p){if($r(Oe,C)){if(p!==void 0){let b=$_(Oe[C],p);return b===-1?void 0:Q_(Oe[C],b,1)[0]}return E0(Oe[C])}},e.removeHooks=function(C){$r(Oe,C)&&(Oe[C]=[])},e.removeAllHooks=function(){Oe=Y0()},e}var Yi=U0();var K_=$f(),q0=["clk","reset"],Qf=class{constructor(e,t){this.lines=[];this.zoom=8;this.t0=0;this.tsel=-1;this.tnow=-1;this.hexformat=!0;this.scrollbarWidth=12;this.parent=e,this.wfp=t,this.parent.setAttribute("tabindex","-1"),this.parent.addEventListener("mousedown",n=>{n.preventDefault(),this.parent.focus()}),$0(this.parent,()=>this.getShortcuts()),T0(this.parent,"verilog-waveform"),this.recreate()}getShortcuts(){return[{key:"=",label:"Zoom In",fn:()=>this.setZoom(this.zoom*2)},{key:"-",label:"Zoom Out",fn:()=>this.setZoom(this.zoom/2)},{key:"ctrl+shift+left",label:"To Start",fn:()=>{this.setSelTime(0),this.setOrgTime(0)}},{key:"shift+left",label:"Page Left",fn:()=>this.setSelTime(this.tsel-this.clocksPerPage/4)},{key:"left",label:"Left",fn:()=>this.setSelTime(this.tsel-1)},{key:"right",label:"Right",fn:()=>this.setSelTime(this.tsel+1)},{key:"shift+right",label:"Page Right",fn:()=>this.setSelTime(this.tsel+this.clocksPerPage/4)},{key:"space",label:"Go To Current",fn:()=>{this.setOrgTime(this.tnow),this.setSelTime(this.tnow)}},{key:"h",label:"Hex/Dec",fn:()=>{this.hexformat=!this.hexformat,this.refresh()}}]}recreate(){clearTimeout(this.wtimer),this.wtimer=setTimeout(()=>{this.destroy(),this._recreate()},0)}destroy(){this.wavelist&&($(this.wavelist.container).remove(),this.wavelist=null),this.toolbar&&(this.toolbar.destroy(),this.toolbar=null),this.clklabel&&(this.clklabel.remove(),this.clklabel=null)}_recreate(){if(this.meta=this.wfp.getSignalMetadata(),!!this.meta){var e=$(this.parent).width();this.pageWidth=e-this.scrollbarWidth;var t=40;this.setClocksPerPage(),this.clockMax=0,this.wavelist=new Br({w:e,h:$(this.parent).height(),itemHeight:t,totalRows:this.meta.length+1,generatorFn:o=>{var a=this.meta[o];let l=document.createElement("div"),c=document.createElement("canvas");return c.width=e-12,c.height=t,l.appendChild(c),l.classList.add("waverow"),this.lines[o]=c,this.refreshRow(o),a&&a.input&&q0.indexOf(a.label)<0&&(l.onmousedown=d=>{var h=this.meta[o];h&&h.input&&this.changeInputValue(o)},l.classList.add("editable"),l.style.cursor="grab"),l}});var n=this.wavelist.container;n.tabIndex=-1,this.toolbar=new Bi(this.parent,this.parent),this.toolbar.span.css("display","inline-block"),this.clklabel=document.createElement("span"),this.clklabel.innerText="-",$(this.parent).append(this.clklabel),$(this.parent).append(n);var i=!1,s=o=>{this.setSelTime(o.offsetX/this.zoom+this.t0-.5)};$(n).mousedown(o=>{i=!0,s(o)}),$(n).mousemove(o=>{i&&s(o)}),$(n).mouseup(o=>{i=!1}),$(n).on("wheel",o=>{if(Math.abs(o.originalEvent.deltaX)>Math.abs(o.originalEvent.deltaY)){var a=Math.max(-1e3,Math.min(1e3,o.originalEvent.deltaX));a&&this.setOrgTime(this.t0+a)}}),this.toolbar.add("=","Zoom In","glyphicon-zoom-in",(o,a)=>{this.setZoom(this.zoom*2)}),this.toolbar.add("+","Zoom In",null,(o,a)=>{this.setZoom(this.zoom*2)}),this.toolbar.add("-","Zoom Out","glyphicon-zoom-out",(o,a)=>{this.setZoom(this.zoom/2)}),this.toolbar.add("ctrl+shift+left","Move to beginning","glyphicon-backward",(o,a)=>{this.setSelTime(0),this.setOrgTime(0)}),this.toolbar.add("shift+left","Move left 1/4 page","glyphicon-fast-backward",(o,a)=>{this.setSelTime(this.tsel-this.clocksPerPage/4)}),this.toolbar.add("left","Move left 1 clock","glyphicon-step-backward",(o,a)=>{this.setSelTime(this.tsel-1)}),this.toolbar.add("right","Move right 1 clock","glyphicon-step-forward",(o,a)=>{this.setSelTime(this.tsel+1)}),this.toolbar.add("shift+right","Move right 1/4 page","glyphicon-fast-forward",(o,a)=>{this.setSelTime(this.tsel+this.clocksPerPage/4)}),this.toolbar.add("space","Go to current time","glyphicon-flash",(o,a)=>{this.setOrgTime(this.tnow),this.setSelTime(this.tnow)}),this.toolbar.add("h","Switch between hex/decimal format","glyphicon-barcode",(o,a)=>{this.hexformat=!this.hexformat,this.refresh()}),$(window).resize(()=>{this.recreate()})}}roundT(e){return e=Math.round(e),e=Math.max(0,e),e=Math.min(this.clockMax+this.clocksPerPage/2,e),e}setOrgTime(e){this.t0=this.roundT(e),this.refresh()}setCurrentTime(e){this.tnow=this.roundT(e),this.refresh()}setSelTime(e){e=this.roundT(e),e>=this.t0+this.clocksPerPage-1&&(this.t0+=this.clocksPerPage/4),e<=this.t0+2&&(this.t0-=this.clocksPerPage/4),this.tsel=e,this.setOrgTime(this.t0),this.clklabel.innerText=" clk "+this.tsel}setClocksPerPage(){this.clocksPerPage=Math.floor(this.pageWidth/this.zoom)-1}setZoom(e){this.zoom=Math.max(1/16,Math.min(6
Line truncated
|
||||
`);for(let i of e||[]){let s=i instanceof RegExp?{re:i}:i;for(let o of n){let a;for(s.re.lastIndex=0;a=s.re.exec(o);){let l=a[s.group!=null?s.group:a.length-1];l&&t.push(s.suffix?l+s.suffix:l)}}}return t}var Cn={vcs:{arch:"6502",code_start:4096,code_size:61440,data_start:128,data_size:128,wiz_rom_ext:".a26",wiz_inc_dir:"2600",cfgfile:"atari2600.cfg",libargs:["crt0.o","atari2600.lib"],extra_link_files:["crt0.o","atari2600.cfg"],asm_cfgfile:"atari2600-asm.cfg",asm_libargs:[],asm_extra_link_files:["atari2600-asm.cfg"],define:["__ATARI2600__"]},mw8080bw:{arch:"z80",code_start:0,rom_size:8192,data_start:8192,data_size:1024,stack_end:9216},vicdual:{arch:"z80",code_start:0,rom_size:16416,data_start:58368,data_size:1024,stack_end:59392},galaxian:{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:18432},"galaxian-scramble":{arch:"z80",code_start:0,rom_size:20512,data_start:16384,data_size:1024,stack_end:18432},pacman:{arch:"z80",code_start:0,codeseg_start:202,rom_size:32768,data_start:19456,data_size:652,stack_end:20416},williams:{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152,set_stack_end:49152,extra_link_files:["williams.scr","libcmoc-crt-vec.a","libcmoc-std-vec.a"],extra_link_args:["-swilliams.scr","-lcmoc-crt-vec","-lcmoc-std-vec"],extra_compile_files:["assert.h","cmoc.h","stdarg.h","stdlib.h"]},"williams-defender":{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152},"williams-z80":{arch:"z80",code_start:0,rom_size:38912,data_start:38912,data_size:10240,stack_end:49152},"vector-z80color":{arch:"z80",code_start:0,rom_size:32768,data_start:57344,data_size:8192,stack_end:0},"vector-ataricolor":{arch:"6502",define:["__VECTOR__"],cfgfile:"vector-color.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","vector-color.cfg"]},"sound_williams-z80":{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:32768},base_z80:{arch:"z80",code_start:0,rom_size:32768,data_start:32768,data_size:32768,stack_end:0},coleco:{arch:"z80",rom_start:32768,code_start:33024,rom_size:32768,data_start:28672,data_size:1024,stack_end:32768,extra_preproc_args:["-I","/share/include/coleco","-D","CV_CV"],extra_link_args:["-k","/share/lib/coleco","-l","libcv","-l","libcvu","crt0.rel"]},msx:{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_link_args:["crt0-msx.rel"],extra_link_files:["crt0-msx.rel","crt0-msx.lst"],wiz_sys_type:"z80",wiz_inc_dir:"msx"},"msx-libcv":{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_preproc_args:["-I",".","-D","CV_MSX"],extra_link_args:["-k",".","-l","libcv-msx","-l","libcvu-msx","crt0-msx.rel"],extra_link_files:["libcv-msx.lib","libcvu-msx.lib","crt0-msx.rel","crt0-msx.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},"sms-sg1000-libcv":{arch:"z80",rom_start:0,code_start:256,rom_size:49152,data_start:49152,data_size:1024,stack_end:57344,extra_preproc_args:["-I",".","-D","CV_SMS"],extra_link_args:["-k",".","-l","libcv-sms","-l","libcvu-sms","crt0-sms.rel"],extra_link_files:["libcv-sms.lib","libcvu-sms.lib","crt0-sms.rel","crt0-sms.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},nes:{arch:"6502",define:["__NES__"],cfgfile:"neslib2.cfg",libargs:["crt0.o","nes.lib","neslib2.lib","-D","NES_MAPPER=0","-D","NES_PRG_BANKS=2","-D","NES_CHR_BANKS=1","-D","NES_MIRRORING=0"],extra_link_files:["crt0.o","neslib2.lib","neslib2.cfg","nesbanked.cfg"],symbolConfigs:{NES_MAPPER:{4:"nesbanked.cfg"}},ignore_segments:["HEADER","CHARS"],wiz_rom_ext:".nes"},apple2:{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["--lib-path","/share/target/apple2/drv","apple2.lib"],__CODE_RUN__:16384,code_start:2051,acmeargs:["-f","apple"]},"apple2-e":{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["apple2.lib"],acmeargs:["-f","apple"]},"atari8-800xl.disk":{arch:"6502",define:["__ATARI__"],cfgfile:"atari.cfg",libargs:["atari.lib"],fastbasic_cfgfile:"fastbasic-cart.cfg",ignore_segments:["EXEHDR","SYSCHKHDR","SYSCHKTRL","MAINHDR","AUTOSTRT"]},"atari8-800xl":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-800":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-5200":{arch:"6502",define:["__ATARI5200__"],cfgfile:"atari5200.cfg",libargs:["atari5200.lib","-D","__CARTFLAGS__=255"],fastbasic_cfgfile:"fastbasic-cart.cfg"},verilog:{arch:"verilog",extra_compile_files:["8bitworkshop.v"]},astrocad
Line truncated
|
||||
`){[e,t]=Co(this,e,t);let i="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(i+=n),e<l&&t>s&&(i+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],i=-1;for(let s of e)n.push(s),i+=s.length+1,n.length==32&&(t.push(new r(n,i)),n=[],i=-1);return i>-1&&t.push(new r(n,i)),t}},To=class r extends Le{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,i){for(let s=0;;s++){let o=this.children[s],a=i+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,i);i=a+1,n=l+1}}decompose(e,t,n,i){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=Co(this,e,t),n.lines<this.lines)for(let i=0,s=0;i<this.children.length;i++){let o=this.children[i],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let d=this.children.slice();return d[i]=l,new r(d,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=`
|
||||
`){[e,t]=Co(this,e,t);let i="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(i+=n),e<l&&t>o&&(i+=a.sliceString(e-o,t-o,n)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof r))return 0;let n=0,[i,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,s+=t){if(i==o||s==a)return n;let l=this.children[i],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,i)=>n+i.length+1,-1)){let n=0;for(let f of e)n+=f.lines;if(n<32){let f=[];for(let m of e)m.flatten(f);return new Yr(f,t)}let i=Math.max(32,n>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,d=[];function h(f){let m;if(f.lines>s&&f instanceof r)for(let g of f.children)h(g);else f.lines>o&&(l>o||!l)?(u(),a.push(f)):f instanceof Yr&&l&&(m=d[d.length-1])instanceof Yr&&f.lines+m.lines<=32?(l+=f.lines,c+=f.length+1,d[d.length-1]=new Yr(m.text.concat(f.text),m.length+1+f.length)):(l+f.lines>i&&u(),l+=f.lines,c+=f.length+1,d.push(f))}function u(){l!=0&&(a.push(d.length==1?d[0]:r.from(d,c)),c=-1,l=d.length=0)}for(let f of e)h(f);return u(),a.length==1?a[0]:new r(a,t)}};Le.empty=new Yr([""],0);function fA(r){let e=-1;for(let t of r)e+=t.length+1;return e}function Lc(r,e,t=0,n=1e9){for(let i=0,s=0,o=!0;s<r.length&&i<=n;s++){let a=r[s],l=i+a.length;l>=t&&(l>n&&(a=a.slice(0,n-i)),i<t&&(a=a.slice(t-i)),o?(e[e.length-1]+=a,o=!1):e.push(a)),i=l+1}return e}function by(r,e,t){return Lc(r,[""],e,t)}var Zs=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Yr?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,i=this.nodes[n],s=this.offsets[n],o=s>>1,a=i instanceof Yr?i.text.length:i.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(i instanceof Yr){let l=i.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Yr?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Dc=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Zs(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=n?i:t<0?i.slice(i.length-n):i.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ic=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol!="undefined"&&(Le.prototype[Symbol.iterator]=function(){return this.iter()},Zs.prototype[Symbol.iterator]=Dc.prototype[Symbol.iterator]=Ic.prototype[Symbol.iterator]=function(){return this});var Ef=class{constructor(e,t,n,i){this.from=e,this.to=t,this.number=n,this.text=i}get length(){return this.to-this.from}};function Co(r,e,t){return e=Math.max(0,Math.min(r.length,e)),[e,Math.max(e,Math.min(r.length,t))]}function xt(r,e,t=!0,n=!0){return py(r,e,t,n)}function pA(r){return r>=56320&&r<57344}function mA(r){return r>=55296&&r<56320}function Mn(r,e){let t=r.charCodeAt(e);if(!mA(t)||e+1==r.length)return t;let n=r.charCodeAt(e+1);return pA(n)?(t-55296<<10)+(n-56320)+65536:t}function Bc(r){return r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode((r>>10)+55296,(r&1023)+56320))}function ji(r){return r<65536?1:2}var Rf=/\r\n?|\n/,Lt=(function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r})(Lt||(Lt={})),xi=class r{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,i=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(n,i,s),i+=s):i+=o,n+=s}}iterChangedRanges(e,t=!1){Mf(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];i<0?e.push(n,i):e.push(i,n)}return new r(e)}composeDesc(e){return this.empty?e:e.empty?this:wy(this,e)}mapDesc(e,t=!1){return e.empty?this:Lf(this,e,t)}mapPos(e,t=-1,n=Lt.Simple){let i=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=i+a;if(l<0){if(c>e)return s+(e-i);s+=a}else{if(n!=Lt.Simple&&c>=e&&(n==Lt.TrackDel&&i<e&&c>e||n==Lt.TrackBefore&&i<e||n==Lt.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?s:s+l;s+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,t=e){for(let n=0,i=0;n<this.sections.length&&i<=t;){let s=this.sections[n++],o=this.sections[n++],a=i+s;if(o>=0&&i<=t&&a>=e)return i<e&&a>t?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+n+(i>=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new r(e)}static create(e){return new r(e)}},gr=class r extends xi{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mf(this,(t,n,i,s,o)=>e=e.replace(i,i+(n-t),o),!1),e}mapDesc(e,t=!1){return Lf(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let i=0,s=0;i<t.length;i+=2){let o=t[i],a=t[i+1];if(a>=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;n.length<l;)n.push(Le.empty);n.push(o?e.slice(s,s+o):Le.empty)}s+=o}return new r(t,n)}compose(e){return this.empty?e:e.empty?this:wy(this,e,!0)}map(e,t=!1){return e.empty?this:Lf(this,e,t,!0)}iterChanges(e,t=!1){Mf(this,e,t)}get desc
Line truncated
|
||||
`}get readOnly(){return this.facet(Ay)}phrase(e,...t){for(let n of this.facet(r.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let i=[];for(let s of this.facet(ky))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return PA(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xt(t,o,!1);if(s(t.slice(l,o))!=rt.Word)break;o=l}for(;a<i;){let l=xt(t,a);if(s(t.slice(a,l))!=rt.Word)break;a=l}return o==a?null:Z.range(o+n,a+n)}};Me.allowMultipleSelections=If;Me.tabSize=le.define({combine:r=>r.length?r[0]:4});Me.lineSeparator=$y;Me.readOnly=Ay;Me.phrases=le.define({compare(r,e){let t=Object.keys(r),n=Object.keys(e);return t.length==n.length&&t.every(i=>r[i]==e[i])}});Me.languageData=ky;Me.changeFilter=Qy;Me.transactionFilter=Ty;Me.transactionExtender=_y;Bt.reconfigure=be.define();function Fr(r,e,t={}){let n={};for(let i of r)for(let s of Object.keys(i)){let o=i[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)n[i]===void 0&&(n[i]=e[i]);return n}var un=class{eq(e){return this==e}range(e,t=e){return Na.create(e,t,this)}};un.prototype.startSide=un.prototype.endSide=0;un.prototype.point=!1;un.prototype.mapMode=Lt.TrackDel;function jf(r,e){return r==e||r.constructor==e.constructor&&r.eq(e)}var Na=class r{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new r(e,t,n)}};function Bf(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}var Vf=class r{constructor(e,t,n,i){this.from=e,this.to=t,this.value=n,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,i=0){let s=n?this.to:this.from;for(let o=i,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,i){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);s<o;s++)if(i(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let n=[],i=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],d=this.from[l]+e,h=this.to[l]+e,u,f;if(d==h){let m=t.mapPos(d,c.startSide,c.mapMode);if(m==null||(u=f=m,c.startSide!=c.endSide&&(f=t.mapPos(d,c.endSide),f<u)))continue}else if(u=t.mapPos(d,c.startSide),f=t.mapPos(h,c.endSide),u>f||u==f&&c.startSide>0&&c.endSide<=0)continue;(f-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,f-u)),n.push(c),i.push(u-o),s.push(f-o))}return{mapped:n.length?new r(i,s,n,a):null,pos:o}}},Te=class r{constructor(e,t,n,i){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=i}static create(e,t,n,i){return new r(e,t,n,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Bf)),this.isEmpty)return t.length?r.of(t):this;let a=new Wc(this,null,-1).goto(0),l=0,c=[],d=new Rn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let h=t[l++];d.addInner(h.from,h.to,h.value)||c.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||i>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&d.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||i>a.to||s<a.from||o(a.from,a.to,a.value))&&(d.addInner(a.from,a.to,a.value)||c.push(Na.create(a.from,a.to,a.value))),a.next());return d.finishInner(this.nextLayer.isEmpty&&!c.length?r.empty:this.nextLayer.update({add:c,filter:o,filterFrom:i,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],i=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)i=Math.max(i,l.maxPoint),t.push(l),n.push(e.mapPos(a));else if(c===!0){let{mapped:d,pos:h}=l.map(a,e);d&&(i=Math.max(i,d.maxPoint),t.push(d),n.push(h))}}let s=this.nextLayer.map(e);return t.length==0?s:new r(n,t,s||r.empty,i)}between(e,t,n){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return ja.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return ja.from(e).goto(t)}static compare(e,t,n,i,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.is
Line truncated
|
||||
`){[e,t]=Co(this,e,t);let i="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(i+=n),e<l&&t>o&&(i+=a.sliceString(e-o,t-o,n)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof r))return 0;let n=0,[i,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,s+=t){if(i==o||s==a)return n;let l=this.children[i],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,i)=>n+i.length+1,-1)){let n=0;for(let f of e)n+=f.lines;if(n<32){let f=[];for(let m of e)m.flatten(f);return new Fr(f,t)}let i=Math.max(32,n>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,d=[];function h(f){let m;if(f.lines>s&&f instanceof r)for(let g of f.children)h(g);else f.lines>o&&(l>o||!l)?(u(),a.push(f)):f instanceof Fr&&l&&(m=d[d.length-1])instanceof Fr&&f.lines+m.lines<=32?(l+=f.lines,c+=f.length+1,d[d.length-1]=new Fr(m.text.concat(f.text),m.length+1+f.length)):(l+f.lines>i&&u(),l+=f.lines,c+=f.length+1,d.push(f))}function u(){l!=0&&(a.push(d.length==1?d[0]:r.from(d,c)),c=-1,l=d.length=0)}for(let f of e)h(f);return u(),a.length==1?a[0]:new r(a,t)}};Le.empty=new Fr([""],0);function pA(r){let e=-1;for(let t of r)e+=t.length+1;return e}function Lc(r,e,t=0,n=1e9){for(let i=0,s=0,o=!0;s<r.length&&i<=n;s++){let a=r[s],l=i+a.length;l>=t&&(l>n&&(a=a.slice(0,n-i)),i<t&&(a=a.slice(t-i)),o?(e[e.length-1]+=a,o=!1):e.push(a)),i=l+1}return e}function by(r,e,t){return Lc(r,[""],e,t)}var Zs=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Fr?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,i=this.nodes[n],s=this.offsets[n],o=s>>1,a=i instanceof Fr?i.text.length:i.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(i instanceof Fr){let l=i.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Fr?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Dc=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Zs(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=n?i:t<0?i.slice(i.length-n):i.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ic=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol!="undefined"&&(Le.prototype[Symbol.iterator]=function(){return this.iter()},Zs.prototype[Symbol.iterator]=Dc.prototype[Symbol.iterator]=Ic.prototype[Symbol.iterator]=function(){return this});var Ef=class{constructor(e,t,n,i){this.from=e,this.to=t,this.number=n,this.text=i}get length(){return this.to-this.from}};function Co(r,e,t){return e=Math.max(0,Math.min(r.length,e)),[e,Math.max(e,Math.min(r.length,t))]}function xt(r,e,t=!0,n=!0){return py(r,e,t,n)}function mA(r){return r>=56320&&r<57344}function OA(r){return r>=55296&&r<56320}function Mn(r,e){let t=r.charCodeAt(e);if(!OA(t)||e+1==r.length)return t;let n=r.charCodeAt(e+1);return mA(n)?(t-55296<<10)+(n-56320)+65536:t}function Bc(r){return r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode((r>>10)+55296,(r&1023)+56320))}function ji(r){return r<65536?1:2}var Rf=/\r\n?|\n/,Lt=(function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r})(Lt||(Lt={})),xi=class r{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,i=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(n,i,s),i+=s):i+=o,n+=s}}iterChangedRanges(e,t=!1){Mf(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];i<0?e.push(n,i):e.push(i,n)}return new r(e)}composeDesc(e){return this.empty?e:e.empty?this:wy(this,e)}mapDesc(e,t=!1){return e.empty?this:Lf(this,e,t)}mapPos(e,t=-1,n=Lt.Simple){let i=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=i+a;if(l<0){if(c>e)return s+(e-i);s+=a}else{if(n!=Lt.Simple&&c>=e&&(n==Lt.TrackDel&&i<e&&c>e||n==Lt.TrackBefore&&i<e||n==Lt.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?s:s+l;s+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,t=e){for(let n=0,i=0;n<this.sections.length&&i<=t;){let s=this.sections[n++],o=this.sections[n++],a=i+s;if(o>=0&&i<=t&&a>=e)return i<e&&a>t?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+n+(i>=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new r(e)}static create(e){return new r(e)}},gr=class r extends xi{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mf(this,(t,n,i,s,o)=>e=e.replace(i,i+(n-t),o),!1),e}mapDesc(e,t=!1){return Lf(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let i=0,s=0;i<t.length;i+=2){let o=t[i],a=t[i+1];if(a>=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;n.length<l;)n.push(Le.empty);n.push(o?e.slice(s,s+o):Le.empty)}s+=o}return new r(t,n)}compose(e){return this.empty?e:e.empty?this:wy(this,e,!0)}map(e,t=!1){return e.empty?this:Lf(this,e,t,!0)}iterChanges(e,t=!1){Mf(this,e,t)}get desc
Line truncated
|
||||
`}get readOnly(){return this.facet(Ay)}phrase(e,...t){for(let n of this.facet(r.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let i=[];for(let s of this.facet(ky))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return kA(t.length?t[0]:"")}wordAt(e){let{text:t,from:n,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=xt(t,o,!1);if(s(t.slice(l,o))!=rt.Word)break;o=l}for(;a<i;){let l=xt(t,a);if(s(t.slice(a,l))!=rt.Word)break;a=l}return o==a?null:Z.range(o+n,a+n)}};Me.allowMultipleSelections=If;Me.tabSize=le.define({combine:r=>r.length?r[0]:4});Me.lineSeparator=$y;Me.readOnly=Ay;Me.phrases=le.define({compare(r,e){let t=Object.keys(r),n=Object.keys(e);return t.length==n.length&&t.every(i=>r[i]==e[i])}});Me.languageData=ky;Me.changeFilter=Qy;Me.transactionFilter=Ty;Me.transactionExtender=_y;Bt.reconfigure=be.define();function Nr(r,e,t={}){let n={};for(let i of r)for(let s of Object.keys(i)){let o=i[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)n[i]===void 0&&(n[i]=e[i]);return n}var un=class{eq(e){return this==e}range(e,t=e){return Na.create(e,t,this)}};un.prototype.startSide=un.prototype.endSide=0;un.prototype.point=!1;un.prototype.mapMode=Lt.TrackDel;function jf(r,e){return r==e||r.constructor==e.constructor&&r.eq(e)}var Na=class r{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new r(e,t,n)}};function Bf(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}var Vf=class r{constructor(e,t,n,i){this.from=e,this.to=t,this.value=n,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,i=0){let s=n?this.to:this.from;for(let o=i,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,i){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);s<o;s++)if(i(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let n=[],i=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],d=this.from[l]+e,h=this.to[l]+e,u,f;if(d==h){let m=t.mapPos(d,c.startSide,c.mapMode);if(m==null||(u=f=m,c.startSide!=c.endSide&&(f=t.mapPos(d,c.endSide),f<u)))continue}else if(u=t.mapPos(d,c.startSide),f=t.mapPos(h,c.endSide),u>f||u==f&&c.startSide>0&&c.endSide<=0)continue;(f-u||c.endSide-c.startSide)<0||(o<0&&(o=u),c.point&&(a=Math.max(a,f-u)),n.push(c),i.push(u-o),s.push(f-o))}return{mapped:n.length?new r(i,s,n,a):null,pos:o}}},Te=class r{constructor(e,t,n,i){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=i}static create(e,t,n,i){return new r(e,t,n,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(Bf)),this.isEmpty)return t.length?r.of(t):this;let a=new Wc(this,null,-1).goto(0),l=0,c=[],d=new Rn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let h=t[l++];d.addInner(h.from,h.to,h.value)||c.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||i>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&d.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||i>a.to||s<a.from||o(a.from,a.to,a.value))&&(d.addInner(a.from,a.to,a.value)||c.push(Na.create(a.from,a.to,a.value))),a.next());return d.finishInner(this.nextLayer.isEmpty&&!c.length?r.empty:this.nextLayer.update({add:c,filter:o,filterFrom:i,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],i=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)i=Math.max(i,l.maxPoint),t.push(l),n.push(e.mapPos(a));else if(c===!0){let{mapped:d,pos:h}=l.map(a,e);d&&(i=Math.max(i,d.maxPoint),t.push(d),n.push(h))}}let s=this.nextLayer.map(e);return t.length==0?s:new r(n,t,s||r.empty,i)}between(e,t,n){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return ja.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return ja.from(e).goto(t)}static compare(e,t,n,i,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.is
Line truncated
|
||||
`)}static newName(){let e=My[Ry]||1;return My[Ry]=e+1,"\u037C"+e.toString(36)}static mount(e,t,n){let i=e[Uf],s=n&&n.nonce;i?s&&i.setNonce(s):i=new qf(e,s),i.mount(Array.isArray(t)?t:[t],e)}},Ly=new Map,qf=class{constructor(e,t){let n=e.ownerDocument||e,i=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=Ly.get(n);if(s)return e[Uf]=s;this.sheet=new i.CSSStyleSheet,Ly.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Uf]=this}mount(e,t){let n=this.sheet,i=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c<a.rules.length;c++)n.insertRule(a.rules[c],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=a.rules.length,s++}}if(n)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
|
||||
`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var wi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Eo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},$A=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),QA=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Qt=0;Qt<10;Qt++)wi[48+Qt]=wi[96+Qt]=String(Qt);var Qt;for(Qt=1;Qt<=24;Qt++)wi[Qt+111]="F"+Qt;var Qt;for(Qt=65;Qt<=90;Qt++)wi[Qt]=String.fromCharCode(Qt+32),Eo[Qt]=String.fromCharCode(Qt);var Qt;for(Yc in wi)Eo.hasOwnProperty(Yc)||(Eo[Yc]=wi[Yc]);var Yc;function Dy(r){var e=$A&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||QA&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Eo:wi)[r.keyCode]||r.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function wt(){var r=arguments[0];typeof r=="string"&&(r=document.createElement(r));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var i=t[n];typeof i=="string"?r.setAttribute(n,i):i!=null&&(r[n]=i)}e++}for(;e<arguments.length;e++)Iy(r,arguments[e]);return r}function Iy(r,e){if(typeof e=="string")r.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)r.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)Iy(r,e[t]);else throw new RangeError("Unsupported child node: "+e)}var br=typeof navigator!="undefined"?navigator:{userAgent:"",vendor:"",platform:""},sp=typeof document!="undefined"?document:{documentElement:{style:{}}},op=/Edge\/(\d+)/.exec(br.userAgent),xS=/MSIE \d/.test(br.userAgent),ap=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(br.userAgent),wd=!!(xS||ap||op),Zy=!wd&&/gecko\/(\d+)/i.test(br.userAgent),Gf=!wd&&/Chrome\/(\d+)/.exec(br.userAgent),Xy="webkitFontSmoothing"in sp.documentElement.style,lp=!wd&&/Apple Computer/.test(br.vendor),zy=lp&&(/Mobile\/\w+/.test(br.userAgent)||br.maxTouchPoints>2),ce={mac:zy||/Mac/.test(br.platform),windows:/Win/.test(br.platform),linux:/Linux|X11/.test(br.platform),ie:wd,ie_version:xS?sp.documentMode||6:ap?+ap[1]:op?+op[1]:0,gecko:Zy,gecko_version:Zy?+(/Firefox\/(\d+)/.exec(br.userAgent)||[0,0])[1]:0,chrome:!!Gf,chrome_version:Gf?+Gf[1]:0,ios:zy,android:/Android\b/.test(br.userAgent),webkit:Xy,webkit_version:Xy?+(/\bAppleWebKit\/(\d+)/.exec(br.userAgent)||[0,0])[1]:0,safari:lp,safari_version:lp?+(/\bVersion\/(\d+(\.\d+)?)/.exec(br.userAgent)||[0,0])[1]:0,tabSize:sp.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Jp(r,e){for(let t in r)t=="class"&&e.class?e.class+=" "+r.class:t=="style"&&e.style?e.style+=";"+r.style:e[t]=r[t];return e}var sd=Object.create(null);function em(r,e,t){if(r==e)return!0;r||(r=sd),e||(e=sd);let n=Object.keys(r),i=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=i.length-(t&&i.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(i.indexOf(s)==-1||r[s]!==e[s]))return!1;return!0}function TA(r,e){for(let t=r.attributes.length-1;t>=0;t--){let n=r.attributes[t].name;e[n]==null&&r.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?r.style.cssText=n:r.getAttribute(t)!=n&&r.setAttribute(t,n)}}function Wy(r,e,t){let n=!1;if(e)for(let i in e)t&&i in t||(n=!0,i=="style"?r.style.cssText="":r.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(n=!0,i=="style"?r.style.cssText=t[i]:r.setAttribute(i,t[i]));return n}function _A(r){let e=Object.create(null);for(let t=0;t<r.attributes.length;t++){let n=r.attributes[t];e[n.name]=n.value}return e}var Tt=class{eq(e){return!1}updateDOM(e,t,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},Gt=(function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r})(Gt||(Gt={})),ee=class extends un{constructor(e,t,n,i){super(),this.startSide=e,this.enLine truncated
|
||||
`,i=r.state.doc.line(i.number+(t?1:-1)),s=r.bidiSpans(i),c=r.visualLineSide(i,!t)}if(l){if(!l(d))return a}else{if(!n)return c;l=n(d)}a=c}}function lC(r,e,t){let n=r.state.charCategorizer(e),i=n(t);return s=>{let o=n(s);return i==rt.Space&&(i=o),i==o}}function cC(r,e,t,n){let i=e.head,s=t?1:-1;if(i==(t?r.state.doc.length:0))return Z.cursor(i,e.assoc);let o=e.goalColumn,a,l=r.contentDOM.getBoundingClientRect(),c=r.coordsAtPos(i,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),d=r.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let m=r.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,r.defaultCharacterWidth*(i-m.from))),a=(s<0?m.top:m.bottom)+d}let h=l.left+o,u=r.viewState.heightOracle.textHeight>>1,f=n!=null?n:u;for(let m=0;;m+=u){let g=a+(f+m)*s,v=Pp(r,{x:h,y:g},!1,s);if(t?g>l.bottom:g<l.top)return Z.cursor(v.pos,v.assoc);let k=r.coordsAtPos(v.pos,v.assoc),L=k?(k.top+k.bottom)/2:0;if(!k||(t?L>a:L<a))return Z.cursor(v.pos,v.assoc,void 0,o)}}function rl(r,e,t){for(;;){let n=0;for(let i of r)i.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=n||t||(e-s<o-e?-1:1);e=l<0?s:o,n=l}});if(!n)return e}}function JS(r,e){let t=null;for(let n=0;n<e.ranges.length;n++){let i=e.ranges[n],s=null;if(i.empty){let o=rl(r,i.from,0);o!=i.from&&(s=Z.cursor(o,-1))}else{let o=rl(r,i.from,-1),a=rl(r,i.to,1);(o!=i.from||a!=i.to)&&(i.undirectional?s=Z.undirectionalRange(i.from,i.to):s=Z.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[n]=s)}return t?Z.create(t,e.mainIndex):e}function Jf(r,e,t){let n=rl(r.state.facet(ul).map(i=>i(r)),t.from,e.head>t.from?-1:1);return n==t.from?t:Z.cursor(n,n<t.from?1:-1)}var On=class{constructor(e,t){this.pos=e,this.assoc=t}};function Pp(r,e,t,n){let i=r.contentDOM.getBoundingClientRect(),s=i.top+r.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new On(0,1);if(l>r.viewState.docHeight)return new On(r.state.doc.length,-1);if(c=r.elementAtHeight(l),n==null)break;if(c.type==Gt.Text){if(n<0?c.to<r.viewport.from:c.from>r.viewport.to)break;let u=r.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let h=r.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+h:c.top-h}if(r.viewport.from>=c.to||r.viewport.to<=c.from){if(t)return null;if(c.type==Gt.Text){let h=oC(r,i,c,o,a);return new On(h,h==c.from?1:-1)}}if(c.type!=Gt.Text)return l<(c.top+c.bottom)/2?new On(c.from,1):new On(c.to,-1);let d=r.docView.lineAt(c.from,2);return(!d||d.length!=c.length)&&(d=r.docView.lineAt(c.from,-2)),new kp(r,o,a,r.textDirectionAt(c.from)).scanTile(d,c.from)}var kp=class{constructor(e,t,n,i){this.view=e,this.x=t,this.y=n,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:n,spans:i}=this.bidiSpansAt(e);return i[gn.find(i,e-n.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:n,spans:i}=this.bidiSpansAt(e);return i[gn.find(i,e-n.from,-1,t)].dir}bidiIn(e,t){let{spans:n,line:i}=this.bidiSpansAt(e);return n.length>1||n.length&&(n[0].level!=this.baseDir||n[0].to+i.from<t)}scan(e,t,n=!1){let i=0,s=e.length-1,o=new Set,a=this.bidiIn(e[0],e[s]),l,c,d=-1,h=1e9,u;e:for(;i<s;){let m=s-i,g=i+s>>1;t:if(o.has(g)){for(let L=1;L<m;L++){let M=g+L;if(M>=s&&(M-=m),!o.has(M)){g=M;break t}}break e}o.add(g);let v=t(g),k=0;if(v)for(let L=0;L<v.length;L++){let M=v[L];if(!(M.width==0&&v.length>1))if(M.bottom<this.y)(!l||l.bottom<M.bottom)&&(l=M),k=1;else if(M.top>this.y)(!c||c.top>M.top)&&(c=M),k=-1;else{let D=M.left>this.x?this.x-M.left:M.right<this.x?this.x-M.right:0,w=Math.abs(D);w<h&&(d=g,h=w,u=M),D&&(k=D<0==(this.baseDir==et.LTR)?-1:1)}}k==-1&&(!a||this.baseDirAt(e[g],1))?s=g:k==1&&(!a||this.baseDirAt(e[g+1],-1))&&(i=g+1)}if(!u){if(!c&&!l)return{i:0,after:!1};let m=l&&(!c||this.y-l.bottom<c.top-this.y)?l:c;return this.y=(m.top+m.bottom)/2,this.scan(e,t,!0)}if(h&&!n){let{top:m,bottom:g}=u;if(l&&l.bottom>(m+m+g)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+g+g)/3)return this.y=c.top+1,this.scan(e,t,!0)}let f=(a?this.dirAt(e[d],1):this.baseDir)==et.LTR;return{i:d,after:this.x>(u.left+u.right)/2==f}}scanText(e,t){let n=[];for(let s=0;s<e.length;s=xt(e.text,s))n.push(t+s);n.push(t+e.length);let i=this.scan(n,s=>{let o=n[s]-t,a=n[s+1]-t;return cl(e.dom,o,a).getClientRects()});return i.after?new On(n[i.i+1],-1):new On(n[i.i],1)}scanTile(e,t){if(!e.length)return new On(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a<e.children.length;a++)n.push(l+=e.children[a].length);let i=this.scan(n,a=>{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:cl(l.dom,0,l.length)).getClientRects()}),s=e.children[i.i],o=n[i.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):i.after?new On(n[i.i+1],-1):new On(o,1)}},Ro="\uFFFF",$p=class{con
Line truncated
|
||||
`&&r.lineWrapping&&(n&&(n=Z.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:Le.of([" "])}),t)return am(r,t,n,o);if(n&&!fd(n,s)){let a=!1,l="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(a=!0),l=r.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=JS(i.facet(ul).map(c=>c(r)),n))),r.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function am(r,e,t,n=-1){if(ce.ios&&r.inputState.flushIOSKey(e))return!0;let i=r.state.selection.main;if(ce.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&r.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Xo(r.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&Xo(r.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Xo(r.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();r.inputState.composing>=0&&r.inputState.composing++;let o,a=()=>o||(o=uC(r,e,t));return r.state.facet(WS).some(l=>l(r,e.from,e.to,s,a))||r.dispatch(a()),!0}function uC(r,e,t){let n,i=r.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,d=rl(i.facet(ul).map(h=>h(r)),c,l);e.from==d&&(o=d)}if(o>-1)n={changes:e,selection:Z.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&r.inputState.composing<0){let l=s.from<e.from?i.sliceDoc(s.from,e.from):"",c=s.to>e.to?i.sliceDoc(e.to,s.to):"";n=i.replaceSelection(r.state.toText(l+e.insert.sliceString(0,void 0,r.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(r.inputState.composing>=0||r.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let d=r.state.sliceDoc(e.from,e.to),h,u=t&&KS(r,t.main.head);if(u){let m=e.insert.length-(e.to-e.from);h={from:u.from,to:u.to-m}}else h=r.state.doc.lineAt(s.head);let f=s.to-e.to;n=i.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let g=m.to-f,v=g-d.length;if(r.state.sliceDoc(v,g)!=d||g>=h.from&&v<=h.to)return{range:m};let k=i.changes({from:v,to:g,insert:e.insert}),L=m.to-s.to;return{changes:k,range:c?Z.range(Math.max(0,c.anchor+L),Math.max(0,c.head+L)):m.map(k)}})}else n={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,a+=".compose",r.inputState.compositionFirstChange&&(a+=".start",r.inputState.compositionFirstChange=!1)),i.update(n,{userEvent:a,scrollIntoView:!0})}function rv(r,e,t,n){let i=Math.min(r.length,e.length),s=0;for(;s<i&&r.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==i&&r.length==e.length)return null;let o=r.length,a=e.length;for(;o>0&&a>0&&r.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&r.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function fC(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:i,focusOffset:s}=r.observer.selectionRange;return t&&(e.push(new ud(t,n)),(i!=t||s!=n)&&e.push(new ud(i,s))),e}function pC(r,e){if(r.length==0)return null;let t=r[0].pos,n=r.length==2?r[1].pos:t;return t>-1&&n>-1?Z.single(t+e,n+e):null}function fd(r,e){return e.head==r.main.head&&e.anchor==r.main.anchor}var Tp=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ce.safari&&e.contentDOM.addEventListener("input",()=>null),ce.gecko&&_C(e.contentDOM.ownerDocument)}handleEvent(e){!xC(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let i of n.observers)i(this.view,t);for(let i of n.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandl
Line truncated
|
||||
`))};if((ce.mac||ce.android)&&h.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:l,insert:Le.of([n.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let u=this.to-this.from+(h.to-h.from+h.insert.length);am(e,h,Z.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let i=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,i.push(s)}t.updateCharacterBounds(n.rangeStart,i)},this.handlers.textformatupdate=n=>{let i=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let d=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;i.push(ee.mark({attributes:{style:d}}).range(l,c))}}}e.dispatch({effects:NS.of(ee.set(i))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let i=ll(n.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,i=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let d=c.length-(o-s);if(i&&o>=i.to)if(i.from==s&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=d,this.to+=d;return}else i=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=d,this.to+=d;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=d}t+=d}),i&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(n,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},N=class r{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM
Line truncated
|
||||
-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,Fp),rE={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},tp=null;function nE(){var r;if(tp==null&&typeof document!="undefined"&&document.body){let e=document.body.style;tp=((r=e.tabSize)!==null&&r!==void 0?r:e.MozTabSize)!=null}return tp||!1}var nd=le.define({combine(r){let e=Fr(r,{render:null,specialChars:tE,addSpecialChars:null});return(e.replaceTabs=!nE())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Fp)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Fp)),e}});function xv(r={}){return[nd.of(r),iE()]}var pS=null;function iE(){return pS||(pS=at.fromClass(class{constructor(r){this.view=r,this.decorations=ee.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(r.state.facet(nd)),this.decorations=this.decorator.createDeco(r)}makeDecorator(r){return new dl({regexp:r.specialChars,decoration:(e,t,n)=>{let{doc:i}=t.state,s=Mn(e[0],0);if(s==9){let o=i.lineAt(n),a=t.state.tabSize,l=qt(o.text,a,n-o.from);return ee.replace({widget:new jp((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ee.replace({widget:new Np(r,s)}))},boundary:r.replaceTabs?void 0:/[^]/})}update(r){let e=r.state.facet(nd);r.startState.facet(nd)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(r.view)):this.decorations=this.decorator.updateDeco(r,this.decorations)}},{decorations:r=>r.decorations}))}var sE="\u2022";function oE(r){return r>=32?sE:r==10?"\u2424":String.fromCharCode(9216+r)}var Np=class extends Tt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=oE(this.code),n=e.state.phrase("Control character")+" "+(rE[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,n,t);if(i)return i;let s=document.createElement("span");return s.textContent=t,s.title=n,s.setAttribute("aria-label",n),s.className="cm-specialChar",s}ignoreEvent(){return!1}},jp=class extends Tt{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Qd(){return lE}var aE=ee.line({class:"cm-activeLine"}),lE=at.fromClass(class{constructor(r){this.decorations=this.getDeco(r)}update(r){(r.docChanged||r.selectionSet)&&(this.decorations=this.getDeco(r.view))}getDeco(r){let e=-1,t=[];for(let n of r.state.selection.ranges){let i=r.lineBlockAt(n.head);i.from>e&&(t.push(aE.range(i.from)),e=i.from)}return ee.set(t)}},{decorations:r=>r.decorations});var Up=2e3;function cE(r,e,t){let n=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Up||t.off>Up||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=n;l<=i;l++){let c=r.doc.line(l);c.length<=a&&s.push(Z.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=n;l<=i;l++){let c=r.doc.line(l),d=Vc(c.text,o,r.tabSize,!0);if(d<0)s.push(Z.cursor(c.to));else{let h=Vc(c.text,a,r.tabSize);s.push(Z.range(c.from+d,c.from+h))}}}return s}function dE(r,e){let t=r.coordsAtPos(r.viewport.from);return t?Math.round(Math.abs((t.left-e)/r.defaultCharacterWidth)):-1}function mS(r,e){let t=r.posAtCoords({x:e.clientX,y:e.clientY},!1),n=r.state.doc.lineAt(t),i=t-n.from,s=i>Up?-1:i==n.length?dE(r,e.clientX):qt(n.text,r.state.tabSize,t-n.from);return{line:n.number,col:s,off:i}}function hE(r,e){let t=mS(r,e),n=r.state.selection;return t?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(t.line).from),o=i.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},n=n.map(i.changes)}},get(i,s,o){let a=mS(r,i);if(!a)return n;let l=cE(r.state,t,a);return l.length?o?Z.create(l.concat(n.ranges)):Z.create(l):n}}:null}function Td(r){let e=(r==null?void 0:r.eventFilter)||(t=>t.altKey&&t.button==0);return N.mouseSelectionStyle.of((t,n)=>e(n)?hE(t,n):null)}var uE={Alt:[18,r=>!!r.altKey],Control:[17,r=>!!r.ctrlKey],Shift:[16,r=>!!r.shiftKey],Meta:[91,r=>!!r.metaKey]},fE={style:"cursor: crosshair"};function _d(r={}){let[e,t]=uE[r.key||"Alt"],n=at.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}})
Line truncated
|
||||
`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var wi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Eo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},QA=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),TA=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Qt=0;Qt<10;Qt++)wi[48+Qt]=wi[96+Qt]=String(Qt);var Qt;for(Qt=1;Qt<=24;Qt++)wi[Qt+111]="F"+Qt;var Qt;for(Qt=65;Qt<=90;Qt++)wi[Qt]=String.fromCharCode(Qt+32),Eo[Qt]=String.fromCharCode(Qt);var Qt;for(Yc in wi)Eo.hasOwnProperty(Yc)||(Eo[Yc]=wi[Yc]);var Yc;function Dy(r){var e=QA&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||TA&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Eo:wi)[r.keyCode]||r.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function wt(){var r=arguments[0];typeof r=="string"&&(r=document.createElement(r));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var i=t[n];typeof i=="string"?r.setAttribute(n,i):i!=null&&(r[n]=i)}e++}for(;e<arguments.length;e++)Iy(r,arguments[e]);return r}function Iy(r,e){if(typeof e=="string")r.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)r.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)Iy(r,e[t]);else throw new RangeError("Unsupported child node: "+e)}var br=typeof navigator!="undefined"?navigator:{userAgent:"",vendor:"",platform:""},sp=typeof document!="undefined"?document:{documentElement:{style:{}}},op=/Edge\/(\d+)/.exec(br.userAgent),xS=/MSIE \d/.test(br.userAgent),ap=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(br.userAgent),wd=!!(xS||ap||op),Zy=!wd&&/gecko\/(\d+)/i.test(br.userAgent),Gf=!wd&&/Chrome\/(\d+)/.exec(br.userAgent),Xy="webkitFontSmoothing"in sp.documentElement.style,lp=!wd&&/Apple Computer/.test(br.vendor),zy=lp&&(/Mobile\/\w+/.test(br.userAgent)||br.maxTouchPoints>2),ce={mac:zy||/Mac/.test(br.platform),windows:/Win/.test(br.platform),linux:/Linux|X11/.test(br.platform),ie:wd,ie_version:xS?sp.documentMode||6:ap?+ap[1]:op?+op[1]:0,gecko:Zy,gecko_version:Zy?+(/Firefox\/(\d+)/.exec(br.userAgent)||[0,0])[1]:0,chrome:!!Gf,chrome_version:Gf?+Gf[1]:0,ios:zy,android:/Android\b/.test(br.userAgent),webkit:Xy,webkit_version:Xy?+(/\bAppleWebKit\/(\d+)/.exec(br.userAgent)||[0,0])[1]:0,safari:lp,safari_version:lp?+(/\bVersion\/(\d+(\.\d+)?)/.exec(br.userAgent)||[0,0])[1]:0,tabSize:sp.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Jp(r,e){for(let t in r)t=="class"&&e.class?e.class+=" "+r.class:t=="style"&&e.style?e.style+=";"+r.style:e[t]=r[t];return e}var sd=Object.create(null);function em(r,e,t){if(r==e)return!0;r||(r=sd),e||(e=sd);let n=Object.keys(r),i=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=i.length-(t&&i.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(i.indexOf(s)==-1||r[s]!==e[s]))return!1;return!0}function _A(r,e){for(let t=r.attributes.length-1;t>=0;t--){let n=r.attributes[t].name;e[n]==null&&r.removeAttribute(n)}for(let t in e){let n=e[t];t=="style"?r.style.cssText=n:r.getAttribute(t)!=n&&r.setAttribute(t,n)}}function Wy(r,e,t){let n=!1;if(e)for(let i in e)t&&i in t||(n=!0,i=="style"?r.style.cssText="":r.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(n=!0,i=="style"?r.style.cssText=t[i]:r.setAttribute(i,t[i]));return n}function AA(r){let e=Object.create(null);for(let t=0;t<r.attributes.length;t++){let n=r.attributes[t];e[n.name]=n.value}return e}var Tt=class{eq(e){return!1}updateDOM(e,t,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},Ht=(function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r})(Ht||(Ht={})),ee=class extends un{constructor(e,t,n,i){super(),this.startSide=e,this.enLine truncated
|
||||
`,i=r.state.doc.line(i.number+(t?1:-1)),s=r.bidiSpans(i),c=r.visualLineSide(i,!t)}if(l){if(!l(d))return a}else{if(!n)return c;l=n(d)}a=c}}function cC(r,e,t){let n=r.state.charCategorizer(e),i=n(t);return s=>{let o=n(s);return i==rt.Space&&(i=o),i==o}}function dC(r,e,t,n){let i=e.head,s=t?1:-1;if(i==(t?r.state.doc.length:0))return Z.cursor(i,e.assoc);let o=e.goalColumn,a,l=r.contentDOM.getBoundingClientRect(),c=r.coordsAtPos(i,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),d=r.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let m=r.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,r.defaultCharacterWidth*(i-m.from))),a=(s<0?m.top:m.bottom)+d}let h=l.left+o,u=r.viewState.heightOracle.textHeight>>1,f=n!=null?n:u;for(let m=0;;m+=u){let g=a+(f+m)*s,v=Pp(r,{x:h,y:g},!1,s);if(t?g>l.bottom:g<l.top)return Z.cursor(v.pos,v.assoc);let k=r.coordsAtPos(v.pos,v.assoc),L=k?(k.top+k.bottom)/2:0;if(!k||(t?L>a:L<a))return Z.cursor(v.pos,v.assoc,void 0,o)}}function rl(r,e,t){for(;;){let n=0;for(let i of r)i.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=n||t||(e-s<o-e?-1:1);e=l<0?s:o,n=l}});if(!n)return e}}function JS(r,e){let t=null;for(let n=0;n<e.ranges.length;n++){let i=e.ranges[n],s=null;if(i.empty){let o=rl(r,i.from,0);o!=i.from&&(s=Z.cursor(o,-1))}else{let o=rl(r,i.from,-1),a=rl(r,i.to,1);(o!=i.from||a!=i.to)&&(i.undirectional?s=Z.undirectionalRange(i.from,i.to):s=Z.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[n]=s)}return t?Z.create(t,e.mainIndex):e}function Jf(r,e,t){let n=rl(r.state.facet(ul).map(i=>i(r)),t.from,e.head>t.from?-1:1);return n==t.from?t:Z.cursor(n,n<t.from?1:-1)}var On=class{constructor(e,t){this.pos=e,this.assoc=t}};function Pp(r,e,t,n){let i=r.contentDOM.getBoundingClientRect(),s=i.top+r.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new On(0,1);if(l>r.viewState.docHeight)return new On(r.state.doc.length,-1);if(c=r.elementAtHeight(l),n==null)break;if(c.type==Ht.Text){if(n<0?c.to<r.viewport.from:c.from>r.viewport.to)break;let u=r.docView.coordsAt(n<0?c.from:c.to,n>0?-1:1);if(u&&(n<0?u.top<=l+s:u.bottom>=l+s))break}let h=r.viewState.heightOracle.textHeight/2;l=n>0?c.bottom+h:c.top-h}if(r.viewport.from>=c.to||r.viewport.to<=c.from){if(t)return null;if(c.type==Ht.Text){let h=aC(r,i,c,o,a);return new On(h,h==c.from?1:-1)}}if(c.type!=Ht.Text)return l<(c.top+c.bottom)/2?new On(c.from,1):new On(c.to,-1);let d=r.docView.lineAt(c.from,2);return(!d||d.length!=c.length)&&(d=r.docView.lineAt(c.from,-2)),new kp(r,o,a,r.textDirectionAt(c.from)).scanTile(d,c.from)}var kp=class{constructor(e,t,n,i){this.view=e,this.x=t,this.y=n,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:n,spans:i}=this.bidiSpansAt(e);return i[gn.find(i,e-n.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:n,spans:i}=this.bidiSpansAt(e);return i[gn.find(i,e-n.from,-1,t)].dir}bidiIn(e,t){let{spans:n,line:i}=this.bidiSpansAt(e);return n.length>1||n.length&&(n[0].level!=this.baseDir||n[0].to+i.from<t)}scan(e,t,n=!1){let i=0,s=e.length-1,o=new Set,a=this.bidiIn(e[0],e[s]),l,c,d=-1,h=1e9,u;e:for(;i<s;){let m=s-i,g=i+s>>1;t:if(o.has(g)){for(let L=1;L<m;L++){let M=g+L;if(M>=s&&(M-=m),!o.has(M)){g=M;break t}}break e}o.add(g);let v=t(g),k=0;if(v)for(let L=0;L<v.length;L++){let M=v[L];if(!(M.width==0&&v.length>1))if(M.bottom<this.y)(!l||l.bottom<M.bottom)&&(l=M),k=1;else if(M.top>this.y)(!c||c.top>M.top)&&(c=M),k=-1;else{let D=M.left>this.x?this.x-M.left:M.right<this.x?this.x-M.right:0,w=Math.abs(D);w<h&&(d=g,h=w,u=M),D&&(k=D<0==(this.baseDir==et.LTR)?-1:1)}}k==-1&&(!a||this.baseDirAt(e[g],1))?s=g:k==1&&(!a||this.baseDirAt(e[g+1],-1))&&(i=g+1)}if(!u){if(!c&&!l)return{i:0,after:!1};let m=l&&(!c||this.y-l.bottom<c.top-this.y)?l:c;return this.y=(m.top+m.bottom)/2,this.scan(e,t,!0)}if(h&&!n){let{top:m,bottom:g}=u;if(l&&l.bottom>(m+m+g)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+g+g)/3)return this.y=c.top+1,this.scan(e,t,!0)}let f=(a?this.dirAt(e[d],1):this.baseDir)==et.LTR;return{i:d,after:this.x>(u.left+u.right)/2==f}}scanText(e,t){let n=[];for(let s=0;s<e.length;s=xt(e.text,s))n.push(t+s);n.push(t+e.length);let i=this.scan(n,s=>{let o=n[s]-t,a=n[s+1]-t;return cl(e.dom,o,a).getClientRects()});return i.after?new On(n[i.i+1],-1):new On(n[i.i],1)}scanTile(e,t){if(!e.length)return new On(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let n=[t];for(let a=0,l=t;a<e.children.length;a++)n.push(l+=e.children[a].length);let i=this.scan(n,a=>{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:cl(l.dom,0,l.length)).getClientRects()}),s=e.children[i.i],o=n[i.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):i.after?new On(n[i.i+1],-1):new On(o,1)}},Ro="\uFFFF",$p=class{con
Line truncated
|
||||
`&&r.lineWrapping&&(n&&(n=Z.single(n.main.anchor-1,n.main.head-1)),t={from:s.from,to:s.to,insert:Le.of([" "])}),t)return am(r,t,n,o);if(n&&!fd(n,s)){let a=!1,l="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(a=!0),l=r.inputState.lastSelectionOrigin,l=="select.pointer"&&(n=JS(i.facet(ul).map(c=>c(r)),n))),r.dispatch({selection:n,scrollIntoView:a,userEvent:l}),!0}else return!1}function am(r,e,t,n=-1){if(ce.ios&&r.inputState.flushIOSKey(e))return!0;let i=r.state.selection.main;if(ce.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&r.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Xo(r.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&Xo(r.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Xo(r.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();r.inputState.composing>=0&&r.inputState.composing++;let o,a=()=>o||(o=fC(r,e,t));return r.state.facet(WS).some(l=>l(r,e.from,e.to,s,a))||r.dispatch(a()),!0}function fC(r,e,t){let n,i=r.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,d=rl(i.facet(ul).map(h=>h(r)),c,l);e.from==d&&(o=d)}if(o>-1)n={changes:e,selection:Z.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&r.inputState.composing<0){let l=s.from<e.from?i.sliceDoc(s.from,e.from):"",c=s.to>e.to?i.sliceDoc(e.to,s.to):"";n=i.replaceSelection(r.state.toText(l+e.insert.sliceString(0,void 0,r.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(r.inputState.composing>=0||r.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let d=r.state.sliceDoc(e.from,e.to),h,u=t&&KS(r,t.main.head);if(u){let m=e.insert.length-(e.to-e.from);h={from:u.from,to:u.to-m}}else h=r.state.doc.lineAt(s.head);let f=s.to-e.to;n=i.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let g=m.to-f,v=g-d.length;if(r.state.sliceDoc(v,g)!=d||g>=h.from&&v<=h.to)return{range:m};let k=i.changes({from:v,to:g,insert:e.insert}),L=m.to-s.to;return{changes:k,range:c?Z.range(Math.max(0,c.anchor+L),Math.max(0,c.head+L)):m.map(k)}})}else n={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,a+=".compose",r.inputState.compositionFirstChange&&(a+=".start",r.inputState.compositionFirstChange=!1)),i.update(n,{userEvent:a,scrollIntoView:!0})}function rv(r,e,t,n){let i=Math.min(r.length,e.length),s=0;for(;s<i&&r.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==i&&r.length==e.length)return null;let o=r.length,a=e.length;for(;o>0&&a>0&&r.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&r.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function pC(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:i,focusOffset:s}=r.observer.selectionRange;return t&&(e.push(new ud(t,n)),(i!=t||s!=n)&&e.push(new ud(i,s))),e}function mC(r,e){if(r.length==0)return null;let t=r[0].pos,n=r.length==2?r[1].pos:t;return t>-1&&n>-1?Z.single(t+e,n+e):null}function fd(r,e){return e.head==r.main.head&&e.anchor==r.main.anchor}var Tp=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ce.safari&&e.contentDOM.addEventListener("input",()=>null),ce.gecko&&AC(e.contentDOM.ownerDocument)}handleEvent(e){!wC(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let i of n.observers)i(this.view,t);for(let i of n.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandl
Line truncated
|
||||
`))};if((ce.mac||ce.android)&&h.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:l,insert:Le.of([n.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let u=this.to-this.from+(h.to-h.from+h.insert.length);am(e,h,Z.single(this.toEditorPos(n.selectionStart,u),this.toEditorPos(n.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let i=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,i.push(s)}t.updateCharacterBounds(n.rangeStart,i)},this.handlers.textformatupdate=n=>{let i=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let d=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;i.push(ee.mark({attributes:{style:d}}).range(l,c))}}}e.dispatch({effects:NS.of(ee.set(i))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{let i=ll(n.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,i=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let d=c.length-(o-s);if(i&&o>=i.to)if(i.from==s&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=d,this.to+=d;return}else i=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=d,this.to+=d;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=d}t+=d}),i&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(n,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},N=class r{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM
Line truncated
|
||||
-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,Fp),nE={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},tp=null;function iE(){var r;if(tp==null&&typeof document!="undefined"&&document.body){let e=document.body.style;tp=((r=e.tabSize)!==null&&r!==void 0?r:e.MozTabSize)!=null}return tp||!1}var nd=le.define({combine(r){let e=Nr(r,{render:null,specialChars:rE,addSpecialChars:null});return(e.replaceTabs=!iE())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Fp)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Fp)),e}});function xv(r={}){return[nd.of(r),sE()]}var pS=null;function sE(){return pS||(pS=at.fromClass(class{constructor(r){this.view=r,this.decorations=ee.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(r.state.facet(nd)),this.decorations=this.decorator.createDeco(r)}makeDecorator(r){return new dl({regexp:r.specialChars,decoration:(e,t,n)=>{let{doc:i}=t.state,s=Mn(e[0],0);if(s==9){let o=i.lineAt(n),a=t.state.tabSize,l=Gt(o.text,a,n-o.from);return ee.replace({widget:new jp((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ee.replace({widget:new Np(r,s)}))},boundary:r.replaceTabs?void 0:/[^]/})}update(r){let e=r.state.facet(nd);r.startState.facet(nd)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(r.view)):this.decorations=this.decorator.updateDeco(r,this.decorations)}},{decorations:r=>r.decorations}))}var oE="\u2022";function aE(r){return r>=32?oE:r==10?"\u2424":String.fromCharCode(9216+r)}var Np=class extends Tt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=aE(this.code),n=e.state.phrase("Control character")+" "+(nE[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,n,t);if(i)return i;let s=document.createElement("span");return s.textContent=t,s.title=n,s.setAttribute("aria-label",n),s.className="cm-specialChar",s}ignoreEvent(){return!1}},jp=class extends Tt{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Qd(){return cE}var lE=ee.line({class:"cm-activeLine"}),cE=at.fromClass(class{constructor(r){this.decorations=this.getDeco(r)}update(r){(r.docChanged||r.selectionSet)&&(this.decorations=this.getDeco(r.view))}getDeco(r){let e=-1,t=[];for(let n of r.state.selection.ranges){let i=r.lineBlockAt(n.head);i.from>e&&(t.push(lE.range(i.from)),e=i.from)}return ee.set(t)}},{decorations:r=>r.decorations});var Up=2e3;function dE(r,e,t){let n=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Up||t.off>Up||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=n;l<=i;l++){let c=r.doc.line(l);c.length<=a&&s.push(Z.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=n;l<=i;l++){let c=r.doc.line(l),d=Vc(c.text,o,r.tabSize,!0);if(d<0)s.push(Z.cursor(c.to));else{let h=Vc(c.text,a,r.tabSize);s.push(Z.range(c.from+d,c.from+h))}}}return s}function hE(r,e){let t=r.coordsAtPos(r.viewport.from);return t?Math.round(Math.abs((t.left-e)/r.defaultCharacterWidth)):-1}function mS(r,e){let t=r.posAtCoords({x:e.clientX,y:e.clientY},!1),n=r.state.doc.lineAt(t),i=t-n.from,s=i>Up?-1:i==n.length?hE(r,e.clientX):Gt(n.text,r.state.tabSize,t-n.from);return{line:n.number,col:s,off:i}}function uE(r,e){let t=mS(r,e),n=r.state.selection;return t?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(t.line).from),o=i.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},n=n.map(i.changes)}},get(i,s,o){let a=mS(r,i);if(!a)return n;let l=dE(r.state,t,a);return l.length?o?Z.create(l.concat(n.ranges)):Z.create(l):n}}:null}function Td(r){let e=(r==null?void 0:r.eventFilter)||(t=>t.altKey&&t.button==0);return N.mouseSelectionStyle.of((t,n)=>e(n)?uE(t,n):null)}var fE={Alt:[18,r=>!!r.altKey],Control:[17,r=>!!r.ctrlKey],Shift:[16,r=>!!r.shiftKey],Meta:[91,r=>!!r.metaKey]},pE={style:"cursor: crosshair"};function _d(r={}){let[e,t]=fE[r.key||"Alt"],n=at.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}})
Line truncated
|
||||
`&&(t="");else{let n=t.indexOf(`
|
||||
`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let i=this.rangeIndex;;){let s=this.ranges[i].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),i++,i==this.ranges.length))break;let o=this.ranges[i].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let i=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?i>s:i>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-i}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,n,i){let s=4;if(this.ranges.length>1){i=this.skipGapsTo(t,i,1),t+=i;let a=this.chunk.length;i=this.skipGapsTo(n,i,-1),n+=i,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),i}parseLine(e){let{line:t,end:n}=this.nextLine(),i=0,{streamParser:s}=this.lang,o=new Bd(t,e?e.state.tabSize:4,e?ni(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=bx(s.token,o,this.state);if(a&&(i=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,i)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Ee.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:vR,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Ee(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Ee(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function bx(r,e,t){e.start=e.pos;for(let n=0;n<10;n++){let i=r(e,t);if(e.pos>e.start)return i}throw new Error("Stream parser failed to advance stream.")}var Fm=Object.create(null),yl=[bt.none],vR=new Qi(yl),tx=[],rx=Object.create(null),yx=Object.create(null);for(let[r,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])yx[r]=Sx(Fm,e);var Vd=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),yx)}resolve(e){return e?this.table[e]||(this.table[e]=Sx(this.extra,e)):0}},xR=new Vd(Fm);function _m(r,e){tx.indexOf(r)>-1||(tx.push(r),console.warn(e))}function Sx(r,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let d=r[c]||O[c];d?typeof d=="function"?l.length?l=l.map(d):_m(c,`Modifier ${c} used at start of tag`):l.length?_m(c,`Tag ${c} used as modifier`):l=Array.isArray(d)?d:[d]:_m(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),i=n+" "+t.map(a=>a.id),s=rx[i];if(s)return s.id;let o=rx[i]=bt.define({id:yl.length,name:n,props:[Ht({[n]:t})]});return yl.push(o),o.id}function wR(r,e){let t=bt.define({id:yl.length,name:"Document",props:[Ai.add(()=>r),Cr.add(()=>n=>e.getIndent(n))],top:!0});return yl.push(t),t}var w8={rtl:ee.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:et.RTL}),ltr:ee.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:et.LTR}),auto:ee.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var jd=class{constructor(e,t,n,i){this.state=e,this.pos=t,this.explicit=n,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=ze(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),i=t.text.slice(n-t.from,this.pos-t.from),s=i.search(kR(e,!1));return s<0?null:{from:n+s,to:this.pos,text:i.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function vx(r){let e=Object.keys(r).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function PR(r){let e=Object.create(null),t=Object.create(null);for(let{label:i}of r){e[i[0]]=!0;for(let s=1;s<i.length;s++)t[i[s]]=!0}let n=vx(e)+vx(t)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function kx(r){let e=r.map(i=>typeof i=="string"?{label:i}:i),[t,n]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:PR(e);return i=>{let s=i.matchBefore(n);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}function $x(r,e){return t=>{for(let n=ze(t.state).reso
Line truncated
|
||||
`;let o=r.state.facet(ri),a=o instanceof Kt?"Lezer LRLanguage":o instanceof Dt?"StreamLanguage":"Unknown",l=o instanceof Kt?"AST ":o instanceof Dt?"Token ":"Name ";return{pos:e,above:!0,arrow:!0,create(c){let d=document.createElement("div");d.style.overflow="visible",d.style.height="0",d.style.width="0";let h=document.createElement("div");return h.className="cm-debug-tooltip",h.textContent=`Parser: ${a}
|
||||
`);n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let i=this.rangeIndex;;){let s=this.ranges[i].to;if(s>=n||(t=t.slice(0,s-(n-t.length)),i++,i==this.ranges.length))break;let o=this.ranges[i].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let i=this.ranges[this.rangeIndex].to,s=e+t;if(n>0?i>s:i>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-i}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,n,i){let s=4;if(this.ranges.length>1){i=this.skipGapsTo(t,i,1),t+=i;let a=this.chunk.length;i=this.skipGapsTo(n,i,-1),n+=i,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=n:this.chunk.push(e,t,n,s),i}parseLine(e){let{line:t,end:n}=this.nextLine(),i=0,{streamParser:s}=this.lang,o=new Bd(t,e?e.state.tabSize:4,e?ni(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=bx(s.token,o,this.state);if(a&&(i=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,i)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Ee.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:xR,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Ee(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Ee(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function bx(r,e,t){e.start=e.pos;for(let n=0;n<10;n++){let i=r(e,t);if(e.pos>e.start)return i}throw new Error("Stream parser failed to advance stream.")}var Fm=Object.create(null),yl=[bt.none],xR=new Qi(yl),tx=[],rx=Object.create(null),yx=Object.create(null);for(let[r,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])yx[r]=Sx(Fm,e);var Vd=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),yx)}resolve(e){return e?this.table[e]||(this.table[e]=Sx(this.extra,e)):0}},wR=new Vd(Fm);function _m(r,e){tx.indexOf(r)>-1||(tx.push(r),console.warn(e))}function Sx(r,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let d=r[c]||O[c];d?typeof d=="function"?l.length?l=l.map(d):_m(c,`Modifier ${c} used at start of tag`):l.length?_m(c,`Tag ${c} used as modifier`):l=Array.isArray(d)?d:[d]:_m(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),i=n+" "+t.map(a=>a.id),s=rx[i];if(s)return s.id;let o=rx[i]=bt.define({id:yl.length,name:n,props:[Kt({[n]:t})]});return yl.push(o),o.id}function PR(r,e){let t=bt.define({id:yl.length,name:"Document",props:[Ai.add(()=>r),Cr.add(()=>n=>e.getIndent(n))],top:!0});return yl.push(t),t}var P8={rtl:ee.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:et.RTL}),ltr:ee.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:et.LTR}),auto:ee.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var jd=class{constructor(e,t,n,i){this.state=e,this.pos=t,this.explicit=n,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=ze(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),i=t.text.slice(n-t.from,this.pos-t.from),s=i.search($R(e,!1));return s<0?null:{from:n+s,to:this.pos,text:i.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function vx(r){let e=Object.keys(r).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function kR(r){let e=Object.create(null),t=Object.create(null);for(let{label:i}of r){e[i[0]]=!0;for(let s=1;s<i.length;s++)t[i[s]]=!0}let n=vx(e)+vx(t)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function kx(r){let e=r.map(i=>typeof i=="string"?{label:i}:i),[t,n]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:kR(e);return i=>{let s=i.matchBefore(n);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}function $x(r,e){return t=>{for(let n=ze(t.state).reso
Line truncated
|
||||
`;let o=r.state.facet(ri),a=o instanceof Jt?"Lezer LRLanguage":o instanceof Dt?"StreamLanguage":"Unknown",l=o instanceof Jt?"AST ":o instanceof Dt?"Token ":"Name ";return{pos:e,above:!0,arrow:!0,create(c){let d=document.createElement("div");d.style.overflow="visible",d.style.height="0",d.style.width="0";let h=document.createElement("div");return h.className="cm-debug-tooltip",h.textContent=`Parser: ${a}
|
||||
${l}: ${n.name}
|
||||
Tags : ${s}`,h.style.whiteSpace="pre-wrap",h.style.fontFamily="monospace",h.style.background="#333",h.style.color="white",h.style.padding="2px 8px",h.style.borderRadius="4px",h.style.fontSize="12px",h.style.border="1px solid #555",h.style.pointerEvents="none",h.style.position="absolute",h.style.bottom="0",h.style.width="max-content",d.appendChild(h),{dom:d}}}},{hoverTime:10,hideOnChange:!0});var NR=r=>{let{state:e}=r,t=e.doc.lineAt(e.selection.main.from),n=nO(r.state,t.from);return n.line?jR(r):n.block?qR(r):!1};function rO(r,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=r(e,t);return i?(n(t.update(i)),!0):!1}}var jR=rO(KR,0);var UR=rO(Vx,0);var qR=rO((r,e)=>Vx(r,e,HR(e)),0);function nO(r,e){let t=r.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var wl=50;function GR(r,{open:e,close:t},n,i){let s=r.sliceDoc(n-wl,n),o=r.sliceDoc(i,i+wl),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let d,h;i-n<=2*wl?d=h=r.sliceDoc(n,i):(d=r.sliceDoc(n,n+wl),h=r.sliceDoc(i-wl,i));let u=/^\s*/.exec(d)[0].length,f=/\s*$/.exec(h)[0].length,m=h.length-f-t.length;return d.slice(u,u+e.length)==e&&h.slice(m,m+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(d.charAt(u+e.length))?1:0},close:{pos:i-f-t.length,margin:/\s/.test(h.charAt(m-1))?1:0}}:null}function HR(r){let e=[];for(let t of r.selection.ranges){let n=r.doc.lineAt(t.from),i=t.to<=n.to?n:r.doc.lineAt(t.to);i.from>n.from&&i.from==t.to&&(i=t.to==n.to+1?n:r.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=i.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:i.to})}return e}function Vx(r,e,t=e.selection.ranges){let n=t.map(s=>nO(e,s.from).block);if(!n.every(s=>s))return null;let i=t.map((s,o)=>GR(e,n[o],s.from,s.to));if(r!=2&&!i.every(s=>s))return{changes:e.changes(t.map((s,o)=>i[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(r!=1&&i.some(s=>s)){let s=[];for(let o=0,a;o<i.length;o++)if(a=i[o]){let l=n[o],{open:c,close:d}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:s}}return null}function KR(r,e,t=e.selection.ranges){let n=[],i=-1;e:for(let{from:s,to:o}of t){let a=n.length,l=1e9,c;for(let d=s;d<=o;){let h=e.doc.lineAt(d);if(c==null&&(c=nO(e,h.from).line,!c))continue e;if(h.from>i&&(s==o||o>h.from)){i=h.from;let u=/^\s*/.exec(h.text)[0].length,f=u==h.length,m=h.text.slice(u,u+c.length)==c?u:-1;u<h.text.length&&u<l&&(l=u),n.push({line:h,comment:m,token:c,indent:u,empty:f,single:!1})}d=h.to+1}if(l<1e9)for(let d=a;d<n.length;d++)n[d].indent<n[d].line.text.length&&(n[d].indent=l);n.length==a+1&&(n[a].single=!0)}if(r!=2&&n.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:d,single:h}of n)(h||!d)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(r!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,d=c+l.length;o.text[d-o.from]==" "&&d++,s.push({from:c,to:d})}return{changes:s}}return null}var Jm=Qr.define(),Hd=Qr.define(),JR=le.define(),Yx=le.define({combine(r){return Fr(r,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,i)=>e(n,i)||t(n,i)})}}),Fx=Ze.define({create(){return Ks.empty},update(r,e){let t=e.state.facet(Yx),n=e.annotation(Jm);if(n){let l=Xn.fromTransaction(e,n.selection),c=n.side,d=c==0?r.undone:r.done;return l?d=Gd(d,d.length,t.minDepth,l):d=Ux(d,e.startState.selection),new Ks(c==0?n.rest:d,c==0?d:n.rest)}let i=e.annotation(Hd);if((i=="full"||i=="before")&&(r=r.isolate()),e.annotation(dt.addToHistory)===!1)return e.changes.empty?r:r.addMapping(e.changes.desc);let s=Xn.fromTransaction(e),o=e.annotation(dt.time),a=e.annotation(dt.userEvent);return s?r=r.addChanges(s,o,a,t,e):e.selection&&(r=r.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(r=r.isolate()),r},toJSON(r){return{done:r.done.map(e=>e.toJSON()),undone:r.undone.map(e=>e.toJSON())}},fromJSON(r){return new Ks(r.done.map(Xn.fromJSON),r.undone.map(Xn.fromJSON))}});function Nx(r={}){return[Fx,Yx.of(r),N.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?Pl:e.inputType=="historyRedo"?Ko:null;return n?(e.preventDefault(),n(t)):!1}})]}function Kd(r,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let i=t.field(Fx,!1);if(!i)return!1;let s=i.pop(r,t,e);return s?(n(s),!0):!1}}var Pl=Kd(0,!1),Ko=Kd(1,!1),e2=Kd(0,!0),t2=Kd(1,!0);var Xn=class r{constructor(e,t,n,i,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new r(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this
Line truncated
|
||||
`,2e3)){if(!a.trim())continue;if(a[0]==" "){t++;continue}let l=a.length-a.trimStart().length;l>0&&n++;let c=l-i;c>=2&&c<=8&&e.set(c,(e.get(c)||0)+1),i=l}if(t>n)return" ";let s=2,o=0;for(let[a,l]of e)(l>o||l==o&&a<s)&&(s=a,o=l);return" ".repeat(s)}function eM(r){let e=r.state;return e.selection.ranges.some(t=>!t.empty)?rh(r):(r.dispatch(e.changeByRange(t=>{let n=J2(e,t.head);return{changes:{from:t.head,insert:n},range:Z.cursor(t.head+n.length)}}),{scrollIntoView:!0,userEvent:"input"}),!0)}function tM(r){for(let e=1;e<=r.doc.lines;e++)if(/^\d\d/.test(r.doc.line(e).text))return!0;return!1}var kw=[{key:"Enter",run:r=>tM(r.state)&&Sw(r)}],$w=[{key:"Tab",run:eM},{key:"Shift-Tab",run:nh}],Qw=[{key:"Tab",run:xw},{key:"Shift-Tab",run:nh}],$l=50,ih=8,rM=!0;function ea(r){rM&&console.log("[asm-tab] "+r)}function ta(r,e){let t=0;for(let n=0;n<e;n++)t=r.charCodeAt(n)==9?(Math.floor(t/ih)+1)*ih:t+1;return t}function oO(r,e){r>0&&e.set(r,(e.get(r)||0)+1)}function nM(r,e){let t=[],n=/\S+/g,i;for(;(i=n.exec(r))!==null&&r[i.index]!=";";)t.push(ta(r,i.index));let s=/(^|\s);/.exec(r);s&&oO(ta(r,s.index+s[1].length),e);let o=t.length&&t[0]==0?t.slice(1):t;o.length>=1&&oO(o[0],e),o.length>=2&&oO(o[1],e)}var iM=3;function Tw(r,e){let t=r.doc.lineAt(e),n=r.doc.lines,i=(a,l,c,d)=>{let h=0;for(let u=a;u!=l&&h<$l;u+=c){let f=r.doc.line(u);f.text.trim()&&(nM(f.text,d),h++)}return h},s=new Map;return i(t.number+1,Math.min(n,t.number+$l)+1,1,s)<iM&&i(t.number-1,Math.max(1,t.number-$l)-1,-1,s),s}function sM(r,e,t){let n=-1,i=0;for(let[s,o]of r)s>e&&(o>i||o==i&&s<n)&&(n=s,i=o);return n>=0?n:(Math.floor(e/t)+1)*t}function oM(r,e,t){let n=-1,i=0;for(let[s,o]of r)s<e&&(o>i||o==i&&s>n)&&(n=s,i=o);return n>=0?n:Math.max(0,Math.min(Math.floor((e-1)/t)*t,e-1))}function _w(r,e){let t=r.doc.lineAt(e),n=Math.max(1,t.number-$l),i=Math.min(r.doc.lines,t.number+$l);for(let s=n;s<=i;s++)if(r.doc.line(s).text.includes(" "))return!0;return!1}function Aw(r){return"["+[...r.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>`${e}:${t}`).join(" ")+"]"}function aM(r,e){let t=r.doc.lineAt(e),n=ta(t.text,e-t.from),i=_w(r,e),s=i?ih:r.tabSize,o=Tw(r,e),a=sM(o,n,s);return ea(`Tab @ line ${t.number} col ${n}: stops(col:freq)=${Aw(o)} ${i?"grid=8 (file has tabs)":`grid=${r.tabSize}`} -> target=${a} | line=${JSON.stringify(t.text.slice(0,n))}+CURSOR`),a<=n?null:{from:e,insert:" ".repeat(a-n)}}function lM(r,e){let t=r.doc.lineAt(e),n=e-t.from;if(n==0)return ea(`Backspace @ line ${t.number} col 0: start of line, using default`),null;if(t.text[n-1]==" ")return ea(`Backspace @ line ${t.number} col ${ta(t.text,n)}: deleting one tab char`),{from:e-1,to:e};if(!/^[ \t]+$/.test(t.text.slice(0,n)))return ea(`Backspace @ line ${t.number} col ${ta(t.text,n)}: cursor not in leading whitespace, using default`),null;let i=_w(r,e),s=i?ih:r.tabSize,o=ta(t.text,n),a=Tw(r,e),l=oM(a,o,s);if(l>=o)return ea(`Backspace @ line ${t.number} col ${o}: no stop before cursor, using default`),null;let c=e-(o-l);return ea(`Backspace @ line ${t.number} col ${o}: stops(col:freq)=${Aw(a)} ${i?"grid=8 (file has tabs)":`grid=${r.tabSize}`} -> deleting cols ${l}..${o} | line=${JSON.stringify(t.text.slice(0,n))}+CURSOR`),{from:c,to:e}}function cM(r){let e=r.state;if(e.selection.ranges.some(n=>!n.empty))return!1;let t=e.changeByRange(n=>{let i=aM(e,n.head);return i?{changes:i,range:Z.cursor(n.head+i.insert.length)}:{range:n}});return r.dispatch(t),!0}function dM(r){let e=r.state,t=e.selection.main;if(!t.empty)return!1;let n=lM(e,t.head);return n?(r.dispatch(e.update({changes:n,selection:Z.cursor(n.from)})),!0):!1}function Cw(r){return[{key:"Tab",run:e=>r()&&cM(e)},{key:"Backspace",run:e=>r()&&dM(e)}]}var hM=new Bt,uM=new Bt,fM=new Bt,pM=new Bt,mM=new Bt,OM=new Bt,gM=new Bt,bM=new Bt,Rw="8bitworkshop/editorSettings",Ew={tabSize:8,tabsToSpaces:!0,highlightSpecialChars:!1,highlightWhitespace:!1,highlightTrailingWhitespace:!1,closeBrackets:!1,debugHighlightTags:!1,showLineNumbers:!1,showStatusBar:!0};function ra(){try{var r=localStorage.getItem(Rw);if(r)return gt(gt({},Ew),JSON.parse(r))}catch(e){}return gt({},Ew)}function yM(r){localStorage.setItem(Rw,JSON.stringify(r))}var Mw=[[pM,r=>[Me.tabSize.of(r.tabSize),bn.of(" ".repeat(r.tabSize))]],[OM,r=>Sr.of(r.tabsToSpaces?$w:Qw)],[hM,r=>r.highlightSpecialChars?xv():[]],[uM,r=>r.highlightWhitespace?Ev():[]],[fM,r=>r.highlightTrailingWhitespace?Rv():[]],[mM,r=>r.closeBrackets?[_x(),Sr.of([{key:"Backspace",run:Ex}])]:[]],[gM,r=>r.debugHighlightTags?Mx:[]],[bM,r=>r.showLineNumbers?Ad():[]]];function Lw(r){return Mw.map(([e,t])=>e.of(t(r)))}var Dw=new Set;function Iw(r){Dw.add(r)}function SM(r){var e=Mw.map(([n,i])=>n.reconfigure(i(r)));for(var t of Dw)t.dispatch({effects:e})}function Zw(){var r=ra(),e=!wo();bootbox.dialog({onEscape:!0,title:"Settings",message:`<form id="settingsForm" onsubmit="return false">
|
||||
Tags : ${s}`,h.style.whiteSpace="pre-wrap",h.style.fontFamily="monospace",h.style.background="#333",h.style.color="white",h.style.padding="2px 8px",h.style.borderRadius="4px",h.style.fontSize="12px",h.style.border="1px solid #555",h.style.pointerEvents="none",h.style.position="absolute",h.style.bottom="0",h.style.width="max-content",d.appendChild(h),{dom:d}}}},{hoverTime:10,hideOnChange:!0});var jR=r=>{let{state:e}=r,t=e.doc.lineAt(e.selection.main.from),n=nO(r.state,t.from);return n.line?UR(r):n.block?GR(r):!1};function rO(r,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=r(e,t);return i?(n(t.update(i)),!0):!1}}var UR=rO(JR,0);var qR=rO(Vx,0);var GR=rO((r,e)=>Vx(r,e,KR(e)),0);function nO(r,e){let t=r.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var wl=50;function HR(r,{open:e,close:t},n,i){let s=r.sliceDoc(n-wl,n),o=r.sliceDoc(i,i+wl),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let d,h;i-n<=2*wl?d=h=r.sliceDoc(n,i):(d=r.sliceDoc(n,n+wl),h=r.sliceDoc(i-wl,i));let u=/^\s*/.exec(d)[0].length,f=/\s*$/.exec(h)[0].length,m=h.length-f-t.length;return d.slice(u,u+e.length)==e&&h.slice(m,m+t.length)==t?{open:{pos:n+u+e.length,margin:/\s/.test(d.charAt(u+e.length))?1:0},close:{pos:i-f-t.length,margin:/\s/.test(h.charAt(m-1))?1:0}}:null}function KR(r){let e=[];for(let t of r.selection.ranges){let n=r.doc.lineAt(t.from),i=t.to<=n.to?n:r.doc.lineAt(t.to);i.from>n.from&&i.from==t.to&&(i=t.to==n.to+1?n:r.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=i.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:i.to})}return e}function Vx(r,e,t=e.selection.ranges){let n=t.map(s=>nO(e,s.from).block);if(!n.every(s=>s))return null;let i=t.map((s,o)=>HR(e,n[o],s.from,s.to));if(r!=2&&!i.every(s=>s))return{changes:e.changes(t.map((s,o)=>i[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(r!=1&&i.some(s=>s)){let s=[];for(let o=0,a;o<i.length;o++)if(a=i[o]){let l=n[o],{open:c,close:d}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:s}}return null}function JR(r,e,t=e.selection.ranges){let n=[],i=-1;e:for(let{from:s,to:o}of t){let a=n.length,l=1e9,c;for(let d=s;d<=o;){let h=e.doc.lineAt(d);if(c==null&&(c=nO(e,h.from).line,!c))continue e;if(h.from>i&&(s==o||o>h.from)){i=h.from;let u=/^\s*/.exec(h.text)[0].length,f=u==h.length,m=h.text.slice(u,u+c.length)==c?u:-1;u<h.text.length&&u<l&&(l=u),n.push({line:h,comment:m,token:c,indent:u,empty:f,single:!1})}d=h.to+1}if(l<1e9)for(let d=a;d<n.length;d++)n[d].indent<n[d].line.text.length&&(n[d].indent=l);n.length==a+1&&(n[a].single=!0)}if(r!=2&&n.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:d,single:h}of n)(h||!d)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(r!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,d=c+l.length;o.text[d-o.from]==" "&&d++,s.push({from:c,to:d})}return{changes:s}}return null}var Jm=Qr.define(),Hd=Qr.define(),e2=le.define(),Yx=le.define({combine(r){return Nr(r,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,i)=>e(n,i)||t(n,i)})}}),Fx=Ze.define({create(){return Ks.empty},update(r,e){let t=e.state.facet(Yx),n=e.annotation(Jm);if(n){let l=Xn.fromTransaction(e,n.selection),c=n.side,d=c==0?r.undone:r.done;return l?d=Gd(d,d.length,t.minDepth,l):d=Ux(d,e.startState.selection),new Ks(c==0?n.rest:d,c==0?d:n.rest)}let i=e.annotation(Hd);if((i=="full"||i=="before")&&(r=r.isolate()),e.annotation(dt.addToHistory)===!1)return e.changes.empty?r:r.addMapping(e.changes.desc);let s=Xn.fromTransaction(e),o=e.annotation(dt.time),a=e.annotation(dt.userEvent);return s?r=r.addChanges(s,o,a,t,e):e.selection&&(r=r.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(r=r.isolate()),r},toJSON(r){return{done:r.done.map(e=>e.toJSON()),undone:r.undone.map(e=>e.toJSON())}},fromJSON(r){return new Ks(r.done.map(Xn.fromJSON),r.undone.map(Xn.fromJSON))}});function Nx(r={}){return[Fx,Yx.of(r),N.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?Pl:e.inputType=="historyRedo"?Ko:null;return n?(e.preventDefault(),n(t)):!1}})]}function Kd(r,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let i=t.field(Fx,!1);if(!i)return!1;let s=i.pop(r,t,e);return s?(n(s),!0):!1}}var Pl=Kd(0,!1),Ko=Kd(1,!1),t2=Kd(0,!0),r2=Kd(1,!0);var Xn=class r{constructor(e,t,n,i,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new r(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this
Line truncated
|
||||
`,2e3)){if(!a.trim())continue;if(a[0]==" "){t++;continue}let l=a.length-a.trimStart().length;l>0&&n++;let c=l-i;c>=2&&c<=8&&e.set(c,(e.get(c)||0)+1),i=l}if(t>n)return" ";let s=2,o=0;for(let[a,l]of e)(l>o||l==o&&a<s)&&(s=a,o=l);return" ".repeat(s)}function tM(r){let e=r.state;return e.selection.ranges.some(t=>!t.empty)?rh(r):(r.dispatch(e.changeByRange(t=>{let n=eM(e,t.head);return{changes:{from:t.head,insert:n},range:Z.cursor(t.head+n.length)}}),{scrollIntoView:!0,userEvent:"input"}),!0)}function rM(r){for(let e=1;e<=r.doc.lines;e++)if(/^\d\d/.test(r.doc.line(e).text))return!0;return!1}var kw=[{key:"Enter",run:r=>rM(r.state)&&Sw(r)}],$w=[{key:"Tab",run:tM},{key:"Shift-Tab",run:nh}],Qw=[{key:"Tab",run:xw},{key:"Shift-Tab",run:nh}],$l=50,ih=8,nM=!0;function ea(r){nM&&console.log("[asm-tab] "+r)}function ta(r,e){let t=0;for(let n=0;n<e;n++)t=r.charCodeAt(n)==9?(Math.floor(t/ih)+1)*ih:t+1;return t}function oO(r,e){r>0&&e.set(r,(e.get(r)||0)+1)}function iM(r,e){let t=[],n=/\S+/g,i;for(;(i=n.exec(r))!==null&&r[i.index]!=";";)t.push(ta(r,i.index));let s=/(^|\s);/.exec(r);s&&oO(ta(r,s.index+s[1].length),e);let o=t.length&&t[0]==0?t.slice(1):t;o.length>=1&&oO(o[0],e),o.length>=2&&oO(o[1],e)}var sM=3;function Tw(r,e){let t=r.doc.lineAt(e),n=r.doc.lines,i=(a,l,c,d)=>{let h=0;for(let u=a;u!=l&&h<$l;u+=c){let f=r.doc.line(u);f.text.trim()&&(iM(f.text,d),h++)}return h},s=new Map;return i(t.number+1,Math.min(n,t.number+$l)+1,1,s)<sM&&i(t.number-1,Math.max(1,t.number-$l)-1,-1,s),s}function oM(r,e,t){let n=-1,i=0;for(let[s,o]of r)s>e&&(o>i||o==i&&s<n)&&(n=s,i=o);return n>=0?n:(Math.floor(e/t)+1)*t}function aM(r,e,t){let n=-1,i=0;for(let[s,o]of r)s<e&&(o>i||o==i&&s>n)&&(n=s,i=o);return n>=0?n:Math.max(0,Math.min(Math.floor((e-1)/t)*t,e-1))}function _w(r,e){let t=r.doc.lineAt(e),n=Math.max(1,t.number-$l),i=Math.min(r.doc.lines,t.number+$l);for(let s=n;s<=i;s++)if(r.doc.line(s).text.includes(" "))return!0;return!1}function Aw(r){return"["+[...r.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>`${e}:${t}`).join(" ")+"]"}function lM(r,e){let t=r.doc.lineAt(e),n=ta(t.text,e-t.from),i=_w(r,e),s=i?ih:r.tabSize,o=Tw(r,e),a=oM(o,n,s);return ea(`Tab @ line ${t.number} col ${n}: stops(col:freq)=${Aw(o)} ${i?"grid=8 (file has tabs)":`grid=${r.tabSize}`} -> target=${a} | line=${JSON.stringify(t.text.slice(0,n))}+CURSOR`),a<=n?null:{from:e,insert:" ".repeat(a-n)}}function cM(r,e){let t=r.doc.lineAt(e),n=e-t.from;if(n==0)return ea(`Backspace @ line ${t.number} col 0: start of line, using default`),null;if(t.text[n-1]==" ")return ea(`Backspace @ line ${t.number} col ${ta(t.text,n)}: deleting one tab char`),{from:e-1,to:e};if(!/^[ \t]+$/.test(t.text.slice(0,n)))return ea(`Backspace @ line ${t.number} col ${ta(t.text,n)}: cursor not in leading whitespace, using default`),null;let i=_w(r,e),s=i?ih:r.tabSize,o=ta(t.text,n),a=Tw(r,e),l=aM(a,o,s);if(l>=o)return ea(`Backspace @ line ${t.number} col ${o}: no stop before cursor, using default`),null;let c=e-(o-l);return ea(`Backspace @ line ${t.number} col ${o}: stops(col:freq)=${Aw(a)} ${i?"grid=8 (file has tabs)":`grid=${r.tabSize}`} -> deleting cols ${l}..${o} | line=${JSON.stringify(t.text.slice(0,n))}+CURSOR`),{from:c,to:e}}function dM(r){let e=r.state;if(e.selection.ranges.some(n=>!n.empty))return!1;let t=e.changeByRange(n=>{let i=lM(e,n.head);return i?{changes:i,range:Z.cursor(n.head+i.insert.length)}:{range:n}});return r.dispatch(t),!0}function hM(r){let e=r.state,t=e.selection.main;if(!t.empty)return!1;let n=cM(e,t.head);return n?(r.dispatch(e.update({changes:n,selection:Z.cursor(n.from)})),!0):!1}function Cw(r){return[{key:"Tab",run:e=>r()&&dM(e)},{key:"Backspace",run:e=>r()&&hM(e)}]}var uM=new Bt,fM=new Bt,pM=new Bt,mM=new Bt,OM=new Bt,gM=new Bt,bM=new Bt,yM=new Bt,Rw="8bitworkshop/editorSettings",Ew={tabSize:8,tabsToSpaces:!0,highlightSpecialChars:!1,highlightWhitespace:!1,highlightTrailingWhitespace:!1,closeBrackets:!1,debugHighlightTags:!1,showLineNumbers:!1,showStatusBar:!0};function ra(){try{var r=localStorage.getItem(Rw);if(r)return gt(gt({},Ew),JSON.parse(r))}catch(e){}return gt({},Ew)}function SM(r){localStorage.setItem(Rw,JSON.stringify(r))}var Mw=[[mM,r=>[Me.tabSize.of(r.tabSize),bn.of(" ".repeat(r.tabSize))]],[gM,r=>Sr.of(r.tabsToSpaces?$w:Qw)],[uM,r=>r.highlightSpecialChars?xv():[]],[fM,r=>r.highlightWhitespace?Ev():[]],[pM,r=>r.highlightTrailingWhitespace?Rv():[]],[OM,r=>r.closeBrackets?[_x(),Sr.of([{key:"Backspace",run:Ex}])]:[]],[bM,r=>r.debugHighlightTags?Mx:[]],[yM,r=>r.showLineNumbers?Ad():[]]];function Lw(r){return Mw.map(([e,t])=>e.of(t(r)))}var Dw=new Set;function Iw(r){Dw.add(r)}function vM(r){var e=Mw.map(([n,i])=>n.reconfigure(i(r)));for(var t of Dw)t.dispatch({effects:e})}function Zw(){var r=ra(),e=!wo();bootbox.dialog({onEscape:!0,title:"Settings",message:`<form id="settingsForm" onsubmit="return false">
|
||||
<div class="form-group"><label>Tab size: <input type="number" id="setting_tabSize" min="1" max="40" value="${r.tabSize}" style="width:4em"></label></div>
|
||||
<div class="checkbox"><label><input type="checkbox" id="setting_tabsToSpaces" ${r.tabsToSpaces?"checked":""}> Insert spaces when pressing TAB</label></div>
|
||||
<div class="checkbox"><label><input type="checkbox" id="setting_highlightSpecialChars" ${r.highlightSpecialChars?"checked":""}> Highlight special characters</label></div>
|
||||
@@ -38,23 +38,23 @@ Tags : ${s}`,h.style.whiteSpace="pre-wrap",h.style.fontFamily="monospace",h.sty
|
||||
<h5>Internal</h5>
|
||||
<div class="checkbox"><label><input type="checkbox" id="setting_debugHighlightTags" ${r.debugHighlightTags?"checked":""}> Debug editor syntax highlighting tags</label></div>
|
||||
`:""}
|
||||
</form>`,buttons:{cancel:{label:"Cancel",className:"btn-default"},ok:{label:"Save",className:"btn-primary",callback:()=>{r.tabSize=parseInt($("#setting_tabSize").val())||8,r.tabsToSpaces=$("#setting_tabsToSpaces").is(":checked"),r.highlightSpecialChars=$("#setting_highlightSpecialChars").is(":checked"),r.highlightWhitespace=$("#setting_highlightWhitespace").is(":checked"),r.highlightTrailingWhitespace=$("#setting_highlightTrailingWhitespace").is(":checked"),r.closeBrackets=$("#setting_closeBrackets").is(":checked"),r.showLineNumbers=$("#setting_showLineNumbers").is(":checked"),e&&(r.debugHighlightTags=$("#setting_debugHighlightTags").is(":checked")),r.showStatusBar=$("#setting_showStatusBar").is(":checked"),yM(r),SM(r),kc(r.showStatusBar)}}}})}function sh(){return typeof navigator!="undefined"?navigator.storage:null}function vM(r){var e=r!==void 0?r:sh();return!!(e&&typeof e.persist=="function")}async function xM(r){var e=r!==void 0?r:sh();try{if(e&&typeof e.estimate=="function"){var t=await e.estimate();return{usage:t&&t.usage,quota:t&&t.quota}}}catch(n){console.log("storage.estimate() failed",n)}return{}}async function wM(r){var e=r!==void 0?r:sh(),t={supported:vM(e),persisted:!1};try{e&&typeof e.persisted=="function"&&(t.persisted=await e.persisted())}catch(i){console.log("storage.persisted() failed",i)}var n=await xM(e);return t.usage=n.usage,t.quota=n.quota,t}async function lO(r){var e=r!==void 0?r:sh(),t=await wM(e);if(!t.supported||t.persisted)return t.granted=!1,t;try{t.persisted=await e.persist(),t.granted=t.persisted}catch(n){console.log("storage.persist() failed",n),t.granted=!1}return t}function PM(r){return r==null&&(r=typeof navigator!="undefined"?navigator.userAgent:""),r?/Edg\/|OPR\/|Chrome\/|Chromium\//.test(r)?"chromium":/Firefox\/|FxiOS\//.test(r)?"firefox":/Safari\//.test(r)?"safari":"other":"other"}function Xw(r){if(typeof r!="number"||!isFinite(r))return"?";for(var e=["bytes","KB","MB","GB","TB"],t=0;r>=1024&&t<e.length-1;)r/=1024,t++;return(t==0?r.toFixed(0):r.toFixed(1))+" "+e[t]}function zw(r){return r.usage==null&&r.quota==null?"":"This site is using "+Xw(r.usage)+" of the "+Xw(r.quota)+" your browser allows."}var aO="Your edits are still saved in this browser either way — persistence only protects them if the browser needs to reclaim disk space. Use <b>File > Download All Changes as ZIP</b> (or push to GitHub) to keep a backup.";function Ww(r){switch(r||PM()){case"chromium":return"Chrome and Edge never ask — they grant persistent storage on their own to sites you use regularly. Bookmarking this page, or installing it as an app, usually qualifies it; then try <b>Request Local Storage Permissions</b> again.";case"firefox":return"Firefox asks for permission the first time. If you dismissed or blocked that prompt, clear it from the padlock icon in the address bar and try <b>Request Local Storage Permissions</b> again.";case"safari":return"Safari decides on its own, and may delete site data after several days without a visit. Adding this page to your Favorites or Home Screen makes eviction less likely.";default:return"This browser decides on its own whether to keep site data."}}function kM(){return"This browser doesn't support persistent storage, so it may discard your local file edits when it needs disk space. "+aO}function Bw(r,e){var t=zw(r),n;return r.supported?r.persisted?n=(r.granted?"Your browser just granted persistent storage. ":"Your browser is already persisting your local file edits. ")+aO:n="Your browser has not granted persistent storage, so it may discard your local file edits when it needs disk space.<br><br>"+Ww()+"<br><br>"+aO:n=kM(),t?n+"<br><br>"+t:n}function Vw(r){return"Your browser ran out of space for this site, so your last edit may not have been saved.<br><br>"+zw(r)+" Delete unused projects, or use <b>File > Download All Changes as ZIP</b> to back up your work before it is lost."+(r.supported&&!r.persisted?"<br><br>"+Ww():"")}var Jw=Hu(af());var na=class{constructor(e,t){e=e||[],this.lines=e,this.text=t,this.offset2loc=new Map,this.line2offset=new Map;for(var n of e)n.offset>=0&&(this.offset2loc.has(n.offset)||this.offset2loc.set(n.offset,n),this.line2offset.has(n.line)||this.line2offset.set(n.line,n.offset));this.sortedOffsets=Array.from(this.offset2loc.keys()).sort((i,s)=>i-s)}findLineForOffset(e,t){let n=this.sortedOffsets;for(var i=0,s=n.length-1,o=-1;i<=s;){var a=i+s>>1;n[a]<=e?(o=a,i=a+1):s=a-1}if(o<0)return null;var l=n[o];return e-l>t?null:this.offset2loc.get(l)}lineCount(){return this.lines.length}};function Yw(r){return"errors"in r}function Fw(r){return"output"in r}function ia(r,e){if(e){var t=La(e);t!=""&&r.startsWith(t+"/")&&(r=r.substring(t.length+1))}return r}function $M(r,e){var t=La(e);return t.length>0&&t!="local"?[t+"/"+r,r]:[r]}function QM(r,e,t,n){var i=s=>ny(r,s).map(o=>$M(o,e));return{includes:i(Tc(t,n)),links:i(_c(t,n))}}async function jw(r,e,t,n,i){for(var s=[],o=new Set([ia(e,e)]),a=[{path:e,text:t,tool:i(e)}]Line truncated
|
||||
</form>`,buttons:{cancel:{label:"Cancel",className:"btn-default"},ok:{label:"Save",className:"btn-primary",callback:()=>{r.tabSize=parseInt($("#setting_tabSize").val())||8,r.tabsToSpaces=$("#setting_tabsToSpaces").is(":checked"),r.highlightSpecialChars=$("#setting_highlightSpecialChars").is(":checked"),r.highlightWhitespace=$("#setting_highlightWhitespace").is(":checked"),r.highlightTrailingWhitespace=$("#setting_highlightTrailingWhitespace").is(":checked"),r.closeBrackets=$("#setting_closeBrackets").is(":checked"),r.showLineNumbers=$("#setting_showLineNumbers").is(":checked"),e&&(r.debugHighlightTags=$("#setting_debugHighlightTags").is(":checked")),r.showStatusBar=$("#setting_showStatusBar").is(":checked"),SM(r),vM(r),kc(r.showStatusBar)}}}})}function sh(){return typeof navigator!="undefined"?navigator.storage:null}function xM(r){var e=r!==void 0?r:sh();return!!(e&&typeof e.persist=="function")}async function wM(r){var e=r!==void 0?r:sh();try{if(e&&typeof e.estimate=="function"){var t=await e.estimate();return{usage:t&&t.usage,quota:t&&t.quota}}}catch(n){console.log("storage.estimate() failed",n)}return{}}async function PM(r){var e=r!==void 0?r:sh(),t={supported:xM(e),persisted:!1};try{e&&typeof e.persisted=="function"&&(t.persisted=await e.persisted())}catch(i){console.log("storage.persisted() failed",i)}var n=await wM(e);return t.usage=n.usage,t.quota=n.quota,t}async function lO(r){var e=r!==void 0?r:sh(),t=await PM(e);if(!t.supported||t.persisted)return t.granted=!1,t;try{t.persisted=await e.persist(),t.granted=t.persisted}catch(n){console.log("storage.persist() failed",n),t.granted=!1}return t}function kM(r){return r==null&&(r=typeof navigator!="undefined"?navigator.userAgent:""),r?/Edg\/|OPR\/|Chrome\/|Chromium\//.test(r)?"chromium":/Firefox\/|FxiOS\//.test(r)?"firefox":/Safari\//.test(r)?"safari":"other":"other"}function Xw(r){if(typeof r!="number"||!isFinite(r))return"?";for(var e=["bytes","KB","MB","GB","TB"],t=0;r>=1024&&t<e.length-1;)r/=1024,t++;return(t==0?r.toFixed(0):r.toFixed(1))+" "+e[t]}function zw(r){return r.usage==null&&r.quota==null?"":"This site is using "+Xw(r.usage)+" of the "+Xw(r.quota)+" your browser allows."}var aO="Your edits are still saved in this browser either way — persistence only protects them if the browser needs to reclaim disk space. Use <b>File > Download All Changes as ZIP</b> (or push to GitHub) to keep a backup.";function Ww(r){switch(r||kM()){case"chromium":return"Chrome and Edge never ask — they grant persistent storage on their own to sites you use regularly. Bookmarking this page, or installing it as an app, usually qualifies it; then try <b>Request Local Storage Permissions</b> again.";case"firefox":return"Firefox asks for permission the first time. If you dismissed or blocked that prompt, clear it from the padlock icon in the address bar and try <b>Request Local Storage Permissions</b> again.";case"safari":return"Safari decides on its own, and may delete site data after several days without a visit. Adding this page to your Favorites or Home Screen makes eviction less likely.";default:return"This browser decides on its own whether to keep site data."}}function $M(){return"This browser doesn't support persistent storage, so it may discard your local file edits when it needs disk space. "+aO}function Bw(r,e){var t=zw(r),n;return r.supported?r.persisted?n=(r.granted?"Your browser just granted persistent storage. ":"Your browser is already persisting your local file edits. ")+aO:n="Your browser has not granted persistent storage, so it may discard your local file edits when it needs disk space.<br><br>"+Ww()+"<br><br>"+aO:n=$M(),t?n+"<br><br>"+t:n}function Vw(r){return"Your browser ran out of space for this site, so your last edit may not have been saved.<br><br>"+zw(r)+" Delete unused projects, or use <b>File > Download All Changes as ZIP</b> to back up your work before it is lost."+(r.supported&&!r.persisted?"<br><br>"+Ww():"")}var Jw=Hu(af());var na=class{constructor(e,t){e=e||[],this.lines=e,this.text=t,this.offset2loc=new Map,this.line2offset=new Map;for(var n of e)n.offset>=0&&(this.offset2loc.has(n.offset)||this.offset2loc.set(n.offset,n),this.line2offset.has(n.line)||this.line2offset.set(n.line,n.offset));this.sortedOffsets=Array.from(this.offset2loc.keys()).sort((i,s)=>i-s)}findLineForOffset(e,t){let n=this.sortedOffsets;for(var i=0,s=n.length-1,o=-1;i<=s;){var a=i+s>>1;n[a]<=e?(o=a,i=a+1):s=a-1}if(o<0)return null;var l=n[o];return e-l>t?null:this.offset2loc.get(l)}lineCount(){return this.lines.length}};function Yw(r){return"errors"in r}function Fw(r){return"output"in r}function ia(r,e){if(e){var t=La(e);t!=""&&r.startsWith(t+"/")&&(r=r.substring(t.length+1))}return r}function QM(r,e){var t=La(e);return t.length>0&&t!="local"?[t+"/"+r,r]:[r]}function TM(r,e,t,n){var i=s=>ny(r,s).map(o=>QM(o,e));return{includes:i(Tc(t,n)),links:i(_c(t,n))}}async function jw(r,e,t,n,i){for(var s=[],o=new Set([ia(e,e)]),a=[{path:e,text:t,tool:i(e)}]Line truncated
|
||||
=====
|
||||
|
||||
[Open this project in 8bitworkshop](http://8bitworkshop.com/redir.html?platform=$PLATFORM&githubURL=$GITHUBURL&file=$MAINFILE).
|
||||
`;function Js(){for(var r={},e=0;e<localStorage.length;e++){var t=localStorage.key(e);if(t.startsWith("__repo__")){var n=JSON.parse(localStorage.getItem(t)),i=t.substring(8);r[i]=n}}return r}function Ql(r){var e=r.split("/",8);return e.length<5||e[0]!="https:"||e[2]!="github.com"||e[5]&&e[5]!="tree"?null:{user:e[3],repo:e[4],repopath:e[3]+"/"+e[4],branch:e[6],subtreepath:e[7]}}var dh=class{constructor(e,t,n,i){this.githubCons=e,this.githubToken=t,this.store=n,this.project=i,this.recreateGithub()}recreateGithub(){this.github=new this.githubCons({token:this.githubToken})}login(){if(this.githubToken&&this.githubToken.length)return new Promise((t,n)=>{t()});var e=new firebase.auth.GithubAuthProvider;return e.addScope("repo"),firebase.auth().signInWithPopup(e).then(t=>{this.githubToken=t.credential.accessToken;var n=t.user;this.recreateGithub(),document.cookie="__github_key="+this.githubToken+";path=/;max-age=31536000",console.log("Stored GitHub OAUTH key")})}logout(){return this.githubToken&&this.githubToken.length?firebase.auth().signOut().then(()=>{document.cookie="__github_key=;path=/;max-age=0",this.githubToken=null,this.recreateGithub()}):new Promise((e,t)=>{e()})}isFileIgnored(e){return e=e.toUpperCase(),!!(e.startsWith("LICENSE")||e.startsWith("README")||e.startsWith("."))}async getGithubSession(e){var t=Ql(e);if(!t)throw new Error("Please enter a valid GitHub URL.");var n=Js()[t.repopath],i=t.branch||n&&n.branch,s=this.github.repos(t.user,t.repo);try{i=(await s.fetch()).defaultBranch||"master"}catch(a){console.log("could not fetch default branch: "+a),i="main"}console.log("branch =",i);var o={url:e,user:t.user,reponame:t.repo,repopath:t.repopath,branch:i,subtreepath:t.subtreepath,prefix:"",repo:s,platform_id:this.project?this.project.platform_id:n?n.platform_id:null};return o}getGithubHEADTree(e){var t;return this.getGithubSession(e).then(n=>(t=n,t.repo.git.refs.heads(t.branch).fetch())).then(n=>(t.head=n,t.sha=n.object.sha,t.repo.git.trees(t.sha).fetch())).then(n=>{if(t.subtreepath){for(let i of n.tree)if(i.type=="tree"&&i.path==t.subtreepath&&i.sha)return t.repo.git.trees(i.sha).fetch();throw Error("Cannot find subtree '"+t.subtreepath+"' in tree "+n.sha)}return n}).then(n=>(t.tree=n,t))}bind(e,t){var n="__repo__"+e.repopath;if(t){var i={url:e.url,branch:e.branch,platform_id:e.platform_id,mainPath:e.mainPath,sha:e.sha};console.log("storing",i),localStorage.setItem(n,JSON.stringify(i))}else localStorage.removeItem(n)}import(e){var t;return this.getGithubSession(e).then(n=>(t=n,t.repo.contents("README.md").read())).catch(n=>(console.log(n),console.log("no README.md found"),t.repo.fetch().then(i=>""))).then(n=>{var i;if(i=/8bitworkshop.com[^)]+file=([^)&]+)/.exec(n),i&&i[1]&&(console.log("main path: '"+i[1]+"'"),t.mainPath=i[1]),i=/8bitworkshop.com[^)]+platform=([A-Za-z0-9._\-]+)/.exec(n),i){if(console.log("platform id: '"+i[1]+"'"),t.platform_id&&!t.platform_id.startsWith(i[1]))throw Error("Platform mismatch: Repository is '"+i[1]+"', you have '"+t.platform_id+"' selected.");t.platform_id=i[1]}return this.bind(t,!0),t})}pull(e,t){var n;return this.getGithubHEADTree(e).then(i=>{n=i;let s=[];return n.paths=[],n.tree.tree.forEach(o=>{if(console.log(o.path,o.type,o.size),n.paths.push(o.path),o.type=="blob"&&!this.isFileIgnored(o.path)){var a=n.repo.git.blobs(o.sha).fetch().then(l=>{var c=n.prefix+o.path,d=o.size,h=l.encoding,u=l.content;if(l.encoding=="base64"){var f=Oc(atob(u)),m=Cs(o.path,f);u=m?f:bc(f)}return l.size!=u.length&&(u=u.slice(0,l.size)),(t||this.store).setItem(c,u)});s.push(a)}else console.log("ignoring "+o.path)}),Promise.all(s)}).then(i=>n)}importAndPull(e){return this.import(e).then(t=>this.pull(e))}publish(e,t,n,i){var s,o=this.project.platform_id,a=this.project.stripLocalPath(this.project.mainPath);return this.github.user.repos.create({name:e,description:t,private:i,auto_init:!1,license_template:n}).then(l=>{s=l;var c=TM;c=c.replace(/\$NAME/g,encodeURIComponent(e)),c=c.replace(/\$PLATFORM/g,encodeURIComponent(o)),c=c.replace(/\$GITHUBURL/g,encodeURIComponent(s.htmlUrl)),c=c.replace(/\$MAINFILE/g,encodeURIComponent(a));var d={message:"8bitworkshop: updated metadata in README.md",content:btoa(c)};return s.contents("README.md").add(d)}).then(()=>this.getGithubSession(s.htmlUrl))}commit(e,t,n){var i;return t||(t="updated from 8bitworkshop.com"),this.getGithubHEADTree(e).then(s=>{if(i=s,i.subtreepath)throw Error("Sorry, right now you can only commit files to the root directory of a repository.");return Promise.all(n.map(o=>typeof o.data=="string"?i.repo.git.blobs.create({content:o.data,encoding:"utf-8"}):i.repo.git.blobs.create({content:btoa(gc(o.data)),encoding:"base64"})))}).then(s=>i.repo.git.trees.create({tree:n.map((o,a)=>({path:o.path,mode:"100644",type:"blob",sha:s[a].sha})),base_tree:i.tree.sha})).then(s=>i.repo.git.commits.create({message:t,tree:s.sha,parents:[i.head.object.sha]})).then(s=>i.repo.commits(s.sha).fetch()).then(s=>(i.commit=s,i))}push(e){return e.head.update({sha:e.com
Line truncated
|
||||
`},s=window.c2t({noInitialRun:!0,print:i,printErr:i}),o=s.FS,a=kt()+".bin",l=kt()+".wav";o.writeFile(a,xr(),{encoding:"binary"});var c=["-2bc",a+","+e.toString(16),l];s.callMain(c);var d=o.readFile(l,{encoding:"binary"});if(d){var h=new Blob([d],{type:"audio/wav"});(0,ii.saveAs)(h,l),n+="Then connect your audio output to the cassette input, turn up the volume, and play the audio file.",ar(n)}})}function EM(r){dn("lib/makewav.js").then(()=>{let e="",t=function(a){e+=a+`
|
||||
`;function Js(){for(var r={},e=0;e<localStorage.length;e++){var t=localStorage.key(e);if(t.startsWith("__repo__")){var n=JSON.parse(localStorage.getItem(t)),i=t.substring(8);r[i]=n}}return r}function Ql(r){var e=r.split("/",8);return e.length<5||e[0]!="https:"||e[2]!="github.com"||e[5]&&e[5]!="tree"?null:{user:e[3],repo:e[4],repopath:e[3]+"/"+e[4],branch:e[6],subtreepath:e[7]}}var dh=class{constructor(e,t,n,i){this.githubCons=e,this.githubToken=t,this.store=n,this.project=i,this.recreateGithub()}recreateGithub(){this.github=new this.githubCons({token:this.githubToken})}login(){if(this.githubToken&&this.githubToken.length)return new Promise((t,n)=>{t()});var e=new firebase.auth.GithubAuthProvider;return e.addScope("repo"),firebase.auth().signInWithPopup(e).then(t=>{this.githubToken=t.credential.accessToken;var n=t.user;this.recreateGithub(),document.cookie="__github_key="+this.githubToken+";path=/;max-age=31536000",console.log("Stored GitHub OAUTH key")})}logout(){return this.githubToken&&this.githubToken.length?firebase.auth().signOut().then(()=>{document.cookie="__github_key=;path=/;max-age=0",this.githubToken=null,this.recreateGithub()}):new Promise((e,t)=>{e()})}isFileIgnored(e){return e=e.toUpperCase(),!!(e.startsWith("LICENSE")||e.startsWith("README")||e.startsWith("."))}async getGithubSession(e){var t=Ql(e);if(!t)throw new Error("Please enter a valid GitHub URL.");var n=Js()[t.repopath],i=t.branch||n&&n.branch,s=this.github.repos(t.user,t.repo);try{i=(await s.fetch()).defaultBranch||"master"}catch(a){console.log("could not fetch default branch: "+a),i="main"}console.log("branch =",i);var o={url:e,user:t.user,reponame:t.repo,repopath:t.repopath,branch:i,subtreepath:t.subtreepath,prefix:"",repo:s,platform_id:this.project?this.project.platform_id:n?n.platform_id:null};return o}getGithubHEADTree(e){var t;return this.getGithubSession(e).then(n=>(t=n,t.repo.git.refs.heads(t.branch).fetch())).then(n=>(t.head=n,t.sha=n.object.sha,t.repo.git.trees(t.sha).fetch())).then(n=>{if(t.subtreepath){for(let i of n.tree)if(i.type=="tree"&&i.path==t.subtreepath&&i.sha)return t.repo.git.trees(i.sha).fetch();throw Error("Cannot find subtree '"+t.subtreepath+"' in tree "+n.sha)}return n}).then(n=>(t.tree=n,t))}bind(e,t){var n="__repo__"+e.repopath;if(t){var i={url:e.url,branch:e.branch,platform_id:e.platform_id,mainPath:e.mainPath,sha:e.sha};console.log("storing",i),localStorage.setItem(n,JSON.stringify(i))}else localStorage.removeItem(n)}import(e){var t;return this.getGithubSession(e).then(n=>(t=n,t.repo.contents("README.md").read())).catch(n=>(console.log(n),console.log("no README.md found"),t.repo.fetch().then(i=>""))).then(n=>{var i;if(i=/8bitworkshop.com[^)]+file=([^)&]+)/.exec(n),i&&i[1]&&(console.log("main path: '"+i[1]+"'"),t.mainPath=i[1]),i=/8bitworkshop.com[^)]+platform=([A-Za-z0-9._\-]+)/.exec(n),i){if(console.log("platform id: '"+i[1]+"'"),t.platform_id&&!t.platform_id.startsWith(i[1]))throw Error("Platform mismatch: Repository is '"+i[1]+"', you have '"+t.platform_id+"' selected.");t.platform_id=i[1]}return this.bind(t,!0),t})}pull(e,t){var n;return this.getGithubHEADTree(e).then(i=>{n=i;let s=[];return n.paths=[],n.tree.tree.forEach(o=>{if(console.log(o.path,o.type,o.size),n.paths.push(o.path),o.type=="blob"&&!this.isFileIgnored(o.path)){var a=n.repo.git.blobs(o.sha).fetch().then(l=>{var c=n.prefix+o.path,d=o.size,h=l.encoding,u=l.content;if(l.encoding=="base64"){var f=Oc(atob(u)),m=Cs(o.path,f);u=m?f:bc(f)}return l.size!=u.length&&(u=u.slice(0,l.size)),(t||this.store).setItem(c,u)});s.push(a)}else console.log("ignoring "+o.path)}),Promise.all(s)}).then(i=>n)}importAndPull(e){return this.import(e).then(t=>this.pull(e))}publish(e,t,n,i){var s,o=this.project.platform_id,a=this.project.stripLocalPath(this.project.mainPath);return this.github.user.repos.create({name:e,description:t,private:i,auto_init:!1,license_template:n}).then(l=>{s=l;var c=_M;c=c.replace(/\$NAME/g,encodeURIComponent(e)),c=c.replace(/\$PLATFORM/g,encodeURIComponent(o)),c=c.replace(/\$GITHUBURL/g,encodeURIComponent(s.htmlUrl)),c=c.replace(/\$MAINFILE/g,encodeURIComponent(a));var d={message:"8bitworkshop: updated metadata in README.md",content:btoa(c)};return s.contents("README.md").add(d)}).then(()=>this.getGithubSession(s.htmlUrl))}commit(e,t,n){var i;return t||(t="updated from 8bitworkshop.com"),this.getGithubHEADTree(e).then(s=>{if(i=s,i.subtreepath)throw Error("Sorry, right now you can only commit files to the root directory of a repository.");return Promise.all(n.map(o=>typeof o.data=="string"?i.repo.git.blobs.create({content:o.data,encoding:"utf-8"}):i.repo.git.blobs.create({content:btoa(gc(o.data)),encoding:"base64"})))}).then(s=>i.repo.git.trees.create({tree:n.map((o,a)=>({path:o.path,mode:"100644",type:"blob",sha:s[a].sha})),base_tree:i.tree.sha})).then(s=>i.repo.git.commits.create({message:t,tree:s.sha,parents:[i.head.object.sha]})).then(s=>i.repo.commits(s.sha).fetch()).then(s=>(i.commit=s,i))}push(e){return e.head.update({sha:e.com
Line truncated
|
||||
`},s=window.c2t({noInitialRun:!0,print:i,printErr:i}),o=s.FS,a=kt()+".bin",l=kt()+".wav";o.writeFile(a,xr(),{encoding:"binary"});var c=["-2bc",a+","+e.toString(16),l];s.callMain(c);var d=o.readFile(l,{encoding:"binary"});if(d){var h=new Blob([d],{type:"audio/wav"});(0,ii.saveAs)(h,l),n+="Then connect your audio output to the cassette input, turn up the volume, and play the audio file.",ar(n)}})}function RM(r){dn("lib/makewav.js").then(()=>{let e="",t=function(a){e+=a+`
|
||||
`};var n=zt(kt());let i=n+".bin",s=n+".wav";window.makewav({noInitialRun:!1,print:t,printErr:t,arguments:["-ts","-f0","-v10",i],preRun:a=>{a.FS.writeFile(i,xr(),{encoding:"binary"})}}).ready.then(a=>{let l=[i];a.run(l),console.log(e);let d=a.FS.readFile(s,{encoding:"binary"});if(d){let h=new Blob([d],{type:"audio/wav"});(0,ii.saveAs)(h,s),e+=`
|
||||
Connect your audio output to the SuperCharger input, turn up the volume, and play the audio file.`,ar(e)}})})}function RM(r){var e=zt(kt());let t=e+".tap",n=new eo(e),i=new hh({sine_wave:!0}),s=xr(),o=s[0]+s[1]*256;s=s.slice(2),n.setContent({data:s,startAddress:o,type:eo.FILE_TYPE_NON_RELOCATABLE}),n.generateSound(i);let a=i.getTAPData();if(a){let l=new Blob([a],{type:"application/octet-stream"});(0,ii.saveAs)(l,t)}}function dO(){switch(ir(fe)){case"vcs":return EM;case"apple2":return CM;case"c64":return RM}}function tP(r){if(xr()==null)return Re("Please fix errors before exporting."),!0;var e=dO();if(e===void 0)return Re("Cassette export is not supported on this platform."),!0;e(r)}function rP(r){if(xr()==null)return Re("Please finish compiling with no errors before downloading ROM."),!0;var e=zt(kt());if(P.getDownloadFile){var t=P.getDownloadFile(),e=zt(kt());(0,ii.saveAs)(t.blob,e+t.extension)}else if(xr()instanceof Uint8Array){var n=new Blob([xr()],{type:"application/octet-stream"}),i=P.getROMExtension&&P.getROMExtension(xr())||"-"+ir(fe)+".bin";(0,ii.saveAs)(n,e+i)}else Re(`The "${fe}" platform doesn't have downloadable ROMs.`)}function nP(r){var e=F.getCurrentText();if(!e)return!1;var t=new Blob([e],{type:"text/plain;charset=utf-8"});(0,ii.saveAs)(t,cP(),{autoBom:!1})}async function iP(){let r=(await import("./jszip.min-EENSZHRN.js")).default;return new r}async function sP(r){var e=await iP();Ci().iterateFiles((t,n)=>{n&&e.file(St(t),n)}),e.generateAsync({type:"blob"}).then(t=>{(0,ii.saveAs)(t,kt()+"-"+ir(fe)+".zip")})}function oP(r){let e=P.getDebugSymbolFile&&P.getDebugSymbolFile();if(!e){Re("This project does not have debug information.");return}var t=zt(kt());(0,ii.saveAs)(e.blob,t+e.extension,{autoBom:!1})}async function aP(r){var e=await iP(),t=await ss().keys();st(!0);try{var n=0;await Promise.all(t.map(s=>ss().getItem(s).then(o=>{En(n++/(t.length+1)),o&&e.file(s,o)})));var i=await e.generateAsync({type:"blob"});(0,ii.saveAs)(i,ir(fe)+"-all.zip")}finally{st(!1)}}var cO=!1;function lP(){cO||dn("lib/gif.js").then(()=>{var r=$("#emulator").find("canvas")[0];if(!r){Re("Could not find canvas element to record video!");return}var e=0;r.style&&r.style.transform&&(r.style.transform.indexOf("rotate(-90deg)")>=0?e=-1:r.style.transform.indexOf("rotate(90deg)")>=0&&(e=1));var t=new GIF({workerScript:"lib/gif.worker.js",workers:4,quality:10,rotate:e}),n=$("#videoPreviewImage");t.on("progress",l=>{En(l)}),t.on("finished",l=>{n.attr("src",URL.createObjectURL(l)),st(!1),P.resume(),$("#videoPreviewModal").modal("show")});var i=20,s=300,o=0;console.log("Recording video",r),$("#emulator").css("backgroundColor","#cc3333");var a=()=>{o++>s?(console.log("Rendering video"),$("#emulator").css("backgroundColor","inherit"),st(!0),P.pause(),t.render(),cO=!1):(t.addFrame(r,{delay:i,copy:!0}),setTimeout(a,i),cO=!0)};a()})}var hO;async function to(){if(!hO){await dn("lib/octokat.js"),await dn("https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js"),await dn("https://www.gstatic.com/firebasejs/8.8.1/firebase-auth.js"),await dn("https://8bitworkshop.com/config.js");var r=yc("__github_key");hO=new dh(Octokat,r,ss(),Ci()),console.log("loaded github service")}return hO}function _l(){var r=(_t||"").split("/");return r.length!=2?(Re("You are not in a GitHub repository. Choose one from the pulldown, or Import or Publish one."),null):"https://github.com/"+r[0]+"/"+r[1]}async function Al(r,e){var t,n=Ql(r);if(!n){Re("Could not parse GitHub URL.");return}var i=Js()[n.repopath];if(!(i&&!confirm("You've already imported "+n.repopath+" -- do you want to replace all local files?"))){st(!0);var s=ch(n.repopath);En(.25);var o=await to();return o.import(r).then(a=>(t=a,En(.75),o.pull(r,s))).then(a=>{st(!1),ro(e,{repo:n.repopath})}).catch(a=>{st(!1),console.log(a),Re("Could not import "+r+". "+a)})}}async function dP(r){var e=await to();e.login().then(()=>{ar("You are signed in to GitHub.")}).catch(t=>{Re("Could not sign in."+t)})}async function hP(r){var e=await to();e.logout().then(()=>{ar("You are logged out of GitHub.")})}function uP(r){var e=$("#importGithubModal"),t=$("#importGithubButton");e.modal("show"),e.off("shown.bs.modal").on("shown.bs.modal",()=>$("#importGithubURL").trigger("focus")),$("#importGithubURL").off("keydown").on("keydown",n=>{n.key==="Enter"&&(n.preventDefault(),t.trigger("click"))}),t.off("click").on("click",()=>{var n=$("#importGithubURL").val()+"";e.modal("hide"),Al(n,!1)})}function fP(r){if(!(_t&&!confirm("This project ("+Ci().mainPath+") is already bound to a GitHub repository. Do you want to re-publish to a new repository? (You can instead choose 'Push Changes' to update files in the existing repository.)"))){var e=$("#publishGithubModal"),t=$("#publishGithubButton");$("#githubRepoName").val(zt(St(Ci().mainPath))),e.modal("show"),t.off("click").on("click",async()=>{var n=$("#githubRepoName").val()+"",i=$("#githubRepoDesc").val()+"",s=$("#githubRepoPrivate").val()=="private",o=$("#githubRepoLicense").val()+""Line truncated
|
||||
Connect your audio output to the SuperCharger input, turn up the volume, and play the audio file.`,ar(e)}})})}function MM(r){var e=zt(kt());let t=e+".tap",n=new eo(e),i=new hh({sine_wave:!0}),s=xr(),o=s[0]+s[1]*256;s=s.slice(2),n.setContent({data:s,startAddress:o,type:eo.FILE_TYPE_NON_RELOCATABLE}),n.generateSound(i);let a=i.getTAPData();if(a){let l=new Blob([a],{type:"application/octet-stream"});(0,ii.saveAs)(l,t)}}function dO(){switch(sr(fe)){case"vcs":return RM;case"apple2":return EM;case"c64":return MM}}function tP(r){if(xr()==null)return Re("Please fix errors before exporting."),!0;var e=dO();if(e===void 0)return Re("Cassette export is not supported on this platform."),!0;e(r)}function rP(r){if(xr()==null)return Re("Please finish compiling with no errors before downloading ROM."),!0;var e=zt(kt());if(P.getDownloadFile){var t=P.getDownloadFile(),e=zt(kt());(0,ii.saveAs)(t.blob,e+t.extension)}else if(xr()instanceof Uint8Array){var n=new Blob([xr()],{type:"application/octet-stream"}),i=P.getROMExtension&&P.getROMExtension(xr())||"-"+sr(fe)+".bin";(0,ii.saveAs)(n,e+i)}else Re(`The "${fe}" platform doesn't have downloadable ROMs.`)}function nP(r){var e=F.getCurrentText();if(!e)return!1;var t=new Blob([e],{type:"text/plain;charset=utf-8"});(0,ii.saveAs)(t,cP(),{autoBom:!1})}async function iP(){let r=(await import("./jszip.min-EENSZHRN.js")).default;return new r}async function sP(r){var e=await iP();Ci().iterateFiles((t,n)=>{n&&e.file(St(t),n)}),e.generateAsync({type:"blob"}).then(t=>{(0,ii.saveAs)(t,kt()+"-"+sr(fe)+".zip")})}function oP(r){let e=P.getDebugSymbolFile&&P.getDebugSymbolFile();if(!e){Re("This project does not have debug information.");return}var t=zt(kt());(0,ii.saveAs)(e.blob,t+e.extension,{autoBom:!1})}async function aP(r){var e=await iP(),t=await ss().keys();st(!0);try{var n=0;await Promise.all(t.map(s=>ss().getItem(s).then(o=>{En(n++/(t.length+1)),o&&e.file(s,o)})));var i=await e.generateAsync({type:"blob"});(0,ii.saveAs)(i,sr(fe)+"-all.zip")}finally{st(!1)}}var cO=!1;function lP(){cO||dn("lib/gif.js").then(()=>{var r=$("#emulator").find("canvas")[0];if(!r){Re("Could not find canvas element to record video!");return}var e=0;r.style&&r.style.transform&&(r.style.transform.indexOf("rotate(-90deg)")>=0?e=-1:r.style.transform.indexOf("rotate(90deg)")>=0&&(e=1));var t=new GIF({workerScript:"lib/gif.worker.js",workers:4,quality:10,rotate:e}),n=$("#videoPreviewImage");t.on("progress",l=>{En(l)}),t.on("finished",l=>{n.attr("src",URL.createObjectURL(l)),st(!1),P.resume(),$("#videoPreviewModal").modal("show")});var i=20,s=300,o=0;console.log("Recording video",r),$("#emulator").css("backgroundColor","#cc3333");var a=()=>{o++>s?(console.log("Rendering video"),$("#emulator").css("backgroundColor","inherit"),st(!0),P.pause(),t.render(),cO=!1):(t.addFrame(r,{delay:i,copy:!0}),setTimeout(a,i),cO=!0)};a()})}var hO;async function to(){if(!hO){await dn("lib/octokat.js"),await dn("https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js"),await dn("https://www.gstatic.com/firebasejs/8.8.1/firebase-auth.js"),await dn("https://8bitworkshop.com/config.js");var r=yc("__github_key");hO=new dh(Octokat,r,ss(),Ci()),console.log("loaded github service")}return hO}function _l(){var r=(_t||"").split("/");return r.length!=2?(Re("You are not in a GitHub repository. Choose one from the pulldown, or Import or Publish one."),null):"https://github.com/"+r[0]+"/"+r[1]}async function Al(r,e){var t,n=Ql(r);if(!n){Re("Could not parse GitHub URL.");return}var i=Js()[n.repopath];if(!(i&&!confirm("You've already imported "+n.repopath+" -- do you want to replace all local files?"))){st(!0);var s=ch(n.repopath);En(.25);var o=await to();return o.import(r).then(a=>(t=a,En(.75),o.pull(r,s))).then(a=>{st(!1),ro(e,{repo:n.repopath})}).catch(a=>{st(!1),console.log(a),Re("Could not import "+r+". "+a)})}}async function dP(r){var e=await to();e.login().then(()=>{ar("You are signed in to GitHub.")}).catch(t=>{Re("Could not sign in."+t)})}async function hP(r){var e=await to();e.logout().then(()=>{ar("You are logged out of GitHub.")})}function uP(r){var e=$("#importGithubModal"),t=$("#importGithubButton");e.modal("show"),e.off("shown.bs.modal").on("shown.bs.modal",()=>$("#importGithubURL").trigger("focus")),$("#importGithubURL").off("keydown").on("keydown",n=>{n.key==="Enter"&&(n.preventDefault(),t.trigger("click"))}),t.off("click").on("click",()=>{var n=$("#importGithubURL").val()+"";e.modal("hide"),Al(n,!1)})}function fP(r){if(!(_t&&!confirm("This project ("+Ci().mainPath+") is already bound to a GitHub repository. Do you want to re-publish to a new repository? (You can instead choose 'Push Changes' to update files in the existing repository.)"))){var e=$("#publishGithubModal"),t=$("#publishGithubButton");$("#githubRepoName").val(zt(St(Ci().mainPath))),e.modal("show"),t.off("click").on("click",async()=>{var n=$("#githubRepoName").val()+"",i=$("#githubRepoDesc").val()+"",s=$("#githubRepoPrivate").val()=="private",o=$("#githubRepoLicense").val()+""Line truncated
|
||||
`);for(let o=0;o<s.length;o++){let a=s[o],l=o+1,c=a.match(/(?:function|func|def|proc)\s+(\w+)/i);c&&i.push({id:`${e}:${l}:${c[1]}`,name:c[1],kind:"func",source:n,file:e,line:l});let d=a.match(/(?:var|let|const|global)\s+(\w+)/i);d&&i.push({id:`${e}:${l}:${d[1]}`,name:d[1],kind:"var",source:n,file:e,line:l});let h=a.match(/(?:struct|class|interface|type)\s+(\w+)/i);h&&i.push({id:`${e}:${l}:${h[1]}`,name:h[1],kind:"type",source:n,file:e,line:l});let u=a.match(/^\s*(\w+)\s*:/);u&&!a.trim().startsWith("//")&&i.push({id:`${e}:${l}:${u[1]}`,name:u[1],kind:"label",source:n,file:e,line:l});let f=a.match(/#define\s+(\w+)/i);f&&i.push({id:`${e}:${l}:${f[1]}`,name:f[1],kind:"macro",source:n,file:e,line:l});let m=a.match(/^\s*(\w+)\s*(?:=|equ)\s+/i);m&&i.push({id:`${e}:${l}:${m[1]}`,name:m[1],kind:"equate",source:n,file:e,line:l})}return i}var SP=()=>null;function vP(r){SP=r}function aa(){return SP()}var uh=class{constructor(){this.id="project";this.kind="project";this.rebuilt=!1;this.index=new oa([])}async ready(){await this.index.init(),this.rebuilt||(this.rebuilt=!0,await this.rebuild())}query(e,t){let n=this.index.query(e,t),i=this.fulltextQuery(e,t),s=n.concat(i);return s.sort((o,a)=>a.score-o.score),s.slice(0,t)}fulltextQuery(e,t){if(e.length<2)return[];let n=e.toLowerCase(),i=[],s=Math.max(t,10),o=aa();return o?(o.iterateFiles((a,l)=>{if(typeof l!="string")return;let c=l.split(`
|
||||
`),d=0;for(let h=0;h<c.length;h++){let u=c[h],m=u.toLowerCase().indexOf(n);if(m>=0){let g=u.trim();if(!g)continue;if(i.push({record:{id:`text:${a}:${h+1}`,name:g.length>80?g.slice(0,80)+"\u2026":g,kind:"text",source:"project",file:a,line:h+1},score:200+Math.max(0,100-m*2),ranges:[m,m+e.length]}),++d>=s)break}}}),i):[]}async onFileChanged(e,t){let n=this.extractSymbolsFromFile(e,t,"project");this.index.pushRecords(n)}extractSymbolsFromFile(e,t,n){if(typeof t!="string")return[];let i=this.detectEditorStyle(e);return fO(t,e,i,n)}detectEditorStyle(e){var n;switch((n=e.split(".").pop())==null?void 0:n.toLowerCase()){case"c":case"h":return"text/x-csrc";case"asm":case"a65":case"inc":return"6502";case"v":return"verilog";case"wiz":return"text/x-wiz";case"bas":case"basic":return"basic";case"fb":case"fastbasic":return"fastbasic";case"bac":case"bataribasic":return"bataribasic";case"i":return"inform6";case"d":return"dialog";default:return"text/x-csrc"}}async rebuild(){this.index.clear(),await this.index.init();let e=aa();if(!e)return;let t=[];e.iterateFiles((n,i)=>{if(typeof i!="string")return;let s=this.detectEditorStyle(n),o=fO(i,n,s,"project");t.push(...o)}),this.index.pushRecords(t)}};var ZM=new Set(["h","hh","hpp","inc","asm","a65","s","mac","defs","def","equ","i","m","c","bas","txt"]),XM=20,fh=class{constructor(){this.id="toolchain";this.kind="toolchain";this.fsName=null;this.files=[];this.loaded=new Map;this.readyPromise=null;this.batchSize=XM}async ready(){return this.readyPromise||(this.readyPromise=this.load()),this.readyPromise}async load(){let e=aa();if(!e)return;let t;try{t=e.getToolForFilename?e.getToolForFilename(e.mainPath):""}catch(o){t=""}let n=Cc(t,e.platform_id),i=Ac(t,e.platform_id);if(!n||!i.length)return;this.fsName=n;let s=new Set;for(let o of i){let a=await this.listFiles(o);for(let l of a)this.isSearchable(l)&&!s.has(l)&&(s.add(l),this.files.push(l))}this.files.sort();for(let o=0;o<this.files.length;o+=this.batchSize){let a=this.files.slice(o,o+this.batchSize),l=await Promise.all(a.map(async c=>{let d=await this.readFile(c);return[c,d]}));for(let[c,d]of l)d!=null&&this.loaded.set(c,d)}}isValid(){return this.fsName!=null&&this.files.length>0}async listFiles(e){let t=aa();if(!t||!this.fsName||!t.queryWorker)return[];try{let n={preload_fs:this.fsName,listshared:e,updates:[],buildsteps:[]},i=await t.queryWorker(n),s=i&&i.output;return Array.isArray(s)?s:[]}catch(n){return console.debug("Toolchain list error:",n),[]}}async readFile(e){let t=aa();if(!t||!this.fsName||!t.queryWorker)return null;try{let n={preload_fs:this.fsName,readshared:e,updates:[],buildsteps:[]},i=await t.queryWorker(n),s=i&&i.output;return s instanceof Uint8Array&&s.length>0?new TextDecoder().decode(s):null}catch(n){return console.debug("Toolchain read error:",n),null}}isSearchable(e){let t=e.split("/").pop()||e,n=t.lastIndexOf(".");return n<0?!0:ZM.has(t.substring(n+1).toLowerCase())}async query(e,t){return await this.ready(),!this.isValid()||e.length<2?[]:this.textQuery(e,t)}textQuery(e,t){if(e.length<2)return[];let n=e.toLowerCase(),i=[],s=Math.max(t,5);for(let[o,a]of this.loaded){let l=a.split(`
|
||||
`),c=0;for(let d=0;d<l.length;d++){let h=l[d],f=h.toLowerCase().indexOf(n);if(f>=0){let m=h.trim();if(!m)continue;if(i.push({record:{id:`toolchain:${o}:${d+1}`,name:m.length>80?m.slice(0,80)+"\u2026":m,kind:"text",source:"toolchain",file:o,line:d+1},score:200+Math.max(0,100-f*2),ranges:[f,f+e.length]}),++c>=s)break}}}return i.sort((o,a)=>a.score-o.score),i.slice(0,t)}invalidate(){this.fsName=null,this.files=[],this.loaded.clear(),this.readyPromise=null}};var xP=()=>[];function wP(r){xP=r}var zM=/<h([1-3])\b[^>]*>([\s\S]*?)<\/h\1>/gi;function WM(r){return r.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/&#(?:0*39|x27);/gi,"'").replace(/ /g," ").replace(/…/g,"\u2026").replace(/—/g,"\u2014").replace(/–/g,"\u2013").replace(/’|‘/g,"'").replace(/”|“/g,'"').replace(/»/g,"\xBB").replace(/«/g,"\xAB").replace(/&/g,"&")}function pO(r){return WM(r.replace(/<[^>]+>/g," ")).replace(/\s+/g," ").trim()}function BM(r,e=180){let t=r.trim();if(!t)return;let i=t.slice(0,e).match(/^([\s\S]*?[.!?])(?:\s|$)/);return i?i[1]:t.length<=e?t:t.slice(0,e-1)+"\u2026"}function VM(r){let e=[],t="#help/"+r.id,n=r.title||r.id,i=r.html||"",s=[],o=new RegExp(zM.source,"gi"),a;for(;a=o.exec(i);)s.push({name:pO(a[2]),start:a.index,end:o.lastIndex});let l=(u,f,m)=>{if(!f)return;let g=BM(m),v=g&&m.startsWith(g)?m.slice(g.length).trim():m;e.push({id:`${r.id}:${u}`,name:f,kind:"doc",brief:g,detail:v||void 0,source:"docs",file:n,url:t})},c=s.length?s[0].start:i.length,d=pO(i.slice(0,c)),h=s.length&&s[0].start===0?s[0].name||r.title:r.title||r.id;l(0,h,d);for(let u=0;u<s.length;u++){if(u===0&&s[0].start===0)continue;let f=u+1<s.length?s[u+1].start:i.length;l(u+1,s[u].name,pO(i.slice(s[u].end,f)))}return e}var ph=class{constructor(){this.id="docs";this.kind="docs";this.index=null;this.readyPromise=null}async ready(){return this.readyPromise?this.readyPromise:(this.readyPromise=this.load(),this.readyPromise)}async load(){let e=xP()||[];if(e.length===0)return;let t=[];for(let i of e)t.push(...VM(i));if(t.length===0)return;let n=new oa(t);await n.init(),this.index=n}async query(e,t){return await this.ready(),this.index?this.index.query(e,t):[]}};var YM=50,mO=class r{constructor(){this.sources=new Map;this.projectSource=new uh,this.toolchainSource=new fh,this.docsSource=new ph,this.sources.set("project",this.projectSource),this.sources.set("toolchain",this.toolchainSource),this.sources.set("docs",this.docsSource)}static getInstance(){return r.instance||(r.instance=new r),r.instance}parseQuery(e){return e.startsWith("#")?{needle:e.slice(1).trim(),filter:"symbols"}:e.startsWith(">")?{needle:e.slice(1).trim(),filter:"files"}:e.startsWith("?")?{needle:e.slice(1).trim(),filter:"docs"}:{needle:e,filter:"all"}}async query(e,t=YM){let{needle:n,filter:i}=this.parseQuery(e);if(!n)return[];let s=[],o=[];i==="docs"?o.push(this.docsSource):i==="files"?o.push(this.projectSource):i==="symbols"?(o.push(this.projectSource),o.push(this.toolchainSource)):(o.push(this.projectSource),o.push(this.toolchainSource),o.push(this.docsSource));for(let d of o)try{await d.ready();let h=await d.query(n,t-s.length);s.push(...h)}catch(h){console.debug("Search source error:",h)}s.sort((d,h)=>h.score-d.score);let a={project:1.3,toolchain:1,docs:.7};for(let d of s){let h=a[d.record.source]||1;d.score*=h}s.sort((d,h)=>h.score-d.score);let l=new Set;return s.filter(d=>l.has(d.record.id)?!1:(l.add(d.record.id),!0)).slice(0,t)}},PP=mO.getInstance();var kP=typeof String.prototype.normalize=="function"?r=>r.normalize("NFKD"):r=>r,as=class{constructor(e,t,n=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,i),this.bufferStart=n,this.normalize=s?a=>s(kP(a)):kP,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Mn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Bc(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=ji(e);let i=this.normalize(t);if(i.length)for(let s=0,o=n,a=!0;;s++){let l=i.charCodeAt(s),c=this.match(l,o,a,this.bufferPos+this.bufferStart,s==i.length-1);if(c)return this.value=c,this;if(s==i.length-1)break;a&&s<t.length&&t.charCodeAt(s)==l?o++:a=!1}}}match(e,t,n,i,s){let o=null;for(let a=0;a<this.matches.length;){let l=this.matches[a],c=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?o={from:l.from,to:i,precise:s&&l.precise}:(l.index++,c=!0)),c?a++:this.matches.splice(a,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?o={from:t,to:i,precise:n&&s}:this.matches.push({from:t,index:1,precise:n})),o&&this.test&&!this.test(o.from,o.to,this.buffer,this.bufferStart)&&(o=null)
Line truncated
|
||||
`:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new bO(this):new gO(this)}getCursor(e,t=0,n){let i=e.doc?e:Me.create({doc:e});return n==null&&(n=i.doc.length),this.regexp?ca(this,i,t,n):la(this,i,t,n)}},xh=class{constructor(e){this.spec=e}};function tL(r,e,t){return(n,i,s,o)=>{if(t&&!t(n,i,s,o))return!1;let a=n>=o&&i<=o+s.length?s.slice(n-o,i-o):e.doc.sliceString(n,i);return r(a,e,n,i)}}function la(r,e,t,n){let i;return r.wholeWord&&(i=rL(e.doc,e.charCategorizer(e.selection.main.head))),r.test&&(i=tL(r.test,e,i)),new as(e.doc,r.unquoted,t,n,r.caseSensitive?void 0:s=>s.toLowerCase(),i)}function rL(r,e){return(t,n,i,s)=>((s>t||s+i.length<n)&&(s=Math.max(0,t-2),i=r.sliceString(s,Math.min(r.length,n+2))),(e(wh(i,t-s))!=rt.Word||e(Ph(i,t-s))!=rt.Word)&&(e(Ph(i,n-s))!=rt.Word||e(wh(i,n-s))!=rt.Word))}var gO=class extends xh{constructor(e){super(e)}nextMatch(e,t,n){let i=la(this.spec,e,n,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=la(this.spec,e,0,s).nextOverlapping()}return i.done||i.value.from==t&&i.value.to==n?null:i.value}prevMatchInRange(e,t,n){for(let i=n;;){let s=Math.max(t,i-1e4-this.spec.unquoted.length),o=la(this.spec,e,s,i),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;i-=1e4}}prevMatch(e,t,n){let i=this.prevMatchInRange(e,0,t);return i||(i=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=t||i.to!=n)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=la(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let s=la(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}};function nL(r,e,t){return(n,i,s)=>(!t||t(n,i,s))&&r(s[0],e,n,i)}function ca(r,e,t,n){let i;return r.wholeWord&&(i=iL(e.charCategorizer(e.selection.main.head))),r.test&&(i=nL(r.test,e,i)),new gh(e.doc,r.search,{ignoreCase:!r.caseSensitive,test:i},t,n)}function wh(r,e){return r.slice(xt(r,e,!1),e)}function Ph(r,e){return r.slice(e,xt(r,e))}function iL(r){return(e,t,n)=>!n[0].length||(r(wh(n.input,n.index))!=rt.Word||r(Ph(n.input,n.index))!=rt.Word)&&(r(Ph(n.input,n.index+n[0].length))!=rt.Word||r(wh(n.input,n.index+n[0].length))!=rt.Word)}var bO=class extends xh{nextMatch(e,t,n){let i=ca(this.spec,e,n,e.doc.length).next();return i.done&&(i=ca(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,n){for(let i=1;;i++){let s=Math.max(t,n-i*1e4),o=ca(this.spec,e,s,n),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let i=n.length;i>0;i--){let s=+n.slice(0,i);if(s>0&&s<e.match.length)return e.match[s]+n.slice(i)}return t})}matchAll(e,t){let n=ca(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let s=ca(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}},El=be.define(),kO=be.define(),os=Ze.define({create(r){return new Cl(yO(r).create(),null)},update(r,e){for(let t of e.effects)t.is(El)?r=new Cl(t.value.create(),r.panel):t.is(kO)&&(r=new Cl(r.query,t.value?$O:null));return r},provide:r=>hl.from(r,e=>e.panel)});var Cl=class{constructor(e,t){this.query=e,this.panel=t}},sL=ee.mark({class:"cm-searchMatch"}),oL=ee.mark({class:"cm-searchMatch cm-searchMatch-selected"}),aL=at.fromClass(class{constructor(r){this.view=r,this.decorations=this.highlight(r.state.field(os))}update(r){let e=r.state.field(os);(e!=r.startState.field(os)||r.docChanged||r.selectionSet||r.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:r,panel:e}){if(!e||!r.spec.valid)return ee.none;let{view:t}=this,n=new Rn;for(let i=0,s=t.visibleRanges,o=s.length;i<o;i++){let{from:a,to:l}=s[i];for(;i<o-1&&l>s[i+1].from-500;)l=s[++i].to;r.highlight(t.state,a,l,(c,d)=>{let h=t.state.selection.ranges.some(u=>u.from==c&&u.to==d);n.add(c,d,h?oL:sL)})}return n.finish()}},{decorations:r=>r.decorations});function Rl(r){return e=>{let t=e.state.field(os,!1);return t&&t.query.spec.valid?r(e,t):Qh(e)}}var da=Rl((r,{query:e})=>{let{to:t}=r.state.selection.main,n=e.nextMatch(r.state,t,t);if(!n)return!1;let i=Z.single(n.from,n.to),s=r.state.facet(no);return r.dispatch({selection:i,effects:[QO(r,n),s.scrollToMatch(i.main,r)],userEvent:"select.search"}),CP(r),!0}),kh=Rl((r,{query:e})=>{let{state:t}=r,{from:n}=t.selection.main,i=e.prevMatch(t,n,n);if(
Line truncated
|
||||
`+t.scrub(),s=this.advance(i);return s>-1&&s<i.length?this.complete(e,n,s):!1}finish(e,t){return(this.stage==2||this.stage==3)&&Dl(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,n){return e.addLeafElement(t,Be(te.LinkReference,this.start,this.start+n,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(Y1(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(Be(te.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(B1(e,Dl(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=Dl(e,this.pos),n=0;if(t>this.pos){let i=V1(e,t,this.start);if(i){let s=cg(e,i.to-this.start);s>0&&(this.nextStage(i),n=s)}}return n||(n=cg(e,this.pos)),n>0&&n<e.length?n:-1}else return cg(e,this.pos)}}};function cg(r,e){for(;e<r.length;e++){let t=r.charCodeAt(e);if(t==10)break;if(!vn(t))return-1}return e}var Og=class{nextLine(e,t,n){let i=t.depth<e.stack.length?-1:R1(t),s=t.next;if(i<0)return!1;let o=Be(te.HeaderMark,e.lineStart+t.pos,e.lineStart+i);return e.nextLine(),e.addLeafElement(n,Be(s==61?te.SetextHeading1:te.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),o])),!0}finish(){return!1}},I1={LinkReference(r,e){return e.content.charCodeAt(0)==91?new mg(e):null},SetextHeading(){return new Og}},QD=[(r,e)=>E1(e)>=0,(r,e)=>_1(e)>=0,(r,e)=>A1(e)>=0,(r,e)=>wg(e,r,!0)>=0,(r,e)=>Pg(e,r,!0)>=0,(r,e)=>xg(e,r,!0)>=0,(r,e)=>D1(e,r,!0)>=0],TD={text:"",end:0},gg=class{constructor(e,t,n,i){this.parser=e,this.input=t,this.ranges=i,this.line=new ug,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=i[i.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=i[0].from,this.block=Rh.create(te.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new Sg(n,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let n=0;;){let i=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;n<e.markers.length&&(!i||e.markers[n].from<i.end);){let s=e.markers[n++];this.addNode(s.type,s.from,s.to)}if(!i)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let n of this.parser.blockParsers)if(n){let i=n(this,e);if(i!=!1){if(i==!0)return null;e.forward();continue e}}break}if(e.pos==e.text.length)return this.nextLine()?null:this.finish();let t=new hg(this.lineStart+e.pos,e.text.slice(e.pos));for(let n of this.parser.leafBlockParsers)if(n){let i=n(this,t);i&&t.parsers.push(i)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let n of this.parser.endLeafBlock)if(n(this,e,t))break e}for(let n of t.parsers)if(n.nextLine(this,e,t))return null;t.content+=`
|
||||
`+e.scrub();for(let n of e.markers)t.marks.push(n)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=F1(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=TD;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let n=this.absoluteLineStart,i=this.rangeI;for(;this.ranges[i].to<t.end;){i++;let s=this.ranges[i].from,o=this.lineChunkAt(s);t.end=s+o.length,t.text=t.text.slice(0,this.ranges[i-1].to-n)+o,n=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(t);e.depth<this.stack.length;e.depth++){let i=this.stack[e.depth],s=this.parser.skipContextMarkup[i.type];if(!s)throw new Error("Unhandled block context "+te[i.type]);let o=this.line.markers.length;if(!s(i,this,e)){this.line.markers.length>o&&(i.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),n;if(this.input.lineChunks)n=t==`
|
||||
`),d=0;for(let h=0;h<c.length;h++){let u=c[h],m=u.toLowerCase().indexOf(n);if(m>=0){let g=u.trim();if(!g)continue;if(i.push({record:{id:`text:${a}:${h+1}`,name:g.length>80?g.slice(0,80)+"\u2026":g,kind:"text",source:"project",file:a,line:h+1},score:200+Math.max(0,100-m*2),ranges:[m,m+e.length]}),++d>=s)break}}}),i):[]}async onFileChanged(e,t){let n=this.extractSymbolsFromFile(e,t,"project");this.index.pushRecords(n)}extractSymbolsFromFile(e,t,n){if(typeof t!="string")return[];let i=this.detectEditorStyle(e);return fO(t,e,i,n)}detectEditorStyle(e){var n;switch((n=e.split(".").pop())==null?void 0:n.toLowerCase()){case"c":case"h":return"text/x-csrc";case"asm":case"a65":case"inc":return"6502";case"v":return"verilog";case"wiz":return"text/x-wiz";case"bas":case"basic":return"basic";case"fb":case"fastbasic":return"fastbasic";case"bac":case"bataribasic":return"bataribasic";case"i":return"inform6";case"d":return"dialog";default:return"text/x-csrc"}}async rebuild(){this.index.clear(),await this.index.init();let e=aa();if(!e)return;let t=[];e.iterateFiles((n,i)=>{if(typeof i!="string")return;let s=this.detectEditorStyle(n),o=fO(i,n,s,"project");t.push(...o)}),this.index.pushRecords(t)}};var XM=new Set(["h","hh","hpp","inc","asm","a65","s","mac","defs","def","equ","i","m","c","bas","txt"]),zM=20,fh=class{constructor(){this.id="toolchain";this.kind="toolchain";this.fsName=null;this.files=[];this.loaded=new Map;this.readyPromise=null;this.batchSize=zM}async ready(){return this.readyPromise||(this.readyPromise=this.load()),this.readyPromise}async load(){let e=aa();if(!e)return;let t;try{t=e.getToolForFilename?e.getToolForFilename(e.mainPath):""}catch(o){t=""}let n=Cc(t,e.platform_id),i=Ac(t,e.platform_id);if(!n||!i.length)return;this.fsName=n;let s=new Set;for(let o of i){let a=await this.listFiles(o);for(let l of a)this.isSearchable(l)&&!s.has(l)&&(s.add(l),this.files.push(l))}this.files.sort();for(let o=0;o<this.files.length;o+=this.batchSize){let a=this.files.slice(o,o+this.batchSize),l=await Promise.all(a.map(async c=>{let d=await this.readFile(c);return[c,d]}));for(let[c,d]of l)d!=null&&this.loaded.set(c,d)}}isValid(){return this.fsName!=null&&this.files.length>0}async listFiles(e){let t=aa();if(!t||!this.fsName||!t.queryWorker)return[];try{let n={preload_fs:this.fsName,listshared:e,updates:[],buildsteps:[]},i=await t.queryWorker(n),s=i&&i.output;return Array.isArray(s)?s:[]}catch(n){return console.debug("Toolchain list error:",n),[]}}async readFile(e){let t=aa();if(!t||!this.fsName||!t.queryWorker)return null;try{let n={preload_fs:this.fsName,readshared:e,updates:[],buildsteps:[]},i=await t.queryWorker(n),s=i&&i.output;return s instanceof Uint8Array&&s.length>0?new TextDecoder().decode(s):null}catch(n){return console.debug("Toolchain read error:",n),null}}isSearchable(e){let t=e.split("/").pop()||e,n=t.lastIndexOf(".");return n<0?!0:XM.has(t.substring(n+1).toLowerCase())}async query(e,t){return await this.ready(),!this.isValid()||e.length<2?[]:this.textQuery(e,t)}textQuery(e,t){if(e.length<2)return[];let n=e.toLowerCase(),i=[],s=Math.max(t,5);for(let[o,a]of this.loaded){let l=a.split(`
|
||||
`),c=0;for(let d=0;d<l.length;d++){let h=l[d],f=h.toLowerCase().indexOf(n);if(f>=0){let m=h.trim();if(!m)continue;if(i.push({record:{id:`toolchain:${o}:${d+1}`,name:m.length>80?m.slice(0,80)+"\u2026":m,kind:"text",source:"toolchain",file:o,line:d+1},score:200+Math.max(0,100-f*2),ranges:[f,f+e.length]}),++c>=s)break}}}return i.sort((o,a)=>a.score-o.score),i.slice(0,t)}invalidate(){this.fsName=null,this.files=[],this.loaded.clear(),this.readyPromise=null}};var xP=()=>[];function wP(r){xP=r}var WM=/<h([1-3])\b[^>]*>([\s\S]*?)<\/h\1>/gi;function BM(r){return r.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/&#(?:0*39|x27);/gi,"'").replace(/ /g," ").replace(/…/g,"\u2026").replace(/—/g,"\u2014").replace(/–/g,"\u2013").replace(/’|‘/g,"'").replace(/”|“/g,'"').replace(/»/g,"\xBB").replace(/«/g,"\xAB").replace(/&/g,"&")}function pO(r){return BM(r.replace(/<[^>]+>/g," ")).replace(/\s+/g," ").trim()}function VM(r,e=180){let t=r.trim();if(!t)return;let i=t.slice(0,e).match(/^([\s\S]*?[.!?])(?:\s|$)/);return i?i[1]:t.length<=e?t:t.slice(0,e-1)+"\u2026"}function YM(r){let e=[],t="#help/"+r.id,n=r.title||r.id,i=r.html||"",s=[],o=new RegExp(WM.source,"gi"),a;for(;a=o.exec(i);)s.push({name:pO(a[2]),start:a.index,end:o.lastIndex});let l=(u,f,m)=>{if(!f)return;let g=VM(m),v=g&&m.startsWith(g)?m.slice(g.length).trim():m;e.push({id:`${r.id}:${u}`,name:f,kind:"doc",brief:g,detail:v||void 0,source:"docs",file:n,url:t})},c=s.length?s[0].start:i.length,d=pO(i.slice(0,c)),h=s.length&&s[0].start===0?s[0].name||r.title:r.title||r.id;l(0,h,d);for(let u=0;u<s.length;u++){if(u===0&&s[0].start===0)continue;let f=u+1<s.length?s[u+1].start:i.length;l(u+1,s[u].name,pO(i.slice(s[u].end,f)))}return e}var ph=class{constructor(){this.id="docs";this.kind="docs";this.index=null;this.readyPromise=null}async ready(){return this.readyPromise?this.readyPromise:(this.readyPromise=this.load(),this.readyPromise)}async load(){let e=xP()||[];if(e.length===0)return;let t=[];for(let i of e)t.push(...YM(i));if(t.length===0)return;let n=new oa(t);await n.init(),this.index=n}async query(e,t){return await this.ready(),this.index?this.index.query(e,t):[]}};var FM=50,mO=class r{constructor(){this.sources=new Map;this.projectSource=new uh,this.toolchainSource=new fh,this.docsSource=new ph,this.sources.set("project",this.projectSource),this.sources.set("toolchain",this.toolchainSource),this.sources.set("docs",this.docsSource)}static getInstance(){return r.instance||(r.instance=new r),r.instance}parseQuery(e){return e.startsWith("#")?{needle:e.slice(1).trim(),filter:"symbols"}:e.startsWith(">")?{needle:e.slice(1).trim(),filter:"files"}:e.startsWith("?")?{needle:e.slice(1).trim(),filter:"docs"}:{needle:e,filter:"all"}}async query(e,t=FM){let{needle:n,filter:i}=this.parseQuery(e);if(!n)return[];let s=[],o=[];i==="docs"?o.push(this.docsSource):i==="files"?o.push(this.projectSource):i==="symbols"?(o.push(this.projectSource),o.push(this.toolchainSource)):(o.push(this.projectSource),o.push(this.toolchainSource),o.push(this.docsSource));for(let d of o)try{await d.ready();let h=await d.query(n,t-s.length);s.push(...h)}catch(h){console.debug("Search source error:",h)}s.sort((d,h)=>h.score-d.score);let a={project:1.3,toolchain:1,docs:.7};for(let d of s){let h=a[d.record.source]||1;d.score*=h}s.sort((d,h)=>h.score-d.score);let l=new Set;return s.filter(d=>l.has(d.record.id)?!1:(l.add(d.record.id),!0)).slice(0,t)}},PP=mO.getInstance();var kP=typeof String.prototype.normalize=="function"?r=>r.normalize("NFKD"):r=>r,as=class{constructor(e,t,n=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,i),this.bufferStart=n,this.normalize=s?a=>s(kP(a)):kP,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Mn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Bc(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=ji(e);let i=this.normalize(t);if(i.length)for(let s=0,o=n,a=!0;;s++){let l=i.charCodeAt(s),c=this.match(l,o,a,this.bufferPos+this.bufferStart,s==i.length-1);if(c)return this.value=c,this;if(s==i.length-1)break;a&&s<t.length&&t.charCodeAt(s)==l?o++:a=!1}}}match(e,t,n,i,s){let o=null;for(let a=0;a<this.matches.length;){let l=this.matches[a],c=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?o={from:l.from,to:i,precise:s&&l.precise}:(l.index++,c=!0)),c?a++:this.matches.splice(a,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?o={from:t,to:i,precise:n&&s}:this.matches.push({from:t,index:1,precise:n})),o&&this.test&&!this.test(o.from,o.to,this.buffer,this.bufferStart)&&(o=null)
Line truncated
|
||||
`:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new bO(this):new gO(this)}getCursor(e,t=0,n){let i=e.doc?e:Me.create({doc:e});return n==null&&(n=i.doc.length),this.regexp?ca(this,i,t,n):la(this,i,t,n)}},xh=class{constructor(e){this.spec=e}};function rL(r,e,t){return(n,i,s,o)=>{if(t&&!t(n,i,s,o))return!1;let a=n>=o&&i<=o+s.length?s.slice(n-o,i-o):e.doc.sliceString(n,i);return r(a,e,n,i)}}function la(r,e,t,n){let i;return r.wholeWord&&(i=nL(e.doc,e.charCategorizer(e.selection.main.head))),r.test&&(i=rL(r.test,e,i)),new as(e.doc,r.unquoted,t,n,r.caseSensitive?void 0:s=>s.toLowerCase(),i)}function nL(r,e){return(t,n,i,s)=>((s>t||s+i.length<n)&&(s=Math.max(0,t-2),i=r.sliceString(s,Math.min(r.length,n+2))),(e(wh(i,t-s))!=rt.Word||e(Ph(i,t-s))!=rt.Word)&&(e(Ph(i,n-s))!=rt.Word||e(wh(i,n-s))!=rt.Word))}var gO=class extends xh{constructor(e){super(e)}nextMatch(e,t,n){let i=la(this.spec,e,n,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=la(this.spec,e,0,s).nextOverlapping()}return i.done||i.value.from==t&&i.value.to==n?null:i.value}prevMatchInRange(e,t,n){for(let i=n;;){let s=Math.max(t,i-1e4-this.spec.unquoted.length),o=la(this.spec,e,s,i),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;i-=1e4}}prevMatch(e,t,n){let i=this.prevMatchInRange(e,0,t);return i||(i=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=t||i.to!=n)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=la(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let s=la(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}};function iL(r,e,t){return(n,i,s)=>(!t||t(n,i,s))&&r(s[0],e,n,i)}function ca(r,e,t,n){let i;return r.wholeWord&&(i=sL(e.charCategorizer(e.selection.main.head))),r.test&&(i=iL(r.test,e,i)),new gh(e.doc,r.search,{ignoreCase:!r.caseSensitive,test:i},t,n)}function wh(r,e){return r.slice(xt(r,e,!1),e)}function Ph(r,e){return r.slice(e,xt(r,e))}function sL(r){return(e,t,n)=>!n[0].length||(r(wh(n.input,n.index))!=rt.Word||r(Ph(n.input,n.index))!=rt.Word)&&(r(Ph(n.input,n.index+n[0].length))!=rt.Word||r(wh(n.input,n.index+n[0].length))!=rt.Word)}var bO=class extends xh{nextMatch(e,t,n){let i=ca(this.spec,e,n,e.doc.length).next();return i.done&&(i=ca(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,n){for(let i=1;;i++){let s=Math.max(t,n-i*1e4),o=ca(this.spec,e,s,n),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let i=n.length;i>0;i--){let s=+n.slice(0,i);if(s>0&&s<e.match.length)return e.match[s]+n.slice(i)}return t})}matchAll(e,t){let n=ca(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let s=ca(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}},El=be.define(),kO=be.define(),os=Ze.define({create(r){return new Cl(yO(r).create(),null)},update(r,e){for(let t of e.effects)t.is(El)?r=new Cl(t.value.create(),r.panel):t.is(kO)&&(r=new Cl(r.query,t.value?$O:null));return r},provide:r=>hl.from(r,e=>e.panel)});var Cl=class{constructor(e,t){this.query=e,this.panel=t}},oL=ee.mark({class:"cm-searchMatch"}),aL=ee.mark({class:"cm-searchMatch cm-searchMatch-selected"}),lL=at.fromClass(class{constructor(r){this.view=r,this.decorations=this.highlight(r.state.field(os))}update(r){let e=r.state.field(os);(e!=r.startState.field(os)||r.docChanged||r.selectionSet||r.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:r,panel:e}){if(!e||!r.spec.valid)return ee.none;let{view:t}=this,n=new Rn;for(let i=0,s=t.visibleRanges,o=s.length;i<o;i++){let{from:a,to:l}=s[i];for(;i<o-1&&l>s[i+1].from-500;)l=s[++i].to;r.highlight(t.state,a,l,(c,d)=>{let h=t.state.selection.ranges.some(u=>u.from==c&&u.to==d);n.add(c,d,h?aL:oL)})}return n.finish()}},{decorations:r=>r.decorations});function Rl(r){return e=>{let t=e.state.field(os,!1);return t&&t.query.spec.valid?r(e,t):Qh(e)}}var da=Rl((r,{query:e})=>{let{to:t}=r.state.selection.main,n=e.nextMatch(r.state,t,t);if(!n)return!1;let i=Z.single(n.from,n.to),s=r.state.facet(no);return r.dispatch({selection:i,effects:[QO(r,n),s.scrollToMatch(i.main,r)],userEvent:"select.search"}),CP(r),!0}),kh=Rl((r,{query:e})=>{let{state:t}=r,{from:n}=t.selection.main,i=e.prevMatch(t,n,n);if(
Line truncated
|
||||
`+t.scrub(),s=this.advance(i);return s>-1&&s<i.length?this.complete(e,n,s):!1}finish(e,t){return(this.stage==2||this.stage==3)&&Dl(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,n){return e.addLeafElement(t,Be(te.LinkReference,this.start,this.start+n,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(Y1(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(Be(te.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(B1(e,Dl(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=Dl(e,this.pos),n=0;if(t>this.pos){let i=V1(e,t,this.start);if(i){let s=cg(e,i.to-this.start);s>0&&(this.nextStage(i),n=s)}}return n||(n=cg(e,this.pos)),n>0&&n<e.length?n:-1}else return cg(e,this.pos)}}};function cg(r,e){for(;e<r.length;e++){let t=r.charCodeAt(e);if(t==10)break;if(!vn(t))return-1}return e}var Og=class{nextLine(e,t,n){let i=t.depth<e.stack.length?-1:R1(t),s=t.next;if(i<0)return!1;let o=Be(te.HeaderMark,e.lineStart+t.pos,e.lineStart+i);return e.nextLine(),e.addLeafElement(n,Be(s==61?te.SetextHeading1:te.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),o])),!0}finish(){return!1}},I1={LinkReference(r,e){return e.content.charCodeAt(0)==91?new mg(e):null},SetextHeading(){return new Og}},TD=[(r,e)=>E1(e)>=0,(r,e)=>_1(e)>=0,(r,e)=>A1(e)>=0,(r,e)=>wg(e,r,!0)>=0,(r,e)=>Pg(e,r,!0)>=0,(r,e)=>xg(e,r,!0)>=0,(r,e)=>D1(e,r,!0)>=0],_D={text:"",end:0},gg=class{constructor(e,t,n,i){this.parser=e,this.input=t,this.ranges=i,this.line=new ug,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=i[i.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=i[0].from,this.block=Rh.create(te.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new Sg(n,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let n=0;;){let i=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;n<e.markers.length&&(!i||e.markers[n].from<i.end);){let s=e.markers[n++];this.addNode(s.type,s.from,s.to)}if(!i)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let n of this.parser.blockParsers)if(n){let i=n(this,e);if(i!=!1){if(i==!0)return null;e.forward();continue e}}break}if(e.pos==e.text.length)return this.nextLine()?null:this.finish();let t=new hg(this.lineStart+e.pos,e.text.slice(e.pos));for(let n of this.parser.leafBlockParsers)if(n){let i=n(this,t);i&&t.parsers.push(i)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let n of this.parser.endLeafBlock)if(n(this,e,t))break e}for(let n of t.parsers)if(n.nextLine(this,e,t))return null;t.content+=`
|
||||
`+e.scrub();for(let n of e.markers)t.marks.push(n)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=F1(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=_D;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let n=this.absoluteLineStart,i=this.rangeI;for(;this.ranges[i].to<t.end;){i++;let s=this.ranges[i].from,o=this.lineChunkAt(s);t.end=s+o.length,t.text=t.text.slice(0,this.ranges[i-1].to-n)+o,n=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(t);e.depth<this.stack.length;e.depth++){let i=this.stack[e.depth],s=this.parser.skipContextMarkup[i.type];if(!s)throw new Error("Unhandled block context "+te[i.type]);let o=this.line.markers.length;if(!s(i,this,e)){this.line.markers.length>o&&(i.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),n;if(this.input.lineChunks)n=t==`
|
||||
`?"":t;else{let i=t.indexOf(`
|
||||
`);n=i<0?t:t.slice(0,i)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Rh.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new Ee(this.parser.nodeSet.types[e],fa,fa,(n!=null?n:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(yg(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Z1(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=yg(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(te.Paragraph,e.content.length),e.start)}elt(e,t,n,i){return typeof e=="string"?Be(this.parser.getNodeType(e),t,n,i):new Lh(e,t)}get buffer(){return new Mh(this.parser.nodeSet)}};function Z1(r,e,t,n,i){let s=r[e].to,o=[],a=[],l=t.from+n;function c(d,h){for(;h?d>=s:d>s;){let u=r[e+1].from-s;n+=u,d+=u,e++,s=r[e].to}}for(let d=t.firstChild;d;d=d.nextSibling){c(d.from+n,!0);let h=d.from+n,u,f=i.get(d.tree);f?u=f:d.to+n>s?(u=Z1(r,e,d,n,i),c(d.to+n,!1)):u=d.toTree(),o.push(u),a.push(h-l)}return c(t.to+n,!1),new Ee(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Zl=class r extends _i{constructor(e,t,n,i,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=i,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let d of e.types)this.nodeTypes[d.name]=d.id}createParse(e,t,n){let i=new gg(this,e,t,n);for(let s of this.wrappers)i=s(i,e,t,n);return i}configure(e){let t=bg(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:i}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),d=this.endLeafBlock.slice(),h=this.wrappers;if(Ll(t.defineNodes)){i=Object.assign({},i);let u=n.types.slice(),f;for(let m of t.defineNodes){let{name:g,block:v,composite:k,style:L}=typeof m=="string"?{name:m}:m;if(u.some(w=>w.name==g))continue;k&&(i[u.length]=(w,x,R)=>k(x,R,w.value));let M=u.length,D=k?["Block","BlockContext"]:v?M>=te.ATXHeading1&&M<=te.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(bt.define({id:M,name:g,props:D&&[[xe.group,D]]})),L&&(f||(f={}),Array.isArray(L)||L instanceof Ur?f[g]=L:Object.assign(f,L))}n=new Qi(u),f&&(n=n.extend(Ht(f)))}if(Ll(t.props)&&(n=n.extend(...t.props)),Ll(t.remove))for(let u of t.remove){let f=this.blockNames.indexOf(u),m=this.inlineNames.indexOf(u);f>-1&&(s[f]=o[f]=void 0),m>-1&&(l[m]=void 0)}if(Ll(t.parseBlock))for(let u of t.parseBlock){let f=a.indexOf(u.name);if(f>-1)s[f]=u.parse,o[f]=u.leaf;else{let m=u.before?Eh(a,u.before):u.after?Eh(a,u.after)+1:a.length-1;s.splice(m,0,u.parse),o.splice(m,0,u.leaf),a.splice(m,0,u.name)}u.endLeaf&&d.push(u.endLeaf)}if(Ll(t.parseInline))for(let u of t.parseInline){let f=c.indexOf(u.name);if(f>-1)l[f]=u.parse;else{let m=u.before?Eh(c,u.before):u.after?Eh(c,u.after)+1:c.length-1;l.splice(m,0,u.parse),c.splice(m,0,u.name)}}return t.wrap&&(h=h.concat(t.wrap)),new r(n,s,o,a,d,i,l,c,h)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new zl(this,e,t);e:for(let i=t;i<n.end;){let s=n.char(i);for(let o of this.inlineParsers)if(o){let a=o(n,s,i);if(a>=0){i=a;continue e}}i++}return n.resolveMarkers(0)}};function Ll(r){return r!=null&&r.length>0}function bg(r){if(!Array.isArray(r))return r;if(r.length==0)return null;let e=bg(r[0]);if(r.length==1)return e;let t=bg(r.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||fa).concat(a||fa),i=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:i?s?(o,a,l,c)=>i(s(o,a,l,c),a,l,c):i:s}}function Eh(r,e){let t=r.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var X1=[bt.none];for(let r=1,e;e=te[r];r++)X1[r]=bt.define({id:r,name:e,props:r>=te.Escape?[]:[[xe.group,r in T1?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var fa=[],Mh=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e
Line truncated
|
||||
`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let i=e+this.fragment.offset;for(;n.to<=i;)if(!n.parent())return!1;for(;;){if(n.from>=i)return this.fragment.from<=t;if(!n.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(xe.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let d=F1(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,d);else{let h=new Ee(e.parser.nodeSet.types[te.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(h,t.tree),e.addNode(h,d)}if(t.type.is("Block")&&(AD.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function F1(r,e){let t=r;for(let n=1;n<e.length;n++){let i=e[n-1].to,s=e[n].from;i<r&&(t-=s-i)}return t}var CD=Ht({"Blockquote/...":O.quote,HorizontalRule:O.contentSeparator,"ATXHeading1/... SetextHeading1/...":O.heading1,"ATXHeading2/... SetextHeading2/...":O.heading2,"ATXHeading3/...":O.heading3,"ATXHeading4/...":O.heading4,"ATXHeading5/...":O.heading5,"ATXHeading6/...":O.heading6,"Comment CommentBlock":O.comment,Escape:O.escape,Entity:O.character,"Emphasis/...":O.emphasis,"StrongEmphasis/...":O.strong,"Link/... Image/...":O.link,"OrderedList/... BulletList/...":O.list,"BlockQuote/...":O.quote,"InlineCode CodeText":O.monospace,"URL Autolink":O.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":O.processingInstruction,"CodeInfo LinkLabel":O.labelName,LinkTitle:O.string,Paragraph:O.content}),N1=new Zl(new Qi(X1).extend(CD),Object.keys(Ch).map(r=>Ch[r]),Object.keys(Ch).map(r=>I1[r]),Object.keys(Ch),QD,T1,Object.keys(dg).map(r=>dg[r]),Object.keys(dg),[]);function ED(r,e,t){let n=[];for(let i=r.firstChild,s=e;;i=i.nextSibling){let o=i?i.from:t;if(o>s&&n.push({from:s,to:o}),!i)break;s=i.to}return n}function j1(r){let{codeParser:e,htmlParser:t}=r;return{wrap:Dd((i,s)=>{let o=i.type.id;if(e&&(o==te.CodeBlock||o==te.FencedCode)){let a="";if(o==te.FencedCode){let c=i.node.getChild(te.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==te.CodeText,bracketed:o==te.FencedCode}}else if(t&&(o==te.HTMLBlock||o==te.HTMLTag||o==te.CommentBlock))return{parser:t,overlay:ED(i.node,i.from,i.to)};return null})}}var RD={resolve:"Strikethrough",mark:"StrikethroughMark"},MD={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":O.strikethrough}},{name:"StrikethroughMark",style:O.processingInstruction}],parseInline:[{name:"Strikethrough",parse(r,e,t){if(e!=126||r.char(t+1)!=126||r.char(t+2)==126)return-1;let n=r.slice(t-1,t),i=r.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(i),a=Xl.test(n),l=Xl.test(i);return r.addDelimiter(RD,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Il(r,e,t=0,n,i=0){let s=0,o=!0,a=-1,l=-1,c=!1,d=()=>{n.push(r.elt("TableCell",i+a,i+l,r.parser.parseInline(e.slice(a,l),i+a)))};for(let h=t;h<e.length;h++){let u=e.charCodeAt(h);u==124&&!c?((!o||a>-1)&&s++,o=!1,n&&(a>-1&&d(),n.push(r.elt("TableDelimiter",h+i,h+i+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=h),l=h+1),c=!c&&u==92}return a>-1&&(s++,n&&d()),s}function v1(r,e){for(let t=e;t<r.length;t++){let n=r.charCodeAt(t);if(n==124)return!0;n==92&&t++}return!1}var U1=/^[>\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,Ih=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let i;if((t.next==45||t.next==58||t.next==124)&&U1.test(i=t.text.slice(t.pos))){let s=[];Il(e,n.content,0,s,n.start)==Il(e,i,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let i=[];Il(e,t.text,t.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,i))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},LD={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":O.heading}},"TableRow",{name:"TableCell",style:O.content},{name:"TableDelimiter",style:O.processingInstruction}],parseBlock:[{name:"Table",leaf(r,e){return v1(e.content,0)?new Ih:null},endLeaf(r,e,t){if(t.parsers.some(i=>i instanceof Ih)||!v1(e.text,e.basePos))return!1;let n=r.peekLine();return U1.test(n)&&Il(r,e.text,e.basePos)==Il(r,n,e.basePos)},before:"SetextHeading"}]},vg=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},DD={defineNodes:[{name:"Task",block:!0,style:O.list},{name:"TaskMarker",style:O.atom}],pa
Line truncated
|
||||
`);n=i<0?t:t.slice(0,i)}return e+n.length>this.to?n.slice(0,this.to-e):n}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=Rh.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){typeof e=="number"&&(e=new Ee(this.parser.nodeSet.types[e],fa,fa,(n!=null?n:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(yg(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Z1(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let n of e.parsers)if(n.finish(this,e))return;let t=yg(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(te.Paragraph,e.content.length),e.start)}elt(e,t,n,i){return typeof e=="string"?Be(this.parser.getNodeType(e),t,n,i):new Lh(e,t)}get buffer(){return new Mh(this.parser.nodeSet)}};function Z1(r,e,t,n,i){let s=r[e].to,o=[],a=[],l=t.from+n;function c(d,h){for(;h?d>=s:d>s;){let u=r[e+1].from-s;n+=u,d+=u,e++,s=r[e].to}}for(let d=t.firstChild;d;d=d.nextSibling){c(d.from+n,!0);let h=d.from+n,u,f=i.get(d.tree);f?u=f:d.to+n>s?(u=Z1(r,e,d,n,i),c(d.to+n,!1)):u=d.toTree(),o.push(u),a.push(h-l)}return c(t.to+n,!1),new Ee(t.type,o,a,t.to+n-l,t.tree?t.tree.propValues:void 0)}var Zl=class r extends _i{constructor(e,t,n,i,s,o,a,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=i,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let d of e.types)this.nodeTypes[d.name]=d.id}createParse(e,t,n){let i=new gg(this,e,t,n);for(let s of this.wrappers)i=s(i,e,t,n);return i}configure(e){let t=bg(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:i}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),d=this.endLeafBlock.slice(),h=this.wrappers;if(Ll(t.defineNodes)){i=Object.assign({},i);let u=n.types.slice(),f;for(let m of t.defineNodes){let{name:g,block:v,composite:k,style:L}=typeof m=="string"?{name:m}:m;if(u.some(w=>w.name==g))continue;k&&(i[u.length]=(w,x,R)=>k(x,R,w.value));let M=u.length,D=k?["Block","BlockContext"]:v?M>=te.ATXHeading1&&M<=te.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(bt.define({id:M,name:g,props:D&&[[xe.group,D]]})),L&&(f||(f={}),Array.isArray(L)||L instanceof qr?f[g]=L:Object.assign(f,L))}n=new Qi(u),f&&(n=n.extend(Kt(f)))}if(Ll(t.props)&&(n=n.extend(...t.props)),Ll(t.remove))for(let u of t.remove){let f=this.blockNames.indexOf(u),m=this.inlineNames.indexOf(u);f>-1&&(s[f]=o[f]=void 0),m>-1&&(l[m]=void 0)}if(Ll(t.parseBlock))for(let u of t.parseBlock){let f=a.indexOf(u.name);if(f>-1)s[f]=u.parse,o[f]=u.leaf;else{let m=u.before?Eh(a,u.before):u.after?Eh(a,u.after)+1:a.length-1;s.splice(m,0,u.parse),o.splice(m,0,u.leaf),a.splice(m,0,u.name)}u.endLeaf&&d.push(u.endLeaf)}if(Ll(t.parseInline))for(let u of t.parseInline){let f=c.indexOf(u.name);if(f>-1)l[f]=u.parse;else{let m=u.before?Eh(c,u.before):u.after?Eh(c,u.after)+1:c.length-1;l.splice(m,0,u.parse),c.splice(m,0,u.name)}}return t.wrap&&(h=h.concat(t.wrap)),new r(n,s,o,a,d,i,l,c,h)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new zl(this,e,t);e:for(let i=t;i<n.end;){let s=n.char(i);for(let o of this.inlineParsers)if(o){let a=o(n,s,i);if(a>=0){i=a;continue e}}i++}return n.resolveMarkers(0)}};function Ll(r){return r!=null&&r.length>0}function bg(r){if(!Array.isArray(r))return r;if(r.length==0)return null;let e=bg(r[0]);if(r.length==1)return e;let t=bg(r.slice(1));if(!t||!e)return e||t;let n=(o,a)=>(o||fa).concat(a||fa),i=e.wrap,s=t.wrap;return{props:n(e.props,t.props),defineNodes:n(e.defineNodes,t.defineNodes),parseBlock:n(e.parseBlock,t.parseBlock),parseInline:n(e.parseInline,t.parseInline),remove:n(e.remove,t.remove),wrap:i?s?(o,a,l,c)=>i(s(o,a,l,c),a,l,c):i:s}}function Eh(r,e){let t=r.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var X1=[bt.none];for(let r=1,e;e=te[r];r++)X1[r]=bt.define({id:r,name:e,props:r>=te.Escape?[]:[[xe.group,r in T1?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var fa=[],Mh=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e
Line truncated
|
||||
`;)s--;this.fragmentEnd=s?s-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let i=e+this.fragment.offset;for(;n.to<=i;)if(!n.parent())return!1;for(;;){if(n.from>=i)return this.fragment.from<=t;if(!n.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(xe.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,c=a;for(;;){if(t.to-n>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let d=F1(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,d);else{let h=new Ee(e.parser.nodeSet.types[te.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(h,t.tree),e.addNode(h,d)}if(t.type.is("Block")&&(CD.indexOf(t.type.id)<0?(o=t.to-n,a=e.block.children.length):(o=l,a=c),l=t.to-n,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function F1(r,e){let t=r;for(let n=1;n<e.length;n++){let i=e[n-1].to,s=e[n].from;i<r&&(t-=s-i)}return t}var ED=Kt({"Blockquote/...":O.quote,HorizontalRule:O.contentSeparator,"ATXHeading1/... SetextHeading1/...":O.heading1,"ATXHeading2/... SetextHeading2/...":O.heading2,"ATXHeading3/...":O.heading3,"ATXHeading4/...":O.heading4,"ATXHeading5/...":O.heading5,"ATXHeading6/...":O.heading6,"Comment CommentBlock":O.comment,Escape:O.escape,Entity:O.character,"Emphasis/...":O.emphasis,"StrongEmphasis/...":O.strong,"Link/... Image/...":O.link,"OrderedList/... BulletList/...":O.list,"BlockQuote/...":O.quote,"InlineCode CodeText":O.monospace,"URL Autolink":O.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":O.processingInstruction,"CodeInfo LinkLabel":O.labelName,LinkTitle:O.string,Paragraph:O.content}),N1=new Zl(new Qi(X1).extend(ED),Object.keys(Ch).map(r=>Ch[r]),Object.keys(Ch).map(r=>I1[r]),Object.keys(Ch),TD,T1,Object.keys(dg).map(r=>dg[r]),Object.keys(dg),[]);function RD(r,e,t){let n=[];for(let i=r.firstChild,s=e;;i=i.nextSibling){let o=i?i.from:t;if(o>s&&n.push({from:s,to:o}),!i)break;s=i.to}return n}function j1(r){let{codeParser:e,htmlParser:t}=r;return{wrap:Dd((i,s)=>{let o=i.type.id;if(e&&(o==te.CodeBlock||o==te.FencedCode)){let a="";if(o==te.FencedCode){let c=i.node.getChild(te.CodeInfo);c&&(a=s.read(c.from,c.to))}let l=e(a);if(l)return{parser:l,overlay:c=>c.type.id==te.CodeText,bracketed:o==te.FencedCode}}else if(t&&(o==te.HTMLBlock||o==te.HTMLTag||o==te.CommentBlock))return{parser:t,overlay:RD(i.node,i.from,i.to)};return null})}}var MD={resolve:"Strikethrough",mark:"StrikethroughMark"},LD={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":O.strikethrough}},{name:"StrikethroughMark",style:O.processingInstruction}],parseInline:[{name:"Strikethrough",parse(r,e,t){if(e!=126||r.char(t+1)!=126||r.char(t+2)==126)return-1;let n=r.slice(t-1,t),i=r.slice(t+2,t+3),s=/\s|^$/.test(n),o=/\s|^$/.test(i),a=Xl.test(n),l=Xl.test(i);return r.addDelimiter(MD,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Il(r,e,t=0,n,i=0){let s=0,o=!0,a=-1,l=-1,c=!1,d=()=>{n.push(r.elt("TableCell",i+a,i+l,r.parser.parseInline(e.slice(a,l),i+a)))};for(let h=t;h<e.length;h++){let u=e.charCodeAt(h);u==124&&!c?((!o||a>-1)&&s++,o=!1,n&&(a>-1&&d(),n.push(r.elt("TableDelimiter",h+i,h+i+1))),a=l=-1):(c||u!=32&&u!=9)&&(a<0&&(a=h),l=h+1),c=!c&&u==92}return a>-1&&(s++,n&&d()),s}function v1(r,e){for(let t=e;t<r.length;t++){let n=r.charCodeAt(t);if(n==124)return!0;n==92&&t++}return!1}var U1=/^[>\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,Ih=class{constructor(){this.rows=null}nextLine(e,t,n){if(this.rows==null){this.rows=!1;let i;if((t.next==45||t.next==58||t.next==124)&&U1.test(i=t.text.slice(t.pos))){let s=[];Il(e,n.content,0,s,n.start)==Il(e,i,0)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let i=[];Il(e,t.text,t.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,i))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},DD={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":O.heading}},"TableRow",{name:"TableCell",style:O.content},{name:"TableDelimiter",style:O.processingInstruction}],parseBlock:[{name:"Table",leaf(r,e){return v1(e.content,0)?new Ih:null},endLeaf(r,e,t){if(t.parsers.some(i=>i instanceof Ih)||!v1(e.text,e.basePos))return!1;let n=r.peekLine();return U1.test(n)&&Il(r,e.text,e.basePos)==Il(r,n,e.basePos)},before:"SetextHeading"}]},vg=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},ID={defineNodes:[{name:"Task",block:!0,style:O.list},{name:"TaskMarker",style:O.atom}],pa
Line truncated
|
||||
\${}
|
||||
} catch (\${error}) {
|
||||
\${}
|
||||
@@ -66,37 +66,37 @@ Connect your audio output to the SuperCharger input, turn up the volume, and pla
|
||||
constructor(\${params}) {
|
||||
\${}
|
||||
}
|
||||
}`,{label:"class",detail:"definition",type:"keyword"}),vr('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),vr('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],RZ=Dk.concat([vr("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),vr("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),vr("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Rk=new jo,Ik=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Vl(r){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,r),!0}}var MZ=["FunctionDeclaration"],LZ={FunctionDeclaration:Vl("function"),ClassDeclaration:Vl("class"),ClassExpression:()=>!0,EnumDeclaration:Vl("constant"),TypeAliasDeclaration:Vl("type"),NamespaceDeclaration:Vl("namespace"),VariableDefinition(r,e){r.matchContext(MZ)||e(r,"variable")},TypeDefinition(r,e){e(r,"type")},__proto__:null};function Zk(r,e){let t=Rk.get(e);if(t)return t;let n=[],i=!0;function s(o,a){let l=r.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(We.IncludeAnonymous).iterate(o=>{if(i)i=!1;else if(o.name){let a=LZ[o.name];if(a&&a(o,s)||Ik.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Zk(r,o.node))n.push(a);return!1}}),Rk.set(e,n),n}var Mk=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Xk=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function DZ(r){let e=ze(r.state).resolveInner(r.pos,-1);if(Xk.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Mk.test(r.state.sliceDoc(e.from,e.to));if(!t&&!r.explicit)return null;let n=[];for(let i=e;i;i=i.parent)Ik.has(i.name)&&(n=n.concat(Zk(r.state.doc,i)));return{options:n,from:t?e.from:r.pos,validFor:Mk}}var Bn=Kt.define({name:"javascript",parser:Ek.configure({props:[Cr.add({IfStatement:qr({except:/^\s*({|else\b)/}),TryStatement:qr({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:ox,SwitchBody:r=>{let e=r.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return r.baseIndent+(t?0:n?1:2)*r.unit},Block:Go({closing:"}"}),ArrowFunction:r=>r.baseIndent+r.unit,"TemplateString BlockComment":()=>null,"Statement Property":qr({except:/^\s*{/}),JSXElement(r){let e=/^\s*<\//.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},JSXEscape(r){let e=/\s*\}/.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},"JSXOpenTag JSXSelfClosingTag"(r){return r.column(r.node.from)+r.unit}}),dr.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Vt,BlockComment(r){return{from:r.from+2,to:r.to-2}},JSXElement(r){let e=r.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=r.lastChild;return{from:e.to,to:t.type.isError?r.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(r){var e;let t=(e=r.firstChild)===null||e===void 0?void 0:e.nextSibling,n=r.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?r.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),zk={test:r=>/^JSX/.test(r.name),facet:Uo({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xg=Bn.configure({dialect:"ts"},"typescript"),zg=Bn.configure({dialect:"jsx",props:[Yd.add(r=>r.isTop?[zk]:void 0)]}),Wg=Bn.configure({dialect:"jsx ts",props:[Yd.add(r=>r.isTop?[zk]:void 0)]},"typescript"),Wk=r=>({label:r,type:"keyword"}),Bk="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Wk),IZ=Bk.concat(["declare","implements","private","protected","public"].map(Wk));function Vk(r={}){let e=r.jsx?r.typescript?Wg:zg:r.typescript?Xg:Bn,t=r.typescript?RZ.concat(IZ):Dk.concat(Bk);return new Fe(e,[Bn.data.of({autocomplete:$x(Xk,kx(t))}),Bn.data.of({autocomplete:DZ}),r.jsx?zZ:[]])}function ZZ(r){for(;;){if(r.name=="JSXOpenTag"||r.name=="JSXSelfClosingTag"||r.name=="JSXFragmentTag")return r;if(r.name=="JSXEscape"||!r.parent)return null;r=r.parent}}function Lk(r,e,t=r.length){for(let n=e==null?void 0:e.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return r.sliceString(n.from,Math.min(n.to,t));return""}var XZ=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),zZ=N.inputHandler.of((r,e,t,n,i)=>{if((XZ?r.composing:r.compositionStarted)||r.state.readOnly||e!=t||n!=">"&&n!="/"||!Bn.isActiveAt(r.state,e,-1))return!1;let s=i(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:d}=l,h=ze(o).resol
Line truncated
|
||||
`);for(let l of a){b$.lastIndex=0;let c=b$.exec(l);if(c){let d=o+c.index+c[0].length;t.push(ee.widget({widget:new ib(c[0],e),side:-1}).range(d))}o+=l.length+1}}return ee.set(t,!0)}function S$(r){let e;function t(n){let i=e.posAtDOM(n);r(e.state.doc.lineAt(i).number)}return at.fromClass(class{constructor(n){e=n,this.decorations=y$(n,t)}update(n){e=n.view,(n.docChanged||n.viewportChanged)&&(this.decorations=y$(n.view,t))}},{decorations:n=>n.decorations})}var sb=class extends Tt{constructor(t,n,i){super();this.filename=t;this.system=n;this.handleClick=i}toDOM(){let t=document.createElement("span");return t.className="include-link-badge",t.textContent="\u2192",t.title=(this.system?"System header: ":"View ")+this.filename,t.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation(),this.handleClick(this.filename,this.system)}),t}eq(t){return this.filename===t.filename&&this.system===t.system}ignoreEvent(){return!1}};function S5(r,e,t){let n=[],i=r.state.doc,s=new Set;for(let{from:o,to:a}of r.visibleRanges){let l=r.state.sliceDoc(o,a);for(let c of e){let d=c instanceof RegExp?{re:c}:c;d.re.lastIndex=0;let h;for(;h=d.re.exec(l);){let u=h[d.group!=null?d.group:h.length-1];if(!u)continue;let f=d.suffix?u+d.suffix:u,m=Math.min(o+h.index+h[0].length,i.length),g=i.lineAt(m),v=g.number+":"+f;s.has(v)||(s.add(v),n.push(ee.widget({widget:new sb(f,!!d.system,t),side:1}).range(g.to)))}}}return ee.set(n,!0)}function v$(r,e){function t(n){let i=r();return!i||!i.length?ee.none:S5(n,i,e)}return at.fromClass(class{constructor(n){this.decorations=t(n)}update(n){(n.docChanged||n.viewportChanged)&&(this.decorations=t(n.view))}},{decorations:n=>n.decorations})}var hs=window.matchMedia&&window.matchMedia("only screen and (max-width: 760px)").matches;function xn(r,e){var t=$(document.createElement("div"));return r&&t.appendTo(r),e&&t.addClass(e),t}function v5(r){return Me.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input")||!r.input)return e;let t=[],n=!1;if(e.changes.iterChanges((o,a,l,c,d)=>{let h=d.toString(),u=r.input(h);t.push({from:o,to:a,insert:u}),u!==h&&(n=!0)}),!n)return e;let i=e.annotation(dt.userEvent),s=e.annotation(dt.addToHistory);return{changes:t,selection:e.selection,effects:e.effects,scrollIntoView:e.scrollIntoView,annotations:[...i!=null?[dt.userEvent.of(i)]:[],...s!=null?[dt.addToHistory.of(s)]:[]]}})}var ob=new Bt;function x$(r){return ob.reconfigure(v5(r))}var w$=be.define(),P$=be.define(),k$=be.define(),$$=be.define(),Q$=be.define(),T$=be.define(),_$=be.define(),lb=be.define(),A$=be.define(),C$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(w$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new Nh(Ce(o,4)).range(a))}r=Te.of(i,!0)}return r}}),E$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(P$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new jh(o).range(a))}r=Te.of(i,!0)}return r}}),R$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(k$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new Uh(o).range(a))}r=Te.of(i,!0)}return r}}),M$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(Q$)){let n=[],i=t.value.filter(s=>s.line>=1&&s.line<=e.state.doc.lines).sort((s,o)=>s.line-o.line);for(let s of i){let o=e.state.doc.line(s.line).from;n.push((s.enabled?w5:P5).range(o))}r=Te.of(n,!0)}return r}}),ab=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(T$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new Gh(s,o).range(a))}r=Te.of(i,!0)}return r}}),L$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(_$))if(t.value===null)r=Te.empty;else{let n=t.value;if(n>=1&&n<=e.state.doc.lines){let i=e.state.doc.line(n).from;r=Te.of(D$.range(i))}}return r}}),Nh=class extends Pt{constructor(t){super();this.hex=t}toDOM(){let t=document.createElement("span");return t.className="gutter-offset-marker",t.textContent=this.hex,t.title="Click to run to here",t}eq(t){return this.hex==t.hex}},jh=class extends Pt{constructor(t){super();this.bytes=t}toDOM(){return document.createTextNode(this.bytes)}eq(t){return this.bytes==t.bytes}},Uh=class extends Pt{constructor(t){super();this.clock=t}toDOM(){return document.createTextNode(this.clock)}eq(t){return this.clock==t.clock}},x5=new class extends Pt{toDOM(){let r=document.createElement("span");return r.className="gutter-breakpoint-placeholder",r.textContent="\u25CF",r}},qh=class extends Pt{constructor(t){super();this.enabled=t}toDOM(){let t=document.createElement("span");return t.className="gutter-breakpoin
Line truncated
|
||||
}`,{label:"class",detail:"definition",type:"keyword"}),vr('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),vr('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],MZ=Dk.concat([vr("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),vr("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),vr("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Rk=new jo,Ik=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Vl(r){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,r),!0}}var LZ=["FunctionDeclaration"],DZ={FunctionDeclaration:Vl("function"),ClassDeclaration:Vl("class"),ClassExpression:()=>!0,EnumDeclaration:Vl("constant"),TypeAliasDeclaration:Vl("type"),NamespaceDeclaration:Vl("namespace"),VariableDefinition(r,e){r.matchContext(LZ)||e(r,"variable")},TypeDefinition(r,e){e(r,"type")},__proto__:null};function Zk(r,e){let t=Rk.get(e);if(t)return t;let n=[],i=!0;function s(o,a){let l=r.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(We.IncludeAnonymous).iterate(o=>{if(i)i=!1;else if(o.name){let a=DZ[o.name];if(a&&a(o,s)||Ik.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of Zk(r,o.node))n.push(a);return!1}}),Rk.set(e,n),n}var Mk=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Xk=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function IZ(r){let e=ze(r.state).resolveInner(r.pos,-1);if(Xk.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Mk.test(r.state.sliceDoc(e.from,e.to));if(!t&&!r.explicit)return null;let n=[];for(let i=e;i;i=i.parent)Ik.has(i.name)&&(n=n.concat(Zk(r.state.doc,i)));return{options:n,from:t?e.from:r.pos,validFor:Mk}}var Bn=Jt.define({name:"javascript",parser:Ek.configure({props:[Cr.add({IfStatement:Gr({except:/^\s*({|else\b)/}),TryStatement:Gr({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:ox,SwitchBody:r=>{let e=r.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return r.baseIndent+(t?0:n?1:2)*r.unit},Block:Go({closing:"}"}),ArrowFunction:r=>r.baseIndent+r.unit,"TemplateString BlockComment":()=>null,"Statement Property":Gr({except:/^\s*{/}),JSXElement(r){let e=/^\s*<\//.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},JSXEscape(r){let e=/\s*\}/.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},"JSXOpenTag JSXSelfClosingTag"(r){return r.column(r.node.from)+r.unit}}),dr.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Vt,BlockComment(r){return{from:r.from+2,to:r.to-2}},JSXElement(r){let e=r.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=r.lastChild;return{from:e.to,to:t.type.isError?r.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(r){var e;let t=(e=r.firstChild)===null||e===void 0?void 0:e.nextSibling,n=r.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?r.to:n.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),zk={test:r=>/^JSX/.test(r.name),facet:Uo({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xg=Bn.configure({dialect:"ts"},"typescript"),zg=Bn.configure({dialect:"jsx",props:[Yd.add(r=>r.isTop?[zk]:void 0)]}),Wg=Bn.configure({dialect:"jsx ts",props:[Yd.add(r=>r.isTop?[zk]:void 0)]},"typescript"),Wk=r=>({label:r,type:"keyword"}),Bk="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Wk),ZZ=Bk.concat(["declare","implements","private","protected","public"].map(Wk));function Vk(r={}){let e=r.jsx?r.typescript?Wg:zg:r.typescript?Xg:Bn,t=r.typescript?MZ.concat(ZZ):Dk.concat(Bk);return new Fe(e,[Bn.data.of({autocomplete:$x(Xk,kx(t))}),Bn.data.of({autocomplete:IZ}),r.jsx?WZ:[]])}function XZ(r){for(;;){if(r.name=="JSXOpenTag"||r.name=="JSXSelfClosingTag"||r.name=="JSXFragmentTag")return r;if(r.name=="JSXEscape"||!r.parent)return null;r=r.parent}}function Lk(r,e,t=r.length){for(let n=e==null?void 0:e.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return r.sliceString(n.from,Math.min(n.to,t));return""}var zZ=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),WZ=N.inputHandler.of((r,e,t,n,i)=>{if((zZ?r.composing:r.compositionStarted)||r.state.readOnly||e!=t||n!=">"&&n!="/"||!Bn.isActiveAt(r.state,e,-1))return!1;let s=i(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:d}=l,h=ze(o).resol
Line truncated
|
||||
`);for(let l of a){b$.lastIndex=0;let c=b$.exec(l);if(c){let d=o+c.index+c[0].length;t.push(ee.widget({widget:new ib(c[0],e),side:-1}).range(d))}o+=l.length+1}}return ee.set(t,!0)}function S$(r){let e;function t(n){let i=e.posAtDOM(n);r(e.state.doc.lineAt(i).number)}return at.fromClass(class{constructor(n){e=n,this.decorations=y$(n,t)}update(n){e=n.view,(n.docChanged||n.viewportChanged)&&(this.decorations=y$(n.view,t))}},{decorations:n=>n.decorations})}var sb=class extends Tt{constructor(t,n,i){super();this.filename=t;this.system=n;this.handleClick=i}toDOM(){let t=document.createElement("span");return t.className="include-link-badge",t.textContent="\u2192",t.title=(this.system?"System header: ":"View ")+this.filename,t.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation(),this.handleClick(this.filename,this.system)}),t}eq(t){return this.filename===t.filename&&this.system===t.system}ignoreEvent(){return!1}};function v5(r,e,t){let n=[],i=r.state.doc,s=new Set;for(let{from:o,to:a}of r.visibleRanges){let l=r.state.sliceDoc(o,a);for(let c of e){let d=c instanceof RegExp?{re:c}:c;d.re.lastIndex=0;let h;for(;h=d.re.exec(l);){let u=h[d.group!=null?d.group:h.length-1];if(!u)continue;let f=d.suffix?u+d.suffix:u,m=Math.min(o+h.index+h[0].length,i.length),g=i.lineAt(m),v=g.number+":"+f;s.has(v)||(s.add(v),n.push(ee.widget({widget:new sb(f,!!d.system,t),side:1}).range(g.to)))}}}return ee.set(n,!0)}function v$(r,e){function t(n){let i=r();return!i||!i.length?ee.none:v5(n,i,e)}return at.fromClass(class{constructor(n){this.decorations=t(n)}update(n){(n.docChanged||n.viewportChanged)&&(this.decorations=t(n.view))}},{decorations:n=>n.decorations})}var hs=window.matchMedia&&window.matchMedia("only screen and (max-width: 760px)").matches;function xn(r,e){var t=$(document.createElement("div"));return r&&t.appendTo(r),e&&t.addClass(e),t}function x5(r){return Me.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input")||!r.input)return e;let t=[],n=!1;if(e.changes.iterChanges((o,a,l,c,d)=>{let h=d.toString(),u=r.input(h);t.push({from:o,to:a,insert:u}),u!==h&&(n=!0)}),!n)return e;let i=e.annotation(dt.userEvent),s=e.annotation(dt.addToHistory);return{changes:t,selection:e.selection,effects:e.effects,scrollIntoView:e.scrollIntoView,annotations:[...i!=null?[dt.userEvent.of(i)]:[],...s!=null?[dt.addToHistory.of(s)]:[]]}})}var ob=new Bt;function x$(r){return ob.reconfigure(x5(r))}var w$=be.define(),P$=be.define(),k$=be.define(),$$=be.define(),Q$=be.define(),T$=be.define(),_$=be.define(),lb=be.define(),A$=be.define(),C$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(w$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new Nh(Ce(o,4)).range(a))}r=Te.of(i,!0)}return r}}),E$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(P$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new jh(o).range(a))}r=Te.of(i,!0)}return r}}),R$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(k$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new Uh(o).range(a))}r=Te.of(i,!0)}return r}}),M$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(Q$)){let n=[],i=t.value.filter(s=>s.line>=1&&s.line<=e.state.doc.lines).sort((s,o)=>s.line-o.line);for(let s of i){let o=e.state.doc.line(s.line).from;n.push((s.enabled?P5:k5).range(o))}r=Te.of(n,!0)}return r}}),ab=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(T$)){let n=t.value,i=[];for(let[s,o]of n.entries())if(s>=1&&s<=e.state.doc.lines){let a=e.state.doc.line(s).from;i.push(new Gh(s,o).range(a))}r=Te.of(i,!0)}return r}}),L$=Ze.define({create(){return Te.empty},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(_$))if(t.value===null)r=Te.empty;else{let n=t.value;if(n>=1&&n<=e.state.doc.lines){let i=e.state.doc.line(n).from;r=Te.of(D$.range(i))}}return r}}),Nh=class extends Pt{constructor(t){super();this.hex=t}toDOM(){let t=document.createElement("span");return t.className="gutter-offset-marker",t.textContent=this.hex,t.title="Click to run to here",t}eq(t){return this.hex==t.hex}},jh=class extends Pt{constructor(t){super();this.bytes=t}toDOM(){return document.createTextNode(this.bytes)}eq(t){return this.bytes==t.bytes}},Uh=class extends Pt{constructor(t){super();this.clock=t}toDOM(){return document.createTextNode(this.clock)}eq(t){return this.clock==t.clock}},w5=new class extends Pt{toDOM(){let r=document.createElement("span");return r.className="gutter-breakpoint-placeholder",r.textContent="\u25CF",r}},qh=class extends Pt{constructor(t){super();this.enabled=t}toDOM(){let t=document.createElement("span");return t.className="gutter-breakpoin
Line truncated
|
||||
color: #ff6666;
|
||||
background-color: #330000;
|
||||
padding: 4px 8px;
|
||||
margin: 2px 0;
|
||||
border-left: 3px solid #ff0000;
|
||||
font-family: monospace;
|
||||
`,t}},E5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(lo.showMessage)){if(t.value===null||!t.value)return ee.none;if(t.value.toggle){let n=[],i=new Map;return r.between(0,e.state.doc.length,(a,l,c)=>{try{let d=e.state.doc.lineAt(l).number;c.spec.widget instanceof jl&&i.set(d,c.spec.widget.message)}catch(d){}}),i.has(t.value.line)?i.delete(t.value.line):i.set(t.value.line,t.value.msg),Array.from(i.keys()).sort((a,l)=>a-l).forEach(a=>{try{let l=e.state.doc.line(a);n.push(ee.widget({widget:new jl(i.get(a)),block:!0,side:1}).range(l.to))}catch(l){}}),ee.set(n,!0)}}return r},provide:r=>N.decorations.from(r)}),cb=class extends Tt{constructor(t){super();this.value=t}toDOM(){let t=document.createElement("div");return t.textContent=`${this.value}`,t.style.cssText=`
|
||||
`,t}},R5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(lo.showMessage)){if(t.value===null||!t.value)return ee.none;if(t.value.toggle){let n=[],i=new Map;return r.between(0,e.state.doc.length,(a,l,c)=>{try{let d=e.state.doc.lineAt(l).number;c.spec.widget instanceof jl&&i.set(d,c.spec.widget.message)}catch(d){}}),i.has(t.value.line)?i.delete(t.value.line):i.set(t.value.line,t.value.msg),Array.from(i.keys()).sort((a,l)=>a-l).forEach(a=>{try{let l=e.state.doc.line(a);n.push(ee.widget({widget:new jl(i.get(a)),block:!0,side:1}).range(l.to))}catch(l){}}),ee.set(n,!0)}}return r},provide:r=>N.decorations.from(r)}),cb=class extends Tt{constructor(t){super();this.value=t}toDOM(){let t=document.createElement("div");return t.textContent=`${this.value}`,t.style.cssText=`
|
||||
color: #ccccff;
|
||||
background-color: #000066;
|
||||
display: inline-block;
|
||||
`,t.className="cm-line",t}},z$=be.define(),R5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(z$)){if(t.value===null||!t.value)return ee.none;let n=e.state.doc.lineAt(t.value.range.to);return ee.set([ee.widget({widget:new cb(t.value.val),block:!0,side:1}).range(n.to)])}return r},provide:r=>N.decorations.from(r)}),W$=be.define(),M5=ee.mark({attributes:{class:"cm-error-span"}}),L5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(W$)){if(t.value===null)return ee.none;let n=[];for(let i of t.value)try{let s=e.state.doc.line(i.line),o=s.from+i.start,a=s.from+i.end;o>=s.from&&a<=s.to&&o<a&&n.push(M5.range(o,a))}catch(s){}return ee.set(n,!0)}return r},provide:r=>N.decorations.from(r)}),B$=be.define(),D5=ee.line({attributes:{class:"highlight-lines"}}),I5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(B$)){if(t.value===null)return ee.none;let{start:n,end:i}=t.value,s=[];for(let o=n;o<=i;o++)try{let a=e.state.doc.line(o);s.push(D5.range(a.from))}catch(a){}return ee.set(s)}return r!==ee.none&&(e.docChanged||e.selection)?ee.none:r},provide:r=>N.decorations.from(r)}),V$={field:E5,widget:jl},Ul={effect:Z$,decoration:X$,field:C5},eu={effect:z$,field:R5},tu={effect:W$,field:L5},ru={effect:B$,field:I5},Y$=be.define(),Z5=ee.line({attributes:{class:"cm-traced-line"}}),X5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(Y$)){let n=[];for(let i of t.value)try{let s=e.state.doc.line(i);n.push(Z5.range(s.from))}catch(s){}return ee.set(n,!0)}return r},provide:r=>N.decorations.from(r)}),nu={effect:Y$,field:X5};var z5=[...ff(ww,uf),{key:"Mod-Shift-Backspace",run:iO}],j$=ff(RP,uf),ga=64,U$=be.define(),q$=be.define(),db=Ze.define({create(){return new Map},update(r,e){let t=r;for(let n of e.effects)if(n.is(q$))t=new Map;else if(n.is(U$)){t===r&&(t=new Map(r));for(let i of n.value)t.set(i.id,{from:i.from,to:i.to})}if(!e.changes.empty){let n=new Map;for(let[i,s]of t)n.set(i,{from:e.changes.mapPos(s.from,-1),to:e.changes.mapPos(s.to,1)});return n}return t}}),W5=200,hb={default:{theme:Vh},6502:{isAsm:!0},z80:{isAsm:!0},jsasm:{isAsm:!0},gas:{isAsm:!0},vasm:{isAsm:!0},inform6:{theme:Bh},dialog:{theme:Bh,lineWrap:!0},markdown:{lineWrap:!0},fastbasic:{noGutters:!0},basic:{noGutters:!0,lineBased:!0},ecs:{theme:Vh}},G$={input:null};function H$(r){G$.input=r?e=>e.toUpperCase():null}function pb(r){if(!r)return"";let e=r.state.selection.main;return e.empty?"":r.state.sliceDoc(e.from,e.to)}var ql=class ql{constructor(e,t){this.updateTimer=null;this.indentUnitCompartment=new Bt;this.isAsm=!1;this.dirtylisting=!0;this.refreshDelayMsec=300;this.probe=null;this.path=e,this.mode=t}createDiv(e){var t=document.createElement("div");t.setAttribute("class","editor"),e.appendChild(t);var n=ae.getFile(this.path),i=n&&this.mode=="verilog"&&/__asm\b([\s\S]+?)\b__endasm\b/.test(n);return this.newEditor(t,n,i),this.editor.dispatch({effects:x$(G$)}),this.syncBreakpoints(),ae.getToolForFilename(this.path).startsWith("remote:")&&(this.refreshDelayMsec=1e3),t}setVisible(e){e?(this.editor.focus(),ql.tracingEnabled&&this.startTracing()):this.stopTracing()}getShortcuts(){if(!this.editor)return[];var e=this.editor,t=(n,i,s)=>({key:n,label:i,fn:()=>{s(e),e.focus()}});return[t("mod+f","Find",Qh),t("mod+g","Find Next",da),t("mod+d","Next Occurrence",wO),t("mod+z","Undo",Pl),t("mod+shift+z","Redo",Ko)]}startTracing(){!this.probe&&P.startProbing&&(this.probe=P.startProbing(),this.probe.singleFrame=!1,this.probe.clear())}stopTracing(){this.probe&&(P.stopProbing(),this.probe=null),this.editor.dispatch({effects:nu.effect.of([])})}setTracingEnabled(e){ql.tracingEnabled=e,e?this.startTracing():this.stopTracing()}newEditor(e,t,n){var i=hb[this.mode]||hb.default,s=n||i.isAsm,o=!!i.lineWrap,a=i.theme||hb.default.theme,l=i.useLineNumbers&&!hs;de.embed&&(l=!1,s=!1),this.isAsm=s;let c=i.noGutters||hs;var d;let h=Hg[this.mode];h?d=h.language:(console.warn("Unknown mode: "+this.mode),d=null),this.editor=new N({parent:e,doc:t,extensions:[this.indentUnitCompartment.of(this.indentUnitFor(t)),s?Xm.of((u,f)=>{let m=u.state.doc.lineAt(f).number;if(m>=0){let g=u.state.doc.line(m);if(g.text.trim())return u.lineIndent(g.from)}return 0}):[],...s?[Sr.of(Cw(()=>ra().tabsToSpaces))]:[],i.lineBased?Sr.of(kw):[],...Lw(ra()),Sr.of(z5),l?Ad():[],Nx(),Sr.of(qx),hx(),vv(),Me.allowMultipleSelections.of(!0),$d(),ax(),Ox(),Td(),_d(),Qd(),Av(),$h(),PO({top:!0}),Sr.of(j$),d||[],a,Jg,o?N.lineWrapping:[],Ul.field,c?[]:[Hh.field,Hh.gutter],s&&!c?[Nl.field,Nl.gutter,Kh.field,Kh.gutter]:[],Jh.field,I$.gutter,N.updateListener.of(u=>{for(let f of u.transactions.flatMap(m=>m.effects))if(f.is(Jh.requestToggle)&&Yt.toggleSourceLine(this.path,f.value),f.is(Oa.runToLine)){let m=f.value;if(this.sourcefile&&this.sourcefile.line2offset){let g=this.sourcefile.line2offset.get(m);g>=0&&Hl([g])}}}),lo.field,V$.field,tu.field,Oa.fiel
Line truncated
|
||||
`).length-1;this.editor.dispatch({changes:{from:i,insert:e}}),this.highlightLines(n-1,n+s-2)}highlightLines(e,t){let n=this.editor.state.doc.line(e+1);this.editor.dispatch({effects:[ru.effect.of({start:e+1,end:t+1}),N.scrollIntoView(n.from,{y:"start",yMargin:100})]})}navigateToLine(e){if(e<1||e>this.editor.state.doc.lines)return;let t=this.editor.state.doc.line(e);this.editor.dispatch({selection:{anchor:t.from},effects:[ru.effect.of({start:e,end:e}),N.scrollIntoView(t.from,{y:"center"})]}),this.editor.focus()}getValue(){return this.editor.state.doc.toString()}getSelectionText(){return pb(this.editor)}getPath(){return this.path}markErrors(e){this.clearErrors(),e=e.slice(0,W5);let t=new Map,n=[];for(var i of e)if(!i.path||this.path.endsWith(i.path)){var s=this.editor.state.doc.lines,o=i.line;(isNaN(o)||o<1||o>s)&&(o=1),t.set(o,i.msg),i.start!=null&&i.end!=null&&i.end>i.start&&n.push({line:o,start:i.start,end:i.end})}this.editor.dispatch({effects:[lo.set.of(t),tu.effect.of(n.length>0?n:null)]})}clearErrors(){this.dirtylisting=!0,this.editor.dispatch({effects:[lo.set.of(new Map),lo.showMessage.of(null),tu.effect.of(null)]})}getSourceFile(){return this.sourcefile}updateListing(){this.clearErrors();var e=this.sourcefile.lines||[];let t=new Map,n=new Map,i=new Map;for(var s of e)if(s.offset>=0&&t.set(s.line,Ce(s.offset&65535,4)),s.insns){var o=s.insns.length>9?"...":s.insns;if(n.set(s.line,o),s.iscode){if(s.cycles)i.set(s.line,s.cycles+"");else if(P.getOpcodeMetadata){var a=parseInt(s.insns.split(" ")[0],16),l=P.getOpcodeMetadata(a,s.offset);if(l&&l.minCycles){var c=l.minCycles+"";i.set(s.line,c)}}}}this.editor.dispatch({effects:[Hh.set.of(t),Nl.set.of(n),Kh.set.of(i)]})}setTimingResult(e){if(this.sourcefile!=null){var t=new Map;for(let[o,a]of this.sourcefile.line2offset){let l=e.pc2clockrange[a];var n=l&&l.minclocks,i=l&&l.maxclocks;if(n>=0&&i>=0){var s;i==n?s=n+"":s=n+"-"+i,i==e.MAX_CLOCKS&&(s+="+"),t.set(o,s)}}this.editor.dispatch({effects:[Nl.set.of(t)]})}}setCurrentLine(e,t){var n=i=>{this.editor.dispatch({effects:[Oa.set.of(i.line),Ul.effect.of(i.line),...t?[N.scrollIntoView(this.editor.state.doc.line(i.line).from,{y:"center"})]:[]]})};if(this.clearCurrentLine(t),e){if(e.line<1||e.line>this.editor.state.doc.lines)return;if(n(e),t){let s=this.editor.state.doc.line(e.line).from+(e.start||0);this.editor.dispatch({selection:{anchor:s,head:s},effects:N.scrollIntoView(s,{y:"center"})})}this.currentDebugLine=e}}clearCurrentLine(e){if(this.currentDebugLine){if(e){let t=this.editor.state.selection.main.head;this.editor.dispatch({selection:{anchor:t,head:t}})}this.currentDebugLine=null}this.editor.dispatch({effects:[Oa.set.of(null),Ul.effect.of(null)]})}getActiveLine(){if(this.sourcefile){var e=Jt&&Jt.c;if(!e&&P.getCPUState&&!P.isRunning()&&(e=P.getCPUState()),e){var t=e&&(e.EPC||e.PC),n=this.sourcefile.findLineForOffset(t,ga);return n}}}refreshDebugState(e){var t=this.getActiveLine();!e&&(t===this.currentDebugLine||!t&&!this.currentDebugLine)||this.setCurrentLine(t,e)}refreshListing(){var e=ae.getListingForFile(this.path);e&&e.sourcefile&&e.sourcefile!==this.sourcefile&&(this.sourcefile=e.sourcefile,this.dirtylisting=!0),!(!this.sourcefile||!this.dirtylisting)&&(this.updateListing(),this.dirtylisting=!1)}refresh(e){this.refreshListing(),this.refreshDebugState(e)}tick(){this.refreshDebugState(!1),this.updateTracedLines()}updateTracedLines(){let e=this.probe;if(!e||!e.idx||!this.sourcefile)return;let t=new Set;for(let n=0;n<e.idx;n++){let i=e.buf[n];if((i&4278190080)===16777216){let s=this.sourcefile.findLineForOffset(i&65535,ga);s&&t.add(s.line)}}e.clear(),this.editor.dispatch({effects:nu.effect.of(Array.from(t))})}getLine(e){return this.editor.state.doc.line(e).text}getCurrentLine(){let e=this.editor.state.selection.main.head;return this.editor.state.doc.lineAt(e).number}getCursorPC(){for(var e=this.getCurrentLine();this.sourcefile&&e>=0;){var t=this.sourcefile.line2offset.get(e);if(t>=0)return t;e--}return-1}undoStep(){Pl(this.editor)}redoStep(){Ko(this.editor)}syncBreakpoints(){let e=Yt.getSourceBreakpointsForFile(this.path).map(t=>({line:t.line,enabled:t.enabled}));this.editor.dispatch({effects:Jh.setAll.of(e)})}};ql.tracingEnabled=!1;var Pr=ql,ub=1024,Mi=class{getSelectionText(){return pb(this.disasmview)}createDiv(e){var t=document.createElement("div");return t.setAttribute("class","editor"),e.appendChild(t),this.newEditor(t),t}newEditor(e){this.disasmview=new N({parent:e,extensions:[Td(),_d(),Me.allowMultipleSelections.of(!0),$d(),Qd(),$h(),f$,Bh,Ul.field,Me.tabSize.of(8),Me.readOnly.of(!0)]})}refresh(e,t){let n=Jt||P.saveState(),i=t!==void 0?t:n.c?n.c.PC:0,s=0,o=0,a=P.debugSymbols&&P.debugSymbols.addr2symbol||{},l=(h,u)=>{let f="",m=0;for(;m<u;){let g=h+m|0,v=P.disassemble(g,P.readAddress.bind(P)),k="",L="";for(let w=0;w<v.nbytes;w++)k+=Ce(P.readAddress(g+w));for(;k.length<14;)k+=" ";let M=v.line;if(a&&v.isaddr&&(M=M.replace(/([^#])[$]([0-9A-F]+)/,(w,...x)=>{let R=parseInt(x[1],16),X=a[R];return X?x[0]+X:(X=a
Line truncated
|
||||
`;f+=D,g==i&&(o=s),s++,m+=v.nbytes||1}return f};var c=i<0?i-ub:Math.max(0,i-ub);let d=l(c,i-c)+l(i,ub);if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:d}}),e){let h=this.disasmview.state.doc.line(o+1);this.disasmview.dispatch({selection:{anchor:h.from,head:h.from},effects:N.scrollIntoView(h.from,{y:"center"})})}}goToAddress(e){e|=0,this.findAndSelectAddress(e)||(this.refresh(!1,e),this.findAndSelectAddress(e)),this.disasmview.focus()}findAndSelectAddress(e){let t=Ce(e,4),n=this.disasmview.state.doc;for(let i=1;i<=n.lines;i++){let s=n.line(i);if(s.text.startsWith(t+" "))return this.disasmview.dispatch({selection:{anchor:s.from,head:s.from+t.length},effects:N.scrollIntoView(s.from,{y:"center"})}),!0}return!1}getCursorPC(){let e=this.disasmview.state.selection.main.head,t=this.disasmview.state.doc.lineAt(e).number;if(t>=0){let i=this.disasmview.state.doc.line(t).text.trim().split(/\s+/);if(i&&i.length>=1){let s=parseInt(i[0],16);if(console.log("getCursorPC",s),s>=0)return s}}return-1}},iu=class extends Mi{constructor(e){super(),this.path=e}refreshListing(){var e=ae.getListingForFile(this.path);this.assemblyfile=e&&(e.assemblyfile||e.sourcefile)}refresh(e){if(this.refreshListing(),!!this.assemblyfile){var t=this.assemblyfile.text;if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:t}}),!!P.saveState){var n=Jt||P.saveState(),i=n.c?n.c.EPC||n.c.PC:0;if(i>=0&&this.assemblyfile){var s=this.assemblyfile.findLineForOffset(i,ga);if(s&&e){let o=this.disasmview.state.doc.line(s.line);this.disasmview.dispatch({selection:{anchor:o.from,head:o.from},effects:N.scrollIntoView(o.from,{y:"center"})})}}}}}goToAddress(e){this.refreshListing();let t=this.assemblyfile&&this.assemblyfile.findLineForOffset(e,ga);if(t){let n=this.disasmview.state.doc.line(t.line);this.disasmview.dispatch({selection:{anchor:n.from,head:n.from},effects:N.scrollIntoView(n.from,{y:"center"})})}this.disasmview.focus()}};function K$(r){let e=[r];try{var t=La(ae.mainPath);t.length>0&&t!="local"&&e.push(t+"/"+r)}catch(s){}for(var n of e){var i=ae&&ae.getFile(n);if(typeof i=="string")return n}return null}function F$(r){for(var e of ty(r))if(e.editorStyle){var t=u$(e.editorStyle);if(t)return t}return null}var fb=new Map;function B5(r){let e=ae.getToolForFilename(ae.mainPath),t=Cc(e,ae.platform_id),n=Ac(e,ae.platform_id);if(!t||!n.length)return Promise.resolve(null);let i=t+":"+r;return fb.has(i)||fb.set(i,(async()=>{var s=[...n.map(d=>d+"/"+r),r];for(var o of s){var a={preload_fs:t,readshared:o,updates:[],buildsteps:[]},l=await ae.queryWorker(a),c=l&&l.output;if(c instanceof Uint8Array&&c.length>0)return new TextDecoder().decode(c)}return null})()),fb.get(i)}var us=class{constructor(e){this.fn=e;this.languageCompartment=new Bt}getSelectionText(){return pb(this.view)}createDiv(e){var t=document.createElement("div");t.setAttribute("class","editor"),e.appendChild(t);var n=F$(this.fn||this.currentPath||"")||Kg();return this.view=new N({parent:t,extensions:[Td(),_d(),Me.allowMultipleSelections.of(!0),$d(),Qd(),$h(),PO({top:!0}),Sr.of(j$),this.languageCompartment.of(n),Vh,Jg,Me.readOnly.of(!0)]}),this.refresh(!1),t}setVisible(e){e&&this.refresh(!1)}setHeaderText(e){var t=F$(this.currentPath||this.fn||"")||Kg();this.view.dispatch({effects:this.languageCompartment.reconfigure(t),changes:{from:0,to:this.view.state.doc.length,insert:e}})}refresh(e){var t=this.fn;if(!t){var n=window.location.hash;if(!n||!n.startsWith("#headerview/"))return;t=this.fn=decodeURIComponent(n.substring(12))}this.loadIncludeFile(t)}async loadIncludeFile(e){this.requestedFn=e;var t=K$(e);if(t){this.currentPath=t,this.setHeaderText(ae.getFile(t));return}var n=await B5(e);if(this.requestedFn===e){if(n!=null){this.currentPath=e,this.setHeaderText(n);return}this.currentPath=e,this.setHeaderText("// "+e+` was not found.
|
||||
`,t.className="cm-line",t}},z$=be.define(),M5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(z$)){if(t.value===null||!t.value)return ee.none;let n=e.state.doc.lineAt(t.value.range.to);return ee.set([ee.widget({widget:new cb(t.value.val),block:!0,side:1}).range(n.to)])}return r},provide:r=>N.decorations.from(r)}),W$=be.define(),L5=ee.mark({attributes:{class:"cm-error-span"}}),D5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(W$)){if(t.value===null)return ee.none;let n=[];for(let i of t.value)try{let s=e.state.doc.line(i.line),o=s.from+i.start,a=s.from+i.end;o>=s.from&&a<=s.to&&o<a&&n.push(L5.range(o,a))}catch(s){}return ee.set(n,!0)}return r},provide:r=>N.decorations.from(r)}),B$=be.define(),I5=ee.line({attributes:{class:"highlight-lines"}}),Z5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(B$)){if(t.value===null)return ee.none;let{start:n,end:i}=t.value,s=[];for(let o=n;o<=i;o++)try{let a=e.state.doc.line(o);s.push(I5.range(a.from))}catch(a){}return ee.set(s)}return r!==ee.none&&(e.docChanged||e.selection)?ee.none:r},provide:r=>N.decorations.from(r)}),V$={field:R5,widget:jl},Ul={effect:Z$,decoration:X$,field:E5},eu={effect:z$,field:M5},tu={effect:W$,field:D5},ru={effect:B$,field:Z5},Y$=be.define(),X5=ee.line({attributes:{class:"cm-traced-line"}}),z5=Ze.define({create(){return ee.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(Y$)){let n=[];for(let i of t.value)try{let s=e.state.doc.line(i);n.push(X5.range(s.from))}catch(s){}return ee.set(n,!0)}return r},provide:r=>N.decorations.from(r)}),nu={effect:Y$,field:z5};var W5=[...ff(ww,uf),{key:"Mod-Shift-Backspace",run:iO}],j$=ff(RP,uf),ga=64,U$=be.define(),q$=be.define(),db=Ze.define({create(){return new Map},update(r,e){let t=r;for(let n of e.effects)if(n.is(q$))t=new Map;else if(n.is(U$)){t===r&&(t=new Map(r));for(let i of n.value)t.set(i.id,{from:i.from,to:i.to})}if(!e.changes.empty){let n=new Map;for(let[i,s]of t)n.set(i,{from:e.changes.mapPos(s.from,-1),to:e.changes.mapPos(s.to,1)});return n}return t}}),B5=200,hb={default:{theme:Vh},6502:{isAsm:!0},z80:{isAsm:!0},jsasm:{isAsm:!0},gas:{isAsm:!0},vasm:{isAsm:!0},inform6:{theme:Bh},dialog:{theme:Bh,lineWrap:!0},markdown:{lineWrap:!0},fastbasic:{noGutters:!0},basic:{noGutters:!0,lineBased:!0},ecs:{theme:Vh}},G$={input:null};function H$(r){G$.input=r?e=>e.toUpperCase():null}function pb(r){if(!r)return"";let e=r.state.selection.main;return e.empty?"":r.state.sliceDoc(e.from,e.to)}var ql=class ql{constructor(e,t){this.updateTimer=null;this.indentUnitCompartment=new Bt;this.isAsm=!1;this.dirtylisting=!0;this.refreshDelayMsec=300;this.probe=null;this.path=e,this.mode=t}createDiv(e){var t=document.createElement("div");t.setAttribute("class","editor"),e.appendChild(t);var n=ae.getFile(this.path),i=n&&this.mode=="verilog"&&/__asm\b([\s\S]+?)\b__endasm\b/.test(n);return this.newEditor(t,n,i),this.editor.dispatch({effects:x$(G$)}),this.syncBreakpoints(),ae.getToolForFilename(this.path).startsWith("remote:")&&(this.refreshDelayMsec=1e3),t}setVisible(e){e?(this.editor.focus(),ql.tracingEnabled&&this.startTracing()):this.stopTracing()}getShortcuts(){if(!this.editor)return[];var e=this.editor,t=(n,i,s)=>({key:n,label:i,fn:()=>{s(e),e.focus()}});return[t("mod+f","Find",Qh),t("mod+g","Find Next",da),t("mod+d","Next Occurrence",wO),t("mod+z","Undo",Pl),t("mod+shift+z","Redo",Ko)]}startTracing(){!this.probe&&P.startProbing&&(this.probe=P.startProbing(),this.probe.singleFrame=!1,this.probe.clear())}stopTracing(){this.probe&&(P.stopProbing(),this.probe=null),this.editor.dispatch({effects:nu.effect.of([])})}setTracingEnabled(e){ql.tracingEnabled=e,e?this.startTracing():this.stopTracing()}newEditor(e,t,n){var i=hb[this.mode]||hb.default,s=n||i.isAsm,o=!!i.lineWrap,a=i.theme||hb.default.theme,l=i.useLineNumbers&&!hs;de.embed&&(l=!1,s=!1),this.isAsm=s;let c=i.noGutters||hs;var d;let h=Hg[this.mode];h?d=h.language:(console.warn("Unknown mode: "+this.mode),d=null),this.editor=new N({parent:e,doc:t,extensions:[this.indentUnitCompartment.of(this.indentUnitFor(t)),s?Xm.of((u,f)=>{let m=u.state.doc.lineAt(f).number;if(m>=0){let g=u.state.doc.line(m);if(g.text.trim())return u.lineIndent(g.from)}return 0}):[],...s?[Sr.of(Cw(()=>ra().tabsToSpaces))]:[],i.lineBased?Sr.of(kw):[],...Lw(ra()),Sr.of(W5),l?Ad():[],Nx(),Sr.of(qx),hx(),vv(),Me.allowMultipleSelections.of(!0),$d(),ax(),Ox(),Td(),_d(),Qd(),Av(),$h(),PO({top:!0}),Sr.of(j$),d||[],a,Jg,o?N.lineWrapping:[],Ul.field,c?[]:[Hh.field,Hh.gutter],s&&!c?[Nl.field,Nl.gutter,Kh.field,Kh.gutter]:[],Jh.field,I$.gutter,N.updateListener.of(u=>{for(let f of u.transactions.flatMap(m=>m.effects))if(f.is(Jh.requestToggle)&&Yt.toggleSourceLine(this.path,f.value),f.is(Oa.runToLine)){let m=f.value;if(this.sourcefile&&this.sourcefile.line2offset){let g=this.sourcefile.line2offset.get(m);g>=0&&Hl([g])}}}),lo.field,V$.field,tu.field,Oa.fiel
Line truncated
|
||||
`).length-1;this.editor.dispatch({changes:{from:i,insert:e}}),this.highlightLines(n-1,n+s-2)}highlightLines(e,t){let n=this.editor.state.doc.line(e+1);this.editor.dispatch({effects:[ru.effect.of({start:e+1,end:t+1}),N.scrollIntoView(n.from,{y:"start",yMargin:100})]})}navigateToLine(e){if(e<1||e>this.editor.state.doc.lines)return;let t=this.editor.state.doc.line(e);this.editor.dispatch({selection:{anchor:t.from},effects:[ru.effect.of({start:e,end:e}),N.scrollIntoView(t.from,{y:"center"})]}),this.editor.focus()}getValue(){return this.editor.state.doc.toString()}getSelectionText(){return pb(this.editor)}getPath(){return this.path}markErrors(e){this.clearErrors(),e=e.slice(0,B5);let t=new Map,n=[];for(var i of e)if(!i.path||this.path.endsWith(i.path)){var s=this.editor.state.doc.lines,o=i.line;(isNaN(o)||o<1||o>s)&&(o=1),t.set(o,i.msg),i.start!=null&&i.end!=null&&i.end>i.start&&n.push({line:o,start:i.start,end:i.end})}this.editor.dispatch({effects:[lo.set.of(t),tu.effect.of(n.length>0?n:null)]})}clearErrors(){this.dirtylisting=!0,this.editor.dispatch({effects:[lo.set.of(new Map),lo.showMessage.of(null),tu.effect.of(null)]})}getSourceFile(){return this.sourcefile}updateListing(){this.clearErrors();var e=this.sourcefile.lines||[];let t=new Map,n=new Map,i=new Map;for(var s of e)if(s.offset>=0&&t.set(s.line,Ce(s.offset&65535,4)),s.insns){var o=s.insns.length>9?"...":s.insns;if(n.set(s.line,o),s.iscode){if(s.cycles)i.set(s.line,s.cycles+"");else if(P.getOpcodeMetadata){var a=parseInt(s.insns.split(" ")[0],16),l=P.getOpcodeMetadata(a,s.offset);if(l&&l.minCycles){var c=l.minCycles+"";i.set(s.line,c)}}}}this.editor.dispatch({effects:[Hh.set.of(t),Nl.set.of(n),Kh.set.of(i)]})}setTimingResult(e){if(this.sourcefile!=null){var t=new Map;for(let[o,a]of this.sourcefile.line2offset){let l=e.pc2clockrange[a];var n=l&&l.minclocks,i=l&&l.maxclocks;if(n>=0&&i>=0){var s;i==n?s=n+"":s=n+"-"+i,i==e.MAX_CLOCKS&&(s+="+"),t.set(o,s)}}this.editor.dispatch({effects:[Nl.set.of(t)]})}}setCurrentLine(e,t){var n=i=>{this.editor.dispatch({effects:[Oa.set.of(i.line),Ul.effect.of(i.line),...t?[N.scrollIntoView(this.editor.state.doc.line(i.line).from,{y:"center"})]:[]]})};if(this.clearCurrentLine(t),e){if(e.line<1||e.line>this.editor.state.doc.lines)return;if(n(e),t){let s=this.editor.state.doc.line(e.line).from+(e.start||0);this.editor.dispatch({selection:{anchor:s,head:s},effects:N.scrollIntoView(s,{y:"center"})})}this.currentDebugLine=e}}clearCurrentLine(e){if(this.currentDebugLine){if(e){let t=this.editor.state.selection.main.head;this.editor.dispatch({selection:{anchor:t,head:t}})}this.currentDebugLine=null}this.editor.dispatch({effects:[Oa.set.of(null),Ul.effect.of(null)]})}getActiveLine(){if(this.sourcefile){var e=er&&er.c;if(!e&&P.getCPUState&&!P.isRunning()&&(e=P.getCPUState()),e){var t=e&&(e.EPC||e.PC),n=this.sourcefile.findLineForOffset(t,ga);return n}}}refreshDebugState(e){var t=this.getActiveLine();!e&&(t===this.currentDebugLine||!t&&!this.currentDebugLine)||this.setCurrentLine(t,e)}refreshListing(){var e=ae.getListingForFile(this.path);e&&e.sourcefile&&e.sourcefile!==this.sourcefile&&(this.sourcefile=e.sourcefile,this.dirtylisting=!0),!(!this.sourcefile||!this.dirtylisting)&&(this.updateListing(),this.dirtylisting=!1)}refresh(e){this.refreshListing(),this.refreshDebugState(e)}tick(){this.refreshDebugState(!1),this.updateTracedLines()}updateTracedLines(){let e=this.probe;if(!e||!e.idx||!this.sourcefile)return;let t=new Set;for(let n=0;n<e.idx;n++){let i=e.buf[n];if((i&4278190080)===16777216){let s=this.sourcefile.findLineForOffset(i&65535,ga);s&&t.add(s.line)}}e.clear(),this.editor.dispatch({effects:nu.effect.of(Array.from(t))})}getLine(e){return this.editor.state.doc.line(e).text}getCurrentLine(){let e=this.editor.state.selection.main.head;return this.editor.state.doc.lineAt(e).number}getCursorPC(){for(var e=this.getCurrentLine();this.sourcefile&&e>=0;){var t=this.sourcefile.line2offset.get(e);if(t>=0)return t;e--}return-1}undoStep(){Pl(this.editor)}redoStep(){Ko(this.editor)}syncBreakpoints(){let e=Yt.getSourceBreakpointsForFile(this.path).map(t=>({line:t.line,enabled:t.enabled}));this.editor.dispatch({effects:Jh.setAll.of(e)})}};ql.tracingEnabled=!1;var Pr=ql,ub=1024,Mi=class{getSelectionText(){return pb(this.disasmview)}createDiv(e){var t=document.createElement("div");return t.setAttribute("class","editor"),e.appendChild(t),this.newEditor(t),t}newEditor(e){this.disasmview=new N({parent:e,extensions:[Td(),_d(),Me.allowMultipleSelections.of(!0),$d(),Qd(),$h(),f$,Bh,Ul.field,Me.tabSize.of(8),Me.readOnly.of(!0)]})}refresh(e,t){let n=er||P.saveState(),i=t!==void 0?t:n.c?n.c.PC:0,s=0,o=0,a=P.debugSymbols&&P.debugSymbols.addr2symbol||{},l=(h,u)=>{let f="",m=0;for(;m<u;){let g=h+m|0,v=P.disassemble(g,P.readAddress.bind(P)),k="",L="";for(let w=0;w<v.nbytes;w++)k+=Ce(P.readAddress(g+w));for(;k.length<14;)k+=" ";let M=v.line;if(a&&v.isaddr&&(M=M.replace(/([^#])[$]([0-9A-F]+)/,(w,...x)=>{let R=parseInt(x[1],16),X=a[R];return X?x[0]+X:(X=a
Line truncated
|
||||
`;f+=D,g==i&&(o=s),s++,m+=v.nbytes||1}return f};var c=i<0?i-ub:Math.max(0,i-ub);let d=l(c,i-c)+l(i,ub);if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:d}}),e){let h=this.disasmview.state.doc.line(o+1);this.disasmview.dispatch({selection:{anchor:h.from,head:h.from},effects:N.scrollIntoView(h.from,{y:"center"})})}}goToAddress(e){e|=0,this.findAndSelectAddress(e)||(this.refresh(!1,e),this.findAndSelectAddress(e)),this.disasmview.focus()}findAndSelectAddress(e){let t=Ce(e,4),n=this.disasmview.state.doc;for(let i=1;i<=n.lines;i++){let s=n.line(i);if(s.text.startsWith(t+" "))return this.disasmview.dispatch({selection:{anchor:s.from,head:s.from+t.length},effects:N.scrollIntoView(s.from,{y:"center"})}),!0}return!1}getCursorPC(){let e=this.disasmview.state.selection.main.head,t=this.disasmview.state.doc.lineAt(e).number;if(t>=0){let i=this.disasmview.state.doc.line(t).text.trim().split(/\s+/);if(i&&i.length>=1){let s=parseInt(i[0],16);if(console.log("getCursorPC",s),s>=0)return s}}return-1}},iu=class extends Mi{constructor(e){super(),this.path=e}refreshListing(){var e=ae.getListingForFile(this.path);this.assemblyfile=e&&(e.assemblyfile||e.sourcefile)}refresh(e){if(this.refreshListing(),!!this.assemblyfile){var t=this.assemblyfile.text;if(this.disasmview.dispatch({changes:{from:0,to:this.disasmview.state.doc.length,insert:t}}),!!P.saveState){var n=er||P.saveState(),i=n.c?n.c.EPC||n.c.PC:0;if(i>=0&&this.assemblyfile){var s=this.assemblyfile.findLineForOffset(i,ga);if(s&&e){let o=this.disasmview.state.doc.line(s.line);this.disasmview.dispatch({selection:{anchor:o.from,head:o.from},effects:N.scrollIntoView(o.from,{y:"center"})})}}}}}goToAddress(e){this.refreshListing();let t=this.assemblyfile&&this.assemblyfile.findLineForOffset(e,ga);if(t){let n=this.disasmview.state.doc.line(t.line);this.disasmview.dispatch({selection:{anchor:n.from,head:n.from},effects:N.scrollIntoView(n.from,{y:"center"})})}this.disasmview.focus()}};function K$(r){let e=[r];try{var t=La(ae.mainPath);t.length>0&&t!="local"&&e.push(t+"/"+r)}catch(s){}for(var n of e){var i=ae&&ae.getFile(n);if(typeof i=="string")return n}return null}function F$(r){for(var e of ty(r))if(e.editorStyle){var t=u$(e.editorStyle);if(t)return t}return null}var fb=new Map;function V5(r){let e=ae.getToolForFilename(ae.mainPath),t=Cc(e,ae.platform_id),n=Ac(e,ae.platform_id);if(!t||!n.length)return Promise.resolve(null);let i=t+":"+r;return fb.has(i)||fb.set(i,(async()=>{var s=[...n.map(d=>d+"/"+r),r];for(var o of s){var a={preload_fs:t,readshared:o,updates:[],buildsteps:[]},l=await ae.queryWorker(a),c=l&&l.output;if(c instanceof Uint8Array&&c.length>0)return new TextDecoder().decode(c)}return null})()),fb.get(i)}var us=class{constructor(e){this.fn=e;this.languageCompartment=new Bt}getSelectionText(){return pb(this.view)}createDiv(e){var t=document.createElement("div");t.setAttribute("class","editor"),e.appendChild(t);var n=F$(this.fn||this.currentPath||"")||Kg();return this.view=new N({parent:t,extensions:[Td(),_d(),Me.allowMultipleSelections.of(!0),$d(),Qd(),$h(),PO({top:!0}),Sr.of(j$),this.languageCompartment.of(n),Vh,Jg,Me.readOnly.of(!0)]}),this.refresh(!1),t}setVisible(e){e&&this.refresh(!1)}setHeaderText(e){var t=F$(this.currentPath||this.fn||"")||Kg();this.view.dispatch({effects:this.languageCompartment.reconfigure(t),changes:{from:0,to:this.view.state.doc.length,insert:e}})}refresh(e){var t=this.fn;if(!t){var n=window.location.hash;if(!n||!n.startsWith("#headerview/"))return;t=this.fn=decodeURIComponent(n.substring(12))}this.loadIncludeFile(t)}async loadIncludeFile(e){this.requestedFn=e;var t=K$(e);if(t){this.currentPath=t,this.setHeaderText(ae.getFile(t));return}var n=await V5(e);if(this.requestedFn===e){if(n!=null){this.currentPath=e,this.setHeaderText(n);return}this.currentPath=e,this.setHeaderText("// "+e+` was not found.
|
||||
// Project include files are loaded during a build -- try building first.
|
||||
// Toolchain headers are only available when the tool has a bundled filesystem.`)}}navigateToLine(e){if(!(!this.view||e<1)&&e<=this.view.state.doc.lines){let t=this.view.state.doc.line(e);this.view.dispatch({selection:{anchor:t.from},effects:[N.scrollIntoView(t.from,{y:"center"})]}),this.view.focus()}}};var co=class{constructor(e){var t=document.createElement("div");t.setAttribute("class","memdump"),e.appendChild(t),this.maindiv=t}create(e,t,n){this.getLineAt=n,this.memorylist=new Wr({w:$(e).width(),h:$(e).height(),itemHeight:mb(),totalRows:t,generatorFn:i=>{var s=n(i),o=document.createElement("div");return o.appendChild(document.createTextNode(s.text)),s.clas!=null&&(o.className=s.clas),o}}),$(this.maindiv).append(this.memorylist.container)}refresh(){this.memorylist&&$(this.maindiv).find("[data-index]").each((e,t)=>{var n=t,i=parseInt(n.getAttribute("data-index")),s=n.innerText,o=this.getLineAt(i),a=o.text;if(s!=a&&(n.innerText=a,o.clas!=null&&!n.classList.contains(o.clas))){var l=Array.from(n.classList);l.forEach(c=>n.classList.remove(c)),n.classList.add("vrow"),n.classList.add(o.clas)}})}};function mb(){return $("#dropdownMenuButton").first().height()}function V5(r){return r.start+Math.max(1,r.size||0)}function Y5(r,e){r.sort((s,o)=>s.start-o.start||o.end-s.end);let t=[],n=[],i=[];for(let s of r){let o=t.findIndex(a=>a<=s.start);if(o<0&&t.length<e&&(o=t.length),o<0){let a=n[e-1];(a.hidden=a.hidden||[]).push(s);continue}t[o]=s.end,n[o]=s,s.lane=o,i.push(s)}return i}function Ob(r,e,t,n){t=Y5(t,n);let i=Math.max(1,...t.map(s=>s.lane+1));return{id:r,title:e,lanes:i,blocks:t}}function J$(r,e,t,n){let i=r.slice().sort((a,l)=>a.start-l.start),s=[],o=e;for(let a of i)a.start>o&&s.push({name:t,start:o,end:a.start,type:n,lane:0}),o=Math.max(o,a.end);return r.concat(s)}function eQ(r){return{name:r.name,start:r.start,end:V5(r),type:r.type,lane:0}}function F5(r){return r.startsWith("__")||/^[sl]__/.test(r)||r.startsWith(".")}function N5(r,e,t,n){var h,u;let i=(h=t==null?void 0:t.minVarSize)!=null?h:128,s=(u=t==null?void 0:t.maxVars)!=null?u:64,o=e.filter(f=>f.type=="ram"&&f.size>0);if(!r||!o.length)return[];let a=f=>n==null?void 0:n[f],l=new Map;for(let[f,m]of Object.entries(r)){if(typeof m!="number"||F5(f))continue;let g=l.get(m);(g==null||!a(g)&&a(f))&&l.set(m,f)}let c=Array.from(l.keys()).sort((f,m)=>f-m),d=[];for(let f=0;f<c.length;f++){let m=c[f],g=null;for(let w of o)m>=w.start&&m<w.start+w.size&&(!g||w.size<g.size)&&(g=w);if(!g)continue;let v=l.get(m),k=a(v);if(k!=null){k>=i&&d.push({name:v,start:m,end:m+k,type:"var",lane:0});continue}let L=g.start+g.size,M=f+1<c.length?c[f+1]:1/0;if(M>=L&&g.source!="linker")continue;let D=Math.min(M,L);D-m>=i&&d.push({name:v,start:m,end:D,type:"var",lane:0,approx:!0})}return d.sort((f,m)=>m.end-m.start-(f.end-f.start)),d.slice(0,s)}function tQ(r,e,t,n){var h;r=r||[];let i=(h=t==null?void 0:t.maxLanes)!=null?h:2,s=[],o=r.filter(u=>u.source=="native").map(eQ),a=r.filter(u=>u.source!="native").map(eQ);if(o.length&&s.push(Ob("native","System",J$(o,0,"","unmapped"),i)),a.length){let u=Math.min(...a.map(f=>f.start));s.push(Ob("linker","Segments",J$(a,u,"","free"),i))}let l=N5(e,r,t,n);l.length&&s.push(Ob("vars","Objects",l,i));let c=new Set;for(let u of s)for(let f of u.blocks)c.add(f.start),c.add(f.end);return{bounds:Array.from(c).sort((u,f)=>u-f),columns:s}}function rQ(r){return r.endsWith("_SIZE__")||r.endsWith("_LAST__")||r.endsWith("STACKSIZE__")||r.endsWith("FILEOFFS__")||r.startsWith("l__")||r.startsWith("s__")||r.startsWith(".__.")}var fs=class{constructor(){this.recreateOnResize=!0;this.hibits=0;this.totalRows=5120;this.gotoRow=-1}createDiv(e){var t=document.createElement("div");return t.setAttribute("class","memdump"),e.appendChild(t),this.showMemoryWindow(e,t),this.maindiv=t}showMemoryWindow(e,t){this.memorylist=new Wr({w:$(e).width(),h:$(e).height(),itemHeight:mb(),totalRows:this.totalRows,generatorFn:i=>{var s=this.getMemoryLineAt(i),o=document.createElement("div");if(this.dumplines){var a=this.dumplines[i];a&&o.classList.add("seg_"+this.getMemorySegment(this.dumplines[i].a|this.hibits))}return i==this.gotoRow&&o.classList.add("goto_line"),o.appendChild(document.createTextNode(s)),o}}),$(t).append(this.memorylist.container),this.tick();let n=Tl();n&&this.dumplines&&this.scrollToAddress(n.data_start)}scrollToAddress(e){this.dumplines&&(this.hibits=e&4294901760,this.memorylist.scrollToItem(this.findMemoryWindowLine(e&65535)))}goToAddress(e){this.hibits=e&4294901760;var t=this.getDumpLines(),n;if(t&&t.length?n=this.findMemoryWindowLine(e&65535):n=(e&65535)>>4,n!==void 0){if(this.gotoRow=n,this.memorylist){var i=this.memorylist.container,s=n*this.memorylist.itemHeight-(i.clientHeight-this.memorylist.itemHeight)/2;i.scrollTop=Math.max(0,s)}this.tick()}}refresh(){this.dumplines=null,this.tick()}tick(){this.memorylist&&$(this.maindiv).find("[data-index]").each((e,t)=>{var n=$(t),i=parseInt(n.attr("data-index")),s=n.text(),o=this.getMemoryLineAt(i);s!=o&&n.text(o),n.toggleCla
Line truncated
|
||||
// Toolchain headers are only available when the tool has a bundled filesystem.`)}}navigateToLine(e){if(!(!this.view||e<1)&&e<=this.view.state.doc.lines){let t=this.view.state.doc.line(e);this.view.dispatch({selection:{anchor:t.from},effects:[N.scrollIntoView(t.from,{y:"center"})]}),this.view.focus()}}};var co=class{constructor(e){var t=document.createElement("div");t.setAttribute("class","memdump"),e.appendChild(t),this.maindiv=t}create(e,t,n){this.getLineAt=n,this.memorylist=new Br({w:$(e).width(),h:$(e).height(),itemHeight:mb(),totalRows:t,generatorFn:i=>{var s=n(i),o=document.createElement("div");return o.appendChild(document.createTextNode(s.text)),s.clas!=null&&(o.className=s.clas),o}}),$(this.maindiv).append(this.memorylist.container)}refresh(){this.memorylist&&$(this.maindiv).find("[data-index]").each((e,t)=>{var n=t,i=parseInt(n.getAttribute("data-index")),s=n.innerText,o=this.getLineAt(i),a=o.text;if(s!=a&&(n.innerText=a,o.clas!=null&&!n.classList.contains(o.clas))){var l=Array.from(n.classList);l.forEach(c=>n.classList.remove(c)),n.classList.add("vrow"),n.classList.add(o.clas)}})}};function mb(){return $("#dropdownMenuButton").first().height()}function Y5(r){return r.start+Math.max(1,r.size||0)}function F5(r,e){r.sort((s,o)=>s.start-o.start||o.end-s.end);let t=[],n=[],i=[];for(let s of r){let o=t.findIndex(a=>a<=s.start);if(o<0&&t.length<e&&(o=t.length),o<0){let a=n[e-1];(a.hidden=a.hidden||[]).push(s);continue}t[o]=s.end,n[o]=s,s.lane=o,i.push(s)}return i}function Ob(r,e,t,n){t=F5(t,n);let i=Math.max(1,...t.map(s=>s.lane+1));return{id:r,title:e,lanes:i,blocks:t}}function J$(r,e,t,n){let i=r.slice().sort((a,l)=>a.start-l.start),s=[],o=e;for(let a of i)a.start>o&&s.push({name:t,start:o,end:a.start,type:n,lane:0}),o=Math.max(o,a.end);return r.concat(s)}function eQ(r){return{name:r.name,start:r.start,end:Y5(r),type:r.type,lane:0}}function N5(r){return r.startsWith("__")||/^[sl]__/.test(r)||r.startsWith(".")}function j5(r,e,t,n){var h,u;let i=(h=t==null?void 0:t.minVarSize)!=null?h:128,s=(u=t==null?void 0:t.maxVars)!=null?u:64,o=e.filter(f=>f.type=="ram"&&f.size>0);if(!r||!o.length)return[];let a=f=>n==null?void 0:n[f],l=new Map;for(let[f,m]of Object.entries(r)){if(typeof m!="number"||N5(f))continue;let g=l.get(m);(g==null||!a(g)&&a(f))&&l.set(m,f)}let c=Array.from(l.keys()).sort((f,m)=>f-m),d=[];for(let f=0;f<c.length;f++){let m=c[f],g=null;for(let w of o)m>=w.start&&m<w.start+w.size&&(!g||w.size<g.size)&&(g=w);if(!g)continue;let v=l.get(m),k=a(v);if(k!=null){k>=i&&d.push({name:v,start:m,end:m+k,type:"var",lane:0});continue}let L=g.start+g.size,M=f+1<c.length?c[f+1]:1/0;if(M>=L&&g.source!="linker")continue;let D=Math.min(M,L);D-m>=i&&d.push({name:v,start:m,end:D,type:"var",lane:0,approx:!0})}return d.sort((f,m)=>m.end-m.start-(f.end-f.start)),d.slice(0,s)}function tQ(r,e,t,n){var h;r=r||[];let i=(h=t==null?void 0:t.maxLanes)!=null?h:2,s=[],o=r.filter(u=>u.source=="native").map(eQ),a=r.filter(u=>u.source!="native").map(eQ);if(o.length&&s.push(Ob("native","System",J$(o,0,"","unmapped"),i)),a.length){let u=Math.min(...a.map(f=>f.start));s.push(Ob("linker","Segments",J$(a,u,"","free"),i))}let l=j5(e,r,t,n);l.length&&s.push(Ob("vars","Objects",l,i));let c=new Set;for(let u of s)for(let f of u.blocks)c.add(f.start),c.add(f.end);return{bounds:Array.from(c).sort((u,f)=>u-f),columns:s}}function rQ(r){return r.endsWith("_SIZE__")||r.endsWith("_LAST__")||r.endsWith("STACKSIZE__")||r.endsWith("FILEOFFS__")||r.startsWith("l__")||r.startsWith("s__")||r.startsWith(".__.")}var fs=class{constructor(){this.recreateOnResize=!0;this.hibits=0;this.totalRows=5120;this.gotoRow=-1}createDiv(e){var t=document.createElement("div");return t.setAttribute("class","memdump"),e.appendChild(t),this.showMemoryWindow(e,t),this.maindiv=t}showMemoryWindow(e,t){this.memorylist=new Br({w:$(e).width(),h:$(e).height(),itemHeight:mb(),totalRows:this.totalRows,generatorFn:i=>{var s=this.getMemoryLineAt(i),o=document.createElement("div");if(this.dumplines){var a=this.dumplines[i];a&&o.classList.add("seg_"+this.getMemorySegment(this.dumplines[i].a|this.hibits))}return i==this.gotoRow&&o.classList.add("goto_line"),o.appendChild(document.createTextNode(s)),o}}),$(t).append(this.memorylist.container),this.tick();let n=Tl();n&&this.dumplines&&this.scrollToAddress(n.data_start)}scrollToAddress(e){this.dumplines&&(this.hibits=e&4294901760,this.memorylist.scrollToItem(this.findMemoryWindowLine(e&65535)))}goToAddress(e){this.hibits=e&4294901760;var t=this.getDumpLines(),n;if(t&&t.length?n=this.findMemoryWindowLine(e&65535):n=(e&65535)>>4,n!==void 0){if(this.gotoRow=n,this.memorylist){var i=this.memorylist.container,s=n*this.memorylist.itemHeight-(i.clientHeight-this.memorylist.itemHeight)/2;i.scrollTop=Math.max(0,s)}this.tick()}}refresh(){this.dumplines=null,this.tick()}tick(){this.memorylist&&$(this.maindiv).find("[data-index]").each((e,t)=>{var n=$(t),i=parseInt(n.attr("data-index")),s=n.text(),o=this.getMemoryLineAt(i);s!=o&&n.text(o),n.toggleCla
Line truncated
|
||||
`)),e.type&&s.addClass("segment-"+e.type);var l=t.lanes-e.lane;for(var c of t.blocks)c.lane>e.lane&&c.start<e.end&&c.end>e.start&&(l=Math.min(l,c.lane-e.lane));s.css("grid-row",`${i.indexOf(e.start)+2} / ${i.indexOf(e.end)+2}`),s.css("grid-column",`${n+e.lane} / span ${l}`),s.click(()=>{var d=F.createOrShow("#memory");d.scrollToAddress(e.start)}),this.maindiv.append(s)}refresh(){var h,u;this.maindiv.empty();var e=tQ(ae.segments,(h=P.debugSymbols)==null?void 0:h.symbolmap,null,(u=P.debugSymbols)==null?void 0:u.symbolsizes),t=e.bounds;if(t.length){var n=["5em"],i=2,s=$('<div class="memmap-header" style="grid-row:1;grid-column:1"/>').text("Address");this.maindiv.append(s);for(var o of e.columns){for(var a=0;a<o.lanes;a++)n.push("minmax(0,1fr)");$('<div class="memmap-header"/>').text(o.title).css("grid-row","1").css("grid-column",`${i} / span ${o.lanes}`).appendTo(this.maindiv);for(var l of o.blocks)this.addBlock(l,o,i,t);i+=o.lanes}for(var c=["auto"],a=0;a+1<t.length;a++){var d=t[a+1]-t[a];c.push(Math.max(3,Math.log(d+1))*.5+"em"),$('<div class="segment-offset"/>').text("$"+Ce(t[a],4)).css("grid-row",`${a+2}`).css("grid-column","1").appendTo(this.maindiv)}this.maindiv.css("grid-template-columns",n.join(" ")),this.maindiv.css("grid-template-rows",c.join(" "))}}},Vn=4278190080,ps=class{constructor(){this.cumulativeData=!1;var e=160,t=262;try{e=Math.ceil(P.machine.cpuCyclesPerLine)||e,t=Math.ceil(P.machine.numTotalScanlines)||t}catch(n){}this.cyclesPerLine=e,this.totalScanlines=t}addr2symbol(e){var t=P.debugSymbols&&P.debugSymbols.addr2symbol||{};return t[e]}addr2str(e){var t=this.addr2symbol(e);return typeof t=="string"?"$"+Ce(e)+" ("+t+")":"$"+Ce(e)}showTooltip(e){e?(this.tooldiv||(this.tooldiv=document.createElement("div"),this.tooldiv.setAttribute("class","tooltiptrack"),document.body.appendChild(this.tooldiv)),$(this.tooldiv).text(e).show()):$(this.tooldiv).hide()}setVisible(e){e?(this.probe=P.startProbing(),this.probe.singleFrame=!this.cumulativeData,this.tick()):(this.probe&&(this.probe.singleFrame=!0),P.stopProbing(),this.probe=null)}redraw(e){var t=this.probe;if(!(!t||!t.idx)){var n=0,i=0,s=0;this.sp=0;for(var o=0;o<t.idx;o++){var a=t.buf[o],l=a&65535,c=a>>16&255,d=a&Vn;switch(d){case 2113929216:n++,i=0;break;case 2130706432:n=0,i=0;break;case 0:i+=l,s+=l;break;case 167772160:case 184549376:this.sp=l;default:e(d,l,i,n,s,c);break}}}}opToString(e,t,n){var i="";switch(e){case 16777216:i="Exec";break;case 301989888:i="Read";break;case 318767104:i="Write";break;case 335544320:i="IO Read";break;case 352321536:i="IO Write";break;case 369098752:i="VRAM Read";break;case 385875968:i="VRAM Write";break;case 402653184:i="DMA Read";break;case 419430400:i="DMA Write";break;case 134217728:i="Interrupt";break;case 150994944:i="Error";break;case 520093696:i="Wait";break;case 167772160:i="Stack Push";break;case 184549376:i="Stack Pop";break;default:return""}return typeof t=="number"&&(i+=" "+this.addr2str(t)),e&268435456&&typeof n=="number"&&(i+=" = $"+Ce(n,2)),i}getOpRGB(e,t){switch(e){case 16777216:return 98305;case 301989888:return 8388865;case 318767104:return 65920;case 335544320:return 98432;case 352321536:return 12583296;case 402653184:case 369098752:return 8421377;case 419430400:case 385875968:return 4227264;case 134217728:return 4177727;case 150994944:return 4145151;case 520093696:return 16727871;default:return 0}}},gb=class extends ps{constructor(){super(...arguments);this.recreateOnResize=!0}createCanvas(t,n,i){var s=document.createElement("div"),o=document.createElement("canvas");return o.width=n,o.height=i,o.classList.add("pixelated"),o.style.width="100%",o.style.height="90vh",o.style.backgroundColor="black",o.style.cursor="crosshair",o.onmousemove=a=>{var l=Sc(o,a);this.showTooltip(this.getTooltipText(l.x,l.y)),$(this.tooldiv).css("left",a.pageX+10).css("top",a.pageY-30)},o.onmouseout=a=>{$(this.tooldiv).hide()},t.appendChild(s),s.appendChild(o),this.canvas=o,this.ctx=o.getContext("2d"),this.initCanvas(),this.maindiv=s}initCanvas(){}getTooltipText(t,n){return null}getOpAtPos(t,n,i){t=t|0,n=n|0;let s=0;return this.redraw((o,a,l,c,d,h)=>{!s&&c==n&&l>=t&&(o&i)!=0&&(s=o|a)}),s}clear(){}tick(){this.clear(),this.redraw(this.drawEvent.bind(this))}},au=class extends gb{constructor(){super(...arguments);this.recreateOnResize=!1}createDiv(t){return this.createCanvas(t,this.cyclesPerLine,this.totalScanlines)}initCanvas(){this.imageData=this.ctx.createImageData(this.canvas.width,this.canvas.height),this.datau32=new Uint32Array(this.imageData.data.buffer)}getTooltipText(t,n){t=t|0,n=n|0;var i="",s=null,o=[],a=-1;return this.redraw((l,c,d,h,u,f)=>{switch(l){case 16777216:s=this.addr2symbol(c)||s;break;case 167772160:o.push(s);break;case 184549376:s=o.pop();break}h==n&&d<=t&&(d!=a&&(i="",a=d),i==""&&s&&(i+=`
|
||||
`+s),i+=`
|
||||
`+this.opToString(l,c,f))}),"X: "+t+" Y: "+n+" "+i}refresh(){this.tick(),this.datau32.fill(Vn)}tick(){super.tick(),this.drawImage()}drawImage(){this.ctx.putImageData(this.imageData,0,0)}clear(){this.datau32.fill(Vn)}},lu=class extends au{createDiv(e){return this.createCanvas(e,256,256)}initCanvas(){super.initCanvas(),this.canvas.onclick=e=>{var t=Sc(this.canvas,e),n=Math.floor(t.x)+Math.floor(t.y)*256,i=-1,s=-1;this.redraw((o,a)=>{s<0&&i>=0&&a==n&&(s=i),o==16777216&&(i=a)}),s>=0&&Hl([s])}}clear(){for(var e=0;e<=65535;e++){var t=P.readAddress(e),n=t>>2|t&31;n|=n<<8|n<<16,this.datau32[e]=n|Vn}}drawEvent(e,t,n,i){var s=this.getOpRGB(e,t);if(s){var o=t&255,a=t>>8&255,l=this.datau32[t&65535];l=l|s|Vn,this.datau32[t&65535]=l}}getTooltipText(e,t){var n=(e&255)+(t<<8),i="",s=-1,o={},a=null,l=[];return this.redraw((c,d,h,u,f,m)=>{switch(c){case 16777216:s=d,a=this.addr2symbol(d)||a;break;case 167772160:l.push(a);break;case 184549376:a=l.pop();break}var g=c|s;d==n&&!o[g]&&(i==""&&a&&(i+=`
|
||||
`+a),i+=`
|
||||
PC `+this.addr2str(s)+" "+this.opToString(c,null,m),o[g]=1)}),this.addr2str(n)+i}},bb=class extends au{initCanvas(){super.initCanvas(),this.canvas.onclick=e=>{var t=Sc(this.canvas,e),n=Math.floor(t.x),i=Math.floor(t.y),s=this.getOpAtPos(t.x,t.y,16777216);s&&(oi("toline"),P.runEval(()=>{let o=P.getRasterScanline&&P.getRasterScanline()>=i;return o&&P.getRasterLineClock?o&&P.getRasterLineClock()>n:o}))}}drawEvent(e,t,n,i){var s=this.getOpRGB(e,t);if(s){var o=n+i*this.canvas.width,a=s|Vn;this.datau32[o]|=a}}drawImage(){let e=Vn;for(let t=0;t<this.datau32.length;t++)this.datau32[t]==Vn?this.datau32[t]=e:e=this.datau32[t];super.drawImage()}},cu=class extends bb{constructor(){super(...arguments);this.interrupt=0;this.rgb=0;this.lastpc=0}drawEvent(t,n,i,s){var o=i+s*this.canvas.width;if(t==134217728&&(this.interrupt=1),this.interrupt==1&&t==167772160&&(this.interrupt=n),this.interrupt>1&&this.sp>this.interrupt&&(this.interrupt=0),t==318767104&&(this.rgb|=47),t==385875968&&(this.rgb|=16256),t==352321536&&(this.rgb|=2047872),t==335544320&&(this.rgb|=7936),t==520093696&&(this.rgb=32768),t==150994944||t==402653184)this.datau32[o]=4279176975;else{let a=this.rgb;if(t==16777216){let l=this.sp&15;l>=8&&(l=16-l),Math.abs(this.lastpc)-n>16&&(l+=1),Math.abs(this.lastpc)-n>256&&(l+=1),a=this.rgb=526344*l+2105376,this.lastpc=n}this.interrupt&&(a|=8388672),this.datau32[o]==Vn&&(this.datau32[o]=a|Vn)}}},du=class extends ps{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new co(t),this.vlist.create(t,this.cyclesPerLine*this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){var n="",i="seg_data",s=this.dumplines&&this.dumplines[t];if(s!=null){var o=s.info.join(", ");n="("+Gn(s.row,4)+", "+Gn(s.col,4)+") "+Ma(s.asm||"",20)+o,o.indexOf("Write ")>=0&&(i="seg_io")}return{text:n,clas:i}}refresh(){this.tick()}tick(){let t=P instanceof sf||P instanceof nf;this.dumplines={},this.redraw((n,i,s,o,a,l)=>{t&&(a>>=2);var c=this.dumplines[a];switch(c==null&&(c={op:n,addr:i,row:o,col:s,asm:null,info:[]},this.dumplines[a]=c),n){case 16777216:if(P.disassemble){var d=P.disassemble(i,P.readAddress.bind(P));c.asm=d&&d.line}break;default:var h=this.opToString(n,i,l);h!=""&&c.info.push(h);break}}),this.vlist.refresh()}},hu=class extends ps{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new co(t),this.vlist.create(t,this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){for(var n=Gn(t+"",3)+" ",i="seg_code",s=this.dumplines&&this.dumplines[t]||[],o=Math.round(this.cyclesPerLine/3.3),a=0;a<this.cyclesPerLine;a++){var l=s[a];if(l!==void 0){var c=l&65535,d=d&Vn;if(d==16777216)n+=",";else{var h=Ce(c);n+=h,a+=h.length-1}}else n+=a==o?"|":"."}return s[-1]&&(n+=" "+s[-1]),{text:n,clas:i}}refresh(){this.tick()}tick(){let t=P instanceof sf||P instanceof nf;this.dumplines={},this.redraw((n,i,s,o,a,l)=>{var c=this.dumplines[o];switch(c==null&&(this.dumplines[o]=c=[]),n){case 16777216:var d=P.debugSymbols.addr2symbol[i];d&&(c[-1]=d);break;case 335544320:case 352321536:case 369098752:case 385875968:c[s]=n|i;break}}),this.vlist.refresh()}},uu=class extends ps{constructor(){super(...arguments);this.recreateOnResize=!0;this.cumulativeData=!0}createDiv(t){return P.debugSymbols&&P.debugSymbols.symbolmap?this.keys=Array.from(Object.keys(P.debugSymbols.symbolmap).filter(n=>!rQ(n))):this.keys=["no symbols defined"],this.vlist=new co(t),this.vlist.create(t,this.keys.length+1,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){if(t==0)return{text:Gn("Symbol",35)+Gn("Reads",8)+Gn("Writes",8)};var n=this.keys[t-1],i=this.dumplines&&this.dumplines[n];function s(l){var c=i[l]|0;return Gn(c?c.toString():"",8)}var o,a;return i!=null?(o=Gn(n,35)+s(301989888)+s(318767104),i[16777216]?a="seg_code":i[335544320]||i[352321536]?a="seg_io":a="seg_data"):(o=Gn(n,35),a="seg_unknown"),{text:o,clas:a}}refresh(){this.tick()}tick(){this.dumplines={},this.redraw((t,n,i,s,o,a)=>{var l=P.debugSymbols.addr2symbol[n];if(l!=null){var c=this.dumplines[l];c==null&&(c={},this.dumplines[l]=c),c[t]=(c[t]|0)+1}}),this.vlist.refresh(),this.probe&&this.probe.clear()}},fu=class{constructor(){this.editingId=null}createDiv(e){return this.maindiv=xn(e,"vertical-scroll bp-view"),this.render(),this.maindiv[0]}refresh(e){this.render()}render(){let e=this.maindiv.empty(),t=Fh(),n=this.editingId!=null?t.find(d=>d.bp.id==this.editingId):null,i=$('<div class="bp-form"/>'),s=$('<input type="text" class="bp-input" spellcheck="false"/>').attr("placeholder","address or symbol (e.g. $8000, mainloop)").val(n&&n.bp.type=="address"?n.bp.target:""),o=$('<input type="text" class="bp-input" spellcheck="false"/>').attr("placeholder","condition (e.g. A>=$20, #scanline==222)").val(n&&n.bp.condition||""),a=$('<button class="btn btn-default btn-xs bp-submit"/>').text(n?"Save":"Add"),l=$('<button class="btn btn-default btn-xs bp-submit"/>').text("Cancel");l.toggl
Line truncated
|
||||
`)<0&&e.indexOf("\r")<0)return e.trim()}return""}function H5(r){var t;let e=r.record;if(e.source==="project"){let n=e.file;if(!n||!F.isWindow(n))return;let i=F.createOrShow(n);i instanceof Pr&&e.line&&i.navigateToLine(e.line)}else if(e.source==="toolchain"){let n=e.file;if(!n)return;Gl(n);let i=F.createOrShow("#headerview/"+n);i instanceof us&&e.line&&i.navigateToLine(e.line)}else if(e.source==="debugger"){let n=(t=e.addr)!=null?t:-1;if(n<0)return;if(e.kind==="label"&&F.isWindow("#disasm")){let i=F.createOrShow("#disasm");i instanceof Mi&&i.goToAddress(n)}else{let i=F.createOrShow("#memory");i instanceof fs&&i.goToAddress(n)}}else if(e.source==="docs"){let n=e.url||"";n.startsWith("#help/")?F.createOrShow(n):n&&window.open(n,"_blank")}}function yb(){bootbox.dialog({title:"Search",onEscape:!0,message:`
|
||||
PC `+this.addr2str(s)+" "+this.opToString(c,null,m),o[g]=1)}),this.addr2str(n)+i}},bb=class extends au{initCanvas(){super.initCanvas(),this.canvas.onclick=e=>{var t=Sc(this.canvas,e),n=Math.floor(t.x),i=Math.floor(t.y),s=this.getOpAtPos(t.x,t.y,16777216);s&&(oi("toline"),P.runEval(()=>{let o=P.getRasterScanline&&P.getRasterScanline()>=i;return o&&P.getRasterLineClock?o&&P.getRasterLineClock()>n:o}))}}drawEvent(e,t,n,i){var s=this.getOpRGB(e,t);if(s){var o=n+i*this.canvas.width,a=s|Vn;this.datau32[o]|=a}}drawImage(){let e=Vn;for(let t=0;t<this.datau32.length;t++)this.datau32[t]==Vn?this.datau32[t]=e:e=this.datau32[t];super.drawImage()}},cu=class extends bb{constructor(){super(...arguments);this.interrupt=0;this.rgb=0;this.lastpc=0}drawEvent(t,n,i,s){var o=i+s*this.canvas.width;if(t==134217728&&(this.interrupt=1),this.interrupt==1&&t==167772160&&(this.interrupt=n),this.interrupt>1&&this.sp>this.interrupt&&(this.interrupt=0),t==318767104&&(this.rgb|=47),t==385875968&&(this.rgb|=16256),t==352321536&&(this.rgb|=2047872),t==335544320&&(this.rgb|=7936),t==520093696&&(this.rgb=32768),t==150994944||t==402653184)this.datau32[o]=4279176975;else{let a=this.rgb;if(t==16777216){let l=this.sp&15;l>=8&&(l=16-l),Math.abs(this.lastpc)-n>16&&(l+=1),Math.abs(this.lastpc)-n>256&&(l+=1),a=this.rgb=526344*l+2105376,this.lastpc=n}this.interrupt&&(a|=8388672),this.datau32[o]==Vn&&(this.datau32[o]=a|Vn)}}},du=class extends ps{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new co(t),this.vlist.create(t,this.cyclesPerLine*this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){var n="",i="seg_data",s=this.dumplines&&this.dumplines[t];if(s!=null){var o=s.info.join(", ");n="("+Gn(s.row,4)+", "+Gn(s.col,4)+") "+Ma(s.asm||"",20)+o,o.indexOf("Write ")>=0&&(i="seg_io")}return{text:n,clas:i}}refresh(){this.tick()}tick(){let t=P instanceof sf||P instanceof nf;this.dumplines={},this.redraw((n,i,s,o,a,l)=>{t&&(a>>=2);var c=this.dumplines[a];switch(c==null&&(c={op:n,addr:i,row:o,col:s,asm:null,info:[]},this.dumplines[a]=c),n){case 16777216:if(P.disassemble){var d=P.disassemble(i,P.readAddress.bind(P));c.asm=d&&d.line}break;default:var h=this.opToString(n,i,l);h!=""&&c.info.push(h);break}}),this.vlist.refresh()}},hu=class extends ps{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new co(t),this.vlist.create(t,this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){for(var n=Gn(t+"",3)+" ",i="seg_code",s=this.dumplines&&this.dumplines[t]||[],o=Math.round(this.cyclesPerLine/3.3),a=0;a<this.cyclesPerLine;a++){var l=s[a];if(l!==void 0){var c=l&65535,d=d&Vn;if(d==16777216)n+=",";else{var h=Ce(c);n+=h,a+=h.length-1}}else n+=a==o?"|":"."}return s[-1]&&(n+=" "+s[-1]),{text:n,clas:i}}refresh(){this.tick()}tick(){let t=P instanceof sf||P instanceof nf;this.dumplines={},this.redraw((n,i,s,o,a,l)=>{var c=this.dumplines[o];switch(c==null&&(this.dumplines[o]=c=[]),n){case 16777216:var d=P.debugSymbols.addr2symbol[i];d&&(c[-1]=d);break;case 335544320:case 352321536:case 369098752:case 385875968:c[s]=n|i;break}}),this.vlist.refresh()}},uu=class extends ps{constructor(){super(...arguments);this.recreateOnResize=!0;this.cumulativeData=!0}createDiv(t){return P.debugSymbols&&P.debugSymbols.symbolmap?this.keys=Array.from(Object.keys(P.debugSymbols.symbolmap).filter(n=>!rQ(n))):this.keys=["no symbols defined"],this.vlist=new co(t),this.vlist.create(t,this.keys.length+1,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){if(t==0)return{text:Gn("Symbol",35)+Gn("Reads",8)+Gn("Writes",8)};var n=this.keys[t-1],i=this.dumplines&&this.dumplines[n];function s(l){var c=i[l]|0;return Gn(c?c.toString():"",8)}var o,a;return i!=null?(o=Gn(n,35)+s(301989888)+s(318767104),i[16777216]?a="seg_code":i[335544320]||i[352321536]?a="seg_io":a="seg_data"):(o=Gn(n,35),a="seg_unknown"),{text:o,clas:a}}refresh(){this.tick()}tick(){this.dumplines={},this.redraw((t,n,i,s,o,a)=>{var l=P.debugSymbols.addr2symbol[n];if(l!=null){var c=this.dumplines[l];c==null&&(c={},this.dumplines[l]=c),c[t]=(c[t]|0)+1}}),this.vlist.refresh(),this.probe&&this.probe.clear()}},fu=class{constructor(){this.editingId=null}createDiv(e){return this.maindiv=xn(e,"vertical-scroll bp-view"),this.render(),this.maindiv[0]}refresh(e){this.render()}render(){let e=this.maindiv.empty(),t=Fh(),n=this.editingId!=null?t.find(d=>d.bp.id==this.editingId):null,i=$('<div class="bp-form"/>'),s=$('<input type="text" class="bp-input" spellcheck="false"/>').attr("placeholder","address or symbol (e.g. $8000, mainloop)").val(n&&n.bp.type=="address"?n.bp.target:""),o=$('<input type="text" class="bp-input" spellcheck="false"/>').attr("placeholder","condition (e.g. A>=$20, #scanline==222)").val(n&&n.bp.condition||""),a=$('<button class="btn btn-default btn-xs bp-submit"/>').text(n?"Save":"Add"),l=$('<button class="btn btn-default btn-xs bp-submit"/>').text("Cancel");l.toggl
Line truncated
|
||||
`)<0&&e.indexOf("\r")<0)return e.trim()}return""}function K5(r){var t;let e=r.record;if(e.source==="project"){let n=e.file;if(!n||!F.isWindow(n))return;let i=F.createOrShow(n);i instanceof Pr&&e.line&&i.navigateToLine(e.line)}else if(e.source==="toolchain"){let n=e.file;if(!n)return;Gl(n);let i=F.createOrShow("#headerview/"+n);i instanceof us&&e.line&&i.navigateToLine(e.line)}else if(e.source==="debugger"){let n=(t=e.addr)!=null?t:-1;if(n<0)return;if(e.kind==="label"&&F.isWindow("#disasm")){let i=F.createOrShow("#disasm");i instanceof Mi&&i.goToAddress(n)}else{let i=F.createOrShow("#memory");i instanceof fs&&i.goToAddress(n)}}else if(e.source==="docs"){let n=e.url||"";n.startsWith("#help/")?F.createOrShow(n):n&&window.open(n,"_blank")}}function yb(){bootbox.dialog({title:"Search",onEscape:!0,message:`
|
||||
<div id="searchbox_form">
|
||||
<input type="text" id="searchboxInput" class="form-control"
|
||||
placeholder="Search symbols, files, docs"
|
||||
autocomplete="off" style="margin-bottom:8px">
|
||||
<div id="searchboxResults" style="max-height:340px;overflow-y:auto"></div>
|
||||
</div>
|
||||
`,buttons:{close:{label:"Close",className:"btn-default"}}}).one("shown.bs.modal",()=>{$("#searchboxInput").trigger("focus")});let e=$("#searchboxInput"),t=$("#searchboxResults"),n=[],i=-1,s=d=>{if(i=Math.max(-1,Math.min(d,n.length-1)),t.find("li.search-hit").each((h,u)=>{$(u).toggleClass("active",h===i)}),i>=0){let h=t[0],u=t.find("li.search-hit").eq(i);if(u.length){let f=u[0],m=h.getBoundingClientRect(),g=f.getBoundingClientRect(),v=g.top-m.top;v<0?h.scrollTop+=v:v+g.height>m.height&&(h.scrollTop+=v+g.height-m.height)}}},o=(d=i)=>{let h=n[d];h&&(H5(h),bootbox.hideAll())},a=d=>{if(n=d||[],n.length===0){i=-1,t.html('<div class="text-muted" style="padding:8px">No matches.</div>');return}let h=$('<ul class="list-group" style="margin-bottom:0"></ul>');for(let u of n){let f=u.record,m=f.source,g=f.kind==="func"?"\u0192":f.kind==="macro"?"#":f.kind==="label"?":":f.kind==="struct"?"S":f.kind==="enum"?"E":f.kind==="text"?"\u2261":"\u2022",v=f.source==="debugger"?Ce(f.addr,4):f.file&&f.line?`${f.file}:${f.line}`:f.file||"",k=f.kind!=="text",L=$('<li class="list-group-item search-hit" style="cursor:pointer;padding:6px 10px;display:flex;align-items:center;overflow:hidden"></li>');L.html(`<span class="search-kind" style="margin-right:6px;font-weight:bold;flex:0 0 auto">${g}</span><span class="search-name" style="flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">`+(k?`<strong>${mu(f.name)}</strong>`:`<span class="search-dumb">${mu(f.name)}</span>`)+(f.brief?` <span class="text-muted">- ${mu(f.brief)}</span>`:"")+`</span><span class="search-loc" style="flex:0 0 auto;margin-left:8px;font-style:italic;font-size:small;white-space:nowrap">${v?mu(v):""}</span>`),L.click(()=>{o(n.indexOf(u))}),h.append(L)}t.empty().append(h),s(0)},l=U5(async()=>{let d=e.val();if(!d){n=[],i=-1,t.empty();return}try{let h=await PP.query(d,q5),u=pu(d,P&&P.debugSymbols&&P.debugSymbols.symbolmap);u&&sQ(u,h.length>0)&&h.push(iQ(d,u,ae&&ae.segments)),a(h)}catch(h){t.html('<div class="text-danger" style="padding:8px">Search failed.</div>')}},150);e.on("input",l),e.on("keydown",d=>{d.key==="ArrowDown"?(d.preventDefault(),s(i+1)):d.key==="ArrowUp"?(d.preventDefault(),s(i-1)):d.key==="Enter"?(d.preventDefault(),i>=0?o():l()):d.key==="Home"?(d.preventDefault(),s(0)):d.key==="End"&&(d.preventDefault(),s(n.length-1))});let c=G5();c&&(e.val(c),l())}var K5=800,J5=1e3,eX=16;function hQ(r){var e={};return r.forEach(t=>{e[t.name]=(e[t.name]||0)+1}),r.forEach(t=>{e[t.name]>1&&t.group&&(t.name=t.group+": "+t.name)}),r}function oQ(r){return r.art?r.brev?0:7:null}var Ou=/([0#]?)([x$%]|\d'h)([0-9a-f]+)(?:[;].*)?|(\d'b|0b)([01]+)/gim;function kb(r){return r.replace(/(\shex\s+)([0-9a-f]+)/ig,function(e,t,n){for(var i=t,s=0;s<n.length;s+=2)i+="0x"+n.substr(s,2)+",";return i})}function uQ(r){for(var e=[],t;t=Ou.exec(r);){var n;t[4]?n=parseInt(t[5],2):t[2].startsWith("%")?n=parseInt(t[3],2):t[2].startsWith("x")||t[2].startsWith("$")||t[2].endsWith("h")?n=parseInt(t[3],16):n=parseInt(t[3]),e.push(n)}return e}function tX(r,e,t){r=kb(r);for(var n="",i,s=0,o=0,a=Math.ceil(t/4);i=Ou.exec(r);)n+=r.slice(s,Ou.lastIndex-i[0].length),s=Ou.lastIndex,i[4]?n+=i[4]+Ku(e[o++],parseInt(i[4])):i[2].startsWith("%")?n+=i[1]+i[2]+Ku(e[o++],t):i[2].endsWith("h")?n+=i[1]+i[2]+Ce(e[o++],parseInt(i[2])):i[2].startsWith("x")?n+=i[1]+"x"+Ce(e[o++],a):i[2].startsWith("$")?n+=i[1]+"$"+Ce(e[o++],a):n+=i[1]+e[o++].toString();return n+=r.slice(s),n=n.replace(/(\shex\s+)([,x0-9a-f]+)/ig,(l,c,d)=>{var h=c+d;return h=h.replace(/0x/ig,"").replace(/,/ig,""),h}),n}function $b(r,e){if(!e)return r;for(var t=0,n=0;n<e.length;n++){var i=e[n];i<0&&(i=-i-1,t^=1<<i),r&1<<n&&(t^=1<<i)}return t}function Qb(r,e){var t=e[r%e.length];return[t>>3,t&7]}var rX=[[0,0,4],[8,0,0]],nX=[[0,8,12],[8,8,0],[16,8,4],[24,8,8],[32,0,12],[40,0,0],[48,0,4],[56,0,8]];function iX(r,e,t,n,i,s){for(var o=0;o<8;o++)for(var a=r[e+o]||0,l=0;l<4;l++){var c=(3-l)*s+(7-o),d=a>>l&1|(a>>l+4&1)<<1;t[i*s+n+c]=d}}function sX(r,e,t,n,i,s){for(var o=0;o<8;o++){for(var a=0,l=0;l<4;l++){var c=(3-l)*s+(7-o),d=(t[i*s+n+c]||0)&3;d&1&&(a|=1<<l),d&2&&(a|=1<<l+4)}r[e+o]=a}}function Tb(r){return r.w===16&&r.h===16?nX:rX}function fQ(r){return Tb(r).length*8}function oX(r,e){for(var t=e.w,n=e.h,i=e.count||1,s=e.wpimg||fQ(e),o=Tb(e),a=[],l=0;l<i;l++){for(var c=new Array(t*n).fill(0),d=l*s,h=0;h<o.length;h++){var[u,f,m]=o[h];iX(r,d+u,c,f,m,t)}a.push(new Uint8Array(c))}return a}function aX(r,e){for(var t=e.w,n=e.h,i=e.count||r.length,s=e.wpimg||fQ(e),o=Tb(e),a=new Array(s*i).fill(0),l=0;l<i;l++)for(var c=r[l]||new Uint8Array(t*n),d=l*s,h=0;h<o.length;h++){var[u,f,m]=o[h];sX(a,d+u,c,f,m,t)}return a}function lX(r,e){if(e.pacstrip)return oX(r,e);var t=e.w,n=e.h,i=e.count||1,s=e.bpp||1,o=e.np||1,a=e.bpw||8,l=e.sl||Math.ceil(t*s/a),c=(1<<s)-1,d=e.pofs||l*n*i,h=e.skip||0,u=e.wpimg||l*n,f=l;e.il&&(u=l,f=l*i);for(var m=[],g=0;g<i;g++){for(var v=[],k=0;k<n;k++)for(var L=e.flip?n-1-k:k,M=u*g+L*f,D=0,w=0;w<t;w++){var x=0,R=$b(M,e.remap);Line truncated
|
||||
`&&t++;return t}function gQ(r,e){for(var t=/[/;][*;]([{].+[}])[*;][/;]/g,n=[],i;i=t.exec(r);){var s=i.index+i[0].length,o;e?o=r.indexOf("end",s):i[0].startsWith(";;")?(o=r.indexOf(";;",s),o==r.indexOf(";;{",s)&&(o=-1)):o=r.indexOf(";",s);var a=aQ(r,i.index),l=i[0],c=o>=0?aQ(r,o):"???";if(o<0){var d=e?'"end"':i[0].startsWith(";;")?'";;"':'";"';n.push({header:l,startline:a,endline:c,error:`No closing ${d} found after asset header`})}else if(o<=s)n.push({header:l,startline:a,endline:c,error:"Empty data block after asset header"});else try{var h=i[1].replace(/([A-Za-z]+):/g,'"$1":'),u=JSON.parse(h),f=/#embed\s+"(.+?)"/.exec(r.substring(s,o)),m=f?f[1]:void 0;n.push({header:l,startline:a,endline:c,fmt:u,start:s,end:o,embedFile:m})}catch(g){n.push({header:l,startline:a,endline:c,error:`Invalid asset format: ${g.message}`})}}return n}function bQ(r,e,t){if(t(e))return e;var n=r.lastIndexOf("/");if(n>=0){var i=r.substring(0,n+1)+e;if(t(i))return i}return null}function cX(r,e){if(e.destfmt&&(e=e.destfmt),e.pacstrip)return aX(r,e);var t=e.w,n=e.h,i=e.count||1,s=e.bpp||1,o=e.np||1,a=e.bpw||8,l=e.sl||Math.ceil(e.w*s/a),c=(1<<s)-1,d=e.pofs||l*n*i,h=e.skip||0,u=e.wpimg||l*n,f=l;e.il&&(u=l,f=l*i);var m=e.il?f*n:u*i,g;o>0&&e.sl?g=new Uint8Array(m):a<=8?g=new Uint8Array(m*o):g=new Uint32Array(m*o);for(var v=0;v<i;v++)for(var k=r[v],L=0,M=0;M<n;M++)for(var D=e.flip?n-1-M:M,w=v*u+D*f,x=0,R=0;R<t;R++){var X=k[L++],j=$b(w,e.remap);e.reindex&&([j,x]=Qb(R,e.reindex),j+=w);for(var G=0;G<o;G++){var ie=X>>G*s&c;g[j+G*d+h]|=e.brev?ie<<a-x-s:ie<<x}x+=s,x>=a&&!e.reindex&&(w+=1,x=0)}return g}function lQ(r,e,t,n,i,s,o){for(var a=[],l=0;l<r.length;l++){var c=r[l],d=4278190080;d|=(c>>e&(1<<t)-1)<<8-t,d|=(c>>n&(1<<i)-1)<<16-i,d|=(c>>s&(1<<o)-1)<<24-o,a.push(d)}return a}function dX(r){var e=(r>>0&1)*33+(r>>1&1)*71+(r>>2&1)*151,t=(r>>3&1)*33+(r>>4&1)*71+(r>>5&1)*151,n=(r>>6&1)*81+(r>>7&1)*174;return 4278190080|n<<16|t<<8|e}function hX(r){var e=r.pal;if(typeof e=="number"){var t=Math.floor(Math.abs(e/100)%10),n=Math.floor(Math.abs(e/10)%10),i=Math.floor(Math.abs(e)%10);return 1<<t+n+i}else{if(e==="pacman")return 256;var s=yQ[e];if(s)return s.length;throw new Error("No palette named "+e)}}function Sb(r,e){var t=e.pal,n;if(typeof t=="number"){var i=Math.floor(Math.abs(t/100)%10),s=Math.floor(Math.abs(t/10)%10),o=Math.floor(Math.abs(t)%10);t>=0?n=lQ(r,0,i,i,s,i+s,o):n=lQ(r,i+s,o,i,s,0,i)}else if(t==="pacman"){n=[];for(var a=0;a<r.length;a++)n.push(dX(r[a]))}else{var l=yQ[t];if(l)n=new Uint32Array(r).map(c=>l[c&l.length-1]|4278190080);else throw new Error("No palette named "+t)}return n}function ec(r){var e=r.pal;if(typeof e!="number"||!isFinite(e))return null;var t=Math.floor(Math.abs(e/100)%10),n=Math.floor(Math.abs(e/10)%10),i=Math.floor(Math.abs(e)%10);return t+n+i<=0?null:e>=0?{r:t,g:n,b:i,rshift:0,gshift:t,bshift:t+n}:{r:i,g:n,b:t,rshift:t+n,gshift:t,bshift:0}}function cQ(r,e,t,n){var i=ec(r);return i?(e&(1<<i.r)-1)<<i.rshift|(t&(1<<i.g)-1)<<i.gshift|(n&(1<<i.b)-1)<<i.bshift:0}function uX(r,e){var t=ec(r);return t?{r:e>>t.rshift&(1<<t.r)-1,g:e>>t.gshift&(1<<t.g)-1,b:e>>t.bshift&(1<<t.b)-1}:null}var yQ={gb:[13686916,8890444,5401396,2961698],nes:[5395026,11796480,10485760,11599933,7602281,91,95,6208,12048,543240,26368,1196544,7153664,0,0,0,12899815,16728064,14421538,16729963,14090399,6818519,6588,21681,27227,35843,43776,2918400,10777088,0,0,0,16316664,16755516,16742785,16735173,16730354,14633471,4681215,46327,57599,58229,259115,7911470,15065624,7895160,0,0,16777215,16773822,16300216,16300248,16758527,16761855,13095423,10148607,8973816,8650717,12122296,16119980,16777136,16308472,0,0],ap2lores:[0,16711935,127,8323199,32512,8355711,191,255,12549888,16760576,12566463,16744319,65280,16776960,49023,16777215],vcs:[0,0,4210752,4210752,7105644,7105644,9474192,9474192,11579568,11579568,13158600,13158600,14474460,14474460,16053492,16053492,17476,17476,1074276,1074276,2393220,2393220,3448992,3448992,4241592,4241592,5296336,5296336,6088936,6088936,6880508,6880508,10352,10352,1328260,1328260,2645144,2645144,3963052,3963052,5016764,5016764,6070476,6070476,6862044,6862044,7915756,7915756,6276,6276,1586328,1586328,3166380,3166380,4745408,4745408,6062288,6062288,7378144,7378144,8431852,8431852,9747708,9747708,136,136,2105500,2105500,3947696,3947696,5789888,5789888,7368912,7368912,8947936,8947936,10526956,10526956,11842812,11842812,6029432,6029432,7610508,7610508,8928416,8928416,10246320,10246320,11563200,11563200,12616912,12616912,13671644,13671644,14725356,14725356,7864392,7864392,9445472,9445472,10763384,10763384,12081292,12081292,13398176,13398176,14451892,14451892,15506628,15506628,16560340,16560340,8650772,8650772,9969712,9969712,11287628,11287628,12605544,12605544,13660284,13660284,14715028,14715028,15507624,15507624,16561340,16561340,8912896,8912896,10231836,10231836,11550776,11550776,12606544,12606544,13661288,13661288,14716028,14716028,15508624,15508624,16562340,16562340,8132608,8132608,9451548,9451548,11031608,11031608,12349520,12349520,13404264,134042
Line truncated
|
||||
`,buttons:{close:{label:"Close",className:"btn-default"}}}).one("shown.bs.modal",()=>{$("#searchboxInput").trigger("focus")});let e=$("#searchboxInput"),t=$("#searchboxResults"),n=[],i=-1,s=d=>{if(i=Math.max(-1,Math.min(d,n.length-1)),t.find("li.search-hit").each((h,u)=>{$(u).toggleClass("active",h===i)}),i>=0){let h=t[0],u=t.find("li.search-hit").eq(i);if(u.length){let f=u[0],m=h.getBoundingClientRect(),g=f.getBoundingClientRect(),v=g.top-m.top;v<0?h.scrollTop+=v:v+g.height>m.height&&(h.scrollTop+=v+g.height-m.height)}}},o=(d=i)=>{let h=n[d];h&&(K5(h),bootbox.hideAll())},a=d=>{if(n=d||[],n.length===0){i=-1,t.html('<div class="text-muted" style="padding:8px">No matches.</div>');return}let h=$('<ul class="list-group" style="margin-bottom:0"></ul>');for(let u of n){let f=u.record,m=f.source,g=f.kind==="func"?"\u0192":f.kind==="macro"?"#":f.kind==="label"?":":f.kind==="struct"?"S":f.kind==="enum"?"E":f.kind==="text"?"\u2261":"\u2022",v=f.source==="debugger"?Ce(f.addr,4):f.file&&f.line?`${f.file}:${f.line}`:f.file||"",k=f.kind!=="text",L=$('<li class="list-group-item search-hit" style="cursor:pointer;padding:6px 10px;display:flex;align-items:center;overflow:hidden"></li>');L.html(`<span class="search-kind" style="margin-right:6px;font-weight:bold;flex:0 0 auto">${g}</span><span class="search-name" style="flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">`+(k?`<strong>${mu(f.name)}</strong>`:`<span class="search-dumb">${mu(f.name)}</span>`)+(f.brief?` <span class="text-muted">- ${mu(f.brief)}</span>`:"")+`</span><span class="search-loc" style="flex:0 0 auto;margin-left:8px;font-style:italic;font-size:small;white-space:nowrap">${v?mu(v):""}</span>`),L.click(()=>{o(n.indexOf(u))}),h.append(L)}t.empty().append(h),s(0)},l=q5(async()=>{let d=e.val();if(!d){n=[],i=-1,t.empty();return}try{let h=await PP.query(d,G5),u=pu(d,P&&P.debugSymbols&&P.debugSymbols.symbolmap);u&&sQ(u,h.length>0)&&h.push(iQ(d,u,ae&&ae.segments)),a(h)}catch(h){t.html('<div class="text-danger" style="padding:8px">Search failed.</div>')}},150);e.on("input",l),e.on("keydown",d=>{d.key==="ArrowDown"?(d.preventDefault(),s(i+1)):d.key==="ArrowUp"?(d.preventDefault(),s(i-1)):d.key==="Enter"?(d.preventDefault(),i>=0?o():l()):d.key==="Home"?(d.preventDefault(),s(0)):d.key==="End"&&(d.preventDefault(),s(n.length-1))});let c=H5();c&&(e.val(c),l())}var J5=800,eX=1e3,tX=16;function hQ(r){var e={};return r.forEach(t=>{e[t.name]=(e[t.name]||0)+1}),r.forEach(t=>{e[t.name]>1&&t.group&&(t.name=t.group+": "+t.name)}),r}function oQ(r){return r.art?r.brev?0:7:null}var Ou=/([0#]?)([x$%]|\d'h)([0-9a-f]+)(?:[;].*)?|(\d'b|0b)([01]+)/gim;function kb(r){return r.replace(/(\shex\s+)([0-9a-f]+)/ig,function(e,t,n){for(var i=t,s=0;s<n.length;s+=2)i+="0x"+n.substr(s,2)+",";return i})}function uQ(r){for(var e=[],t;t=Ou.exec(r);){var n;t[4]?n=parseInt(t[5],2):t[2].startsWith("%")?n=parseInt(t[3],2):t[2].startsWith("x")||t[2].startsWith("$")||t[2].endsWith("h")?n=parseInt(t[3],16):n=parseInt(t[3]),e.push(n)}return e}function rX(r,e,t){r=kb(r);for(var n="",i,s=0,o=0,a=Math.ceil(t/4);i=Ou.exec(r);)n+=r.slice(s,Ou.lastIndex-i[0].length),s=Ou.lastIndex,i[4]?n+=i[4]+Ku(e[o++],parseInt(i[4])):i[2].startsWith("%")?n+=i[1]+i[2]+Ku(e[o++],t):i[2].endsWith("h")?n+=i[1]+i[2]+Ce(e[o++],parseInt(i[2])):i[2].startsWith("x")?n+=i[1]+"x"+Ce(e[o++],a):i[2].startsWith("$")?n+=i[1]+"$"+Ce(e[o++],a):n+=i[1]+e[o++].toString();return n+=r.slice(s),n=n.replace(/(\shex\s+)([,x0-9a-f]+)/ig,(l,c,d)=>{var h=c+d;return h=h.replace(/0x/ig,"").replace(/,/ig,""),h}),n}function $b(r,e){if(!e)return r;for(var t=0,n=0;n<e.length;n++){var i=e[n];i<0&&(i=-i-1,t^=1<<i),r&1<<n&&(t^=1<<i)}return t}function Qb(r,e){var t=e[r%e.length];return[t>>3,t&7]}var nX=[[0,0,4],[8,0,0]],iX=[[0,8,12],[8,8,0],[16,8,4],[24,8,8],[32,0,12],[40,0,0],[48,0,4],[56,0,8]];function sX(r,e,t,n,i,s){for(var o=0;o<8;o++)for(var a=r[e+o]||0,l=0;l<4;l++){var c=(3-l)*s+(7-o),d=a>>l&1|(a>>l+4&1)<<1;t[i*s+n+c]=d}}function oX(r,e,t,n,i,s){for(var o=0;o<8;o++){for(var a=0,l=0;l<4;l++){var c=(3-l)*s+(7-o),d=(t[i*s+n+c]||0)&3;d&1&&(a|=1<<l),d&2&&(a|=1<<l+4)}r[e+o]=a}}function Tb(r){return r.w===16&&r.h===16?iX:nX}function fQ(r){return Tb(r).length*8}function aX(r,e){for(var t=e.w,n=e.h,i=e.count||1,s=e.wpimg||fQ(e),o=Tb(e),a=[],l=0;l<i;l++){for(var c=new Array(t*n).fill(0),d=l*s,h=0;h<o.length;h++){var[u,f,m]=o[h];sX(r,d+u,c,f,m,t)}a.push(new Uint8Array(c))}return a}function lX(r,e){for(var t=e.w,n=e.h,i=e.count||r.length,s=e.wpimg||fQ(e),o=Tb(e),a=new Array(s*i).fill(0),l=0;l<i;l++)for(var c=r[l]||new Uint8Array(t*n),d=l*s,h=0;h<o.length;h++){var[u,f,m]=o[h];oX(a,d+u,c,f,m,t)}return a}function cX(r,e){if(e.pacstrip)return aX(r,e);var t=e.w,n=e.h,i=e.count||1,s=e.bpp||1,o=e.np||1,a=e.bpw||8,l=e.sl||Math.ceil(t*s/a),c=(1<<s)-1,d=e.pofs||l*n*i,h=e.skip||0,u=e.wpimg||l*n,f=l;e.il&&(u=l,f=l*i);for(var m=[],g=0;g<i;g++){for(var v=[],k=0;k<n;k++)for(var L=e.flip?n-1-k:k,M=u*g+L*f,D=0,w=0;w<t;w++){var x=0,R=$b(M,e.remap);Line truncated
|
||||
`&&t++;return t}function gQ(r,e){for(var t=/[/;][*;]([{].+[}])[*;][/;]/g,n=[],i;i=t.exec(r);){var s=i.index+i[0].length,o;e?o=r.indexOf("end",s):i[0].startsWith(";;")?(o=r.indexOf(";;",s),o==r.indexOf(";;{",s)&&(o=-1)):o=r.indexOf(";",s);var a=aQ(r,i.index),l=i[0],c=o>=0?aQ(r,o):"???";if(o<0){var d=e?'"end"':i[0].startsWith(";;")?'";;"':'";"';n.push({header:l,startline:a,endline:c,error:`No closing ${d} found after asset header`})}else if(o<=s)n.push({header:l,startline:a,endline:c,error:"Empty data block after asset header"});else try{var h=i[1].replace(/([A-Za-z]+):/g,'"$1":'),u=JSON.parse(h),f=/#embed\s+"(.+?)"/.exec(r.substring(s,o)),m=f?f[1]:void 0;n.push({header:l,startline:a,endline:c,fmt:u,start:s,end:o,embedFile:m})}catch(g){n.push({header:l,startline:a,endline:c,error:`Invalid asset format: ${g.message}`})}}return n}function bQ(r,e,t){if(t(e))return e;var n=r.lastIndexOf("/");if(n>=0){var i=r.substring(0,n+1)+e;if(t(i))return i}return null}function dX(r,e){if(e.destfmt&&(e=e.destfmt),e.pacstrip)return lX(r,e);var t=e.w,n=e.h,i=e.count||1,s=e.bpp||1,o=e.np||1,a=e.bpw||8,l=e.sl||Math.ceil(e.w*s/a),c=(1<<s)-1,d=e.pofs||l*n*i,h=e.skip||0,u=e.wpimg||l*n,f=l;e.il&&(u=l,f=l*i);var m=e.il?f*n:u*i,g;o>0&&e.sl?g=new Uint8Array(m):a<=8?g=new Uint8Array(m*o):g=new Uint32Array(m*o);for(var v=0;v<i;v++)for(var k=r[v],L=0,M=0;M<n;M++)for(var D=e.flip?n-1-M:M,w=v*u+D*f,x=0,R=0;R<t;R++){var X=k[L++],j=$b(w,e.remap);e.reindex&&([j,x]=Qb(R,e.reindex),j+=w);for(var G=0;G<o;G++){var ie=X>>G*s&c;g[j+G*d+h]|=e.brev?ie<<a-x-s:ie<<x}x+=s,x>=a&&!e.reindex&&(w+=1,x=0)}return g}function lQ(r,e,t,n,i,s,o){for(var a=[],l=0;l<r.length;l++){var c=r[l],d=4278190080;d|=(c>>e&(1<<t)-1)<<8-t,d|=(c>>n&(1<<i)-1)<<16-i,d|=(c>>s&(1<<o)-1)<<24-o,a.push(d)}return a}function hX(r){var e=(r>>0&1)*33+(r>>1&1)*71+(r>>2&1)*151,t=(r>>3&1)*33+(r>>4&1)*71+(r>>5&1)*151,n=(r>>6&1)*81+(r>>7&1)*174;return 4278190080|n<<16|t<<8|e}function uX(r){var e=r.pal;if(typeof e=="number"){var t=Math.floor(Math.abs(e/100)%10),n=Math.floor(Math.abs(e/10)%10),i=Math.floor(Math.abs(e)%10);return 1<<t+n+i}else{if(e==="pacman")return 256;var s=yQ[e];if(s)return s.length;throw new Error("No palette named "+e)}}function Sb(r,e){var t=e.pal,n;if(typeof t=="number"){var i=Math.floor(Math.abs(t/100)%10),s=Math.floor(Math.abs(t/10)%10),o=Math.floor(Math.abs(t)%10);t>=0?n=lQ(r,0,i,i,s,i+s,o):n=lQ(r,i+s,o,i,s,0,i)}else if(t==="pacman"){n=[];for(var a=0;a<r.length;a++)n.push(hX(r[a]))}else{var l=yQ[t];if(l)n=new Uint32Array(r).map(c=>l[c&l.length-1]|4278190080);else throw new Error("No palette named "+t)}return n}function ec(r){var e=r.pal;if(typeof e!="number"||!isFinite(e))return null;var t=Math.floor(Math.abs(e/100)%10),n=Math.floor(Math.abs(e/10)%10),i=Math.floor(Math.abs(e)%10);return t+n+i<=0?null:e>=0?{r:t,g:n,b:i,rshift:0,gshift:t,bshift:t+n}:{r:i,g:n,b:t,rshift:t+n,gshift:t,bshift:0}}function cQ(r,e,t,n){var i=ec(r);return i?(e&(1<<i.r)-1)<<i.rshift|(t&(1<<i.g)-1)<<i.gshift|(n&(1<<i.b)-1)<<i.bshift:0}function fX(r,e){var t=ec(r);return t?{r:e>>t.rshift&(1<<t.r)-1,g:e>>t.gshift&(1<<t.g)-1,b:e>>t.bshift&(1<<t.b)-1}:null}var yQ={gb:[13686916,8890444,5401396,2961698],nes:[5395026,11796480,10485760,11599933,7602281,91,95,6208,12048,543240,26368,1196544,7153664,0,0,0,12899815,16728064,14421538,16729963,14090399,6818519,6588,21681,27227,35843,43776,2918400,10777088,0,0,0,16316664,16755516,16742785,16735173,16730354,14633471,4681215,46327,57599,58229,259115,7911470,15065624,7895160,0,0,16777215,16773822,16300216,16300248,16758527,16761855,13095423,10148607,8973816,8650717,12122296,16119980,16777136,16308472,0,0],ap2lores:[0,16711935,127,8323199,32512,8355711,191,255,12549888,16760576,12566463,16744319,65280,16776960,49023,16777215],vcs:[0,0,4210752,4210752,7105644,7105644,9474192,9474192,11579568,11579568,13158600,13158600,14474460,14474460,16053492,16053492,17476,17476,1074276,1074276,2393220,2393220,3448992,3448992,4241592,4241592,5296336,5296336,6088936,6088936,6880508,6880508,10352,10352,1328260,1328260,2645144,2645144,3963052,3963052,5016764,5016764,6070476,6070476,6862044,6862044,7915756,7915756,6276,6276,1586328,1586328,3166380,3166380,4745408,4745408,6062288,6062288,7378144,7378144,8431852,8431852,9747708,9747708,136,136,2105500,2105500,3947696,3947696,5789888,5789888,7368912,7368912,8947936,8947936,10526956,10526956,11842812,11842812,6029432,6029432,7610508,7610508,8928416,8928416,10246320,10246320,11563200,11563200,12616912,12616912,13671644,13671644,14725356,14725356,7864392,7864392,9445472,9445472,10763384,10763384,12081292,12081292,13398176,13398176,14451892,14451892,15506628,15506628,16560340,16560340,8650772,8650772,9969712,9969712,11287628,11287628,12605544,12605544,13660284,13660284,14715028,14715028,15507624,15507624,16561340,16561340,8912896,8912896,10231836,10231836,11550776,11550776,12606544,12606544,13661288,13661288,14716028,14716028,15508624,15508624,16562340,16562340,8132608,8132608,9451548,9451548,11031608,11031608,12349520,12349520,13404264,134042
Line truncated
|
||||
<p>The 8bitworkshop IDE is a browser-based development environment for
|
||||
micro computers and consoles.
|
||||
The IDE compiles or assembles your source code
|
||||
@@ -3646,20 +3646,20 @@ signals), <code>clk</code> and <code>reset</code></li>
|
||||
<li>For input signals (other than <code>clk</code> or <code>reset</code>) <strong>click</strong> its row to change its
|
||||
value at the current clock.</li>
|
||||
</ul>
|
||||
`;var ez=Ib(),Au=[{id:"index",title:"IDE Help",html:wQ},{id:"editor",title:"Editor",html:PQ},{id:"disasm",title:"Disassembly",html:kQ},{id:"memory",title:"Memory Browser",html:$Q},{id:"memmap",title:"Memory Map",html:QQ},{id:"vram",title:"VRAM Browser",html:TQ},{id:"memprobe",title:"Memory Probe",html:_Q},{id:"crtprobe",title:"CRT Probe",html:AQ},{id:"probelog",title:"Probe Log",html:CQ},{id:"scanlineio",title:"Scanline I/O",html:EQ},{id:"symbols",title:"Symbol Profiler",html:RQ},{id:"callstack",title:"Call Stack",html:MQ},{id:"debugtree",title:"Debug Tree",html:LQ},{id:"breakpoints",title:"Breakpoints",html:DQ},{id:"asseteditor",title:"Asset Editor",html:IQ},{id:"managing-files",title:"Managing Files",html:ZQ},{id:"build-directives",title:"Build Directives",html:XQ},{id:"toolchains",title:"Toolchains & Platforms",html:zQ},{id:"asset-headers",title:"Asset Headers",html:WQ},{id:"embedding-ide",title:"Embedding the IDE",html:BQ},{id:"verilog-waveform",title:"Waveform Viewer",html:VQ}],Zb={};for(let r of Au)Zb[r.id]=r;wP(()=>Au);function Xb(r){let e=r||"";return e.startsWith("#")&&(e=e.substring(1)),e.startsWith("help")&&(e=e.substring(4)),e.startsWith("/")&&(e=e.substring(1)),e.endsWith(".md")&&(e=e.substring(0,e.length-3)),e=e.replace(/^\.\//,""),Zb[e]?e:"index"}function tz(r){return Zb[Xb(r)]}var rz={"#disasm":"disasm","#memory":"memory","#memmap":"memmap","#vram":"vram","#memprobe":"memprobe","#crtprobe":"crtprobe","#probelog":"probelog","#scanlineio":"scanlineio","#symbols":"symbols","#callstack":"callstack","#debugtree":"debugtree","#breakpoints":"breakpoints","#asseteditor":"asseteditor"};function dT(r,e){return e?"editor":r&&rz[r]||"index"}function nz(r){r.querySelectorAll("a[href]").forEach(t=>{let n=t.getAttribute("href");if(!n)return;if(/^[a-z][a-z0-9+.-]*:/i.test(n)){t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer");return}if(n.startsWith("/")||n.startsWith("#"))return;let i=n.indexOf("#"),s=i>=0?n.substring(0,i):n;s.endsWith(".md")&&(t.setAttribute("href","#help/"+Xb(s)),t.removeAttribute("target"))})}function iz(r,e){let t=tz(e);r.innerHTML=ez.sanitize(t.html),nz(r)}var oc=class{constructor(e){this.id=Xb(e||"index")}getPath(){return"#help/"+this.id}createDiv(e){return this.maindiv=xn(e,"vertical-scroll help-view"),iz(this.maindiv[0],this.id),this.maindiv[0]}refresh(e){}};var ac=256,hT=100,uT=!1,Cu=class r{constructor(e,t){this.expanded=!1;this.parent=e,this.name=t,this.children=new Map,this.level=e?e.level+1:-1,this.view=e?e.view:null}getDiv(){return this._div==null&&(this._div=document.createElement("div"),this._div.classList.add("vertical-scroll"),this._div.classList.add("tree-content"),this._header=document.createElement("div"),this._header.classList.add("tree-header"),this._header.classList.add("tree-level-"+this.level),this._header.append(this.name),this._inline=document.createElement("span"),this._inline.classList.add("tree-value"),this._header.append(this._inline),this._div.append(this._header),this.parent._content.append(this._div),this._header.onclick=e=>{this.toggleExpanded()}),this.expanded&&this._content==null?(this._content=document.createElement("div"),this._div.append(this._content)):!this.expanded&&this._content!=null&&(this._content.remove(),this._content=null,this.children.clear()),this._div}toggleExpanded(){this.expanded=!this.expanded,this.view.tick()}remove(){this._div.remove(),this._div=null}update(e){this.getDiv();var t="";if(e&&e.$$&&typeof e.$$=="function"&&this._content!=null&&(e=e.$$()),e==null)t=e+"";else if(typeof e=="number")e!=(e|0)?t=e.toString():t=e+" ($"+Ce(e)+")";else if(typeof e=="boolean")t=e.toString();else if(typeof e=="string")e.length<hT?t=e:t=e.substring(0,hT)+"...";else if(e.buffer&&e.length<=ac)t=a0(e,0,e.length);else if(typeof e=="object"||typeof e=="function")if(this._content!=null){if(e.slice&&e.length>ac){let l={},c=e;for(var n=ac;e.length/n>ac;)n*=2;for(let d=0;d<c.length;d+=n)l["$"+Ce(d)]={$$:()=>c.slice(d,d+n)};e=l}if(e instanceof Map){let l={};for(let[c,d]of e.entries())l[c]=d;e=l}let o=e instanceof Array?Array.from(e.keys()):Object.getOwnPropertyNames(e);if(o.length>ac){let l={},c=e;for(var n=100;o.length/n>100;)n*=2;for(let h=0;h<o.length;h+=n){for(var i={},s=h;s<h+n;s++)i[o[s]]=c[o[s]];l["["+h+"...]"]=i}e=l,o=Object.getOwnPropertyNames(e)}let a=new Set(this.children.keys());o.forEach(l=>{var c=!uT&&typeof l=="string"&&l.startsWith("$$");if(!c){let d=this.children.get(l);d==null&&(d=new r(this,l),this.children.set(l,d)),d.update(e[l])}a.delete(l)}),a.forEach(l=>{this.children.get(l).remove(),this.children.delete(l)}),this._header.classList.add("tree-expanded"),this._header.classList.remove("tree-collapsed")}else this._header.classList.add("tree-collapsed"),this._header.classList.remove("tree-expanded");else t=typeof e;this._inline.innerText!=t&&(this._inline.innerText=t)}};function fT(r,e){var t=new Cu(null,null);t.view=e,t._content=r;var n=new Cu(t,"/");return n.expanded=!0,n.getDiv(),n._div.style.padding="0px",n}
Line truncated
|
||||
`,await vT(r),de.newfile?!n&&!t?Re('No build tool for "'+r+'" on this platform; project will not build.'):n?$T(!0,!0):ar("No skeleton file for "+t+" on this platform; using blank file."):ar('Could not find file "'+r+'"<br><br>Creating new '+(n?t:"blank")+" file."),delete de.newfile,qu()}}function Hb(r){if(r=="/")de={repo:"/"};else if(r.indexOf("://")>=0){var e=Ql(r);e&&(de={repo:e.repopath})}else de.platform=fe,de.file=r;ro()}async function mz(r){var e=Tf(P.getToolForFilename(r));try{return await $.get("presets/"+ir(fe)+"/skeleton."+e,"text")}catch(t){return console.log(t+""),null}}function Kb(r){return r.indexOf(" ")>=0?(Re("No spaces in filenames, please."),!1):!0}async function Oz(r){var e=ir(fe),t={},n=[];for(var i of r){var s=P.getToolForFilename("test"+i);t[s]||(t[s]=[],n.push(s)),t[s].push(i)}var o=n.map(d=>$.ajax({url:"presets/"+e+"/skeleton."+Tf(d),type:"HEAD"}).then(()=>d,()=>null)),a=await Promise.all(o),l=[];for(var c of a)c!=null&&l.push({tool:c,extensions:t[c]});return l}async function gz(r){var e=await Oz(P.getDefaultExtensions()),t,n;return e.length===0?(t=P.getDefaultExtensions(),n=t.join(" ")):(t=e.reduce((i,s)=>i.concat(s.extensions),[]),n=e.map(i=>i.extensions.join(" ")).join("<br>")),bootbox.prompt({title:"Enter the name of your new main source file.<br><br><span class='dialog-help'>"+n+"</span>",placeholder:"newfile"+t[0],callback:i=>{if(i&&i.trim().length>0){if(!Kb(i))return;i.indexOf(".")<0&&(i+=t[0]);var s=i;de.newfile="1",Hb(s)}}}),!0}function bz(r){let e=$('<input type="file" multiple accept="*" style="display:none">'),t=e[0];e.change(n=>{yz(t.files)}),e.click()}function yz(r){console.log(r);var e=0;function t(){var n=r[e++];if(!n)console.log("Done uploading",e),e>2?(ar("Files uploaded."),setTimeout(pc,1e3)):(de.file=r[0].name,bootbox.confirm({message:"Open '"+Os.sanitize(de.file)+"' as main project file?",buttons:{confirm:{label:"Open As New Project"},cancel:{label:"Include/Link With Project Later"}},callback:o=>{o?ro():setTimeout(pc,1e3)}}));else{var i=n.name,s=new FileReader;s.onload=function(o){var a=o.target.result,l=new Uint8Array(a);Cs(i,l)||(l=bc(l).replace(`\r
|
||||
`;var tz=Ib(),Au=[{id:"index",title:"IDE Help",html:wQ},{id:"editor",title:"Editor",html:PQ},{id:"disasm",title:"Disassembly",html:kQ},{id:"memory",title:"Memory Browser",html:$Q},{id:"memmap",title:"Memory Map",html:QQ},{id:"vram",title:"VRAM Browser",html:TQ},{id:"memprobe",title:"Memory Probe",html:_Q},{id:"crtprobe",title:"CRT Probe",html:AQ},{id:"probelog",title:"Probe Log",html:CQ},{id:"scanlineio",title:"Scanline I/O",html:EQ},{id:"symbols",title:"Symbol Profiler",html:RQ},{id:"callstack",title:"Call Stack",html:MQ},{id:"debugtree",title:"Debug Tree",html:LQ},{id:"breakpoints",title:"Breakpoints",html:DQ},{id:"asseteditor",title:"Asset Editor",html:IQ},{id:"managing-files",title:"Managing Files",html:ZQ},{id:"build-directives",title:"Build Directives",html:XQ},{id:"toolchains",title:"Toolchains & Platforms",html:zQ},{id:"asset-headers",title:"Asset Headers",html:WQ},{id:"embedding-ide",title:"Embedding the IDE",html:BQ},{id:"verilog-waveform",title:"Waveform Viewer",html:VQ}],Zb={};for(let r of Au)Zb[r.id]=r;wP(()=>Au);function Xb(r){let e=r||"";return e.startsWith("#")&&(e=e.substring(1)),e.startsWith("help")&&(e=e.substring(4)),e.startsWith("/")&&(e=e.substring(1)),e.endsWith(".md")&&(e=e.substring(0,e.length-3)),e=e.replace(/^\.\//,""),Zb[e]?e:"index"}function rz(r){return Zb[Xb(r)]}var nz={"#disasm":"disasm","#memory":"memory","#memmap":"memmap","#vram":"vram","#memprobe":"memprobe","#crtprobe":"crtprobe","#probelog":"probelog","#scanlineio":"scanlineio","#symbols":"symbols","#callstack":"callstack","#debugtree":"debugtree","#breakpoints":"breakpoints","#asseteditor":"asseteditor"};function dT(r,e){return e?"editor":r&&nz[r]||"index"}function iz(r){r.querySelectorAll("a[href]").forEach(t=>{let n=t.getAttribute("href");if(!n)return;if(/^[a-z][a-z0-9+.-]*:/i.test(n)){t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer");return}if(n.startsWith("/")||n.startsWith("#"))return;let i=n.indexOf("#"),s=i>=0?n.substring(0,i):n;s.endsWith(".md")&&(t.setAttribute("href","#help/"+Xb(s)),t.removeAttribute("target"))})}function sz(r,e){let t=rz(e);r.innerHTML=tz.sanitize(t.html),iz(r)}var oc=class{constructor(e){this.id=Xb(e||"index")}getPath(){return"#help/"+this.id}createDiv(e){return this.maindiv=xn(e,"vertical-scroll help-view"),sz(this.maindiv[0],this.id),this.maindiv[0]}refresh(e){}};var ac=256,hT=100,uT=!1,Cu=class r{constructor(e,t){this.expanded=!1;this.parent=e,this.name=t,this.children=new Map,this.level=e?e.level+1:-1,this.view=e?e.view:null}getDiv(){return this._div==null&&(this._div=document.createElement("div"),this._div.classList.add("vertical-scroll"),this._div.classList.add("tree-content"),this._header=document.createElement("div"),this._header.classList.add("tree-header"),this._header.classList.add("tree-level-"+this.level),this._header.append(this.name),this._inline=document.createElement("span"),this._inline.classList.add("tree-value"),this._header.append(this._inline),this._div.append(this._header),this.parent._content.append(this._div),this._header.onclick=e=>{this.toggleExpanded()}),this.expanded&&this._content==null?(this._content=document.createElement("div"),this._div.append(this._content)):!this.expanded&&this._content!=null&&(this._content.remove(),this._content=null,this.children.clear()),this._div}toggleExpanded(){this.expanded=!this.expanded,this.view.tick()}remove(){this._div.remove(),this._div=null}update(e){this.getDiv();var t="";if(e&&e.$$&&typeof e.$$=="function"&&this._content!=null&&(e=e.$$()),e==null)t=e+"";else if(typeof e=="number")e!=(e|0)?t=e.toString():t=e+" ($"+Ce(e)+")";else if(typeof e=="boolean")t=e.toString();else if(typeof e=="string")e.length<hT?t=e:t=e.substring(0,hT)+"...";else if(e.buffer&&e.length<=ac)t=a0(e,0,e.length);else if(typeof e=="object"||typeof e=="function")if(this._content!=null){if(e.slice&&e.length>ac){let l={},c=e;for(var n=ac;e.length/n>ac;)n*=2;for(let d=0;d<c.length;d+=n)l["$"+Ce(d)]={$$:()=>c.slice(d,d+n)};e=l}if(e instanceof Map){let l={};for(let[c,d]of e.entries())l[c]=d;e=l}let o=e instanceof Array?Array.from(e.keys()):Object.getOwnPropertyNames(e);if(o.length>ac){let l={},c=e;for(var n=100;o.length/n>100;)n*=2;for(let h=0;h<o.length;h+=n){for(var i={},s=h;s<h+n;s++)i[o[s]]=c[o[s]];l["["+h+"...]"]=i}e=l,o=Object.getOwnPropertyNames(e)}let a=new Set(this.children.keys());o.forEach(l=>{var c=!uT&&typeof l=="string"&&l.startsWith("$$");if(!c){let d=this.children.get(l);d==null&&(d=new r(this,l),this.children.set(l,d)),d.update(e[l])}a.delete(l)}),a.forEach(l=>{this.children.get(l).remove(),this.children.delete(l)}),this._header.classList.add("tree-expanded"),this._header.classList.remove("tree-collapsed")}else this._header.classList.add("tree-collapsed"),this._header.classList.remove("tree-expanded");else t=typeof e;this._inline.innerText!=t&&(this._inline.innerText=t)}};function fT(r,e){var t=new Cu(null,null);t.view=e,t._content=r;var n=new Cu(t,"/");return n.expanded=!0,n.getDiv(),n._div.style.padding="0px",n}
Line truncated
|
||||
`,await vT(r),de.newfile?!n&&!t?Re('No build tool for "'+r+'" on this platform; project will not build.'):n?$T(!0,!0):ar("No skeleton file for "+t+" on this platform; using blank file."):ar('Could not find file "'+r+'"<br><br>Creating new '+(n?t:"blank")+" file."),delete de.newfile,qu()}}function Hb(r){if(r=="/")de={repo:"/"};else if(r.indexOf("://")>=0){var e=Ql(r);e&&(de={repo:e.repopath})}else de.platform=fe,de.file=r;ro()}async function Oz(r){var e=Tf(P.getToolForFilename(r));try{return await $.get("presets/"+sr(fe)+"/skeleton."+e,"text")}catch(t){return console.log(t+""),null}}function Kb(r){return r.indexOf(" ")>=0?(Re("No spaces in filenames, please."),!1):!0}async function gz(r){var e=sr(fe),t={},n=[];for(var i of r){var s=P.getToolForFilename("test"+i);t[s]||(t[s]=[],n.push(s)),t[s].push(i)}var o=n.map(d=>$.ajax({url:"presets/"+e+"/skeleton."+Tf(d),type:"HEAD"}).then(()=>d,()=>null)),a=await Promise.all(o),l=[];for(var c of a)c!=null&&l.push({tool:c,extensions:t[c]});return l}async function bz(r){var e=await gz(P.getDefaultExtensions()),t,n;return e.length===0?(t=P.getDefaultExtensions(),n=t.join(" ")):(t=e.reduce((i,s)=>i.concat(s.extensions),[]),n=e.map(i=>i.extensions.join(" ")).join("<br>")),bootbox.prompt({title:"Enter the name of your new main source file.<br><br><span class='dialog-help'>"+n+"</span>",placeholder:"newfile"+t[0],callback:i=>{if(i&&i.trim().length>0){if(!Kb(i))return;i.indexOf(".")<0&&(i+=t[0]);var s=i;de.newfile="1",Hb(s)}}}),!0}function yz(r){let e=$('<input type="file" multiple accept="*" style="display:none">'),t=e[0];e.change(n=>{Sz(t.files)}),e.click()}function Sz(r){console.log(r);var e=0;function t(){var n=r[e++];if(!n)console.log("Done uploading",e),e>2?(ar("Files uploaded."),setTimeout(pc,1e3)):(de.file=r[0].name,bootbox.confirm({message:"Open '"+Os.sanitize(de.file)+"' as main project file?",buttons:{confirm:{label:"Open As New Project"},cancel:{label:"Include/Link With Project Later"}},callback:o=>{o?ro():setTimeout(pc,1e3)}}));else{var i=n.name,s=new FileReader;s.onload=function(o){var a=o.target.result,l=new Uint8Array(a);Cs(i,l)||(l=bc(l).replace(`\r
|
||||
`,`
|
||||
`)),F.updateFile(i,l),console.log("Uploaded "+i+" "+l.length+" bytes"),t()},s.readAsArrayBuffer(n)}}r&&t()}async function Sz(r){var e=window.showDirectoryPicker;e||Re("This browser can't open local files on your computer, yet. Try Chrome.");var t=await e(),n=t.name,i="__localfs__"+n,s={handle:t},o=qb.createInstance({name:i,version:2});await o.setItem(i,s),de={localfs:n},ro(!0)}async function vz(r){return new Promise((e,t)=>{bootbox.prompt(Os.sanitize(r),n=>{e(n)})})}async function xz(r){let e={mode:"readwrite"};var t="__localfs__"+r,n=qb.createInstance({name:t,version:2}),i=await n.getItem(t),s=i.handle;console.log(i,s);var o=await s.queryPermission(e);if(console.log(o),o!=="granted"&&(await vz("Request permissions to access filesystem?"),o=await s.requestPermission(e)),o!=="granted"){Re("Could not get permission to access filesystem.");return}let a={};return{getFileData:async l=>{console.log("getFileData",l);let d=await(await s.getFileHandle(l,{create:!1})).getFile(),h=await(Cs(l)?d.arrayBuffer():d.text());return h instanceof ArrayBuffer?new Uint8Array(h):h},setFileData:async(l,c)=>{a[l]=Date.now();let h=await(await s.getFileHandle(l,{create:!0})).createWritable();await h.write(c),await h.close()},onFileSystemUpdate:l=>{if(typeof window.FileSystemObserver=="undefined")return;new window.FileSystemObserver((d,h)=>{for(let u of d)if(u.changedHandle){let f=u.changedHandle.name;if(Date.now()-(a[f]||0)<2e3)continue;l(f)}}).observe(s,{recursive:!0})}}}function kt(){return St(ae.mainPath)}function cP(){return St(F.getActiveID())}function wz(r){var e=F.getActive(),t=F.getActiveID(),n=e&&e.setData&&!e.setText;if(e&&(e.setText||e.setData)){var i="presets/"+ir(fe)+"/"+t;Da(i,s=>{if(s==null){_t?Re("Can only revert built-in examples. If you want to revert all files, You can pull from the repository."):Re("Can only revert built-in examples.");return}bootbox.confirm("Reset '"+Os.sanitize(t)+"' to default?",o=>{o&&(n?(e.setData(s),ae.updateFile(t,s)):e.setText(s))})},n?"arraybuffer":"text")}else Re("Cannot revert the active window. Please choose a text file.")}function Pz(r){var e=F.getActive();if(e&&e.getPath){var t=F.getActiveID();bootbox.confirm("Delete '"+Os.sanitize(t)+"'?",n=>{n&&Pn.removeItem(t).then(()=>{de.file==t?(Zi.unsetLastPreset(),ro()):(pc(),ar("Deleted "+t))})})}else Re("Cannot delete the active window.")}function kz(r){var e=F.getActive();if(e&&e.getPath&&ae.getFile(e.getPath())){var t=F.getActiveID();bootbox.prompt({title:"Rename '"+Os.sanitize(t)+"' to?",value:t,callback:n=>{var i=ae.getFile(e.getPath());if(n&&n!=t&&i){if(!Kb(n))return;Pn.removeItem(t).then(()=>Pn.setItem(n,i)).then(()=>{pc(),alert("Renamed "+t+" to "+n),t==ae.mainPath&&Hb(n)})}}})}else Re("Cannot rename the active window.")}function $z(r){let e={},t,n=P.getPresets?P.getPresets():[];for(var i=0;i<n.length;i++){var s=n[i],o=s.chapter?s.chapter+". "+s.name:s.name,a=s.id==ae.mainPath;s.category?t=$("<optgroup />").attr("label","Examples: "+s.category).appendTo(r):t||(t=$("<optgroup />").attr("label","Examples").appendTo(r)),t.append($("<option />").val(s.id).text(o).attr("selected",a?"selected":null)),a&&(Zu=s),e[s.id]=o}return e}function Qz(r){if(Lr&&!Pa){var e=0,t=Js();if(t){let i=$("<optgroup />").attr("label","Repositories").appendTo(r);for(let s in t){var n=t[s];n.platform_id&&ir(n.platform_id)==ir(fe)&&i.append($("<option />").val(n.url).text(n.url.substring(n.url.indexOf("/"))))}}}}async function xT(r,e,t,n){let i=await Pn.keys();i||(i=[]);let s;for(var o=0;o<i.length;o++){let a=i[o];if(a.startsWith(t)&&!n[a]){s||(s=$("<optgroup />").attr("label",e).appendTo(r));let l=a.substring(t.length);s.append($("<option />").val(a).text(l).attr("selected",a==ae.mainPath?"selected":null))}}}function wT(r){r.css("visibility","visible");var e=ae.mainPath;r.val()!=e&&r.append($("<option />").val(e).text(e).attr("selected","selected"))}async function pc(){var r=$("#preset_select").empty();if(_t)r.append($("<option />").val("/").text("Leave Repository")),$("#repo_name").text(St(_t)+"/").show(),await xT(r,_t,"",{}),wT(r);else{Qz(r);var e=$z(r);await xT(r,"Local Files","",e),wT(r)}r.off("change").change(function(t){Hb($(this).val().toString())})}function Tz(r){var e=$("<p/>");if(r.path!=null){var t=r.line?r.label?`(${r.path} @ ${r.label})`:`(${r.path}:${r.line})`:`(${r.path})`,n=$("<a/>").text(t),i=r.path;i==kt()&&(i=ae.mainPath),F.isWindow(i)&&n.click(s=>{var o=F.createOrShow(i);o instanceof Pr&&o.navigateToLine(r.line)}),e.append(n),e.append(" ")}return e.append($("<span/>").text(r.msg)),e}function QT(){$("#error_alert").hide(),Gb=!1}function Jb(r,e){var t=$("#error_alert_msg").empty();for(var n of r.slice(0,10))t.append(Tz(n));$("#error_alert").show(),Gb=e;var i=r.find(o=>o.path!=null),s;i&&F.isWindow(i.path==kt()?ae.mainPath:i.path)&&(s=()=>{Cz(i)})}function TT(r,e){if(e!=null){var t={msg:e,line:0};r instanceof rf&&r.$loc&&(t=Object.create(r.$loc),t.msg=e,console.log(t)),Jb([t],!0)}}async function _z(r){if("uppercaseOnly"in r&&H$(r.uppercaseO
Line truncated
|
||||
`)),F.updateFile(i,l),console.log("Uploaded "+i+" "+l.length+" bytes"),t()},s.readAsArrayBuffer(n)}}r&&t()}async function vz(r){var e=window.showDirectoryPicker;e||Re("This browser can't open local files on your computer, yet. Try Chrome.");var t=await e(),n=t.name,i="__localfs__"+n,s={handle:t},o=qb.createInstance({name:i,version:2});await o.setItem(i,s),de={localfs:n},ro(!0)}async function xz(r){return new Promise((e,t)=>{bootbox.prompt(Os.sanitize(r),n=>{e(n)})})}async function wz(r){let e={mode:"readwrite"};var t="__localfs__"+r,n=qb.createInstance({name:t,version:2}),i=await n.getItem(t),s=i.handle;console.log(i,s);var o=await s.queryPermission(e);if(console.log(o),o!=="granted"&&(await xz("Request permissions to access filesystem?"),o=await s.requestPermission(e)),o!=="granted"){Re("Could not get permission to access filesystem.");return}let a={};return{getFileData:async l=>{console.log("getFileData",l);let d=await(await s.getFileHandle(l,{create:!1})).getFile(),h=await(Cs(l)?d.arrayBuffer():d.text());return h instanceof ArrayBuffer?new Uint8Array(h):h},setFileData:async(l,c)=>{a[l]=Date.now();let h=await(await s.getFileHandle(l,{create:!0})).createWritable();await h.write(c),await h.close()},onFileSystemUpdate:l=>{if(typeof window.FileSystemObserver=="undefined")return;new window.FileSystemObserver((d,h)=>{for(let u of d)if(u.changedHandle){let f=u.changedHandle.name;if(Date.now()-(a[f]||0)<2e3)continue;l(f)}}).observe(s,{recursive:!0})}}}function kt(){return St(ae.mainPath)}function cP(){return St(F.getActiveID())}function Pz(r){var e=F.getActive(),t=F.getActiveID(),n=e&&e.setData&&!e.setText;if(e&&(e.setText||e.setData)){var i="presets/"+sr(fe)+"/"+t;Da(i,s=>{if(s==null){_t?Re("Can only revert built-in examples. If you want to revert all files, You can pull from the repository."):Re("Can only revert built-in examples.");return}bootbox.confirm("Reset '"+Os.sanitize(t)+"' to default?",o=>{o&&(n?(e.setData(s),ae.updateFile(t,s)):e.setText(s))})},n?"arraybuffer":"text")}else Re("Cannot revert the active window. Please choose a text file.")}function kz(r){var e=F.getActive();if(e&&e.getPath){var t=F.getActiveID();bootbox.confirm("Delete '"+Os.sanitize(t)+"'?",n=>{n&&Pn.removeItem(t).then(()=>{de.file==t?(Zi.unsetLastPreset(),ro()):(pc(),ar("Deleted "+t))})})}else Re("Cannot delete the active window.")}function $z(r){var e=F.getActive();if(e&&e.getPath&&ae.getFile(e.getPath())){var t=F.getActiveID();bootbox.prompt({title:"Rename '"+Os.sanitize(t)+"' to?",value:t,callback:n=>{var i=ae.getFile(e.getPath());if(n&&n!=t&&i){if(!Kb(n))return;Pn.removeItem(t).then(()=>Pn.setItem(n,i)).then(()=>{pc(),alert("Renamed "+t+" to "+n),t==ae.mainPath&&Hb(n)})}}})}else Re("Cannot rename the active window.")}function Qz(r){let e={},t,n=P.getPresets?P.getPresets():[];for(var i=0;i<n.length;i++){var s=n[i],o=s.chapter?s.chapter+". "+s.name:s.name,a=s.id==ae.mainPath;s.category?t=$("<optgroup />").attr("label","Examples: "+s.category).appendTo(r):t||(t=$("<optgroup />").attr("label","Examples").appendTo(r)),t.append($("<option />").val(s.id).text(o).attr("selected",a?"selected":null)),a&&(Zu=s),e[s.id]=o}return e}function Tz(r){if(Lr&&!Pa){var e=0,t=Js();if(t){let i=$("<optgroup />").attr("label","Repositories").appendTo(r);for(let s in t){var n=t[s];n.platform_id&&sr(n.platform_id)==sr(fe)&&i.append($("<option />").val(n.url).text(n.url.substring(n.url.indexOf("/"))))}}}}async function xT(r,e,t,n){let i=await Pn.keys();i||(i=[]);let s;for(var o=0;o<i.length;o++){let a=i[o];if(a.startsWith(t)&&!n[a]){s||(s=$("<optgroup />").attr("label",e).appendTo(r));let l=a.substring(t.length);s.append($("<option />").val(a).text(l).attr("selected",a==ae.mainPath?"selected":null))}}}function wT(r){r.css("visibility","visible");var e=ae.mainPath;r.val()!=e&&r.append($("<option />").val(e).text(e).attr("selected","selected"))}async function pc(){var r=$("#preset_select").empty();if(_t)r.append($("<option />").val("/").text("Leave Repository")),$("#repo_name").text(St(_t)+"/").show(),await xT(r,_t,"",{}),wT(r);else{Tz(r);var e=Qz(r);await xT(r,"Local Files","",e),wT(r)}r.off("change").change(function(t){Hb($(this).val().toString())})}function _z(r){var e=$("<p/>");if(r.path!=null){var t=r.line?r.label?`(${r.path} @ ${r.label})`:`(${r.path}:${r.line})`:`(${r.path})`,n=$("<a/>").text(t),i=r.path;i==kt()&&(i=ae.mainPath),F.isWindow(i)&&n.click(s=>{var o=F.createOrShow(i);o instanceof Pr&&o.navigateToLine(r.line)}),e.append(n),e.append(" ")}return e.append($("<span/>").text(r.msg)),e}function QT(){$("#error_alert").hide(),Gb=!1}function Jb(r,e){var t=$("#error_alert_msg").empty();for(var n of r.slice(0,10))t.append(_z(n));$("#error_alert").show(),Gb=e;var i=r.find(o=>o.path!=null),s;i&&F.isWindow(i.path==kt()?ae.mainPath:i.path)&&(s=()=>{Ez(i)})}function TT(r,e){if(e!=null){var t={msg:e,line:0};r instanceof rf&&r.$loc&&(t=Object.create(r.$loc),t.msg=e,console.log(t)),Jb([t],!0)}}async function Az(r){if("uppercaseOnly"in r&&H$(r.uppercaseO
Line truncated
|
||||
`+t(i)+`
|
||||
`;ae.loadFiles([s]).then(a=>{a&&a.length?Re(i+" already exists; including anyway"):ae.updateFile(s,`
|
||||
`),n.insertLinesBefore(o),xa()})}}}):Re("Can't insert text in this window -- switch back to main file")}function Fz(){var r=kt(),e=P.getToolForFilename(r);r.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"||e=="oscar64"?Fn("Header",".h",t=>'#include "'+t+'"'):e=="dasm"||e=="zmac"?Fn("Include",".inc",t=>' include "'+t+'"'):e=="ca65"||e=="sdasz80"||e=="vasm"||e=="armips"?Fn("Include",".inc",t=>' .include "'+t+'"'):e=="verilator"?Fn("Verilog",".v",t=>'`include "'+t+'"'):e=="wiz"?Fn("Include",".wiz",t=>'import "'+t+'";'):e=="ecs"?Fn("Include",".ecs",t=>'import "'+t+'"'):e=="acme"?Fn("Include",".acme",t=>'!src "'+t+'"'):e=="xa"?Fn("Include",".xa",t=>'#include "'+t+'"'):e=="dialog"?Fn("Include",".dg",t=>'%% #include "'+t+'"'):Re("Can't add include file to this project type ("+e+")")}function Nz(){var r=kt(),e=P.getToolForFilename(r);r.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"?Fn("Linked C (or .s)",".c",t=>'//#link "'+t+'"'):r.endsWith("asm")||r.endsWith(".s")||e=="ca65"||e=="lwasm"?Fn("Linked ASM",".inc",t=>';#link "'+t+'"'):Re("Can't add linked file to this project type ("+e+")")}function jz(){if(ft=new Bi($("#toolbar")[0],null),ft.grp.prop("id","run_bar"),ft.add("mod+shift+r","Reset","glyphicon-refresh",YT).prop("id","dbg_reset"),ft.add("mod+shift+h","Pause","glyphicon-pause",MT).prop("id","dbg_pause"),ft.add("mod+shift+g","Go To Address","",r=>{AT()||Vu()}),ft.add("mod+shift+g","Resume","glyphicon-play",Vu).prop("id","dbg_go"),ft.add("F8","Pause/Resume","",LT),ft.add("F1","Help","",qT),P.restartAtPC&&ft.add("mod+shift+a","Restart at Cursor","glyphicon-play-circle",zT).prop("id","dbg_restartatline"),ft.newGroup(),ft.grp.prop("id","debug_bar"),P.runEval&&ft.add("mod+shift+d","Reset and Debug","glyphicon-fast-backward",FT).prop("id","dbg_restart"),P.stepBack&&ft.add("mod+shift+j","Step Backwards","glyphicon-step-backward",VT).prop("id","dbg_stepback"),P.step&&ft.add("mod+shift+l","Single Step","glyphicon-step-forward",DT).prop("id","dbg_step"),P.stepOver&&ft.add("mod+shift+k","Step Over","glyphicon-hand-right",IT).prop("id","dbg_stepover"),P.runUntilReturn&&ft.add("mod+shift+i","Step Out of Subroutine","glyphicon-hand-up",BT).prop("id","dbg_stepout"),P.runToVsync&&ft.add("mod+shift+x","Next Frame/Interrupt","glyphicon-forward",ZT).prop("id","dbg_tovsync"),(P.runEval||P.runToPC)&&!fe.startsWith("verilog")&&ft.add("mod+shift+y","Run To Line","glyphicon-save",WT).prop("id","dbg_toline"),ft.newGroup(),ft.grp.prop("id","xtra_bar"),ft.add("mod+shift+f","Search","glyphicon-search",yb).prop("id","dbg_search"),$(".dropdown-menu").collapse({toggle:!1}),$("#item_new_file").click(gz),$("#item_upload_file").click(bz),$("#item_open_directory").click(Sz),$("#item_github_login").click(dP),$("#item_github_logout").click(hP),$("#item_github_import").click(uP),$("#item_github_publish").click(fP),$("#item_github_push").click(pP),$("#item_github_pull").click(mP),$("#item_repo_delete").click(gP),$("#item_share_file").click(eP),$("#item_reset_file").click(wz),$("#item_rename_file").click(kz),$("#item_delete_file").click(Pz),$("#item_download_rom").click(rP),$("#item_download_file").click(nP),$("#item_download_zip").click(sP),P.getDebugSymbolFile?$("#item_download_sym").click(oP):$("#item_download_sym").hide(),$("#item_download_allzip").click(aP),$("#item_record_video").click(lP),dO()?$("#item_export_cassette").click(tP):$("#item_export_cassette").hide(),P.setFrameRate&&P.getFrameRate&&($("#dbg_slower").click(Zz),$("#dbg_faster").click(Xz),$("#dbg_slowest").click(zz),$("#dbg_fastest").click(Wz)),$("#item_addfile_include").click(Fz),$("#item_addfile_link").click(Nz),$("#item_request_persist").click(()=>$T(!0,!1)),$("#item_settings").click(Zw),NT(),P.newCodeAnalyzer&&ft.add(null,"Analyze CPU Timing","glyphicon-time",Bz),P.startProbing&&ft.add(null,"Highlight Executed Lines","glyphicon-fire",Yz).prop("id","dbg_tracelines"),P.setRecorder&&P.advance&&Gz(),P.showHelp){let{li:r,a:e}=Bu("help__"+fe,uc+" Info");$("#help_menu").append(r),$(e).click(t=>{t.preventDefault(),window.open(P.showHelp(),"_8bws_help")})}qz();{let{li:r}=Bu("#help","IDE Help");$("#help_menu").prepend(r)}$("#item_tool_versions").click(Uz)}function qT(){if(F){var r=_0(),e=F.getActive()instanceof Pr,t=r||dT(F.getActiveID(),e),n="#help/"+t;window.location.hash===n?F.createOrShow(n):window.location.hash=n}}function Uz(){let r=u=>String(u==null?"":u).replace(/[&<>"]/g,f=>({"&":"&","<":"<",">":">",'"':"""})[f]),e=(u,f)=>"$"+Ce(u,4).toUpperCase()+(f!=null?"+$"+Ce(f,4).toUpperCase():""),t=Cn[fe]||Cn[ir(fe)]||Cn[cn(fe)],n=t&&t.arch||"\u2014",i=[];t&&(t.rom_start!=null&&i.push("rom "+e(t.rom_start,t.rom_size)),t.code_start!=null&&i.push("code "+e(t.code_start,t.code_size)),t.data_start!=null&&i.push("data "+e(t.data_start,t.data_size)),t.stack_end!=null&&i.push("stack $"+Ce(t.stack_end,4).toUpperCase()));let s=new Set([".a"]);for(let u in Qo)for(let f of Qo[u].extensions||[])s.add(f);let o={},a=[],l=(u,f)=>{u&&(o[u]||(o[u]=[],a.push(u)),f&&Line truncated
|
||||
`),n.insertLinesBefore(o),xa()})}}}):Re("Can't insert text in this window -- switch back to main file")}function Nz(){var r=kt(),e=P.getToolForFilename(r);r.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"||e=="oscar64"?Fn("Header",".h",t=>'#include "'+t+'"'):e=="dasm"||e=="zmac"?Fn("Include",".inc",t=>' include "'+t+'"'):e=="ca65"||e=="sdasz80"||e=="vasm"||e=="armips"?Fn("Include",".inc",t=>' .include "'+t+'"'):e=="verilator"?Fn("Verilog",".v",t=>'`include "'+t+'"'):e=="wiz"?Fn("Include",".wiz",t=>'import "'+t+'";'):e=="ecs"?Fn("Include",".ecs",t=>'import "'+t+'"'):e=="acme"?Fn("Include",".acme",t=>'!src "'+t+'"'):e=="xa"?Fn("Include",".xa",t=>'#include "'+t+'"'):e=="dialog"?Fn("Include",".dg",t=>'%% #include "'+t+'"'):Re("Can't add include file to this project type ("+e+")")}function jz(){var r=kt(),e=P.getToolForFilename(r);r.endsWith(".c")||e=="sdcc"||e=="cc65"||e=="cmoc"||e=="smlrc"?Fn("Linked C (or .s)",".c",t=>'//#link "'+t+'"'):r.endsWith("asm")||r.endsWith(".s")||e=="ca65"||e=="lwasm"?Fn("Linked ASM",".inc",t=>';#link "'+t+'"'):Re("Can't add linked file to this project type ("+e+")")}function Uz(){if(ft=new Bi($("#toolbar")[0],null),ft.grp.prop("id","run_bar"),ft.add("mod+shift+r","Reset","glyphicon-refresh",YT).prop("id","dbg_reset"),ft.add("mod+shift+h","Pause","glyphicon-pause",MT).prop("id","dbg_pause"),ft.add("mod+shift+g","Go To Address","",r=>{AT()||Vu()}),ft.add("mod+shift+g","Resume","glyphicon-play",Vu).prop("id","dbg_go"),ft.add("F8","Pause/Resume","",LT),ft.add("F1","Help","",qT),P.restartAtPC&&ft.add("mod+shift+a","Restart at Cursor","glyphicon-play-circle",zT).prop("id","dbg_restartatline"),ft.newGroup(),ft.grp.prop("id","debug_bar"),P.runEval&&ft.add("mod+shift+d","Reset and Debug","glyphicon-fast-backward",FT).prop("id","dbg_restart"),P.stepBack&&ft.add("mod+shift+j","Step Backwards","glyphicon-step-backward",VT).prop("id","dbg_stepback"),P.step&&ft.add("mod+shift+l","Single Step","glyphicon-step-forward",DT).prop("id","dbg_step"),P.stepOver&&ft.add("mod+shift+k","Step Over","glyphicon-hand-right",IT).prop("id","dbg_stepover"),P.runUntilReturn&&ft.add("mod+shift+i","Step Out of Subroutine","glyphicon-hand-up",BT).prop("id","dbg_stepout"),P.runToVsync&&ft.add("mod+shift+x","Next Frame/Interrupt","glyphicon-forward",ZT).prop("id","dbg_tovsync"),(P.runEval||P.runToPC)&&!fe.startsWith("verilog")&&ft.add("mod+shift+y","Run To Line","glyphicon-save",WT).prop("id","dbg_toline"),ft.newGroup(),ft.grp.prop("id","xtra_bar"),ft.add("mod+shift+f","Search","glyphicon-search",yb).prop("id","dbg_search"),$(".dropdown-menu").collapse({toggle:!1}),$("#item_new_file").click(bz),$("#item_upload_file").click(yz),$("#item_open_directory").click(vz),$("#item_github_login").click(dP),$("#item_github_logout").click(hP),$("#item_github_import").click(uP),$("#item_github_publish").click(fP),$("#item_github_push").click(pP),$("#item_github_pull").click(mP),$("#item_repo_delete").click(gP),$("#item_share_file").click(eP),$("#item_reset_file").click(Pz),$("#item_rename_file").click($z),$("#item_delete_file").click(kz),$("#item_download_rom").click(rP),$("#item_download_file").click(nP),$("#item_download_zip").click(sP),P.getDebugSymbolFile?$("#item_download_sym").click(oP):$("#item_download_sym").hide(),$("#item_download_allzip").click(aP),$("#item_record_video").click(lP),dO()?$("#item_export_cassette").click(tP):$("#item_export_cassette").hide(),P.setFrameRate&&P.getFrameRate&&($("#dbg_slower").click(Xz),$("#dbg_faster").click(zz),$("#dbg_slowest").click(Wz),$("#dbg_fastest").click(Bz)),$("#item_addfile_include").click(Nz),$("#item_addfile_link").click(jz),$("#item_request_persist").click(()=>$T(!0,!1)),$("#item_settings").click(Zw),NT(),P.newCodeAnalyzer&&ft.add(null,"Analyze CPU Timing","glyphicon-time",Vz),P.startProbing&&ft.add(null,"Highlight Executed Lines","glyphicon-fire",Fz).prop("id","dbg_tracelines"),P.setRecorder&&P.advance&&Hz(),P.showHelp){let{li:r,a:e}=Bu("help__"+fe,uc+" Info");$("#help_menu").append(r),$(e).click(t=>{t.preventDefault(),window.open(P.showHelp(),"_8bws_help")})}Gz();{let{li:r}=Bu("#help","IDE Help");$("#help_menu").prepend(r)}$("#item_tool_versions").click(qz)}function qT(){if(F){var r=_0(),e=F.getActive()instanceof Pr,t=r||dT(F.getActiveID(),e),n="#help/"+t;window.location.hash===n?F.createOrShow(n):window.location.hash=n}}function qz(){let r=u=>String(u==null?"":u).replace(/[&<>"]/g,f=>({"&":"&","<":"<",">":">",'"':"""})[f]),e=(u,f)=>"$"+Ce(u,4).toUpperCase()+(f!=null?"+$"+Ce(f,4).toUpperCase():""),t=Cn[fe]||Cn[sr(fe)]||Cn[Xr(fe)],n=t&&t.arch||"\u2014",i=[];t&&(t.rom_start!=null&&i.push("rom "+e(t.rom_start,t.rom_size)),t.code_start!=null&&i.push("code "+e(t.code_start,t.code_size)),t.data_start!=null&&i.push("data "+e(t.data_start,t.data_size)),t.stack_end!=null&&i.push("stack $"+Ce(t.stack_end,4).toUpperCase()));let s=new Set([".a"]);for(let u in Qo)for(let f of Qo[u].extensions||[])s.add(f);let o={},a=[],l=(u,f)=>{u&&(o[u]||(o[u]=[],a.push(u)),f&&Line truncated
|
||||
<table class="help">
|
||||
<tr><th>Architecture</th><td>${r(n)}</td></tr>
|
||||
<tr><th>Memory</th><td>${i.length?i.join(" \xB7 "):"\u2014"}</td></tr>
|
||||
${t&&t.cfgfile?`<tr><th>Linker config</th><td>${r(t.cfgfile)}</td></tr>`:""}
|
||||
${t&&t.libargs&&t.libargs.length?`<tr><th>Link libraries</th><td>${r(t.libargs.join(" "))}</td></tr>`:""}
|
||||
${t&&t.define&&t.define.length?`<tr><th>Defines</th><td>${r(t.define.join(" "))}</td></tr>`:""}
|
||||
</table>`,h=a.map(u=>{let f=or(u),m=f&&f.version||"\u2014",g=f&&f.kind||"\u2014",v=o[u].length?o[u].map(L=>`<code>${r(L)}</code>`).join(" "):"\u2014",k=f&&f.name||u;return`<tr><td>${r(k)}</td><td>${r(g)}</td><td>${r(m)}</td><td>${v}</td></tr>`}).join(`
|
||||
</table>`,h=a.map(u=>{let f=qt(u),m=f&&f.version||"\u2014",g=f&&f.kind||"\u2014",v=o[u].length?o[u].map(L=>`<code>${r(L)}</code>`).join(" "):"\u2014",k=f&&f.name||u;return`<tr><td>${r(k)}</td><td>${r(g)}</td><td>${r(m)}</td><td>${v}</td></tr>`}).join(`
|
||||
`);bootbox.dialog({title:"Toolchain Info",onEscape:!0,buttons:{docs:{label:"Full reference",className:"btn-link",callback:()=>{window.location.hash="#help/toolchains"}},ok:{label:"Close",className:"btn-primary"}},message:`
|
||||
<div class="dialog-scroll">
|
||||
<h5 class="dialog-title">${r(uc)} <small>${r(fe)}</small></h5>
|
||||
@@ -3669,9 +3669,9 @@ value at the current clock.</li>
|
||||
<tr><th>Tool</th><th>Kind</th><th>Version</th><th>Extensions</th></tr>
|
||||
${h}
|
||||
</table>
|
||||
</div>`})}function qz(){let r=P.getToolForFilename(kt());if(!r)return;let e=or(r);if(!e)return;let t=e.version?" ("+e.version+")":"",n=(s,o,a)=>{let{li:l,a:c}=Bu(s,o);$("#help_menu").append(l),$(c).click(d=>{d.preventDefault(),window.open(a,"_8bws_help")})};e.helpURL&&n("help__"+r,e.name+" Help"+t,e.helpURL);let i=ey(r,fe);i&&n("help__"+r+"__"+fe,e.name+" Help for "+uc,i)}function Gz(){var r=$("#replayslider"),e=$("#clockslider"),t=$("#replay_frame"),n=$("#replay_clock");P.advanceFrameClock||$("#clockdiv").hide();var i=()=>{t.text(kr.lastSeekFrame+""),n.text(kr.lastSeekStep+"")},s=l=>{Ii();var c=parseInt(r.val().toString()),d=parseInt(e.val().toString());kr.loadFrame(c,d)>=0&&(e.attr("min",0),e.attr("max",kr.lastStepCount),i(),zu(P.saveState()))},o=l=>{Ii(),kr.loadFrame(l)>=0&&(r.val(l),i(),zu(P.saveState()))},a=l=>{Ii();var c=parseInt(r.val().toString());kr.loadFrame(c,l)>=0&&(e.val(l),i(),zu(P.saveState()))};kr.callbackStateChanged=()=>{r.attr("min",0),r.attr("max",kr.numFrames()),r.val(kr.currentFrame()),e.val(kr.currentStep()),i(),mc(P.saveState())},r.on("input",s),e.on("input",s),$("#replay_min").click(()=>{o(1)}),$("#replay_max").click(()=>{o(kr.numFrames())}),$("#replay_back").click(()=>{o(parseInt(r.val().toString())-1)}),$("#replay_fwd").click(()=>{o(parseInt(r.val().toString())+1)}),$("#clock_back").click(()=>{a(parseInt(e.val().toString())-1)}),$("#clock_fwd").click(()=>{a(parseInt(e.val().toString())+1)}),$("#replay_bar").show(),ft.add("mod+shift+e","Start/Stop Replay Recording","glyphicon-record",Vz).prop("id","dbg_record")}async function Hz(){if(Zi.shouldCompleteTour()){await dn("lib/bootstrap-tourist.js");var r=fe.startsWith("vcs"),e=[{element:"#platformsMenuButton",placement:"right",title:"Platform Selector",content:`You're currently on the "<b>`+fe+'</b>" platform. You can choose a different one from the menu.'},{element:"#preset_select",title:"Project Selector",content:"You can choose different code examples, create your own files, or import projects from GitHub."},{element:"#workspace",title:"Code Editor",content:r?"Type your 6502 assembly code into the editor, and it'll be assembled in real-time.":"Type your source code into the editor, and it'll be compiled in real-time."},{element:"#emulator",placement:"left",title:"Emulator",content:"We'll load your compiled code into the emulator whenever you make changes."},{element:"#debug_bar",placement:"bottom",title:"Debug Tools",content:"Use these buttons to set breakpoints, single step through code, pause/resume, and use debugging tools."},{element:"#dropdownMenuButton",title:"Main Menu",content:"Click the menu to create new files, download your code, or share your work with others."},{element:"#sidebar",title:"Sidebar",content:"Pull right to expose the sidebar. It lets you switch between source files, view assembly listings, and use other tools like Disassembler, Memory Browser, and Asset Editor."}];wo()&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Cookie Consent",content:'Before we start, we should tell you that this website stores persistent data in your browser. Review our <a href="/privacy.html" target="_new">privacy policy</a>.'}),e.push({element:"#booksMenuButton",placement:"left",title:"Books",content:"Get some books that explain how to program all of this stuff, and write some games!"})),Pa&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Developer Analytics",content:"BTW, we send stack traces to sentry.io when exceptions are thrown. Hope that's ok."}),e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Welcome to 8bitworkshop Desktop!",content:'The directory "~/8bitworkshop" contains all of your file edits and built ROM images. You can create new projects under the platform directories (e.g. "c64/myproject")'}));var t=new Tour({autoscroll:!1,steps:e,onEnd:()=>{Zi.completedTour()}});setTimeout(()=>{t.start()},2500)}}function Yu(r){var e=(r.message||r.error||r)+"";if(e.indexOf("QuotaExceededError")>=0)lz();else{var t=r.error||r.reason;t!=null&&t instanceof rf?GT(t):wo()&&ly(e,t,{platform:fe,window:F?F.getActiveID():"",errors:F.lasterrors||[]})}}function GT(r){console.log("haltEmulation"),Ii(),fW(r)}function Kz(){window.addEventListener("error",Yu),window.addEventListener("unhandledrejection",Yu)}function HT(){window.removeEventListener("error",Yu),window.removeEventListener("unhandledrejection",Yu)}function ro(r,e){e&&(de=e),HT(),r?window.location.replace("?"+$.param(de)):window.location.href="?"+$.param(de)}function qu(){fe&&(de.platform=fe),delete de[""],history.replaceState({},"","?"+$.param(de)+window.location.hash)}function KT(r){if(!r||r==="#")return null;var e=decodeURIComponent(r.substring(1));return e.startsWith("asseteditor/")?"#asseteditor":e.startsWith("headerview/")?(Gl(e.substring(11)),"#"+e):F.isWindow("#"+e)?"#"+e:F.isWindow(e)?e:null}function Jz(){function r(){let e=window.location.hash,t=e&&e!=="#"?KT(e):null;if(t)t!==F.getActiveID()&&F.createOrShow(t);else{Line truncated
|
||||
</div>`})}function Gz(){let r=P.getToolForFilename(kt());if(!r)return;let e=qt(r);if(!e)return;let t=e.version?" ("+e.version+")":"",n=(s,o,a)=>{let{li:l,a:c}=Bu(s,o);$("#help_menu").append(l),$(c).click(d=>{d.preventDefault(),window.open(a,"_8bws_help")})};e.helpURL&&n("help__"+r,e.name+" Help"+t,e.helpURL);let i=ey(r,fe);i&&n("help__"+r+"__"+fe,e.name+" Help for "+uc,i)}function Hz(){var r=$("#replayslider"),e=$("#clockslider"),t=$("#replay_frame"),n=$("#replay_clock");P.advanceFrameClock||$("#clockdiv").hide();var i=()=>{t.text(kr.lastSeekFrame+""),n.text(kr.lastSeekStep+"")},s=l=>{Ii();var c=parseInt(r.val().toString()),d=parseInt(e.val().toString());kr.loadFrame(c,d)>=0&&(e.attr("min",0),e.attr("max",kr.lastStepCount),i(),zu(P.saveState()))},o=l=>{Ii(),kr.loadFrame(l)>=0&&(r.val(l),i(),zu(P.saveState()))},a=l=>{Ii();var c=parseInt(r.val().toString());kr.loadFrame(c,l)>=0&&(e.val(l),i(),zu(P.saveState()))};kr.callbackStateChanged=()=>{r.attr("min",0),r.attr("max",kr.numFrames()),r.val(kr.currentFrame()),e.val(kr.currentStep()),i(),mc(P.saveState())},r.on("input",s),e.on("input",s),$("#replay_min").click(()=>{o(1)}),$("#replay_max").click(()=>{o(kr.numFrames())}),$("#replay_back").click(()=>{o(parseInt(r.val().toString())-1)}),$("#replay_fwd").click(()=>{o(parseInt(r.val().toString())+1)}),$("#clock_back").click(()=>{a(parseInt(e.val().toString())-1)}),$("#clock_fwd").click(()=>{a(parseInt(e.val().toString())+1)}),$("#replay_bar").show(),ft.add("mod+shift+e","Start/Stop Replay Recording","glyphicon-record",Yz).prop("id","dbg_record")}async function Kz(){if(Zi.shouldCompleteTour()){await dn("lib/bootstrap-tourist.js");var r=fe.startsWith("vcs"),e=[{element:"#platformsMenuButton",placement:"right",title:"Platform Selector",content:`You're currently on the "<b>`+fe+'</b>" platform. You can choose a different one from the menu.'},{element:"#preset_select",title:"Project Selector",content:"You can choose different code examples, create your own files, or import projects from GitHub."},{element:"#workspace",title:"Code Editor",content:r?"Type your 6502 assembly code into the editor, and it'll be assembled in real-time.":"Type your source code into the editor, and it'll be compiled in real-time."},{element:"#emulator",placement:"left",title:"Emulator",content:"We'll load your compiled code into the emulator whenever you make changes."},{element:"#debug_bar",placement:"bottom",title:"Debug Tools",content:"Use these buttons to set breakpoints, single step through code, pause/resume, and use debugging tools."},{element:"#dropdownMenuButton",title:"Main Menu",content:"Click the menu to create new files, download your code, or share your work with others."},{element:"#sidebar",title:"Sidebar",content:"Pull right to expose the sidebar. It lets you switch between source files, view assembly listings, and use other tools like Disassembler, Memory Browser, and Asset Editor."}];wo()&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Cookie Consent",content:'Before we start, we should tell you that this website stores persistent data in your browser. Review our <a href="/privacy.html" target="_new">privacy policy</a>.'}),e.push({element:"#booksMenuButton",placement:"left",title:"Books",content:"Get some books that explain how to program all of this stuff, and write some games!"})),Pa&&(e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Developer Analytics",content:"BTW, we send stack traces to sentry.io when exceptions are thrown. Hope that's ok."}),e.unshift({element:"#dropdownMenuButton",placement:"right",title:"Welcome to 8bitworkshop Desktop!",content:'The directory "~/8bitworkshop" contains all of your file edits and built ROM images. You can create new projects under the platform directories (e.g. "c64/myproject")'}));var t=new Tour({autoscroll:!1,steps:e,onEnd:()=>{Zi.completedTour()}});setTimeout(()=>{t.start()},2500)}}function Yu(r){var e=(r.message||r.error||r)+"";if(e.indexOf("QuotaExceededError")>=0)cz();else{var t=r.error||r.reason;t!=null&&t instanceof rf?GT(t):wo()&&ly(e,t,{platform:fe,window:F?F.getActiveID():"",errors:F.lasterrors||[]})}}function GT(r){console.log("haltEmulation"),Ii(),pW(r)}function Jz(){window.addEventListener("error",Yu),window.addEventListener("unhandledrejection",Yu)}function HT(){window.removeEventListener("error",Yu),window.removeEventListener("unhandledrejection",Yu)}function ro(r,e){e&&(de=e),HT(),r?window.location.replace("?"+$.param(de)):window.location.href="?"+$.param(de)}function qu(){fe&&(de.platform=fe),delete de[""],history.replaceState({},"","?"+$.param(de)+window.location.hash)}function KT(r){if(!r||r==="#")return null;var e=decodeURIComponent(r.substring(1));return e.startsWith("asseteditor/")?"#asseteditor":e.startsWith("headerview/")?(Gl(e.substring(11)),"#"+e):F.isWindow("#"+e)?"#"+e:F.isWindow(e)?e:null}function eW(){function r(){let e=window.location.hash,t=e&&e!=="#"?KT(e):null;if(t)t!==F.getActiveID()&&F.createOrShow(t);else{Line truncated
|
||||
`)>=0?(i.css({display:"inline-block","font-family":"monospace"}),n.split(`
|
||||
`).forEach((s,o)=>{o&&i.append("<br>"),i.append(document.createTextNode(s))})):i.text(n)}t.append(document.createTextNode(" "+e.action)),r.append(" ")}return r.children().length>0}function nW(){var r=$("#emucontrols");if(rW(r)){fe.endsWith(".mame")&&r.show();var e=$("#emulator").find("canvas");e&&(e.on("focus",()=>{P.isRunning()&&(r.fadeIn(200),P.resume())}),e.on("blur",()=>{r.fadeOut(200)}))}}async function iW(){if(!tf[fe])throw Error("Invalid platform '"+fe+"'.");let r=$("#emuscreen")[0],e=ef(de.options||"");P=new tf[fe](r,e),cW(),kr=new u0(P);let t=P.getPresets?P.getPresets():[];if(!de.file){var n=Zi.getLastPreset(),i=n||(_t?null:t[0].id);de.file=i||"DEFAULT",i||Re("There is no default main file for this project. Try selecting one from the pulldown.")}fe=="vcs"&&de.file.startsWith("examples/")&&!de.file.endsWith(".a")&&(de.file+=".a");var s=window.location.hash;qu(),Kz(),o0(GT),G0(),await P.start(),await Az(),await hz(),await pz(de.file),eW(s),Jz(),P.sourceFileFetch=o=>ae.filedata[o],jz(),!hs&&$("#shortcuts_bar").length&&(S0($("#shortcuts_bar")[0]),w0(Rz),P0(()=>{var o=F.id2div[F.activeid],a=o&&document.activeElement&&o.contains(document.activeElement),l=F.getActive(),c=a&&l&&l.getShortcuts?l.getShortcuts():[];return[...Mz(),...c]}),$(document).on("focusin focusout",()=>zr()),zr(),kc(ra().showStatusBar)),tW(),nW(),er?sW():(pc(),oW(),Hz()),JT()}function sW(){$("#dropdownMenuButton").hide(),$("#platformsMenuButton").hide(),$("#booksMenuButton").hide()}function oW(){cn(fe)=="nes"?$(".book-nes").addClass("book-active"):cn(fe)=="vcs"?$(".book-vcs").addClass("book-active"):cn(fe)=="verilog"?$(".book-verilog").addClass("book-active"):cn(fe)=="c64"?$(".book-c64").addClass("book-active"):P.getToolForFilename(kt())=="sdcc"&&$(".book-arcade").addClass("book-active")}function JT(){setTimeout(()=>{$("#controls_dynamic").css("visibility","inherit")},250)}function aW(r){let e=xo(de.ignore)||er;st(!0),Da(r,async t=>{if(t){var n=St(r);console.log("Importing "+t.length+" bytes as "+n);try{var i=await Pn.getItem(n);st(!1),i!=null&&e||(i==null||confirm("Replace existing file '"+n+"'?"))&&await Pn.setItem(n,t),delete de.importURL,de.file=n,qu(),t_()}finally{st(!1)}}else Re("Could not load source code from URL: "+r),st(!1)},"text")}async function lW(){var r=xo(de.ignore),e=xo(de.force);er?r=!e:e=!1;for(var t=0;t<20;t++){let i=de["file"+t+"_name"],s=de["file"+t+"_data"];if(i==null||s==null)break;var n=await Pn.getItem(i);if(!(r&&n)){let o=s;de["file"+t+"_type"]=="binary"&&(o=Oc(atob(o))),(!n||e||confirm("Replace existing file '"+i+"'?"))&&await Pn.setItem(i,o)}t==0&&(de.file=i),delete de["file"+t+"_name"],delete de["file"+t+"_data"],delete de["file"+t+"_type"]}delete de.ignore,delete de.force,qu()}function cW(){var r=P.getPlatformName&&P.getPlatformName(),e=$('a[href="?platform='+fe+'"]');e.length&&(e.addClass("dropdown-item-checked"),r=r||e.text()||r),uc=r||fe,$(".platform_name").text(uc)}function dW(){if(fe=de.platform||Zi.getLastPlatformID(),_t=de.repo,!de.repo&&!de.file&&(_t=Zi.getLastRepoID(fe)),Lr&&_t&&_t!=="/"){var r=Js()[_t];r&&(console.log(fe,de,r),de.repo=_t,r.platform_id&&!de.platform&&(de.platform=fe=r.platform_id),r.mainPath&&!de.file&&(de.file=r.mainPath))}else _t="",delete de.repo;fe||(er&&cy("The 'platform' must be specified when embed=1"),fe=de.platform="vcs")}async function e_(){if(de.githubURL){Al(de.githubURL,!0);return}if(Lr&&de.repo&&!Js()[de.repo]&&de.repo!=="/"){if(confirm(`Repository '${de.repo}' was not found locally. Import it from GitHub?`)){Al("https://github.com/"+de.repo,!0);return}delete de.repo}if(dW(),bT({getPlatformId:()=>fe,isEmbed:er,hasLocalStorage:Lr,resizePlatform:()=>{P&&P.resize&&P.resize()},resizeWindows:()=>{F&&F.resize()},onTabChanged:r=>{go()&&(r!=="emulator"?P.isRunning()&&(Ii(),Fb=!0):Fb&&(Fb=!1,P.isRunning()||li()))}}),Oo=_t||ir(fe),er&&(Oo=(document.referrer||document.location.href)+Oo),Pn=ch(Oo),de.importURL){aW(de.importURL);return}de.file0_name&&await lW(),t_()}async function t_(){try{var r=await f0(cn(fe));console.log("starting platform",fe),await iW(),F.titlePrefix=document.title+" ["+fe+"] - "+(_t?"["+_t+"] - ":""),F.updateTitle(F.getActiveID()||ae.mainPath)}catch(e){console.log(e),Re('Platform "'+fe+'" failed to load.')}finally{JT()}}var t0="__use_https";function r_(r){document.cookie=t0+"="+r+";domain=8bitworkshop.com;path=/;max-age=315360000"}function hW(){var r=yc(t0);if(typeof r=="string")return!!r;var e=Lr&&!localStorage.getItem("__lastplatform")?1:0;return r_(e),!!e}function uW(){bootbox.confirm('<p>Do you want to force the browser to use HTTPS from now on?</p><p>WARNING: This will make all of your local files unavailable, so you should "Download All Changes" first for each platform where you have done work.</p><p>You can go back to HTTP by setting the "'+t0+'" cookie to 0.</p>',r=>{r&&(r_(1),n_())})}function n_(){window.location.protocol=="http:"&&wo()&&(hW()?(HT(),window.location.replace(window.location.href.replace(/^http:/,"https:"))):$("#item_switch_https").c
Line truncated
|
||||
`).forEach((s,o)=>{o&&i.append("<br>"),i.append(document.createTextNode(s))})):i.text(n)}t.append(document.createTextNode(" "+e.action)),r.append(" ")}return r.children().length>0}function iW(){var r=$("#emucontrols");if(nW(r)){fe.endsWith(".mame")&&r.show();var e=$("#emulator").find("canvas");e&&(e.on("focus",()=>{P.isRunning()&&(r.fadeIn(200),P.resume())}),e.on("blur",()=>{r.fadeOut(200)}))}}async function sW(){if(!tf[fe])throw Error("Invalid platform '"+fe+"'.");let r=$("#emuscreen")[0],e=ef(de.options||"");P=new tf[fe](r,e),dW(),kr=new u0(P);let t=P.getPresets?P.getPresets():[];if(!de.file){var n=Zi.getLastPreset(),i=n||(_t?null:t[0]&&t[0].id);de.file=i||"DEFAULT",i||Re("There is no default main file for this project. Try selecting one from the pulldown.")}fe=="vcs"&&de.file.startsWith("examples/")&&!de.file.endsWith(".a")&&(de.file+=".a");var s=window.location.hash;qu(),Jz(),o0(GT),G0(),await P.start(),await Cz(),await uz(),await mz(de.file),tW(s),eW(),P.sourceFileFetch=o=>ae.filedata[o],Uz(),!hs&&$("#shortcuts_bar").length&&(S0($("#shortcuts_bar")[0]),w0(Mz),P0(()=>{var o=F.id2div[F.activeid],a=o&&document.activeElement&&o.contains(document.activeElement),l=F.getActive(),c=a&&l&&l.getShortcuts?l.getShortcuts():[];return[...Lz(),...c]}),$(document).on("focusin focusout",()=>Wr()),Wr(),kc(ra().showStatusBar)),rW(),iW(),tr?oW():(pc(),aW(),Kz()),JT()}function oW(){$("#dropdownMenuButton").hide(),$("#platformsMenuButton").hide(),$("#booksMenuButton").hide()}function aW(){Xr(fe)=="nes"?$(".book-nes").addClass("book-active"):Xr(fe)=="vcs"?$(".book-vcs").addClass("book-active"):Xr(fe)=="verilog"?$(".book-verilog").addClass("book-active"):Xr(fe)=="c64"?$(".book-c64").addClass("book-active"):P.getToolForFilename(kt())=="sdcc"&&$(".book-arcade").addClass("book-active")}function JT(){setTimeout(()=>{$("#controls_dynamic").css("visibility","inherit")},250)}function lW(r){let e=xo(de.ignore)||tr;st(!0),Da(r,async t=>{if(t){var n=St(r);console.log("Importing "+t.length+" bytes as "+n);try{var i=await Pn.getItem(n);st(!1),i!=null&&e||(i==null||confirm("Replace existing file '"+n+"'?"))&&await Pn.setItem(n,t),delete de.importURL,de.file=n,qu(),t_()}finally{st(!1)}}else Re("Could not load source code from URL: "+r),st(!1)},"text")}async function cW(){var r=xo(de.ignore),e=xo(de.force);tr?r=!e:e=!1;for(var t=0;t<20;t++){let i=de["file"+t+"_name"],s=de["file"+t+"_data"];if(i==null||s==null)break;var n=await Pn.getItem(i);if(!(r&&n)){let o=s;de["file"+t+"_type"]=="binary"&&(o=Oc(atob(o))),(!n||e||confirm("Replace existing file '"+i+"'?"))&&await Pn.setItem(i,o)}t==0&&(de.file=i),delete de["file"+t+"_name"],delete de["file"+t+"_data"],delete de["file"+t+"_type"]}delete de.ignore,delete de.force,qu()}function dW(){var r=P.getPlatformName&&P.getPlatformName(),e=$('a[href="?platform='+fe+'"]');e.length&&(e.addClass("dropdown-item-checked"),r=r||e.text()||r),uc=r||fe,$(".platform_name").text(uc)}function hW(){if(fe=de.platform||Zi.getLastPlatformID(),_t=de.repo,!de.repo&&!de.file&&(_t=Zi.getLastRepoID(fe)),Lr&&_t&&_t!=="/"){var r=Js()[_t];r&&(console.log(fe,de,r),de.repo=_t,r.platform_id&&!de.platform&&(de.platform=fe=r.platform_id),r.mainPath&&!de.file&&(de.file=r.mainPath))}else _t="",delete de.repo;fe||(tr&&cy("The 'platform' must be specified when embed=1"),fe=de.platform="vcs")}async function e_(){if(de.githubURL){Al(de.githubURL,!0);return}if(Lr&&de.repo&&!Js()[de.repo]&&de.repo!=="/"){if(confirm(`Repository '${de.repo}' was not found locally. Import it from GitHub?`)){Al("https://github.com/"+de.repo,!0);return}delete de.repo}if(hW(),bT({getPlatformId:()=>fe,isEmbed:tr,hasLocalStorage:Lr,resizePlatform:()=>{P&&P.resize&&P.resize()},resizeWindows:()=>{F&&F.resize()},onTabChanged:r=>{go()&&(r!=="emulator"?P.isRunning()&&(Ii(),Fb=!0):Fb&&(Fb=!1,P.isRunning()||li()))}}),Oo=_t||sr(fe),tr&&(Oo=(document.referrer||document.location.href)+Oo),Pn=ch(Oo),de.importURL){lW(de.importURL);return}de.file0_name&&await cW(),t_()}async function t_(){try{var r=await f0(Xr(fe));console.log("starting platform",fe),await sW(),F.titlePrefix=document.title+" ["+fe+"] - "+(_t?"["+_t+"] - ":""),F.updateTitle(F.getActiveID()||ae.mainPath)}catch(e){console.log(e),Re('Platform "'+fe+'" failed to load.')}finally{JT()}}var t0="__use_https";function r_(r){document.cookie=t0+"="+r+";domain=8bitworkshop.com;path=/;max-age=315360000"}function uW(){var r=yc(t0);if(typeof r=="string")return!!r;var e=Lr&&!localStorage.getItem("__lastplatform")?1:0;return r_(e),!!e}function fW(){bootbox.confirm('<p>Do you want to force the browser to use HTTPS from now on?</p><p>WARNING: This will make all of your local files unavailable, so you should "Download All Changes" first for each platform where you have done work.</p><p>You can go back to HTTP by setting the "'+t0+'" cookie to 0.</p>',r=>{r&&(r_(1),n_())})}function n_(){window.location.protocol=="http:"&&wo()&&(uW()?(HT(),window.location.replace(window.location.href.replace(/^http:/,"https:"))):$("#item_switch_htt
Line truncated
|
||||
/*! Bundled license information:
|
||||
|
||||
localforage/dist/localforage.js:
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../node_modules/localforage/dist/localforage.js", "../node_modules/split.js/dist/split.js", "../node_modules/dompurify/src/utils.ts", "../node_modules/dompurify/src/tags.ts", "../node_modules/dompurify/src/attrs.ts", "../node_modules/dompurify/src/regexp.ts", "../node_modules/dompurify/src/purify.ts", "../src/ide/ui.ts", "../src/common/controls.ts", "../src/ide/keys.ts", "../src/ide/shortcutbar.ts", "../src/ide/toolbar.ts", "../src/ide/helptopics.ts", "../src/common/vlist.ts", "../node_modules/dompurify/src/utils.ts", "../node_modules/dompurify/src/tags.ts", "../node_modules/dompurify/src/attrs.ts", "../node_modules/dompurify/src/regexp.ts", "../node_modules/dompurify/src/purify.ts", "../src/ide/waveform.ts", "../src/ide/hdlhost.ts", "../src/common/toolmeta.ts", "../src/worker/platforms.ts", "../src/ide/errorreport.ts", "../src/ide/dialogs.ts", "../node_modules/@marijn/find-cluster-break/src/index.js", "../node_modules/@codemirror/state/dist/index.js", "../node_modules/style-mod/src/style-mod.js", "../node_modules/w3c-keyname/index.js", "../node_modules/crelt/index.js", "../node_modules/@codemirror/view/dist/index.js", "../node_modules/@lezer/common/dist/index.js", "../node_modules/@lezer/highlight/dist/index.js", "../node_modules/@codemirror/language/dist/index.js", "../node_modules/@codemirror/autocomplete/dist/index.js", "../src/ide/views/debug.ts", "../node_modules/@codemirror/commands/dist/index.js", "../src/ide/views/tabs.ts", "../src/ide/settings.ts", "../src/ide/storage.ts", "../src/ide/project.ts", "../src/common/workertypes.ts", "../src/common/projectcore.ts", "../src/ide/services.ts", "../src/common/audio/CommodoreTape.ts", "../src/ide/shareexport.ts", "../src/ide/sync.ts", "../src/ide/search/symbolindex.ts", "../src/common/symbols/index.ts", "../src/ide/search/projectsource.ts", "../src/ide/search/toolchainsource.ts", "../src/ide/search/docssource.ts", "../src/ide/search/service.ts", "../node_modules/@codemirror/search/dist/index.js", "../node_modules/@lezer/lr/dist/index.js", "../node_modules/@fazelstudio/codemirror-lang-c/dist/highlight.js", "../node_modules/@fazelstudio/codemirror-lang-c/dist/parser.js", "../node_modules/@fazelstudio/codemirror-lang-c/dist/index.js", "../src/parser/lang-c.ts", "../src/parser/asmkeywords.ts", "../src/parser/tokens-6502.ts", "parser/lang-6502.grammar.js", "../src/parser/lang-6502.ts", "../src/parser/tokens-z80.ts", "parser/lang-z80.grammar.js", "../src/parser/lang-z80.ts", "../src/parser/lang-wiz.ts", "../src/parser/lang-verilog.ts", "../src/parser/lang-inform6.ts", "../src/parser/lang-dialog.ts", "../src/parser/lang-basic.ts", "../src/parser/lang-fastbasic.ts", "../src/parser/lang-bataribasic.ts", "../node_modules/@lezer/markdown/dist/index.js", "../node_modules/@lezer/html/dist/index.js", "../node_modules/@lezer/css/dist/index.js", "../node_modules/@codemirror/lang-css/dist/index.js", "../node_modules/@lezer/javascript/dist/index.js", "../node_modules/@codemirror/lang-javascript/dist/index.js", "../node_modules/@codemirror/lang-html/dist/index.js", "../node_modules/@codemirror/lang-markdown/dist/index.js", "../src/parser/registry.ts", "../src/themes/cobalt.ts", "../src/themes/disassemblyTheme.ts", "../src/themes/editorTheme.ts", "../src/themes/mbo.ts", "../src/common/breakcond.ts", "../src/common/symbols/symbolfile.ts", "../src/common/breakpoints.ts", "../src/ide/breakpoints.ts", "../src/ide/views/assetdecorations.ts", "../src/ide/views/includedecorations.ts", "../src/ide/views/baseviews.ts", "../src/ide/views/filters.ts", "../src/ide/views/gutter.ts", "../src/ide/views/visuals.ts", "../src/ide/views/editors.ts", "../src/common/vtextscroller.ts", "../src/ide/views/memmaplayout.ts", "../src/ide/views/debugviews.ts", "../src/ide/search/debuggerhit.ts", "../src/ide/search/searchview.ts", "../src/ide/pixeleditor.ts", "../src/ide/views/asseteditor.ts", "../src/docs/index.md", "../src/docs/editor.md", "../src/docs/disasm.md", "../src/docs/memory.md", "../src/docs/memmap.md", "../src/docs/vram.md", "../src/docs/memprobe.md", "../src/docs/crtprobe.md", "../src/docs/probelog.md", "../src/docs/scanlineio.md", "../src/docs/symbols.md", "../src/docs/callstack.md", "../src/docs/debugtree.md", "../src/docs/breakpoints.md", "../src/docs/asseteditor.md", "../src/docs/managing-files.md", "../src/docs/build-directives.md", "../src/docs/toolchains.md", "../src/docs/asset-headers.md", "../src/docs/embedding-ide.md", "../src/docs/verilog-waveform.md", "../src/ide/views/helpview.ts", "../src/ide/views/treeviews.ts", "../src/ide/windows.ts", "../src/ide/layout.ts", "../src/ide/search/listinglocation.ts"],
|
||||
"sourcesContent": ["/*!\n localForage -- Offline Storage, Improved\n Version 1.10.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\n\nvar scheduleDrain;\n\n{\n if (Mutation) {\n var called = 0;\n var observer = new Mutation(nextTick);\n var element = global.document.createTextNode('');\n observer.observe(element, {\n characterData: true\n });\n scheduleDrain = function () {\n element.data = (called = ++called % 2);\n };\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\n var channel = new global.MessageChannel();\n channel.port1.onmessage = nextTick;\n scheduleDrain = function () {\n channel.port2.postMessage(0);\n };\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\n scheduleDrain = function () {\n\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["require_localforage", "__commonJSMin", "exports", "module", "f", "g", "define", "e", "t", "n", "r", "s", "o", "u", "a", "__require", "i", "l", "_dereq_", "global", "Mutation", "scheduleDrain", "called", "observer", "nextTick", "element", "channel", "scriptEl", "draining", "queue", "oldQueue", "len", "immediate", "task", "INTERNAL", "handlers", "REJECTED", "FULFILLED", "PENDING", "Promise", "resolver", "safelyResolveThenable", "onRejected", "onFulfilled", "promise", "unwrap", "QueueItem", "value", "func", "returnValue", "self", "result", "tryCatch", "getThen", "thenable", "error", "obj", "then", "onError", "onSuccess", "tryToUnwrap", "out", "resolve", "reject", "reason", "all", "iterable", "values", "resolved", "allResolver", "resolveFromAll", "outValue", "race", "response", "_typeof", "_classCallCheck", "instance", "Constructor", "getIDB", "idb", "isIndexedDBValid", "isSafari", "hasFetch", "createBlob", "parts", "properties", "Builder", "builder", "Promise$1", "executeCallback", "callback", "executeTwoCallbacks", "errorCallback", "normalizeKey", "key", "getCallback", "DETECT_BLOB_SUPPORT_STORE", "supportsBlobs", "dbContexts", "toString", "READ_ONLY", "READ_WRITE", "_binStringToArrayBuffer", "bin", "length", "buf", "arr", "_checkBlobSupportWithoutCaching", "txn", "blob", "matchedChrome", "matchedEdge", "_checkBlobSupport", "_deferReadiness", "dbInfo", "dbContext", "deferredOperation", "_advanceReadiness", "_rejectReadiness", "err", "_getConnection", "upgradeNeeded", "createDbContext", "dbArgs", "openreq", "db", "ex", "_getOriginalConnection", "_getUpgradedConnection", "_isUpgradeNeeded", "defaultVersion", "isNewStore", "isDowngrade", "isUpgrade", "incVersion", "_encodeBlob", "reader", "base64", "_decodeBlob", "encodedBlob", "arrayBuff", "_isEncodedBlob", "_fullyReady", "_tryReconnect", "forages", "forage", "createTransaction", "mode", "retries", "tx", "_initStorage", "options", "initPromises", "ignoreErrors", "j", "k", "getItem", "transaction", "store", "req", "iterate", "iterator", "iterationNumber", "cursor", "setItem", "blobSupport", "removeItem", "clear", "advanced", "keys", "dropInstance", "currentConfig", "isCurrentDb", "dbPromise", "newVersion", "dropObjectPromise", "_forage2", "dropDBPromise", "_forage", "asyncStorage", "isWebSQLValid", "BASE_CHARS", "BLOB_TYPE_PREFIX", "BLOB_TYPE_PREFIX_REGEX", "SERIALIZED_MARKER", "SERIALIZED_MARKER_LENGTH", "TYPE_ARRAYBUFFER", "TYPE_BLOB", "TYPE_INT8ARRAY", "TYPE_UINT8ARRAY", "TYPE_UINT8CLAMPEDARRAY", "TYPE_INT16ARRAY", "TYPE_INT32ARRAY", "TYPE_UINT16ARRAY", "TYPE_UINT32ARRAY", "TYPE_FLOAT32ARRAY", "TYPE_FLOAT64ARRAY", "TYPE_SERIALIZED_MARKER_LENGTH", "toString$1", "stringToBuffer", "serializedString", "bufferLength", "p", "encoded1", "encoded2", "encoded3", "encoded4", "buffer", "bytes", "bufferToString", "base64String", "serialize", "valueType", "marker", "fileReader", "str", "deserialize", "type", "blobType", "matcher", "localforageSerializer", "createDbTable", "_initStorage$1", "dbInfoPromise", "tryExecuteSql", "sqlStatement", "args", "results", "getItem$1", "iterate$1", "rows", "item", "_setItem", "retriesLeft", "originalValue", "sqlError", "setItem$1", "removeItem$1", "clear$1", "length$1", "key$1", "keys$1", "getAllStoreNames", "storeNames", "dropInstance$1", "operationInfo", "dropTable", "storeName", "operations", "webSQLStorage", "isLocalStorageValid", "_getKeyPrefix", "defaultConfig", "keyPrefix", "checkIfLocalStorageThrows", "localStorageTestKey", "_isLocalStorageUsable", "_initStorage$2", "clear$2", "getItem$2", "iterate$2", "keyPrefixLength", "key$2", "keys$2", "itemKey", "length$2", "removeItem$2", "setItem$2", "dropInstance$2", "localStorageWrapper", "sameValue", "x", "y", "includes", "array", "searchElement", "isArray", "arg", "DefinedDrivers", "DriverSupport", "DefaultDrivers", "DefaultDriverOrder", "OptionalDriverMethods", "LibraryMethods", "DefaultConfig", "callWhenReady", "localForageInstance", "libraryMethod", "_args", "extend", "_key", "LocalForage", "driverTypeKey", "driver", "driverName", "driverObject", "complianceError", "driverMethods", "driverMethodName", "isRequired", "configureMissingMethods", "methodNotImplementedFactory", "methodName", "_i", "_len", "optionalDriverMethod", "setDriverSupport", "support", "getDriverPromise", "serializerPromise", "drivers", "supportedDrivers", "setDriverToConfig", "extendSelfWithDriver", "initDriver", "currentDriverIndex", "driverPromiseLoop", "oldDriverSetDone", "libraryMethodsAndProperties", "localforage_js", "require_split", "__commonJSMin", "exports", "module", "global", "factory", "ssr", "document", "addEventListener", "removeEventListener", "getBoundingClientRect", "gutterStartDragging", "aGutterSize", "bGutterSize", "HORIZONTAL", "NOOP", "calc", "prefix", "el", "isString", "v", "elementOrSelector", "ele", "getOption", "options", "propName", "def", "value", "getGutterSize", "gutterSize", "isFirst", "isLast", "gutterAlign", "defaultGutterFn", "i", "gutterDirection", "gut", "defaultElLine truncated
|
||||
"sourcesContent": ["/*!\n localForage -- Offline Storage, Improved\n Version 1.10.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\n\nvar scheduleDrain;\n\n{\n if (Mutation) {\n var called = 0;\n var observer = new Mutation(nextTick);\n var element = global.document.createTextNode('');\n observer.observe(element, {\n characterData: true\n });\n scheduleDrain = function () {\n element.data = (called = ++called % 2);\n };\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\n var channel = new global.MessageChannel();\n channel.port1.onmessage = nextTick;\n scheduleDrain = function () {\n channel.port2.postMessage(0);\n };\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\n scheduleDrain = function () {\n\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["require_localforage", "__commonJSMin", "exports", "module", "f", "g", "define", "e", "t", "n", "r", "s", "o", "u", "a", "__require", "i", "l", "_dereq_", "global", "Mutation", "scheduleDrain", "called", "observer", "nextTick", "element", "channel", "scriptEl", "draining", "queue", "oldQueue", "len", "immediate", "task", "INTERNAL", "handlers", "REJECTED", "FULFILLED", "PENDING", "Promise", "resolver", "safelyResolveThenable", "onRejected", "onFulfilled", "promise", "unwrap", "QueueItem", "value", "func", "returnValue", "self", "result", "tryCatch", "getThen", "thenable", "error", "obj", "then", "onError", "onSuccess", "tryToUnwrap", "out", "resolve", "reject", "reason", "all", "iterable", "values", "resolved", "allResolver", "resolveFromAll", "outValue", "race", "response", "_typeof", "_classCallCheck", "instance", "Constructor", "getIDB", "idb", "isIndexedDBValid", "isSafari", "hasFetch", "createBlob", "parts", "properties", "Builder", "builder", "Promise$1", "executeCallback", "callback", "executeTwoCallbacks", "errorCallback", "normalizeKey", "key", "getCallback", "DETECT_BLOB_SUPPORT_STORE", "supportsBlobs", "dbContexts", "toString", "READ_ONLY", "READ_WRITE", "_binStringToArrayBuffer", "bin", "length", "buf", "arr", "_checkBlobSupportWithoutCaching", "txn", "blob", "matchedChrome", "matchedEdge", "_checkBlobSupport", "_deferReadiness", "dbInfo", "dbContext", "deferredOperation", "_advanceReadiness", "_rejectReadiness", "err", "_getConnection", "upgradeNeeded", "createDbContext", "dbArgs", "openreq", "db", "ex", "_getOriginalConnection", "_getUpgradedConnection", "_isUpgradeNeeded", "defaultVersion", "isNewStore", "isDowngrade", "isUpgrade", "incVersion", "_encodeBlob", "reader", "base64", "_decodeBlob", "encodedBlob", "arrayBuff", "_isEncodedBlob", "_fullyReady", "_tryReconnect", "forages", "forage", "createTransaction", "mode", "retries", "tx", "_initStorage", "options", "initPromises", "ignoreErrors", "j", "k", "getItem", "transaction", "store", "req", "iterate", "iterator", "iterationNumber", "cursor", "setItem", "blobSupport", "removeItem", "clear", "advanced", "keys", "dropInstance", "currentConfig", "isCurrentDb", "dbPromise", "newVersion", "dropObjectPromise", "_forage2", "dropDBPromise", "_forage", "asyncStorage", "isWebSQLValid", "BASE_CHARS", "BLOB_TYPE_PREFIX", "BLOB_TYPE_PREFIX_REGEX", "SERIALIZED_MARKER", "SERIALIZED_MARKER_LENGTH", "TYPE_ARRAYBUFFER", "TYPE_BLOB", "TYPE_INT8ARRAY", "TYPE_UINT8ARRAY", "TYPE_UINT8CLAMPEDARRAY", "TYPE_INT16ARRAY", "TYPE_INT32ARRAY", "TYPE_UINT16ARRAY", "TYPE_UINT32ARRAY", "TYPE_FLOAT32ARRAY", "TYPE_FLOAT64ARRAY", "TYPE_SERIALIZED_MARKER_LENGTH", "toString$1", "stringToBuffer", "serializedString", "bufferLength", "p", "encoded1", "encoded2", "encoded3", "encoded4", "buffer", "bytes", "bufferToString", "base64String", "serialize", "valueType", "marker", "fileReader", "str", "deserialize", "type", "blobType", "matcher", "localforageSerializer", "createDbTable", "_initStorage$1", "dbInfoPromise", "tryExecuteSql", "sqlStatement", "args", "results", "getItem$1", "iterate$1", "rows", "item", "_setItem", "retriesLeft", "originalValue", "sqlError", "setItem$1", "removeItem$1", "clear$1", "length$1", "key$1", "keys$1", "getAllStoreNames", "storeNames", "dropInstance$1", "operationInfo", "dropTable", "storeName", "operations", "webSQLStorage", "isLocalStorageValid", "_getKeyPrefix", "defaultConfig", "keyPrefix", "checkIfLocalStorageThrows", "localStorageTestKey", "_isLocalStorageUsable", "_initStorage$2", "clear$2", "getItem$2", "iterate$2", "keyPrefixLength", "key$2", "keys$2", "itemKey", "length$2", "removeItem$2", "setItem$2", "dropInstance$2", "localStorageWrapper", "sameValue", "x", "y", "includes", "array", "searchElement", "isArray", "arg", "DefinedDrivers", "DriverSupport", "DefaultDrivers", "DefaultDriverOrder", "OptionalDriverMethods", "LibraryMethods", "DefaultConfig", "callWhenReady", "localForageInstance", "libraryMethod", "_args", "extend", "_key", "LocalForage", "driverTypeKey", "driver", "driverName", "driverObject", "complianceError", "driverMethods", "driverMethodName", "isRequired", "configureMissingMethods", "methodNotImplementedFactory", "methodName", "_i", "_len", "optionalDriverMethod", "setDriverSupport", "support", "getDriverPromise", "serializerPromise", "drivers", "supportedDrivers", "setDriverToConfig", "extendSelfWithDriver", "initDriver", "currentDriverIndex", "driverPromiseLoop", "oldDriverSetDone", "libraryMethodsAndProperties", "localforage_js", "require_split", "__commonJSMin", "exports", "module", "global", "factory", "ssr", "document", "addEventListener", "removeEventListener", "getBoundingClientRect", "gutterStartDragging", "aGutterSize", "bGutterSize", "HORIZONTAL", "NOOP", "calc", "prefix", "el", "isString", "v", "elementOrSelector", "ele", "getOption", "options", "propName", "def", "value", "getGutterSize", "gutterSize", "isFirst", "isLast", "gutterAlign", "defaultGutterFn", "i", "gutterDirection", "gut", "defaultElLine truncated
|
||||
}
|
||||
+120
-114
@@ -2575,18 +2575,18 @@
|
||||
var DIALOG_INCLUDE_PATTERNS = [
|
||||
/^\s*%%\s*#include\s+"(.+?)"/gm
|
||||
];
|
||||
var CC65_PRELOADFS = {
|
||||
"apple2": { preloadFS: "65-apple2" },
|
||||
"c64": { preloadFS: "65-c64" },
|
||||
"vic20": { preloadFS: "65-vic20" },
|
||||
"nes": { preloadFS: "65-nes" },
|
||||
"atari8": { preloadFS: "65-atari8" },
|
||||
"vector": { preloadFS: "65-none" },
|
||||
"atari7800": { preloadFS: "65-none" },
|
||||
"devel": { preloadFS: "65-none" },
|
||||
"vcs": { preloadFS: "65-atari2600" },
|
||||
"pce": { preloadFS: "65-pce" },
|
||||
"exidy": { preloadFS: "65-none" }
|
||||
var CC65_WASIFS = {
|
||||
"apple2": { wasiFSZip: "cc65-fs-apple2.zip" },
|
||||
"c64": { wasiFSZip: "cc65-fs-c64.zip" },
|
||||
"vic20": { wasiFSZip: "cc65-fs-vic20.zip" },
|
||||
"nes": { wasiFSZip: "cc65-fs-nes.zip" },
|
||||
"atari8": { wasiFSZip: "cc65-fs-atari8.zip" },
|
||||
"vector": { wasiFSZip: "cc65-fs-none.zip" },
|
||||
"atari7800": { wasiFSZip: "cc65-fs-none.zip" },
|
||||
"devel": { wasiFSZip: "cc65-fs-none.zip" },
|
||||
"vcs": { wasiFSZip: "cc65-fs-atari2600.zip" },
|
||||
"pce": { wasiFSZip: "cc65-fs-pce.zip" },
|
||||
"exidy": { wasiFSZip: "cc65-fs-none.zip" }
|
||||
};
|
||||
var TOOL_META = {
|
||||
// ---- 6502 assemblers ----
|
||||
@@ -2662,14 +2662,14 @@
|
||||
kind: "compiler",
|
||||
arch: "6502",
|
||||
extensions: [".c", ".h"],
|
||||
includeDirs: ["/include", "/asminc"],
|
||||
includeDirs: ["/share/cc65/include", "/share/cc65/asminc"],
|
||||
editorStyle: "text/x-csrc",
|
||||
helpURL: "https://cc65.github.io/doc/cc65.html",
|
||||
wasmModule: "cc65",
|
||||
version: "2.19",
|
||||
defineFlag: "-D",
|
||||
defineInline: true,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS
|
||||
},
|
||||
@@ -2679,14 +2679,14 @@
|
||||
kind: "assembler",
|
||||
arch: "6502",
|
||||
extensions: [".s", ".ca65", ".inc"],
|
||||
includeDirs: ["/include", "/asminc"],
|
||||
includeDirs: ["/share/cc65/include", "/share/cc65/asminc"],
|
||||
editorStyle: "6502",
|
||||
helpURL: "https://cc65.github.io/doc/ca65.html",
|
||||
wasmModule: "ca65",
|
||||
version: "2.19",
|
||||
defineFlag: "-D",
|
||||
defineInline: false,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS
|
||||
},
|
||||
@@ -2979,7 +2979,7 @@
|
||||
helpURL: "https://github.com/dmsc/fastbasic/blob/v4.4/manual.md",
|
||||
wasmModule: "fastbasic-int",
|
||||
version: "4.4",
|
||||
platforms: { default: { preloadFS: "65-atari8" } },
|
||||
platforms: { default: { wasiFSZip: "cc65-fs-atari8.zip" } },
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS
|
||||
},
|
||||
@@ -3042,9 +3042,9 @@
|
||||
extensions: [".ecs"],
|
||||
editorStyle: "ecs",
|
||||
platforms: {
|
||||
vcs: { preloadFS: "65-atari2600" },
|
||||
nes: { preloadFS: "65-nes" },
|
||||
c64: { preloadFS: "65-c64" }
|
||||
vcs: { wasiFSZip: "cc65-fs-atari2600.zip" },
|
||||
nes: { wasiFSZip: "cc65-fs-nes.zip" },
|
||||
c64: { wasiFSZip: "cc65-fs-c64.zip" }
|
||||
},
|
||||
includePatterns: [...SHARED_INCLUDE_PATTERNS, ...ECS_INCLUDE_PATTERNS]
|
||||
},
|
||||
@@ -3202,6 +3202,14 @@
|
||||
return buildArgs[kind] || [];
|
||||
return [];
|
||||
}
|
||||
function getSharedFileSystemName(tool, platform) {
|
||||
var fsName = getPreloadFSName(tool, platform);
|
||||
if (fsName) return fsName;
|
||||
let config = getPlatformToolConfig(tool, platform);
|
||||
if (config && config.wasiFSZip) return "wasi:" + config.wasiFSZip;
|
||||
let meta = tool && getToolMeta(tool);
|
||||
return meta && meta.wasiFSZip ? "wasi:" + meta.wasiFSZip : void 0;
|
||||
}
|
||||
|
||||
// src/worker/platforms.ts
|
||||
var PLATFORM_PARAMS = {
|
||||
@@ -6666,6 +6674,14 @@
|
||||
errors.push({ line: 0, msg: "" + e });
|
||||
}
|
||||
}
|
||||
function wasiFSAdapter(wasi) {
|
||||
return {
|
||||
mkdir: (path) => wasi.fs.putDirectory(path),
|
||||
writeFile: (path, data) => wasi.fs.putFile(path, data),
|
||||
utime: () => {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// src/worker/wasmutils.ts
|
||||
var ENVIRONMENT_IS_NODE = typeof process === "object" && process != null && typeof process.versions === "object" && process.versions != null && typeof process.versions.node === "string";
|
||||
@@ -6798,11 +6814,6 @@
|
||||
}
|
||||
function setupFS(FS, name) {
|
||||
var WORKERFS = FS.filesystems["WORKERFS"];
|
||||
if (name === "65-vector") name = "65-none";
|
||||
if (name === "65-atari7800") name = "65-none";
|
||||
if (name === "65-devel") name = "65-none";
|
||||
if (name === "65-vcs") name = "65-atari2600";
|
||||
if (name === "65-exidy") name = "65-none";
|
||||
if (!fsMeta[name]) throw Error("No filesystem for '" + name + "'");
|
||||
FS.mkdir("/share");
|
||||
FS.mount(WORKERFS, {
|
||||
@@ -7277,6 +7288,44 @@
|
||||
}
|
||||
|
||||
// src/worker/tools/cc65.ts
|
||||
var CC65_SHARE = "share/cc65";
|
||||
var wasiModules = {};
|
||||
async function runCC65Tool(step, tool, args, populate) {
|
||||
const fsname = getSharedFileSystemName("cc65", step.platform);
|
||||
if (!fsname || !fsname.startsWith("wasi:"))
|
||||
throw new Error("No cc65 filesystem for platform " + step.platform);
|
||||
const sharefs = await ensureWasiFilesystem(fsname.substring(5));
|
||||
if (!sharefs)
|
||||
throw new Error("Could not load cc65 filesystem " + fsname);
|
||||
if (!wasiModules[tool]) {
|
||||
wasiModules[tool] = new WebAssembly.Module(loadWASMBinary(tool));
|
||||
}
|
||||
const wasi = new WASIRunner();
|
||||
wasi.initSync(wasiModules[tool]);
|
||||
wasi.fs.setParent(sharefs);
|
||||
populate(wasiFSAdapter(wasi));
|
||||
wasi.addPreopenDirectory(".");
|
||||
wasi.setArgs([tool, ...args]);
|
||||
const errno = wasi.run();
|
||||
console.log("exec", tool, args.join(" "));
|
||||
const stdout = wasi.fds[1].getBytesAsString();
|
||||
if (stdout) console.log(stdout);
|
||||
const stderr = wasi.fds[2].getBytesAsString().split(re_crlf).filter((s) => s != "");
|
||||
return { wasi, errno, stderr };
|
||||
}
|
||||
function checkExitCode(tool, errno, stderr, errors) {
|
||||
if (errno && !errors.length) {
|
||||
errors.push({ line: 0, msg: tool + " exited with code " + errno + (stderr.length ? ": " + stderr.join("\n") : "") });
|
||||
}
|
||||
}
|
||||
function readWASIOutput(wasi, path) {
|
||||
const fd = wasi.fs.getFile(path);
|
||||
if (!fd) throw new Error("Missing output file " + path);
|
||||
return fd.getBytes().slice();
|
||||
}
|
||||
function readWASIOutputString(wasi, path) {
|
||||
return new TextDecoder().decode(readWASIOutput(wasi, path));
|
||||
}
|
||||
function parseCA65Listing(asmfn, code, symbols, segments, params, dbg, listings) {
|
||||
var _a;
|
||||
var segofs = 0;
|
||||
@@ -7358,8 +7407,7 @@
|
||||
}
|
||||
return origlines;
|
||||
}
|
||||
function assembleCA65(step) {
|
||||
loadNative("ca65");
|
||||
async function assembleCA65(step) {
|
||||
var errors = [];
|
||||
gatherFiles(step, { mainFilePath: "main.s" });
|
||||
var objpath = step.prefix + ".o";
|
||||
@@ -7369,33 +7417,22 @@
|
||||
}
|
||||
fixParamsWithDefines(step.path, step.params);
|
||||
if (staleFiles(step, [objpath, lstpath])) {
|
||||
var objout, lstout;
|
||||
var CA65 = emglobal.ca65({
|
||||
instantiateWasm: moduleInstFn("ca65"),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: print_fn,
|
||||
printErr: makeErrorMatcher(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1)
|
||||
});
|
||||
var FS = CA65.FS;
|
||||
setupFS(FS, "65-" + getRootBasePlatform(step.platform));
|
||||
populateFiles(step, FS);
|
||||
var args = ["-v", "-g", "-I", "/share/asminc", "-o", objpath, "-l", lstpath, step.path];
|
||||
var args = ["-v", "-g", "-I", CC65_SHARE + "/asminc", "-o", objpath, "-l", lstpath, step.path];
|
||||
args.unshift.apply(args, ["-D", "__8BITWORKSHOP__=1"]);
|
||||
if (step.mainfile) {
|
||||
args.unshift.apply(args, ["-D", "__MAIN__=1"]);
|
||||
}
|
||||
var extra = defineArgs("ca65", step.params.define).concat(defineArgs("ca65", step.params.symbols && step.params.symbols.assembler)).concat(extraArgsFor("ca65", step.params.buildArgs));
|
||||
args.splice(args.length - 1, 0, ...extra);
|
||||
execMain(step, CA65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, "ca65", args, (fs) => populateFiles(step, fs));
|
||||
stderr.forEach(makeErrorMatcher(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode("ca65", errno, stderr, errors);
|
||||
if (errors.length) {
|
||||
let listings = {};
|
||||
return { errors, listings };
|
||||
}
|
||||
objout = FS.readFile(objpath, { encoding: "binary" });
|
||||
lstout = FS.readFile(lstpath, { encoding: "utf8" });
|
||||
putWorkFile(objpath, objout);
|
||||
putWorkFile(lstpath, lstout);
|
||||
putWorkFile(objpath, readWASIOutput(wasi, objpath));
|
||||
putWorkFile(lstpath, readWASIOutputString(wasi, lstpath));
|
||||
}
|
||||
return {
|
||||
linktool: "ld65",
|
||||
@@ -7403,37 +7440,20 @@
|
||||
args: [objpath]
|
||||
};
|
||||
}
|
||||
function linkLD65(step) {
|
||||
async function linkLD65(step) {
|
||||
var _a, _b, _c;
|
||||
loadNative("ld65");
|
||||
var params = step.params;
|
||||
gatherFiles(step);
|
||||
var binpath = "main";
|
||||
if (staleFiles(step, [binpath])) {
|
||||
var errors = [];
|
||||
var LD65 = emglobal.ld65({
|
||||
instantiateWasm: moduleInstFn("ld65"),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: print_fn,
|
||||
printErr: function(s2) {
|
||||
errors.push({ msg: s2, line: 0 });
|
||||
}
|
||||
});
|
||||
var FS = LD65.FS;
|
||||
setupFS(FS, "65-" + getRootBasePlatform(step.platform));
|
||||
populateFiles(step, FS);
|
||||
populateExtraFiles(step, FS, params.extra_link_files);
|
||||
if (store.hasFile(params.cfgfile)) {
|
||||
populateEntry(FS, params.cfgfile, store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
var libargs = params.libargs || [];
|
||||
var cfgfile = params.cfgfile;
|
||||
var args = [
|
||||
"--cfg-path",
|
||||
"/share/cfg",
|
||||
CC65_SHARE + "/cfg",
|
||||
"--lib-path",
|
||||
"/share/lib",
|
||||
CC65_SHARE + "/lib",
|
||||
"-C",
|
||||
cfgfile,
|
||||
"-Ln",
|
||||
@@ -7447,12 +7467,20 @@
|
||||
].concat(step.args, libargs);
|
||||
args.push.apply(args, linkSymbolArgs("ld65", params.symbols && params.symbols.linker));
|
||||
args.push.apply(args, extraArgsFor("ld65", params.buildArgs));
|
||||
execMain(step, LD65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, "ld65", args, (fs) => {
|
||||
populateFiles(step, fs);
|
||||
populateExtraFiles(step, fs, params.extra_link_files);
|
||||
if (store.hasFile(params.cfgfile)) {
|
||||
populateEntry(fs, params.cfgfile, store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
});
|
||||
for (let s2 of stderr) errors.push({ msg: s2, line: 0 });
|
||||
checkExitCode("ld65", errno, stderr, errors);
|
||||
if (errors.length)
|
||||
return { errors };
|
||||
var aout = FS.readFile("main", { encoding: "binary" });
|
||||
var mapout = FS.readFile("main.map", { encoding: "utf8" });
|
||||
var viceout = FS.readFile("main.vice", { encoding: "utf8" });
|
||||
var aout = readWASIOutput(wasi, "main");
|
||||
var mapout = readWASIOutputString(wasi, "main.map");
|
||||
var viceout = readWASIOutputString(wasi, "main.vice");
|
||||
if (step.platform == "pce" && aout.length > 8192) {
|
||||
let newrom = new Uint8Array(aout.length);
|
||||
newrom.set(aout.slice(aout.length - 8192), 0);
|
||||
@@ -7477,7 +7505,7 @@
|
||||
}
|
||||
var symbolsizes = {};
|
||||
try {
|
||||
let dbgsyms = parseCC65DbgSizes(FS.readFile("main.dbg", { encoding: "utf8" }), params.ignore_segments);
|
||||
let dbgsyms = parseCC65DbgSizes(readWASIOutputString(wasi, "main.dbg"), params.ignore_segments);
|
||||
symbolsizes = dbgsyms.sizes;
|
||||
for (let name of dbgsyms.ignored) delete symbolmap[name];
|
||||
} catch (e) {
|
||||
@@ -7504,7 +7532,7 @@
|
||||
var listings = {};
|
||||
for (var fn of step.files) {
|
||||
if (fn.endsWith(".lst")) {
|
||||
var lstout = FS.readFile(fn, { encoding: "utf8" });
|
||||
var lstout = readWASIOutputString(wasi, fn);
|
||||
lstout = lstout.split("\n\n")[1] || lstout;
|
||||
putWorkFile(fn, lstout);
|
||||
let isECS = ((_c = (_b = step.debuginfo) == null ? void 0 : _b.systems) == null ? void 0 : _c.Init) != null;
|
||||
@@ -7537,49 +7565,16 @@
|
||||
};
|
||||
}
|
||||
}
|
||||
function compileCC65(step) {
|
||||
loadNative("cc65");
|
||||
async function compileCC65(step) {
|
||||
var params = step.params;
|
||||
var re_err1 = /(.*?):(\d+): (.+)/;
|
||||
var errors = [];
|
||||
var errline = 0;
|
||||
function match_fn(s) {
|
||||
console.log(s);
|
||||
var matches = re_err1.exec(s);
|
||||
if (matches) {
|
||||
errline = parseInt(matches[2]);
|
||||
errors.push({
|
||||
line: errline,
|
||||
msg: matches[3],
|
||||
path: matches[1]
|
||||
});
|
||||
}
|
||||
}
|
||||
gatherFiles(step, { mainFilePath: "main.c" });
|
||||
var destpath = step.prefix + ".s";
|
||||
fixParamsWithDefines(step.path, params);
|
||||
if (staleFiles(step, [destpath])) {
|
||||
var CC65 = emglobal.cc65({
|
||||
instantiateWasm: moduleInstFn("cc65"),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: print_fn,
|
||||
printErr: match_fn
|
||||
});
|
||||
var FS = CC65.FS;
|
||||
setupFS(FS, "65-" + getRootBasePlatform(step.platform));
|
||||
populateFiles(step, FS, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === "string") {
|
||||
code = processEmbedDirective(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
});
|
||||
var args = [
|
||||
"-I",
|
||||
"/share/include",
|
||||
CC65_SHARE + "/include",
|
||||
"-I",
|
||||
".",
|
||||
"-D",
|
||||
@@ -7596,8 +7591,19 @@
|
||||
var customArgs = params.extra_compiler_args || ["-T", "-g", "-Oirs", "-Cl", "-W", "-pointer-sign,-no-effect"];
|
||||
args = args.concat(customArgs, args);
|
||||
args.push(step.path);
|
||||
const runerr = execToFile(step, CC65, args, FS, destpath, errors);
|
||||
if (runerr) return runerr;
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, "cc65", args, (fs) => populateFiles(step, fs, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === "string") {
|
||||
code = processEmbedDirective(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
}));
|
||||
stderr.forEach(makeErrorMatcher(errors, /(.*?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode("cc65", errno, stderr, errors);
|
||||
if (errors.length) return { errors };
|
||||
putWorkFile(destpath, readWASIOutputString(wasi, destpath));
|
||||
}
|
||||
return {
|
||||
nexttool: "ca65",
|
||||
@@ -14692,7 +14698,7 @@ ${this.scopeSymbol(name)} = ${name}::__Start`;
|
||||
}
|
||||
|
||||
// src/worker/tools/cc6502.ts
|
||||
var wasiModules = {};
|
||||
var wasiModules2 = {};
|
||||
var wasiFilesystems2 = {};
|
||||
async function compileCC6502(step, cfg) {
|
||||
const errors = [];
|
||||
@@ -14702,11 +14708,11 @@ ${this.scopeSymbol(name)} = ${name}::__Start`;
|
||||
if (!wasiFilesystems2[cfg.tool]) {
|
||||
wasiFilesystems2[cfg.tool] = await loadWASIFilesystemZip(cfg.fsZip);
|
||||
}
|
||||
if (!wasiModules[cfg.tool]) {
|
||||
wasiModules[cfg.tool] = new WebAssembly.Module(loadWASMBinary(cfg.tool));
|
||||
if (!wasiModules2[cfg.tool]) {
|
||||
wasiModules2[cfg.tool] = new WebAssembly.Module(loadWASMBinary(cfg.tool));
|
||||
}
|
||||
const wasi = new WASIRunner();
|
||||
wasi.initSync(wasiModules[cfg.tool]);
|
||||
wasi.initSync(wasiModules2[cfg.tool]);
|
||||
wasi.fs.setParent(wasiFilesystems2[cfg.tool]);
|
||||
populateWASIFiles(wasi, step, ["headers", "."]);
|
||||
wasi.setArgs([cfg.tool, "-v", "-g", "-S", "-I", "headers", step.path]);
|
||||
@@ -15938,9 +15944,9 @@ ${this.scopeSymbol(name)} = ${name}::__Start`;
|
||||
}
|
||||
async function handleMessage(data) {
|
||||
if (data.preload) {
|
||||
var fs = getPreloadFSName(data.preload, data.platform);
|
||||
if (fs && !fsMeta[fs])
|
||||
loadFilesystem(fs);
|
||||
var fs0 = splitWasiFSName(getSharedFileSystemName(data.preload, data.platform) || "");
|
||||
if (fs0.wasi) await ensureWasiFilesystem(fs0.name);
|
||||
else if (fs0.name && !fsMeta[fs0.name]) loadFilesystem(fs0.name);
|
||||
return;
|
||||
}
|
||||
if (data.readshared) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../node_modules/jszip/dist/jszip.min.js", "../../src/common/util.ts", "../../src/common/toolmeta.ts", "../../src/worker/platforms.ts", "../../src/common/basic/compiler.ts", "../../src/worker/wasiutils.ts", "../../src/common/wasi/wasishim.ts", "../../src/worker/wasmutils.ts", "../../src/worker/listingutils.ts", "../../src/worker/tools/misc.ts", "../../src/worker/tools/cc65dbg.ts", "../../src/worker/tools/cc65.ts", "../../src/worker/tools/dasm.ts", "../../src/worker/tools/mcpp.ts", "../../src/worker/tools/sdcc.ts", "../../src/worker/assembler.ts", "../../src/common/hdl/hdltypes.ts", "../../src/common/hdl/vxmlparser.ts", "../../src/worker/tools/verilog.ts", "../../src/worker/tools/m6809.ts", "../../src/worker/tools/m6502.ts", "../../src/worker/tools/z80.ts", "../../src/worker/tools/x86.ts", "../../src/common/binutils.ts", "../../src/worker/tools/arm.ts", "../../src/common/tokenizer.ts", "../../src/common/ecs/binpack.ts", "../../src/common/ecs/ecs.ts", "../../src/common/ecs/decoder.ts", "../../src/common/ecs/compiler.ts", "../../src/worker/tools/ecs.ts", "../../src/common/workertypes.ts", "../../src/worker/tools/remote.ts", "../../src/worker/tools/acme.ts", "../../src/worker/tools/cc6502.ts", "../../src/worker/tools/cc7800.ts", "../../src/worker/tools/cc2600.ts", "../../src/worker/tools/bataribasic.ts", "../../src/worker/tools/oscar64parse.ts", "../../src/worker/tools/oscar64.ts", "../../src/worker/tools/xa.ts", "../../src/worker/tools/dialog.ts", "../../src/worker/workertools.ts", "../../src/worker/builder.ts", "../../src/worker/workermain.ts"],
|
||||
"sourcesContent": ["/*!\n\nJSZip v3.10.2 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoActioLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["exports", "e", "t", "r", "c", "n", "i", "s", "a", "o", "h", "u", "l", "f", "d", "p", "m", "attrs", "s", "JSZip", "debug", "s", "s", "fn", "hex", "CompileError", "s", "code", "s", "re_error", "s", "m", "lst", "wasiModule", "DwarfTag", "DwarfAttribute", "line", "m", "CompileError", "mergeLocs", "CompileError", "debug", "debug", "isLiteral", "isBinOp", "isUnOp", "e", "isLiteral", "OPERATORS", "getOperator", "getPrecedence", "mergeLocs", "tok", "isLiteral", "getPrecedence", "getOperator", "valtype", "CompileError", "wasiModule", "wasiFilesystems", "hex", "wasiModule", "wasiModule", "wasiModule", "re_error", "exports", "ENVIRONMENT_IS_WORKER", "e"]
|
||||
"sourcesContent": ["/*!\n\nJSZip v3.10.2 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoActioLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["exports", "e", "t", "r", "c", "n", "i", "s", "a", "o", "h", "u", "l", "f", "d", "p", "m", "attrs", "s", "JSZip", "debug", "s", "s", "fn", "hex", "CompileError", "s", "code", "s", "re_error", "s", "m", "lst", "wasiModule", "DwarfTag", "DwarfAttribute", "line", "m", "CompileError", "mergeLocs", "CompileError", "debug", "debug", "isLiteral", "isBinOp", "isUnOp", "e", "isLiteral", "OPERATORS", "getOperator", "getPrecedence", "mergeLocs", "tok", "isLiteral", "getPrecedence", "getOperator", "valtype", "CompileError", "wasiModule", "wasiModules", "wasiFilesystems", "hex", "wasiModule", "wasiModule", "wasiModule", "re_error", "exports", "ENVIRONMENT_IS_WORKER", "e"]
|
||||
}
|
||||
+93
-84
@@ -4,11 +4,60 @@ exports.assembleCA65 = assembleCA65;
|
||||
exports.linkLD65 = linkLD65;
|
||||
exports.compileCC65 = compileCC65;
|
||||
const toolmeta_1 = require("../../common/toolmeta");
|
||||
const util_1 = require("../../common/util");
|
||||
const wasishim_1 = require("../../common/wasi/wasishim");
|
||||
const builder_1 = require("../builder");
|
||||
const listingutils_1 = require("../listingutils");
|
||||
const cc65dbg_1 = require("./cc65dbg");
|
||||
const wasmutils_1 = require("../wasmutils");
|
||||
const wasiutils_1 = require("../wasiutils");
|
||||
// the WASI builds look for their data under share/cc65 in the per-platform
|
||||
// cc65-fs-<platform>.zip, preopened at '.'
|
||||
const CC65_SHARE = 'share/cc65';
|
||||
const wasiModules = {};
|
||||
/**
|
||||
* Run cc65, ca65 or ld65 on a fresh WASI runner layered over the platform's
|
||||
* cc65 filesystem. `populate` copies the step's inputs into the runner first.
|
||||
* Returns the runner (for reading outputs) and its stderr lines.
|
||||
*/
|
||||
async function runCC65Tool(step, tool, args, populate) {
|
||||
const fsname = (0, toolmeta_1.getSharedFileSystemName)('cc65', step.platform);
|
||||
if (!fsname || !fsname.startsWith('wasi:'))
|
||||
throw new Error("No cc65 filesystem for platform " + step.platform);
|
||||
const sharefs = await (0, wasmutils_1.ensureWasiFilesystem)(fsname.substring(5));
|
||||
if (!sharefs)
|
||||
throw new Error("Could not load cc65 filesystem " + fsname);
|
||||
if (!wasiModules[tool]) {
|
||||
wasiModules[tool] = new WebAssembly.Module((0, wasmutils_1.loadWASMBinary)(tool));
|
||||
}
|
||||
const wasi = new wasishim_1.WASIRunner();
|
||||
wasi.initSync(wasiModules[tool]);
|
||||
wasi.fs.setParent(sharefs);
|
||||
populate((0, wasiutils_1.wasiFSAdapter)(wasi));
|
||||
wasi.addPreopenDirectory(".");
|
||||
wasi.setArgs([tool, ...args]);
|
||||
const errno = wasi.run();
|
||||
console.log('exec', tool, args.join(' '));
|
||||
const stdout = wasi.fds[1].getBytesAsString();
|
||||
if (stdout)
|
||||
console.log(stdout);
|
||||
const stderr = wasi.fds[2].getBytesAsString().split(listingutils_1.re_crlf).filter(s => s != '');
|
||||
return { wasi, errno, stderr };
|
||||
}
|
||||
/** Report a failed tool run that printed no parseable error message. */
|
||||
function checkExitCode(tool, errno, stderr, errors) {
|
||||
if (errno && !errors.length) {
|
||||
errors.push({ line: 0, msg: tool + " exited with code " + errno + (stderr.length ? ": " + stderr.join('\n') : '') });
|
||||
}
|
||||
}
|
||||
function readWASIOutput(wasi, path) {
|
||||
const fd = wasi.fs.getFile(path);
|
||||
if (!fd)
|
||||
throw new Error("Missing output file " + path);
|
||||
return fd.getBytes().slice();
|
||||
}
|
||||
function readWASIOutputString(wasi, path) {
|
||||
return new TextDecoder().decode(readWASIOutput(wasi, path));
|
||||
}
|
||||
/*
|
||||
000000r 1 .segment "CODE"
|
||||
000000r 1 .proc _rasterWait: near
|
||||
@@ -112,8 +161,7 @@ function parseCA65Listing(asmfn, code, symbols, segments, params, dbg, listings)
|
||||
}
|
||||
return origlines;
|
||||
}
|
||||
function assembleCA65(step) {
|
||||
(0, wasmutils_1.loadNative)("ca65");
|
||||
async function assembleCA65(step) {
|
||||
var errors = [];
|
||||
(0, builder_1.gatherFiles)(step, { mainFilePath: "main.s" });
|
||||
var objpath = step.prefix + ".o";
|
||||
@@ -125,18 +173,7 @@ function assembleCA65(step) {
|
||||
}
|
||||
(0, builder_1.fixParamsWithDefines)(step.path, step.params);
|
||||
if ((0, builder_1.staleFiles)(step, [objpath, lstpath])) {
|
||||
var objout, lstout;
|
||||
var CA65 = wasmutils_1.emglobal.ca65({
|
||||
instantiateWasm: (0, wasmutils_1.moduleInstFn)('ca65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: wasmutils_1.print_fn,
|
||||
printErr: (0, listingutils_1.makeErrorMatcher)(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1),
|
||||
});
|
||||
var FS = CA65.FS;
|
||||
(0, wasmutils_1.setupFS)(FS, '65-' + (0, util_1.getRootBasePlatform)(step.platform));
|
||||
(0, builder_1.populateFiles)(step, FS);
|
||||
var args = ['-v', '-g', '-I', '/share/asminc', '-o', objpath, '-l', lstpath, step.path];
|
||||
var args = ['-v', '-g', '-I', CC65_SHARE + '/asminc', '-o', objpath, '-l', lstpath, step.path];
|
||||
args.unshift.apply(args, ["-D", "__8BITWORKSHOP__=1"]);
|
||||
if (step.mainfile) {
|
||||
args.unshift.apply(args, ["-D", "__MAIN__=1"]);
|
||||
@@ -148,17 +185,17 @@ function assembleCA65(step) {
|
||||
.concat((0, toolmeta_1.defineArgs)('ca65', step.params.symbols && step.params.symbols.assembler))
|
||||
.concat((0, toolmeta_1.extraArgsFor)('ca65', step.params.buildArgs));
|
||||
args.splice(args.length - 1, 0, ...extra);
|
||||
(0, wasmutils_1.execMain)(step, CA65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'ca65', args, (fs) => (0, builder_1.populateFiles)(step, fs));
|
||||
stderr.forEach((0, listingutils_1.makeErrorMatcher)(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode('ca65', errno, stderr, errors);
|
||||
if (errors.length) {
|
||||
let listings = {};
|
||||
// TODO? change extension to .lst
|
||||
//listings[step.path] = { lines:[], text:getWorkFileAsString(step.path) };
|
||||
return { errors, listings };
|
||||
}
|
||||
objout = FS.readFile(objpath, { encoding: 'binary' });
|
||||
lstout = FS.readFile(lstpath, { encoding: 'utf8' });
|
||||
(0, builder_1.putWorkFile)(objpath, objout);
|
||||
(0, builder_1.putWorkFile)(lstpath, lstout);
|
||||
(0, builder_1.putWorkFile)(objpath, readWASIOutput(wasi, objpath));
|
||||
(0, builder_1.putWorkFile)(lstpath, readWASIOutputString(wasi, lstpath));
|
||||
}
|
||||
return {
|
||||
linktool: "ld65",
|
||||
@@ -166,33 +203,17 @@ function assembleCA65(step) {
|
||||
args: [objpath]
|
||||
};
|
||||
}
|
||||
function linkLD65(step) {
|
||||
async function linkLD65(step) {
|
||||
var _a, _b, _c;
|
||||
(0, wasmutils_1.loadNative)("ld65");
|
||||
var params = step.params;
|
||||
(0, builder_1.gatherFiles)(step);
|
||||
var binpath = "main";
|
||||
if ((0, builder_1.staleFiles)(step, [binpath])) {
|
||||
var errors = [];
|
||||
var LD65 = wasmutils_1.emglobal.ld65({
|
||||
instantiateWasm: (0, wasmutils_1.moduleInstFn)('ld65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: wasmutils_1.print_fn,
|
||||
printErr: function (s) { errors.push({ msg: s, line: 0 }); }
|
||||
});
|
||||
var FS = LD65.FS;
|
||||
(0, wasmutils_1.setupFS)(FS, '65-' + (0, util_1.getRootBasePlatform)(step.platform));
|
||||
(0, builder_1.populateFiles)(step, FS);
|
||||
(0, builder_1.populateExtraFiles)(step, FS, params.extra_link_files);
|
||||
// populate .cfg file, if it is a custom one
|
||||
if (builder_1.store.hasFile(params.cfgfile)) {
|
||||
(0, builder_1.populateEntry)(FS, params.cfgfile, builder_1.store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
var libargs = params.libargs || [];
|
||||
var cfgfile = params.cfgfile;
|
||||
var args = ['--cfg-path', '/share/cfg',
|
||||
'--lib-path', '/share/lib',
|
||||
var args = ['--cfg-path', CC65_SHARE + '/cfg',
|
||||
'--lib-path', CC65_SHARE + '/lib',
|
||||
'-C', cfgfile,
|
||||
'-Ln', 'main.vice',
|
||||
'--dbgfile', 'main.dbg',
|
||||
@@ -201,12 +222,23 @@ function linkLD65(step) {
|
||||
// //#symbol ld (symbols not already merged into libargs) and //#flag ld
|
||||
args.push.apply(args, (0, toolmeta_1.linkSymbolArgs)('ld65', params.symbols && params.symbols.linker));
|
||||
args.push.apply(args, (0, toolmeta_1.extraArgsFor)('ld65', params.buildArgs));
|
||||
(0, wasmutils_1.execMain)(step, LD65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'ld65', args, (fs) => {
|
||||
(0, builder_1.populateFiles)(step, fs);
|
||||
(0, builder_1.populateExtraFiles)(step, fs, params.extra_link_files);
|
||||
// populate .cfg file, if it is a custom one
|
||||
if (builder_1.store.hasFile(params.cfgfile)) {
|
||||
(0, builder_1.populateEntry)(fs, params.cfgfile, builder_1.store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
});
|
||||
// any ld65 message (even a warning) fails the build
|
||||
for (let s of stderr)
|
||||
errors.push({ msg: s, line: 0 });
|
||||
checkExitCode('ld65', errno, stderr, errors);
|
||||
if (errors.length)
|
||||
return { errors: errors };
|
||||
var aout = FS.readFile("main", { encoding: 'binary' });
|
||||
var mapout = FS.readFile("main.map", { encoding: 'utf8' });
|
||||
var viceout = FS.readFile("main.vice", { encoding: 'utf8' });
|
||||
var aout = readWASIOutput(wasi, "main");
|
||||
var mapout = readWASIOutputString(wasi, "main.map");
|
||||
var viceout = readWASIOutputString(wasi, "main.vice");
|
||||
// correct binary for PCEngine
|
||||
if (step.platform == 'pce' && aout.length > 0x2000) {
|
||||
// move 8 KB from end to front
|
||||
@@ -236,7 +268,7 @@ function linkLD65(step) {
|
||||
// symbol sizes from the linker debug file
|
||||
var symbolsizes = {};
|
||||
try {
|
||||
let dbgsyms = (0, cc65dbg_1.parseCC65DbgSizes)(FS.readFile("main.dbg", { encoding: 'utf8' }), params.ignore_segments);
|
||||
let dbgsyms = (0, cc65dbg_1.parseCC65DbgSizes)(readWASIOutputString(wasi, "main.dbg"), params.ignore_segments);
|
||||
symbolsizes = dbgsyms.sizes;
|
||||
// labels outside CPU address space (e.g. NES CHR) would alias real addresses
|
||||
for (let name of dbgsyms.ignored)
|
||||
@@ -274,7 +306,7 @@ function linkLD65(step) {
|
||||
var listings = {};
|
||||
for (var fn of step.files) {
|
||||
if (fn.endsWith('.lst')) {
|
||||
var lstout = FS.readFile(fn, { encoding: 'utf8' });
|
||||
var lstout = readWASIOutputString(wasi, fn);
|
||||
lstout = lstout.split('\n\n')[1] || lstout; // remove header
|
||||
(0, builder_1.putWorkFile)(fn, lstout);
|
||||
//const asmpath = fn.replace(/\.lst$/, '.ca65'); // TODO! could be .s
|
||||
@@ -308,51 +340,17 @@ function linkLD65(step) {
|
||||
};
|
||||
}
|
||||
}
|
||||
function compileCC65(step) {
|
||||
(0, wasmutils_1.loadNative)("cc65");
|
||||
async function compileCC65(step) {
|
||||
var params = step.params;
|
||||
// stderr
|
||||
var re_err1 = /(.*?):(\d+): (.+)/;
|
||||
var errors = [];
|
||||
var errline = 0;
|
||||
function match_fn(s) {
|
||||
console.log(s);
|
||||
var matches = re_err1.exec(s);
|
||||
if (matches) {
|
||||
errline = parseInt(matches[2]);
|
||||
errors.push({
|
||||
line: errline,
|
||||
msg: matches[3],
|
||||
path: matches[1]
|
||||
});
|
||||
}
|
||||
}
|
||||
(0, builder_1.gatherFiles)(step, { mainFilePath: "main.c" });
|
||||
var destpath = step.prefix + '.s';
|
||||
// the link step reads these params, so they have to be settled even when
|
||||
// the assembly file is up to date and nothing below runs
|
||||
(0, builder_1.fixParamsWithDefines)(step.path, params);
|
||||
if ((0, builder_1.staleFiles)(step, [destpath])) {
|
||||
var CC65 = wasmutils_1.emglobal.cc65({
|
||||
instantiateWasm: (0, wasmutils_1.moduleInstFn)('cc65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: wasmutils_1.print_fn,
|
||||
printErr: match_fn,
|
||||
});
|
||||
var FS = CC65.FS;
|
||||
(0, wasmutils_1.setupFS)(FS, '65-' + (0, util_1.getRootBasePlatform)(step.platform));
|
||||
(0, builder_1.populateFiles)(step, FS, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === 'string') {
|
||||
code = (0, builder_1.processEmbedDirective)(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
});
|
||||
var args = [
|
||||
'-I', '/share/include',
|
||||
'-I', CC65_SHARE + '/include',
|
||||
'-I', '.',
|
||||
"-D", "__8BITWORKSHOP__",
|
||||
];
|
||||
@@ -368,9 +366,20 @@ function compileCC65(step) {
|
||||
var customArgs = params.extra_compiler_args || ['-T', '-g', '-Oirs', '-Cl', '-W', '-pointer-sign,-no-effect'];
|
||||
args = args.concat(customArgs, args);
|
||||
args.push(step.path);
|
||||
const runerr = (0, wasmutils_1.execToFile)(step, CC65, args, FS, destpath, errors);
|
||||
if (runerr)
|
||||
return runerr;
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'cc65', args, (fs) => (0, builder_1.populateFiles)(step, fs, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === 'string') {
|
||||
code = (0, builder_1.processEmbedDirective)(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
}));
|
||||
stderr.forEach((0, listingutils_1.makeErrorMatcher)(errors, /(.*?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode('cc65', errno, stderr, errors);
|
||||
if (errors.length)
|
||||
return { errors };
|
||||
(0, builder_1.putWorkFile)(destpath, readWASIOutputString(wasi, destpath));
|
||||
}
|
||||
return {
|
||||
nexttool: "ca65",
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"cc65.js","sourceRoot":"","sources":["../../../src/worker/tools/cc65.ts"],"names":[],"mappings":"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 truncated
|
||||
{"version":3,"file":"cc65.js","sourceRoot":"","sources":["../../../src/worker/tools/cc65.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -8,6 +8,7 @@ exports.unzipWASIFilesystem = unzipWASIFilesystem;
|
||||
exports.loadWASIFilesystemZip = loadWASIFilesystemZip;
|
||||
exports.populateWASIFiles = populateWASIFiles;
|
||||
exports.runWASI = runWASI;
|
||||
exports.wasiFSAdapter = wasiFSAdapter;
|
||||
const jszip_1 = __importDefault(require("jszip"));
|
||||
const wasishim_1 = require("../common/wasi/wasishim");
|
||||
const builder_1 = require("./builder");
|
||||
@@ -67,4 +68,15 @@ function runWASI(wasi, errors) {
|
||||
errors.push({ line: 0, msg: "" + e });
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Wrap a WASI runner's filesystem in the Emscripten FS calls the builder's
|
||||
* populateFiles/populateExtraFiles/populateEntry use, so tools can share them.
|
||||
*/
|
||||
function wasiFSAdapter(wasi) {
|
||||
return {
|
||||
mkdir: (path) => wasi.fs.putDirectory(path),
|
||||
writeFile: (path, data) => wasi.fs.putFile(path, data),
|
||||
utime: () => { },
|
||||
};
|
||||
}
|
||||
//# sourceMappingURL=wasiutils.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"wasiutils.js","sourceRoot":"","sources":["../../src/worker/wasiutils.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"wasiutils.js","sourceRoot":"","sources":["../../src/worker/wasiutils.ts"],"names":[],"mappings":"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"}
|
||||
@@ -180,16 +180,6 @@ function loadNative(modulename) {
|
||||
// mount the filesystem at /share
|
||||
function setupFS(FS, name) {
|
||||
var WORKERFS = FS.filesystems['WORKERFS'];
|
||||
if (name === '65-vector')
|
||||
name = '65-none'; // TODO
|
||||
if (name === '65-atari7800')
|
||||
name = '65-none'; // TODO
|
||||
if (name === '65-devel')
|
||||
name = '65-none'; // TODO
|
||||
if (name === '65-vcs')
|
||||
name = '65-atari2600'; // TODO
|
||||
if (name === '65-exidy')
|
||||
name = '65-none'; // TODO
|
||||
if (!exports.fsMeta[name])
|
||||
throw Error("No filesystem for '" + name + "'");
|
||||
FS.mkdir('/share');
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"wasmutils.js","sourceRoot":"","sources":["../../src/worker/wasmutils.ts"],"names":[],"mappings":";AACA,2BAA2B;AAC3B,oCAAoC;;;AA+CpC,sCAQC;AACD,sCAEC;AAeD,oCAOC;AAED,4BAMC;AAMD,gCAQC;AAGD,4CAKC;AASD,wCAYC;AAGD,oBAKC;AACD,wCAeC;AACD,4BAKC;AACD,gCAOC;AAGD,0BA+BC;AAgBD,4CAEC;AAGD,gDAQC;AAGD,0CASC;AAUD,oDAUC;AASD,gDAUC;AAGD,kDAQC;AAID,wCAiBC;AAED,gCAKC;AAhUD,uCAAkG;AAUlG,MAAM,mBAAmB,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI;IACxE,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI;IAChE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC5C,MAAM,qBAAqB,GAAG,OAAO,aAAa,KAAK,UAAU,CAAC;AAClE,MAAM,kBAAkB,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;AACtD,wEAAwE;AACxE,6EAA6E;AAC7E,0DAA0D;AAC7C,QAAA,QAAQ,GAAQ,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAEhI,gCAAgC;AAChC,wCAAwC;AACxC,IAAI,CAAC,gBAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IACzB,gBAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAe,EAAE,EAAE;QACxC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,YAAY,GAAG,gBAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,gBAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,gBAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,oCAAoC;QACnE,CAAC;QACD,OAAO,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;IACnC,CAAC,CAAA;AACH,CAAC;AAED,2CAA2C;AAC3C,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,IAAI,kBAAkB,GAAG,IAAI,CAAC,CAAC,4BAA4B;AAE3D,iCAAiC;AACjC,IAAI,UAAU,CAAC;AACf,SAAgB,aAAa;IAC3B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,UAAU,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE,IAAI,EAAG,OAAO;YACzB,SAAS,EAAE,KAAK,EAAE,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,SAAgB,aAAa,CAAC,SAAiB;IAC7C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AACD,SAAS,aAAa,CAAC,SAAiB;IACtC,IAAI,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAA,mBAAS,GAAE,CAAC;QACZ,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACrD,IAAI,kBAAkB,EAAE,CAAC;YACvB,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;YACvC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,IAAA,iBAAO,EAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,wCAAwC;AACxC,SAAgB,YAAY,CAAC,SAAiB;IAC5C,OAAO,UAAU,OAAO,EAAE,EAAE;QAC1B,IAAI,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClD,EAAE,CAAC,IAAI,CAAC,CAAC;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAe,EAAE,GAAG,EAAE,IAAc;IAC3D,IAAA,mBAAS,GAAE,CAAC;IACZ,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,aAAa;IAChD,GAAG,CAAC,IAAI,CAAC,CAAC;IACV,IAAA,iBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CAAC,IAAe,EAAE,GAAG,EAAE,IAAc,EAAE,EAAE,EAAE,QAAgB,EAAE,MAAM,EACzF,SAAiC;IACnC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1B,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,IAAI,SAAS;QAAE,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,IAAA,qBAAW,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,SAAgB,gBAAgB,CAAC,IAAe,EAAE,EAAE,EAAE,OAAe;IACnE,IAAI,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAe,CAAC;IACxE,IAAA,qBAAW,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAA,0BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sCAAsC;AAE3B,QAAA,MAAM,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAI,QAAQ,GAAG,EAAE,CAAC;AAElB,sDAAsD;AACtD,SAAgB,cAAc,CAAC,IAAY;IACzC,IAAI,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IAC/B,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAO,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,sBAAsB;IACnF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC5B,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IAC3B,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAO,GAAG,OAAO,GAAG,IAAI,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC,CAAE,sBAAsB;IAC1F,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,cAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,GAAG,aAAa,EAAE,cAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChH,CAAC;AAED,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,SAAgB,IAAI,CAAC,UAAkB,EAAE,KAAe;IACtD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,aAAa,CAAC,iBAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AACD,SAAgB,cAAc,CAAC,UAAkB;IAC/C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EALine truncated
|
||||
{"version":3,"file":"wasmutils.js","sourceRoot":"","sources":["../../src/worker/wasmutils.ts"],"names":[],"mappings":"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 truncated
|
||||
@@ -34,9 +34,11 @@ function setupRequireFunction() {
|
||||
async function handleMessage(data) {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fs = (0, toolmeta_1.getPreloadFSName)(data.preload, data.platform);
|
||||
if (fs && !wasmutils_1.fsMeta[fs])
|
||||
(0, wasmutils_1.loadFilesystem)(fs);
|
||||
var fs0 = splitWasiFSName((0, toolmeta_1.getSharedFileSystemName)(data.preload, data.platform) || "");
|
||||
if (fs0.wasi)
|
||||
await (0, wasmutils_1.ensureWasiFilesystem)(fs0.name);
|
||||
else if (fs0.name && !wasmutils_1.fsMeta[fs0.name])
|
||||
(0, wasmutils_1.loadFilesystem)(fs0.name);
|
||||
return;
|
||||
}
|
||||
// read a file from a filesystem package (shared code)
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../src/worker/workermain.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"workermain.js","sourceRoot":"","sources":["../../src/worker/workermain.ts"],"names":[],"mappings":"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"}
|
||||
@@ -93,6 +93,7 @@
|
||||
"test-cli": "NODE_PATH=$(pwd) mocha --timeout 60000 test/cli/testcli.js",
|
||||
"test-services": "NODE_PATH=$(pwd) mocha --timeout 60000 test/services",
|
||||
"test-verilog": "NODE_PATH=$(pwd) mocha --timeout 60000 --reporter mocha-simple-html-reporter --reporter-options output=test/output/verilog.html test/verilog/testverilog.js",
|
||||
"test-extension": "cd extension && npm run assets-quick && npm run test",
|
||||
"test-web-quick": "nightwatch -e chrome test/web/testembed.js",
|
||||
"test-web-all": "nightwatch -e chrome test/web",
|
||||
"fuzzbasic": "jsfuzz gen/common/basic/fuzz.js ~/basic/corpus/ --versifier false",
|
||||
|
||||
@@ -32,7 +32,7 @@ export interface SymbolRecord {
|
||||
/** On-disk shape of a prebuilt index (gen/symidx/<name>.json). */
|
||||
export interface PrebuiltIndex {
|
||||
version: number; // bump when the extractor changes; runtime rejects mismatches
|
||||
corpus: string; // fs name, e.g. 'fs65-c64', or 'docs'
|
||||
corpus: string; // fs name, e.g. 'sdcc', 'wasi:cc65-fs-c64.zip', or 'docs'
|
||||
generated: string; // ISO date
|
||||
records: SymbolRecord[];
|
||||
ms?: object; // MiniSearch.toJSON() output, loaded via loadJSAsync
|
||||
|
||||
+26
-22
@@ -50,6 +50,8 @@ export interface BuildArgs {
|
||||
export interface PlatformToolConfig {
|
||||
/** preload filesystem name for this platform (was TOOL_PRELOADFS compound keys) */
|
||||
preloadFS?: string;
|
||||
/** WASI filesystem zip (in src/worker/fs/) for this platform, e.g. 'cc65-fs-nes.zip' */
|
||||
wasiFSZip?: string;
|
||||
/** skeleton filename override (defaults to tool id) */
|
||||
skeleton?: string;
|
||||
/** library args for this platform (was PLATFORM_PARAMS.libargs) */
|
||||
@@ -266,18 +268,18 @@ const TOOL_PLATFORM_HELPURL: { [tool: string]: { [platform: string]: string } }
|
||||
},
|
||||
};
|
||||
|
||||
const CC65_PRELOADFS: { [platform: string]: PlatformToolConfig } = {
|
||||
'apple2': { preloadFS: '65-apple2' },
|
||||
'c64': { preloadFS: '65-c64' },
|
||||
'vic20': { preloadFS: '65-vic20' },
|
||||
'nes': { preloadFS: '65-nes' },
|
||||
'atari8': { preloadFS: '65-atari8' },
|
||||
'vector': { preloadFS: '65-none' },
|
||||
'atari7800': { preloadFS: '65-none' },
|
||||
'devel': { preloadFS: '65-none' },
|
||||
'vcs': { preloadFS: '65-atari2600' },
|
||||
'pce': { preloadFS: '65-pce' },
|
||||
'exidy': { preloadFS: '65-none' },
|
||||
const CC65_WASIFS: { [platform: string]: PlatformToolConfig } = {
|
||||
'apple2': { wasiFSZip: 'cc65-fs-apple2.zip' },
|
||||
'c64': { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
'vic20': { wasiFSZip: 'cc65-fs-vic20.zip' },
|
||||
'nes': { wasiFSZip: 'cc65-fs-nes.zip' },
|
||||
'atari8': { wasiFSZip: 'cc65-fs-atari8.zip' },
|
||||
'vector': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'atari7800': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'devel': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
'vcs': { wasiFSZip: 'cc65-fs-atari2600.zip' },
|
||||
'pce': { wasiFSZip: 'cc65-fs-pce.zip' },
|
||||
'exidy': { wasiFSZip: 'cc65-fs-none.zip' },
|
||||
};
|
||||
|
||||
//// tool registry
|
||||
@@ -346,13 +348,13 @@ export const TOOL_META: { [id: string]: ToolMeta } = {
|
||||
cc65: {
|
||||
id: 'cc65', name: 'cc65', kind: 'compiler', arch: '6502',
|
||||
extensions: ['.c', '.h'],
|
||||
includeDirs: ['/include', '/asminc'],
|
||||
includeDirs: ['/share/cc65/include', '/share/cc65/asminc'],
|
||||
editorStyle: 'text/x-csrc',
|
||||
helpURL: 'https://cc65.github.io/doc/cc65.html',
|
||||
wasmModule: 'cc65',
|
||||
version: '2.19',
|
||||
defineFlag: '-D', defineInline: true,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -360,13 +362,13 @@ export const TOOL_META: { [id: string]: ToolMeta } = {
|
||||
ca65: {
|
||||
id: 'ca65', name: 'ca65', kind: 'assembler', arch: '6502',
|
||||
extensions: ['.s', '.ca65', '.inc'],
|
||||
includeDirs: ['/include', '/asminc'],
|
||||
includeDirs: ['/share/cc65/include', '/share/cc65/asminc'],
|
||||
editorStyle: '6502',
|
||||
helpURL: 'https://cc65.github.io/doc/ca65.html',
|
||||
wasmModule: 'ca65',
|
||||
version: '2.19',
|
||||
defineFlag: '-D', defineInline: false,
|
||||
platforms: CC65_PRELOADFS,
|
||||
platforms: CC65_WASIFS,
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -614,7 +616,7 @@ export const TOOL_META: { [id: string]: ToolMeta } = {
|
||||
helpURL: 'https://github.com/dmsc/fastbasic/blob/v4.4/manual.md',
|
||||
wasmModule: 'fastbasic-int',
|
||||
version: '4.4',
|
||||
platforms: { default: { preloadFS: '65-atari8' } },
|
||||
platforms: { default: { wasiFSZip: 'cc65-fs-atari8.zip' } },
|
||||
includePatterns: SHARED_INCLUDE_PATTERNS,
|
||||
linkPatterns: SHARED_LINK_PATTERNS,
|
||||
},
|
||||
@@ -670,9 +672,9 @@ export const TOOL_META: { [id: string]: ToolMeta } = {
|
||||
extensions: ['.ecs'],
|
||||
editorStyle: 'ecs',
|
||||
platforms: {
|
||||
vcs: { preloadFS: '65-atari2600' },
|
||||
nes: { preloadFS: '65-nes' },
|
||||
c64: { preloadFS: '65-c64' },
|
||||
vcs: { wasiFSZip: 'cc65-fs-atari2600.zip' },
|
||||
nes: { wasiFSZip: 'cc65-fs-nes.zip' },
|
||||
c64: { wasiFSZip: 'cc65-fs-c64.zip' },
|
||||
},
|
||||
includePatterns: [...SHARED_INCLUDE_PATTERNS, ...ECS_INCLUDE_PATTERNS],
|
||||
},
|
||||
@@ -844,7 +846,7 @@ export function getPreloadFSName(tool: string, platform?: string): string | unde
|
||||
if (platform) {
|
||||
// Try the exact id, then the root base id so suffixed platform ids
|
||||
// (e.g. 'atari8-800', 'atari8-5200.xlmame') resolve to the shared
|
||||
// filesystem registered under the root ('atari8' -> '65-atari8').
|
||||
// filesystem registered under the root (e.g. 'atari8-800' -> 'atari8').
|
||||
let p = meta.platforms[platform];
|
||||
if (p && p.preloadFS) return p.preloadFS;
|
||||
let base = getRootBasePlatform(platform);
|
||||
@@ -957,13 +959,15 @@ export function getIncludeDirs(tool: string, platform_id: string): string[] {
|
||||
|
||||
/**
|
||||
* Name of the shared filesystem to query for this tool's bundled files:
|
||||
* either the emscripten preloadFS package name (e.g. '65-nes') or, for tools
|
||||
* either the emscripten preloadFS package name (e.g. 'sdcc') or, for tools
|
||||
* with a WASI filesystem zip (e.g. cc2600), 'wasi:<zipname>'.
|
||||
* Undefined if the tool has no bundled filesystem.
|
||||
*/
|
||||
export function getSharedFileSystemName(tool: string, platform?: string): string | undefined {
|
||||
var fsName = getPreloadFSName(tool, platform);
|
||||
if (fsName) return fsName;
|
||||
let config = getPlatformToolConfig(tool, platform);
|
||||
if (config && config.wasiFSZip) return 'wasi:' + config.wasiFSZip;
|
||||
let meta = tool && getToolMeta(tool);
|
||||
return (meta && meta.wasiFSZip) ? 'wasi:' + meta.wasiFSZip : undefined;
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ export interface WorkerItemUpdate {
|
||||
// TODO: split into different msg types
|
||||
export interface WorkerMessage {
|
||||
preload?:string
|
||||
/** preload a filesystem package directly by name (e.g. '65-nes') */
|
||||
/** preload a filesystem package directly by name (e.g. 'sdcc', 'wasi:cc65-fs-nes.zip') */
|
||||
preload_fs?:string
|
||||
/** read a file from the preloaded filesystem package (path e.g. '/include/nes.h')
|
||||
* requires preload_fs; result comes back as {output:Uint8Array} */
|
||||
|
||||
+1
-1
@@ -2327,7 +2327,7 @@ async function startPlatform() {
|
||||
// try to load last file (redirect)
|
||||
var lastid = userPrefs.getLastPreset();
|
||||
// load first preset file, unless we're in a repo
|
||||
var defaultfile = lastid || (repo_id ? null : PRESETS[0].id);
|
||||
var defaultfile = lastid || (repo_id ? null : (PRESETS[0] && PRESETS[0].id));
|
||||
qs.file = defaultfile || 'DEFAULT';
|
||||
if (!defaultfile) {
|
||||
alertError("There is no default main file for this project. Try selecting one from the pulldown.");
|
||||
|
||||
@@ -27,6 +27,7 @@ class GalaxianPlatform extends BaseZ80MachinePlatform<GalaxianMachine> implement
|
||||
class GalaxianScramblePlatform extends GalaxianPlatform implements Platform {
|
||||
|
||||
newMachine() { return new GalaxianScrambleMachine(); }
|
||||
getPresets() { return GALAXIAN_PRESETS; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large.
Load diff
@@ -1,236 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// When running as a pthread, FS operations are proxied to the main thread, so we don't need to
|
||||
// fetch the .data bundle on the worker
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-apple2.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-apple2.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
var PACKAGE_UUID = metadata['package_uuid'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
Module['FS_createPath']("/", "target", true, true);
|
||||
Module['FS_createPath']("/target", "apple2", true, true);
|
||||
Module['FS_createPath']("/target/apple2", "drv", true, true);
|
||||
Module['FS_createPath']("/target/apple2/drv", "ser", true, true);
|
||||
Module['FS_createPath']("/target/apple2/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target/apple2/drv", "tgi", true, true);
|
||||
Module['FS_createPath']("/target/apple2/drv", "emd", true, true);
|
||||
Module['FS_createPath']("/target/apple2/drv", "mou", true, true);
|
||||
Module['FS_createPath']("/target/apple2", "util", true, true);
|
||||
Module['FS_createPath']("/target", "apple2enh", true, true);
|
||||
Module['FS_createPath']("/target/apple2enh", "drv", true, true);
|
||||
Module['FS_createPath']("/target/apple2enh/drv", "ser", true, true);
|
||||
Module['FS_createPath']("/target/apple2enh/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target/apple2enh/drv", "tgi", true, true);
|
||||
Module['FS_createPath']("/target/apple2enh/drv", "emd", true, true);
|
||||
Module['FS_createPath']("/target/apple2enh/drv", "mou", true, true);
|
||||
Module['FS_createPath']("/target/apple2enh", "util", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
}
|
||||
Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-apple2.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-apple2.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-apple2.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-apple2.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-apple2.js.metadata', '') : 'fs65-apple2.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/include/lz4.h","start":0,"end":2641},{"filename":"/include/c64.h","start":2641,"end":9642},{"filename":"/include/_pbi.h","start":9642,"end":12785},{"filename":"/include/apple2_filetype.h","start":12785,"end":29883},{"filename":"/include/nes.h","start":29883,"end":36683},{"filename":"/include/assert.h","start":36683,"end":39683},{"filename":"/include/_6545.h","start":39683,"end":42515},{"filename":"/include/_6522.h","start":42515,"end":46296},{"filename":"/include/modload.h","start":46296,"end":51278},{"filename":"/include/unistd.h","start":51278,"end":55587},{"filename":"/include/c128.h","start":55587,"end":62105},{"filename":"/include/cx16.h","start":62105,"end":76818},{"filename":"/include/_mikey.h","start":76818,"end":82171},{"filename":"/include/c16.h","start":82171,"end":85136},{"filename":"/include/_6525.h","start":85136,"end":88546},{"filename":"/include/stdio.h","start":88546,"end":94466},{"filename":"/include/lynx.h","start":94466,"end":103027},{"filename":"/include/6502.h","start":103027,"end":108497},{"filename":"/include/string.h","start":108497,"end":113601},{"filename":"/include/atari5200.h","start":113601,"end":117655},{"filename":"/include/_vic.h","start":117655,"end":121371},{"filename":"/include/cbm_filetype.h","start":121371,"end":126320},{"filename":"/include/dirent.h","start":126320,"end":131644},{"filename":"/include/vic20.h","start":131644,"end":137148},{"filename":"/include/atari_screen_charmap.h","start":137148,"end":147122},{"filename":"/include/iso646.h","start":147122,"end":149985},{"filename":"/include/locale.h","start":149985,"end":153642},{"filename":"/include/stddef.h","start":153642,"end":156699},{"filename":"/include/em.h","start":156699,"end":162993},{"filename":"/include/cc65.h","start":162993,"end":168134},{"filename":"/include/stdbool.h","start":168134,"end":170640},{"filename":"/include/osic1p.h","start":170640,"end":173439},{"filename":"/include/stdlib.h","start":173439,"end":179438},{"filename":"/include/atari.h","start":179438,"end":201203},{"filename":"/include/_heap.h","start":201203,"end":202321},{"filename":"/include/cbm_petscii_charmap.h","start":202321,"end":212061},{"filename":"/include/conio.h","start":212061,"end":221087},{"filename":"/include/dio.h","start":221087,"end":226557},{"filename":"/include/_vic2.h","start":226557,"end":237392},{"filename":"/include/time.h","start":237392,"end":242529},{"filename":"/include/cbm510.h","start":242529,"end":249125},{"filename":"/include/atari_atascii_charmap.h","start":249125,"end":258961},{"filename":"/include/joystick.h","start":258961,"end":264102},{"filename":"/include/_suzy.h","start":264102,"end":275260},{"filename":"/include/tgi.h","start":275260,"end":286112},{"filename":"/include/serial.h","start":286112,"end":294017},{"filename":"/include/zlib.h","start":294017,"end":301129},{"filename":"/include/_atari5200os.h","start":301129,"end":305689},{"filename":"/include/stdint.h","start":305689,"end":311885},{"filename":"/include/cbm610.h","start":311885,"end":317911},{"filename":"/include/pet.h","start":317911,"end":322558},{"filename":"/include/_tia.h","start":322558,"end":325189},{"filename":"/include/ctype.h","start":325189,"end":329579},{"filename":"/include/_vdc.h","start":329579,"end":332406},{"filename":"/include/_6526.h","start":332406,"end":336368},{"filename":"/include/geos.h","start":336368,"end":339579},{"filename":"/include/atari2600.h","start":339579,"end":340628},{"filename":"/include/device.h","start":340628,"end":343840},{"filename":"/include/pce.h","start":343840,"end":348647},{"filename":"/include/apple2enh.h","start":348647,"end":353379},{"filename":"/include/cbm264.h","start":353379,"end":359658},{"filename":"/include/plus4.h","start":359658,"end":362726},{"filename":"/include/_riot.h","start":362726,"end":363774},{"filename":"/include/inttypes.h","start":363774,"end":371584},{"filename":"/include/peekpoke.h","start":371584,"end":374692},{"filename":"/include/setjmp.h","start":374692,"end":377538},{"filename":"/include/dbg.h","start":377538,"end":383313},{"filename":"/include/_antic.h","start":383313,"end":395141},{"filename":"/include/target.h","start":395141,"end":398133},{"filename":"/include/_gtia.h","start":398133,"end":411972},{"filename":"/include/stdarg.h","start":411972,"end":414885},{"filename":"/include/gamate.h","start":414885,"end":422616},{"filename":"/include/fcntl.h","start":422616,"end":426166},{"filename":"/include/sym1.h","start":426166,"end":432999},{"filename":"/include/creativision.h","start":432999,"end":436611},{"filename":"/include/telestrat.h","start":436611,"end":441466},{"filename":"/include/atmos.h","start":441466,"end":447354},{"filename":"/include/_atarios.h","start":447354,"end":488540},{"filename":"/include/cbm.h","start":488540,"end":500432},{"filename":"/include/signal.h","start":500432,"end":503773},{"filename":"/include/_sid.h","start":503773,"end":507399},{"filename":"/include/pen.h","start":507399,"end":511099},{"filename":"/incluLine truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,210 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// Do not attempt to redownload the virtual filesystem data when in a pthread or a Wasm Worker context.
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD'] || Module['$ww']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-atari2600.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-atari2600.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "arpa", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
// canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true);
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer.constructor.name === ArrayBuffer.name, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
} Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-atari2600.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-atari2600.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-atari2600.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-atari2600.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-atari2600.js.metadata', '') : 'fs65-atari2600.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/asminc/_file.inc","start":0,"end":464},{"filename":"/asminc/_heap.inc","start":464,"end":1349},{"filename":"/asminc/accelerator.inc","start":1349,"end":3049},{"filename":"/asminc/apple2.inc","start":3049,"end":6307},{"filename":"/asminc/apple2.mac","start":6307,"end":7595},{"filename":"/asminc/ascii_charmap.inc","start":7595,"end":14425},{"filename":"/asminc/atari.inc","start":14425,"end":62110},{"filename":"/asminc/atari.mac","start":62110,"end":63823},{"filename":"/asminc/atari2600.inc","start":63823,"end":64016},{"filename":"/asminc/atari2600_riot.inc","start":64016,"end":64400},{"filename":"/asminc/atari2600_tia.inc","start":64400,"end":65449},{"filename":"/asminc/atari5200.inc","start":65449,"end":69752},{"filename":"/asminc/atari7800.inc","start":69752,"end":70080},{"filename":"/asminc/atari7800_maria.inc","start":70080,"end":70610},{"filename":"/asminc/atari7800_riot.inc","start":70610,"end":70994},{"filename":"/asminc/atari7800_tia.inc","start":70994,"end":72043},{"filename":"/asminc/atari_antic.inc","start":72043,"end":75365},{"filename":"/asminc/atari_atascii_charmap.inc","start":75365,"end":82338},{"filename":"/asminc/atari_gtia.inc","start":82338,"end":86760},{"filename":"/asminc/atari_pokey.inc","start":86760,"end":88494},{"filename":"/asminc/atari_screen_charmap.inc","start":88494,"end":95469},{"filename":"/asminc/atmos.inc","start":95469,"end":98860},{"filename":"/asminc/c128.inc","start":98860,"end":105926},{"filename":"/asminc/c16.inc","start":105926,"end":106066},{"filename":"/asminc/c64.inc","start":106066,"end":112649},{"filename":"/asminc/cbm.mac","start":112649,"end":114085},{"filename":"/asminc/cbm510.inc","start":114085,"end":118479},{"filename":"/asminc/cbm610.inc","start":118479,"end":121083},{"filename":"/asminc/cbm_filetype.inc","start":121083,"end":122234},{"filename":"/asminc/cbm_kernal.inc","start":122234,"end":128300},{"filename":"/asminc/cbm_petscii_charmap.inc","start":128300,"end":135103},{"filename":"/asminc/cbm_screen_charmap.inc","start":135103,"end":141373},{"filename":"/asminc/cpu.mac","start":141373,"end":142310},{"filename":"/asminc/creativision.inc","start":142310,"end":144022},{"filename":"/asminc/ctype.inc","start":144022,"end":145098},{"filename":"/asminc/ctype_common.inc","start":145098,"end":151854},{"filename":"/asminc/ctypetable.inc","start":151854,"end":153425},{"filename":"/asminc/cx16.inc","start":153425,"end":167757},{"filename":"/asminc/em-error.inc","start":167757,"end":170840},{"filename":"/asminc/em-kernel.inc","start":170840,"end":175789},{"filename":"/asminc/errno.inc","start":175789,"end":177152},{"filename":"/asminc/fcntl.inc","start":177152,"end":177500},{"filename":"/asminc/gamate.inc","start":177500,"end":178914},{"filename":"/asminc/generic.mac","start":178914,"end":179870},{"filename":"/asminc/get_tv.inc","start":179870,"end":180095},{"filename":"/asminc/joy-error.inc","start":180095,"end":182980},{"filename":"/asminc/joy-kernel.inc","start":182980,"end":186983},{"filename":"/asminc/kim1.inc","start":186983,"end":188172},{"filename":"/asminc/longbranch.mac","start":188172,"end":190804},{"filename":"/asminc/lynx.inc","start":190804,"end":196556},{"filename":"/asminc/modload.inc","start":196556,"end":200576},{"filename":"/asminc/module.mac","start":200576,"end":200854},{"filename":"/asminc/mouse-kernel.inc","start":200854,"end":208554},{"filename":"/asminc/nes.inc","start":208554,"end":211360},{"filename":"/asminc/o65.inc","start":211360,"end":218757},{"filename":"/asminc/opcodes.inc","start":218757,"end":229981},{"filename":"/asminc/pce.inc","start":229981,"end":232914},{"filename":"/asminc/pet.inc","start":232914,"end":236908},{"filename":"/asminc/plus4.inc","start":236908,"end":239736},{"filename":"/asminc/ser-error.inc","start":239736,"end":243180},{"filename":"/asminc/ser-kernel.inc","start":243180,"end":249960},{"filename":"/asminc/signal.inc","start":249960,"end":253005},{"filename":"/asminc/smc.inc","start":253005,"end":261206},{"filename":"/asminc/stdio.inc","start":261206,"end":264617},{"filename":"/asminc/supervision.inc","start":264617,"end":266089},{"filename":"/asminc/sym1.inc","start":266089,"end":272999},{"filename":"/asminc/telestrat.inc","start":272999,"end":289778},{"filename":"/asminc/tgi-error.inc","start":289778,"end":293074},{"filename":"/asminc/tgi-kernel.inc","start":293074,"end":303557},{"filename":"/asminc/tgi-vectorfont.inc","start":303557,"end":307470},{"filename":"/asminc/time.inc","start":307470,"end":310928},{"filename":"/asminc/utsname.inc","start":310928,"end":313742},{"filename":"/asminc/vic20.inc","start":313742,"end":318619},{"filename":"/asminc/zeropage.inc","start":318619,"end":319338},{"filename":"/cfg/atari2600.cfg","start":319338,"end":320159},{"filename":"/include/6502.h","start":320159,"end":325629},{"filename":"/include/_6522.h","start":325629,"end":329410},{"filename":"/include/_6525.h","start":329410,"end":332820},{"filename":"/include/_6526.h","start":332820,"end":336782}Line truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,238 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// When running as a pthread, FS operations are proxied to the main thread, so we don't need to
|
||||
// fetch the .data bundle on the worker
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-atari.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-atari.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
var PACKAGE_UUID = metadata['package_uuid'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
Module['FS_createPath']("/", "target", true, true);
|
||||
Module['FS_createPath']("/target", "atari", true, true);
|
||||
Module['FS_createPath']("/target/atari", "drv", true, true);
|
||||
Module['FS_createPath']("/target/atari/drv", "ser", true, true);
|
||||
Module['FS_createPath']("/target/atari/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target/atari/drv", "tgi", true, true);
|
||||
Module['FS_createPath']("/target/atari/drv", "emd", true, true);
|
||||
Module['FS_createPath']("/target/atari/drv", "mou", true, true);
|
||||
Module['FS_createPath']("/target/atari", "util", true, true);
|
||||
Module['FS_createPath']("/target", "atari5200", true, true);
|
||||
Module['FS_createPath']("/target/atari5200", "drv", true, true);
|
||||
Module['FS_createPath']("/target/atari5200/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target", "atarixl", true, true);
|
||||
Module['FS_createPath']("/target/atarixl", "drv", true, true);
|
||||
Module['FS_createPath']("/target/atarixl/drv", "ser", true, true);
|
||||
Module['FS_createPath']("/target/atarixl/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target/atarixl/drv", "tgi", true, true);
|
||||
Module['FS_createPath']("/target/atarixl/drv", "emd", true, true);
|
||||
Module['FS_createPath']("/target/atarixl/drv", "mou", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
}
|
||||
Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-atari.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-atari.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-atari.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-atari.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-atari.js.metadata', '') : 'fs65-atari.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/include/lz4.h","start":0,"end":2641},{"filename":"/include/c64.h","start":2641,"end":9642},{"filename":"/include/_pbi.h","start":9642,"end":12785},{"filename":"/include/apple2_filetype.h","start":12785,"end":29883},{"filename":"/include/nes.h","start":29883,"end":36683},{"filename":"/include/assert.h","start":36683,"end":39683},{"filename":"/include/_6545.h","start":39683,"end":42515},{"filename":"/include/_6522.h","start":42515,"end":46296},{"filename":"/include/modload.h","start":46296,"end":51278},{"filename":"/include/unistd.h","start":51278,"end":55587},{"filename":"/include/c128.h","start":55587,"end":62105},{"filename":"/include/cx16.h","start":62105,"end":76818},{"filename":"/include/_mikey.h","start":76818,"end":82171},{"filename":"/include/c16.h","start":82171,"end":85136},{"filename":"/include/_6525.h","start":85136,"end":88546},{"filename":"/include/stdio.h","start":88546,"end":94466},{"filename":"/include/lynx.h","start":94466,"end":103027},{"filename":"/include/6502.h","start":103027,"end":108497},{"filename":"/include/string.h","start":108497,"end":113601},{"filename":"/include/atari5200.h","start":113601,"end":117655},{"filename":"/include/_vic.h","start":117655,"end":121371},{"filename":"/include/cbm_filetype.h","start":121371,"end":126320},{"filename":"/include/dirent.h","start":126320,"end":131644},{"filename":"/include/vic20.h","start":131644,"end":137148},{"filename":"/include/atari_screen_charmap.h","start":137148,"end":147122},{"filename":"/include/iso646.h","start":147122,"end":149985},{"filename":"/include/locale.h","start":149985,"end":153642},{"filename":"/include/stddef.h","start":153642,"end":156699},{"filename":"/include/em.h","start":156699,"end":162993},{"filename":"/include/cc65.h","start":162993,"end":168134},{"filename":"/include/stdbool.h","start":168134,"end":170640},{"filename":"/include/osic1p.h","start":170640,"end":173439},{"filename":"/include/stdlib.h","start":173439,"end":179438},{"filename":"/include/atari.h","start":179438,"end":201203},{"filename":"/include/_heap.h","start":201203,"end":202321},{"filename":"/include/cbm_petscii_charmap.h","start":202321,"end":212061},{"filename":"/include/conio.h","start":212061,"end":221087},{"filename":"/include/dio.h","start":221087,"end":226557},{"filename":"/include/_vic2.h","start":226557,"end":237392},{"filename":"/include/time.h","start":237392,"end":242529},{"filename":"/include/cbm510.h","start":242529,"end":249125},{"filename":"/include/atari_atascii_charmap.h","start":249125,"end":258961},{"filename":"/include/joystick.h","start":258961,"end":264102},{"filename":"/include/_suzy.h","start":264102,"end":275260},{"filename":"/include/tgi.h","start":275260,"end":286112},{"filename":"/include/serial.h","start":286112,"end":294017},{"filename":"/include/zlib.h","start":294017,"end":301129},{"filename":"/include/_atari5200os.h","start":301129,"end":305689},{"filename":"/include/stdint.h","start":305689,"end":311885},{"filename":"/include/cbm610.h","start":311885,"end":317911},{"filename":"/include/pet.h","start":317911,"end":322558},{"filename":"/include/_tia.h","start":322558,"end":325189},{"filename":"/include/ctype.h","start":325189,"end":329579},{"filename":"/include/_vdc.h","start":329579,"end":332406},{"filename":"/include/_6526.h","start":332406,"end":336368},{"filename":"/include/geos.h","start":336368,"end":339579},{"filename":"/include/atari2600.h","start":339579,"end":340628},{"filename":"/include/device.h","start":340628,"end":343840},{"filename":"/include/pce.h","start":343840,"end":348647},{"filename":"/include/apple2enh.h","start":348647,"end":353379},{"filename":"/include/cbm264.h","start":353379,"end":359658},{"filename":"/include/plus4.h","start":359658,"end":362726},{"filename":"/include/_riot.h","start":362726,"end":363774},{"filename":"/include/inttypes.h","start":363774,"end":371584},{"filename":"/include/peekpoke.h","start":371584,"end":374692},{"filename":"/include/setjmp.h","start":374692,"end":377538},{"filename":"/include/dbg.h","start":377538,"end":383313},{"filename":"/include/_antic.h","start":383313,"end":395141},{"filename":"/include/target.h","start":395141,"end":398133},{"filename":"/include/_gtia.h","start":398133,"end":411972},{"filename":"/include/stdarg.h","start":411972,"end":414885},{"filename":"/include/gamate.h","start":414885,"end":422616},{"filename":"/include/fcntl.h","start":422616,"end":426166},{"filename":"/include/sym1.h","start":426166,"end":432999},{"filename":"/include/creativision.h","start":432999,"end":436611},{"filename":"/include/telestrat.h","start":436611,"end":441466},{"filename":"/include/atmos.h","start":441466,"end":447354},{"filename":"/include/_atarios.h","start":447354,"end":488540},{"filename":"/include/cbm.h","start":488540,"end":500432},{"filename":"/include/signal.h","start":500432,"end":503773},{"filename":"/include/_sid.h","start":503773,"end":507399},{"filename":"/include/pen.h","start":507399,"end":511099},{"filename":"/incluLine truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,227 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// When running as a pthread, FS operations are proxied to the main thread, so we don't need to
|
||||
// fetch the .data bundle on the worker
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-c64.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-c64.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
var PACKAGE_UUID = metadata['package_uuid'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
Module['FS_createPath']("/", "target", true, true);
|
||||
Module['FS_createPath']("/target", "c64", true, true);
|
||||
Module['FS_createPath']("/target/c64", "drv", true, true);
|
||||
Module['FS_createPath']("/target/c64/drv", "ser", true, true);
|
||||
Module['FS_createPath']("/target/c64/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target/c64/drv", "tgi", true, true);
|
||||
Module['FS_createPath']("/target/c64/drv", "emd", true, true);
|
||||
Module['FS_createPath']("/target/c64/drv", "mou", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
}
|
||||
Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-c64.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-c64.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-c64.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-c64.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-c64.js.metadata', '') : 'fs65-c64.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/include/lz4.h","start":0,"end":2641},{"filename":"/include/c64.h","start":2641,"end":9642},{"filename":"/include/_pbi.h","start":9642,"end":12785},{"filename":"/include/apple2_filetype.h","start":12785,"end":29883},{"filename":"/include/nes.h","start":29883,"end":36683},{"filename":"/include/assert.h","start":36683,"end":39683},{"filename":"/include/_6545.h","start":39683,"end":42515},{"filename":"/include/_6522.h","start":42515,"end":46296},{"filename":"/include/modload.h","start":46296,"end":51278},{"filename":"/include/unistd.h","start":51278,"end":55587},{"filename":"/include/c128.h","start":55587,"end":62105},{"filename":"/include/cx16.h","start":62105,"end":76818},{"filename":"/include/_mikey.h","start":76818,"end":82171},{"filename":"/include/c16.h","start":82171,"end":85136},{"filename":"/include/_6525.h","start":85136,"end":88546},{"filename":"/include/stdio.h","start":88546,"end":94466},{"filename":"/include/lynx.h","start":94466,"end":103027},{"filename":"/include/6502.h","start":103027,"end":108497},{"filename":"/include/string.h","start":108497,"end":113601},{"filename":"/include/atari5200.h","start":113601,"end":117655},{"filename":"/include/_vic.h","start":117655,"end":121371},{"filename":"/include/cbm_filetype.h","start":121371,"end":126320},{"filename":"/include/dirent.h","start":126320,"end":131644},{"filename":"/include/vic20.h","start":131644,"end":137148},{"filename":"/include/atari_screen_charmap.h","start":137148,"end":147122},{"filename":"/include/iso646.h","start":147122,"end":149985},{"filename":"/include/locale.h","start":149985,"end":153642},{"filename":"/include/stddef.h","start":153642,"end":156699},{"filename":"/include/em.h","start":156699,"end":162993},{"filename":"/include/cc65.h","start":162993,"end":168134},{"filename":"/include/stdbool.h","start":168134,"end":170640},{"filename":"/include/osic1p.h","start":170640,"end":173439},{"filename":"/include/stdlib.h","start":173439,"end":179438},{"filename":"/include/atari.h","start":179438,"end":201203},{"filename":"/include/_heap.h","start":201203,"end":202321},{"filename":"/include/cbm_petscii_charmap.h","start":202321,"end":212061},{"filename":"/include/conio.h","start":212061,"end":221087},{"filename":"/include/dio.h","start":221087,"end":226557},{"filename":"/include/_vic2.h","start":226557,"end":237392},{"filename":"/include/time.h","start":237392,"end":242529},{"filename":"/include/cbm510.h","start":242529,"end":249125},{"filename":"/include/atari_atascii_charmap.h","start":249125,"end":258961},{"filename":"/include/joystick.h","start":258961,"end":264102},{"filename":"/include/_suzy.h","start":264102,"end":275260},{"filename":"/include/tgi.h","start":275260,"end":286112},{"filename":"/include/serial.h","start":286112,"end":294017},{"filename":"/include/zlib.h","start":294017,"end":301129},{"filename":"/include/_atari5200os.h","start":301129,"end":305689},{"filename":"/include/stdint.h","start":305689,"end":311885},{"filename":"/include/cbm610.h","start":311885,"end":317911},{"filename":"/include/pet.h","start":317911,"end":322558},{"filename":"/include/_tia.h","start":322558,"end":325189},{"filename":"/include/ctype.h","start":325189,"end":329579},{"filename":"/include/_vdc.h","start":329579,"end":332406},{"filename":"/include/_6526.h","start":332406,"end":336368},{"filename":"/include/geos.h","start":336368,"end":339579},{"filename":"/include/atari2600.h","start":339579,"end":340628},{"filename":"/include/device.h","start":340628,"end":343840},{"filename":"/include/pce.h","start":343840,"end":348647},{"filename":"/include/apple2enh.h","start":348647,"end":353379},{"filename":"/include/cbm264.h","start":353379,"end":359658},{"filename":"/include/plus4.h","start":359658,"end":362726},{"filename":"/include/_riot.h","start":362726,"end":363774},{"filename":"/include/inttypes.h","start":363774,"end":371584},{"filename":"/include/peekpoke.h","start":371584,"end":374692},{"filename":"/include/setjmp.h","start":374692,"end":377538},{"filename":"/include/dbg.h","start":377538,"end":383313},{"filename":"/include/_antic.h","start":383313,"end":395141},{"filename":"/include/target.h","start":395141,"end":398133},{"filename":"/include/_gtia.h","start":398133,"end":411972},{"filename":"/include/stdarg.h","start":411972,"end":414885},{"filename":"/include/gamate.h","start":414885,"end":422616},{"filename":"/include/fcntl.h","start":422616,"end":426166},{"filename":"/include/sym1.h","start":426166,"end":432999},{"filename":"/include/creativision.h","start":432999,"end":436611},{"filename":"/include/telestrat.h","start":436611,"end":441466},{"filename":"/include/atmos.h","start":441466,"end":447354},{"filename":"/include/_atarios.h","start":447354,"end":488540},{"filename":"/include/cbm.h","start":488540,"end":500432},{"filename":"/include/signal.h","start":500432,"end":503773},{"filename":"/include/_sid.h","start":503773,"end":507399},{"filename":"/include/pen.h","start":507399,"end":511099},{"filename":"/incluLine truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,224 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// When running as a pthread, FS operations are proxied to the main thread, so we don't need to
|
||||
// fetch the .data bundle on the worker
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-nes.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-nes.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
var PACKAGE_UUID = metadata['package_uuid'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
Module['FS_createPath']("/", "target", true, true);
|
||||
Module['FS_createPath']("/target", "nes", true, true);
|
||||
Module['FS_createPath']("/target/nes", "drv", true, true);
|
||||
Module['FS_createPath']("/target/nes/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target/nes/drv", "tgi", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
}
|
||||
Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-nes.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-nes.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-nes.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-nes.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-nes.js.metadata', '') : 'fs65-nes.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/include/lz4.h","start":0,"end":2641},{"filename":"/include/c64.h","start":2641,"end":9642},{"filename":"/include/_pbi.h","start":9642,"end":12785},{"filename":"/include/apple2_filetype.h","start":12785,"end":29883},{"filename":"/include/nes.h","start":29883,"end":36683},{"filename":"/include/assert.h","start":36683,"end":39683},{"filename":"/include/_6545.h","start":39683,"end":42515},{"filename":"/include/_6522.h","start":42515,"end":46296},{"filename":"/include/modload.h","start":46296,"end":51278},{"filename":"/include/unistd.h","start":51278,"end":55587},{"filename":"/include/c128.h","start":55587,"end":62105},{"filename":"/include/cx16.h","start":62105,"end":76818},{"filename":"/include/_mikey.h","start":76818,"end":82171},{"filename":"/include/c16.h","start":82171,"end":85136},{"filename":"/include/_6525.h","start":85136,"end":88546},{"filename":"/include/stdio.h","start":88546,"end":94466},{"filename":"/include/lynx.h","start":94466,"end":103027},{"filename":"/include/6502.h","start":103027,"end":108497},{"filename":"/include/string.h","start":108497,"end":113601},{"filename":"/include/atari5200.h","start":113601,"end":117655},{"filename":"/include/_vic.h","start":117655,"end":121371},{"filename":"/include/cbm_filetype.h","start":121371,"end":126320},{"filename":"/include/dirent.h","start":126320,"end":131644},{"filename":"/include/vic20.h","start":131644,"end":137148},{"filename":"/include/atari_screen_charmap.h","start":137148,"end":147122},{"filename":"/include/iso646.h","start":147122,"end":149985},{"filename":"/include/locale.h","start":149985,"end":153642},{"filename":"/include/stddef.h","start":153642,"end":156699},{"filename":"/include/em.h","start":156699,"end":162993},{"filename":"/include/cc65.h","start":162993,"end":168134},{"filename":"/include/stdbool.h","start":168134,"end":170640},{"filename":"/include/osic1p.h","start":170640,"end":173439},{"filename":"/include/stdlib.h","start":173439,"end":179438},{"filename":"/include/atari.h","start":179438,"end":201203},{"filename":"/include/_heap.h","start":201203,"end":202321},{"filename":"/include/cbm_petscii_charmap.h","start":202321,"end":212061},{"filename":"/include/conio.h","start":212061,"end":221087},{"filename":"/include/dio.h","start":221087,"end":226557},{"filename":"/include/_vic2.h","start":226557,"end":237392},{"filename":"/include/time.h","start":237392,"end":242529},{"filename":"/include/cbm510.h","start":242529,"end":249125},{"filename":"/include/atari_atascii_charmap.h","start":249125,"end":258961},{"filename":"/include/joystick.h","start":258961,"end":264102},{"filename":"/include/_suzy.h","start":264102,"end":275260},{"filename":"/include/tgi.h","start":275260,"end":286112},{"filename":"/include/serial.h","start":286112,"end":294017},{"filename":"/include/zlib.h","start":294017,"end":301129},{"filename":"/include/_atari5200os.h","start":301129,"end":305689},{"filename":"/include/stdint.h","start":305689,"end":311885},{"filename":"/include/cbm610.h","start":311885,"end":317911},{"filename":"/include/pet.h","start":317911,"end":322558},{"filename":"/include/_tia.h","start":322558,"end":325189},{"filename":"/include/ctype.h","start":325189,"end":329579},{"filename":"/include/_vdc.h","start":329579,"end":332406},{"filename":"/include/_6526.h","start":332406,"end":336368},{"filename":"/include/geos.h","start":336368,"end":339579},{"filename":"/include/atari2600.h","start":339579,"end":340628},{"filename":"/include/device.h","start":340628,"end":343840},{"filename":"/include/pce.h","start":343840,"end":348647},{"filename":"/include/apple2enh.h","start":348647,"end":353379},{"filename":"/include/cbm264.h","start":353379,"end":359658},{"filename":"/include/plus4.h","start":359658,"end":362726},{"filename":"/include/_riot.h","start":362726,"end":363774},{"filename":"/include/inttypes.h","start":363774,"end":371584},{"filename":"/include/peekpoke.h","start":371584,"end":374692},{"filename":"/include/setjmp.h","start":374692,"end":377538},{"filename":"/include/dbg.h","start":377538,"end":383313},{"filename":"/include/_antic.h","start":383313,"end":395141},{"filename":"/include/target.h","start":395141,"end":398133},{"filename":"/include/_gtia.h","start":398133,"end":411972},{"filename":"/include/stdarg.h","start":411972,"end":414885},{"filename":"/include/gamate.h","start":414885,"end":422616},{"filename":"/include/fcntl.h","start":422616,"end":426166},{"filename":"/include/sym1.h","start":426166,"end":432999},{"filename":"/include/creativision.h","start":432999,"end":436611},{"filename":"/include/telestrat.h","start":436611,"end":441466},{"filename":"/include/atmos.h","start":441466,"end":447354},{"filename":"/include/_atarios.h","start":447354,"end":488540},{"filename":"/include/cbm.h","start":488540,"end":500432},{"filename":"/include/signal.h","start":500432,"end":503773},{"filename":"/include/_sid.h","start":503773,"end":507399},{"filename":"/include/pen.h","start":507399,"end":511099},{"filename":"/incluLine truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,219 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// When running as a pthread, FS operations are proxied to the main thread, so we don't need to
|
||||
// fetch the .data bundle on the worker
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-none.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-none.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
var PACKAGE_UUID = metadata['package_uuid'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
}
|
||||
Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-none.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-none.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-none.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-none.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-none.js.metadata', '') : 'fs65-none.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/include/lz4.h","start":0,"end":2641},{"filename":"/include/c64.h","start":2641,"end":9642},{"filename":"/include/_pbi.h","start":9642,"end":12785},{"filename":"/include/apple2_filetype.h","start":12785,"end":29883},{"filename":"/include/nes.h","start":29883,"end":36683},{"filename":"/include/assert.h","start":36683,"end":39683},{"filename":"/include/_6545.h","start":39683,"end":42515},{"filename":"/include/_6522.h","start":42515,"end":46296},{"filename":"/include/modload.h","start":46296,"end":51278},{"filename":"/include/unistd.h","start":51278,"end":55587},{"filename":"/include/c128.h","start":55587,"end":62105},{"filename":"/include/cx16.h","start":62105,"end":76818},{"filename":"/include/_mikey.h","start":76818,"end":82171},{"filename":"/include/c16.h","start":82171,"end":85136},{"filename":"/include/_6525.h","start":85136,"end":88546},{"filename":"/include/stdio.h","start":88546,"end":94466},{"filename":"/include/lynx.h","start":94466,"end":103027},{"filename":"/include/6502.h","start":103027,"end":108497},{"filename":"/include/string.h","start":108497,"end":113601},{"filename":"/include/atari5200.h","start":113601,"end":117655},{"filename":"/include/_vic.h","start":117655,"end":121371},{"filename":"/include/cbm_filetype.h","start":121371,"end":126320},{"filename":"/include/dirent.h","start":126320,"end":131644},{"filename":"/include/vic20.h","start":131644,"end":137148},{"filename":"/include/atari_screen_charmap.h","start":137148,"end":147122},{"filename":"/include/iso646.h","start":147122,"end":149985},{"filename":"/include/locale.h","start":149985,"end":153642},{"filename":"/include/stddef.h","start":153642,"end":156699},{"filename":"/include/em.h","start":156699,"end":162993},{"filename":"/include/cc65.h","start":162993,"end":168134},{"filename":"/include/stdbool.h","start":168134,"end":170640},{"filename":"/include/osic1p.h","start":170640,"end":173439},{"filename":"/include/stdlib.h","start":173439,"end":179438},{"filename":"/include/atari.h","start":179438,"end":201203},{"filename":"/include/_heap.h","start":201203,"end":202321},{"filename":"/include/cbm_petscii_charmap.h","start":202321,"end":212061},{"filename":"/include/conio.h","start":212061,"end":221087},{"filename":"/include/dio.h","start":221087,"end":226557},{"filename":"/include/_vic2.h","start":226557,"end":237392},{"filename":"/include/time.h","start":237392,"end":242529},{"filename":"/include/cbm510.h","start":242529,"end":249125},{"filename":"/include/atari_atascii_charmap.h","start":249125,"end":258961},{"filename":"/include/joystick.h","start":258961,"end":264102},{"filename":"/include/_suzy.h","start":264102,"end":275260},{"filename":"/include/tgi.h","start":275260,"end":286112},{"filename":"/include/serial.h","start":286112,"end":294017},{"filename":"/include/zlib.h","start":294017,"end":301129},{"filename":"/include/_atari5200os.h","start":301129,"end":305689},{"filename":"/include/stdint.h","start":305689,"end":311885},{"filename":"/include/cbm610.h","start":311885,"end":317911},{"filename":"/include/pet.h","start":317911,"end":322558},{"filename":"/include/_tia.h","start":322558,"end":325189},{"filename":"/include/ctype.h","start":325189,"end":329579},{"filename":"/include/_vdc.h","start":329579,"end":332406},{"filename":"/include/_6526.h","start":332406,"end":336368},{"filename":"/include/geos.h","start":336368,"end":339579},{"filename":"/include/atari2600.h","start":339579,"end":340628},{"filename":"/include/device.h","start":340628,"end":343840},{"filename":"/include/pce.h","start":343840,"end":348647},{"filename":"/include/apple2enh.h","start":348647,"end":353379},{"filename":"/include/cbm264.h","start":353379,"end":359658},{"filename":"/include/plus4.h","start":359658,"end":362726},{"filename":"/include/_riot.h","start":362726,"end":363774},{"filename":"/include/inttypes.h","start":363774,"end":371584},{"filename":"/include/peekpoke.h","start":371584,"end":374692},{"filename":"/include/setjmp.h","start":374692,"end":377538},{"filename":"/include/dbg.h","start":377538,"end":383313},{"filename":"/include/_antic.h","start":383313,"end":395141},{"filename":"/include/target.h","start":395141,"end":398133},{"filename":"/include/_gtia.h","start":398133,"end":411972},{"filename":"/include/stdarg.h","start":411972,"end":414885},{"filename":"/include/gamate.h","start":414885,"end":422616},{"filename":"/include/fcntl.h","start":422616,"end":426166},{"filename":"/include/sym1.h","start":426166,"end":432999},{"filename":"/include/creativision.h","start":432999,"end":436611},{"filename":"/include/telestrat.h","start":436611,"end":441466},{"filename":"/include/atmos.h","start":441466,"end":447354},{"filename":"/include/_atarios.h","start":447354,"end":488540},{"filename":"/include/cbm.h","start":488540,"end":500432},{"filename":"/include/signal.h","start":500432,"end":503773},{"filename":"/include/_sid.h","start":503773,"end":507399},{"filename":"/include/pen.h","start":507399,"end":511099},{"filename":"/incluLine truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,214 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// Do not attempt to redownload the virtual filesystem data when in a pthread or a Wasm Worker context.
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD'] || Module['$ww']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-pce.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-pce.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "arpa", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
Module['FS_createPath']("/", "target", true, true);
|
||||
Module['FS_createPath']("/target", "pce", true, true);
|
||||
Module['FS_createPath']("/target/pce", "drv", true, true);
|
||||
Module['FS_createPath']("/target/pce/drv", "joy", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
// canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true);
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer.constructor.name === ArrayBuffer.name, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
} Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-pce.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-pce.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-pce.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-pce.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-pce.js.metadata', '') : 'fs65-pce.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/asminc/_file.inc","start":0,"end":464},{"filename":"/asminc/_heap.inc","start":464,"end":1349},{"filename":"/asminc/accelerator.inc","start":1349,"end":3049},{"filename":"/asminc/apple2.inc","start":3049,"end":6307},{"filename":"/asminc/apple2.mac","start":6307,"end":7595},{"filename":"/asminc/ascii_charmap.inc","start":7595,"end":14425},{"filename":"/asminc/atari.inc","start":14425,"end":62110},{"filename":"/asminc/atari.mac","start":62110,"end":63823},{"filename":"/asminc/atari2600.inc","start":63823,"end":64016},{"filename":"/asminc/atari2600_riot.inc","start":64016,"end":64400},{"filename":"/asminc/atari2600_tia.inc","start":64400,"end":65449},{"filename":"/asminc/atari5200.inc","start":65449,"end":69752},{"filename":"/asminc/atari7800.inc","start":69752,"end":70080},{"filename":"/asminc/atari7800_maria.inc","start":70080,"end":70610},{"filename":"/asminc/atari7800_riot.inc","start":70610,"end":70994},{"filename":"/asminc/atari7800_tia.inc","start":70994,"end":72043},{"filename":"/asminc/atari_antic.inc","start":72043,"end":75365},{"filename":"/asminc/atari_atascii_charmap.inc","start":75365,"end":82338},{"filename":"/asminc/atari_gtia.inc","start":82338,"end":86760},{"filename":"/asminc/atari_pokey.inc","start":86760,"end":88494},{"filename":"/asminc/atari_screen_charmap.inc","start":88494,"end":95469},{"filename":"/asminc/atmos.inc","start":95469,"end":98860},{"filename":"/asminc/c128.inc","start":98860,"end":105926},{"filename":"/asminc/c16.inc","start":105926,"end":106066},{"filename":"/asminc/c64.inc","start":106066,"end":112649},{"filename":"/asminc/cbm.mac","start":112649,"end":114085},{"filename":"/asminc/cbm510.inc","start":114085,"end":118479},{"filename":"/asminc/cbm610.inc","start":118479,"end":121083},{"filename":"/asminc/cbm_filetype.inc","start":121083,"end":122234},{"filename":"/asminc/cbm_kernal.inc","start":122234,"end":128300},{"filename":"/asminc/cbm_petscii_charmap.inc","start":128300,"end":135103},{"filename":"/asminc/cbm_screen_charmap.inc","start":135103,"end":141373},{"filename":"/asminc/cpu.mac","start":141373,"end":142310},{"filename":"/asminc/creativision.inc","start":142310,"end":144022},{"filename":"/asminc/ctype.inc","start":144022,"end":145098},{"filename":"/asminc/ctype_common.inc","start":145098,"end":151854},{"filename":"/asminc/ctypetable.inc","start":151854,"end":153425},{"filename":"/asminc/cx16.inc","start":153425,"end":167757},{"filename":"/asminc/em-error.inc","start":167757,"end":170840},{"filename":"/asminc/em-kernel.inc","start":170840,"end":175789},{"filename":"/asminc/errno.inc","start":175789,"end":177152},{"filename":"/asminc/fcntl.inc","start":177152,"end":177500},{"filename":"/asminc/gamate.inc","start":177500,"end":178914},{"filename":"/asminc/generic.mac","start":178914,"end":179851},{"filename":"/asminc/get_tv.inc","start":179851,"end":180076},{"filename":"/asminc/joy-error.inc","start":180076,"end":182961},{"filename":"/asminc/joy-kernel.inc","start":182961,"end":186964},{"filename":"/asminc/kim1.inc","start":186964,"end":188153},{"filename":"/asminc/longbranch.mac","start":188153,"end":190785},{"filename":"/asminc/lynx.inc","start":190785,"end":196537},{"filename":"/asminc/modload.inc","start":196537,"end":200557},{"filename":"/asminc/module.mac","start":200557,"end":200835},{"filename":"/asminc/mouse-kernel.inc","start":200835,"end":208535},{"filename":"/asminc/nes.inc","start":208535,"end":211341},{"filename":"/asminc/o65.inc","start":211341,"end":218738},{"filename":"/asminc/opcodes.inc","start":218738,"end":229962},{"filename":"/asminc/pce.inc","start":229962,"end":232895},{"filename":"/asminc/pet.inc","start":232895,"end":236889},{"filename":"/asminc/plus4.inc","start":236889,"end":239717},{"filename":"/asminc/ser-error.inc","start":239717,"end":243161},{"filename":"/asminc/ser-kernel.inc","start":243161,"end":249941},{"filename":"/asminc/signal.inc","start":249941,"end":252986},{"filename":"/asminc/smc.inc","start":252986,"end":261187},{"filename":"/asminc/stdio.inc","start":261187,"end":264598},{"filename":"/asminc/supervision.inc","start":264598,"end":266070},{"filename":"/asminc/sym1.inc","start":266070,"end":272980},{"filename":"/asminc/telestrat.inc","start":272980,"end":289759},{"filename":"/asminc/tgi-error.inc","start":289759,"end":293055},{"filename":"/asminc/tgi-kernel.inc","start":293055,"end":303538},{"filename":"/asminc/tgi-vectorfont.inc","start":303538,"end":307451},{"filename":"/asminc/time.inc","start":307451,"end":310909},{"filename":"/asminc/utsname.inc","start":310909,"end":313723},{"filename":"/asminc/vic20.inc","start":313723,"end":318600},{"filename":"/asminc/zeropage.inc","start":318600,"end":319319},{"filename":"/cfg/pce.cfg","start":319319,"end":321161},{"filename":"/include/6502.h","start":321161,"end":326631},{"filename":"/include/_6522.h","start":326631,"end":330412},{"filename":"/include/_6525.h","start":330412,"end":333822},{"filename":"/include/_6526.h","start":333822,"end":337784},{"filLine truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,225 +0,0 @@
|
||||
|
||||
var Module = typeof Module !== 'undefined' ? Module : {};
|
||||
|
||||
if (!Module.expectedDataFileDownloads) {
|
||||
Module.expectedDataFileDownloads = 0;
|
||||
}
|
||||
Module.expectedDataFileDownloads++;
|
||||
(function() {
|
||||
// When running as a pthread, FS operations are proxied to the main thread, so we don't need to
|
||||
// fetch the .data bundle on the worker
|
||||
if (Module['ENVIRONMENT_IS_PTHREAD']) return;
|
||||
var loadPackage = function(metadata) {
|
||||
|
||||
var PACKAGE_PATH = '';
|
||||
if (typeof window === 'object') {
|
||||
PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
} else if (typeof process === 'undefined' && typeof location !== 'undefined') {
|
||||
// web worker
|
||||
PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/');
|
||||
}
|
||||
var PACKAGE_NAME = '/home/pzp/8bitworkshop-compilers/output/fs/fs65-vic20.data';
|
||||
var REMOTE_PACKAGE_BASE = 'fs65-vic20.data';
|
||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||
Module['locateFile'] = Module['locateFilePackage'];
|
||||
err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||
}
|
||||
var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE;
|
||||
|
||||
var REMOTE_PACKAGE_SIZE = metadata['remote_package_size'];
|
||||
var PACKAGE_UUID = metadata['package_uuid'];
|
||||
|
||||
function fetchRemotePackage(packageName, packageSize, callback, errback) {
|
||||
|
||||
if (typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string') {
|
||||
require('fs').readFile(packageName, function(err, contents) {
|
||||
if (err) {
|
||||
errback(err);
|
||||
} else {
|
||||
callback(contents.buffer);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', packageName, true);
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onprogress = function(event) {
|
||||
var url = packageName;
|
||||
var size = packageSize;
|
||||
if (event.total) size = event.total;
|
||||
if (event.loaded) {
|
||||
if (!xhr.addedTotal) {
|
||||
xhr.addedTotal = true;
|
||||
if (!Module.dataFileDownloads) Module.dataFileDownloads = {};
|
||||
Module.dataFileDownloads[url] = {
|
||||
loaded: event.loaded,
|
||||
total: size
|
||||
};
|
||||
} else {
|
||||
Module.dataFileDownloads[url].loaded = event.loaded;
|
||||
}
|
||||
var total = 0;
|
||||
var loaded = 0;
|
||||
var num = 0;
|
||||
for (var download in Module.dataFileDownloads) {
|
||||
var data = Module.dataFileDownloads[download];
|
||||
total += data.total;
|
||||
loaded += data.loaded;
|
||||
num++;
|
||||
}
|
||||
total = Math.ceil(total * Module.expectedDataFileDownloads/num);
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')');
|
||||
} else if (!Module.dataFileDownloads) {
|
||||
if (Module['setStatus']) Module['setStatus']('Downloading data...');
|
||||
}
|
||||
};
|
||||
xhr.onerror = function(event) {
|
||||
throw new Error("NetworkError for: " + packageName);
|
||||
}
|
||||
xhr.onload = function(event) {
|
||||
if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
|
||||
var packageData = xhr.response;
|
||||
callback(packageData);
|
||||
} else {
|
||||
throw new Error(xhr.statusText + " : " + xhr.responseURL);
|
||||
}
|
||||
};
|
||||
xhr.send(null);
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error('package error:', error);
|
||||
};
|
||||
|
||||
var fetchedCallback = null;
|
||||
var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null;
|
||||
|
||||
if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) {
|
||||
if (fetchedCallback) {
|
||||
fetchedCallback(data);
|
||||
fetchedCallback = null;
|
||||
} else {
|
||||
fetched = data;
|
||||
}
|
||||
}, handleError);
|
||||
|
||||
function runWithFS() {
|
||||
|
||||
function assert(check, msg) {
|
||||
if (!check) throw msg + new Error().stack;
|
||||
}
|
||||
Module['FS_createPath']("/", "include", true, true);
|
||||
Module['FS_createPath']("/include", "em", true, true);
|
||||
Module['FS_createPath']("/include", "geos", true, true);
|
||||
Module['FS_createPath']("/include", "tgi", true, true);
|
||||
Module['FS_createPath']("/include", "mouse", true, true);
|
||||
Module['FS_createPath']("/include", "joystick", true, true);
|
||||
Module['FS_createPath']("/include", "sys", true, true);
|
||||
Module['FS_createPath']("/", "asminc", true, true);
|
||||
Module['FS_createPath']("/", "cfg", true, true);
|
||||
Module['FS_createPath']("/", "lib", true, true);
|
||||
Module['FS_createPath']("/", "target", true, true);
|
||||
Module['FS_createPath']("/target", "vic20", true, true);
|
||||
Module['FS_createPath']("/target/vic20", "drv", true, true);
|
||||
Module['FS_createPath']("/target/vic20/drv", "joy", true, true);
|
||||
Module['FS_createPath']("/target/vic20/drv", "tgi", true, true);
|
||||
Module['FS_createPath']("/target/vic20/drv", "emd", true, true);
|
||||
|
||||
/** @constructor */
|
||||
function DataRequest(start, end, audio) {
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
this.audio = audio;
|
||||
}
|
||||
DataRequest.prototype = {
|
||||
requests: {},
|
||||
open: function(mode, name) {
|
||||
this.name = name;
|
||||
this.requests[name] = this;
|
||||
Module['addRunDependency']('fp ' + this.name);
|
||||
},
|
||||
send: function() {},
|
||||
onload: function() {
|
||||
var byteArray = this.byteArray.subarray(this.start, this.end);
|
||||
this.finish(byteArray);
|
||||
},
|
||||
finish: function(byteArray) {
|
||||
var that = this;
|
||||
|
||||
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change
|
||||
Module['removeRunDependency']('fp ' + that.name);
|
||||
|
||||
this.requests[this.name] = null;
|
||||
}
|
||||
};
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio'] || 0).open('GET', files[i]['filename']);
|
||||
}
|
||||
|
||||
|
||||
function processPackageData(arrayBuffer) {
|
||||
assert(arrayBuffer, 'Loading data file failed.');
|
||||
assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData');
|
||||
var byteArray = new Uint8Array(arrayBuffer);
|
||||
var curr;
|
||||
|
||||
// Reuse the bytearray from the XHR as the source for file reads.
|
||||
DataRequest.prototype.byteArray = byteArray;
|
||||
|
||||
var files = metadata['files'];
|
||||
for (var i = 0; i < files.length; ++i) {
|
||||
DataRequest.prototype.requests[files[i].filename].onload();
|
||||
}
|
||||
Module['removeRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-vic20.data');
|
||||
|
||||
};
|
||||
Module['addRunDependency']('datafile_/home/pzp/8bitworkshop-compilers/output/fs/fs65-vic20.data');
|
||||
|
||||
if (!Module.preloadResults) Module.preloadResults = {};
|
||||
|
||||
Module.preloadResults[PACKAGE_NAME] = {fromCache: false};
|
||||
if (fetched) {
|
||||
processPackageData(fetched);
|
||||
fetched = null;
|
||||
} else {
|
||||
fetchedCallback = processPackageData;
|
||||
}
|
||||
|
||||
}
|
||||
if (Module['calledRun']) {
|
||||
runWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it
|
||||
}
|
||||
|
||||
Module['removeRunDependency']('fs65-vic20.js.metadata');
|
||||
}
|
||||
|
||||
function runMetaWithFS() {
|
||||
Module['addRunDependency']('fs65-vic20.js.metadata');
|
||||
var REMOTE_METADATA_NAME = Module['locateFile'] ? Module['locateFile']('fs65-vic20.js.metadata', '') : 'fs65-vic20.js.metadata';
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
loadPackage(JSON.parse(xhr.responseText));
|
||||
}
|
||||
}
|
||||
xhr.open('GET', REMOTE_METADATA_NAME, true);
|
||||
xhr.overrideMimeType('application/json');
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
if (Module['calledRun']) {
|
||||
runMetaWithFS();
|
||||
} else {
|
||||
if (!Module['preRun']) Module['preRun'] = [];
|
||||
Module["preRun"].push(runMetaWithFS);
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"files":[{"filename":"/include/lz4.h","start":0,"end":2641},{"filename":"/include/c64.h","start":2641,"end":9642},{"filename":"/include/_pbi.h","start":9642,"end":12785},{"filename":"/include/apple2_filetype.h","start":12785,"end":29883},{"filename":"/include/nes.h","start":29883,"end":36683},{"filename":"/include/assert.h","start":36683,"end":39683},{"filename":"/include/_6545.h","start":39683,"end":42515},{"filename":"/include/_6522.h","start":42515,"end":46296},{"filename":"/include/modload.h","start":46296,"end":51278},{"filename":"/include/unistd.h","start":51278,"end":55587},{"filename":"/include/c128.h","start":55587,"end":62105},{"filename":"/include/cx16.h","start":62105,"end":76818},{"filename":"/include/_mikey.h","start":76818,"end":82171},{"filename":"/include/c16.h","start":82171,"end":85136},{"filename":"/include/_6525.h","start":85136,"end":88546},{"filename":"/include/stdio.h","start":88546,"end":94466},{"filename":"/include/lynx.h","start":94466,"end":103027},{"filename":"/include/6502.h","start":103027,"end":108497},{"filename":"/include/string.h","start":108497,"end":113601},{"filename":"/include/atari5200.h","start":113601,"end":117655},{"filename":"/include/_vic.h","start":117655,"end":121371},{"filename":"/include/cbm_filetype.h","start":121371,"end":126320},{"filename":"/include/dirent.h","start":126320,"end":131644},{"filename":"/include/vic20.h","start":131644,"end":137148},{"filename":"/include/atari_screen_charmap.h","start":137148,"end":147122},{"filename":"/include/iso646.h","start":147122,"end":149985},{"filename":"/include/locale.h","start":149985,"end":153642},{"filename":"/include/stddef.h","start":153642,"end":156699},{"filename":"/include/em.h","start":156699,"end":162993},{"filename":"/include/cc65.h","start":162993,"end":168134},{"filename":"/include/stdbool.h","start":168134,"end":170640},{"filename":"/include/osic1p.h","start":170640,"end":173439},{"filename":"/include/stdlib.h","start":173439,"end":179438},{"filename":"/include/atari.h","start":179438,"end":201203},{"filename":"/include/_heap.h","start":201203,"end":202321},{"filename":"/include/cbm_petscii_charmap.h","start":202321,"end":212061},{"filename":"/include/conio.h","start":212061,"end":221087},{"filename":"/include/dio.h","start":221087,"end":226557},{"filename":"/include/_vic2.h","start":226557,"end":237392},{"filename":"/include/time.h","start":237392,"end":242529},{"filename":"/include/cbm510.h","start":242529,"end":249125},{"filename":"/include/atari_atascii_charmap.h","start":249125,"end":258961},{"filename":"/include/joystick.h","start":258961,"end":264102},{"filename":"/include/_suzy.h","start":264102,"end":275260},{"filename":"/include/tgi.h","start":275260,"end":286112},{"filename":"/include/serial.h","start":286112,"end":294017},{"filename":"/include/zlib.h","start":294017,"end":301129},{"filename":"/include/_atari5200os.h","start":301129,"end":305689},{"filename":"/include/stdint.h","start":305689,"end":311885},{"filename":"/include/cbm610.h","start":311885,"end":317911},{"filename":"/include/pet.h","start":317911,"end":322558},{"filename":"/include/_tia.h","start":322558,"end":325189},{"filename":"/include/ctype.h","start":325189,"end":329579},{"filename":"/include/_vdc.h","start":329579,"end":332406},{"filename":"/include/_6526.h","start":332406,"end":336368},{"filename":"/include/geos.h","start":336368,"end":339579},{"filename":"/include/atari2600.h","start":339579,"end":340628},{"filename":"/include/device.h","start":340628,"end":343840},{"filename":"/include/pce.h","start":343840,"end":348647},{"filename":"/include/apple2enh.h","start":348647,"end":353379},{"filename":"/include/cbm264.h","start":353379,"end":359658},{"filename":"/include/plus4.h","start":359658,"end":362726},{"filename":"/include/_riot.h","start":362726,"end":363774},{"filename":"/include/inttypes.h","start":363774,"end":371584},{"filename":"/include/peekpoke.h","start":371584,"end":374692},{"filename":"/include/setjmp.h","start":374692,"end":377538},{"filename":"/include/dbg.h","start":377538,"end":383313},{"filename":"/include/_antic.h","start":383313,"end":395141},{"filename":"/include/target.h","start":395141,"end":398133},{"filename":"/include/_gtia.h","start":398133,"end":411972},{"filename":"/include/stdarg.h","start":411972,"end":414885},{"filename":"/include/gamate.h","start":414885,"end":422616},{"filename":"/include/fcntl.h","start":422616,"end":426166},{"filename":"/include/sym1.h","start":426166,"end":432999},{"filename":"/include/creativision.h","start":432999,"end":436611},{"filename":"/include/telestrat.h","start":436611,"end":441466},{"filename":"/include/atmos.h","start":441466,"end":447354},{"filename":"/include/_atarios.h","start":447354,"end":488540},{"filename":"/include/cbm.h","start":488540,"end":500432},{"filename":"/include/signal.h","start":500432,"end":503773},{"filename":"/include/_sid.h","start":503773,"end":507399},{"filename":"/include/pen.h","start":507399,"end":511099},{"filename":"/incluLine truncated
|
||||
+98
-86
@@ -1,11 +1,65 @@
|
||||
|
||||
import { defineArgs, extraArgsFor, linkSymbolArgs } from "../../common/toolmeta";
|
||||
import { getRootBasePlatform } from "../../common/util";
|
||||
import { defineArgs, extraArgsFor, linkSymbolArgs, getSharedFileSystemName } from "../../common/toolmeta";
|
||||
import { CodeListingMap, WorkerError } from "../../common/workertypes";
|
||||
import { WASIRunner } from "../../common/wasi/wasishim";
|
||||
import { BuildStep, BuildStepResult, gatherFiles, staleFiles, populateFiles, fixParamsWithDefines, applyAsmProjectParams, putWorkFile, populateExtraFiles, store, populateEntry, anyTargetChanged, processEmbedDirective } from "../builder";
|
||||
import { re_crlf, makeErrorMatcher } from "../listingutils";
|
||||
import { parseCC65DbgSizes } from "./cc65dbg";
|
||||
import { loadNative, moduleInstFn, print_fn, setupFS, execMain, execToFile, emglobal, EmscriptenModule } from "../wasmutils";
|
||||
import { loadWASMBinary, ensureWasiFilesystem } from "../wasmutils";
|
||||
import { wasiFSAdapter } from "../wasiutils";
|
||||
|
||||
// the WASI builds look for their data under share/cc65 in the per-platform
|
||||
// cc65-fs-<platform>.zip, preopened at '.'
|
||||
const CC65_SHARE = 'share/cc65';
|
||||
|
||||
const wasiModules: { [tool: string]: WebAssembly.Module } = {};
|
||||
|
||||
/**
|
||||
* Run cc65, ca65 or ld65 on a fresh WASI runner layered over the platform's
|
||||
* cc65 filesystem. `populate` copies the step's inputs into the runner first.
|
||||
* Returns the runner (for reading outputs) and its stderr lines.
|
||||
*/
|
||||
async function runCC65Tool(step: BuildStep, tool: string, args: string[],
|
||||
populate: (fs: ReturnType<typeof wasiFSAdapter>) => void) {
|
||||
const fsname = getSharedFileSystemName('cc65', step.platform);
|
||||
if (!fsname || !fsname.startsWith('wasi:'))
|
||||
throw new Error("No cc65 filesystem for platform " + step.platform);
|
||||
const sharefs = await ensureWasiFilesystem(fsname.substring(5));
|
||||
if (!sharefs)
|
||||
throw new Error("Could not load cc65 filesystem " + fsname);
|
||||
if (!wasiModules[tool]) {
|
||||
wasiModules[tool] = new WebAssembly.Module(loadWASMBinary(tool));
|
||||
}
|
||||
const wasi = new WASIRunner();
|
||||
wasi.initSync(wasiModules[tool]);
|
||||
wasi.fs.setParent(sharefs);
|
||||
populate(wasiFSAdapter(wasi));
|
||||
wasi.addPreopenDirectory(".");
|
||||
wasi.setArgs([tool, ...args]);
|
||||
const errno = wasi.run();
|
||||
console.log('exec', tool, args.join(' '));
|
||||
const stdout = wasi.fds[1].getBytesAsString();
|
||||
if (stdout) console.log(stdout);
|
||||
const stderr = wasi.fds[2].getBytesAsString().split(re_crlf).filter(s => s != '');
|
||||
return { wasi, errno, stderr };
|
||||
}
|
||||
|
||||
/** Report a failed tool run that printed no parseable error message. */
|
||||
function checkExitCode(tool: string, errno: number, stderr: string[], errors: WorkerError[]) {
|
||||
if (errno && !errors.length) {
|
||||
errors.push({ line: 0, msg: tool + " exited with code " + errno + (stderr.length ? ": " + stderr.join('\n') : '') });
|
||||
}
|
||||
}
|
||||
|
||||
function readWASIOutput(wasi: WASIRunner, path: string): Uint8Array {
|
||||
const fd = wasi.fs.getFile(path);
|
||||
if (!fd) throw new Error("Missing output file " + path);
|
||||
return fd.getBytes().slice();
|
||||
}
|
||||
|
||||
function readWASIOutputString(wasi: WASIRunner, path: string): string {
|
||||
return new TextDecoder().decode(readWASIOutput(wasi, path));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@@ -108,8 +162,7 @@ function parseCA65Listing(asmfn: string, code: string, symbols, segments, params
|
||||
return origlines;
|
||||
}
|
||||
|
||||
export function assembleCA65(step: BuildStep): BuildStepResult {
|
||||
loadNative("ca65");
|
||||
export async function assembleCA65(step: BuildStep): Promise<BuildStepResult> {
|
||||
var errors = [];
|
||||
gatherFiles(step, { mainFilePath: "main.s" });
|
||||
var objpath = step.prefix + ".o";
|
||||
@@ -121,18 +174,7 @@ export function assembleCA65(step: BuildStep): BuildStepResult {
|
||||
}
|
||||
fixParamsWithDefines(step.path, step.params);
|
||||
if (staleFiles(step, [objpath, lstpath])) {
|
||||
var objout, lstout;
|
||||
var CA65: EmscriptenModule = emglobal.ca65({
|
||||
instantiateWasm: moduleInstFn('ca65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: print_fn,
|
||||
printErr: makeErrorMatcher(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1),
|
||||
});
|
||||
var FS = CA65.FS;
|
||||
setupFS(FS, '65-' + getRootBasePlatform(step.platform));
|
||||
populateFiles(step, FS);
|
||||
var args = ['-v', '-g', '-I', '/share/asminc', '-o', objpath, '-l', lstpath, step.path];
|
||||
var args = ['-v', '-g', '-I', CC65_SHARE + '/asminc', '-o', objpath, '-l', lstpath, step.path];
|
||||
args.unshift.apply(args, ["-D", "__8BITWORKSHOP__=1"]);
|
||||
if (step.mainfile) {
|
||||
args.unshift.apply(args, ["-D", "__MAIN__=1"]);
|
||||
@@ -144,17 +186,17 @@ export function assembleCA65(step: BuildStep): BuildStepResult {
|
||||
.concat(defineArgs('ca65', step.params.symbols && step.params.symbols.assembler))
|
||||
.concat(extraArgsFor('ca65', step.params.buildArgs));
|
||||
args.splice(args.length - 1, 0, ...extra);
|
||||
execMain(step, CA65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'ca65', args, (fs) => populateFiles(step, fs));
|
||||
stderr.forEach(makeErrorMatcher(errors, /(.+?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode('ca65', errno, stderr, errors);
|
||||
if (errors.length) {
|
||||
let listings : CodeListingMap = {};
|
||||
// TODO? change extension to .lst
|
||||
//listings[step.path] = { lines:[], text:getWorkFileAsString(step.path) };
|
||||
return { errors, listings };
|
||||
}
|
||||
objout = FS.readFile(objpath, { encoding: 'binary' });
|
||||
lstout = FS.readFile(lstpath, { encoding: 'utf8' });
|
||||
putWorkFile(objpath, objout);
|
||||
putWorkFile(lstpath, lstout);
|
||||
putWorkFile(objpath, readWASIOutput(wasi, objpath));
|
||||
putWorkFile(lstpath, readWASIOutputString(wasi, lstpath));
|
||||
}
|
||||
return {
|
||||
linktool: "ld65",
|
||||
@@ -163,32 +205,16 @@ export function assembleCA65(step: BuildStep): BuildStepResult {
|
||||
};
|
||||
}
|
||||
|
||||
export function linkLD65(step: BuildStep): BuildStepResult {
|
||||
loadNative("ld65");
|
||||
export async function linkLD65(step: BuildStep): Promise<BuildStepResult> {
|
||||
var params = step.params;
|
||||
gatherFiles(step);
|
||||
var binpath = "main";
|
||||
if (staleFiles(step, [binpath])) {
|
||||
var errors = [];
|
||||
var LD65: EmscriptenModule = emglobal.ld65({
|
||||
instantiateWasm: moduleInstFn('ld65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: print_fn,
|
||||
printErr: function (s) { errors.push({ msg: s, line: 0 }); }
|
||||
});
|
||||
var FS = LD65.FS;
|
||||
setupFS(FS, '65-' + getRootBasePlatform(step.platform));
|
||||
populateFiles(step, FS);
|
||||
populateExtraFiles(step, FS, params.extra_link_files);
|
||||
// populate .cfg file, if it is a custom one
|
||||
if (store.hasFile(params.cfgfile)) {
|
||||
populateEntry(FS, params.cfgfile, store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
var libargs = params.libargs || [];
|
||||
var cfgfile = params.cfgfile;
|
||||
var args = ['--cfg-path', '/share/cfg',
|
||||
'--lib-path', '/share/lib',
|
||||
var args = ['--cfg-path', CC65_SHARE + '/cfg',
|
||||
'--lib-path', CC65_SHARE + '/lib',
|
||||
'-C', cfgfile,
|
||||
'-Ln', 'main.vice',
|
||||
'--dbgfile', 'main.dbg',
|
||||
@@ -197,12 +223,22 @@ export function linkLD65(step: BuildStep): BuildStepResult {
|
||||
// //#symbol ld (symbols not already merged into libargs) and //#flag ld
|
||||
args.push.apply(args, linkSymbolArgs('ld65', params.symbols && params.symbols.linker));
|
||||
args.push.apply(args, extraArgsFor('ld65', params.buildArgs));
|
||||
execMain(step, LD65, args);
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'ld65', args, (fs) => {
|
||||
populateFiles(step, fs);
|
||||
populateExtraFiles(step, fs, params.extra_link_files);
|
||||
// populate .cfg file, if it is a custom one
|
||||
if (store.hasFile(params.cfgfile)) {
|
||||
populateEntry(fs, params.cfgfile, store.getFileEntry(params.cfgfile), null);
|
||||
}
|
||||
});
|
||||
// any ld65 message (even a warning) fails the build
|
||||
for (let s of stderr) errors.push({ msg: s, line: 0 });
|
||||
checkExitCode('ld65', errno, stderr, errors);
|
||||
if (errors.length)
|
||||
return { errors: errors };
|
||||
var aout = FS.readFile("main", { encoding: 'binary' });
|
||||
var mapout = FS.readFile("main.map", { encoding: 'utf8' });
|
||||
var viceout = FS.readFile("main.vice", { encoding: 'utf8' });
|
||||
var aout = readWASIOutput(wasi, "main");
|
||||
var mapout = readWASIOutputString(wasi, "main.map");
|
||||
var viceout = readWASIOutputString(wasi, "main.vice");
|
||||
// correct binary for PCEngine
|
||||
if (step.platform == 'pce' && aout.length > 0x2000) {
|
||||
// move 8 KB from end to front
|
||||
@@ -232,7 +268,7 @@ export function linkLD65(step: BuildStep): BuildStepResult {
|
||||
// symbol sizes from the linker debug file
|
||||
var symbolsizes = {};
|
||||
try {
|
||||
let dbgsyms = parseCC65DbgSizes(FS.readFile("main.dbg", { encoding: 'utf8' }), params.ignore_segments);
|
||||
let dbgsyms = parseCC65DbgSizes(readWASIOutputString(wasi, "main.dbg"), params.ignore_segments);
|
||||
symbolsizes = dbgsyms.sizes;
|
||||
// labels outside CPU address space (e.g. NES CHR) would alias real addresses
|
||||
for (let name of dbgsyms.ignored) delete symbolmap[name];
|
||||
@@ -263,7 +299,7 @@ export function linkLD65(step: BuildStep): BuildStepResult {
|
||||
var listings: CodeListingMap = {};
|
||||
for (var fn of step.files) {
|
||||
if (fn.endsWith('.lst')) {
|
||||
var lstout = FS.readFile(fn, { encoding: 'utf8' });
|
||||
var lstout = readWASIOutputString(wasi, fn);
|
||||
lstout = lstout.split('\n\n')[1] || lstout; // remove header
|
||||
putWorkFile(fn, lstout);
|
||||
//const asmpath = fn.replace(/\.lst$/, '.ca65'); // TODO! could be .s
|
||||
@@ -297,51 +333,17 @@ export function linkLD65(step: BuildStep): BuildStepResult {
|
||||
}
|
||||
}
|
||||
|
||||
export function compileCC65(step: BuildStep): BuildStepResult {
|
||||
loadNative("cc65");
|
||||
export async function compileCC65(step: BuildStep): Promise<BuildStepResult> {
|
||||
var params = step.params;
|
||||
// stderr
|
||||
var re_err1 = /(.*?):(\d+): (.+)/;
|
||||
var errors: WorkerError[] = [];
|
||||
var errline = 0;
|
||||
function match_fn(s) {
|
||||
console.log(s);
|
||||
var matches = re_err1.exec(s);
|
||||
if (matches) {
|
||||
errline = parseInt(matches[2]);
|
||||
errors.push({
|
||||
line: errline,
|
||||
msg: matches[3],
|
||||
path: matches[1]
|
||||
});
|
||||
}
|
||||
}
|
||||
gatherFiles(step, { mainFilePath: "main.c" });
|
||||
var destpath = step.prefix + '.s';
|
||||
// the link step reads these params, so they have to be settled even when
|
||||
// the assembly file is up to date and nothing below runs
|
||||
fixParamsWithDefines(step.path, params);
|
||||
if (staleFiles(step, [destpath])) {
|
||||
var CC65: EmscriptenModule = emglobal.cc65({
|
||||
instantiateWasm: moduleInstFn('cc65'),
|
||||
noInitialRun: true,
|
||||
//logReadFiles:true,
|
||||
print: print_fn,
|
||||
printErr: match_fn,
|
||||
});
|
||||
var FS = CC65.FS;
|
||||
setupFS(FS, '65-' + getRootBasePlatform(step.platform));
|
||||
populateFiles(step, FS, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === 'string') {
|
||||
code = processEmbedDirective(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
});
|
||||
var args = [
|
||||
'-I', '/share/include',
|
||||
'-I', CC65_SHARE + '/include',
|
||||
'-I', '.',
|
||||
"-D", "__8BITWORKSHOP__",
|
||||
];
|
||||
@@ -357,8 +359,19 @@ export function compileCC65(step: BuildStep): BuildStepResult {
|
||||
var customArgs = params.extra_compiler_args || ['-T', '-g', '-Oirs', '-Cl', '-W', '-pointer-sign,-no-effect'];
|
||||
args = args.concat(customArgs, args);
|
||||
args.push(step.path);
|
||||
const runerr = execToFile(step, CC65, args, FS, destpath, errors);
|
||||
if (runerr) return runerr;
|
||||
const { wasi, errno, stderr } = await runCC65Tool(step, 'cc65', args, (fs) => populateFiles(step, fs, {
|
||||
mainFilePath: step.path,
|
||||
processFn: (path, code) => {
|
||||
if (typeof code === 'string') {
|
||||
code = processEmbedDirective(code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
}));
|
||||
stderr.forEach(makeErrorMatcher(errors, /(.*?):(\d+): (.+)/, 2, 3, step.path, 1));
|
||||
checkExitCode('cc65', errno, stderr, errors);
|
||||
if (errors.length) return { errors };
|
||||
putWorkFile(destpath, readWASIOutputString(wasi, destpath));
|
||||
}
|
||||
return {
|
||||
nexttool: "ca65",
|
||||
@@ -367,4 +380,3 @@ export function compileCC65(step: BuildStep): BuildStepResult {
|
||||
files: [destpath],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -61,3 +61,15 @@ export function runWASI(wasi: WASIRunner, errors: WorkerError[]) {
|
||||
errors.push({ line: 0, msg: "" + e });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap a WASI runner's filesystem in the Emscripten FS calls the builder's
|
||||
* populateFiles/populateExtraFiles/populateEntry use, so tools can share them.
|
||||
*/
|
||||
export function wasiFSAdapter(wasi: WASIRunner) {
|
||||
return {
|
||||
mkdir: (path: string) => wasi.fs.putDirectory(path),
|
||||
writeFile: (path: string, data: string | Uint8Array) => wasi.fs.putFile(path, data),
|
||||
utime: () => { },
|
||||
};
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
var ca65 = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(ca65) {
|
||||
ca65 = ca65 || {};
|
||||
|
||||
var Module=typeof ca65!=="undefined"?ca65:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=function(){if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function readAsync(filename,onload,onerror){requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2Line truncated
|
||||
|
||||
|
||||
return ca65;//.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = ca65;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return ca65; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["ca65"] = ca65;
|
||||
Binary file not shown.
@@ -1,21 +0,0 @@
|
||||
|
||||
var cc65 = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(cc65) {
|
||||
cc65 = cc65 || {};
|
||||
|
||||
var Module=typeof cc65!=="undefined"?cc65:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=function(){if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function readAsync(filename,onload,onerror){requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2Line truncated
|
||||
|
||||
|
||||
return cc65;//.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = cc65;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return cc65; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["cc65"] = cc65;
|
||||
Binary file not shown.
@@ -1,21 +0,0 @@
|
||||
|
||||
var ld65 = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(ld65) {
|
||||
ld65 = ld65 || {};
|
||||
|
||||
var Module=typeof ld65!=="undefined"?ld65:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=function(){if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function readAsync(filename,onload,onerror){requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2Line truncated
|
||||
|
||||
|
||||
return ld65;//.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = ld65;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return ld65; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["ld65"] = ld65;
|
||||
Binary file not shown.
@@ -174,11 +174,6 @@ export function loadNative(modulename: string) {
|
||||
// mount the filesystem at /share
|
||||
export function setupFS(FS, name: string) {
|
||||
var WORKERFS = FS.filesystems['WORKERFS'];
|
||||
if (name === '65-vector') name = '65-none'; // TODO
|
||||
if (name === '65-atari7800') name = '65-none'; // TODO
|
||||
if (name === '65-devel') name = '65-none'; // TODO
|
||||
if (name === '65-vcs') name = '65-atari2600'; // TODO
|
||||
if (name === '65-exidy') name = '65-none'; // TODO
|
||||
if (!fsMeta[name]) throw Error("No filesystem for '" + name + "'");
|
||||
FS.mkdir('/share');
|
||||
FS.mount(WORKERFS, {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
import type { WorkerResult, WorkerMessage, WorkerError, SourceLine } from "../common/workertypes";
|
||||
import { getPreloadFSName } from "../common/toolmeta";
|
||||
import { getSharedFileSystemName } from "../common/toolmeta";
|
||||
import { store, builder, errorResult, getWorkFileAsString } from "./builder";
|
||||
import { emglobal, fsMeta, loadFilesystem, listSharedFiles, readSharedFile, ensureFilesystem, readWasiSharedFile, listWasiSharedFiles, ensureWasiFilesystem } from "./wasmutils";
|
||||
|
||||
@@ -36,9 +36,9 @@ export function setupRequireFunction() {
|
||||
export async function handleMessage(data: WorkerMessage): Promise<WorkerResult> {
|
||||
// preload file system
|
||||
if (data.preload) {
|
||||
var fs = getPreloadFSName(data.preload, data.platform);
|
||||
if (fs && !fsMeta[fs])
|
||||
loadFilesystem(fs);
|
||||
var fs0 = splitWasiFSName(getSharedFileSystemName(data.preload, data.platform) || "");
|
||||
if (fs0.wasi) await ensureWasiFilesystem(fs0.name);
|
||||
else if (fs0.name && !fsMeta[fs0.name]) loadFilesystem(fs0.name);
|
||||
return;
|
||||
}
|
||||
// read a file from a filesystem package (shared code)
|
||||
|
||||
Reference in new issue
Block a user