Rounded out the rest of the MUL and DIV instructions
This commit is contained in:
parent
b3982328ed
commit
e9d2b0ec25
3 changed files with 494 additions and 350 deletions
|
|
@ -30,214 +30,216 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
|
|||
function la(){da();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function na(a){la();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
||||
function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function oa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
|
||||
oa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
||||
var pa={ac:0,ub:1,cc:2,dc:3,ec:4,fc:5,gc:6,hc:7,gb:8,ic:9,vb:10,jc:11,kc:12,wb:13,lc:14,mc:15,nc:16,oc:17,pc:18,qc:19,rc:20,sc:21,tc:22,uc:23,vc:24,wc:25,xc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,fb:65,$b:66,bc:67,yc:68,E:69,zc:70,Ac:71,Bc:72,Cc:73,Dc:74,Ec:75,Fc:76,Gc:77,Hc:78,Ic:79,Jc:80,Q:81,Kc:82,Lc:83,Mc:84,Nc:85,Oc:86,Pc:87,
|
||||
Qc:88,Rc:89,yb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Sc:97,Tc:98,Uc:99,d:100,e:101,Vc:102,Wc:103,Xc:104,Yc:105,Zc:106,k:107,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,xb:127};
|
||||
var pa={ec:0,xb:1,gc:2,hc:3,ic:4,jc:5,kc:6,lc:7,lb:8,mc:9,yb:10,nc:11,oc:12,zb:13,pc:14,qc:15,rc:16,sc:17,tc:18,uc:19,vc:20,wc:21,xc:22,yc:23,zc:24,Ac:25,Bc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,kb:65,dc:66,fc:67,Cc:68,E:69,Dc:70,Ec:71,Fc:72,Gc:73,Hc:74,Ic:75,Jc:76,Kc:77,Lc:78,Mc:79,Nc:80,Q:81,Oc:82,Pc:83,Qc:84,Rc:85,Sc:86,Tc:87,
|
||||
Uc:88,Vc:89,Bb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Wc:97,Xc:98,Yc:99,d:100,e:101,Zc:102,$c:103,ad:104,bd:105,cd:106,k:107,dd:108,ed:109,n:110,fd:111,p:112,q:113,r:114,gd:115,t:116,jd:117,kd:118,ld:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ab:127};
|
||||
function qa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function ra(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function sa(a,b,c){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return ra(a,8,b,c?"0o":"")}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ra(a,16,b,c?"0x":"")}
|
||||
function va(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function wa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function xa(){var a=ya();return-1!==a.indexOf("pcjs.org",a.length-8)}function za(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)}
|
||||
function Ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ia(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function Ja(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||
function ta(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ua(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function xa(){var a=ya();return-1!==a.indexOf("pcjs.org",a.length-8)}function za(a){return a.replace(/[&<>"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)}
|
||||
function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Da(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function Ja(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||
function Ka(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
|
||||
f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||
function La(a,b){var c,d={Y:null,U:null,pa:null,oa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.pa=g.load;d.oa=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
|
||||
function La(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
|
||||
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ca=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
|
||||
function ya(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ma(){if(null==Na){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Na=a}return Na}function Oa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function Pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Qa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
|
||||
function Ra(a){if(!Sa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Sa=c}return Sa[a]}function bb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function cb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function db(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function eb(a){fb.init.push(a)}
|
||||
function Ra(a){if(!Sa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Sa=c}return Sa[a]}function Ta(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Ua(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function db(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function eb(a){fb.init.push(a)}
|
||||
function gb(a){if(hb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ib(a){!hb&&a?(hb=!0,jb&&kb("init"),lb&&kb("show")):hb=a}function kb(a){fb[a]&&gb(fb[a])}var Sa=null,fb={init:[],show:[],exit:[]},jb=!1,lb=!1,hb=!0,Na=null;db("onload",function(){jb=!0;gb(fb.init)});db("onpageshow",function(){lb=!0;gb(fb.show)});db(Qa("Opera")||Qa("iOS")?"onunload":"onbeforeunload",function(){gb(fb.exit)});
|
||||
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.tb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ma=this.id:(this.Na=this.id.substr(0,a),this.Ma=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Za:!1,V:!1,error:!1};this.Qa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.qa=null;v.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date}
|
||||
function r(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function sb(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}
|
||||
function Bb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
||||
function Cb(a,b){var c=x;b=y(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=w(g))&&h.binding&&a.ia(h.type,h.binding,g,h.value),m=k.length}}}}
|
||||
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Db=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.w={ready:!1,Ia:!1,cb:!1,V:!1,error:!1};this.Ta=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;v.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date}
|
||||
function r(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function rb(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}
|
||||
function sb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function w(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
||||
function ub(a,b){var c=x;b=y(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=w(g))&&h.binding&&a.ja(h.type,h.binding,g,h.value),m=k.length}}}}
|
||||
function y(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||
function Db(a){for(var b=!0,c=Eb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Fb.indexOf(e)&&(f=function(){return function(){Db(a)}}());var g=Gb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=Bb(d[1],a);if(h)if(g=Hb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Eb[a];return b}l=u.prototype;
|
||||
function Db(a){for(var b=!0,c=Eb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Fb.indexOf(e)&&(f=function(){return function(){Db(a)}}());var g=Gb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=sb(d[1],a);if(h)if(g=Hb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Eb[a];return b}l=u.prototype;
|
||||
l.toString=function(){return this.name?this.name:this.id||this.type};
|
||||
l.ia=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.qa=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Ma)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
|
||||
l.status=function(a){this.j(this.Ma+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Ib(a,b){a.w.error=!0;a.da(b)}function Jb(a){return a.w.error?(a.j(a.toString()+" error"),!0):!1}function Kb(a,b){b&&(a.w.ready?b():a.Qa=b);return a.w.ready}function z(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Qa;a.Qa=null;b&&b()}}function Lb(a,b){a.w.Fa&&(b?a.w.Za=!0:void 0===b&&a.j(a.toString()+" busy"));return a.w.Fa}
|
||||
function Mb(a,b){if(a.w.Za)return a.w.Fa=!1,a.w.Za=!1;if(a.w.error)return a.j(a.toString()+" error"),!1;a.w.Fa=b;return a.w.Fa}l.ra=function(){return this.w.V=!0};l.ha=function(a,b){b&&(this.w.V=!1);return!0};function Nb(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.ob)}return!1}function Ob(a,b,c,d){a.D&&(!0===c||Nb(a,c|0))&&a.D.message(b,d)}
|
||||
l.ja=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.ta=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Pa)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
|
||||
l.status=function(a){this.j(this.Pa+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Ib(a,b){a.w.error=!0;a.da(b)}function Jb(a){return a.w.error?(a.j(a.toString()+" error"),!0):!1}function Kb(a,b){b&&(a.w.ready?b():a.Ta=b);return a.w.ready}function z(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Ta;a.Ta=null;b&&b()}}function Lb(a,b){a.w.Ia&&(b?a.w.cb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.w.Ia}
|
||||
function Mb(a,b){if(a.w.cb)return a.w.Ia=!1,a.w.cb=!1;if(a.w.error)return a.j(a.toString()+" error"),!1;a.w.Ia=b;return a.w.Ia}l.ua=function(){return this.w.V=!0};l.ia=function(a,b){b&&(this.w.V=!1);return!0};function Nb(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.sb)}return!1}function Ob(a,b,c,d){a.D&&(!0===c||Nb(a,c|0))&&a.D.message(b,d)}
|
||||
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
||||
var nb=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Eb=window?window.PCjs.Commands:{},Fb=["hold","sleep","wait"],Gb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Hb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
||||
var x="pdp10",Pb="PDPjs",Qb=Math.pow(2,18)-1,A=Math.pow(2,18),E=Math.pow(2,18)-1,F=Math.pow(2,18),Rb=Math.pow(2,35)-1,G=Math.pow(2,35),H=Math.pow(2,36)-1,I=Math.pow(2,36),Sb=Math.pow(2,17)-1,J=Math.pow(2,35)-1,Tb=Math.pow(2,35),Ub=Math.pow(2,36),Vb=Math.pow(2,34),K=Math.pow(2,32),Wb=Math.pow(2,21),Xb=Math.pow(2,26),Yb=Math.pow(2,23),Zb=Math.pow(2,30),x="pdp10",Pb="PDPjs",M={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,
|
||||
var x="pdp10",Pb="PDPjs",Qb=Math.pow(2,18)-1,A=Math.pow(2,18),B=Math.pow(2,18)-1,F=Math.pow(2,18),Rb=Math.pow(2,35)-1,G=Math.pow(2,35),H=Math.pow(2,36)-1,I=Math.pow(2,36),Sb=Math.pow(2,17)-1,J=Math.pow(2,35)-1,Tb=Math.pow(2,35),Ub=Math.pow(2,36),Vb=Math.pow(2,34),K=Math.pow(2,32),Wb=Math.pow(2,21),Xb=Math.pow(2,26),Yb=Math.pow(2,23),Zb=Math.pow(2,30),x="pdp10",Pb="PDPjs",M={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,
|
||||
write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
||||
function $b(a,b){u.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.f=this.I=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=ac;this.B={};this.b={START:[1,1,!0,!1,this.Lb],STEP:[1,1,!1,!1,this.Mb],ENABLE:[1,1,!1,!1,this.Gb],CONT:[1,1,!0,!1,this.Eb],DEP:[0,0,!0,!1,this.Fb],EXAM:[1,1,!0,!1,this.Hb],LOAD:[1,1,!0,!1,this.Jb],TEST:[0,0,!0,!1,this.Ib]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Kb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Cb,toggle:this.Vb,reset:this.Rb,
|
||||
set:this.Ub};z(this)}p($b,u);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)};
|
||||
l.ia=function(a,b,c,d){if(this.G&&this.G.ia(a,b,c,d)||this.v&&this.v.ia(a,b,c,d)||this.D&&this.D.ia(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart=
|
||||
function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.ia.call(this,a,b,c,d)}};l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ec(this);fc(this)};l.ra=function(a,b){if(!b)if(this.T&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ha=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.f,this.A,this.u]);return a.data()};
|
||||
l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Rb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.B)jc(a,c,null!=b?b:a.B[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])}
|
||||
l.Cb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Ub=function(a,b){if("SR"==a)return ic(this,qa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Vb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1}
|
||||
function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Lb=function(a){a||this.v.w.L||(this.v.A=this.f%A,this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Mb=function(){};l.Gb=function(a){a||this.v.W()};
|
||||
l.Eb=function(a){if(!a&&!this.v.w.L)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Ja(1);0<b&&(rc(this.v,b),sc(this.v,b,!0),tc(this.v,b))}catch(c){"number"!=typeof c&&Ib(this.v,c.stack||c.message)}this.stop();this.G&&P(this.G)}};l.Fb=function(a){a&&!this.v.w.L&&(this.P&&uc(this),a=bc(this,this.A=this.u),this.S==ac?Dc(this.H,this.f,a):this.v.i(this.f,a))};
|
||||
l.Hb=function(a){if(!a&&!this.v.w.L){var b;this.R&&uc(this);this.S==ac?b=Ec(this.H,this.f):b=this.v.g(this.f);bc(this,this.A=b)}};l.Jb=function(a){a||this.v.w.L||hc(this,this.u)};l.Ib=function(a){a?(this.F=!0,ec(this,!0)):(this.F=!1,ec(this),ic(this,0))};l.Kb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function uc(a){var b=1,c=a.H.u;a.b[lc]&&a.b[lc][1]||(b=-b);hc(a,a.f&~c|a.f+b&c)}
|
||||
function $b(a,b){u.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.f=this.I=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=ac;this.B={};this.b={START:[1,1,!0,!1,this.Pb],STEP:[1,1,!1,!1,this.Qb],ENABLE:[1,1,!1,!1,this.Kb],CONT:[1,1,!0,!1,this.Ib],DEP:[0,0,!0,!1,this.Jb],EXAM:[1,1,!0,!1,this.Lb],LOAD:[1,1,!0,!1,this.Nb],TEST:[0,0,!0,!1,this.Mb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ob,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Gb,toggle:this.Zb,reset:this.Vb,
|
||||
set:this.Yb};z(this)}p($b,u);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)};
|
||||
l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart=
|
||||
function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.ja.call(this,a,b,c,d)}};l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ec(this);fc(this)};l.ua=function(a,b){if(!b)if(this.T&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.f,this.A,this.u]);return a.data()};
|
||||
l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Vb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.B)jc(a,c,null!=b?b:a.B[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])}
|
||||
l.Gb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Yb=function(a,b){if("SR"==a)return ic(this,qa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Zb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1}
|
||||
function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Pb=function(a){a||this.v.w.L||(this.v.A=this.f%A,this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Qb=function(){};l.Kb=function(a){a||this.v.W()};
|
||||
l.Ib=function(a){if(!a&&!this.v.w.L)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Ma(1);0<b&&(rc(this.v,b),sc(this.v,b,!0),tc(this.v,b))}catch(c){"number"!=typeof c&&Ib(this.v,c.stack||c.message)}this.stop();this.G&&P(this.G)}};l.Jb=function(a){a&&!this.v.w.L&&(this.P&&uc(this),a=bc(this,this.A=this.u),this.S==ac?vc(this.H,this.f,a):this.v.i(this.f,a))};
|
||||
l.Lb=function(a){if(!a&&!this.v.w.L){var b;this.R&&uc(this);this.S==ac?b=Ec(this.H,this.f):b=this.v.g(this.f);bc(this,this.A=b)}};l.Nb=function(a){a||this.v.w.L||hc(this,this.u)};l.Mb=function(a){a?(this.F=!0,ec(this,!0)):(this.F=!1,ec(this),ic(this,0))};l.Ob=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function uc(a){var b=1,c=a.H.u;a.b[lc]&&a.b[lc][1]||(b=-b);hc(a,a.f&~c|a.f+b&c)}
|
||||
function hc(a,b){a.f=b&a.H.u;if(a.N!==a.f){a.N=a.f;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.F||jc(d,e,f)}}}function bc(a,b){a.I=b%I;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.F||jc(d,e,f)}}return a.I}function ic(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;fc(a);return!0}l.stop=function(){hc(this,this.v.A)};
|
||||
function gc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=sb(d.id);e||(e=new $b(d,!0));Cb(e,c)}}var ac=7,mc="DEP",oc="ENABLE",nc="EXAM",lc="STEP";eb(gc);function Fc(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.I=+a.busWidth||18;this.F=1<<this.I;this.u=this.F-1;this.f=Math.log2(16384);this.B=this.F/16384|0;this.A=0;this.b=[];a=new Gc(this);Hc(a,this.D);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;z(this)}p(Fc,u);l=Fc.prototype;l.reset=function(){};
|
||||
l.ra=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ha=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,Ic(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Jc(a,b,c,d){for(var e=b,f=c,g=e>>>a.f;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ha+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Kc(Lc,e,f)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+sa(b)),!0):Kc(Nc,b,c)}
|
||||
function Ec(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.ab||e.Ab){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||
l.Bb=function(a){this.A||(this.D&&Nb(this.D,4)&&Ob(this.D,"memory fault on "+Q(this.D,a),!0,!0),this.v.W())};function Kc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lc=1,Nc=2;function Oc(a){u.call(this,"Device",a,256)}p(Oc,u);l=Oc.prototype;l.Aa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;z(this)};l.ra=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ha=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new O(this)).data()};
|
||||
l.restore=function(){return!0};eb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new Oc(c),Cb(c,d)}}});function Gc(a,b,c,d,e){this.J=a;this.id=Pc+=2;this.C=b;this.Ha=c;this.size=d||0;this.type=e||Qc;this.H=e==Rc;this.b=null;this.g=this.G=this.eb;this.i=this.D=this.Ia;this.f=this.v=0;Hc(this);this.ab=this.Ab=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Sc(this,Tc)}else Sc(this)}l=Gc.prototype;l.save=function(){return this.u};
|
||||
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.ab=!0):!1};function Sc(a,b){b||(b=Uc);Vc(a,b,void 0);Wc(a,b,void 0)}function Vc(a,b,c){c&&a.f||(a.g=b[0]||a.eb);if(c||void 0===c)a.G=b[0]||a.eb}function Wc(a,b,c){c&&a.v||(a.i=!a.H&&b[1]||a.Ia);if(c||void 0===c)a.D=b[1]||a.Ia}l.Da=function(a,b){b?this.v++||Wc(this,Xc,!1):this.f++||Vc(this,Xc,!1)};function Yc(a,b){b?--a.v||(a.i=a.H?a.Ia:a.D):--a.f||(a.g=a.G)}
|
||||
function Hc(a,b,c){a.b=b;a.f=a.v=0;c&&((a.f=c.f)&&Vc(a,Xc,!1),(a.v=c.v)&&Wc(a,Xc,!1))}l.eb=function(a,b){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to read invalid address "+Q(this.b,b),!0);this.J.Bb(b);return-1};l.Ia=function(a,b,c){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to write "+Q(this.b,a)+" to invalid addresses "+Q(this.b,c),!0)};l.Pb=function(a){return this.u[a]};l.Yb=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.ab=!0)};
|
||||
l.Nb=function(a,b){if(this.b&&null!=this.C){var c=this.b;Zc(c,this.C+a,2,c.M)&&c.W(!1)}return this.G(a,b)};l.Xb=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;Zc(d,this.C+b,2,d.I)&&d.W(!1)}this.H?this.Ia(a,0,c):this.D(a,b,c)};var Qc=0,Rc=2,Mc=["NONE","RAM","ROM"],Pc=0,Uc=[],Tc=[Gc.prototype.Pb,Gc.prototype.Yb],Xc=[Gc.prototype.Nb,Gc.prototype.Xb];
|
||||
function $c(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ua=0;this.Xa=b;this.ea=c;this.Va=Math.round(this.Xa/1E4)/100;this.ba=this.Va*this.ea;this.Wa=this.ya=this.fa=this.Oa=0;this.w.L=this.w.Ta=!1;this.w.Z=a.autoStart;"string"==typeof this.w.Z&&(this.w.Z="true"==this.w.Z);this.w.Ea=!1;this.wa=this.ka=0;this.xa=+a.csStart;this.ja=+a.csInterval;this.la=+a.csStop;this.O=[];this.lb=this.Sb.bind(this);this.T=this.N=this.R=this.S=this.M=this.va=this.P=this.ma=this.Ya=this.aa=
|
||||
0;this.Ka=null;z(this)}p($c,u);l=$c.prototype;l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Ka=a.u;for(a=0;a<ad.length;a++)(b=this.J[ad[a]])&&this.G.ia(null,ad[a],b);z(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||
l.ra=function(a,b){var c=bd(this.G,"autoStart");null!=c?this.w.Z="true"==c?!0:"false"==c?!1:!!c:null==this.w.Z&&(this.w.Z=!this.D&&void 0===this.J.run);if(!b){if(a){cd(this);if(!this.restore(a))return!1;dd(this)}else this.reset();this.D?(a=this.D,b=this.w.Z,a.wa=!0,a.j("Type ? for help with PDPjs Debugger commands"),ed(a),b||fd(a),a.ua&&(b=a.ua,a.ua=null,gd(a,b))):this.status("No debugger detected");this.w.Z||this.j("CPU will not be auto-started "+(this.Ka?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
||||
l.ha=function(a){return a?this.save():!0};l.Z=function(){return this.w.L?!0:this.w.Z?(pc(this),!0):!1};l.rb=function(){return 0};function dd(a){void 0===a.xa&&(a.xa=0);void 0===a.ja&&(a.ja=-1);void 0===a.la&&(a.la=-1);a.w.Ea=0<=a.xa&&0<a.ja;a.w.Ea&&(a.wa=0,a.ka=a.xa-a.T)}function tc(a,b){if(a.w.Ea){var c=!1;a.wa=a.wa+a.rb()|0;a.ka-=b;0>=a.ka&&(a.ka+=a.ja,c=!0);0<=a.la&&a.la<=hd(a)&&(a.ja=a.la=-1,dd(a),a.W(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+q(a.wa))}}
|
||||
l.ia=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.V)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.w.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.w.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Qa?" (waiting for notification)":""))+".");a=!1}a&&(d.w.L?d.W():pc(d))},!0;case "speed":return this.J[b]=
|
||||
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){id(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function sc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function jd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Va);a.Wa=Math.round(1E3/kd);a.ya=Math.floor(a.Xa/kd*c);b||(a.fa=a.ya);a.Oa=0}function hd(a){return a.T+a.N+a.R-a.S}function cd(a){a.aa=0;a.Ya=0;a.T=a.N=a.R=a.S=0;dd(a);id(a,1)}
|
||||
function id(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Va*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&ld(a.G)}sc(a,a.N);a.N=0;a.M=ob();a.P=0;jd(a);return d}function md(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
||||
function gc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=rb(d.id);e||(e=new $b(d,!0));ub(e,c)}}var ac=7,mc="DEP",oc="ENABLE",nc="EXAM",lc="STEP";eb(gc);function Fc(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.I=+a.busWidth||18;this.F=1<<this.I;this.u=this.F-1;this.f=Math.log2(16384);this.B=this.F/16384|0;this.A=0;this.b=[];a=new Gc(this);Hc(a,this.D);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;z(this)}p(Fc,u);l=Fc.prototype;l.reset=function(){};
|
||||
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,Ic(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Jc(a,b,c,d){for(var e=b,f=c,g=e>>>a.f;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ka+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ka){m=h.size-(e-k);m>f&&(m=f);h.Ka=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Kc(Lc,e,f)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+sa(b)),!0):Kc(Nc,b,c)}
|
||||
function Ec(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function vc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.fb||e.Eb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||
l.Fb=function(a){this.A||(this.D&&Nb(this.D,4)&&Ob(this.D,"memory fault on "+Q(this.D,a),!0,!0),this.v.W())};function Kc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Lc=1,Nc=2;function Oc(a){u.call(this,"Device",a,256)}p(Oc,u);l=Oc.prototype;l.Aa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;z(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new O(this)).data()};
|
||||
l.restore=function(){return!0};eb(function(){for(var a=y(document,x,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new Oc(c),ub(c,d)}}});function Gc(a,b,c,d,e){this.J=a;this.id=Pc+=2;this.C=b;this.Ka=c;this.size=d||0;this.type=e||Qc;this.H=e==Rc;this.b=null;this.g=this.G=this.ib;this.i=this.D=this.La;this.f=this.v=0;Hc(this);this.fb=this.Eb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Sc(this,Tc)}else Sc(this)}l=Gc.prototype;l.save=function(){return this.u};
|
||||
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.fb=!0):!1};function Sc(a,b){b||(b=Uc);Vc(a,b,void 0);Wc(a,b,void 0)}function Vc(a,b,c){c&&a.f||(a.g=b[0]||a.ib);if(c||void 0===c)a.G=b[0]||a.ib}function Wc(a,b,c){c&&a.v||(a.i=!a.H&&b[1]||a.La);if(c||void 0===c)a.D=b[1]||a.La}l.Da=function(a,b){b?this.v++||Wc(this,Xc,!1):this.f++||Vc(this,Xc,!1)};function Yc(a,b){b?--a.v||(a.i=a.H?a.La:a.D):--a.f||(a.g=a.G)}
|
||||
function Hc(a,b,c){a.b=b;a.f=a.v=0;c&&((a.f=c.f)&&Vc(a,Xc,!1),(a.v=c.v)&&Wc(a,Xc,!1))}l.ib=function(a,b){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to read invalid address "+Q(this.b,b),!0);this.J.Fb(b);return-1};l.La=function(a,b,c){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to write "+Q(this.b,a)+" to invalid addresses "+Q(this.b,c),!0)};l.Tb=function(a){return this.u[a]};l.bc=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.fb=!0)};
|
||||
l.Rb=function(a,b){if(this.b&&null!=this.C){var c=this.b;Zc(c,this.C+a,2,c.M)&&c.W(!1)}return this.G(a,b)};l.ac=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;Zc(d,this.C+b,2,d.I)&&d.W(!1)}this.H?this.La(a,0,c):this.D(a,b,c)};var Qc=0,Rc=2,Mc=["NONE","RAM","ROM"],Pc=0,Uc=[],Tc=[Gc.prototype.Tb,Gc.prototype.bc],Xc=[Gc.prototype.Rb,Gc.prototype.ac];
|
||||
function $c(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Xa=0;this.$a=b;this.ea=c;this.Ya=Math.round(this.$a/1E4)/100;this.ba=this.Ya*this.ea;this.Za=this.Ga=this.fa=this.Ra=0;this.w.L=this.w.Wa=!1;this.w.Z=a.autoStart;"string"==typeof this.w.Z&&(this.w.Z="true"==this.w.Z);this.w.Ea=!1;this.za=this.la=0;this.Fa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.O=[];this.rb=this.Wb.bind(this);this.T=this.N=this.R=this.S=this.M=this.ya=this.P=this.na=this.ab=this.aa=
|
||||
0;this.Na=null;z(this)}p($c,u);l=$c.prototype;l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Na=a.u;for(a=0;a<ad.length;a++)(b=this.J[ad[a]])&&this.G.ja(null,ad[a],b);z(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||
l.ua=function(a,b){var c=bd(this.G,"autoStart");null!=c?this.w.Z="true"==c?!0:"false"==c?!1:!!c:null==this.w.Z&&(this.w.Z=!this.D&&void 0===this.J.run);if(!b){if(a){cd(this);if(!this.restore(a))return!1;dd(this)}else this.reset();this.D?(a=this.D,b=this.w.Z,a.wa=!0,a.j("Type ? for help with PDPjs Debugger commands"),ed(a),b||fd(a),a.qa&&(b=a.qa,a.qa=null,gd(a,b))):this.status("No debugger detected");this.w.Z||this.j("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
||||
l.ia=function(a){return a?this.save():!0};l.Z=function(){return this.w.L?!0:this.w.Z?(pc(this),!0):!1};l.vb=function(){return 0};function dd(a){void 0===a.Fa&&(a.Fa=0);void 0===a.ka&&(a.ka=-1);void 0===a.ma&&(a.ma=-1);a.w.Ea=0<=a.Fa&&0<a.ka;a.w.Ea&&(a.za=0,a.la=a.Fa-a.T)}function tc(a,b){if(a.w.Ea){var c=!1;a.za=a.za+a.vb()|0;a.la-=b;0>=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=hd(a)&&(a.ka=a.ma=-1,dd(a),a.W(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+q(a.za))}}
|
||||
l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.V)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.w.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.w.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.w.L?d.W():pc(d))},!0;case "speed":return this.J[b]=
|
||||
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){id(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function sc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function jd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Ya);a.Za=Math.round(1E3/kd);a.Ga=Math.floor(a.$a/kd*c);b||(a.fa=a.Ga);a.Ra=0}function hd(a){return a.T+a.N+a.R-a.S}function cd(a){a.aa=0;a.ab=0;a.T=a.N=a.R=a.S=0;dd(a);id(a,1)}
|
||||
function id(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Ya*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&ld(a.G)}sc(a,a.N);a.N=0;a.M=ob();a.P=0;jd(a);return d}function md(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
||||
function rc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
|
||||
l.Sb=function(){if(this.w.L){this.Oa>=this.Xa&&jd(this,!0);this.ma=0;this.va=ob();if(this.P){var a=this.va-this.P;a>this.Wa&&(this.M+=a,this.M>this.va&&(this.M=this.va))}try{do{var b=md(this,this.w.Ea?1:this.ya);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.ma+=b;this.N+=b;tc(this,b);rc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.ya;++this.Ya>=pd&&(this.G&&P(this.G,void 0),this.Ya=0);break}}while(this.w.L)}catch(e){this.W();this.G&&this.G.stop(ob(),hd(this));Ib(this,
|
||||
e.stack||e.message);return}if(this.w.L){a=setTimeout;b=this.lb;this.P=ob();var c=this.Wa;this.ma&&(c=Math.round(c*this.ma/this.ya));var c=c-(this.P-this.va),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,id(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Oa+=this.ma;this.P+=c;a(b,c)}}};
|
||||
function pc(a,b){if(!Jb(a))if(a.w.L)a.j(a.toString()+" busy");else{id(a);a.w.L=!0;a.w.Ta=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&ld(a.G,!0),a.G.start(a.M,hd(a)));a.D||a.status("Started");setTimeout(a.lb,0)}}l.Ja=function(){return 0};l.W=function(a){var b=!1;if(this.w.L){od(this);sc(this,this.N);this.N=0;this.w.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),hd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var kd=30,pd=15,ad=["power","reset"];
|
||||
function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.kb=b;this.La=+a.addrReset||0;this.zb=rd.bind(this);this.b=R.bind(this);this.ta=null;this.ib=[];this.w.complete=!1}p(qd,$c);l=qd.prototype;l.reset=function(){this.status("Model "+this.kb);this.w.L&&this.W();this.f=this.I=this.za=0;this.A=this.ua=this.La;this.F=this.na=-1;this.K=this.u=0;this.sa=this.A;this.B=0;this.g=this.Ob;this.i=this.Zb;this.ta=null;cd(this);this.w.error=!1;$c.prototype.reset.call(this)};l.rb=function(){return 0};
|
||||
l.save=function(){var a=new O(this);a.set(0,[this.f,this.I,this.za,this.A,this.na,this.F,this.u,this.B,this.ua,this.sa,this.La]);a.set(1,[]);a.set(2,[this.T,this.ea,this.w.Z]);a.set(3,sd(this));a.set(4,nd(this));return a.data()};
|
||||
l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.I=b.next().value;this.za=b.next().value;this.A=b.next().value;this.na=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.ua=b.next().value;this.sa=b.next().value;this.La=b.next().value;b=a[2];this.T=b[0];id(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ib.length;d++){var e=this.ib[d];if(e.Wb===b[c]){d=e;break a}}d=
|
||||
null}d&&(d.next=this.ta,this.ta=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function td(a,b){var c=a.A;a.A=(c+b)%A;return c}function sd(a){var b=[];for(a=a.ta;a;)b.push(a.Wb),a=a.next;return b}l.Ob=function(a){var b=this.H;a=this.sa=a;return b.b[(a&b.u)>>>b.f].g(a&16383,a)};l.Zb=function(a,b){var c=this.H;a=this.sa=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b};
|
||||
l.Ja=function(a){this.w.complete=!0;var b=this.D?ud(this.D)?1:this.w.Ta?-1:0:0,c=a?this.w.Ta?0:1:-1;this.w.Ta=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(vd(this.D,this.A,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.ta||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&vd(this.D,this.A,c)){this.W();break}if(0>c)break}}this.B&=15;this.I&4194304?this.I=this.g(this.f):0<=this.na?(this.I=this.za=this.g(this.na),this.na=-1):(this.I=this.za=
|
||||
this.g(this.ua=this.A),this.A=(this.A+1)%A);this.I&=8388607;this.f=this.I&262143;if(a=this.I>>18&15)this.f=this.f+this.g(a)&Qb;a=this.I&4194304?-1:this.za/Yb|0;0<=a&&this.zb(a)}while(0<this.S);return this.w.complete?this.R-this.S:!1===this.w.complete?-1:0};eb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new qd(d);Cb(d,c)}});function rd(a){wd[a>>4].call(this,a,a&15)}function S(a){this.b(a)}
|
||||
function xd(){var a=0,b=this.g(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%I);this.i(this.f,b)}function yd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304;else{var c=this.F/Zb&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}}
|
||||
function zd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304,td(this,-1);else{var c=this.F/Zb&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%I;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Ad(a,b){this.i(b,this.g(this.f))}function Bd(a,b){this.i(b,this.f)}function Cd(a,b){this.i(this.f,this.g(b))}function Dd(a,b){this.i(b,0)}function Zd(a,b){this.i(b,H-this.g(b))}function $d(a,b){this.i(b,H)}
|
||||
function ae(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,be(a,d,c)+(c-(c&E)))}function ce(a,b){var c=this.g(b);this.i(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,be(a,c,b)+(b-(b&E)))}function ee(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&E,a){case 256:d+=E;break;case 384:d+=c>J?E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function fe(a,b){var c=(this.g(this.f)&E)*F,d=this.g(b);this.i(b,be(a,d,c)+c)}
|
||||
function ge(a,b){var c=this.f*F,d=this.g(b);this.i(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&E)*F;var c=this.g(this.f);this.i(this.f,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.f),d=(c&E)*F,c=be(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function je(a,b){var c=this.g(this.f)&E,d=this.g(b);this.i(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.i(b,ke(a,c,this.f)+this.f)}function me(a,b){b=this.g(b)&E;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)}
|
||||
function ne(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=E,a){case 256:d+=E*F;break;case 384:d+=c>Sb?E*F:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function oe(a,b){var c=this.g(this.f)/F|0,d=this.g(b);this.i(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.i(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/F|0;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.f),d=c/F|0,c=ke(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function U(a){se[a&7].call(this,a,a>>3&127)}
|
||||
function te(){}function R(a){this.j("undefined opcode: "+sa(a));td(this,-1);this.W()}function ue(a){a>J&&(a!=Tb?a=Ub-a:this.u|=163840);return a}function ve(a,b){var c=(a+b)%I;we.call(this,a,b,c);return c}function V(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}function xe(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function ye(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)}
|
||||
function ze(a,b){var c=a,d=b;b=!1;var e;c>J&&(c=I-c,b=!b);d>J&&(d=I-d,b=!b);if(c<F&&d<F)a=c*d,e=0;else{a=c%F;c=Math.trunc(c/F);e=d%F;var d=Math.trunc(d/F),f=a*e,g=c*e+Math.trunc(f/F);e=Math.trunc(g/F);g=g%F+a*d;a=g*F+f%F;e+=Math.trunc(g/F)+c*d}b&&(a?(e=H-e,a=I-a):e&&(e=I-e));b=a;a=e;c=a-a%G;a=2*a%I+Math.trunc(b/G);b=c+b%G;e=a-a%G;c!=e&&(a=c+(a-e),this.u|=131072);this.K=b;return a}function Ae(a){a?a==Tb?this.u|=163840:a=Ub-a:this.u|=98304;return a}
|
||||
function Be(a,b){var c=a-b;0>c&&(c+=I);we.call(this,c,b,a);return c}function we(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ke(a,b,c){switch(a&384){case 0:b-=b&E;break;case 128:b=0;break;case 256:b=E*F;break;case 384:b=c>Sb?E*F:0}return b}function be(a,b,c){switch(a&384){case 0:b&=E;break;case 128:b=0;break;case 256:b=E;break;case 384:b=c>J?E:0}return b}
|
||||
function Ce(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=I&&(a[0]%=I,a[1]++)}function De(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Ee(a){a[1]%2&&(a[0]+=I);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}
|
||||
var wd=[S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},xd,function(a,b){0>this.F&&xd.call(this);yd.call(this,0,b)},yd,function(a,b){0>this.F&&xd.call(this);zd.call(this,0,b)},zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,Bd,Cd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(b,a)},function(a,b){this.i(b,this.f*F)},function(a,b){a=this.g(b);a=(a/F|0)+a%F*F;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Ae.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Ub-this.f:0)},function(a,b){this.i(this.f,
|
||||
Ae.call(this,this.g(b)))},function(a,b){a=Ae.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,ue.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,ue.call(this,this.g(b)))},function(a,b){a=ue.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.K)},function(a,
|
||||
b){this.i(b,ze.call(this,this.g(b),this.f));this.i(b+1&15,this.K)},function(a,b){this.i(this.f,ze.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ze.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.K)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=this.g(b);var c=this.g(b+1&15);var d=c,e=a,f=this.g(this.f),c=a=!1,g=e-e%G,d=d%G+e*G%I,e=this.K=g+Math.trunc(e/2);f>J&&(f=I-f,a=!a);e>J&&(d?(e=H-e,d=I-d):e&&
|
||||
(e=I-e),c=!0,a=!a);if(e>=f)this.u|=32,c=-1;else{for(var g=[0,0],h=[1,0],f=[f,0],e=[d,e];0<De(e,f);)Ce(f,f),Ce(h,h);do{if(0<=De(e,f)){var d=e,k=f;d[0]-=k[0];d[1]-=k[1];0>d[0]&&(d[0]+=I,d[1]--);Ce(g,h);if(!e[0]&&!e[1])break}Ee(f);Ee(h)}while(h[0]||h[1]);d=g[0];this.K=e[0];a&&d&&(d=I-d);c&&this.K&&(this.K=I-this.K);c=d}0>c||(this.i(b,c),this.i(b+1&15,this.K))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>J?-(I-
|
||||
a):a;0<c?(35<=c?(d=0>d?G:0,c=Rb):(d=d*Math.pow(2,c)%G,c=G-Math.pow(2,35-c)),a<=J?a+c>J&&(this.u|=131072):a-c<=J&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+I:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%I+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0<a?36<=a?0:c*Math.pow(2,a)%I:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a,b){a=0;var c=
|
||||
this.g(b);if(c){for(;c<G;)a++,c*=2;this.A=this.f%A}this.i(b+1&15,a)},function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<G||d>Rb&&d<H)this.u|=131072;if(71<=a){if(0<e&&e<G||e>Rb&&e<H)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%G,c=G-Math.pow(2,70-a),f<=J?e+c>J&&(this.u|=131072):e-c<=J&&(this.u|=131072);e=0;f>Rb&&(d+=G,e+=G)}else d=d*Math.pow(2,a)%G+Math.trunc(e%G/Math.pow(2,35-a)),e=e*Math.pow(2,a)%G,c=G-Math.pow(2,35-a),f<=J?f+c>J&&(this.u|=
|
||||
131072):(f-c<=J&&(this.u|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>Rb?H:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=Rb?d=0:(d=H,e+=G)):(c=d>Rb?I-Math.pow(2,36+a):0,e=Math.trunc(e%G/Math.pow(2,-a))+d%G*Math.pow(2,35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>Rb&&(e+=G));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,
|
||||
a-36)%I+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%I+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%I,d=0):(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%I,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},R,function(a,
|
||||
b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/F|0,c=c&E;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&E,c=c+1&E,this.w.L||(this.i(b,d*F+c),a||td(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.f%A)},function(){this.na=this.f},R,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&E,this.g(this.f));a>=I&&(a-=I);a/F|0||(this.u|=262144);
|
||||
this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&E);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=I);(a/F|0)==E&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(){this.i(this.f,(this.u&E)*F+this.A);this.A=(this.f+1)%A},function(a,b){this.i(b,(this.u&E)*F+this.A);this.A=this.f%A},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ve.call(this,
|
||||
this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ve.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Be.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Be.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Dd,Dd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),
|
||||
this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),this.g(this.f))))},Ad,Bd,te,Ad,function(a,b){this.i(b,V.call(this,this.g(b),H-this.g(this.f)))},
|
||||
function(a,b){this.i(b,V.call(this,this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),H-this.g(this.f))))},te,te,Cd,Cd,function(a,b){this.i(b,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,xe.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,xe.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,
|
||||
W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),H-
|
||||
this.g(this.f))))},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b),this.g(this.f))))},Zd,Zd,function(a,b){this.i(this.f,H-this.g(b))},function(a,b){this.i(this.f,this.i(b,H-this.g(b)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.f))},
|
||||
function(a,b){this.i(this.f,W.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,H-this.g(b),this.g(this.f))))},function(a,b){this.i(b,H-this.g(this.f))},function(a,b){this.i(b,H-this.f)},function(){this.i(this.f,H-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.f))},function(a,b){this.i(this.f,W.call(this,this.g(b),H-
|
||||
this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,this.g(b),H-this.g(this.f))))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.f))},function(a,b){this.i(this.f,W.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,H-this.g(b),H-this.g(this.f))))},$d,$d,function(){this.i(this.f,H)},function(a,b){this.i(this.f,this.i(b,H))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,
|
||||
ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],se=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&
|
||||
262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}];
|
||||
function Fe(a){u.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=va(this.A);if(this.A){a=this.A;var b=wa(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(mb(c.Na,a,b),(a=La(a,b))?(c.b=a.Y,c.U=a.U):c.A=null);Ge(c)})}}p(Fe,u);
|
||||
Fe.prototype.Aa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ge(this)};Fe.prototype.ra=function(){this.U&&(this.D&&He(this.D,this.id,this.B,this.u,this.U),delete this.U);return!0};Fe.prototype.ha=function(){return!0};
|
||||
function Ge(a){if(!Kb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ib(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Jc(a.H,b,a.u,Rc)){var c;for(c=0;c<a.b.length;c++)Dc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.B>>>f.f;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
|
||||
f.f;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}z(a)}}eb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Fe(d);Cb(d,c)}});
|
||||
function Ie(a){u.call(this,"RAM",a);this.U=this.Ca=null;this.f=+a.addr;this.u=+a.size;this.pa=a.load;this.oa=a.exec;null!=this.pa&&(this.pa=+this.pa);null!=this.oa&&(this.oa=+this.oa);this.A=this.F=!1;this.b=a.file;this.B=va(this.b);if(this.b){a=this.b;var b=wa(this.B);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.Na,a,b),(a=La(a,b))?(c.Ca=a.Ca,
|
||||
c.U=a.U,null==c.pa&&(c.pa=a.pa),null==c.oa&&(c.oa=a.oa)):c.b=null);Je(c)})}}p(Ie,u);Ie.prototype.Aa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Je(this)};Ie.prototype.ra=function(a,b){this.U&&(this.D&&He(this.D,this.id,this.f,this.u,this.U),delete this.U);b||this.reset();return!0};Ie.prototype.ha=function(){return!0};
|
||||
function Je(a){if(a.H&&(!a.A&&a.u&&(Jc(a.H,a.f,a.u,1)?a.A=!0:a.u=0),!Kb(a))){if(!a.A)r("No RAM allocated");else if(a.b){if(!a.Ca)return;Ke(a,a.Ca,a.pa,a.oa,a.f)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;z(a)}}
|
||||
Ie.prototype.reset=function(){if(this.A&&!this.F){for(var a=this.H,b=this.f,c=this.u,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-Tb&&(g+=I);for(var g=Math.trunc(Math.abs(g))%I,h=d;f--&&h<e.size;h++)e.D(g,d,e.C+d);c-=16384;b++;d=0}this.Ca&&Ke(this,this.Ca,this.pa,this.oa,this.f,!this.D)}this.F=!1};
|
||||
function Ke(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Dc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.La=d,a.A=d%A,f?a.w.V?a.w.L||pc(a):a.w.Z=!0:a.D&&a.w.V?a.W()||a.G.w.reset||(ed(a.D),P(a.G,-1)):!1===f&&a.W(),!a.w.L&&a.Ka&&a.Ka.stop()));return g}eb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ie(d);Cb(d,c)}});
|
||||
function Le(a){u.call(this,"SerialPort",a,1048576);this.A=a.upperCase;"string"==typeof this.A&&(this.A="true"==this.A);this.u=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=Me;b&&(void 0===c&&(c="Panel"),(c=Bb(c,this.id))&&(b=c.J[b])&&this.ia(null,a,b))}this.b=this.B=null;this.exports={connect:this.sb,receiveData:this.Ra,receiveStatus:this.Qb,setConnection:this.Tb}}p(Le,u);l=Le.prototype;
|
||||
l.ia=function(a,b,c){var d=this;switch(b){case Me:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?pa.gb:pa.xb:46==c?b=pa.gb:a.ctrlKey&&c>=pa.fb&&c<=pa.yb&&(b=c-(pa.fb-pa.ub));b&&(a.preventDefault&&a.preventDefault(),d.Ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==pa.wb&&(b=pa.vb);d.Ra(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)};
|
||||
l.sb=function(a){if(!this.b){var b=bd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.Ma)return;c=Ha(c[1]);if(this.b=sb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ra=function(a,b){if(!b)if(this.sb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
l.ha=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ra=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.f.push(b)}else this.f=this.f.concat(a);return!0};l.Qb=function(){};l.Tb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Me="buffer";
|
||||
eb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Le(d);Cb(d,c)}});function Ne(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.A=-1;this.u=[];this.T={}}p(Ne,u);Ne.prototype.bb=function(){return-1};Ne.prototype.cb=function(){};
|
||||
function Oe(a,b,c,d){if(c)if(b){0>a.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ha(b.substring(c,f))),c=f+1}}return a}
|
||||
function Pe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
l.Wb=function(){if(this.w.L){this.Ra>=this.$a&&jd(this,!0);this.na=0;this.ya=ob();if(this.P){var a=this.ya-this.P;a>this.Za&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=md(this,this.w.Ea?1:this.Ga);try{this.Ma(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.na+=b;this.N+=b;tc(this,b);rc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ga;++this.ab>=pd&&(this.G&&P(this.G,void 0),this.ab=0);break}}while(this.w.L)}catch(e){this.W();this.G&&this.G.stop(ob(),hd(this));Ib(this,
|
||||
e.stack||e.message);return}if(this.w.L){a=setTimeout;b=this.rb;this.P=ob();var c=this.Za;this.na&&(c=Math.round(c*this.na/this.Ga));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,id(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}};
|
||||
function pc(a,b){if(!Jb(a))if(a.w.L)a.j(a.toString()+" busy");else{id(a);a.w.L=!0;a.w.Wa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&ld(a.G,!0),a.G.start(a.M,hd(a)));a.D||a.status("Started");setTimeout(a.rb,0)}}l.Ma=function(){return 0};l.W=function(a){var b=!1;if(this.w.L){od(this);sc(this,this.N);this.N=0;this.w.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),hd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var kd=30,pd=15,ad=["power","reset"];
|
||||
function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.qb=b;this.Oa=+a.addrReset||0;this.Cb=rd.bind(this);this.f=R.bind(this);this.wa=null;this.nb=[];this.w.complete=!1}p(qd,$c);l=qd.prototype;l.reset=function(){this.status("Model "+this.qb);this.w.L&&this.W();this.b=this.K=this.Ha=0;this.A=this.xa=this.Oa;this.I=this.qa=-1;this.F=this.u=0;this.bb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.A;this.B=0;this.g=this.Sb;this.i=this.cc;this.wa=null;cd(this);this.w.error=!1;$c.prototype.reset.call(this)};
|
||||
l.vb=function(){return 0};l.save=function(){var a=new O(this);a.set(0,[this.b,this.K,this.Ha,this.A,this.qa,this.I,this.u,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.w.Z]);a.set(3,sd(this));a.set(4,nd(this));return a.data()};
|
||||
l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.b=b.next().value;this.K=b.next().value;this.Ha=b.next().value;this.A=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];id(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.nb.length;d++){var e=this.nb[d];if(e.$b===b[c]){d=e;break a}}d=
|
||||
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function td(a,b){var c=a.A;a.A=(c+b)%A;return c}function sd(a){var b=[];for(a=a.wa;a;)b.push(a.$b),a=a.next;return b}l.Sb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.f].g(a&16383,a)};l.cc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b};
|
||||
l.Ma=function(a){this.w.complete=!0;var b=this.D?ud(this.D)?1:this.w.Wa?-1:0:0,c=a?this.w.Wa?0:1:-1;this.w.Wa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(vd(this.D,this.A,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&vd(this.D,this.A,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.g(this.b):0<=this.qa?(this.K=this.Ha=this.g(this.qa),this.qa=-1):(this.K=this.Ha=
|
||||
this.g(this.xa=this.A),this.A=(this.A+1)%A);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.g(a)&Qb;a=this.K&4194304?-1:this.Ha/Yb|0;0<=a&&this.Cb(a)}while(0<this.S);return this.w.complete?this.R-this.S:!1===this.w.complete?-1:0};eb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new qd(d);ub(d,c)}});function rd(a){wd[a>>4].call(this,a,a&15)}function S(a){this.f(a)}
|
||||
function xd(){var a=0,b=this.g(this.b),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%I);this.i(this.b,b)}function yd(a,b){a=this.g(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.I=-1}}
|
||||
function zd(a,b){a=this.g(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%I;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.b,a);this.I=-1}}function Ad(a,b){this.i(b,this.g(this.b))}function Bd(a,b){this.i(b,this.b)}function Cd(a,b){this.i(this.b,this.g(b))}function Dd(a,b){this.i(b,0)}function Zd(a,b){this.i(b,H-this.g(b))}function $d(a,b){this.i(b,H)}
|
||||
function ae(a,b){var c=this.g(this.b),d=this.g(b);this.i(b,be(a,d,c)+(c-(c&B)))}function ce(a,b){var c=this.g(b);this.i(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.b);this.i(this.b,be(a,c,b)+(b-(b&B)))}function ee(a,b){var c=this.g(this.b),d=c;if(a&=384)switch(d-=d&B,a){case 256:d+=B;break;case 384:d+=c>J?B:0}c=d;this.i(this.b,c);b&&this.i(b,c)}function fe(a,b){var c=(this.g(this.b)&B)*F,d=this.g(b);this.i(b,be(a,d,c)+c)}
|
||||
function ge(a,b){var c=this.b*F,d=this.g(b);this.i(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&B)*F;var c=this.g(this.b);this.i(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.b),d=(c&B)*F,c=be(a,c,d)+d;this.i(this.b,c);b&&this.i(b,c)}function je(a,b){var c=this.g(this.b)&B,d=this.g(b);this.i(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.i(b,ke(a,c,this.b)+this.b)}function me(a,b){b=this.g(b)&B;var c=this.g(this.b);this.i(this.b,ke(a,c,b)+b)}
|
||||
function ne(a,b){var c=this.g(this.b),d=c;if(a&=384)switch(d&=B,a){case 256:d+=B*F;break;case 384:d+=c>Sb?B*F:0}c=d;this.i(this.b,c);b&&this.i(b,c)}function oe(a,b){var c=this.g(this.b)/F|0,d=this.g(b);this.i(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.i(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/F|0;var c=this.g(this.b);this.i(this.b,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.b),d=c/F|0,c=ke(a,c,d)+d;this.i(this.b,c);b&&this.i(b,c)}function U(a){se[a&7].call(this,a,a>>3&127)}
|
||||
function te(){}function R(a){this.j("undefined opcode: "+sa(a));td(this,-1);this.W()}function ue(a){a>J&&(a!=Tb?a=Ub-a:this.u|=163840);return a}function ve(a,b){var c=(a+b)%I;we.call(this,a,b,c);return c}function V(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}
|
||||
function xe(a,b,c){var d=!1,e=!1,f=b-b%G;a=a%G+b*G%I;b=this.F=f+Math.trunc(b/2);c>J&&(c=I-c,d=!d);b>J&&(a?(b=H-b,a=I-a):b&&(b=I-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.bb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<ye(this.pa,this.ga);)ze(this.ga,this.ga),ze(this.oa,this.oa);do{if(0<=ye(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=I,b[1]--),ze(this.bb,this.oa),Ae(this.pa)))break;Be(this.ga);Be(this.oa)}while(!Ae(this.oa));
|
||||
a=this.bb[0];this.F=this.pa[0];d&&a&&(a=I-a);e&&this.F&&(this.F=I-this.F);return a}function Ce(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function De(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)}
|
||||
function Ee(a,b,c){var d=a,e=b;b=!1;var f;d>J&&(d=I-d,b=!b);e>J&&(e=I-e,b=!b);if(d<F&&e<F)a=d*e,f=0;else{a=d%F;d=Math.trunc(d/F);f=e%F;var e=Math.trunc(e/F),g=a*f,h=d*f+Math.trunc(g/F);f=Math.trunc(h/F);h=h%F+a*e;a=h*F+g%F;f+=Math.trunc(h/F)+d*e}b&&(a?(f=H-f,a=I-a):f&&(f=I-f));if(c)return(f||a>J)&&(f!=H||a<=J)&&(this.u|=131072),a;c=a;b=f;a=b-b%G;b=2*b%I+Math.trunc(c/G);c=a+c%G;d=b-b%G;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
|
||||
function Fe(a){a?a==Tb?this.u|=163840:a=Ub-a:this.u|=98304;return a}function Ge(a,b){var c=a-b;0>c&&(c+=I);we.call(this,c,b,a);return c}function we(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ke(a,b,c){switch(a&384){case 0:b-=b&B;break;case 128:b=0;break;case 256:b=B*F;break;case 384:b=c>Sb?B*F:0}return b}
|
||||
function be(a,b,c){switch(a&384){case 0:b&=B;break;case 128:b=0;break;case 256:b=B;break;case 384:b=c>J?B:0}return b}function ze(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=I&&(a[0]%=I,a[1]++)}function ye(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Be(a){a[1]%2&&(a[0]+=I);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Ae(a){return!a[0]&&!a[1]}
|
||||
var wd=[S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},xd,function(a,b){0>this.I&&xd.call(this);yd.call(this,0,b)},yd,function(a,b){0>this.I&&xd.call(this);zd.call(this,0,b)},zd,function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},Ad,Bd,Cd,function(a,b){b&&this.i(b,this.g(this.b))},function(a,b){a=this.g(this.b);a=(a/F|0)+a%F*F;this.i(b,a)},function(a,b){this.i(b,this.b*F)},function(a,b){a=this.g(b);a=(a/F|0)+a%F*F;this.i(this.b,a)},function(a,b){a=this.g(this.b);a=(a/F|0)+a%F*F;this.i(this.b,a);b&&this.i(b,a)},function(a,b){this.i(b,Fe.call(this,this.g(this.b)))},function(a,b){this.i(b,Fe.call(this,this.b))},function(a,b){this.i(this.b,
|
||||
Fe.call(this,this.g(b)))},function(a,b){a=Fe.call(this,this.g(this.b));this.i(this.b,a);b&&this.i(b,a)},function(a,b){this.i(b,ue.call(this,this.g(this.b)))},function(a,b){this.i(b,this.b)},function(a,b){this.i(this.b,ue.call(this,this.g(b)))},function(a,b){a=ue.call(this,this.g(this.b));this.i(this.b,a);b&&this.i(b,a)},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.b),!0))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.b,!0))},function(a,b){this.i(this.b,Ee.call(this,this.g(b),this.g(this.b),
|
||||
!0))},function(a,b){this.i(this.b,this.i(b,Ee.call(this,this.g(b),this.g(this.b),!0)))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.b)));this.i(b+1&15,this.F)},function(a,b){this.i(b,Ee.call(this,this.g(b),this.b));this.i(b+1&15,this.F)},function(a,b){this.i(this.b,Ee.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,Ee.call(this,this.g(b),this.g(this.b))));this.i(b+1&15,this.F)},function(a,b){a=xe.call(this,this.g(b),0,this.g(this.b));0>a||(this.i(b,a),this.i(b+
|
||||
1&15,this.F))},function(a,b){a=xe.call(this,this.g(b),0,this.b);0>a||(this.i(b,a),this.i(b+1&15,this.F))},function(a,b){a=xe.call(this,this.g(b),0,this.g(this.b));0>a||this.i(this.b,a)},function(a,b){a=xe.call(this,this.g(b),0,this.g(this.b));0>a||this.i(b,this.i(this.b,a))},function(a,b){a=this.g(b);var c=this.g(b+1&15),c=xe.call(this,c,a,this.g(this.b));0>c||(this.i(b,c),this.i(b+1&15,this.F))},function(a,b){a=this.g(b);var c=this.g(b+1&15),c=xe.call(this,c,a,this.b);0>c||(this.i(b,c),this.i(b+
|
||||
1&15,this.F))},function(a,b){a=this.g(b);b=this.g(b+1&15);b=xe.call(this,b,a,this.g(this.b));0>b||this.i(this.b,b)},function(a,b){a=this.g(b);var c=this.g(b+1&15),c=xe.call(this,c,a,this.g(this.b));0>c||(this.i(b,this.i(this.b,c)),this.i(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.g(b);var d=a>J?-(I-a):a;0<c?(35<=c?(d=0>d?G:0,c=Rb):(d=d*Math.pow(2,c)%G,c=G-Math.pow(2,35-c)),a<=J?a+c>J&&(this.u|=131072):a-c<=J&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,
|
||||
-c));a=0>d?d+I:d;this.i(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%I+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.g(b),c=0<a?36<=a?0:c*Math.pow(2,a)%I:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a,b){a=0;var c=this.g(b);if(c){for(;c<G;)a++,c*=2;this.A=this.b%A}this.i(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0<a){var f=d;if(36<=a){if(0<
|
||||
d&&d<G||d>Rb&&d<H)this.u|=131072;if(71<=a){if(0<e&&e<G||e>Rb&&e<H)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%G,c=G-Math.pow(2,70-a),f<=J?e+c>J&&(this.u|=131072):e-c<=J&&(this.u|=131072);e=0;f>Rb&&(d+=G,e+=G)}else d=d*Math.pow(2,a)%G+Math.trunc(e%G/Math.pow(2,35-a)),e=e*Math.pow(2,a)%G,c=G-Math.pow(2,35-a),f<=J?f+c>J&&(this.u|=131072):(f-c<=J&&(this.u|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>Rb?H:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=Rb?d=0:(d=H,e+=G)):(c=d>Rb?I-Math.pow(2,36+a):0,e=Math.trunc(e%
|
||||
G/Math.pow(2,-a))+d%G*Math.pow(2,35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>Rb&&(e+=G));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%I+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%I+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=
|
||||
this.g(b),d=this.g(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%I,d=0):(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%I,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},R,function(a,b){a=this.g(b);this.i(b,this.g(this.b));this.i(this.b,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/F|0,c=c&B;!a;)this.i(c,this.g(d)),c==this.b&&(a=!0),d=d+1&B,c=c+1&B,
|
||||
this.w.L||(this.i(b,d*F+c),a||td(this,-1),a=!0)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.b%A)},function(){this.qa=this.b},R,function(a){this.f(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&B,this.g(this.b));a>=I&&(a-=I);a/F|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&B);this.i(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=I);(a/F|0)==B&&(this.u|=262144);this.i(b,a)},function(a){this.f(a)},
|
||||
function(){this.i(this.b,(this.u&B)*F+this.A);this.A=(this.b+1)%A},function(a,b){this.i(b,(this.u&B)*F+this.A);this.A=this.b%A},function(a){this.f(a)},function(a){this.f(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,ve.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,ve.call(this,this.g(b),this.g(this.b))))},function(a,b){this.i(b,Ge.call(this,this.g(b),this.g(this.b)))},
|
||||
function(a,b){this.i(b,Ge.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,Ge.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,Ge.call(this,this.g(b),this.g(this.b))))},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},Dd,Dd,function(){this.i(this.b,0)},function(a,b){this.i(this.b,this.i(b,0))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,V.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,V.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,V.call(this,this.g(b),this.g(this.b))))},
|
||||
function(a,b){this.i(b,V.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.b))},function(a,b){this.i(this.b,V.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,V.call(this,H-this.g(b),this.g(this.b))))},Ad,Bd,te,Ad,function(a,b){this.i(b,V.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(b,V.call(this,this.g(b),H-this.b))},function(a,b){this.i(this.b,V.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,
|
||||
this.i(b,V.call(this,this.g(b),H-this.g(this.b))))},te,te,Cd,Cd,function(a,b){this.i(b,Ce.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,Ce.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,Ce.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,Ce.call(this,this.g(b),this.g(this.b))))},function(a,b){this.i(b,W.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,W.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,W.call(this,this.g(b),this.g(this.b)))},
|
||||
function(a,b){this.i(this.b,this.i(b,W.call(this,this.g(b),this.g(this.b))))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.g(this.b)))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.b))},function(a,b){this.i(this.b,V.call(this,H-this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,V.call(this,H-this.g(b),H-this.g(this.b))))},function(a,b){this.i(b,De.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(b,De.call(this,this.g(b),this.b))},function(a,b){this.i(this.b,
|
||||
De.call(this,this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,De.call(this,this.g(b),this.g(this.b))))},Zd,Zd,function(a,b){this.i(this.b,H-this.g(b))},function(a,b){this.i(this.b,this.i(b,H-this.g(b)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.b))},function(a,b){this.i(this.b,W.call(this,H-this.g(b),this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,W.call(this,H-this.g(b),this.g(this.b))))},function(a,
|
||||
b){this.i(b,H-this.g(this.b))},function(a,b){this.i(b,H-this.b)},function(){this.i(this.b,H-this.g(this.b))},function(a,b){this.i(this.b,this.i(b,H-this.g(this.b)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.b))},function(a,b){this.i(this.b,W.call(this,this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,W.call(this,this.g(b),H-this.g(this.b))))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.g(this.b)))},
|
||||
function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.b))},function(a,b){this.i(this.b,W.call(this,H-this.g(b),H-this.g(this.b)))},function(a,b){this.i(this.b,this.i(b,W.call(this,H-this.g(b),H-this.g(this.b))))},$d,$d,function(){this.i(this.b,H)},function(a,b){this.i(this.b,this.i(b,H))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},
|
||||
function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,
|
||||
U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U],se=[function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a){this.f(a)},function(a,b){switch(b){case 0:a=this.g(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.f(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.i(this.b,a);break;default:this.f(a)}},function(a){this.f(a)},function(a){this.f(a)}];
|
||||
function He(a){u.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=ta(this.A);if(this.A){a=this.A;var b=ua(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(mb(c.Qa,a,b),(a=La(a,b))?(c.b=a.Y,c.U=a.U):c.A=null);Ie(c)})}}p(He,u);
|
||||
He.prototype.Aa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ie(this)};He.prototype.ua=function(){this.U&&(this.D&&Je(this.D,this.id,this.B,this.u,this.U),delete this.U);return!0};He.prototype.ia=function(){return!0};
|
||||
function Ie(a){if(!Kb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ib(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Jc(a.H,b,a.u,Rc)){var c;for(c=0;c<a.b.length;c++)vc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.B>>>f.f;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
|
||||
f.f;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}z(a)}}eb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new He(d);ub(d,c)}});
|
||||
function Ke(a){u.call(this,"RAM",a);this.U=this.Ca=null;this.f=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.A=this.F=!1;this.b=a.file;this.B=ta(this.b);if(this.b){a=this.b;var b=ua(this.B);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.Qa,a,b),(a=La(a,b))?(c.Ca=a.Ca,
|
||||
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Le(c)})}}p(Ke,u);Ke.prototype.Aa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Le(this)};Ke.prototype.ua=function(a,b){this.U&&(this.D&&Je(this.D,this.id,this.f,this.u,this.U),delete this.U);b||this.reset();return!0};Ke.prototype.ia=function(){return!0};
|
||||
function Le(a){if(a.H&&(!a.A&&a.u&&(Jc(a.H,a.f,a.u,1)?a.A=!0:a.u=0),!Kb(a))){if(!a.A)r("No RAM allocated");else if(a.b){if(!a.Ca)return;Me(a,a.Ca,a.sa,a.ra,a.f)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;z(a)}}
|
||||
Ke.prototype.reset=function(){if(this.A&&!this.F){for(var a=this.H,b=this.f,c=this.u,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-Tb&&(g+=I);for(var g=Math.trunc(Math.abs(g))%I,h=d;f--&&h<e.size;h++)e.D(g,d,e.C+d);c-=16384;b++;d=0}this.Ca&&Me(this,this.Ca,this.sa,this.ra,this.f,!this.D)}this.F=!1};
|
||||
function Me(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)vc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,a.A=d%A,f?a.w.V?a.w.L||pc(a):a.w.Z=!0:a.D&&a.w.V?a.W()||a.G.w.reset||(ed(a.D),P(a.G,-1)):!1===f&&a.W(),!a.w.L&&a.Na&&a.Na.stop()));return g}eb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ke(d);ub(d,c)}});
|
||||
function Ne(a){u.call(this,"SerialPort",a,1048576);this.A=a.upperCase;"string"==typeof this.A&&(this.A="true"==this.A);this.u=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=Oe;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.B=null;this.exports={connect:this.wb,receiveData:this.Ua,receiveStatus:this.Ub,setConnection:this.Xb}}p(Ne,u);l=Ne.prototype;
|
||||
l.ja=function(a,b,c){var d=this;switch(b){case Oe:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?pa.lb:pa.Ab:46==c?b=pa.lb:a.ctrlKey&&c>=pa.kb&&c<=pa.Bb&&(b=c-(pa.kb-pa.xb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==pa.zb&&(b=pa.yb);d.Ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Aa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)};
|
||||
l.wb=function(a){if(!this.b){var b=bd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Pa)return;c=Ca(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.f.push(b)}else this.f=this.f.concat(a);return!0};l.Ub=function(){};l.Xb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Oe="buffer";
|
||||
eb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ne(d);ub(d,c)}});function Pe(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.A=-1;this.u=[];this.T={}}p(Pe,u);Pe.prototype.gb=function(){return-1};Pe.prototype.hb=function(){};
|
||||
function Qe(a,b,c,d){if(c)if(b){0>a.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ca(b.substring(c,f))),c=f+1}}return a}
|
||||
function Re(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||
function Qe(a,b,c){var d;if(b){b=Re(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],t=n.length,n=Ha(n);if(!n){f=!0;break}n=Se(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],C=n.length;k.length&&Te[n]<Te[k[k.length-1]]&&Pe(h,k,1);k.push(n);b=b.substr(t+C)}Pe(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ue(a,null,
|
||||
d))}return d}function Re(a,b){for(var c,d=a.la?"(":"{",e=a.la?")":"}",f=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Qe(a,c[1]);b=b.replace(d+c[1]+e,null!=g?Q(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
||||
function Se(a,b,c,d){var e;null!=b?(e=a.bb(b),0<=e?e=a.cb(e):(e=a.T[b],null==e&&(e=qa(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
||||
function Ue(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=void 0,n=8,t="";n?32<n&&(n=32):n=32;for(var C=null==k||isNaN(k),fa=m=m||n;0<n--;)fa||(t=","+t,fa=m),t=(C?"?":k&1?"1":"0")+t,k>>=1,fa--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
|
||||
function Ve(a,b){if(b)return Ue(a,b,a.T[b]);var c=0;for(b in a.T)Ue(a,b,a.T[b]),c++;return 0<c}function Q(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=ra(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function We(a){Ne.call(this,a);this.wa=!1;this.la=!0;this.va=X();this.K=X(0);this.ja=X(0);this.ba=X(0);this.F=[];this.b=this.M=this.I=[];Xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ye(this);this.D=this;this.ma={};this.X=this.ob=0;this.S=null;this.O=[];Ze(this,a.messages);this.ua=a.commands;this.N=0;this.za=this.ta=null;this.B=this.ya=this.xa=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b,
|
||||
a)})}p(We,Ne);function $e(a){a=a&&a.C;null==a&&(a=-1);return a}function X(a,b,c){return{C:void 0===a?null:a,Pa:void 0===b?!1:b,ga:!1,ca:c}}function af(a,b,c,d){a.C=b;a.Pa=c||!1;a.ga=!1;a.ca=d}function bf(a){return[a.C,a.Pa,a.ga,a.ca,a.Sa]}function cf(a,b){var c=X(b[0],b[1],b[2]);c.ga=b[3];b[4]&&(c.mb=Oe(a,c.Sa=b[4]));return c}l=We.prototype;
|
||||
l.Aa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=bd(a,"messages"))&&Ze(this,a);df(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=$e(ef(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Mc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.f,8)+" %"+q(n.C,8)+" "+q(n.Ha,
|
||||
function Se(a,b,c){var d;if(b){b=Te(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],t=n.length,n=Ca(n);if(!n){f=!0;break}n=Ue(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],D=n.length;k.length&&Ve[n]<Ve[k[k.length-1]]&&Re(h,k,1);k.push(n);b=b.substr(t+D)}Re(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&We(a,null,
|
||||
d))}return d}function Te(a,b){for(var c,d=a.la?"(":"{",e=a.la?")":"}",f=new RegExp(a.la?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Se(a,c[1]);b=b.replace(d+c[1]+e,null!=g?Q(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
||||
function Ue(a,b,c,d){var e;null!=b?(e=a.gb(b),0<=e?e=a.hb(e):(e=a.T[b],null==e&&(e=qa(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
||||
function We(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,m=void 0,n=8,t="";n?32<n&&(n=32):n=32;for(var D=null==k||isNaN(k),fa=m=m||n;0<n--;)fa||(t=","+t,fa=m),t=(D?"?":k&1?"1":"0")+t,k>>=1,fa--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
|
||||
function Xe(a,b){if(b)return We(a,b,a.T[b]);var c=0;for(b in a.T)We(a,b,a.T[b]),c++;return 0<c}function Q(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=ra(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ve={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function Ye(a){Pe.call(this,a);this.wa=!1;this.la=!0;this.va=X();this.K=X(0);this.ga=X(0);this.ba=X(0);this.F=[];this.b=this.M=this.I=[];Ze(this);this.R=this.ka=0;this.f=[];this.oa=void 0;$e(this);this.D=this;this.ma={};this.X=this.sb=0;this.S=null;this.O=[];af(this,a.messages);this.qa=a.commands;this.N=0;this.za=this.pa=null;this.B=this.ya=this.xa=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b,
|
||||
a)})}p(Ye,Pe);function bf(a){a=a&&a.C;null==a&&(a=-1);return a}function X(a,b,c){return{C:void 0===a?null:a,Sa:void 0===b?!1:b,ha:!1,ca:c}}function cf(a,b,c,d){a.C=b;a.Sa=c||!1;a.ha=!1;a.ca=d}function df(a){return[a.C,a.Sa,a.ha,a.ca,a.Va]}function ef(a,b){var c=X(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.ob=Qe(a,c.Va=b[4]));return c}l=Ye.prototype;
|
||||
l.Aa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=bd(a,"messages"))&&af(this,a);ff(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=bf(gf(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Mc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.f,8)+" %"+q(n.C,8)+" "+q(n.Ka,
|
||||
4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Qc&&(c=-1),m=0);a+=16384;e++}}});z(this)};
|
||||
l.ia=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",gd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.u.length-1&&(b=d.u[++d.A])):40==a.keyCode&&(0<d.A?b=d.u[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,cb(c,function(){if(d.aa){var a=d.aa.value;
|
||||
d.aa.value="";gd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,cb(c,function(a){var b=!1;Lb(d,!0)||(Mb(d,!0),b=qc(d,a?1:0,null),Mb(d,!1));return b}),!0}return!1};function fd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ba=function(a,b){var c=-1,d=$e(a);-1!==d&&(c=Ec(this.H,d),b&&null!=a.C&&(a.C+=b||1));return c};l.hb=function(a,b,c){var d=$e(a);-1!==d&&(Dc(this.H,d,b),c&&null!=a.C&&(a.C+=c||1),P(this.G,-1))};
|
||||
function ef(a,b,c){var d,e;c||(c=X());var f=c.C;if(void 0!==b){b=Re(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var m=a.F[k].U[f];if(null!=m){h=m.o;break}}null!=h&&(g=X(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Qe(a,b,void 0)}null!=f&&af(c,f,d,e);return c}function ff(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.mb=Oe(a,b.Sa=c[2]))}
|
||||
function Z(a,b){return Q(a,b.C)}function gf(a){return sa(a/A,6)+" "+sa(a%A,6)}function Ze(a,b){a.D=a;a.X=a.ob=536870916;a.S=null;a.O=[];b=Oe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in M){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=M[c],a.j(c+" messages enabled"))}}function df(a,b){for(var c in M)if(16==M[c]){a.ma[c]=b;break}}
|
||||
l.bb=function(a){return hf.indexOf(a.toUpperCase())};l.cb=function(a){var b,c=this.v;switch(a){case jf:b=c.A;break;case kf:b=c.I;break;case lf:b=c.f;break;case mf:b=c.u&65536?1:0;break;case nf:b=c.u&32768?1:0;break;case of:b=c.u&131072?1:0;break;case pf:b=c.u&32?1:0;break;case qf:b=c.u&262144?1:0}return b};
|
||||
l.message=function(a,b){b&&(a+=" @"+Z(this,X(this.v.ua)));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.w.L)||Lb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,od(a),a.fa=0,a.G&&P(a.G,void 0))}};
|
||||
function Ye(a){var b;if(!ud(a))a.f&&a.f.length&&a.j("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(rf);for(b=0;b<a.f.length;b++)a.f[b]=X();a.R=0;a.j("instruction history buffer allocated")}}function sf(a,b,c){if(!tf(a,c))return!1;pc(a.v,b);return!0}
|
||||
function qc(a,b,c,d){if(!tf(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.B=0;b||ud(a)&&vd(a,a.v.A,0);try{b=md(a.v,b);var f=a.v.Ja(b);0<f&&(rc(a.v,f),a.B+=f,sc(a.v,f,!0),tc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Ib(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),P(a.G,-1));ed(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function ed(a,b,c){b=void 0===b?!0:b;a.wa&&(c&&a.j(uf+c),af(a.K,a.v.A),b&&1!=a.N?vf(a):wf(a))}
|
||||
function tf(a,b){var c;(c=!a.v||!Kb(a.v))||(c=a.v,c.w.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.w.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Jb(a.v)}l.ra=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ha=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ye(this);this.fa=0;this.S=null;this.B=0;af(this.K,this.v.A);this.w.L=!1;xf(this);a||ed(this)};
|
||||
l.save=function(){var a=new O(this);a.set(0,bf(this.K));a.set(1,bf(this.ja));a.set(2,bf(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.K=cf(this,a[b++]),this.ja=cf(this,a[b++]),this.ba=cf(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.N||this.j("running");this.w.L=!0;this.xa=a;this.ya=b};
|
||||
l.stop=function(a,b){if(this.w.L){this.w.L=!1;this.B=b-this.ya;if(!this.N){b="stopped";if(this.B){a-=this.xa;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";ud(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Nb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}ed(this,!0);fd(this);xf(this,this.v.A);this.S=null}};function ud(a){return 1<a.b.length||!!a.ka}
|
||||
function vd(a,b,c){var d=-1;c||(d=a.v.g(b),2756==d>>23&&a.v.ua==b&&(b=td(a.v,1)));if(0<c&&(a.ka&&!--a.ka||Zc(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.fa++,0>d&&(d=a.v.g(b)),0<=d&&(af(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
|
||||
function yf(a,b,c,d){var e=X(b.C),f=a.Ba(b,1),g,h,k,m=0,n=f/Wb|0,t;for(t in zf)if(g=zf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=Af;m=n&3;break;case 32256:k=gg;m=n&7;break;case 29248:k=ig,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>jg&&(k="B");k=kg[g||0]+k;if(g){if(28700==h)m=f/Xb&127,h=Q(a,m,-1);else if(m=f>>23&15,h=Q(a,m,-1),g==lg&&(g=mg[m]))k=kg[g],h="";k=Ba(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=Q(a,f&262143,-1);(f=f>>18&15)&&(k+="("+Q(a,f,-1)+")")}else k=Ba(k,8)+gf(f);f=k;g="";h=Z(a,
|
||||
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ba(e,1),g+=" "+gf(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(g,16)+f;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+hd(a.v).toString()+" cs="+q(a.v.wa)):h+(null!=d?"="+d.toString():""));return h}function Xe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=$e(c);var d=a.H;Yc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=$e(c),d=a.H,Yc(d.b[c>>>d.f],!0);a.I=["bw"];a.na=0;a.ka=0}
|
||||
l.Da=function(a,b,c){var d=!0;c||ng(this,a,b,!1,!0);if(a!=this.b){var e=$e(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.I)}}d&&(a.push(b),c?b.ga=!0:(og(this,a,a.length-1,"set"),Ye(this)));return d};function ng(a,b,c,d,e){var f=!1;c=$e(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==$e(h)&&(!d||h.ga)){f=!0;h.ga||e||og(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Yc(d.b[c>>>d.f],b==a.I));h.ga||Ye(a);break}}return f}
|
||||
function pg(a,b){for(var c=1;c<b.length;c++)og(a,b,c);return b.length-1}function og(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Sa?' "'+c.Sa+'"':""))}function xf(a,b){if(void 0!==b)Zc(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ga){if(!ng(a,a.b,c,!0))break;b=0}}}
|
||||
function Zc(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ga)for(var k=$e(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.ga&&(ng(a,d,h,!0),e=!0);if(n=h.mb){for(var f=!1,t=0;t<n.length;t++)if(!qg(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var C=t+1;C<n.length&&n[C].indexOf("else");C++)t++;if(C==n.length){f=!0;break}}a.v.w.L||(f=!0)}if(f){e||og(a,d,g,"hit");break}}}a.na--;return f}
|
||||
function rg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=sa(d,2);af(e.va,d);f+="="+Q(e,e.Ba(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d<hf.length;d++)(e=hf[d]||"")&&(e+="="+Q(a,a.cb(d),d>=mf?1:d==kf?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function He(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],t=Ia(n,k,a.pb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({dd:b,C:c,Db:d,U:e,nb:f})}function sg(a,b,c){var d=[],e=$e(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Db;if(e>=g&&e<g+h){e=Ia(f.nb,[e-g],a.pb);0<=e?tg(a,b,e,d):c&&(e=~e,tg(a,b,e-1,d),tg(a,b,e,d));break}}return d}
|
||||
function tg(a,b,c,d){var e={},f=a.F[b].nb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function ug(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ve(a)||a.j("no variables"),!0;if(!c[2])return Ve(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=Qe(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
||||
function vg(a,b,c){var d=null;if(b=ef(a,b)){var e=sg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+Q(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+Q(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
||||
function vf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=Qe(a,b);if(void 0===g)return;b=a.bb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case jf:h.A=
|
||||
g%A;af(a.K,h.A);break;case mf:f=65536;break;case nf:f=32768;break;case of:f=131072;break;case pf:f=32;break;case qf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);P(a.G);a.j("updated registers:")}}a.j(rg(a,e));c&&(af(a.K,d.A),wf(a,Z(a,a.K)))}}function wg(a,b){b=Ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ue(a,null,c[2].charCodeAt(0)):Qe(a,b,!0)}
|
||||
function xg(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Se(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;bb(c,function(){return Mb(a,!0)&&qc(a,e,d,!1)},function(){a.ea&&a.ea.stop();P(a.G,-1);Mb(a,!1)})}}
|
||||
function wf(a,b,c,d){if(b=ef(a,b,a.K)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Se(a,c.substr(1)),null!=c&&(d=c);else{d=ef(a,c);if(!d||d.C<b.C)return;e=d.C-b.C;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Lb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=sg(a,b),k=b.C;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.C=m.C;h.Pa=m.Pa;h.ga=m.ga;h.ca=m.ca;a.j(yf(a,b,g,f));e-=b.C-k;c++}}}
|
||||
function qg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(uf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0<b.length){a.P&&(b="a "+Z(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var t=ef(a,
|
||||
g[1],a.ba);if(t){var C=g[2];if(void 0==C)a.j("begin assemble at "+Z(a,t)),a.P=!0,P(a.G);else{g.shift();g.shift();g.shift();var fa,vc=g.join(""),B=-1,wc,rb,Ed=C.toUpperCase(),Fd;for(Fd in mg)if(rb=mg[Fd],Ed==kg[rb]){Ed=kg[lg];vc=Q(a,+Fd)+","+vc;break}for(var Bf in zf){var Ta;wc=+Bf;var Cf=zf[Bf];switch(wc){case 32512:Ta=Af;break;case 32256:Ta=gg;break;case 29248:Ta=ig;break;default:Ta=[""]}var Df,Gd;for(Gd in Cf){rb=Cf[Gd];for(var Ua=0;Ua<Ta.length;Ua++){var Hd=Ta[Ua];"S"==Hd&&rb>jg&&(Hd="B");if(Ed==
|
||||
kg[rb]+Hd){Df=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Gd|Df<<6)*Wb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Id=vc.split(","),Va=0;Va<Id.length;Va++){var N=Id[Va].trim();if(N){if(1<Va){a.j("too many operands: "+N);B=-1;break}var xc=N.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!xc){a.j("unknown operand: "+N);B=-1;break}N=xc[2];Va&&(N=N.replace(/(^|[^0-9])\./g,"$1"+Z(a,t)));var L=Qe(a,N);if(void 0==L){B=-1;break}if(!Va&&1<Id.length)if(28700==wc){if(0>L||127<L){a.j("device code out of range: "+
|
||||
N);B=-1;break}B+=L*Xb}else{if(0>L||15<L){a.j("accumulator address out of range: "+N);B=-1;break}B+=L<<23}else{if(0>L||262143<L){a.j("memory address out of range: "+N);B=-1;break}B+=L;if(N=xc[3]){L=Qe(a,N);if(void 0==L){B=-1;break}if(0>L||15<L){a.j("memory index out of range: "+N);B=-1;break}B+=L<<18}xc[1]&&(B+=4194304)}}}else a.j("missing operand(s)"),B=-1;else a.j("unknown instruction: "+C);fa=B;0<=fa&&(a.hb(t,fa),a.j(yf(a,t)))}}break;case "b":a:{var Zg=g[0],Wa=g[1],$g=b;if("?"==Wa)a.j("breakpoint commands:"),
|
||||
a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ca=Zg.charAt(1);if("l"==Ca){var Jd;Jd=0+pg(a,a.b);Jd+=pg(a,a.M);(Jd+=pg(a,a.I))||a.j("no breakpoints")}else if("n"==Ca){var Ef=+Wa||0;Wa&&(a.ka=Ef);a.j("break after "+Ef+" instruction(s)")}else if(void 0===Wa)a.j("missing breakpoint address");else{var T=X();
|
||||
if("*"!=Wa&&(T=ef(a,Wa,a.K),!T))break a;"c"==Ca?null==T.C?(Xe(a),a.j("all breakpoints cleared")):ng(a,a.b,T)||ng(a,a.M,T)||ng(a,a.I,T)||a.j("breakpoint missing: "+Z(a,T)):null!=T.C&&(ff(a,T,$g),"p"==Ca?a.Da(a.b,T):"r"==Ca?a.Da(a.M,T):"w"==Ca?a.Da(a.I,T):a.j("unknown breakpoint command: "+Ca))}}}break;case "c":a.qa&&(a.qa.value="");break;case "d":a:{var Xa,Ya=g[0],ga=g[1],ta=g[2],ah=g[3];if("?"==ga){var Za="";for(Xa in M)a.ma[Xa]&&(Za&&(Za+=","),Za+=Xa);Za+=",state,symbols";a.j("dump memory commands:");
|
||||
a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");Za.length&&a.j("dump extension commands:\n\t"+Za)}else if("state"==ga){var Kd=yg(a.G,!0);"console"==ta?console.log(Kd):(a.qa&&(a.qa.value=""),Kd&&a.j(Kd))}else if("symbols"==ga)for(var Ld=0;Ld<a.F.length;Ld++){var Md=a.F[Ld],$a;for($a in Md.U)if("."!=$a.charAt(0)){var Ff=Md.U[$a].o;if(void 0!==Ff){var Gf=Md.U[$a].l;Gf&&($a=Gf);
|
||||
a.j(Q(a,Ff)+" "+$a)}}}else{if("d"==Ya){for(Xa in M)if(g[1]==Xa){var Hf=a.ma[Xa];Hf?(g.shift(),g.shift(),Hf(g)):a.j("no dump registered for "+ga);break a}ga||(Ya=a.za||"dw")}else a.za=Ya;if("dh"==Ya){var If=ga,Jf=ta,Kf="",Lf=0,ca=a.R,ha=a.f;if(ha.length){var Y=+If||a.sa,tb=+Jf||10;isNaN(Y)?Y=tb:Kf="more ";Y>ha.length&&(a.j("note: only "+ha.length+" available"),Y=ha.length);ca-=Y;0>ca&&(null==ha[ha.length-1].C?(Y=ca+Y,ca=0):ca+=ha.length);var Nd=[];"call"==Jf&&(tb=1E5,Nd=["CALL"]);for(void 0!==If&&
|
||||
a.j(Y+" instructions earlier:");0<tb&&ca!=a.R;){var Mf=ha[ca++];if(null==Mf.C)break;var ub=X(Mf.C),bh=Y--,Nf=yf(a,ub,"history",bh);(!Nd.length||0<=Nf.indexOf(Nd[0]))&&a.j(Nf);ub.$a&&(ca+=ub.$a,tb-=ub.$a,Y-=ub.$a);ca>=ha.length&&(ca=0);a.sa=Y;Lf++;tb--}}Lf||(a.j("no "+Kf+"history available"),a.sa=void 0)}else{var ab=ef(a,ga,a.ja);if(ab){var Da=0,Of="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||ah,Da=Se(a,ta);else{var Pf=ef(a,ta);Pf&&(Da=Pf.C-ab.C)}0>Da&&(Da=0);65536<Da&&(Da=65536)}var ch=a.ca;
|
||||
ab.ca&&(a.ca=ab.ca);for(var Qf="db"==Ya?1:2,Od=Da||32,Pd=1==Qf?2:4,dh=(Od+Pd-1)/Pd|0||1,Ea="";dh--&&0<Od;){for(var Fa="",Rf="",ga=Z(a,ab),Sf=Pd;0<Sf--&&0<Od--;){var yc=a.Ba(ab,1);Of?(Fa&&(Fa+=","),Fa+=yc):(Fa+=gf(yc),Fa+=" ");for(var Tf=0;1==Qf&&6>Tf;Tf++)Rf+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Of?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Sf?" "+Rf:""))}Ea&&a.j(Ea);a.ca=ch}}}}break;case "e":if("else"==g[0])break;var Uf,Vf,Wf=g[0],Qd=g[1];"e"==Wf||"ew"==Wf?(Uf=a.Ba,Vf=a.hb):Qd=null;if(null==
|
||||
Qd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=ef(a,Qd,a.ja);if(zc)for(var Ac=2;Ac<g.length;Ac++){var Rd=Qe(a,g[Ac]);if(void 0===Rd){a.j("unknown value: "+g[Ac]);break}a.j("changing "+Z(a,zc)+" from "+gf(Uf.call(a,zc))+" to "+gf(Rd));Vf.call(a,zc,Rd,1)}}break;case "g":a:{var Xf=g[1],eh=b;if(void 0!==Xf){var Sd=ef(a,Xf);if(!Sd)break a;ff(a,Sd,eh);a.Da(a.b,Sd,!0)}sf(a,!0,c)}break;case "h":a.w.L?(c||a.j("halting"),a.W()):Lb(a,!0)||c||a.j("already halted");
|
||||
break;case "i":if("if"==g[0]){var Td;var vb=b.substr(2),vb=Ha(vb);Qe(a,vb)?(c||a.j("true: "+vb),Td=!0):(c||a.j("false: "+vb),Td=!1);Td||(d=!1);break}f=!0;break;case "k":var fh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Ud=0,Vd=X(),wb=X();for(a.j("stack trace for "+Z(a,wb));10>Ud;){for(var Ga=null,gh=256;65536>wb.C>>>0;){Vd.C=a.Ba(wb,2);if(null==wb.C||!gh--)break;if(!(Vd.C&1)){for(var hh=a,Bc=Vd,Yf=null,xb=Bc.C,Zf=xb,
|
||||
Wd=1;6>=Wd&&xb;Wd++){if(2<Wd){Bc.C=xb;var Cc=yf(hh,Bc);if(0<=Cc.indexOf("JSR")){var $f=Cc.indexOf(" ");if(xb+(Cc.indexOf(" ",$f+1)-$f-1)/2==Zf){Yf=Cc;break}}}xb-=2}Bc.C=Zf;if(Ga=Yf)break}}if(!Ga||null==Ga)break;var ag=null;if("ks"==fh){var bg=Ga.match(/[0-9A-F]+$/);bg&&(ag=vg(a,bg[0]))}Ga=Ba(Ga,50)+" ;"+(ag||"stack="+Z(a,wb));a.j(Ga);Ud++}Ud||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){vg(a,g[1],!0);break}f=!0;break;case "m":a:{var ia,ja=null,D=g[1];"?"==D&&(D=void 0);if(void 0!==
|
||||
D){var ua=0;if("all"==D)ua=1879046143,D=null;else if("on"==D)ja=!0,D=null;else if("off"==D)ja=!1,D=null;else{"keys"==D&&(D="key");"kbd"==D&&(D="keyboard");for(ia in M)if(D==ia){ua=M[ia];ja=!!(a.X&ua);break}if(!ua){a.j("unknown message category: "+D);break a}}if(ua)if("on"==g[2])a.X|=ua,ja=!0;else if("off"==g[2]&&(a.X&=~ua,ja=!1,1073741824==ua)){for(var cg=1E3<=a.O.length?a.O.length-1E3:0;cg<a.O.length;)a.j(a.O[cg++]);a.O=[]}}var ih=0,yb="";for(ia in M)if(!D||D==ia){var jh=!!(a.X&M[ia]);if(null===
|
||||
ja||ja==jh)yb&&(yb+=","),++ih%10||(yb+="\n\t"),"key"==ia&&(ia="keys"),yb+=ia}void 0===D&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==ja?ja?"messages on: ":"messages off: ":"message categories:\n\t")+(yb||"none"));Ye(a)}break;case "p":if("print"==g[0]){wg(a,b.substr(5));break}var dg=g[0],eg="p"==dg?0:"pr"==dg?1:-1;if("?"==g[1]||0>eg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress");
|
||||
else{var fg=X(a.v.A);a.Ba(fg);a.N?(a.Da(a.b,fg,!0),sf(a)||(a.G&&ld(a.G),a.N=0)):xg(a,eg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}vf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var zb=+g[2];if(8==zb||10==zb||16==zb)a.ca=zb;else{a.j("invalid base: "+zb);break}}a.j("default base: "+a.ca);break;case "cs":var Ab;void 0!==g[3]&&(Ab=+g[3]);switch(g[2]){case "int":a.v.ja=Ab;break;case "start":a.v.xa=Ab;break;case "stop":a.v.la=Ab;break;default:a.j("unknown cs option");break a}void 0!==
|
||||
Ab&&dd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(id(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),
|
||||
a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":xg(a,g[0],g[1]);break;case "u":wf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ug(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.kb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){wg(a,b.substr(1));break}var Xd="commands:",Yd;for(Yd in zg)Xd+="\n"+Ba(Yd,9)+zg[Yd];ud(a)||(Xd+="\nnote: history disabled if no exec breakpoints");a.j(Xd);break;default:f=!0}f&&(a.j("unknown command: "+
|
||||
b),d=!1)}}catch(hg){a.j("debugger error: "+(hg.stack||hg.message)),d=!1}return d}function gd(a,b,c){b=Oe(a,b,c);for(var d in b)if(!qg(a,b[+d]))return!1;return!0}
|
||||
var zg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},jg=20,lg=85,kg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "),
|
||||
jf=0,kf=1,lf=2,mf=3,nf=4,of=5,pf=6,qf=7,hf="PC RA EA C0 C1 OV ND PD".split(" "),Ag={},zf=(Ag[28672]={0:101},Ag[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:lg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Ag[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:jg,9216:53,9472:52,
|
||||
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Ag[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Ag[29248]={24576:79,24640:80,25088:81,25152:82},Ag[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
||||
28692:98,28696:99,28700:100},Ag),Af=["","I","M","S"],gg=" L E LE A GE N G".split(" "),ig="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),mg={8:102,4:103,2:104,6:105,1:106},rf=1E3,uf=">> ";eb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new We(d);Cb(d,c)}});
|
||||
function Bg(a,b,c){u.call(this,"Computer",a,33554432);this.w.V=!1;this.R=null;Cg(this,b);this.O=bd(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=bd(this,"url")||"";(Math.random()+.1).toString(36);this.f=Dg(this);if(this.v=Bb("CPU",this.id)){this.D=Bb("Debugger",this.id);this.H=new Fc({id:this.Na+".bus",busWidth:this.aa},this.v,this.D);var d,e=qb(this.id);if((this.u=Bb("Panel",this.id))&&this.u.qa)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.qa=this.u.qa;this.j(Pb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Aa&&d.Aa(this,this.H,this.v,this.D);b=null;d=bd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=bd(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Eg),this.b&&(this.I=new O(this,"1.34.2"),Fg(this.I)?b=null:
|
||||
delete this.I);!b&&this.b&&(b=Gg(this))&&(this.K=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ha(b):"")+")")):(g.M=b,g.T=!0);z(g)})}else z(this);this.J.power||(this.O=!0);!c&&this.O&&Hg(this,this.Ga)}else r("Unable to find CPU component")}p(Bg,u);function Cg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
|
||||
function bd(a,b,c,d){var e=b.toLowerCase(),e=Ra(b)||Ra(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Hg(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Kb(f)){Kb(f,function(){Hg(a,b,c)});return}}b.call(a,c)}
|
||||
function Ig(a,b){var c=new O(a,"1.34.2",Jg);if(Fg(c)&&Kg(c)){var d=c.get(Lg),e=b?b.get(Lg):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Bg.prototype;
|
||||
l.Ga=function(a){void 0===a&&(a=this.b||(this.M?Mg:Eg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.I||new O(this,"1.34.2");if(a==Ng)b=!0;else if(a>Eg){if(Fg(d,this.M)){this.B=new O(this,"1.34.2",Og);Fg(this.B)&&(Pg(this,d),a=Qg,Rg(this.B));this.B.set(Lg,Ja());Sg(this.B);var e=this.b&&!this.K;if(a==Mg||pb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Kg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Fg(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.da("Error: "+g),"unable to verify user"==g&&(Pa(Tg,""),this.f=null)):this.j(f+": "+g),Rg(d),Fg(d)?(c=Kg(d),e=!0):c=!1))}e&&Ig(this,c?d:null)}else a==Qg&&d.clear()}else Ig(this);delete this.M;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Ug(this,g,d,b,c));b=[d,a,c];a!=Ng?Hg(this,this.qb,b):this.qb(b)}};
|
||||
function Ug(a,b,c,d,e){if(!b.w.V){b.w.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ra(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Eg,window&&window.location.reload()):a.P=!0,b.ra(null),e=!1),!d&&b.jb){var g=b.jb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
l.qb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.w.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Ug(this,this.v,b,c,a),P(this,-2),this.v.Z());this.P&&(Pg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0};
|
||||
function Pg(a,b){if(pb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function yg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Jg),h=Ja();g.set(Lg,h);f.set(Lg,h);f.set(Vg,"1.34.2");f.set(Wg,window?window.location.href:null);f.set(Xg,window?window.navigator.userAgent:"");a.v&&a.v.ha&&(c&&(b&&(a.v.w.Z=a.v.w.L),a.v.W()),d=a.v.ha(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.V=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var m=h[k];m.w.V&&(m.ha&&(d=m.ha(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.w.V=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&Yg(a,a.f,f.toString()),Sg(g)&&Sg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==kh),d&&f.clear(h)):e=f.toString());c&&(a.w.V=!1,b=a.J.power)&&(b.textContent="Power");a.A=0;return e}
|
||||
l.ja=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",gd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.u.length-1&&(b=d.u[++d.A])):40==a.keyCode&&(0<d.A?b=d.u[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Ua(c,function(){if(d.aa){var a=d.aa.value;
|
||||
d.aa.value="";gd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Ua(c,function(a){var b=!1;Lb(d,!0)||(Mb(d,!0),b=qc(d,a?1:0,null),Mb(d,!1));return b}),!0}return!1};function fd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ba=function(a,b){var c=-1,d=bf(a);-1!==d&&(c=Ec(this.H,d),b&&null!=a.C&&(a.C+=b||1));return c};l.mb=function(a,b,c){var d=bf(a);-1!==d&&(vc(this.H,d,b),c&&null!=a.C&&(a.C+=c||1),P(this.G,-1))};
|
||||
function gf(a,b,c){var d,e;c||(c=X());var f=c.C;if(void 0!==b){b=Te(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var m=a.F[k].U[f];if(null!=m){h=m.o;break}}null!=h&&(g=X(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Se(a,b,void 0)}null!=f&&cf(c,f,d,e);return c}function hf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ob=Qe(a,b.Va=c[2]))}
|
||||
function Z(a,b){return Q(a,b.C)}function jf(a){return sa(a/A,6)+" "+sa(a%A,6)}function af(a,b){a.D=a;a.X=a.sb=536870916;a.S=null;a.O=[];b=Qe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in M){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=M[c],a.j(c+" messages enabled"))}}function ff(a,b){for(var c in M)if(16==M[c]){a.ma[c]=b;break}}
|
||||
l.gb=function(a){return kf.indexOf(a.toUpperCase())};l.hb=function(a){var b,c=this.v;switch(a){case lf:b=c.A;break;case mf:b=c.K;break;case nf:b=c.b;break;case of:b=c.u&65536?1:0;break;case pf:b=c.u&32768?1:0;break;case qf:b=c.u&131072?1:0;break;case rf:b=c.u&32?1:0;break;case sf:b=c.u&262144?1:0}return b};
|
||||
l.message=function(a,b){b&&(a+=" @"+Z(this,X(this.v.xa)));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.w.L)||Lb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,od(a),a.fa=0,a.G&&P(a.G,void 0))}};
|
||||
function $e(a){var b;if(!ud(a))a.f&&a.f.length&&a.j("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(tf);for(b=0;b<a.f.length;b++)a.f[b]=X();a.R=0;a.j("instruction history buffer allocated")}}function uf(a,b,c){if(!vf(a,c))return!1;pc(a.v,b);return!0}
|
||||
function qc(a,b,c,d){if(!vf(a))return!1;var e="";null===c&&(e=(c=!a.pa||"tr"==a.pa)?"tr":"t");a.B=0;b||ud(a)&&vd(a,a.v.A,0);try{b=md(a.v,b);var f=a.v.Ma(b);0<f&&(rc(a.v,f),a.B+=f,sc(a.v,f,!0),tc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Ib(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),P(a.G,-1));ed(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function ed(a,b,c){b=void 0===b?!0:b;a.wa&&(c&&a.j(wf+c),cf(a.K,a.v.A),b&&1!=a.N?xf(a):yf(a))}
|
||||
function vf(a,b){var c;(c=!a.v||!Kb(a.v))||(c=a.v,c.w.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.w.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Jb(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ia=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){$e(this);this.fa=0;this.S=null;this.B=0;cf(this.K,this.v.A);this.w.L=!1;zf(this);a||ed(this)};
|
||||
l.save=function(){var a=new O(this);a.set(0,df(this.K));a.set(1,df(this.ga));a.set(2,df(this.ba));a.set(3,[this.u,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.K=ef(this,a[b++]),this.ga=ef(this,a[b++]),this.ba=ef(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.N||this.j("running");this.w.L=!0;this.xa=a;this.ya=b};
|
||||
l.stop=function(a,b){if(this.w.L){this.w.L=!1;this.B=b-this.ya;if(!this.N){b="stopped";if(this.B){a-=this.xa;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";ud(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Nb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}ed(this,!0);fd(this);zf(this,this.v.A);this.S=null}};function ud(a){return 1<a.b.length||!!a.ka}
|
||||
function vd(a,b,c){var d=-1;c||(d=a.v.g(b),2756==d>>23&&a.v.xa==b&&(b=td(a.v,1)));if(0<c&&(a.ka&&!--a.ka||Zc(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.fa++,0>d&&(d=a.v.g(b)),0<=d&&(cf(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
|
||||
function Af(a,b,c,d){var e=X(b.C),f=a.Ba(b,1),g,h,k,m=0,n=f/Wb|0,t;for(t in Bf)if(g=Bf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=Cf;m=n&3;break;case 32256:k=ig;m=n&7;break;case 29248:k=kg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>lg&&(k="B");k=mg[g||0]+k;if(g){if(28700==h)m=f/Xb&127,h=Q(a,m,-1);else if(m=f>>23&15,h=Q(a,m,-1),g==ng&&(g=og[m]))k=mg[g],h="";k=Ba(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=Q(a,f&262143,-1);(f=f>>18&15)&&(k+="("+Q(a,f,-1)+")")}else k=Ba(k,8)+jf(f);f=k;g="";h=Z(a,
|
||||
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Ba(e,1),g+=" "+jf(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(g,16)+f;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+hd(a.v).toString()+" cs="+q(a.v.za)):h+(null!=d?"="+d.toString():""));return h}function Ze(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=bf(c);var d=a.H;Yc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=bf(c),d=a.H,Yc(d.b[c>>>d.f],!0);a.I=["bw"];a.na=0;a.ka=0}
|
||||
l.Da=function(a,b,c){var d=!0;c||pg(this,a,b,!1,!0);if(a!=this.b){var e=bf(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(qg(this,a,a.length-1,"set"),$e(this)));return d};function pg(a,b,c,d,e){var f=!1;c=bf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==bf(h)&&(!d||h.ha)){f=!0;h.ha||e||qg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Yc(d.b[c>>>d.f],b==a.I));h.ha||$e(a);break}}return f}
|
||||
function rg(a,b){for(var c=1;c<b.length;c++)qg(a,b,c);return b.length-1}function qg(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Va?' "'+c.Va+'"':""))}function zf(a,b){if(void 0!==b)Zc(a,b,1,a.b,!0),a.N=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!pg(a,a.b,c,!0))break;b=0}}}
|
||||
function Zc(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=bf(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.ha&&(pg(a,d,h,!0),e=!0);if(n=h.ob){for(var f=!1,t=0;t<n.length;t++)if(!sg(a,n[t],!0)){if(n[t].indexOf("if")){f=!0;break}for(var D=t+1;D<n.length&&n[D].indexOf("else");D++)t++;if(D==n.length){f=!0;break}}a.v.w.L||(f=!0)}if(f){e||qg(a,d,g,"hit");break}}}a.na--;return f}
|
||||
function tg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=sa(d,2);cf(e.va,d);f+="="+Q(e,e.Ba(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d<kf.length;d++)(e=kf[d]||"")&&(e+="="+Q(a,a.hb(d),d>=of?1:d==mf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Je(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=f,k=[k>>>0,g],t=Da(n,k,a.tb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function ug(a,b,c){var d=[],e=bf(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Da(f.pb,[e-g],a.tb);0<=e?vg(a,b,e,d):c&&(e=~e,vg(a,b,e-1,d),vg(a,b,e,d));break}}return d}
|
||||
function vg(a,b,c,d){var e={},f=a.F[b].pb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function wg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Xe(a)||a.j("no variables"),!0;if(!c[2])return Xe(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=Se(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
||||
function xg(a,b,c){var d=null;if(b=gf(a,b)){var e=ug(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+Q(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+Q(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
||||
function xf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=Se(a,b);if(void 0===g)return;b=a.gb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case lf:h.A=
|
||||
g%A;cf(a.K,h.A);break;case of:f=65536;break;case pf:f=32768;break;case qf:f=131072;break;case rf:f=32;break;case sf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);P(a.G);a.j("updated registers:")}}a.j(tg(a,e));c&&(cf(a.K,d.A),yf(a,Z(a,a.K)))}}function yg(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):We(a,null,c[2].charCodeAt(0)):Se(a,b,!0)}
|
||||
function zg(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Ue(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.pa=b;Ta(c,function(){return Mb(a,!0)&&qc(a,e,d,!1)},function(){a.ea&&a.ea.stop();P(a.G,-1);Mb(a,!1)})}}
|
||||
function yf(a,b,c,d){if(b=gf(a,b,a.K)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Ue(a,c.substr(1)),null!=c&&(d=c);else{d=gf(a,c);if(!d||d.C<b.C)return;e=d.C-b.C;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Lb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=ug(a,b),k=b.C;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.C=m.C;h.Sa=m.Sa;h.ha=m.ha;h.ca=m.ca;a.j(Af(a,b,g,f));e-=b.C-k;c++}}}
|
||||
function sg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(wf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0<b.length){a.P&&(b="a "+Z(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var t=gf(a,
|
||||
g[1],a.ba);if(t){var D=g[2];if(void 0==D)a.j("begin assemble at "+Z(a,t)),a.P=!0,P(a.G);else{g.shift();g.shift();g.shift();var fa,wc=g.join(""),C=-1,xc,tb,Ed=D.toUpperCase(),Fd;for(Fd in og)if(tb=og[Fd],Ed==mg[tb]){Ed=mg[ng];wc=Q(a,+Fd)+","+wc;break}for(var Df in Bf){var Va;xc=+Df;var Ef=Bf[Df];switch(xc){case 32512:Va=Cf;break;case 32256:Va=ig;break;case 29248:Va=kg;break;default:Va=[""]}var Ff,Gd;for(Gd in Ef){tb=Ef[Gd];for(var Wa=0;Wa<Va.length;Wa++){var Hd=Va[Wa];"S"==Hd&&tb>lg&&(Hd="B");if(Ed==
|
||||
mg[tb]+Hd){Ff=29248!=xc?Wa:(Wa&3)<<1|(Wa&12)<<2;C=(Gd|Ff<<6)*Wb;break}}if(0<=C)break}if(0<=C)break}if(0<=C)if(wc)for(var Id=wc.split(","),Xa=0;Xa<Id.length;Xa++){var N=Id[Xa].trim();if(N){if(1<Xa){a.j("too many operands: "+N);C=-1;break}var yc=N.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!yc){a.j("unknown operand: "+N);C=-1;break}N=yc[2];Xa&&(N=N.replace(/(^|[^0-9])\./g,"$1"+Z(a,t)));var L=Se(a,N);if(void 0==L){C=-1;break}if(!Xa&&1<Id.length)if(28700==xc){if(0>L||127<L){a.j("device code out of range: "+
|
||||
N);C=-1;break}C+=L*Xb}else{if(0>L||15<L){a.j("accumulator address out of range: "+N);C=-1;break}C+=L<<23}else{if(0>L||262143<L){a.j("memory address out of range: "+N);C=-1;break}C+=L;if(N=yc[3]){L=Se(a,N);if(void 0==L){C=-1;break}if(0>L||15<L){a.j("memory index out of range: "+N);C=-1;break}C+=L<<18}yc[1]&&(C+=4194304)}}}else a.j("missing operand(s)"),C=-1;else a.j("unknown instruction: "+D);fa=C;0<=fa&&(a.mb(t,fa),a.j(Af(a,t)))}}break;case "b":a:{var ah=g[0],Ya=g[1],bh=b;if("?"==Ya)a.j("breakpoint commands:"),
|
||||
a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var Ea=ah.charAt(1);if("l"==Ea){var Jd;Jd=0+rg(a,a.b);Jd+=rg(a,a.M);(Jd+=rg(a,a.I))||a.j("no breakpoints")}else if("n"==Ea){var Gf=+Ya||0;Ya&&(a.ka=Gf);a.j("break after "+Gf+" instruction(s)")}else if(void 0===Ya)a.j("missing breakpoint address");else{var T=X();
|
||||
if("*"!=Ya&&(T=gf(a,Ya,a.K),!T))break a;"c"==Ea?null==T.C?(Ze(a),a.j("all breakpoints cleared")):pg(a,a.b,T)||pg(a,a.M,T)||pg(a,a.I,T)||a.j("breakpoint missing: "+Z(a,T)):null!=T.C&&(hf(a,T,bh),"p"==Ea?a.Da(a.b,T):"r"==Ea?a.Da(a.M,T):"w"==Ea?a.Da(a.I,T):a.j("unknown breakpoint command: "+Ea))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var Za,$a=g[0],ga=g[1],va=g[2],ch=g[3];if("?"==ga){var ab="";for(Za in M)a.ma[Za]&&(ab&&(ab+=","),ab+=Za);ab+=",state,symbols";a.j("dump memory commands:");
|
||||
a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");ab.length&&a.j("dump extension commands:\n\t"+ab)}else if("state"==ga){var Kd=Ag(a.G,!0);"console"==va?console.log(Kd):(a.ta&&(a.ta.value=""),Kd&&a.j(Kd))}else if("symbols"==ga)for(var Ld=0;Ld<a.F.length;Ld++){var Md=a.F[Ld],bb;for(bb in Md.U)if("."!=bb.charAt(0)){var Hf=Md.U[bb].o;if(void 0!==Hf){var If=Md.U[bb].l;If&&(bb=If);
|
||||
a.j(Q(a,Hf)+" "+bb)}}}else{if("d"==$a){for(Za in M)if(g[1]==Za){var Jf=a.ma[Za];Jf?(g.shift(),g.shift(),Jf(g)):a.j("no dump registered for "+ga);break a}ga||($a=a.za||"dw")}else a.za=$a;if("dh"==$a){var Kf=ga,Lf=va,Mf="",Nf=0,ca=a.R,ha=a.f;if(ha.length){var Y=+Kf||a.oa,vb=+Lf||10;isNaN(Y)?Y=vb:Mf="more ";Y>ha.length&&(a.j("note: only "+ha.length+" available"),Y=ha.length);ca-=Y;0>ca&&(null==ha[ha.length-1].C?(Y=ca+Y,ca=0):ca+=ha.length);var Nd=[];"call"==Lf&&(vb=1E5,Nd=["CALL"]);for(void 0!==Kf&&
|
||||
a.j(Y+" instructions earlier:");0<vb&&ca!=a.R;){var Of=ha[ca++];if(null==Of.C)break;var wb=X(Of.C),dh=Y--,Pf=Af(a,wb,"history",dh);(!Nd.length||0<=Pf.indexOf(Nd[0]))&&a.j(Pf);wb.eb&&(ca+=wb.eb,vb-=wb.eb,Y-=wb.eb);ca>=ha.length&&(ca=0);a.oa=Y;Nf++;vb--}}Nf||(a.j("no "+Mf+"history available"),a.oa=void 0)}else{var cb=gf(a,ga,a.ga);if(cb){var Fa=0,Qf="ds"==$a;if(va){if("l"==va.charAt(0))va=va.substr(1)||ch,Fa=Ue(a,va);else{var Rf=gf(a,va);Rf&&(Fa=Rf.C-cb.C)}0>Fa&&(Fa=0);65536<Fa&&(Fa=65536)}var eh=a.ca;
|
||||
cb.ca&&(a.ca=cb.ca);for(var Sf="db"==$a?1:2,Od=Fa||32,Pd=1==Sf?2:4,fh=(Od+Pd-1)/Pd|0||1,Ga="";fh--&&0<Od;){for(var Ha="",Tf="",ga=Z(a,cb),Uf=Pd;0<Uf--&&0<Od--;){var zc=a.Ba(cb,1);Qf?(Ha&&(Ha+=","),Ha+=zc):(Ha+=jf(zc),Ha+=" ");for(var Vf=0;1==Sf&&6>Vf;Vf++)Tf+=String.fromCharCode((zc%64|0)+32),zc/=64}Ga&&(Ga+="\n");Ga=Qf?Ga+(Ha+","):Ga+(ga+": "+Ha+(0>Uf?" "+Tf:""))}Ga&&a.j(Ga);a.ca=eh}}}}break;case "e":if("else"==g[0])break;var Wf,Xf,Yf=g[0],Qd=g[1];"e"==Yf||"ew"==Yf?(Wf=a.Ba,Xf=a.mb):Qd=null;if(null==
|
||||
Qd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Ac=gf(a,Qd,a.ga);if(Ac)for(var Bc=2;Bc<g.length;Bc++){var Rd=Se(a,g[Bc]);if(void 0===Rd){a.j("unknown value: "+g[Bc]);break}a.j("changing "+Z(a,Ac)+" from "+jf(Wf.call(a,Ac))+" to "+jf(Rd));Xf.call(a,Ac,Rd,1)}}break;case "g":a:{var Zf=g[1],gh=b;if(void 0!==Zf){var Sd=gf(a,Zf);if(!Sd)break a;hf(a,Sd,gh);a.Da(a.b,Sd,!0)}uf(a,!0,c)}break;case "h":a.w.L?(c||a.j("halting"),a.W()):Lb(a,!0)||c||a.j("already halted");
|
||||
break;case "i":if("if"==g[0]){var Td;var xb=b.substr(2),xb=Ca(xb);Se(a,xb)?(c||a.j("true: "+xb),Td=!0):(c||a.j("false: "+xb),Td=!1);Td||(d=!1);break}f=!0;break;case "k":var hh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Ud=0,Vd=X(),yb=X();for(a.j("stack trace for "+Z(a,yb));10>Ud;){for(var Ia=null,ih=256;65536>yb.C>>>0;){Vd.C=a.Ba(yb,2);if(null==yb.C||!ih--)break;if(!(Vd.C&1)){for(var jh=a,Cc=Vd,$f=null,zb=Cc.C,ag=zb,
|
||||
Wd=1;6>=Wd&&zb;Wd++){if(2<Wd){Cc.C=zb;var Dc=Af(jh,Cc);if(0<=Dc.indexOf("JSR")){var bg=Dc.indexOf(" ");if(zb+(Dc.indexOf(" ",bg+1)-bg-1)/2==ag){$f=Dc;break}}}zb-=2}Cc.C=ag;if(Ia=$f)break}}if(!Ia||null==Ia)break;var cg=null;if("ks"==hh){var dg=Ia.match(/[0-9A-F]+$/);dg&&(cg=xg(a,dg[0]))}Ia=Ba(Ia,50)+" ;"+(cg||"stack="+Z(a,yb));a.j(Ia);Ud++}Ud||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){xg(a,g[1],!0);break}f=!0;break;case "m":a:{var ia,ja=null,E=g[1];"?"==E&&(E=void 0);if(void 0!==
|
||||
E){var wa=0;if("all"==E)wa=1879046143,E=null;else if("on"==E)ja=!0,E=null;else if("off"==E)ja=!1,E=null;else{"keys"==E&&(E="key");"kbd"==E&&(E="keyboard");for(ia in M)if(E==ia){wa=M[ia];ja=!!(a.X&wa);break}if(!wa){a.j("unknown message category: "+E);break a}}if(wa)if("on"==g[2])a.X|=wa,ja=!0;else if("off"==g[2]&&(a.X&=~wa,ja=!1,1073741824==wa)){for(var eg=1E3<=a.O.length?a.O.length-1E3:0;eg<a.O.length;)a.j(a.O[eg++]);a.O=[]}}var kh=0,Ab="";for(ia in M)if(!E||E==ia){var lh=!!(a.X&M[ia]);if(null===
|
||||
ja||ja==lh)Ab&&(Ab+=","),++kh%10||(Ab+="\n\t"),"key"==ia&&(ia="keys"),Ab+=ia}void 0===E&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==ja?ja?"messages on: ":"messages off: ":"message categories:\n\t")+(Ab||"none"));$e(a)}break;case "p":if("print"==g[0]){yg(a,b.substr(5));break}var fg=g[0],gg="p"==fg?0:"pr"==fg?1:-1;if("?"==g[1]||0>gg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress");
|
||||
else{var hg=X(a.v.A);a.Ba(hg);a.N?(a.Da(a.b,hg,!0),uf(a)||(a.G&&ld(a.G),a.N=0)):zg(a,gg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}xf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Bb=+g[2];if(8==Bb||10==Bb||16==Bb)a.ca=Bb;else{a.j("invalid base: "+Bb);break}}a.j("default base: "+a.ca);break;case "cs":var Cb;void 0!==g[3]&&(Cb=+g[3]);switch(g[2]){case "int":a.v.ka=Cb;break;case "start":a.v.Fa=Cb;break;case "stop":a.v.ma=Cb;break;default:a.j("unknown cs option");break a}void 0!==
|
||||
Cb&&dd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(id(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),
|
||||
a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":zg(a,g[0],g[1]);break;case "u":yf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){wg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.qb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){yg(a,b.substr(1));break}var Xd="commands:",Yd;for(Yd in Bg)Xd+="\n"+Ba(Yd,9)+Bg[Yd];ud(a)||(Xd+="\nnote: history disabled if no exec breakpoints");a.j(Xd);break;default:f=!0}f&&(a.j("unknown command: "+
|
||||
b),d=!1)}}catch(jg){a.j("debugger error: "+(jg.stack||jg.message)),d=!1}return d}function gd(a,b,c){b=Qe(a,b,c);for(var d in b)if(!sg(a,b[+d]))return!1;return!0}
|
||||
var Bg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},lg=20,ng=85,mg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "),
|
||||
lf=0,mf=1,nf=2,of=3,pf=4,qf=5,rf=6,sf=7,kf="PC RA EA C0 C1 OV ND PD".split(" "),Cg={},Bf=(Cg[28672]={0:101},Cg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:ng,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Cg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:lg,9216:53,9472:52,
|
||||
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Cg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Cg[29248]={24576:79,24640:80,25088:81,25152:82},Cg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
||||
28692:98,28696:99,28700:100},Cg),Cf=["","I","M","S"],ig=" L E LE A GE N G".split(" "),kg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),og={8:102,4:103,2:104,6:105,1:106},tf=1E3,wf=">> ";eb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ye(d);ub(d,c)}});
|
||||
function Dg(a,b,c){u.call(this,"Computer",a,33554432);this.w.V=!1;this.R=null;Eg(this,b);this.O=bd(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=bd(this,"url")||"";(Math.random()+.1).toString(36);this.f=Fg(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.H=new Fc({id:this.Qa+".bus",busWidth:this.aa},this.v,this.D);var d,e=qb(this.id);if((this.u=sb("Panel",this.id))&&this.u.ta)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Pb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Aa&&d.Aa(this,this.H,this.v,this.D);b=null;d=bd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=bd(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Gg),this.b&&(this.I=new O(this,"1.34.2"),Hg(this.I)?b=null:
|
||||
delete this.I);!b&&this.b&&(b=Ig(this))&&(this.K=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.M=b,g.T=!0);z(g)})}else z(this);this.J.power||(this.O=!0);!c&&this.O&&Jg(this,this.Ja)}else r("Unable to find CPU component")}p(Dg,u);function Eg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
|
||||
function bd(a,b,c,d){var e=b.toLowerCase(),e=Ra(b)||Ra(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Jg(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Kb(f)){Kb(f,function(){Jg(a,b,c)});return}}b.call(a,c)}
|
||||
function Kg(a,b){var c=new O(a,"1.34.2",Lg);if(Hg(c)&&Mg(c)){var d=c.get(Ng),e=b?b.get(Ng):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Dg.prototype;
|
||||
l.Ja=function(a){void 0===a&&(a=this.b||(this.M?Og:Gg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.I||new O(this,"1.34.2");if(a==Pg)b=!0;else if(a>Gg){if(Hg(d,this.M)){this.B=new O(this,"1.34.2",Qg);Hg(this.B)&&(Rg(this,d),a=Sg,Tg(this.B));this.B.set(Ng,Ja());Ug(this.B);var e=this.b&&!this.K;if(a==Og||pb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Mg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Hg(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.da("Error: "+g),"unable to verify user"==g&&(Pa(Vg,""),this.f=null)):this.j(f+": "+g),Tg(d),Hg(d)?(c=Mg(d),e=!0):c=!1))}e&&Kg(this,c?d:null)}else a==Sg&&d.clear()}else Kg(this);delete this.M;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Wg(this,g,d,b,c));b=[d,a,c];a!=Pg?Jg(this,this.ub,b):this.ub(b)}};
|
||||
function Wg(a,b,c,d,e){if(!b.w.V){b.w.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Gg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.jb){var g=b.jb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
l.ub=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.w.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Wg(this,this.v,b,c,a),P(this,-2),this.v.Z());this.P&&(Rg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0};
|
||||
function Rg(a,b){if(pb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Ag(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Lg),h=Ja();g.set(Ng,h);f.set(Ng,h);f.set(Xg,"1.34.2");f.set(Yg,window?window.location.href:null);f.set(Zg,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.w.Z=a.v.w.L),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.V=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var m=h[k];m.w.V&&(m.ia&&(d=m.ia(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.w.V=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&$g(a,a.f,f.toString()),Ug(g)&&Ug(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==mh),d&&f.clear(h)):e=f.toString());c&&(a.w.V=!1,b=a.J.power)&&(b.textContent="Power");a.A=0;return e}
|
||||
l.reset=function(){this.w.reset=!0;this.H&&this.H.reset&&(Ob(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Ob(this,"Resetting "+this.v.type),this.v.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Ob(this,"Resetting "+c.type),c.reset())}this.w.reset=!1;P(this,-1)};l.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}P(this,-1)};
|
||||
l.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}P(this,-1)};
|
||||
function P(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Ua+=d))&&(e.textContent=c.w.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Ua=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.A;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?sa(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.f=a.v.A:0<b&&c&&!d&&(a.f=a.v.sa);hc(a,a.f);bc(a,a.A)}}
|
||||
l.ia=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.A||(d.w.V?yg(d,!1,!0):Hg(d,d.Ga))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.w.V&&!d.A)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Pb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");yg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ga(Eg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(xa())c.parentNode.removeChild(c);else return this.J[b]=
|
||||
c,c.onclick=function(){var a=Dg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=yg(d,b);b?Yg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Dg(a,b){var c=a.f;c||((c=Oa(Tg),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=lh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
||||
function lh(a,b){a.f=null;b=Ka(ya()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Pa(Tg,b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function Gg(a){var b=null;a.f&&(b=ya()+"/api/v1/user?req=load&user="+a.f+"&state="+mh(a,"1.34.2"));return b}
|
||||
function Yg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=mh(a,"1.34.2");d.data=c;b=Ka(ya()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.da("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.da(c),Pa(Tg,""),a.f=null)}}
|
||||
function ld(a,b){if(a.qa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.qa.focus();!b&&window&&window.scrollTo(c,d)}}var Og="failsafe",Jg="validate",Lg="timestamp",Vg="version",Wg="url",Xg="browser",Tg="user",Ng=-1,Eg=0,Mg=1,Qg=2,kh=3;eb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Bg(g,d,!0);Cb(g,f);g.O&&Hg(g,g.Ga)}});
|
||||
fb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Bb("Computer",c.id))&&c.S&&!c.w.V&&c.Ga(Ng)}});fb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Bb("Computer",c.id))&&c.w.V&&yg(c,!(!c.b||c.F),!0)}});function O(a,b,c){this.id=a.id;this.f="";this.b={};this.v=this.u=!1;this.key=mh(a,b,c);Rg(this,a.tb)}l=O.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
|
||||
l.data=function(){return this.b};function Fg(a,b){return b?(a.f=b,a.v=!0,a.u=!1,!0):a.v?!0:Ma()&&(b=Oa(a.key))?(a.f=b,a.v=!0):!1}function Kg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.f),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function Sg(a){var b=!0;if(Ma()){var c=JSON.stringify(a.b);Pa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.f};
|
||||
function Rg(a,b){a.f="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Rg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function mh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var nh=0;
|
||||
function oh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ka(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):ph(k,a,b,c,d,e,f,g)})}
|
||||
function ph(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?qh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function qh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);qh(a,b,c)}})}else c(a,null)}
|
||||
function rh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function g(a){f("Error: "+a);m&&(--nh||ib(!0));m=!1}var h,k,m=!0;nh++;nb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));t.appendChild(C)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?oh(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--nh||ib(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--nh||
|
||||
ib(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?oh(c,b,a,e,!0,f,n):ph(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(fa){g(fa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return rh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return rh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")};
|
||||
function P(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Xa+=d))&&(e.textContent=c.w.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Xa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.A;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?sa(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.f=a.v.A:0<b&&c&&!d&&(a.f=a.v.va);hc(a,a.f);bc(a,a.A)}}
|
||||
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.A||(d.w.V?Ag(d,!1,!0):Jg(d,d.Ja))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.w.V&&!d.A)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Pb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ag(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ja(Gg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(xa())c.parentNode.removeChild(c);else return this.J[b]=
|
||||
c,c.onclick=function(){var a=Fg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=Ag(d,b);b?$g(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Fg(a,b){var c=a.f;c||((c=Oa(Vg),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=nh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
||||
function nh(a,b){a.f=null;b=Ka(ya()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Pa(Vg,b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function Ig(a){var b=null;a.f&&(b=ya()+"/api/v1/user?req=load&user="+a.f+"&state="+oh(a,"1.34.2"));return b}
|
||||
function $g(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=oh(a,"1.34.2");d.data=c;b=Ka(ya()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.da("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.da(c),Pa(Vg,""),a.f=null)}}
|
||||
function ld(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Qg="failsafe",Lg="validate",Ng="timestamp",Xg="version",Yg="url",Zg="browser",Vg="user",Pg=-1,Gg=0,Og=1,Sg=2,mh=3;eb(function(){for(var a=y(document,x+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=w(c),c=y(c,x,"computer"),e=0;e<c.length;e++){var f=c[e],g=w(f),g=new Dg(g,d,!0);ub(g,f);g.O&&Jg(g,g.Ja)}});
|
||||
fb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=sb("Computer",c.id))&&c.S&&!c.w.V&&c.Ja(Pg)}});fb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=sb("Computer",c.id))&&c.w.V&&Ag(c,!(!c.b||c.F),!0)}});function O(a,b,c){this.id=a.id;this.f="";this.b={};this.v=this.u=!1;this.key=oh(a,b,c);Tg(this,a.Db)}l=O.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
|
||||
l.data=function(){return this.b};function Hg(a,b){return b?(a.f=b,a.v=!0,a.u=!1,!0):a.v?!0:Ma()&&(b=Oa(a.key))?(a.f=b,a.v=!0):!1}function Mg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.f),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function Ug(a){var b=!0;if(Ma()){var c=JSON.stringify(a.b);Pa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.f};
|
||||
function Tg(a,b){a.f="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Tg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function oh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var ph=0;
|
||||
function qh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ka(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):rh(k,a,b,c,d,e,f,g)})}
|
||||
function rh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?sh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function sh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);sh(a,b,c)}})}else c(a,null)}
|
||||
function th(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function g(a){f("Error: "+a);m&&(--ph||ib(!0));m=!1}var h,k,m=!0;ph++;nb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?qh(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ph||ib(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ph||
|
||||
ib(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?qh(c,b,a,e,!0,f,n):rh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(fa){g(fa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return th("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return th("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n<f;n++){var t=b[n];if('"'==t||"'"==t)m&&t!=m?k+=t:(m?m=null:m=t,k&&(h.push(k),k=""));else{if(!m){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;Db(a)||(c=!1)}return c};window.enableEvents=ib;window.sendEvent=kb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
||||
|
|
|
|||
|
|
@ -30,147 +30,148 @@ var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
|
|||
function ea(){ba();var a=m.Symbol.iterator;a||(a=m.Symbol.iterator=m.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ga(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ga(a){ea();a={next:a};a[m.Symbol.iterator]=function(){return this};return a}
|
||||
function n(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ha(a,b){if(b){var c=m;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
|
||||
ha("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
||||
var q={Cb:0,Wa:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,Oa:8,Kb:9,Xa:10,Lb:11,Mb:12,Ya:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Na:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81,lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,
|
||||
rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Za:127};function ia(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}
|
||||
var p={Gb:0,Za:1,Ib:2,Jb:3,Kb:4,Lb:5,Mb:6,Nb:7,Ta:8,Ob:9,$a:10,Pb:11,Qb:12,ab:13,Rb:14,Sb:15,Tb:16,Ub:17,Vb:18,Wb:19,Xb:20,Yb:21,Zb:22,$b:23,ac:24,bc:25,cc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Sa:65,Fb:66,Hb:67,dc:68,E:69,ec:70,fc:71,gc:72,hc:73,ic:74,jc:75,kc:76,lc:77,mc:78,nc:79,oc:80,Q:81,pc:82,qc:83,rc:84,sc:85,tc:86,uc:87,
|
||||
vc:88,wc:89,cb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,xc:97,yc:98,zc:99,d:100,e:101,Ac:102,Bc:103,Cc:104,Dc:105,Ec:106,k:107,Fc:108,Gc:109,n:110,Hc:111,p:112,q:113,r:114,Ic:115,t:116,Jc:117,Kc:118,Lc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,bb:127};function ia(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0<c--;)e="?"+e;else for(0>a&&-1<a&&(a=-1);0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}
|
||||
function ja(a,b){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return ia(a,8,b,"")}function ka(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ia(a,16,b,c?"0x":"")}function la(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ma(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function na(){var a=oa();return-1!==a.indexOf("pcjs.org",a.length-8)}
|
||||
function pa(a){return a.replace(/[&<>"']/g,function(a){return qa[a]})}function ra(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var qa={"&":"&","<":"<",">":">",'"':""","'":"'"};function sa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||
function r(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
|
||||
f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||
f,e))});if(b&&"object"==typeof b){var l="",q;for(q in b)b.hasOwnProperty(q)&&(l&&(l+="&"),l+=q+"="+encodeURIComponent(b[q]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||
function ta(a,b){var c,d={H:null,O:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c<e.length;c++)d.H[f++]=e[c]&255,d.H[f++]=e[c]>>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c<e.length;c++)d.H[f++]=
|
||||
e[c]&255,d.H[f++]=e[c]>>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(t(d.H[0]),d=null):(t("Empty resource: "+a),d=null));d.O=g.symbols}catch(h){t("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){t("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.H=e)}return d}
|
||||
function oa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function va(){if(null==wa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}wa=a}return wa}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function oa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function ua(){if(null==va){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}va=a}return va}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
|
||||
function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){v.init.push(a)}
|
||||
function Da(a){if(Ea)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Fa(a){!Ea&&a?(Ea=!0,Ga&&Ha("init"),Ia&&Ha("show")):Ea=a}function Ha(a){v[a]&&Da(v[a])}var Ba=null,v={init:[],show:[],exit:[]},Ga=!1,Ia=!1,Ea=!0,wa=null;Ca("onload",function(){Ga=!0;Da(v.init)});Ca("onpageshow",function(){Ia=!0;Da(v.show)});Ca(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Da(v.exit)});
|
||||
function w(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Qa=b.comment;this.Va=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.ra=this.id:(this.sa=this.id.substr(0,a),this.ra=this.id.substr(a+1));this.h={ready:!1,wa:!1,Ia:!1,F:!1,error:!1};this.ya=null;this.h.error=!1;this.w=this.i=this.s=this.u=this.ca=null;y.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date}
|
||||
function Da(a){if(Ea)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Fa(a){!Ea&&a?(Ea=!0,Ga&&Ha("init"),Ia&&Ha("show")):Ea=a}function Ha(a){v[a]&&Da(v[a])}var Ba=null,v={init:[],show:[],exit:[]},Ga=!1,Ia=!1,Ea=!0,va=null;Ca("onload",function(){Ga=!0;Da(v.init)});Ca("onpageshow",function(){Ia=!0;Da(v.show)});Ca(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Da(v.exit)});
|
||||
function w(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ra=b.comment;this.gb=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.ua=this.id:(this.va=this.id.substr(0,a),this.ua=this.id.substr(a+1));this.h={ready:!1,za:!1,Ma:!1,F:!1,error:!1};this.Ba=null;this.h.error=!1;this.w=this.i=this.s=this.u=this.fa=null;y.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date}
|
||||
function t(a){window&&window.alert(a)}function Ma(a){var b=!1;window&&(b=window.confirm(a));return b}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<y.length;b++){var d=y[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Na(a){if(void 0!==a){var b;for(b=0;b<y.length;b++)if(y[b].id===a)return y[b]}return null}
|
||||
function B(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<y.length;d++)if(c)c==y[d]&&(c=null);else if(!(a!=y[d].type||b&&y[d].id.indexOf(b)))return y[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
|
||||
function D(a,b){var c=E;b=F(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),p=0;p<l.length;p++)switch(h=l[p],h){case c+"-binding":(h=C(g))&&h.binding&&a.U(h.type,h.binding,g,h.value),p=l.length}}}}
|
||||
function A(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<y.length;d++)if(c)c==y[d]&&(c=null);else if(!(a!=y[d].type||b&&y[d].id.indexOf(b)))return y[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
|
||||
function D(a,b){var c=E;b=F(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),q=0;q<l.length;q++)switch(h=l[q],h){case c+"-binding":(h=C(g))&&h.binding&&a.U(h.type,h.binding,g,h.value),q=l.length}}}}
|
||||
function F(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||
function Oa(a){for(var b=!0,c=Pa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Qa.indexOf(e)&&(f=function(){return function(){Oa(a)}}());var g=Ra[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=B(d[1],a);if(h)if(g=Sa[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){t("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Pa[a];return b}k=w.prototype;
|
||||
function Oa(a){for(var b=!0,c=Pa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Qa.indexOf(e)&&(f=function(){return function(){Oa(a)}}());var g=Ra[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=A(d[1],a);if(h)if(g=Sa[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){t("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Pa[a];return b}k=w.prototype;
|
||||
k.toString=function(){return this.name?this.name:this.id||this.type};
|
||||
k.U=function(a,b,c){switch(b){case "clear":return this.m[b]||(this.m[b]=c,c.onclick=function(a){return function(){a.m.print&&(a.m.print.value="")}}(this)),!0;case "print":return this.m[b]||(this.ca=this.m[b]=c,c.value="",this.M=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.G=function(a){this.M(a,this.ra)}),!0;default:return!1}};k.log=function(){};k.M=function(){};
|
||||
k.status=function(a){this.M(this.ra+": "+a)};k.G=function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)};function Ta(a,b){b&&(a.h.ready?b():a.ya=b);return a.h.ready}function G(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.ya;a.ya=null;b&&b()}}function Ua(a,b){a.h.Ia?(a.h.wa=!1,a.h.Ia=!1):a.h.error?a.M(a.toString()+" error"):a.h.wa=b}k.V=function(){return this.h.F=!0};k.R=function(a,b){b&&(this.h.F=!1);return!0};
|
||||
k.U=function(a,b,c){switch(b){case "clear":return this.m[b]||(this.m[b]=c,c.onclick=function(a){return function(){a.m.print&&(a.m.print.value="")}}(this)),!0;case "print":return this.m[b]||(this.fa=this.m[b]=c,c.value="",this.M=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.G=function(a){this.M(a,this.ua)}),!0;default:return!1}};k.log=function(){};k.M=function(){};
|
||||
k.status=function(a){this.M(this.ua+": "+a)};k.G=function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)};function Ta(a,b){b&&(a.h.ready?b():a.Ba=b);return a.h.ready}function G(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.Ba;a.Ba=null;b&&b()}}function Ua(a,b){a.h.Ma?(a.h.za=!1,a.h.Ma=!1):a.h.error?a.M(a.toString()+" error"):a.h.za=b}k.V=function(){return this.h.F=!0};k.R=function(a,b){b&&(this.h.F=!1);return!0};
|
||||
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
||||
var Ka=window?window.PCjs.Machines:{},y=window?window.PCjs.Components:[],Pa=window?window.PCjs.Commands:{},Qa=["hold","sleep","wait"],Ra={alert:function(a){t(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Sa={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
||||
var E="pdp10",H="PDPjs",Va=Math.pow(2,18)-1,I=Math.pow(2,18),J=Math.pow(2,18)-1,K=Math.pow(2,18),L=Math.pow(2,35)-1,M=Math.pow(2,35),N=Math.pow(2,36)-1,O=Math.pow(2,36),Wa=Math.pow(2,17)-1,P=Math.pow(2,35)-1,Xa=Math.pow(2,35),Ya=Math.pow(2,36),Za=Math.pow(2,34),Q=Math.pow(2,32),$a=Math.pow(2,23),ab=Math.pow(2,30),E="pdp10",H="PDPjs";
|
||||
function bb(a,b){w.call(this,"Panel",a);this.B=this.C=0;this.P=b;this.b=this.v=this.g=this.j=0;this.D=this.I=-1;this.K=this.L=this.o=!1;this.N=cb;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.w=this.i=this.s=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb,
|
||||
set:this.vb};G(this)}n(bb,w);k=bb.prototype;k.reset=function(a){this.stop();a&&db(this,this.j=0)};
|
||||
function bb(a,b){w.call(this,"Panel",a);this.A=this.C=0;this.P=b;this.b=this.v=this.g=this.j=0;this.D=this.I=-1;this.K=this.L=this.o=!1;this.N=cb;this.l={};this.a={START:[1,1,!0,!1,this.qb],STEP:[1,1,!1,!1,this.rb],ENABLE:[1,1,!1,!1,this.lb],CONT:[1,1,!0,!1,this.jb],DEP:[0,0,!0,!1,this.kb],EXAM:[1,1,!0,!1,this.mb],LOAD:[1,1,!0,!1,this.ob],TEST:[0,0,!0,!1,this.nb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.pb,a];this.w=this.i=this.s=this.u=null;this.exports={hold:this.ib,toggle:this.Ab,reset:this.wb,
|
||||
set:this.zb};G(this)}n(bb,w);k=bb.prototype;k.reset=function(a){this.stop();a&&db(this,this.j=0)};
|
||||
k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.i&&this.i.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){eb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){eb(a,
|
||||
b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fb(a,b)}}(this,b),!0):w.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.w=d;gb(this);hb(this)};k.V=function(a,b){if(!b)if(this.P&&ib(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new R(this);a.set(0,[this.b,this.j,this.g]);return a.data()};
|
||||
k.restore=function(a){if(a=a[0])jb(this,this.b=a[0]),db(this,this.j=a[1]),kb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}hb(this);return!0};function lb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gb(a,b){for(var c in a.l)lb(a,c,null!=b?b:a.l[c])}function mb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hb(a){for(var b in a.a)mb(a,b,a.a[b][1])}
|
||||
k.eb=function(a,b,c){if(eb(this,b)){if(c){var d=this;setTimeout(function(){fb(d,b);a&&a()},+c);return!1}fb(this,b)}return!0};
|
||||
k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):
|
||||
2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return kb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,mb(this,a,c[1]),!0):!1};k.wb=function(a){return eb(this,a)?(fb(this,a),!0):!1};function eb(a,b){var c=a.a[b];return c?(mb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nb&&(a.K=b==ob,a.L=b==pb),!0):!1}function fb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(mb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
|
||||
k.mb=function(a){a||this.i.h.A||(this.i.j=this.b%I,this.a[qb]&&this.a[qb][1]&&rb(this.i))};k.nb=function(){};k.hb=function(a){a||S(this.i)};k.fb=function(a){if(!a&&!this.i.h.A)if(this.a[qb]&&this.a[qb][1])rb(this.i);else{a=this.w;var b;if(b=a)a.h.wa&&(a.h.Ia=!0),b=!a.h.wa;if(b)Ua(a,!0),a.b(0,null),Ua(a,!1);else try{var c=this.i.Ba(1);0<c&&(sb(this.i,c),tb(this.i,c,!0),ub(this.i,c))}catch(d){"number"!=typeof d&&(c=this.i,a=d.stack||d.message,c.h.error=!0,c.G(a))}this.stop();this.u&&T(this.u)}};
|
||||
k.gb=function(a){a&&!this.i.h.A&&(this.K&&vb(this),a=db(this,this.j=this.g),this.N==cb?wb(this.s,this.b,a):this.i.f(this.b,a))};k.ib=function(a){if(!a&&!this.i.h.A){this.L&&vb(this);if(this.N==cb){a=this.s;var b=this.b,c=a.a[(b&a.g)>>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);db(this,this.j=a)}};k.kb=function(a){a||this.i.h.A||jb(this,this.g)};k.jb=function(a){a?(this.o=!0,gb(this,!0)):(this.o=!1,gb(this),kb(this,0))};k.lb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)};
|
||||
function vb(a){var b=1,c=a.s.g;a.a[nb]&&a.a[nb][1]||(b=-b);jb(a,a.b&~c|a.b+b&c)}function jb(a,b){a.b=b&a.s.g;if(a.D!==a.b){a.D=a.b;b=a.D;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.l[e]=f;d.o||lb(d,e,f)}}}function db(a,b){a.v=b%O;if(a.I!==a.v){a.I=a.v;b=a.I;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.l[e]=f;d.o||lb(d,e,f)}}return a.v}function kb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;hb(a);return!0}k.stop=function(){jb(this,this.i.j)};
|
||||
function ib(){for(var a=F(document,E,"panel"),b=0;b<a.length;b++){var c=a[b],d=C(c),e=Na(d.id);e||(e=new bb(d,!0));D(e,c)}}var cb=7,ob="DEP",qb="ENABLE",pb="EXAM",nb="STEP";u(ib);function xb(a,b,c){w.call(this,"Bus",a);this.i=b;this.w=c;this.v=+a.busWidth||18;this.o=1<<this.v;this.g=this.o-1;this.b=Math.log2(16384);this.l=this.o/16384|0;this.j=0;this.a=[];a=new U(this);yb(a);this.a=Array(this.l);for(b=0;b<this.l;b++)this.a[b]=a;G(this)}n(xb,w);k=xb.prototype;k.reset=function(){};
|
||||
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new R(this);a.set(0,zb(this));return a.data()};k.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){t("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Ab(a,b,c,d){for(var e=b,f=c,g=e>>>a.b;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,p=16384-(e-l);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.ba)return h.Aa+=h.ba-e,h.ba=e,!0;if(e>=h.ba+h.Aa){p=h.size-(e-l);p>f&&(p=f);h.Aa=e-h.ba+p;e=l+16384;f-=p;g++;continue}}return Bb(Cb,e,f)}e=new U(a,e,p,16384,d);yb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Db[d]+" at "+ja(b)),!0):Bb(Eb,b,c)}function wb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--}
|
||||
function zb(a){for(var b=0,c=[],d=0;d<a.l;d++){var e=a.a[d];if(e.Ja||e.cb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var p=e[g],x=g+1;x<e.length&&e[x]===p;)x++;l[h++]=x-g;l[h++]=p;g=x}l.length<e.length&&(e=l)}c[f]=e}}return c}function Bb(a,b,c){t("Memory block error ("+a+": "+ka(b)+","+ka(c)+")");return!1}var Cb=1,Eb=2;function Fb(a){w.call(this,"Device",a)}n(Fb,w);k=Fb.prototype;k.Z=function(a,b,c,d){this.s=b;this.u=a;this.i=c;this.w=d;G(this)};
|
||||
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new R(this)).data()};k.restore=function(){return!0};u(function(){for(var a=F(document,E,"device"),b=0;b<a.length;b++){var c,d=a[b];c=C(d);switch(c.type){case "default":c=new Fb(c),D(c,d)}}});
|
||||
function U(a,b,c,d,e){this.u=a;this.id=Gb+=2;this.ba=b;this.Aa=c;this.size=d||0;this.type=e||Hb;this.s=e==Ib;this.c=this.m=this.Ka;this.f=this.g=this.Ma;this.b=this.i=0;yb(this);this.Ja=this.cb=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Jb(this,Kb)}else Jb(this)}k=U.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Ja=!0):!1};function Jb(a,b){b||(b=Lb);Mb(a,b,void 0);Nb(a,b,void 0)}
|
||||
function Mb(a,b,c){c&&a.b||(a.c=b[0]||a.Ka);if(c||void 0===c)a.m=b[0]||a.Ka}function Nb(a,b,c){c&&a.i||(a.f=!a.s&&b[1]||a.Ma);if(c||void 0===c)a.g=b[1]||a.Ma}function yb(a,b){a.b=a.i=0;b&&((a.b=b.b)&&Mb(a,Ob,!1),(a.i=b.i)&&Nb(a,Ob,!1))}k.Ka=function(){var a=this.u;a.j||S(a.i);return-1};k.Ma=function(){};k.qb=function(a){return this.a[a]};k.zb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Ja=!0)};k.ob=function(a,b){return this.m(a,b)};k.yb=function(a,b,c){this.s||this.g(a,b,c)};
|
||||
var Hb=0,Ib=2,Db=["NONE","RAM","ROM"],Gb=0,Lb=[],Kb=[U.prototype.qb,U.prototype.zb],Ob=[U.prototype.ob,U.prototype.yb];
|
||||
function Pb(a,b){w.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Ca=0;this.Ga=b;this.ea=c;this.Ea=Math.round(this.Ga/1E4)/100;this.X=this.Ea*this.ea;this.Fa=this.ma=this.fa=this.va=0;this.h.A=this.h.La=!1;this.h.J=a.autoStart;"string"==typeof this.h.J&&(this.h.J="true"==this.h.J);this.h.xa=!1;this.ta=this.da=0;this.ua=+a.csStart;this.ka=+a.csInterval;this.la=+a.csStop;this.I=[];this.Ra=this.tb.bind(this);this.P=this.D=this.L=this.N=this.C=this.ja=this.K=this.ga=this.Ha=this.W=0;this.pa=
|
||||
null;G(this)}n(Pb,w);k=Pb.prototype;k.Z=function(a,b,c,d){this.u=a;this.s=b;this.w=d;this.pa=a.g;for(a=0;a<Qb.length;a++)(b=this.m[Qb[a]])&&this.u.U(null,Qb[a],b);G(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
||||
k.V=function(a,b){var c=Rb(this.u,"autoStart");null!=c?this.h.J="true"==c?!0:"false"==c?!1:!!c:null==this.h.J&&(this.h.J=void 0===this.m.run);if(!b){if(a){Sb(this);if(!this.restore(a))return!1;Tb(this)}else this.reset();this.status("No debugger detected");this.h.J||this.M("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0};k.R=function(a){return a?this.save():!0};k.J=function(){return this.h.A?!0:this.h.J?(rb(this),!0):!1};k.Ta=function(){return 0};
|
||||
function Tb(a){void 0===a.ua&&(a.ua=0);void 0===a.ka&&(a.ka=-1);void 0===a.la&&(a.la=-1);a.h.xa=0<=a.ua&&0<a.ka;a.h.xa&&(a.ta=0,a.da=a.ua-a.P)}function ub(a,b){if(a.h.xa){var c=!1;a.ta=a.ta+a.Ta()|0;a.da-=b;0>=a.da&&(a.da+=a.ka,c=!0);0<=a.la&&a.la<=Ub(a)&&(a.ka=a.la=-1,Tb(a),S(a),c=!0);c&&a.M(Ub(a)+" cycles: checksum="+ka(a.ta))}}
|
||||
k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.F)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.F);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.ya?" (waiting for notification)":""))+".");a=!1}a&&(d.h.A?S(d):rb(d))},!0;case "speed":return this.m[b]=
|
||||
c,!0;case "setSpeed":return this.m[b]=c,c.onclick=function(){Vb(d,d.ea<<1,!0)},c.textContent=this.X.toFixed(2)+"Mhz",!0}return!1};function tb(a,b,c){a.P+=b;c&&(a.L=a.N=0)}function Wb(a,b){var c=1;b&&1<a.ea&&a.W&&(c=a.W/a.Ea);a.Fa=Math.round(1E3/Xb);a.ma=Math.floor(a.Ga/Xb*c);b||(a.fa=a.ma);a.va=0}function Ub(a){return a.P+a.D+a.L-a.N}function Sb(a){a.W=0;a.Ha=0;a.P=a.D=a.L=a.N=0;Tb(a);Vb(a,1)}
|
||||
function Vb(a,b,c){if(void 0!==b){.8>a.W/a.X&&(b=1);a.ea=b;b=a.Ea*a.ea;if(a.X!=b){a.X=b;b=a.X.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ca&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ca.focus(),window&&window.scrollTo(b,d)))}tb(a,a.D);a.D=0;a.C=La();a.K=0;Wb(a)}function Yb(a){for(var b=[],c=0;c<a.I.length;c++)b.push(a.I[c][0]);return b}
|
||||
function sb(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zb(a,b){var c=a.L-=a.N;a.N=0;b&&(a.L=0);return c}
|
||||
k.tb=function(){if(this.h.A){this.va>=this.Ga&&Wb(this,!0);this.ga=0;this.ja=La();if(this.K){var a=this.ja-this.K;a>this.Fa&&(this.C+=a,this.C>this.ja&&(this.C=this.ja))}try{do{for(var b,c=this.h.xa?1:this.ma,d=this.I.length-1;0<=d;d--){var e=this.I[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ba(b)}catch(f){if("number"!=typeof f)throw f;}b=Zb(this,!0);this.ga+=b;this.D+=b;ub(this,b);sb(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.ma;++this.Ha>=$b&&(this.u&&T(this.u,void 0),this.Ha=0);break}}while(this.h.A)}catch(f){S(this);
|
||||
this.u&&this.u.stop(La(),Ub(this));a=f.stack||f.message;this.h.error=!0;this.G(a);return}if(this.h.A){a=setTimeout;b=this.Ra;this.K=La();c=this.Fa;this.ga&&(c=Math.round(c*this.ga/this.ma));c-=this.K-this.ja;if(d=this.K-this.C)this.W=Math.round(this.D/(10*d))/100,864E5<=d&&(this.P=0,Vb(this));if(0>c||this.W<this.X)-1E3>c&&(this.C-=c),c=0;this.va+=this.ga;this.K+=c;a(b,c)}}};
|
||||
function rb(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.A)a.M(a.toString()+" busy");else{Vb(a);a.h.A=!0;a.h.La=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.C,Ub(a));a.w||a.status("Started");setTimeout(a.Ra,0)}}k.Ba=function(){return 0};function S(a){var b=!1;if(a.h.A){Zb(a);tb(a,a.D);a.D=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(La(),Ub(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var Xb=30,$b=15,Qb=["power","reset"];
|
||||
function ac(a){var b=+a.model||1001;Pb.call(this,a,1E6);this.$a=b;this.qa=+a.addrReset||0;this.bb=bc.bind(this);this.a=V.bind(this);this.ia=null;this.Pa=[];this.h.complete=!1}n(ac,Pb);k=ac.prototype;k.reset=function(){this.status("Model "+this.$a);this.h.A&&S(this);this.b=this.v=this.na=0;this.j=this.Da=this.qa;this.o=this.aa=-1;this.B=this.g=0;this.ha=this.j;this.l=0;this.c=this.pb;this.f=this.Ab;this.ia=null;Sb(this);this.h.error=!1;Pb.prototype.reset.call(this)};k.Ta=function(){return 0};
|
||||
k.save=function(){var a=new R(this);a.set(0,[this.b,this.v,this.na,this.j,this.aa,this.o,this.g,this.l,this.Da,this.ha,this.qa]);a.set(1,[]);a.set(2,[this.P,this.ea,this.h.J]);a.set(3,cc(this));a.set(4,Yb(this));return a.data()};
|
||||
k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.v=b.next().value;this.na=b.next().value;this.j=b.next().value;this.aa=b.next().value;this.o=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Da=b.next().value;this.ha=b.next().value;this.qa=b.next().value;b=a[2];this.P=b[0];Vb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Pa.length;d++){var e=this.Pa[d];if(e.xb===b[c]){d=e;break a}}d=
|
||||
null}d&&(d.next=this.ia,this.ia=d)}a=a[4];for(b=0;b<this.I.length&&b<a.length;b++)this.I[b][0]=a[b];return!0};function dc(a){a.j=(a.j+-1)%I}function cc(a){var b=[];for(a=a.ia;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.s;a=this.ha=a;return b.a[(a&b.g)>>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.s;a=this.ha=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b};
|
||||
k.Ba=function(a){this.h.complete=!0;var b=a?this.h.La?0:1:-1;this.h.La=!1;this.L=this.N=a;this.l=this.l&-5|0;do{if(a=this.l)if(a=this.l&11)this.l&2?this.ia||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.w.j(this.j,b)){S(this);break}if(0>b)break}this.l&=15;this.v&4194304?this.v=this.c(this.b):0<=this.aa?(this.v=this.na=this.c(this.aa),this.aa=-1):(this.v=this.na=this.c(this.Da=this.j),this.j=(this.j+1)%I);this.v&=8388607;this.b=this.v&262143;if(a=this.v>>18&15)this.b=this.b+this.c(a)&
|
||||
Va;a=this.v&4194304?-1:this.na/$a|0;0<=a&&this.bb(a)}while(0<this.N);return this.h.complete?this.L-this.N:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ac(d);D(d,c)}});function bc(a){ec[a>>4].call(this,a,a&15)}function W(a){this.a(a)}function fc(){var a=0,b=this.c(this.b),c=b/ab&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ab+(d<<24)+(b&16777215);a&&(b=(b+a)%O);this.f(this.b,b)}
|
||||
function gc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.v=this.b|4194304;else{var c=this.o/ab&63,d=this.o>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.o=-1}}function hc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.v=this.b|4194304,dc(this);else{var c=this.o/ab&63,d=this.o>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%O;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.o=-1}}function ic(a,b){this.f(b,this.c(this.b))}
|
||||
function jc(a,b){this.f(b,this.b)}function kc(a,b){this.f(this.b,this.c(b))}function lc(a,b){this.f(b,0)}function mc(a,b){this.f(b,N-this.c(b))}function nc(a,b){this.f(b,N)}function oc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,pc(a,d,c)+(c-(c&J)))}function qc(a,b){var c=this.c(b);this.f(b,pc(a,c,0))}function rc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,pc(a,c,b)+(b-(b&J)))}
|
||||
function sc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&J,a){case 256:d+=J;break;case 384:d+=c>P?J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function tc(a,b){var c=(this.c(this.b)&J)*K,d=this.c(b);this.f(b,pc(a,d,c)+c)}function uc(a,b){var c=this.b*K,d=this.c(b);this.f(b,pc(a,d,c)+c)}function vc(a,b){b=(this.c(b)&J)*K;var c=this.c(this.b);this.f(this.b,pc(a,c,b)+b)}function wc(a,b){var c=this.c(this.b),d=(c&J)*K,c=pc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}
|
||||
function xc(a,b){var c=this.c(this.b)&J,d=this.c(b);this.f(b,yc(a,d,c)+c)}function zc(a,b){var c=this.c(b);this.f(b,yc(a,c,this.b)+this.b)}function Ac(a,b){b=this.c(b)&J;var c=this.c(this.b);this.f(this.b,yc(a,c,b)+b)}function Bc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=J,a){case 256:d+=J*K;break;case 384:d+=c>Wa?J*K:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Cc(a,b){var c=this.c(this.b)/K|0,d=this.c(b);this.f(b,yc(a,d,c)+c)}function Dc(a,b){var c=this.c(b);this.f(b,yc(a,c,0))}
|
||||
function Ec(a,b){b=this.c(b)/K|0;var c=this.c(this.b);this.f(this.b,yc(a,c,b)+b)}function Fc(a,b){var c=this.c(this.b),d=c/K|0,c=yc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Gc[a&7].call(this,a,a>>3&127)}function Hc(){}function V(a){this.M("undefined opcode: "+ja(a));dc(this);S(this)}function Ic(a){a>P&&(a!=Xa?a=Ya-a:this.g|=163840);return a}function Jc(a,b){var c=(a+b)%O;Kc.call(this,a,b,c);return c}function Y(a,b){return((a/Q|0)&(b/Q|0))*Q+((a&b)>>>0)}
|
||||
function Lc(a,b){return((a/Q|0)^(b/Q|0))*Q+((a^b)>>>0)}function Mc(a,b){return(~((a/Q|0)^(b/Q|0))&15)*Q+(~(a^b)>>>0)}function Z(a,b){return(a/Q|0|b/Q|0)*Q+((a|b)>>>0)}
|
||||
function Nc(a,b){var c=a,d=b;b=!1;var e;c>P&&(c=O-c,b=!b);d>P&&(d=O-d,b=!b);if(c<K&&d<K)a=c*d,e=0;else{a=c%K;c=Math.trunc(c/K);e=d%K;var d=Math.trunc(d/K),f=a*e,g=c*e+Math.trunc(f/K);e=Math.trunc(g/K);g=g%K+a*d;a=g*K+f%K;e+=Math.trunc(g/K)+c*d}b&&(a?(e=N-e,a=O-a):e&&(e=O-e));b=a;a=e;c=a-a%M;a=2*a%O+Math.trunc(b/M);b=c+b%M;e=a-a%M;c!=e&&(a=c+(a-e),this.g|=131072);this.B=b;return a}function Oc(a){a?a==Xa?this.g|=163840:a=Ya-a:this.g|=98304;return a}
|
||||
function Pc(a,b){var c=a-b;0>c&&(c+=O);Kc.call(this,c,b,a);return c}function Kc(a,b,c){a=Math.trunc(a/Za);b=Math.trunc(b/Za);c=Math.trunc(c/Za);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function yc(a,b,c){switch(a&384){case 0:b-=b&J;break;case 128:b=0;break;case 256:b=J*K;break;case 384:b=c>Wa?J*K:0}return b}function pc(a,b,c){switch(a&384){case 0:b&=J;break;case 128:b=0;break;case 256:b=J;break;case 384:b=c>P?J:0}return b}
|
||||
function Qc(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=O&&(a[0]%=O,a[1]++)}function Rc(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Sc(a){a[1]%2&&(a[0]+=O);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}
|
||||
var ec=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},fc,function(a,b){0>this.o&&fc.call(this);gc.call(this,0,b)},gc,function(a,b){0>this.o&&fc.call(this);hc.call(this,0,b)},hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ic,jc,kc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/K|0)+a%K*K;this.f(b,a)},function(a,b){this.f(b,this.b*K)},function(a,b){a=this.c(b);a=(a/K|0)+a%K*K;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/K|0)+a%K*K;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Oc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b?Ya-this.b:0)},function(a,b){this.f(this.b,
|
||||
Oc.call(this,this.c(b)))},function(a,b){a=Oc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Ic.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,Ic.call(this,this.c(b)))},function(a,b){a=Ic.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.B)},function(a,
|
||||
b){this.f(b,Nc.call(this,this.c(b),this.b));this.f(b+1&15,this.B)},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.B)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){a=this.c(b);var c=this.c(b+1&15);var d=c,e=a,f=this.c(this.b),c=a=!1,g=e-e%M,d=d%M+e*M%O,e=this.B=g+Math.trunc(e/2);f>P&&(f=O-f,a=!a);e>P&&(d?(e=N-e,d=O-d):e&&
|
||||
(e=O-e),c=!0,a=!a);if(e>=f)this.g|=32,c=-1;else{for(var g=[0,0],h=[1,0],f=[f,0],e=[d,e];0<Rc(e,f);)Qc(f,f),Qc(h,h);do{if(0<=Rc(e,f)){var d=e,l=f;d[0]-=l[0];d[1]-=l[1];0>d[0]&&(d[0]+=O,d[1]--);Qc(g,h);if(!e[0]&&!e[1])break}Sc(f);Sc(h)}while(h[0]||h[1]);d=g[0];this.B=e[0];a&&d&&(d=O-d);c&&this.B&&(this.B=O-this.B);c=d}0>c||(this.f(b,c),this.f(b+1&15,this.B))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>P?-(O-
|
||||
a):a;0<c?(35<=c?(d=0>d?M:0,c=L):(d=d*Math.pow(2,c)%M,c=M-Math.pow(2,35-c)),a<=P?a+c>P&&(this.g|=131072):a-c<=P&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+O:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%O+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0<a?36<=a?0:c*Math.pow(2,a)%O:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a,b){a=0;var c=
|
||||
this.c(b);if(c){for(;c<M;)a++,c*=2;this.j=this.b%I}this.f(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<M||d>L&&d<N)this.g|=131072;if(71<=a){if(0<e&&e<M||e>L&&e<N)this.g|=131072;d=0}else d=e*Math.pow(2,a-35)%M,c=M-Math.pow(2,70-a),f<=P?e+c>P&&(this.g|=131072):e-c<=P&&(this.g|=131072);e=0;f>L&&(d+=M,e+=M)}else d=d*Math.pow(2,a)%M+Math.trunc(e%M/Math.pow(2,35-a)),e=e*Math.pow(2,a)%M,c=M-Math.pow(2,35-a),f<=P?f+c>P&&(this.g|=
|
||||
131072):(f-c<=P&&(this.g|=131072),d+=M,e+=M)}else-36>=a?(e=-72>=a?d>L?N:0:Math.trunc(d%M/Math.pow(2,-a-35)),d<=L?d=0:(d=N,e+=M)):(c=d>L?O-Math.pow(2,36+a):0,e=Math.trunc(e%M/Math.pow(2,-a))+d%M*Math.pow(2,35+a)%M,d=Math.trunc(d/Math.pow(2,-a))+c,d>L&&(e+=M));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%O+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%O+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,
|
||||
a-36)%O+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%O+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%O,d=0):(c=c*Math.pow(2,a)%O+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%O):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%O,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},V,function(a,
|
||||
b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/K|0,c=c&J;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&J,c=c+1&J,this.h.A||(this.f(b,d*K+c),a||dc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,this.j=this.b%I)},function(){this.aa=this.b},V,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&J,this.c(this.b));a>=O&&(a-=O);a/K|0||(this.g|=262144);this.f(b,
|
||||
a)},function(a,b){a=this.c(b);var c=this.c(a&J);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=O);(a/K|0)==J&&(this.g|=262144);this.f(b,a)},function(a){this.a(a)},function(){this.f(this.b,(this.g&J)*K+this.j);this.j=(this.b+1)%I},function(a,b){this.f(b,(this.g&J)*K+this.j);this.j=this.b%I},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Jc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Jc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Jc.call(this,
|
||||
this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Jc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},lc,lc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),
|
||||
this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),this.c(this.b))))},ic,jc,Hc,ic,function(a,b){this.f(b,Y.call(this,this.c(b),N-this.c(this.b)))},
|
||||
function(a,b){this.f(b,Y.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),N-this.c(this.b))))},Hc,Hc,kc,kc,function(a,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,
|
||||
Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),N-
|
||||
this.c(this.b))))},function(a,b){this.f(b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Mc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Mc.call(this,this.c(b),this.c(this.b))))},mc,mc,function(a,b){this.f(this.b,N-this.c(b))},function(a,b){this.f(this.b,this.f(b,N-this.c(b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.b))},
|
||||
function(a,b){this.f(this.b,Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),this.c(this.b))))},function(a,b){this.f(b,N-this.c(this.b))},function(a,b){this.f(b,N-this.b)},function(){this.f(this.b,N-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),N-
|
||||
this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),N-this.c(this.b))))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b))))},nc,nc,function(){this.f(this.b,N)},function(a,b){this.f(this.b,this.f(b,N))},oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc,
|
||||
oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
|
||||
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Gc=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&
|
||||
262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}];
|
||||
function Tc(a){w.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=la(this.j);if(this.j){a=this.j;var b=ma(this.o);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ja(c.sa,a,b),(a=ta(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Uc(c)})}}n(Tc,w);
|
||||
Tc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.w=d;Uc(this)};Tc.prototype.V=function(){this.O&&(this.w&&this.w.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Tc.prototype.R=function(){return!0};
|
||||
function Uc(a){if(!Ta(a)){if(a.j){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ka(a.a.length,8,!0)+") does not match specified size ("+ka(a.g,8,!0)+")";a.h.error=!0;a.G(b)}else{b=a.l;if(Ab(a.s,b,a.g,Ib)){var c;for(c=0;c<a.a.length;c++)wb(a.s,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.b?b.push(a.b):null!=a.b&&a.b.length&&(b=a.b);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.s,g=d.g,h=[],l=d.l>>>f.b;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.s;
|
||||
d=d.g;g=0;for(e>>>=f.b;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}G(a)}}u(function(){for(var a=F(document,E,"rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Tc(d);D(d,c)}});
|
||||
function Vc(a){w.call(this,"RAM",a);this.O=this.Y=null;this.b=+a.addr;this.g=+a.size;this.T=a.load;this.S=a.exec;null!=this.T&&(this.T=+this.T);null!=this.S&&(this.S=+this.S);this.j=this.o=!1;this.a=a.file;this.l=la(this.a);if(this.a){a=this.a;var b=ma(this.l);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.G("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(Ja(c.sa,a,b),(a=ta(a,b))?(c.Y=a.Y,c.O=a.O,null==
|
||||
c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);Wc(c)})}}n(Vc,w);Vc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.w=d;Wc(this)};Vc.prototype.V=function(a,b){this.O&&(this.w&&this.w.a(this.id,this.b,this.g,this.O),delete this.O);b||this.reset();return!0};Vc.prototype.R=function(){return!0};
|
||||
function Wc(a){if(a.s&&(!a.j&&a.g&&(Ab(a.s,a.b,a.g,1)?a.j=!0:a.g=0),!Ta(a))){if(!a.j)t("No RAM allocated");else if(a.a){if(!a.Y)return;Xc(a,a.Y,a.T,a.S,a.b)?a.status('Loaded image "'+a.l+'"'):a.G('Error loading image "'+a.l+'"')}a.o=!0;G(a)}}
|
||||
Vc.prototype.reset=function(){if(this.j&&!this.o){for(var a=this.s,b=this.b,c=this.g,d=b&16383,b=b>>>a.b;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-Xa&&(g+=O);for(var g=Math.trunc(Math.abs(g))%O,h=d;f--&&h<e.size;h++)e.g(g,d,e.ba+d);c-=16384;b++;d=0}this.Y&&Xc(this,this.Y,this.T,this.S,this.b,!this.w)}this.o=!1};
|
||||
function Xc(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)wb(a.s,c+g,b[g]);g=!0}g&&(null==d&&(S(a.i),f=!1),null!=d&&(a=a.i,a.qa=d,a.j=d%I,f?a.h.F?a.h.A||rb(a):a.h.J=!0:a.w&&a.h.F?S(a)||a.u.h.reset||(a.w.g(),T(a.u,-1)):!1===f&&S(a),!a.h.A&&a.pa&&a.pa.stop()));return g}u(function(){for(var a=F(document,E,"ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Vc(d);D(d,c)}});
|
||||
function Yc(a){w.call(this,"SerialPort",a);this.j=a.upperCase;"string"==typeof this.j&&(this.j="true"==this.j);this.g=!0;this.b=[];var b=a.binding;if("console"!=b){var c;a=Zc;b&&(void 0===c&&(c="Panel"),(c=B(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.Ua,receiveData:this.za,receiveStatus:this.rb,setConnection:this.ub}}n(Yc,w);k=Yc.prototype;
|
||||
k.U=function(a,b,c){var d=this;switch(b){case Zc:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Oa:q.Za:46==c?b=q.Oa:a.ctrlKey&&c>=q.Na&&c<=q.ab&&(b=c-(q.Na-q.Wa));b&&(a.preventDefault&&a.preventDefault(),d.za(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ya&&(b=q.Xa);d.za(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.za(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.w=d;G(this)};
|
||||
k.Ua=function(a){if(!this.a){var b=Rb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ra(c[0]);if(d!=this.ra)return;c=ra(c[1]);if(this.a=Na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.sa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ua(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new R(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.za=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.b.push(b)}else this.b=this.b.concat(a);return!0};k.rb=function(){};k.ub=function(a,b){return this.a?!1:(this.a=a,this.l=b,!0)};var Zc="buffer";
|
||||
u(function(){for(var a=F(document,E,"serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Yc(d);D(d,c)}});
|
||||
function $c(a,b,c){w.call(this,"Computer",a);this.h.F=!1;this.L=null;ad(this,b);this.I=Rb(this,"autoPower",a,6);this.j=0;this.W=+a.busWidth||+a.buswidth;this.C=this.o=this.D=null;this.B=this.P=!1;this.v=this.l=null;this.N=this.K=!1;this.X=Rb(this,"url")||"";(Math.random()+.1).toString(36);this.b=bd(this);if(this.i=B("CPU",this.id)){this.w=B("Debugger",this.id);this.s=new xb({id:this.sa+".bus",busWidth:this.W},this.i,this.w);var d,e=z(this.id);if((this.g=B("Panel",this.id))&&this.g.ca)for(b=0;b<e.length;b++)d=
|
||||
e[b],d.G=this.g.G,d.M=this.g.M,d.ca=this.g.ca;this.M(H+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Z&&d.Z(this,this.s,this.i,this.w);b=null;d=Rb(this,"resume",a);void 0!==d&&(1<d.length?b=this.o=d:this.a=parseInt(d,10));var f;if(a=Rb(this,"state")||(f=!0,a.state))this.D=b=a,f||(this.B=!0,this.a=cd),this.a&&(this.v=new R(this,"1.34.2"),dd(this.v)?b=null:delete this.v);!b&&this.a&&
|
||||
(b=ed(this))&&(this.B=!0);if(b){var g=this;r(b,null,!0,function(a,b,c){c?(g.o=null,g.B=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+ra(b):"")+")")):(g.C=b,g.P=!0);G(g)})}else G(this);this.m.power||(this.I=!0);!c&&this.I&&fd(this,this.oa)}else t("Unable to find CPU component")}n($c,w);function ad(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.L=b}
|
||||
function Rb(a,b,c,d){var e=b.toLowerCase(),e=Aa(b)||Aa(e);void 0===e&&a.L&&(e=a.L[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function fd(a,b,c){for(var d=z(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ta(f)){Ta(f,function(){fd(a,b,c)});return}}b.call(a,c)}
|
||||
function gd(a,b){var c=new R(a,"1.34.2",hd);if(dd(c)&&id(c)){var d=c.get(jd),e=b?b.get(jd):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=$c.prototype;
|
||||
k.oa=function(a){void 0===a&&(a=this.a||(this.C?kd:cd));if(!this.j){this.j++;var b=!1,c=!1;this.K=!1;var d=this.v||new R(this,"1.34.2");if(a==ld)b=!0;else if(a>cd){if(dd(d,this.C)){this.l=new R(this,"1.34.2",md);dd(this.l)&&(nd(this,d),a=od,pd(this.l));this.l.set(jd,sa());qd(this.l);var e=this.a&&!this.B;if(a==kd||Ma("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=id(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?dd(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.G("Error: "+g),"unable to verify user"==g&&(ya(rd,""),this.b=null)):this.M(f+": "+g),pd(d),dd(d)?(c=id(d),e=!0):c=!1))}e&&gd(this,c?d:null)}else a==od&&d.clear()}else gd(this);delete this.C;delete this.v}e=z(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.i&&(c=sd(this,g,d,b,c));b=[d,a,c];a!=ld?fd(this,this.Sa,b):this.Sa(b)}};
|
||||
function sd(a,b,c,d,e){if(!b.h.F){b.h.F=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.V(f,d)&&f&&(t("Unable to restore state for "+b.type),a.D&&!a.P?(c.clear(),a.a=cd,window&&window.location.reload()):a.K=!0,b.V(null),e=!1),!d&&b.Qa){var g=b.Qa.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){t("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
k.Sa=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.h.F=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(sd(this,this.i,b,c,a),T(this,-2),this.i.J());this.K&&(nd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0};
|
||||
function nd(a,b){if(Ma("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function td(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new R(a,"1.34.2"),g=new R(a,"1.34.2",hd),h=sa();g.set(jd,h);f.set(jd,h);f.set(ud,"1.34.2");f.set(vd,window?window.location.href:null);f.set(wd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),S(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.F=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l<h.length;l++){var p=h[l];p.h.F&&(p.R&&(d=p.R(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.h.F=!1,!1===
|
||||
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.b&&xd(a,a.b,f.toString()),qd(g)&&qd(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==yd),d&&f.clear(h)):e=f.toString());c&&(a.h.F=!1,b=a.m.power)&&(b.textContent="Power");a.j=0;return e}k.reset=function(){this.h.reset=!0;this.s&&this.s.reset&&this.s.reset();this.i&&this.i.reset&&this.i.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.s&&c!==this.i&&c.reset&&c.reset()}this.h.reset=!1;T(this,-1)};
|
||||
k.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}T(this,-1)};k.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}T(this,-1)};
|
||||
function T(a,b){if(a.i){var c=a.i,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.h.A?c.W.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.l&8);if(0>=b||60<=(a.B+=b)){e=a.i.j;if(a.m.PC){var f=a.w&&a.w.l||8,e=e||0,e=8==f?ja(e,void 0):ka(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.j:0<b&&c&&!d&&(a.b=a.i.ha);jb(a,a.b);db(a,a.j)}}
|
||||
k.U=function(a,b,c){var d=this;switch(b){case "power":return this.m[b]=c,c.onclick=function(){d.j||(d.h.F?td(d,!1,!0):fd(d,d.oa))},!0;case "reset":return this.m[b]=c,c.onclick=function(){if(d.h.F&&!d.j)if(d.a&&!d.o){var a=Ma("Click OK to save changes to this "+H+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");td(d,a,!0);!a&&d.D?window&&window.location.reload():d.oa(cd)}else d.reset(),d.i&&!d.w&&d.i.J()},!0;case "save":if(na())c.parentNode.removeChild(c);else return this.m[b]=
|
||||
c,c.onclick=function(){var a=bd(d,!0);if(a){var b=!!(d.a&&!d.o||d.D),c=td(d,b);b?xd(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function bd(a,b){var c=a.b;c||((c=xa(rd),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=zd(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
|
||||
function zd(a,b){a.b=null;b=r(oa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ya(rd,b.data),a.b=b.data)}catch(d){t(d.message+" ("+c+")")}return a.b}function ed(a){var b=null;a.b&&(b=oa()+"/api/v1/user?req=load&user="+a.b+"&state="+Ad(a,"1.34.2"));return b}
|
||||
function xd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ad(a,"1.34.2");d.data=c;b=r(oa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.G("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.G(c),ya(rd,""),a.b=null)}}
|
||||
var md="failsafe",hd="validate",jd="timestamp",ud="version",vd="url",wd="browser",rd="user",ld=-1,cd=0,kd=1,od=2,yd=3;u(function(){for(var a=F(document,E+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=F(c,E,"computer"),e=0;e<c.length;e++){var f=c[e],g=C(f),g=new $c(g,d,!0);D(g,f);g.I&&fd(g,g.oa)}});v.show.push(function(){for(var a=F(document,E,"computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=B("Computer",c.id))&&c.N&&!c.h.F&&c.oa(ld)}});
|
||||
v.exit.push(function(){for(var a=F(document,E,"computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=B("Computer",c.id))&&c.h.F&&td(c,!(!c.a||c.o),!0)}});function R(a,b,c){this.id=a.id;this.b="";this.a={};this.i=this.g=!1;this.key=Ad(a,b,c);pd(this,a.Va)}k=R.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function dd(a,b){return b?(a.b=b,a.i=!0,a.g=!1,!0):a.i?!0:va()&&(b=xa(a.key))?(a.b=b,a.i=!0):!1}
|
||||
function id(a){var b=!0;if(!a.g)try{a.a=JSON.parse(a.b),a.g=!0}catch(c){t(c.message||c),b=!1}return b}function qd(a){var b=!0;if(va()){var c=JSON.stringify(a.a);ya(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.b};function pd(a,b){a.b="";a.a={};a.i=a.g=!1;b&&a.set("parms",b)}
|
||||
k.clear=function(a){pd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Ad(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Bd=0;
|
||||
function Cd(a,b,c,d,e,f,g){f("Loading "+a+"...");r(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):Dd(l,a,b,c,d,e,f,g)})}
|
||||
function Dd(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(Ja(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Ed(a,g,l):l(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function Ed(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],p,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);Ed(a,b,c)}})}else c(a,null)}
|
||||
function Fd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--Bd||Fa(!0));p=!1}var h,l,p=!0;Bd++;Ka[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ua=document.createElement("style");ua.type="text/css";ua.styleSheet?ua.styleSheet.cssText=x:ua.appendChild(document.createTextNode(x));A.appendChild(ua)}d||
|
||||
(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Cd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Bd||Fa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Bd||
|
||||
Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Cd(c,b,a,e,!0,f,x):Dd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Gd){g(Gd.message)}return p}window.embedPDP10=function(a,b,c,d){Fa(!1);return Fd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return Fd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Pa[a]){for(var c=!0,d=Pa,e=a,f=b.length,g=[],h=[],l="",p=null,x=0;x<f;x++){var A=b[x];if('"'==A||"'"==A)p&&A!=p?l+=A:(p?p=null:p=A,l&&(h.push(l),l=""));else{if(!p){if("\r"==A||"\n"==A)A=";";if(" "==A||"\t"==A||";"==A){l&&(h.push(l),l="");";"==A&&h.length&&(g.push(h),h=[]);continue}}l+=A}}l&&h.push(l);h.length&&g.push(h);d[e]=g;Oa(a)||(c=!1)}return c};window.enableEvents=Fa;window.sendEvent=Ha;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10.map
|
||||
k.restore=function(a){if(a=a[0])jb(this,this.b=a[0]),db(this,this.j=a[1]),kb(this,a[2]);return!0};k.wb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}hb(this);return!0};function lb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gb(a,b){for(var c in a.l)lb(a,c,null!=b?b:a.l[c])}function mb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hb(a){for(var b in a.a)mb(a,b,a.a[b][1])}
|
||||
k.ib=function(a,b,c){if(eb(this,b)){if(c){var d=this;setTimeout(function(){fb(d,b);a&&a()},+c);return!1}fb(this,b)}return!0};
|
||||
k.zb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):
|
||||
2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return kb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,mb(this,a,c[1]),!0):!1};k.Ab=function(a){return eb(this,a)?(fb(this,a),!0):!1};function eb(a,b){var c=a.a[b];return c?(mb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nb&&(a.K=b==ob,a.L=b==pb),!0):!1}function fb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(mb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
|
||||
k.qb=function(a){a||this.i.h.B||(this.i.j=this.b%I,this.a[qb]&&this.a[qb][1]&&rb(this.i))};k.rb=function(){};k.lb=function(a){a||S(this.i)};k.jb=function(a){if(!a&&!this.i.h.B)if(this.a[qb]&&this.a[qb][1])rb(this.i);else{a=this.w;var b;if(b=a)a.h.za&&(a.h.Ma=!0),b=!a.h.za;if(b)Ua(a,!0),a.b(0,null),Ua(a,!1);else try{var c=this.i.Ea(1);0<c&&(sb(this.i,c),tb(this.i,c,!0),ub(this.i,c))}catch(d){"number"!=typeof d&&(c=this.i,a=d.stack||d.message,c.h.error=!0,c.G(a))}this.stop();this.u&&vb(this.u)}};
|
||||
k.kb=function(a){a&&!this.i.h.B&&(this.K&&wb(this),a=db(this,this.j=this.g),this.N==cb?xb(this.s,this.b,a):this.i.f(this.b,a))};k.mb=function(a){if(!a&&!this.i.h.B){this.L&&wb(this);if(this.N==cb){a=this.s;var b=this.b,c=a.a[(b&a.g)>>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);db(this,this.j=a)}};k.ob=function(a){a||this.i.h.B||jb(this,this.g)};k.nb=function(a){a?(this.o=!0,gb(this,!0)):(this.o=!1,gb(this),kb(this,0))};k.pb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)};
|
||||
function wb(a){var b=1,c=a.s.g;a.a[nb]&&a.a[nb][1]||(b=-b);jb(a,a.b&~c|a.b+b&c)}function jb(a,b){a.b=b&a.s.g;if(a.D!==a.b){a.D=a.b;b=a.D;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.l[e]=f;d.o||lb(d,e,f)}}}function db(a,b){a.v=b%O;if(a.I!==a.v){a.I=a.v;b=a.I;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.l[e]=f;d.o||lb(d,e,f)}}return a.v}function kb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;hb(a);return!0}k.stop=function(){jb(this,this.i.j)};
|
||||
function ib(){for(var a=F(document,E,"panel"),b=0;b<a.length;b++){var c=a[b],d=C(c),e=Na(d.id);e||(e=new bb(d,!0));D(e,c)}}var cb=7,ob="DEP",qb="ENABLE",pb="EXAM",nb="STEP";u(ib);function yb(a,b,c){w.call(this,"Bus",a);this.i=b;this.w=c;this.v=+a.busWidth||18;this.o=1<<this.v;this.g=this.o-1;this.b=Math.log2(16384);this.l=this.o/16384|0;this.j=0;this.a=[];a=new zb(this);Ab(a);this.a=Array(this.l);for(b=0;b<this.l;b++)this.a[b]=a;G(this)}n(yb,w);k=yb.prototype;k.reset=function(){};
|
||||
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new R(this);a.set(0,Bb(this));return a.data()};k.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){t("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Cb(a,b,c,d){for(var e=b,f=c,g=e>>>a.b;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,q=16384-(e-l);q>f&&(q=f);if(h&&h.size){if(h.type==d){if(e+f<=h.ea)return h.Da+=h.ea-e,h.ea=e,!0;if(e>=h.ea+h.Da){q=h.size-(e-l);q>f&&(q=f);h.Da=e-h.ea+q;e=l+16384;f-=q;g++;continue}}return Db(Eb,e,f)}e=new zb(a,e,q,16384,d);Ab(e,h);a.a[g++]=e;e=l+16384;f-=q}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Fb[d]+" at "+ja(b)),!0):Db(Gb,b,c)}
|
||||
function xb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--}function Bb(a){for(var b=0,c=[],d=0;d<a.l;d++){var e=a.a[d];if(e.Na||e.hb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var q=e[g],x=g+1;x<e.length&&e[x]===q;)x++;l[h++]=x-g;l[h++]=q;g=x}l.length<e.length&&(e=l)}c[f]=e}}return c}function Db(a,b,c){t("Memory block error ("+a+": "+ka(b)+","+ka(c)+")");return!1}var Eb=1,Gb=2;function Hb(a){w.call(this,"Device",a)}n(Hb,w);k=Hb.prototype;
|
||||
k.Z=function(a,b,c,d){this.s=b;this.u=a;this.i=c;this.w=d;G(this)};k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new R(this)).data()};k.restore=function(){return!0};u(function(){for(var a=F(document,E,"device"),b=0;b<a.length;b++){var c,d=a[b];c=C(d);switch(c.type){case "default":c=new Hb(c),D(c,d)}}});
|
||||
function zb(a,b,c,d,e){this.u=a;this.id=Ib+=2;this.ea=b;this.Da=c;this.size=d||0;this.type=e||Jb;this.s=e==Kb;this.c=this.m=this.Oa;this.f=this.g=this.Qa;this.b=this.i=0;Ab(this);this.Na=this.hb=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Lb(this,Mb)}else Lb(this)}k=zb.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Na=!0):!1};function Lb(a,b){b||(b=Nb);Ob(a,b,void 0);Pb(a,b,void 0)}
|
||||
function Ob(a,b,c){c&&a.b||(a.c=b[0]||a.Oa);if(c||void 0===c)a.m=b[0]||a.Oa}function Pb(a,b,c){c&&a.i||(a.f=!a.s&&b[1]||a.Qa);if(c||void 0===c)a.g=b[1]||a.Qa}function Ab(a,b){a.b=a.i=0;b&&((a.b=b.b)&&Ob(a,Qb,!1),(a.i=b.i)&&Pb(a,Qb,!1))}k.Oa=function(){var a=this.u;a.j||S(a.i);return-1};k.Qa=function(){};k.ub=function(a){return this.a[a]};k.Db=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Na=!0)};k.sb=function(a,b){return this.m(a,b)};k.Cb=function(a,b,c){this.s||this.g(a,b,c)};
|
||||
var Jb=0,Kb=2,Fb=["NONE","RAM","ROM"],Ib=0,Nb=[],Mb=[zb.prototype.ub,zb.prototype.Db],Qb=[zb.prototype.sb,zb.prototype.Cb];
|
||||
function Rb(a,b){w.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Fa=0;this.Ja=b;this.ia=c;this.Ha=Math.round(this.Ja/1E4)/100;this.ga=this.Ha*this.ia;this.Ia=this.pa=this.ja=this.ya=0;this.h.B=this.h.Pa=!1;this.h.J=a.autoStart;"string"==typeof this.h.J&&(this.h.J="true"==this.h.J);this.h.Aa=!1;this.wa=this.ha=0;this.xa=+a.csStart;this.na=+a.csInterval;this.oa=+a.csStop;this.I=[];this.Va=this.xb.bind(this);this.P=this.D=this.L=this.N=this.C=this.ma=this.K=this.aa=this.Ka=this.W=0;this.sa=
|
||||
null;G(this)}n(Rb,w);k=Rb.prototype;k.Z=function(a,b,c,d){this.u=a;this.s=b;this.w=d;this.sa=a.g;for(a=0;a<Sb.length;a++)(b=this.m[Sb[a]])&&this.u.U(null,Sb[a],b);G(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
||||
k.V=function(a,b){var c=Tb(this.u,"autoStart");null!=c?this.h.J="true"==c?!0:"false"==c?!1:!!c:null==this.h.J&&(this.h.J=void 0===this.m.run);if(!b){if(a){Ub(this);if(!this.restore(a))return!1;Vb(this)}else this.reset();this.status("No debugger detected");this.h.J||this.M("CPU will not be auto-started "+(this.sa?"(click Run to start)":"(type 'go' to start)"))}return!0};k.R=function(a){return a?this.save():!0};k.J=function(){return this.h.B?!0:this.h.J?(rb(this),!0):!1};k.Xa=function(){return 0};
|
||||
function Vb(a){void 0===a.xa&&(a.xa=0);void 0===a.na&&(a.na=-1);void 0===a.oa&&(a.oa=-1);a.h.Aa=0<=a.xa&&0<a.na;a.h.Aa&&(a.wa=0,a.ha=a.xa-a.P)}function ub(a,b){if(a.h.Aa){var c=!1;a.wa=a.wa+a.Xa()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.na,c=!0);0<=a.oa&&a.oa<=Wb(a)&&(a.na=a.oa=-1,Vb(a),S(a),c=!0);c&&a.M(Wb(a)+" cycles: checksum="+ka(a.wa))}}
|
||||
k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.F)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.F);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.Ba?" (waiting for notification)":""))+".");a=!1}a&&(d.h.B?S(d):rb(d))},!0;case "speed":return this.m[b]=
|
||||
c,!0;case "setSpeed":return this.m[b]=c,c.onclick=function(){Xb(d,d.ia<<1,!0)},c.textContent=this.ga.toFixed(2)+"Mhz",!0}return!1};function tb(a,b,c){a.P+=b;c&&(a.L=a.N=0)}function Yb(a,b){var c=1;b&&1<a.ia&&a.W&&(c=a.W/a.Ha);a.Ia=Math.round(1E3/Zb);a.pa=Math.floor(a.Ja/Zb*c);b||(a.ja=a.pa);a.ya=0}function Wb(a){return a.P+a.D+a.L-a.N}function Ub(a){a.W=0;a.Ka=0;a.P=a.D=a.L=a.N=0;Vb(a);Xb(a,1)}
|
||||
function Xb(a,b,c){if(void 0!==b){.8>a.W/a.ga&&(b=1);a.ia=b;b=a.Ha*a.ia;if(a.ga!=b){a.ga=b;b=a.ga.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.fa&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.fa.focus(),window&&window.scrollTo(b,d)))}tb(a,a.D);a.D=0;a.C=La();a.K=0;Yb(a)}function $b(a){for(var b=[],c=0;c<a.I.length;c++)b.push(a.I[c][0]);return b}
|
||||
function sb(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ac(a,b){var c=a.L-=a.N;a.N=0;b&&(a.L=0);return c}
|
||||
k.xb=function(){if(this.h.B){this.ya>=this.Ja&&Yb(this,!0);this.aa=0;this.ma=La();if(this.K){var a=this.ma-this.K;a>this.Ia&&(this.C+=a,this.C>this.ma&&(this.C=this.ma))}try{do{for(var b,c=this.h.Aa?1:this.pa,d=this.I.length-1;0<=d;d--){var e=this.I[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ea(b)}catch(f){if("number"!=typeof f)throw f;}b=ac(this,!0);this.aa+=b;this.D+=b;ub(this,b);sb(this,b);this.ja-=b;if(0>=this.ja){this.ja+=this.pa;++this.Ka>=bc&&(this.u&&vb(this.u,void 0),this.Ka=0);break}}while(this.h.B)}catch(f){S(this);
|
||||
this.u&&this.u.stop(La(),Wb(this));a=f.stack||f.message;this.h.error=!0;this.G(a);return}if(this.h.B){a=setTimeout;b=this.Va;this.K=La();c=this.Ia;this.aa&&(c=Math.round(c*this.aa/this.pa));c-=this.K-this.ma;if(d=this.K-this.C)this.W=Math.round(this.D/(10*d))/100,864E5<=d&&(this.P=0,Xb(this));if(0>c||this.W<this.ga)-1E3>c&&(this.C-=c),c=0;this.ya+=this.aa;this.K+=c;a(b,c)}}};
|
||||
function rb(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.B)a.M(a.toString()+" busy");else{Xb(a);a.h.B=!0;a.h.Pa=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.C,Wb(a));a.w||a.status("Started");setTimeout(a.Va,0)}}k.Ea=function(){return 0};function S(a){var b=!1;if(a.h.B){ac(a);tb(a,a.D);a.D=0;a.h.B=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(La(),Wb(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var Zb=30,bc=15,Sb=["power","reset"];
|
||||
function cc(a){var b=+a.model||1001;Rb.call(this,a,1E6);this.eb=b;this.ta=+a.addrReset||0;this.fb=dc.bind(this);this.b=T.bind(this);this.la=null;this.Ua=[];this.h.complete=!1}n(cc,Rb);k=cc.prototype;k.reset=function(){this.status("Model "+this.eb);this.h.B&&S(this);this.a=this.A=this.qa=0;this.j=this.Ga=this.ta;this.v=this.da=-1;this.o=this.g=0;this.La=[0,0];this.ba=[0,0];this.X=[0,0];this.ca=[0,0];this.ka=this.j;this.l=0;this.c=this.tb;this.f=this.Eb;this.la=null;Ub(this);this.h.error=!1;Rb.prototype.reset.call(this)};
|
||||
k.Xa=function(){return 0};k.save=function(){var a=new R(this);a.set(0,[this.a,this.A,this.qa,this.j,this.da,this.v,this.g,this.l,this.Ga,this.ka,this.ta]);a.set(1,[]);a.set(2,[this.P,this.ia,this.h.J]);a.set(3,ec(this));a.set(4,$b(this));return a.data()};
|
||||
k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.a=b.next().value;this.A=b.next().value;this.qa=b.next().value;this.j=b.next().value;this.da=b.next().value;this.v=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Ga=b.next().value;this.ka=b.next().value;this.ta=b.next().value;b=a[2];this.P=b[0];Xb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ua.length;d++){var e=this.Ua[d];if(e.Bb===b[c]){d=e;break a}}d=
|
||||
null}d&&(d.next=this.la,this.la=d)}a=a[4];for(b=0;b<this.I.length&&b<a.length;b++)this.I[b][0]=a[b];return!0};function ec(a){var b=[];for(a=a.la;a;)b.push(a.Bb),a=a.next;return b}k.tb=function(a){var b=this.s;a=this.ka=a;return b.a[(a&b.g)>>>b.b].c(a&16383,a)};k.Eb=function(a,b){var c=this.s;a=this.ka=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b};
|
||||
k.Ea=function(a){this.h.complete=!0;var b=a?this.h.Pa?0:1:-1;this.h.Pa=!1;this.L=this.N=a;this.l=this.l&-5|0;do{if(a=this.l)if(a=this.l&11)this.l&2?this.la||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.w.j(this.j,b)){S(this);break}if(0>b)break}this.l&=15;this.A&4194304?this.A=this.c(this.a):0<=this.da?(this.A=this.qa=this.c(this.da),this.da=-1):(this.A=this.qa=this.c(this.Ga=this.j),this.j=(this.j+1)%I);this.A&=8388607;this.a=this.A&262143;if(a=this.A>>18&15)this.a=this.a+this.c(a)&
|
||||
Va;a=this.A&4194304?-1:this.qa/$a|0;0<=a&&this.fb(a)}while(0<this.N);return this.h.complete?this.L-this.N:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new cc(d);D(d,c)}});function dc(a){fc[a>>4].call(this,a,a&15)}function U(a){this.b(a)}function gc(){var a=0,b=this.c(this.a),c=b/ab&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ab+(d<<24)+(b&16777215);a&&(b=(b+a)%O);this.f(this.a,b)}
|
||||
function hc(a,b){a=this.c(this.a);if(0>this.v)this.v=a,this.A=this.a|4194304;else{var c=this.v/ab&63,d=this.v>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.v=-1}}function ic(a,b){a=this.c(this.a);if(0>this.v)this.v=a,this.A=this.a|4194304;else{var c=this.v/ab&63,d=this.v>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%O;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.a,a);this.v=-1}}function jc(a,b){this.f(b,this.c(this.a))}
|
||||
function kc(a,b){this.f(b,this.a)}function lc(a,b){this.f(this.a,this.c(b))}function mc(a,b){this.f(b,0)}function nc(a,b){this.f(b,N-this.c(b))}function oc(a,b){this.f(b,N)}function pc(a,b){var c=this.c(this.a),d=this.c(b);this.f(b,qc(a,d,c)+(c-(c&J)))}function rc(a,b){var c=this.c(b);this.f(b,qc(a,c,0))}function sc(a,b){b=this.c(b);var c=this.c(this.a);this.f(this.a,qc(a,c,b)+(b-(b&J)))}
|
||||
function tc(a,b){var c=this.c(this.a),d=c;if(a&=384)switch(d-=d&J,a){case 256:d+=J;break;case 384:d+=c>P?J:0}c=d;this.f(this.a,c);b&&this.f(b,c)}function uc(a,b){var c=(this.c(this.a)&J)*K,d=this.c(b);this.f(b,qc(a,d,c)+c)}function vc(a,b){var c=this.a*K,d=this.c(b);this.f(b,qc(a,d,c)+c)}function wc(a,b){b=(this.c(b)&J)*K;var c=this.c(this.a);this.f(this.a,qc(a,c,b)+b)}function xc(a,b){var c=this.c(this.a),d=(c&J)*K,c=qc(a,c,d)+d;this.f(this.a,c);b&&this.f(b,c)}
|
||||
function yc(a,b){var c=this.c(this.a)&J,d=this.c(b);this.f(b,zc(a,d,c)+c)}function Ac(a,b){var c=this.c(b);this.f(b,zc(a,c,this.a)+this.a)}function Bc(a,b){b=this.c(b)&J;var c=this.c(this.a);this.f(this.a,zc(a,c,b)+b)}function Cc(a,b){var c=this.c(this.a),d=c;if(a&=384)switch(d&=J,a){case 256:d+=J*K;break;case 384:d+=c>Wa?J*K:0}c=d;this.f(this.a,c);b&&this.f(b,c)}function Dc(a,b){var c=this.c(this.a)/K|0,d=this.c(b);this.f(b,zc(a,d,c)+c)}function Ec(a,b){var c=this.c(b);this.f(b,zc(a,c,0))}
|
||||
function Fc(a,b){b=this.c(b)/K|0;var c=this.c(this.a);this.f(this.a,zc(a,c,b)+b)}function Gc(a,b){var c=this.c(this.a),d=c/K|0,c=zc(a,c,d)+d;this.f(this.a,c);b&&this.f(b,c)}function V(a){Hc[a&7].call(this,a,a>>3&127)}function Ic(){}function T(a){this.M("undefined opcode: "+ja(a));this.j=(this.j+-1)%I;S(this)}function Jc(a){a>P&&(a!=Xa?a=Ya-a:this.g|=163840);return a}function Kc(a,b){var c=(a+b)%O;Lc.call(this,a,b,c);return c}function W(a,b){return((a/Q|0)&(b/Q|0))*Q+((a&b)>>>0)}
|
||||
function X(a,b,c){var d=!1,e=!1,f=b-b%M;a=a%M+b*M%O;b=this.o=f+Math.trunc(b/2);c>P&&(c=O-c,d=!d);b>P&&(a?(b=N-b,a=O-a):b&&(b=O-b),e=!0,d=!d);if(b>=c)return this.g|=131104,-1;f=this.La;f[0]=0;f[1]=0;f=this.ba;f[0]=1;f[1]=0;f=this.X;f[0]=c;f[1]=0;c=this.ca;c[0]=a;for(c[1]=b;0<Mc(this.ca,this.X);)Nc(this.X,this.X),Nc(this.ba,this.ba);do{if(0<=Mc(this.ca,this.X)&&(b=this.ca,a=this.X,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=O,b[1]--),Nc(this.La,this.ba),Oc(this.ca)))break;Pc(this.X);Pc(this.ba)}while(!Oc(this.ba));
|
||||
a=this.La[0];this.o=this.ca[0];d&&a&&(a=O-a);e&&this.o&&(this.o=O-this.o);return a}function Qc(a,b){return((a/Q|0)^(b/Q|0))*Q+((a^b)>>>0)}function Rc(a,b){return(~((a/Q|0)^(b/Q|0))&15)*Q+(~(a^b)>>>0)}function Y(a,b){return(a/Q|0|b/Q|0)*Q+((a|b)>>>0)}
|
||||
function Z(a,b,c){var d=a,e=b;b=!1;var f;d>P&&(d=O-d,b=!b);e>P&&(e=O-e,b=!b);if(d<K&&e<K)a=d*e,f=0;else{a=d%K;d=Math.trunc(d/K);f=e%K;var e=Math.trunc(e/K),g=a*f,h=d*f+Math.trunc(g/K);f=Math.trunc(h/K);h=h%K+a*e;a=h*K+g%K;f+=Math.trunc(h/K)+d*e}b&&(a?(f=N-f,a=O-a):f&&(f=O-f));if(c)return(f||a>P)&&(f!=N||a<=P)&&(this.g|=131072),a;c=a;b=f;a=b-b%M;b=2*b%O+Math.trunc(c/M);c=a+c%M;d=b-b%M;a!=d&&(b=a+(b-d),this.g|=131072);this.o=c;return b}
|
||||
function Sc(a){a?a==Xa?this.g|=163840:a=Ya-a:this.g|=98304;return a}function Tc(a,b){var c=a-b;0>c&&(c+=O);Lc.call(this,c,b,a);return c}function Lc(a,b,c){a=Math.trunc(a/Za);b=Math.trunc(b/Za);c=Math.trunc(c/Za);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function zc(a,b,c){switch(a&384){case 0:b-=b&J;break;case 128:b=0;break;case 256:b=J*K;break;case 384:b=c>Wa?J*K:0}return b}
|
||||
function qc(a,b,c){switch(a&384){case 0:b&=J;break;case 128:b=0;break;case 256:b=J;break;case 384:b=c>P?J:0}return b}function Nc(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=O&&(a[0]%=O,a[1]++)}function Mc(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Pc(a){a[1]%2&&(a[0]+=O);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Oc(a){return!a[0]&&!a[1]}
|
||||
var fc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},gc,function(a,b){0>this.v&&gc.call(this);hc.call(this,0,b)},hc,function(a,b){0>this.v&&gc.call(this);ic.call(this,0,b)},ic,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},jc,kc,lc,function(a,b){b&&this.f(b,this.c(this.a))},function(a,b){a=this.c(this.a);a=(a/K|0)+a%K*K;this.f(b,a)},function(a,b){this.f(b,this.a*K)},function(a,b){a=this.c(b);a=(a/K|0)+a%K*K;this.f(this.a,a)},function(a,b){a=this.c(this.a);a=(a/K|0)+a%K*K;this.f(this.a,a);b&&this.f(b,a)},function(a,b){this.f(b,Sc.call(this,this.c(this.a)))},function(a,b){this.f(b,Sc.call(this,this.a))},function(a,b){this.f(this.a,
|
||||
Sc.call(this,this.c(b)))},function(a,b){a=Sc.call(this,this.c(this.a));this.f(this.a,a);b&&this.f(b,a)},function(a,b){this.f(b,Jc.call(this,this.c(this.a)))},function(a,b){this.f(b,this.a)},function(a,b){this.f(this.a,Jc.call(this,this.c(b)))},function(a,b){a=Jc.call(this,this.c(this.a));this.f(this.a,a);b&&this.f(b,a)},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.a),!0))},function(a,b){this.f(b,Z.call(this,this.c(b),this.a,!0))},function(a,b){this.f(this.a,Z.call(this,this.c(b),this.c(this.a),
|
||||
!0))},function(a,b){this.f(this.a,this.f(b,Z.call(this,this.c(b),this.c(this.a),!0)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.a)));this.f(b+1&15,this.o)},function(a,b){this.f(b,Z.call(this,this.c(b),this.a));this.f(b+1&15,this.o)},function(a,b){this.f(this.a,Z.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Z.call(this,this.c(b),this.c(this.a))));this.f(b+1&15,this.o)},function(a,b){a=X.call(this,this.c(b),0,this.c(this.a));0>a||(this.f(b,a),this.f(b+1&
|
||||
15,this.o))},function(a,b){a=X.call(this,this.c(b),0,this.a);0>a||(this.f(b,a),this.f(b+1&15,this.o))},function(a,b){a=X.call(this,this.c(b),0,this.c(this.a));0>a||this.f(this.a,a)},function(a,b){a=X.call(this,this.c(b),0,this.c(this.a));0>a||this.f(b,this.f(this.a,a))},function(a,b){a=this.c(b);var c=this.c(b+1&15),c=X.call(this,c,a,this.c(this.a));0>c||(this.f(b,c),this.f(b+1&15,this.o))},function(a,b){a=this.c(b);var c=this.c(b+1&15),c=X.call(this,c,a,this.a);0>c||(this.f(b,c),this.f(b+1&15,this.o))},
|
||||
function(a,b){a=this.c(b);b=this.c(b+1&15);b=X.call(this,b,a,this.c(this.a));0>b||this.f(this.a,b)},function(a,b){a=this.c(b);var c=this.c(b+1&15),c=X.call(this,c,a,this.c(this.a));0>c||(this.f(b,this.f(this.a,c)),this.f(b+1&15,this.o))},function(a,b){var c=(this.a<<14>>14)%256;if(c){a=this.c(b);var d=a>P?-(O-a):a;0<c?(35<=c?(d=0>d?M:0,c=L):(d=d*Math.pow(2,c)%M,c=M-Math.pow(2,35-c)),a<=P?a+c>P&&(this.g|=131072):a-c<=P&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+O:d;this.f(b,
|
||||
a)}},function(a,b){if(a=(this.a<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%O+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.a<<14>>14)%256){var c=this.c(b),c=0<a?36<=a?0:c*Math.pow(2,a)%O:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a,b){a=0;var c=this.c(b);if(c){for(;c<M;)a++,c*=2;this.j=this.a%I}this.f(b+1&15,a)},function(a,b){if(a=(this.a<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<M||d>L&&d<N)this.g|=
|
||||
131072;if(71<=a){if(0<e&&e<M||e>L&&e<N)this.g|=131072;d=0}else d=e*Math.pow(2,a-35)%M,c=M-Math.pow(2,70-a),f<=P?e+c>P&&(this.g|=131072):e-c<=P&&(this.g|=131072);e=0;f>L&&(d+=M,e+=M)}else d=d*Math.pow(2,a)%M+Math.trunc(e%M/Math.pow(2,35-a)),e=e*Math.pow(2,a)%M,c=M-Math.pow(2,35-a),f<=P?f+c>P&&(this.g|=131072):(f-c<=P&&(this.g|=131072),d+=M,e+=M)}else-36>=a?(e=-72>=a?d>L?N:0:Math.trunc(d%M/Math.pow(2,-a-35)),d<=L?d=0:(d=N,e+=M)):(c=d>L?O-Math.pow(2,36+a):0,e=Math.trunc(e%M/Math.pow(2,-a))+d%M*Math.pow(2,
|
||||
35+a)%M,d=Math.trunc(d/Math.pow(2,-a))+c,d>L&&(e+=M));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.a<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%O+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%O+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%O+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%O+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.a<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0<
|
||||
a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%O,d=0):(c=c*Math.pow(2,a)%O+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%O):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%O,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.a));this.f(this.a,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/K|0,c=c&J;!a;)this.f(c,this.c(d)),c==this.a&&(a=!0),d=d+1&J,c=c+1&J,this.h.B||(this.f(b,d*K+c),a||
|
||||
(this.j=(this.j+-1)%I),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,this.j=this.a%I)},function(){this.da=this.a},T,function(a){this.b(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&J,this.c(this.a));a>=O&&(a-=O);a/K|0||(this.g|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&J);this.f(this.a,c);this.a==b&&(a=c);a-=262145;0>a&&(a+=O);(a/K|0)==J&&(this.g|=262144);this.f(b,a)},function(a){this.b(a)},function(){this.f(this.a,
|
||||
(this.g&J)*K+this.j);this.j=(this.a+1)%I},function(a,b){this.f(b,(this.g&J)*K+this.j);this.j=this.a%I},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.f(b,Kc.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(b,Kc.call(this,this.c(b),this.a))},function(a,b){this.f(this.a,Kc.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Kc.call(this,this.c(b),this.c(this.a))))},function(a,b){this.f(b,Tc.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(b,
|
||||
Tc.call(this,this.c(b),this.a))},function(a,b){this.f(this.a,Tc.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Tc.call(this,this.c(b),this.c(this.a))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},mc,mc,function(){this.f(this.a,0)},function(a,b){this.f(this.a,this.f(b,0))},function(a,b){this.f(b,W.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(b,W.call(this,this.c(b),this.a))},function(a,b){this.f(this.a,W.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,W.call(this,this.c(b),this.c(this.a))))},function(a,b){this.f(b,
|
||||
W.call(this,N-this.c(b),this.c(this.a)))},function(a,b){this.f(b,W.call(this,N-this.c(b),this.a))},function(a,b){this.f(this.a,W.call(this,N-this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,W.call(this,N-this.c(b),this.c(this.a))))},jc,kc,Ic,jc,function(a,b){this.f(b,W.call(this,this.c(b),N-this.c(this.a)))},function(a,b){this.f(b,W.call(this,this.c(b),N-this.a))},function(a,b){this.f(this.a,W.call(this,this.c(b),N-this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,W.call(this,
|
||||
this.c(b),N-this.c(this.a))))},Ic,Ic,lc,lc,function(a,b){this.f(b,Qc.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(b,Qc.call(this,this.c(b),this.a))},function(a,b){this.f(this.a,Qc.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Qc.call(this,this.c(b),this.c(this.a))))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.a))},function(a,b){this.f(this.a,Y.call(this,this.c(b),this.c(this.a)))},function(a,
|
||||
b){this.f(this.a,this.f(b,Y.call(this,this.c(b),this.c(this.a))))},function(a,b){this.f(b,W.call(this,N-this.c(b),N-this.c(this.a)))},function(a,b){this.f(b,W.call(this,N-this.c(b),N-this.a))},function(a,b){this.f(this.a,W.call(this,N-this.c(b),N-this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,W.call(this,N-this.c(b),N-this.c(this.a))))},function(a,b){this.f(b,Rc.call(this,this.c(b),this.c(this.a)))},function(a,b){this.f(b,Rc.call(this,this.c(b),this.a))},function(a,b){this.f(this.a,Rc.call(this,
|
||||
this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Rc.call(this,this.c(b),this.c(this.a))))},nc,nc,function(a,b){this.f(this.a,N-this.c(b))},function(a,b){this.f(this.a,this.f(b,N-this.c(b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.c(this.a)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.a))},function(a,b){this.f(this.a,Y.call(this,N-this.c(b),this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Y.call(this,N-this.c(b),this.c(this.a))))},function(a,b){this.f(b,
|
||||
N-this.c(this.a))},function(a,b){this.f(b,N-this.a)},function(){this.f(this.a,N-this.c(this.a))},function(a,b){this.f(this.a,this.f(b,N-this.c(this.a)))},function(a,b){this.f(b,Y.call(this,this.c(b),N-this.c(this.a)))},function(a,b){this.f(b,Y.call(this,this.c(b),N-this.a))},function(a,b){this.f(this.a,Y.call(this,this.c(b),N-this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Y.call(this,this.c(b),N-this.c(this.a))))},function(a,b){this.f(b,Y.call(this,N-this.c(b),N-this.c(this.a)))},function(a,
|
||||
b){this.f(b,Y.call(this,N-this.c(b),N-this.a))},function(a,b){this.f(this.a,Y.call(this,N-this.c(b),N-this.c(this.a)))},function(a,b){this.f(this.a,this.f(b,Y.call(this,N-this.c(b),N-this.c(this.a))))},oc,oc,function(){this.f(this.a,N)},function(a,b){this.f(this.a,this.f(b,N))},pc,rc,sc,tc,uc,vc,wc,xc,pc,rc,sc,tc,uc,vc,wc,xc,pc,rc,sc,tc,uc,vc,wc,xc,pc,rc,sc,tc,uc,vc,wc,xc,yc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,yc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,yc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,yc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
||||
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,
|
||||
V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V],Hc=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.c(this.a);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.f(this.a,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}];
|
||||
function Uc(a){w.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=la(this.j);if(this.j){a=this.j;var b=ma(this.o);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ja(c.va,a,b),(a=ta(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Vc(c)})}}n(Uc,w);
|
||||
Uc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.w=d;Vc(this)};Uc.prototype.V=function(){this.O&&(this.w&&this.w.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Uc.prototype.R=function(){return!0};
|
||||
function Vc(a){if(!Ta(a)){if(a.j){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ka(a.a.length,8,!0)+") does not match specified size ("+ka(a.g,8,!0)+")";a.h.error=!0;a.G(b)}else{b=a.l;if(Cb(a.s,b,a.g,Kb)){var c;for(c=0;c<a.a.length;c++)xb(a.s,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.b?b.push(a.b):null!=a.b&&a.b.length&&(b=a.b);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.s,g=d.g,h=[],l=d.l>>>f.b;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.s;
|
||||
d=d.g;g=0;for(e>>>=f.b;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}G(a)}}u(function(){for(var a=F(document,E,"rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Uc(d);D(d,c)}});
|
||||
function Wc(a){w.call(this,"RAM",a);this.O=this.Y=null;this.b=+a.addr;this.g=+a.size;this.T=a.load;this.S=a.exec;null!=this.T&&(this.T=+this.T);null!=this.S&&(this.S=+this.S);this.j=this.o=!1;this.a=a.file;this.l=la(this.a);if(this.a){a=this.a;var b=ma(this.l);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.G("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(Ja(c.va,a,b),(a=ta(a,b))?(c.Y=a.Y,c.O=a.O,null==
|
||||
c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);Xc(c)})}}n(Wc,w);Wc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.w=d;Xc(this)};Wc.prototype.V=function(a,b){this.O&&(this.w&&this.w.a(this.id,this.b,this.g,this.O),delete this.O);b||this.reset();return!0};Wc.prototype.R=function(){return!0};
|
||||
function Xc(a){if(a.s&&(!a.j&&a.g&&(Cb(a.s,a.b,a.g,1)?a.j=!0:a.g=0),!Ta(a))){if(!a.j)t("No RAM allocated");else if(a.a){if(!a.Y)return;Yc(a,a.Y,a.T,a.S,a.b)?a.status('Loaded image "'+a.l+'"'):a.G('Error loading image "'+a.l+'"')}a.o=!0;G(a)}}
|
||||
Wc.prototype.reset=function(){if(this.j&&!this.o){for(var a=this.s,b=this.b,c=this.g,d=b&16383,b=b>>>a.b;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-Xa&&(g+=O);for(var g=Math.trunc(Math.abs(g))%O,h=d;f--&&h<e.size;h++)e.g(g,d,e.ea+d);c-=16384;b++;d=0}this.Y&&Yc(this,this.Y,this.T,this.S,this.b,!this.w)}this.o=!1};
|
||||
function Yc(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)xb(a.s,c+g,b[g]);g=!0}g&&(null==d&&(S(a.i),f=!1),null!=d&&(a=a.i,a.ta=d,a.j=d%I,f?a.h.F?a.h.B||rb(a):a.h.J=!0:a.w&&a.h.F?S(a)||a.u.h.reset||(a.w.g(),vb(a.u,-1)):!1===f&&S(a),!a.h.B&&a.sa&&a.sa.stop()));return g}u(function(){for(var a=F(document,E,"ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Wc(d);D(d,c)}});
|
||||
function Zc(a){w.call(this,"SerialPort",a);this.j=a.upperCase;"string"==typeof this.j&&(this.j="true"==this.j);this.g=!0;this.b=[];var b=a.binding;if("console"!=b){var c;a=$c;b&&(void 0===c&&(c="Panel"),(c=A(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.Ya,receiveData:this.Ca,receiveStatus:this.vb,setConnection:this.yb}}n(Zc,w);k=Zc.prototype;
|
||||
k.U=function(a,b,c){var d=this;switch(b){case $c:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?p.Ta:p.bb:46==c?b=p.Ta:a.ctrlKey&&c>=p.Sa&&c<=p.cb&&(b=c-(p.Sa-p.Za));b&&(a.preventDefault&&a.preventDefault(),d.Ca(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==p.ab&&(b=p.$a);d.Ca(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ca(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.w=d;G(this)};
|
||||
k.Ya=function(a){if(!this.a){var b=Tb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ra(c[0]);if(d!=this.ua)return;c=ra(c[1]);if(this.a=Na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.va+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ya(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new R(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.Ca=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.b.push(b)}else this.b=this.b.concat(a);return!0};k.vb=function(){};k.yb=function(a,b){return this.a?!1:(this.a=a,this.l=b,!0)};var $c="buffer";
|
||||
u(function(){for(var a=F(document,E,"serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Zc(d);D(d,c)}});
|
||||
function ad(a,b,c){w.call(this,"Computer",a);this.h.F=!1;this.L=null;bd(this,b);this.I=Tb(this,"autoPower",a,6);this.j=0;this.W=+a.busWidth||+a.buswidth;this.C=this.o=this.D=null;this.A=this.P=!1;this.v=this.l=null;this.N=this.K=!1;this.X=Tb(this,"url")||"";(Math.random()+.1).toString(36);this.b=cd(this);if(this.i=A("CPU",this.id)){this.w=A("Debugger",this.id);this.s=new yb({id:this.va+".bus",busWidth:this.W},this.i,this.w);var d,e=z(this.id);if((this.g=A("Panel",this.id))&&this.g.fa)for(b=0;b<e.length;b++)d=
|
||||
e[b],d.G=this.g.G,d.M=this.g.M,d.fa=this.g.fa;this.M(H+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Z&&d.Z(this,this.s,this.i,this.w);b=null;d=Tb(this,"resume",a);void 0!==d&&(1<d.length?b=this.o=d:this.a=parseInt(d,10));var f;if(a=Tb(this,"state")||(f=!0,a.state))this.D=b=a,f||(this.A=!0,this.a=dd),this.a&&(this.v=new R(this,"1.34.2"),ed(this.v)?b=null:delete this.v);!b&&this.a&&
|
||||
(b=fd(this))&&(this.A=!0);if(b){var g=this;r(b,null,!0,function(a,b,c){c?(g.o=null,g.A=!1,g.G("Unable to load machine state from server (error "+c+(b?": "+ra(b):"")+")")):(g.C=b,g.P=!0);G(g)})}else G(this);this.m.power||(this.I=!0);!c&&this.I&&gd(this,this.ra)}else t("Unable to find CPU component")}n(ad,w);function bd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.L=b}
|
||||
function Tb(a,b,c,d){var e=b.toLowerCase(),e=Aa(b)||Aa(e);void 0===e&&a.L&&(e=a.L[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function gd(a,b,c){for(var d=z(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ta(f)){Ta(f,function(){gd(a,b,c)});return}}b.call(a,c)}
|
||||
function hd(a,b){var c=new R(a,"1.34.2",id);if(ed(c)&&jd(c)){var d=c.get(kd),e=b?b.get(kd):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=ad.prototype;
|
||||
k.ra=function(a){void 0===a&&(a=this.a||(this.C?ld:dd));if(!this.j){this.j++;var b=!1,c=!1;this.K=!1;var d=this.v||new R(this,"1.34.2");if(a==md)b=!0;else if(a>dd){if(ed(d,this.C)){this.l=new R(this,"1.34.2",nd);ed(this.l)&&(od(this,d),a=pd,qd(this.l));this.l.set(kd,sa());rd(this.l);var e=this.a&&!this.A;if(a==ld||Ma("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=jd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ed(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.G("Error: "+g),"unable to verify user"==g&&(ya(sd,""),this.b=null)):this.M(f+": "+g),qd(d),ed(d)?(c=jd(d),e=!0):c=!1))}e&&hd(this,c?d:null)}else a==pd&&d.clear()}else hd(this);delete this.C;delete this.v}e=z(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.i&&(c=td(this,g,d,b,c));b=[d,a,c];a!=md?gd(this,this.Wa,b):this.Wa(b)}};
|
||||
function td(a,b,c,d,e){if(!b.h.F){b.h.F=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.V(f,d)&&f&&(t("Unable to restore state for "+b.type),a.D&&!a.P?(c.clear(),a.a=dd,window&&window.location.reload()):a.K=!0,b.V(null),e=!1),!d&&b.Ra){var g=b.Ra.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){t("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
k.Wa=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.h.F=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(td(this,this.i,b,c,a),vb(this,-2),this.i.J());this.K&&(od(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0};
|
||||
function od(a,b){if(Ma("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function ud(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new R(a,"1.34.2"),g=new R(a,"1.34.2",id),h=sa();g.set(kd,h);f.set(kd,h);f.set(vd,"1.34.2");f.set(wd,window?window.location.href:null);f.set(xd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.B),S(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.F=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l<h.length;l++){var q=h[l];q.h.F&&(q.R&&(d=q.R(b,c),"object"===typeof d&&f.set(q.id,d)),c&&(q.h.F=!1,!1===
|
||||
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.b&&yd(a,a.b,f.toString()),rd(g)&&rd(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==zd),d&&f.clear(h)):e=f.toString());c&&(a.h.F=!1,b=a.m.power)&&(b.textContent="Power");a.j=0;return e}k.reset=function(){this.h.reset=!0;this.s&&this.s.reset&&this.s.reset();this.i&&this.i.reset&&this.i.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.s&&c!==this.i&&c.reset&&c.reset()}this.h.reset=!1;vb(this,-1)};
|
||||
k.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}vb(this,-1)};k.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}vb(this,-1)};
|
||||
function vb(a,b){if(a.i){var c=a.i,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.Fa+=d))&&(e.textContent=c.h.B?c.W.toFixed(2)+"Mhz":"Stopped",c.Fa=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.B;d=!!(a.i.l&8);if(0>=b||60<=(a.A+=b)){e=a.i.j;if(a.m.PC){var f=a.w&&a.w.l||8,e=e||0,e=8==f?ja(e,void 0):ka(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.A=0}-1>b?a.b=a.i.j:0<b&&c&&!d&&(a.b=a.i.ka);jb(a,a.b);db(a,a.j)}}
|
||||
k.U=function(a,b,c){var d=this;switch(b){case "power":return this.m[b]=c,c.onclick=function(){d.j||(d.h.F?ud(d,!1,!0):gd(d,d.ra))},!0;case "reset":return this.m[b]=c,c.onclick=function(){if(d.h.F&&!d.j)if(d.a&&!d.o){var a=Ma("Click OK to save changes to this "+H+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ud(d,a,!0);!a&&d.D?window&&window.location.reload():d.ra(dd)}else d.reset(),d.i&&!d.w&&d.i.J()},!0;case "save":if(na())c.parentNode.removeChild(c);else return this.m[b]=
|
||||
c,c.onclick=function(){var a=cd(d,!0);if(a){var b=!!(d.a&&!d.o||d.D),c=ud(d,b);b?yd(d,a,c):d.G("Resume disabled, machine state not saved")}},!0}return!1};function cd(a,b){var c=a.b;c||((c=xa(sd),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Ad(a,c))||a.G("The user ID is invalid.")):b&&a.G("Browser local storage is not available"));return c}
|
||||
function Ad(a,b){a.b=null;b=r(oa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ya(sd,b.data),a.b=b.data)}catch(d){t(d.message+" ("+c+")")}return a.b}function fd(a){var b=null;a.b&&(b=oa()+"/api/v1/user?req=load&user="+a.b+"&state="+Bd(a,"1.34.2"));return b}
|
||||
function yd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Bd(a,"1.34.2");d.data=c;b=r(oa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.G("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.G(c),ya(sd,""),a.b=null)}}
|
||||
var nd="failsafe",id="validate",kd="timestamp",vd="version",wd="url",xd="browser",sd="user",md=-1,dd=0,ld=1,pd=2,zd=3;u(function(){for(var a=F(document,E+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=F(c,E,"computer"),e=0;e<c.length;e++){var f=c[e],g=C(f),g=new ad(g,d,!0);D(g,f);g.I&&gd(g,g.ra)}});v.show.push(function(){for(var a=F(document,E,"computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=A("Computer",c.id))&&c.N&&!c.h.F&&c.ra(md)}});
|
||||
v.exit.push(function(){for(var a=F(document,E,"computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=A("Computer",c.id))&&c.h.F&&ud(c,!(!c.a||c.o),!0)}});function R(a,b,c){this.id=a.id;this.b="";this.a={};this.i=this.g=!1;this.key=Bd(a,b,c);qd(this,a.gb)}k=R.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function ed(a,b){return b?(a.b=b,a.i=!0,a.g=!1,!0):a.i?!0:ua()&&(b=xa(a.key))?(a.b=b,a.i=!0):!1}
|
||||
function jd(a){var b=!0;if(!a.g)try{a.a=JSON.parse(a.b),a.g=!0}catch(c){t(c.message||c),b=!1}return b}function rd(a){var b=!0;if(ua()){var c=JSON.stringify(a.a);ya(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.b};function qd(a,b){a.b="";a.a={};a.i=a.g=!1;b&&a.set("parms",b)}
|
||||
k.clear=function(a){qd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function Bd(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var Cd=0;
|
||||
function Dd(a,b,c,d,e,f,g){f("Loading "+a+"...");r(a,null,!0,function(h,l,q){q?(l||(l="unable to load "+a+" ("+q+")"),g(l,null)):Ed(l,a,b,c,d,e,f,g)})}
|
||||
function Ed(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(Ja(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(B){g=null,a=B.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Fd(a,g,l):l(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function Fd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],q,x=/( [a-z]+=)(['"])(.*?)\2/g;q=x.exec(f);)l=0>l.indexOf(q[1])?l.replace(">",q[0]+">"):l.replace(new RegExp(q[1]+"(['\"])(.*?)\\1"),q[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);Fd(a,b,c)}})}else c(a,null)}
|
||||
function Gd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);q&&(--Cd||Fa(!0));q=!1}var h,l,q=!0;Cd++;Ka[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var B=document.head||document.getElementsByTagName("head")[0],wa=document.createElement("style");wa.type="text/css";wa.styleSheet?wa.styleSheet.cssText=x:wa.appendChild(document.createTextNode(x));B.appendChild(wa)}d||
|
||||
(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Dd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Cd||Fa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Cd||
|
||||
Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Dd(c,b,a,e,!0,f,x):Ed(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Hd){g(Hd.message)}return q}window.embedPDP10=function(a,b,c,d){Fa(!1);return Gd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return Gd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return A(b,a+".machine")};
|
||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Pa[a]){for(var c=!0,d=Pa,e=a,f=b.length,g=[],h=[],l="",q=null,x=0;x<f;x++){var B=b[x];if('"'==B||"'"==B)q&&B!=q?l+=B:(q?q=null:q=B,l&&(h.push(l),l=""));else{if(!q){if("\r"==B||"\n"==B)B=";";if(" "==B||"\t"==B||";"==B){l&&(h.push(l),l="");";"==B&&h.length&&(g.push(h),h=[]);continue}}l+=B}}l&&h.push(l);h.length&&g.push(h);d[e]=g;Oa(a)||(c=!1)}return c};window.enableEvents=Fa;window.sendEvent=Ha;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10.map
|
||||
|
|
|
|||
Loading…
Reference in a new issue