1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-06-02 12:41:30 +00:00
8bitworkshop/gen/chunk-JMPDXGK5.js

49 lines
228 KiB
JavaScript
Raw Normal View History

import{a as hn,b as ya,c as Pl}from"./chunk-SDBJC2RS.js";import{a as js}from"./chunk-XMPGMPQ4.js";import{a as Bs,b as Us,c as kl}from"./chunk-NFHWZ4B3.js";import{D as va,J as ba,l as ee,u as $s,v as Ws}from"./chunk-42IVW2OL.js";import{A as Mr,E as _t,F as ha,G as Nr,H as fn,I as Ms,J as pa,T as ma,V as Ns,a as Rt,b as pi,ba as dn,ca as Os,d as ft,da as gi,e as da,f as rt,g as De,k as Fs,m as sn,n as on,o as ln,p as vr,q as Ls,t as un,w as Rs,x as Is,y as cn,z as dt}from"./chunk-S4FPTY4A.js";import{a as di,b as Ds,c as hi}from"./chunk-RQFURXHW.js";var wa=Ds((Hs,xa)=>{(function(l){if(typeof Hs=="object"&&typeof xa!="undefined")xa.exports=l();else if(typeof define=="function"&&define.amd)define([],l);else{var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t=this,t.localforage=l()}})(function(){var l,t,r;return function a(u,d,m){function b(W,fe){if(!d[W]){if(!u[W]){var z=typeof di=="function"&&di;if(!fe&&z)return z(W,!0);if(y)return y(W,!0);var H=new Error("Cannot find module '"+W+"'");throw H.code="MODULE_NOT_FOUND",H}var V=d[W]={exports:{}};u[W][0].call(V.exports,function(de){var K=u[W][1][de];return b(K||de)},V,V.exports,a,u,d,m)}return d[W].exports}for(var y=typeof di=="function"&&di,F=0;F<m.length;F++)b(m[F]);return b}({1:[function(a,u,d){(function(m){"use strict";var b=m.MutationObserver||m.WebKitMutationObserver,y;if(b){var F=0,W=new b(de),fe=m.document.createTextNode("");W.observe(fe,{characterData:!0}),y=function(){fe.data=F=++F%2}}else if(!m.setImmediate&&typeof m.MessageChannel!="undefined"){var z=new m.MessageChannel;z.port1.onmessage=de,y=function(){z.port2.postMessage(0)}}else"document"in m&&"onreadystatechange"in m.document.createElement("script")?y=function(){var xe=m.document.createElement("script");xe.onreadystatechange=function(){de(),xe.onreadystatechange=null,xe.parentNode.removeChild(xe),xe=null},m.document.documentElement.appendChild(xe)}:y=function(){setTimeout(de,0)};var H,V=[];function de(){H=!0;for(var xe,Ce,be=V.length;be;){for(Ce=V,V=[],xe=-1;++xe<be;)Ce[xe]();be=V.length}H=!1}u.exports=K;function K(xe){V.push(xe)===1&&!H&&y()}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],2:[function(a,u,d){"use strict";var m=a(1);function b(){}var y={},F=["REJECTED"],W=["FULFILLED"],fe=["PENDING"];u.exports=z;function z(X){if(typeof X!="function")throw new TypeError("resolver must be a function");this.state=fe,this.queue=[],this.outcome=void 0,X!==b&&K(this,X)}z.prototype.catch=function(X){return this.then(null,X)},z.prototype.then=function(X,ne){if(typeof X!="function"&&this.state===W||typeof ne!="function"&&this.state===F)return this;var oe=new this.constructor(b);if(this.state!==fe){var _e=this.state===W?X:ne;V(oe,_e,this.outcome)}else this.queue.push(new H(oe,X,ne));return oe};function H(X,ne,oe){this.promise=X,typeof ne=="function"&&(this.onFulfilled=ne,this.callFulfilled=this.otherCallFulfilled),typeof oe=="function"&&(this.onRejected=oe,this.callRejected=this.otherCallRejected)}H.prototype.callFulfilled=function(X){y.resolve(this.promise,X)},H.prototype.otherCallFulfilled=function(X){V(this.promise,this.onFulfilled,X)},H.prototype.callRejected=function(X){y.reject(this.promise,X)},H.prototype.otherCallRejected=function(X){V(this.promise,this.onRejected,X)};function V(X,ne,oe){m(function(){var _e;try{_e=ne(oe)}catch(ze){return y.reject(X,ze)}_e===X?y.reject(X,new TypeError("Cannot resolve promise with itself")):y.resolve(X,_e)})}y.resolve=function(X,ne){var oe=xe(de,ne);if(oe.status==="error")return y.reject(X,oe.value);var _e=oe.value;if(_e)K(X,_e);else{X.state=W,X.outcome=ne;for(var ze=-1,Ne=X.queue.length;++ze<Ne;)X.queue[ze].callFulfilled(ne)}return X},y.reject=function(X,ne){X.state=F,X.outcome=ne;for(var oe=-1,_e=X.queue.length;++oe<_e;)X.queue[oe].callRejected(ne);return X};function de(X){var ne=X&&X.then;if(X&&(typeof X=="object"||typeof X=="function")&&typeof ne=="function")return function(){ne.apply(X,arguments)}}function K(X,ne){var oe=!1;function _e(Je){oe||(oe=!
`):e)),i};var ni=/\[\]$/,Qi=/\r?\n/g,ai=/^(?:submit|button|image|reset|file)$/i,gs=/^(?:input|select|textarea|keygen)/i;function si(e,i,n,s){var c;if(Array.isArray(i))o.each(i,function(f,h){n||ni.test(e)?s(e,h):si(e+"["+(typeof h=="object"&&h!=null?f:"")+"]",h,n,s)});else if(!n&&be(i)==="object")for(c in i)si(e+"["+c+"]",i[c],n,s);else s(e,i)}o.param=function(e,i){var n,s=[],c=function(f,h){var E=V(h)?h():h;s[s.length]=encodeURIComponent(f)+"="+encodeURIComponent(E==null?"":E)};if(e==null)return"";if(Array.isArray(e)||e.jquery&&!o.isPlainObject(e))o.each(e,function(){c(this.name,this.value)});else for(n in e)si(n,e[n],i,c);return s.join("&")},o.fn.extend({serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=o.prop(this,"elements");return e?o.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!o(this).is(":disabled")&&gs.test(this.nodeName)&&!ai.test(e)&&(this.checked||!Qt.test(e))}).map(function(e,i){var n=o(this).val();return n==null?null:Array.isArray(n)?o.map(n,function(s){return{name:i.name,value:s.replace(Qi,`\r
`)}}):{name:i.name,value:n.replace(Qi,`\r
`)}}).get()}});var Zn=/%20/g,Ji=/#.*$/,rl=/([?&])_=[^&]*/,il=/^(.*?):[ \t]*([^\r\n]*)$/mg,nl=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,al=/^(?:GET|HEAD)$/,sl=/^\/\//,ms={},ea={},vs="*/".concat("*"),ta=K.createElement("a");ta.href=Le.href;function bs(e){return function(i,n){typeof i!="string"&&(n=i,i="*");var s,c=0,f=i.toLowerCase().match(yt)||[];if(V(n))for(;s=f[c++];)s[0]==="+"?(s=s.slice(1)||"*",(e[s]=e[s]||[]).unshift(n)):(e[s]=e[s]||[]).push(n)}}function ys(e,i,n,s){var c={},f=e===ea;function h(E){var x;return c[E]=!0,o.each(e[E]||[],function(D,R){var B=R(i,n,s);if(typeof B=="string"&&!f&&!c[B])return i.dataTypes.unshift(B),h(B),!1;if(f)return!(x=B)}),x}return h(i.dataTypes[0])||!c["*"]&&h("*")}function ra(e,i){var n,s,c=o.ajaxSettings.flatOptions||{};for(n in i)i[n]!==void 0&&((c[n]?e:s||(s={}))[n]=i[n]);return s&&o.extend(!0,e,s),e}function ol(e,i,n){for(var s,c,f,h,E=e.contents,x=e.dataTypes;x[0]==="*";)x.shift(),s===void 0&&(s=e.mimeType||i.getResponseHeader("Content-Type"));if(s){for(c in E)if(E[c]&&E[c].test(s)){x.unshift(c);break}}if(x[0]in n)f=x[0];else{for(c in n){if(!x[0]||e.converters[c+" "+x[0]]){f=c;break}h||(h=c)}f=f||h}if(f)return f!==x[0]&&x.unshift(f),n[f]}function ll(e,i,n,s){var c,f,h,E,x,D={},R=e.dataTypes.slice();if(R[1])for(h in e.converters)D[h.toLowerCase()]=e.converters[h];for(f=R.shift();f;)if(e.responseFields[f]&&(n[e.responseFields[f]]=i),!x&&s&&e.dataFilter&&(i=e.dataFilter(i,e.dataType)),x=f,f=R.shift(),f){if(f==="*")f=x;else if(x!=="*"&&x!==f){if(h=D[x+" "+f]||D["* "+f],!h){for(c in D)if(E=c.split(" "),E[1]===f&&(h=D[x+" "+E[0]]||D["* "+E[0]],h)){h===!0?h=D[c]:D[c]!==!0&&(f=E[0],R.unshift(E[1]));break}}if(h!==!0)if(h&&e.throws)i=h(i);else try{i=h(i)}catch(B){return{state:"parsererror",error:h?B:"No conversion from "+x+" to "+f}}}}return{state:"success",data:i}}o.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Le.href,type:"GET",isLocal:nl.test(Le.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":vs,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":o.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,i){return i?ra(ra(e,o.ajaxSettings),i):ra(o.ajaxSettings,e)},ajaxPrefilter:bs(ms),ajaxTransport:bs(ea),ajax:function(e,i){typeof e=="object"&&(i=e,e=void 0),i=i||{};var n,s,c,f,h,E,x,D,R,B,L=o.ajaxSetup({},i),I=L.context||L,ie=L.context&&(I.nodeType||I.jquery)?o(I):o.event,ve=o.Deferred(),re=o.Callbacks("once memory"),Ge=L.statusCode||{},Ve={},ht={},Fe="canceled",ge={readyState:0,getResponseHeader:function(Te){var je;if(x){if(!f)for(f={};je=il.exec(c);)f[je[1].toLowerCase()+" "]=(f[je[1].toLowerCase()+" "]||[]).concat(je[2]);je=f[Te.toLowerCase()+" "]}return je==null?null:je.join(", ")},getAllResponseHeaders:function(){return x?c:null},setRequestHeader:function(Te,je){return x==null&&(Te=ht[Te.toLowerCase()]=ht[Te.toLowerCase()]||Te,Ve[Te]=je),this},overrideMimeType:function(Te){return x==null&&(L.mimeType=Te),this},statusCode:function(Te){var je;if(Te)if(x)ge.always(Te[ge.status]);else for(je in Te)Ge[je]=[Ge[je],Te[je]];return this},abort:function(Te){var je=Te||Fe;return n&&n.abort(je),ut(0,je),this}};if(ve.promise(ge),L.url=((e||L.url||Le.href)+"").replace(sl,Le.protocol+"//"),L.type=i.method||i.type||L.method||L.type,L.dataTypes=(L.dataType||"*").toLowerCase().match(yt)||[""],L.crossDomain==null){E=K.createElement("a");try{E.href=L.url,E.href=E.href,L.crossDomain=ta.protocol+"//"+ta.host!=E.protocol+"//"+E.host}catch(Te){L.crossDomain=!0}}if(L.data&&L.processData&&typeof L.data!="string"&&(L.data=o.param(L.data,L.traditional)),ys(ms,L,i,ge),x)return ge;D=o.event&&L.global,D&&o.active++==0&&o.event.trigger("ajaxStart"),L.type=L.type.toUpperCase(),L.hasContent=!al.test(L.type),s=L.url.replace(Ji,""),L.hasContent?L.da
=====
[Open this project in 8bitworkshop](http://8bitworkshop.com/redir.html?platform=$PLATFORM&githubURL=$GITHUBURL&file=$MAINFILE).
`;function Or(){for(var l={},t=0;t<localStorage.length;t++){var r=localStorage.key(t);if(r.startsWith("__repo__")){var a=JSON.parse(localStorage.getItem(r)),u=r.substring("__repo__".length);l[u]=a}}return l}function vi(l){var t=l.split("/",8);return t.length<5||t[0]!="https:"||t[2]!="github.com"||t[5]&&t[5]!="tree"?null:{user:t[3],repo:t[4],repopath:t[3]+"/"+t[4],branch:t[6],subtreepath:t[7]}}var Pa=class{constructor(t,r,a,u){this.githubCons=t,this.githubToken=r,this.store=a,this.project=u,this.recreateGithub()}recreateGithub(){this.github=new this.githubCons({token:this.githubToken})}login(){if(this.githubToken&&this.githubToken.length)return new Promise((r,a)=>{r()});var t=new firebase.auth.GithubAuthProvider;return t.addScope("repo"),firebase.auth().signInWithPopup(t).then(r=>{this.githubToken=r.credential.accessToken;var a=r.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((t,r)=>{t()})}isFileIgnored(t){return t=t.toUpperCase(),!!(t.startsWith("LICENSE")||t.startsWith("README")||t.startsWith("."))}async getGithubSession(t){var r=vi(t);if(!r)throw new Error("Please enter a valid GitHub URL.");var a=Or()[r.repopath],u=r.branch||a&&a.branch,d=this.github.repos(r.user,r.repo);try{u=(await d.fetch()).defaultBranch||"master"}catch(b){console.log("could not fetch default branch: "+b),u="main"}console.log("branch =",u);var m={url:t,user:r.user,reponame:r.repo,repopath:r.repopath,branch:u,subtreepath:r.subtreepath,prefix:"",repo:d,platform_id:this.project?this.project.platform_id:a?a.platform_id:null};return m}getGithubHEADTree(t){var r;return this.getGithubSession(t).then(a=>(r=a,r.repo.git.refs.heads(r.branch).fetch())).then(a=>(r.head=a,r.sha=a.object.sha,r.repo.git.trees(r.sha).fetch())).then(a=>{if(r.subtreepath){for(let u of a.tree)if(u.type=="tree"&&u.path==r.subtreepath&&u.sha)return r.repo.git.trees(u.sha).fetch();throw Error("Cannot find subtree '"+r.subtreepath+"' in tree "+a.sha)}return a}).then(a=>(r.tree=a,r))}bind(t,r){var a="__repo__"+t.repopath;if(r){var u={url:t.url,branch:t.branch,platform_id:t.platform_id,mainPath:t.mainPath,sha:t.sha};console.log("storing",u),localStorage.setItem(a,JSON.stringify(u))}else localStorage.removeItem(a)}import(t){var r;return this.getGithubSession(t).then(a=>(r=a,r.repo.contents("README.md").read())).catch(a=>(console.log(a),console.log("no README.md found"),r.repo.fetch().then(u=>""))).then(a=>{var u;if(u=/8bitworkshop.com[^)]+file=([^)&]+)/.exec(a),u&&u[1]&&(console.log("main path: '"+u[1]+"'"),r.mainPath=u[1]),u=/8bitworkshop.com[^)]+platform=([A-Za-z0-9._\-]+)/.exec(a),u){if(console.log("platform id: '"+u[1]+"'"),r.platform_id&&!r.platform_id.startsWith(u[1]))throw Error("Platform mismatch: Repository is "+u[1]+", you have "+r.platform_id+" selected.");r.platform_id=u[1]}return this.bind(r,!0),r})}pull(t,r){var a;return this.getGithubHEADTree(t).then(u=>{a=u;let d=[];return a.paths=[],a.tree.tree.forEach(m=>{if(console.log(m.path,m.type,m.size),a.paths.push(m.path),m.type=="blob"&&!this.isFileIgnored(m.path)){var b=a.repo.git.blobs(m.sha).fetch().then(y=>{var F=a.prefix+m.path,W=m.size,fe=y.encoding,z=y.content;if(y.encoding=="base64"){var H=sn(atob(z)),V=vr(m.path,H);z=V?H:ln(H)}return y.size!=z.length&&(z=z.slice(0,y.size)),(r||this.store).setItem(F,z)});d.push(b)}else console.log("ignoring "+m.path)}),Promise.all(d)}).then(u=>a)}importAndPull(t){return this.import(t).then(r=>this.pull(t))}publish(t,r,a,u){var d,m=this.project.platform_id,b=this.project.stripLocalPath(this.project.mainPath);return this.github.user.repos.create({name:t,description:r,private:u,auto_init:!1,license_template:a}).then(y=>{d=y;var F=Al;F=F.replace(/\$NAME/g,encodeURIComponent(t)),F=F.replace(/\$PLATFORM/g,encodeURIComponent(m)),F=F.replace(/\$GITHUBURL/g,encodeURIComponent(d.htmlUrl)),F=F.replace(/\$MA
`,V==a&&(d=u),u++,H+=de.nbytes||1}return z};var y=a<0?a-Aa:Math.max(0,a-Aa);let F=b(y,a-y)+b(a,Aa);this.disasmview.setValue(F),t&&this.disasmview.setCursor(d,0),Xs(this.disasmview,d)}getCursorPC(){var t=this.disasmview.getCursor().line;if(t>=0){var r=this.disasmview.getLine(t).trim().split(/\s+/);if(r&&r.length>=1){var a=parseInt(r[0],16);if(a>=0)return a}}return-1}},Da=class extends bn{constructor(t){super();this.path=t}refreshListing(){var t=me.getListingForFile(this.path);this.assemblyfile=t&&(t.assemblyfile||t.sourcefile)}refresh(t){if(this.refreshListing(),!!this.assemblyfile){var r=this.assemblyfile.text,a=this.getDisasmView();if(a.setValue(r),!!P.saveState){var u=tr||P.saveState(),d=u.c?u.c.EPC||u.c.PC:0;if(d>=0&&this.assemblyfile){var m=this.assemblyfile.findLineForOffset(d,vn);m&&(t&&a.setCursor(m.line-1,0),Xs(a,m.line-1))}}}}};function Ks(l){return l.endsWith("_SIZE__")||l.endsWith("_LAST__")||l.endsWith("STACKSIZE__")||l.endsWith("FILEOFFS__")||l.startsWith("l__")||l.startsWith("s__")||l.startsWith(".__.")}var yn=class{constructor(){this.recreateOnResize=!0;this.totalRows=5120}createDiv(t){var r=document.createElement("div");return r.setAttribute("class","memdump"),t.appendChild(r),this.showMemoryWindow(t,r),this.maindiv=r}showMemoryWindow(t,r){this.memorylist=new Ms({w:$(t).width(),h:$(t).height(),itemHeight:Os(),totalRows:this.totalRows,generatorFn:u=>{var d=this.getMemoryLineAt(u),m=document.createElement("div");if(this.dumplines){var b=this.dumplines[u];b&&m.classList.add("seg_"+this.getMemorySegment(this.dumplines[u].a))}return m.appendChild(document.createTextNode(d)),m}}),$(r).append(this.memorylist.container),this.tick();let a=wi();a&&this.dumplines&&this.scrollToAddress(a.data_start)}scrollToAddress(t){this.dumplines&&this.memorylist.scrollToItem(this.findMemoryWindowLine(t))}refresh(){this.dumplines=null,this.tick()}tick(){this.memorylist&&$(this.maindiv).find("[data-index]").each((t,r)=>{var a=$(r),u=parseInt(a.attr("data-index")),d=a.text(),m=this.getMemoryLineAt(u);d!=m&&a.text(m)})}getMemoryLineAt(t){var r=t*16,a=0,u=16,d;if(this.getDumpLines()){var m=this.dumplines[t];if(m)r=m.a&65520,a=m.a-r,u=a+m.l,d=m.s;else return"."}for(var b=De(r+a,4)+" ",y=0;y<a;y++)b+=" ";a>8&&(b+=" ");for(var y=a;y<u;y++){var F=this.readAddress(r+y);y==8&&(b+=" "),b+=" "+(typeof F=="number"?De(F,2):"??")}for(var y=u;y<16;y++)b+=" ";return d&&(b+=" "+d),b}readAddress(t){return P.readAddress(t)}getDumpLineAt(t){var r=this.dumplines[t];if(r)return r.a+" "+r.s}getDumpLines(){var t=P.debugSymbols&&P.debugSymbols.addr2symbol||{};if(this.dumplines==null){this.dumplines=[];var r=0,a;for(let b of Object.keys(t)){var u=parseInt(b),d=t[u];if(a)for(Ks(a)&&(a="");r<u&&this.dumplines.length<65536;){var m=r+16&1048560;m>u&&(m=u),this.dumplines.push({a:r,l:m-r,s:a}),r=m}a=d}}return this.dumplines}getMemorySegment(t){let r=wi();if(r){if(t>=r.data_start&&t<r.data_start+r.data_size)return P.getSP&&t>=P.getSP()-15?"stack":"data";if(t>=r.code_start&&t<r.code_start+(r.code_size||r.rom_size))return"code"}var a=me.segments;if(a){for(var u of a)if(t>=u.start&&t<u.start+u.size){if(u.type=="rom")return"code";if(u.type=="ram")return"data";if(u.type=="io")return"io"}}return"unknown"}findMemoryWindowLine(t){for(var r=0;r<this.dumplines.length;r++)if(this.dumplines[r].a>=t)return r}},Fa=class extends yn{constructor(){super(...arguments);this.totalRows=2048}readAddress(t){return P.readVRAMAddress(t)}getMemorySegment(t){return"video"}getDumpLines(){return null}},La=class{constructor(t,r){this.recreateOnResize=!0;this.path=t,this.data=r}createDiv(t){return this.vlist=new gi(t),this.vlist.create(t,this.data.length+15>>4,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){for(var r=t*16,a=0,u=16,d=De(r+a,4)+" ",m=0;m<a;m++)d+=" ";a>8&&(d+=" ");for(var m=a;m<u;m++){var b=this.data[r+m];m==8&&(d+=" "),d+=" "+(b>=0?De(b,2):" ")}return{text:d}}refresh(){this.vlist.refresh()}getPath(){return this.path}},Ra=class{createDiv(t){return this.maindiv=zt(t,"vertical-scroll"),this.maindiv.css("display","grid"),this.maindiv.css("grid-templat
`+u),a+=`
`+this.opToString(b,y,z))}),"X: "+t+" Y: "+r+" "+a}refresh(){this.tick(),this.datau32.fill(At)}tick(){super.tick(),this.drawImage()}drawImage(){this.ctx.putImageData(this.imageData,0,0)}clear(){this.datau32.fill(At)}},Ma=class extends Ia{createDiv(t){return this.createCanvas(t,256,256)}initCanvas(){super.initCanvas(),this.canvas.onclick=t=>{var r=dn(this.canvas,t),a=Math.floor(r.x)+Math.floor(r.y)*256,u=-1,d=-1;this.redraw((m,b)=>{d<0&&u>=0&&b==a&&(d=u),m==ee.EXECUTE&&(u=b)}),d>=0&&xi(d)}}clear(){for(var t=0;t<=65535;t++){var r=P.readAddress(t),a=r>>2|r&31;a|=a<<8|a<<16,this.datau32[t]=a|At}}drawEvent(t,r,a,u){var d=this.getOpRGB(t,r);if(!!d){var m=r&255,b=r>>8&255,y=this.datau32[r&65535];y=y|d|At,this.datau32[r&65535]=y}}getTooltipText(t,r){var a=(t&255)+(r<<8),u="",d=-1,m={},b=null,y=[];return this.redraw((F,W,fe,z,H,V)=>{switch(F){case ee.EXECUTE:d=W,b=this.addr2symbol(W)||b;break;case ee.SP_PUSH:y.push(b);break;case ee.SP_POP:b=y.pop();break}var de=F|d;W==a&&!m[de]&&(u==""&&b&&(u+=`
`+b),u+=`
PC `+this.addr2str(d)+" "+this.opToString(F,null,V),m[de]=1)}),this.addr2str(a)+u}},eo=class extends Ia{initCanvas(){super.initCanvas(),this.canvas.onclick=t=>{var r=dn(this.canvas,t),a=Math.floor(r.x),u=Math.floor(r.y),d=this.getOpAtPos(r.x,r.y,ee.EXECUTE);d&&(It("toline"),P.runEval(()=>{let m=P.getRasterScanline&&P.getRasterScanline()>=u;return m&&P.getRasterLineClock?m&&P.getRasterLineClock()>a:m}))}}drawEvent(t,r,a,u){var d=this.getOpRGB(t,r);if(!!d){var m=a+u*this.canvas.width,b=d|At;this.datau32[m]|=b}}drawImage(){let t=At;for(let r=0;r<this.datau32.length;r++)this.datau32[r]==At?this.datau32[r]=t:t=this.datau32[r];super.drawImage()}},Na=class extends eo{constructor(){super(...arguments);this.interrupt=0;this.rgb=0;this.lastpc=0}drawEvent(t,r,a,u){var d=a+u*this.canvas.width;if(t==ee.INTERRUPT&&(this.interrupt=1),this.interrupt==1&&t==ee.SP_PUSH&&(this.interrupt=r),this.interrupt>1&&this.sp>this.interrupt&&(this.interrupt=0),t==ee.MEM_WRITE&&(this.rgb|=47),t==ee.VRAM_WRITE&&(this.rgb|=16256),t==ee.IO_WRITE&&(this.rgb|=2047872),t==ee.IO_READ&&(this.rgb|=7936),t==ee.WAIT&&(this.rgb=32768),t==ee.ILLEGAL||t==ee.DMA_READ)this.datau32[d]=4279176975;else{let m=this.rgb;if(t==ee.EXECUTE){let b=this.sp&15;b>=8&&(b=16-b),Math.abs(this.lastpc)-r>16&&(b+=1),Math.abs(this.lastpc)-r>256&&(b+=1),m=this.rgb=526344*b+2105376,this.lastpc=r}this.interrupt&&(m|=8388672),this.datau32[d]==At&&(this.datau32[d]=m|At)}}},Oa=class extends br{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new gi(t),this.vlist.create(t,this.cyclesPerLine*this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){var r="",a="seg_data",u=this.dumplines&&this.dumplines[t];if(u!=null){var d=u.info.join(", ");r="("+Rt(u.row,4)+", "+Rt(u.col,4)+") "+pi(u.asm||"",20)+d,d.indexOf("Write ")>=0&&(a="seg_io")}return{text:r,clas:a}}refresh(){this.tick()}tick(){let t=P instanceof ba||P instanceof va;this.dumplines={},this.redraw((r,a,u,d,m,b)=>{t&&(m>>=2);var y=this.dumplines[m];switch(y==null&&(y={op:r,addr:a,row:d,col:u,asm:null,info:[]},this.dumplines[m]=y),r){case ee.EXECUTE:if(P.disassemble){var F=P.disassemble(a,P.readAddress.bind(P));y.asm=F&&F.line}break;default:var W=this.opToString(r,a,b);W!=""&&y.info.push(W);break}}),this.vlist.refresh()}},$a=class extends br{constructor(){super(...arguments);this.recreateOnResize=!0}createDiv(t){return this.vlist=new gi(t),this.vlist.create(t,this.totalScanlines,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){for(var r=Rt(t+"",3)+" ",a="seg_code",u=this.dumplines&&this.dumplines[t]||[],d=Math.round(this.cyclesPerLine/3.3),m=0;m<this.cyclesPerLine;m++){var b=u[m];if(b!==void 0){var y=b&65535,F=F&At;if(F==ee.EXECUTE)r+=",";else{var W=De(y);r+=W,m+=W.length-1}}else r+=m==d?"|":"."}return u[-1]&&(r+=" "+u[-1]),{text:r,clas:a}}refresh(){this.tick()}tick(){let t=P instanceof ba||P instanceof va;this.dumplines={},this.redraw((r,a,u,d,m,b)=>{var y=this.dumplines[d];switch(y==null&&(this.dumplines[d]=y=[]),r){case ee.EXECUTE:var F=P.debugSymbols.addr2symbol[a];F&&(y[-1]=F);break;case ee.IO_READ:case ee.IO_WRITE:case ee.VRAM_READ:case ee.VRAM_WRITE:y[u]=r|a;break}}),this.vlist.refresh()}},Wa=class extends br{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(r=>!Ks(r))):this.keys=["no symbols defined"],this.vlist=new gi(t),this.vlist.create(t,this.keys.length+1,this.getMemoryLineAt.bind(this)),this.vlist.maindiv}getMemoryLineAt(t){if(t==0)return{text:Rt("Symbol",35)+Rt("Reads",8)+Rt("Writes",8)};var r=this.keys[t-1],a=this.dumplines&&this.dumplines[r];function u(b){var y=a[b]|0;return Rt(y?y.toString():"",8)}var d,m;return a!=null?(d=Rt(r,35)+u(ee.MEM_READ)+u(ee.MEM_WRITE),a[ee.EXECUTE]?m="seg_code":a[ee.IO_READ]||a[ee.IO_WRITE]?m="seg_io":m="seg_data"):(d=Rt(r,35),m="seg_unknown"),{text:d,clas:m}}refresh(){this.tick()}tick(){this.dumplines={},this.redraw((t,r,a,u,d,m)=>{var b=P.deb
`},d=window.c2t({noInitialRun:!0,print:u,printErr:u}),m=d.FS,b=Qe()+".bin",y=Qe()+".wav";m.writeFile(b,st(),{encoding:"binary"});var F=["-2bc",b+","+t.toString(16),y];d.callMain(F);var W=m.readFile(y,{encoding:"binary"});if(W){var fe=new Blob([W],{type:"audio/wav"});(0,Mt.saveAs)(fe,y),a+="Then connect your audio output to the cassette input, turn up the volume, and play the audio file.",vt(a)}})}function zl(l){_t("lib/makewav.js").then(()=>{let t="",r=function(b){t+=b+`
`};var a=rt(Qe());let u=a+".bin",d=a+".wav";window.makewav({noInitialRun:!1,print:r,printErr:r,arguments:["-ts","-f0","-v10",u],preRun:b=>{b.FS.writeFile(u,st(),{encoding:"binary"})}}).ready.then(b=>{let y=[u];b.run(y),console.log(t);let W=b.FS.readFile(d,{encoding:"binary"});if(W){let fe=new Blob([W],{type:"audio/wav"});(0,Mt.saveAs)(fe,d),t+=`
Connect your audio output to the SuperCharger input, turn up the volume, and play the audio file.`,vt(t)}})})}function Vl(l){var t=rt(Qe());let r=t+".tap",a=new He(t),u=new Za({sine_wave:!0}),d=st(),m=d[0]+d[1]*256;d=d.slice(2),a.setContent({data:d,startAddress:m,type:He.FILE_TYPE_NON_RELOCATABLE}),a.generateSound(u);let b=u.getTAPData();if(b){let y=new Blob([b],{type:"application/octet-stream"});(0,Mt.saveAs)(y,r)}}function es(){switch(dt(ae)){case"vcs":return zl;case"apple2":return Hl;case"c64":return Vl}}function To(l){if(st()==null)return we("Please fix errors before exporting."),!0;var t=es();if(t===void 0)return we("Cassette export is not supported on this platform."),!0;t(l)}function Co(l){if(st()==null)return we("Please finish compiling with no errors before downloading ROM."),!0;var t=rt(Qe());if(P.getDownloadFile){var r=P.getDownloadFile(),t=rt(Qe());(0,Mt.saveAs)(r.blob,t+r.extension)}else if(st()instanceof Uint8Array){var a=new Blob([st()],{type:"application/octet-stream"}),u=P.getROMExtension&&P.getROMExtension(st())||"-"+dt(ae)+".bin";(0,Mt.saveAs)(a,t+u)}else we(`The "${ae}" platform doesn't have downloadable ROMs.`)}function Po(l){var t=pe.getCurrentText();if(!t)return!1;var r=new Blob([t],{type:"text/plain;charset=utf-8"});(0,Mt.saveAs)(r,Ro(),{autoBom:!1})}async function ko(){let l=(await import("./jszip.min-R7NPJJ5M.js")).default;return new l}async function Ao(l){var t=await ko();Gt().iterateFiles((r,a)=>{a&&t.file(ft(r),a)}),t.generateAsync({type:"blob"}).then(r=>{(0,Mt.saveAs)(r,Qe()+"-"+dt(ae)+".zip")})}function Do(l){let t=P.getDebugSymbolFile&&P.getDebugSymbolFile();if(!t){we("This project does not have debug information.");return}var r=rt(Qe());(0,Mt.saveAs)(t.blob,r+t.extension,{autoBom:!1})}async function Fo(l){var t=await ko(),r=await rr().keys();Me(!0);try{var a=0;await Promise.all(r.map(d=>rr().getItem(d).then(m=>{Dt(a++/(r.length+1)),m&&t.file(d,m)})));var u=await t.generateAsync({type:"blob"});(0,Mt.saveAs)(u,dt(ae)+"-all.zip")}finally{Me(!1)}}var ts=!1;function Lo(){ts||_t("lib/gif.js").then(()=>{var l=$("#emulator").find("canvas")[0];if(!l){we("Could not find canvas element to record video!");return}var t=0;l.style&&l.style.transform&&(l.style.transform.indexOf("rotate(-90deg)")>=0?t=-1:l.style.transform.indexOf("rotate(90deg)")>=0&&(t=1));var r=new GIF({workerScript:"lib/gif.worker.js",workers:4,quality:10,rotate:t}),a=$("#videoPreviewImage");r.on("progress",y=>{Dt(y)}),r.on("finished",y=>{a.attr("src",URL.createObjectURL(y)),Me(!1),P.resume(),$("#videoPreviewModal").modal("show")});var u=20,d=300,m=0;console.log("Recording video",l),$("#emulator").css("backgroundColor","#cc3333");var b=()=>{m++>d?(console.log("Rendering video"),$("#emulator").css("backgroundColor","inherit"),Me(!0),P.pause(),r.render(),ts=!1):(r.addFrame(l,{delay:u,copy:!0}),setTimeout(b,u),ts=!0)};b()})}var Gl=Pl(),Sr=ya(),te=ha(window.location.search||"?"),ae,_r,Be,P,me,pe,tr,Io,is,Ci=$("#controls_top"),Ye,ot,ns,Tr,kn,Tt,Pi=Nr(te.electron),lt=Nr(te.embed),ki,Ai,An=!1,Wr=!1,Dn=null,Mo=null,as=!1,No="c.PC == 0x6000";function rr(){return Tt}function Gt(){return me}function st(){return Tr}function wi(){return Io}var ql={dasm:"6502",acme:"6502",cc65:"text/x-csrc",ca65:"6502",nesasm:"6502",z80asm:"z80",sdasz80:"z80",sdcc:"text/x-csrc",verilator:"verilog",jsasm:"z80",zmac:"z80",bataribasic:"bataribasic",markdown:"markdown",js:"javascript",xasm6809:"z80",cmoc:"text/x-csrc",yasm:"gas",smlrc:"text/x-csrc",inform6:"inform6",fastbasic:"fastbasic",basic:"basic",silice:"verilog",wiz:"text/x-wiz",vasmarm:"vasm",armips:"vasm",ecs:"ecs","remote:llvm-mos":"text/x-csrc",cc7800:"text/x-csrc"},Yl={dasm:"https://raw.githubusercontent.com/sehugg/dasm/master/doc/dasm.txt",cc65:"https://cc65.github.io/doc/cc65.html",ca65:"https://cc65.github.io/doc/ca65.html",sdcc:"http://sdcc.sourceforge.net/doc/sdccman.pdf",verilator:"https://www.veripool.org/ftp/verilator_doc.pdf",fastbasic:"https://github.com/dmsc/fastbasic/blob/master/manual.md",bataribasic:"help/bataribasic/manual.html",wiz:"https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz",s
`,$o(l),te.newfile?ss(!0,!0):vt('Could not find file "'+l+'". Loading default file.'),delete te.newfile,Mn()}}function ls(l){if(l=="/")te={repo:"/"};else if(l.indexOf("://")>=0){var t=vi(l);t&&(te={repo:t.repopath})}else te.platform=ae,te.file=l;Er()}async function ru(l){var t=P.getToolForFilename(l);try{return await $.get("presets/"+dt(ae)+"/skeleton."+t,"text")}catch(r){we("Could not load skeleton for "+ae+"/"+t+"; using blank file")}}function us(l){return l.indexOf(" ")>=0?(we("No spaces in filenames, please."),!1):!0}function iu(l){return bootbox.prompt({title:"Enter the name of your new main source file.",placeholder:"newfile"+P.getDefaultExtension(),callback:t=>{if(t&&t.trim().length>0){if(!us(t))return;t.indexOf(".")<0&&(t+=P.getDefaultExtension());var r=t;xr("workspace","file","new"),te.newfile="1",ls(r)}}}),!0}function nu(l){let t=$('<input type="file" multiple accept="*" style="display:none">'),r=t[0];t.change(a=>{au(r.files)}),t.click()}function au(l){console.log(l);var t=0;function r(){var a=l[t++];if(!a)console.log("Done uploading",t),t>2?(vt("Files uploaded."),setTimeout(Fi,1e3)):(te.file=l[0].name,bootbox.confirm({message:"Open '"+Sr.sanitize(te.file)+"' as main project file?",buttons:{confirm:{label:"Open As New Project"},cancel:{label:"Include/Link With Project Later"}},callback:m=>{m?Er():setTimeout(Fi,1e3)}})),xr("workspace","file","upload");else{var u=a.name,d=new FileReader;d.onload=function(m){var b=m.target.result,y=new Uint8Array(b);vr(u,y)||(y=ln(y).replace(`\r
`,`
`)),pe.updateFile(u,y),console.log("Uploaded "+u+" "+y.length+" bytes"),r()},d.readAsArrayBuffer(a)}}l&&r()}async function su(l){var t=window.showDirectoryPicker;t||we("This browser can't open local files on your computer, yet. Try Chrome.");var r=await t(),a=r.name,u="__localfs__"+a,d={handle:r},m=rs.createInstance({name:u,version:2});await m.setItem(u,d),te={localfs:a},Er(!0)}async function ou(l){return new Promise((t,r)=>{bootbox.prompt(Sr.sanitize(l),a=>{t(a)})})}async function lu(l){let t={mode:"readwrite"};var r="__localfs__"+l,a=rs.createInstance({name:r,version:2}),u=await a.getItem(r),d=u.handle;console.log(u,d);var m=await d.queryPermission(t);if(console.log(m),m!=="granted"&&(await ou("Request permissions to access filesystem?"),m=await d.requestPermission(t)),m!=="granted"){we("Could not get permission to access filesystem.");return}return{getFileData:async b=>{console.log("getFileData",b);let y=await d.getFileHandle(b,{create:!1});console.log("getFileData",y);let F=await y.getFile();console.log("getFileData",F);let W=await(vr(b)?F.binary():F.text());return console.log(y,F,W),W},setFileData:async(b,y)=>{}}}function Qe(){return ft(me.mainPath)}function Ro(){return ft(pe.getActiveID())}function uu(l){var t=pe.getActive();if(t&&t.setText){var r=pe.getActiveID();$.get("presets/"+dt(ae)+"/"+r,a=>{bootbox.confirm("Reset '"+Sr.sanitize(r)+"' to default?",u=>{u&&t.setText(a)})},"text").fail(()=>{Be?we("Can only revert built-in examples. If you want to revert all files, You can pull from the repository."):we("Can only revert built-in examples.")})}else we("Cannot revert the active window. Please choose a text file.")}function cu(l){var t=pe.getActive();if(t&&t.getPath){var r=pe.getActiveID();bootbox.confirm("Delete '"+Sr.sanitize(r)+"'?",a=>{a&&Tt.removeItem(r).then(()=>{te.file==r?(Cr.unsetLastPreset(),Er()):(Fi(),vt("Deleted "+r))})})}else we("Cannot delete the active window.")}function fu(l){var t=pe.getActive();if(t&&t.getPath&&me.getFile(t.getPath())){var r=pe.getActiveID();bootbox.prompt({title:"Rename '"+Sr.sanitize(r)+"' to?",value:r,callback:a=>{var u=me.getFile(t.getPath());if(a&&a!=r&&u){if(!us(a))return;Tt.removeItem(r).then(()=>Tt.setItem(a,u)).then(()=>{Fi(),alert("Renamed "+r+" to "+a),r==me.mainPath&&ls(a)})}}})}else we("Cannot rename the active window.")}function du(l){let t={},r,a=P.getPresets?P.getPresets():[];for(var u=0;u<a.length;u++){var d=a[u],m=d.chapter?d.chapter+". "+d.name:d.name,b=d.id==me.mainPath;d.category?r=$("<optgroup />").attr("label","Examples: "+d.category).appendTo(l):r||(r=$("<optgroup />").attr("label","Examples").appendTo(l)),r.append($("<option />").val(d.id).text(m).attr("selected",b?"selected":null)),b&&(kn=d),t[d.id]=m}return t}function hu(l){if(Ct&&!Pi){var t=0,r=Or();if(r){let u=$("<optgroup />").attr("label","Repositories").appendTo(l);for(let d in r){var a=r[d];a.platform_id&&dt(a.platform_id)==dt(ae)&&u.append($("<option />").val(a.url).text(a.url.substring(a.url.indexOf("/"))))}}}}async function Wo(l,t,r,a){let u=await Tt.keys();u||(u=[]);let d;for(var m=0;m<u.length;m++){let b=u[m];if(b.startsWith(r)&&!a[b]){d||(d=$("<optgroup />").attr("label",t).appendTo(l));let y=b.substring(r.length);d.append($("<option />").val(b).text(y).attr("selected",b==me.mainPath?"selected":null))}}}function jo(l){l.css("visibility","visible");var t=me.mainPath;l.val()!=t&&l.append($("<option />").val(t).text(t).attr("selected","selected"))}async function Fi(){var l=$("#preset_select").empty();if(Be)l.append($("<option />").val("/").text("Leave Repository")),$("#repo_name").text(ft(Be)+"/").show(),await Wo(l,Be,"",{}),jo(l);else{hu(l);var t=du(l);await Wo(l,"Local Files","",t),jo(l)}l.off("change").change(function(r){ls($(this).val().toString())})}function pu(l){var t=$("<p/>");if(l.path!=null){var r=l.line?l.label?`(${l.path} @ ${l.label})`:`(${l.path}:${l.line})`:`(${l.path})`,a=$("<a/>").text(r),u=l.path;u==Qe()&&(u=me.mainPath),pe.isWindow(u)&&a.click(d=>{var m=pe.createOrShow(u);m instanceof yi&&m.setCurrentLine(l,!0)}),t.append(a),t.append("&nbsp;")}return t.append($("<span/>").tex
`),t.SP&&(r+="c.SP < 0x"+De(t.SP)+`
`),t.HL&&(r+=`c.HL == 0x4000
`),P.readAddress&&(r+=`this.readAddress(0x1234) == 0x0
`),P.readVRAMAddress&&(r+=`this.readVRAMAddress(0x1234) != 0x80
`),P.getRasterScanline&&(r+=`this.getRasterScanline() > 222
`),r}function Du(l){var t=new Function("c","return ("+l+");").bind(P);It(),P.runEval(t),No=l}function qo(){P.isRunning()?(pe.tick(),An=!1):An||(pe.tick(),An=!0),setTimeout(qo,100)}function Rn(l){P.setFrameRate(l),l>.01?$("#fps_label").text(l.toFixed(2)):$("#fps_label").text("1/"+Math.round(1/l))}function Fu(){var l=P.getFrameRate();l=l/2,l>1e-5&&Rn(l)}function Lu(){var l=P.getFrameRate();l=Math.min(60,l*2),Rn(l)}function Ru(){Rn(60/65536)}function Iu(){qt(),Rn(60)}function Mu(){pe.refresh(!1);var l=pe.getActive();if(l.getSourceFile&&l.setTimingResult){var t=P.newCodeAnalyzer();t.showLoopTimingForPC(0),l.setTimingResult(t)}}function hs(){Wr&&(P.setRecorder(null),$("#dbg_record").removeClass("btn_recording"),$("#replaydiv").hide(),Ho(),Wr=!1)}function Yo(){Wr&&ot.reset()}function Xo(){ot.reset(),P.setRecorder(ot),$("#dbg_record").addClass("btn_recording"),$("#replaydiv").show(),Wr=!0}function Nu(){Wr?hs():Xo()}function Yt(l,t,r){var a=pe.getActive();a&&a.insertText?bootbox.prompt({title:"Add "+Sr.sanitize(l)+" File to Project",value:"filename"+Sr.sanitize(t),callback:u=>{if(u&&u.trim().length>0){if(!us(u))return;var d=u,m=`
`+r(u)+`
`;me.loadFiles([d]).then(b=>{b&&b.length?we(u+" already exists; including anyway"):me.updateFile(d,`
`),a.insertText(m),Di()})}}}):we("Can't insert text in this window -- switch back to main file")}function Ou(){var l=Qe(),t=P.getToolForFilename(l);l.endsWith(".c")||t=="sdcc"||t=="cc65"||t=="cmoc"||t=="smlrc"?Yt("Header",".h",r=>'#include "'+r+'"'):t=="dasm"||t=="zmac"?Yt("Include",".inc",r=>' include "'+r+'"'):t=="ca65"||t=="sdasz80"||t=="vasm"||t=="armips"?Yt("Include",".inc",r=>' .include "'+r+'"'):t=="verilator"?Yt("Verilog",".v",r=>'`include "'+r+'"'):t=="wiz"?Yt("Include",".wiz",r=>'import "'+r+'";'):t=="ecs"?Yt("Include",".ecs",r=>'import "'+r+'"'):t=="acme"?Yt("Include",".acme",r=>'!src "'+r+'"'):we("Can't add include file to this project type ("+t+")")}function $u(){var l=Qe(),t=P.getToolForFilename(l);l.endsWith(".c")||t=="sdcc"||t=="cc65"||t=="cmoc"||t=="smlrc"?Yt("Linked C (or .s)",".c",r=>'//#link "'+r+'"'):l.endsWith("asm")||l.endsWith(".s")||t=="ca65"||t=="lwasm"?Yt("Linked ASM",".inc",r=>';#link "'+r+'"'):we("Can't add linked file to this project type ("+t+")")}function Wu(){if(Ye=new hn($("#toolbar")[0],null),Ye.grp.prop("id","run_bar"),Ye.add("ctrl+alt+r","Reset","glyphicon-refresh",Cu).prop("id","dbg_reset"),Ye.add("ctrl+alt+,","Pause","glyphicon-pause",bu).prop("id","dbg_pause"),Ye.add("ctrl+alt+.","Resume","glyphicon-play",Vo).prop("id","dbg_go"),P.restartAtPC&&Ye.add("ctrl+alt+/","Restart at Cursor","glyphicon-play-circle",Eu).prop("id","dbg_restartatline"),Ye.newGroup(),Ye.grp.prop("id","debug_bar"),P.runEval&&Ye.add("ctrl+alt+e","Reset and Debug","glyphicon-fast-backward",Pu).prop("id","dbg_restart"),P.stepBack&&Ye.add("ctrl+alt+b","Step Backwards","glyphicon-step-backward",Tu).prop("id","dbg_stepback"),P.step&&Ye.add("ctrl+alt+s","Single Step","glyphicon-step-forward",yu).prop("id","dbg_step"),P.stepOver&&Ye.add("ctrl+alt+t","Step Over","glyphicon-hand-right",xu).prop("id","dbg_stepover"),P.runUntilReturn&&Ye.add("ctrl+alt+o","Step Out of Subroutine","glyphicon-hand-up",_u).prop("id","dbg_stepout"),P.runToVsync&&Ye.add("ctrl+alt+n","Next Frame/Interrupt","glyphicon-forward",wu).prop("id","dbg_tovsync"),(P.runEval||P.runToPC)&&!ae.startsWith("verilog")&&Ye.add("ctrl+alt+l","Run To Line","glyphicon-save",Su).prop("id","dbg_toline"),Ye.newGroup(),Ye.grp.prop("id","xtra_bar"),$(".dropdown-menu").collapse({toggle:!1}),$("#item_new_file").click(iu),$("#item_upload_file").click(nu),$("#item_open_directory").click(su),$("#item_github_login").click(mo),$("#item_github_logout").click(vo),$("#item_github_import").click(bo),$("#item_github_publish").click(yo),$("#item_github_push").click(xo),$("#item_github_pull").click(wo),$("#item_repo_delete").click(So),$("#item_share_file").click(_o),$("#item_reset_file").click(uu),$("#item_rename_file").click(fu),$("#item_delete_file").click(cu),P.runEval?$("#item_debug_expr").click(ku).show():$("#item_debug_expr").hide(),$("#item_download_rom").click(Co),$("#item_download_file").click(Po),$("#item_download_zip").click(Ao),P.getDebugSymbolFile?$("#item_download_sym").click(Do):$("#item_download_sym").hide(),$("#item_download_allzip").click(Fo),$("#item_record_video").click(Lo),es()?$("#item_export_cassette").click(To):$("#item_export_cassette").hide(),P.setFrameRate&&P.getFrameRate&&($("#dbg_slower").click(Fu),$("#dbg_faster").click(Lu),$("#dbg_slowest").click(Ru),$("#dbg_fastest").click(Iu)),$("#item_addfile_include").click(Ou),$("#item_addfile_link").click($u),$("#item_request_persist").click(()=>ss(!0,!1)),qo(),P.newCodeAnalyzer&&Ye.add(null,"Analyze CPU Timing","glyphicon-time",Mu),P.setRecorder&&P.advance&&ju(),P.showHelp){let{li:r,a}=os("help__"+ae,is+" Help");$("#help_menu").append(r),$(a).click(()=>window.open(P.showHelp(),"_8bws_help"))}let l=P.getToolForFilename(Qe()),t=Yl[l];if(t){let{li:r,a}=os("help__"+l,l+" Help");$("#help_menu").append(r),$(a).click(()=>window.open(t,"_8bws_help"))}}function ju(){var l=$("#replayslider"),t=$("#clockslider"),r=$("#replay_frame"),a=$("#replay_clock");P.advanceFrameClock||$("#clockdiv").hide();var u=()=>{r.text(ot.lastSeekFrame+""),a.text(ot.lastSeekStep+"")},d=y=>{ir();var F=parseInt(l.val().toString()),W=parseInt(t.val()
/*!
localForage -- Offline Storage, Improved
Version 1.10.0
https://localforage.github.io/localForage
(c) 2013-2017 Mozilla, Apache License 2.0
*/
/*!
* jQuery JavaScript Library v3.6.3
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2022-12-20T21:28Z
*/
//# sourceMappingURL=chunk-JMPDXGK5.js.map