|
|
|
|
@ -27,215 +27,215 @@
|
|
|
|
|
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
|
|
|
|
|
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
|
|
|
|
|
*/
|
|
|
|
|
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ia(){ia=function(){};ba.Symbol||(ba.Symbol=ja)}var ka=0;function ja(a){return"jscomp_symbol_"+(a||"")+ka++}
|
|
|
|
|
function la(){ia();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})}}
|
|
|
|
|
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ca.Symbol||(ca.Symbol=ea)}var ka=0;function ea(a){return"jscomp_symbol_"+(a||"")+ka++}
|
|
|
|
|
function la(){da();var a=ca.Symbol.iterator;a||(a=ca.Symbol.iterator=ca.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[ca.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=ca;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=Math.pow(2,36),qa=Math.pow(2,35),ta={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc: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,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81,
|
|
|
|
|
var pa=Math.pow(2,36),qa=Math.pow(2,35),ra={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc: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,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81,
|
|
|
|
|
Jc:82,Kc:83,Lc:84,Mc:85,Nc:86,Oc:87,Pc:88,Qc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rc:97,Sc:98,Tc:99,d:100,e:101,Uc:102,Vc:103,Wc:104,Xc:105,Yc:106,k:107,Zc:108,$c:109,n:110,ad:111,p:112,q:113,r:114,bd:115,t:116,dd:117,ed:118,fd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,vb:127};
|
|
|
|
|
function ua(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&&
|
|
|
|
|
function sa(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 va(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 wa(a,b,c){b?12<b&&(b=12):b=a&-16777216?11:a&-65536?8:6;return va(a,8,b,c?"0o":"")}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return va(a,16,b,c?"0x":"")}
|
|
|
|
|
function xa(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 ya(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(){var a=Aa();return-1!==a.indexOf("pcjs.org",a.length-8)}function Ga(a){return a.replace(/[&<>"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)}
|
|
|
|
|
function xa(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 ya(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(){var a=Aa();return-1!==a.indexOf("pcjs.org",a.length-8)}function Ba(a){return a.replace(/[&<>"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)}
|
|
|
|
|
function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ka(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 La(){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 Ma(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 Na(a,b){var c,d={Y:null,T:null,na:null,ma: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.na=g.load;d.ma=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.T=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 Aa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Oa(){if(null==Pa){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}Pa=a}return Pa}function Qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
|
|
|
|
function Za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function $a(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 ab(a){if(!bb){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," "))}bb=c}return bb[a]}function cb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
|
|
|
|
function db(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 eb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function fb(a){gb.init.push(a)}
|
|
|
|
|
function hb(a){if(ib)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 jb(a){!ib&&a?(ib=!0,kb&&lb("init"),mb&&lb("show")):ib=a}function lb(a){gb[a]&&hb(gb[a])}var bb=null,gb={init:[],show:[],exit:[]},kb=!1,mb=!1,ib=!0,Pa=null;eb("onload",function(){kb=!0;hb(gb.init)});eb("onpageshow",function(){mb=!0;hb(gb.show)});eb($a("Opera")||$a("iOS")?"onunload":"onbeforeunload",function(){hb(gb.exit)});
|
|
|
|
|
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ib=b.comment;this.yb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.u=this.H=this.G=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date}
|
|
|
|
|
function r(a){window&&window.alert(a)}function zb(a){var b=!1;window&&(b=window.confirm(a));return b}function Ab(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 Bb(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 Cb(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 Db(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.ha(h.type,h.binding,g,h.value),m=k.length}}}}
|
|
|
|
|
function Ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Sa(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 bb(a){if(!cb){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," "))}cb=c}return cb[a]}function db(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
|
|
|
|
function eb(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 fb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function gb(a){hb.init.push(a)}
|
|
|
|
|
function ib(a){if(jb)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 kb(a){!jb&&a?(jb=!0,lb&&mb("init"),nb&&mb("show")):jb=a}function mb(a){hb[a]&&ib(hb[a])}var cb=null,hb={init:[],show:[],exit:[]},lb=!1,nb=!1,jb=!0,Pa=null;fb("onload",function(){lb=!0;ib(hb.init)});fb("onpageshow",function(){nb=!0;ib(hb.show)});fb(Sa("Opera")||Sa("iOS")?"onunload":"onbeforeunload",function(){ib(hb.exit)});
|
|
|
|
|
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ib=b.comment;this.yb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.oa=null;v.push(this)}function ob(a,b,c){pb[a]&&b&&(pb[a][b]=c)}function qb(){return Date.now()||+new Date}
|
|
|
|
|
function r(a){window&&window.alert(a)}function rb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(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 Cb(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 Db(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 Eb(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.ha(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 Eb(a){for(var b=!0,c=Fb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Gb.indexOf(e)&&(f=function(){return function(){Eb(a)}}());var g=Hb[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=Cb(d[1],a);if(h)if(g=Ib[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 Fb[a];return b}l=u.prototype;
|
|
|
|
|
function Fb(a){for(var b=!0,c=Gb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Hb.indexOf(e)&&(f=function(){return function(){Fb(a)}}());var g=Ib[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=Db(d[1],a);if(h)if(g=Jb[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 Gb[a];return b}l=u.prototype;
|
|
|
|
|
l.toString=function(){return this.name?this.name:this.id||this.type};
|
|
|
|
|
l.ha=function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.oa=this.I[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.Ka)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
|
|
|
|
|
l.status=function(a){this.j(this.Ka+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Jb(a,b){a.w.error=!0;a.da(b)}function Kb(a){return a.w.error?(a.j(a.toString()+" error"),!0):!1}function Lb(a,b){b&&(a.w.ready?b():a.Pa=b);return a.w.ready}function z(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Pa;a.Pa=null;b&&b()}}function Mb(a,b){a.w.Fa&&(b?a.w.Ya=!0:void 0===b&&a.j(a.toString()+" busy"));return a.w.Fa}
|
|
|
|
|
function Nb(a,b){if(a.w.Ya)return a.w.Fa=!1,a.w.Ya=!1;if(a.w.error)return a.j(a.toString()+" error"),!1;a.w.Fa=b;return a.w.Fa}l.pa=function(){return this.w.U=!0};l.ga=function(a,b){b&&(this.w.U=!1);return!0};function Ob(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.nb)}return!1}function Pb(a,b,c,d){a.D&&(!0===c||Ob(a,c|0))&&a.D.message(b,d)}
|
|
|
|
|
l.status=function(a){this.j(this.Ka+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Kb(a,b){a.w.error=!0;a.da(b)}function Lb(a){return a.w.error?(a.j(a.toString()+" error"),!0):!1}function Mb(a,b){b&&(a.w.ready?b():a.Pa=b);return a.w.ready}function z(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Pa;a.Pa=null;b&&b()}}function Nb(a,b){a.w.Fa&&(b?a.w.Ya=!0:void 0===b&&a.j(a.toString()+" busy"));return a.w.Fa}
|
|
|
|
|
function Ob(a,b){if(a.w.Ya)return a.w.Fa=!1,a.w.Ya=!1;if(a.w.error)return a.j(a.toString()+" error"),!1;a.w.Fa=b;return a.w.Fa}l.pa=function(){return this.w.U=!0};l.ga=function(a,b){b&&(this.w.U=!1);return!0};function Pb(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.nb)}return!1}function Qb(a,b,c,d){a.D&&(!0===c||Pb(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 ob=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Fb=window?window.PCjs.Commands:{},Gb=["hold","sleep","wait"],Hb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ib={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}};
|
|
|
|
|
var pb=window?window.PCjs.Machines:{},v=window?window.PCjs.Components:[],Gb=window?window.PCjs.Commands:{},Hb=["hold","sleep","wait"],Ib={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Jb={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",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),A=Math.pow(2,18)-1,B=Math.pow(2,18),Tb=Math.pow(2,35)-1,F=Math.pow(2,35),G=Math.pow(2,36)-1,H=Math.pow(2,36),Ub=Math.pow(2,17)-1,I=Math.pow(2,35)-1,Vb=Math.pow(2,35),Wb=Math.pow(2,36),Xb=Math.pow(2,34),J=Math.pow(2,32),Yb=Math.pow(2,21),Zb=Math.pow(2,26),$b=Math.pow(2,23),ac=Math.pow(2,30),x="pdp10",Qb="PDPjs",K={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",Rb="PDPjs",Sb=Math.pow(2,18)-1,Tb=Math.pow(2,18),A=Math.pow(2,18)-1,E=Math.pow(2,18),Ub=Math.pow(2,35)-1,F=Math.pow(2,35),G=Math.pow(2,36)-1,H=Math.pow(2,36),Vb=Math.pow(2,17)-1,I=Math.pow(2,35)-1,Wb=Math.pow(2,35),Xb=Math.pow(2,36),Yb=Math.pow(2,34),J=Math.pow(2,32),Zb=Math.pow(2,21),$b=Math.pow(2,26),ac=Math.pow(2,23),bc=Math.pow(2,30),x="pdp10",Rb="PDPjs",K={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 bc(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.v=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=cc;this.C={};this.b={START:[1,1,!0,!1,this.Kb],STEP:[1,1,!1,!1,this.Lb],ENABLE:[1,1,!1,!1,this.Fb],CONT:[1,1,!0,!1,this.Db],DEP:[0,0,!0,!1,this.Eb],EXAM:[1,1,!0,!1,this.Gb],LOAD:[1,1,!0,!1,this.Ib],TEST:[0,0,!0,!1,this.Hb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.u=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb,
|
|
|
|
|
set:this.Tb};z(this)}p(bc,u);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)};
|
|
|
|
|
l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart=
|
|
|
|
|
function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.v]);return a.data()};
|
|
|
|
|
l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])}
|
|
|
|
|
l.Bb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return kc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Ub=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1}
|
|
|
|
|
function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.u.w.K||(this.u.A=this.f%Sb,this.b[qc]&&this.b[qc][1]&&rc(this.u))};l.Lb=function(){};l.Fb=function(a){a||this.u.V()};
|
|
|
|
|
l.Db=function(a){if(!a&&!this.u.w.K)if(this.b[qc]&&this.b[qc][1])rc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),zc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0<b&&(Ac(this.u,b),Bc(this.u,b,!0),Cc(this.u,b))}catch(c){"number"!=typeof c&&Jb(this.u,c.stack||c.message)}this.stop();this.G&&N(this.G)}};l.Eb=function(a){a&&!this.u.w.K&&(this.P&&Dc(this),a=dc(this,this.A=this.v),this.S==cc?Ec(this.H,this.f,a):this.u.i(this.f,a))};
|
|
|
|
|
l.Gb=function(a){if(!a&&!this.u.w.K){var b;this.R&&Dc(this);this.S==cc?b=Fc(this.H,this.f):b=this.u.g(this.f);dc(this,this.A=b)}};l.Ib=function(a){a||this.u.w.K||jc(this,this.v)};l.Hb=function(a){a?(this.F=!0,gc(this,!0)):(this.F=!1,gc(this),kc(this,0))};l.Jb=function(a,b){this.v=a?this.v|1<<b:this.v&~(1<<b)};function Dc(a){var b=1,c=a.H.v;a.b[nc]&&a.b[nc][1]||(b=-b);jc(a,a.f&~c|a.f+b&c)}
|
|
|
|
|
function jc(a,b){a.f=b&a.H.v;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.C[e]=f;d.F||lc(d,e,f)}}}function dc(a,b){a.J=b%H;if(a.O!==a.J){a.O=a.J;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}return a.J}function kc(a,b){a.v=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.v&1<<b?1:0;hc(a);return!0}l.stop=function(){jc(this,this.u.A)};
|
|
|
|
|
function ic(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Bb(d.id);e||(e=new bc(d,!0));Db(e,c)}}var cc=7,oc="DEP",qc="ENABLE",pc="EXAM",nc="STEP";fb(ic);function Gc(a,b,c){u.call(this,"Bus",a,16);this.u=b;this.D=c;this.J=+a.busWidth||18;this.F=1<<this.J;this.v=this.F-1;this.f=Math.log2(16384);this.C=this.F/16384|0;this.A=0;this.b=[];a=new Hc(this);Ic(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;z(this)}p(Gc,u);l=Gc.prototype;l.reset=function(){};
|
|
|
|
|
l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,Jc(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 Kc(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.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Lc(Mc,e,f)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+wa(b)),!0):Lc(Oc,b,c)}
|
|
|
|
|
function Fc(a,b){var c=a.b[(b&a.v)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.v)>>>a.f];a.A++;d.v(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.$a||e.zb){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.Ab=function(a){this.A||(this.D&&Ob(this.D,4)&&Pb(this.D,"memory fault on "+O(this.D,a),!0,!0),this.u.V())};function Lc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Mc=1,Oc=2;function Pc(a){u.call(this,"Device",a,256)}p(Pc,u);l=Pc.prototype;l.xa=function(a,b,c,d){this.H=b;this.G=a;this.u=c;this.D=d;z(this)};l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new M(this)).data()};
|
|
|
|
|
l.restore=function(){return!0};fb(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 Pc(c),Db(c,d)}}});function Hc(a,b,c,d,e){this.I=a;this.id=Qc+=2;this.B=b;this.Ha=c;this.size=d||0;this.type=e||Rc;this.H=e==Sc;this.b=null;this.g=this.G=this.cb;this.i=this.v=this.Ia;this.f=this.u=0;Ic(this);this.$a=this.zb=!1;if(this.size){a=this.D=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Tc(this,Uc)}else Tc(this)}l=Hc.prototype;l.save=function(){return this.D};
|
|
|
|
|
l.restore=function(a){return a&&this.size==a.length?(this.D=a,this.$a=!0):!1};function Tc(a,b){b||(b=Vc);Wc(a,b,void 0);Xc(a,b,void 0)}function Wc(a,b,c){c&&a.f||(a.g=b[0]||a.cb);if(c||void 0===c)a.G=b[0]||a.cb}function Xc(a,b,c){c&&a.u||(a.i=!a.H&&b[1]||a.Ia);if(c||void 0===c)a.v=b[1]||a.Ia}l.Da=function(a,b){b?this.u++||Xc(this,Yc,!1):this.f++||Wc(this,Yc,!1)};function Zc(a,b){b?--a.u||(a.i=a.H?a.Ia:a.v):--a.f||(a.g=a.G)}
|
|
|
|
|
function Ic(a,b,c){a.b=b;a.f=a.u=0;c&&((a.f=c.f)&&Wc(a,Yc,!1),(a.u=c.u)&&Xc(a,Yc,!1))}l.cb=function(a,b){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to read invalid address "+O(this.b,b),!0);this.I.Ab(b);return-1};l.Ia=function(a,b,c){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to write "+O(this.b,a)+" to invalid addresses "+O(this.b,c),!0)};l.Ob=function(a){return this.D[a]};l.Xb=function(a,b){this.D[b]!=a&&(this.D[b]=a,this.$a=!0)};
|
|
|
|
|
l.Mb=function(a,b){if(this.b&&null!=this.B){var c=this.b;$c(c,this.B+a,2,c.M)&&c.V(!1)}return this.G(a,b)};l.Wb=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;$c(d,this.B+b,2,d.J)&&d.V(!1)}this.H?this.Ia(a,0,c):this.v(a,b,c)};var Rc=0,Sc=2,Nc=["NONE","RAM","ROM"],Qc=0,Vc=[],Uc=[Hc.prototype.Ob,Hc.prototype.Xb],Yc=[Hc.prototype.Mb,Hc.prototype.Wb];
|
|
|
|
|
function ad(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ta=0;this.Wa=b;this.ba=c;this.Ua=Math.round(this.Wa/1E4)/100;this.aa=this.Ua*this.ba;this.Va=this.wa=this.ea=this.Ba=0;this.w.K=this.w.Sa=!1;this.w.Z=a.autoStart;"string"==typeof this.w.Z&&(this.w.Z="true"==this.w.Z);this.w.Ea=!1;this.ua=this.ja=0;this.va=+a.csStart;this.ia=+a.csInterval;this.ka=+a.csStop;this.N=[];this.kb=this.Rb.bind(this);this.S=this.M=this.P=this.R=this.L=this.ta=this.O=this.la=this.Xa=this.W=0;
|
|
|
|
|
this.za=null;z(this)}p(ad,u);l=ad.prototype;l.xa=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.za=a.v;for(a=0;a<bd.length;a++)(b=this.I[bd[a]])&&this.G.ha(null,bd[a],b);z(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
|
|
|
|
l.pa=function(a,b){var c=cd(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.I.run);if(!b){if(a){dd(this);if(!this.restore(a))return!1;ed(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"),fd(a),b||gd(a),a.ua&&(b=a.ua,a.ua=null,hd(a,b))):this.status("No debugger detected");this.w.Z||this.j("CPU will not be auto-started "+(this.za?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
|
|
|
|
l.ga=function(a){return a?this.save():!0};l.Z=function(){return this.w.K?!0:this.w.Z?(rc(this),!0):!1};l.qb=function(){return 0};function ed(a){void 0===a.va&&(a.va=0);void 0===a.ia&&(a.ia=-1);void 0===a.ka&&(a.ka=-1);a.w.Ea=0<=a.va&&0<a.ia;a.w.Ea&&(a.ua=0,a.ja=a.va-a.S)}function Cc(a,b){if(a.w.Ea){var c=!1;a.ua=a.ua+a.qb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=id(a)&&(a.ia=a.ka=-1,ed(a),a.V(),c=!0);c&&a.j(id(a)+" cycles: checksum="+q(a.ua))}}
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=Ab(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.U);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Pa?" (waiting for notification)":""))+".");a=!1}a&&(d.w.K?d.V():rc(d))},!0;case "speed":return this.I[b]=
|
|
|
|
|
c,!0;case "setSpeed":return this.I[b]=c,c.onclick=function(){jd(d,d.ba<<1,!0)},c.textContent=this.aa.toFixed(2)+"Mhz",!0}return!1};function Bc(a,b,c){a.S+=b;c&&(a.P=a.R=0)}function kd(a,b){var c=1;b&&1<a.ba&&a.W&&(c=a.W/a.Ua);a.Va=Math.round(1E3/ld);a.wa=Math.floor(a.Wa/ld*c);b||(a.ea=a.wa);a.Ba=0}function id(a){return a.S+a.M+a.P-a.R}function dd(a){a.W=0;a.Xa=0;a.S=a.M=a.P=a.R=0;ed(a);jd(a,1)}
|
|
|
|
|
function jd(a,b,c){var d=!1;if(void 0!==b){.8>a.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&md(a.G)}Bc(a,a.M);a.M=0;a.L=qb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;c<a.N.length;c++)b.push(a.N[c][0]);return b}
|
|
|
|
|
function Ac(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function pd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c}
|
|
|
|
|
l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&kd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=nd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=pd(this,!0);this.la+=b;this.M+=b;Cc(this,b);Ac(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=qd&&(this.G&&N(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),id(this));Jb(this,
|
|
|
|
|
e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.W<this.aa)-1E3>c&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}};
|
|
|
|
|
function rc(a,b){if(!Kb(a))if(a.w.K)a.j(a.toString()+" busy");else{jd(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&md(a.G,!0),a.G.start(a.L,id(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){pd(this);Bc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),id(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var ld=30,qd=15,bd=["power","reset"];
|
|
|
|
|
function rd(a){var b=+a.model||1001;ad.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=sd.bind(this);this.b=P.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(rd,ad);l=rd.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.v=0;this.qa=this.A;this.C=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;dd(this);this.w.error=!1;ad.prototype.reset.call(this)};l.qb=function(){return 0};
|
|
|
|
|
l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.v,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,td(this));a.set(4,od(this));return a.data()};
|
|
|
|
|
l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.v=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(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.hb.length;d++){var e=this.hb[d];if(e.Vb===b[c]){d=e;break a}}d=null}d&&(d.next=
|
|
|
|
|
this.ra,this.ra=d)}a=a[4];for(b=0;b<this.N.length&&b<a.length;b++)this.N[b][0]=a[b];return!0};function ud(a,b){var c=a.A;a.A=(c+b)%Sb;return c}l.abs=function(a){a>I&&(a!=Vb?a=Wb-a:this.v|=163840);return a};function Pd(a,b){b?b==Vb?a.v|=163840:b=Wb-b:a.v|=98304;return b}function td(a){var b=[];for(a=a.ra;a;)b.push(a.Vb),a=a.next;return b}l.Nb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.v)>>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.v)>>>c.f].i(b,a&16383,a);return b};
|
|
|
|
|
l.Ja=function(a){this.w.complete=!0;var b=this.D?Qd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a=
|
|
|
|
|
this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Na/$b|0);0<=a&&this.wb(a)}while(0<this.R);return this.w.complete?this.P-this.R:!1===this.w.complete?-1:0};fb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new rd(d);Db(d,c)}});function sd(a){Sd[a>>4].call(this,a,a&15)}function Q(a){this.b(a)}
|
|
|
|
|
function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&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 Vd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Wd(a,b){this.i(b,this.g(this.f))}function Xd(a,b){this.i(b,this.f)}function Yd(a,b){this.i(this.f,this.g(b))}function Zd(a,b){this.i(b,0)}function $d(a,b){this.i(b,G-this.g(b))}function ae(a,b){this.i(b,G)}
|
|
|
|
|
function be(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ce(a,d,c)+(c-(c&A)))}function de(a,b){var c=this.g(b);this.i(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ce(a,c,b)+(b-(b&A)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ge(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.i(b,ce(a,d,c)+c)}
|
|
|
|
|
function he(a,b){var c=this.f*B,d=this.g(b);this.i(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.i(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&A)*B,c=ce(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function ke(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.i(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)}
|
|
|
|
|
function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function pe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.i(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.i(b,le(a,c,0))}function re(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/B|0,c=le(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){te[a&7].call(this,a,a>>3&127)}
|
|
|
|
|
function ue(){}function P(a){this.j("undefined opcode: "+wa(a));ud(this,-1);this.V()}function ve(a,b){var c=(a+b)%H;we.call(this,a,b,c);return c}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function xe(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ye(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)}
|
|
|
|
|
function ze(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(a<B&&c<B)d=a*c,a=0;else{d=a%B;var e=Math.trunc(a/B);a=c%B;var c=Math.trunc(c/B),f=d*a,g=e*a+Math.trunc(f/B);a=Math.trunc(g/B);g=g%B+d*c;d=g*B+f%B;a+=Math.trunc(g/B)+e*c}b&&(d?(a=G-a,d=H-d):a&&(a=H-a));b=a-a%F;a=2*a%H+Math.trunc(d/F);d=b+d%F;e=a-a%F;b!=e&&(a=b+(a-e),this.v|=131072);this.Ma=a;return d}function Ae(a,b){var c=a-b;0>c&&(c+=H);we.call(this,c,b,a);return c}
|
|
|
|
|
function we(a,b,c){a=Math.trunc(a/Xb);b=Math.trunc(b/Xb);c=Math.trunc(c/Xb);var d=a^(a^b)&(b^c);this.v=this.v|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function le(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b}
|
|
|
|
|
var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.F&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.F&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
|
|
|
|
function cc(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=dc;this.B={};this.b={START:[1,1,!0,!1,this.Kb],STEP:[1,1,!1,!1,this.Lb],ENABLE:[1,1,!1,!1,this.Fb],CONT:[1,1,!0,!1,this.Db],DEP:[0,0,!0,!1,this.Eb],EXAM:[1,1,!0,!1,this.Gb],LOAD:[1,1,!0,!1,this.Ib],TEST:[0,0,!0,!1,this.Hb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb,
|
|
|
|
|
set:this.Tb};z(this)}p(cc,u);l=cc.prototype;l.reset=function(a){this.stop();a&&ec(this,this.A=0)};
|
|
|
|
|
l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.v&&this.v.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[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.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gc(a,b)}}(this,b),a.ontouchstart=
|
|
|
|
|
function(a,b){return function(c){fc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;hc(this);ic(this)};l.pa=function(a,b){if(!b)if(this.W&&jc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.u]);return a.data()};
|
|
|
|
|
l.restore=function(a){if(a=a[0])kc(this,this.f=a[0]),ec(this,this.A=a[1]),lc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ic(this);return!0};function mc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hc(a,b){for(var c in a.B)mc(a,c,null!=b?b:a.B[c])}function nc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ic(a){for(var b in a.b)nc(a,b,a.b[b][1])}
|
|
|
|
|
l.Bb=function(a,b,c){if(fc(this,b)){if(c){var d=this;setTimeout(function(){gc(d,b);a&&a()},+c);return!1}gc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return lc(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,nc(this,a,c[1]),!0):!1};l.Ub=function(a){return fc(this,a)?(gc(this,a),!0):!1};function fc(a,b){var c=a.b[b];return c?(nc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.P=b==pc,a.R=b==qc),!0):!1}
|
|
|
|
|
function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.v.w.K||(this.v.A=this.f%Tb,this.b[rc]&&this.b[rc][1]&&sc(this.v))};l.Lb=function(){};l.Fb=function(a){a||this.v.V()};
|
|
|
|
|
l.Db=function(a){if(!a&&!this.v.w.K)if(this.b[rc]&&this.b[rc][1])sc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),tc(a,0,null),Ob(a,!1);else try{var b=this.v.Ja(1);0<b&&(uc(this.v,b),Dc(this.v,b,!0),Ec(this.v,b))}catch(c){"number"!=typeof c&&Kb(this.v,c.stack||c.message)}this.stop();this.G&&O(this.G)}};l.Eb=function(a){a&&!this.v.w.K&&(this.P&&Fc(this),a=ec(this,this.A=this.u),this.S==dc?Gc(this.H,this.f,a):this.v.i(this.f,a))};
|
|
|
|
|
l.Gb=function(a){if(!a&&!this.v.w.K){var b;this.R&&Fc(this);this.S==dc?b=Hc(this.H,this.f):b=this.v.g(this.f);ec(this,this.A=b)}};l.Ib=function(a){a||this.v.w.K||kc(this,this.u)};l.Hb=function(a){a?(this.F=!0,hc(this,!0)):(this.F=!1,hc(this),lc(this,0))};l.Jb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function Fc(a){var b=1,c=a.H.u;a.b[oc]&&a.b[oc][1]||(b=-b);kc(a,a.f&~c|a.f+b&c)}
|
|
|
|
|
function kc(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||mc(d,e,f)}}}function ec(a,b){a.J=b%H;if(a.O!==a.J){a.O=a.J;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||mc(d,e,f)}}return a.J}function lc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;ic(a);return!0}l.stop=function(){kc(this,this.v.A)};
|
|
|
|
|
function jc(){for(var a=y(document,x,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=Cb(d.id);e||(e=new cc(d,!0));Eb(e,c)}}var dc=7,pc="DEP",rc="ENABLE",qc="EXAM",oc="STEP";gb(jc);function Ic(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.J=+a.busWidth||18;this.F=1<<this.J;this.u=this.F-1;this.f=Math.log2(16384);this.B=this.F/16384|0;this.A=0;this.b=[];a=new Jc(this);Kc(a,this.D);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;z(this)}p(Ic,u);l=Ic.prototype;l.reset=function(){};
|
|
|
|
|
l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,Lc(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 Mc(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 Nc(Oc,e,f)}e=new Jc(a,e,m,16384,d);Kc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Pc[d]+" at "+wa(b)),!0):Nc(Qc,b,c)}
|
|
|
|
|
function Hc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Gc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Lc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.$a||e.zb){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.Ab=function(a){this.A||(this.D&&Pb(this.D,4)&&Qb(this.D,"memory fault on "+P(this.D,a),!0,!0),this.v.V())};function Nc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Oc=1,Qc=2;function Rc(a){u.call(this,"Device",a,256)}p(Rc,u);l=Rc.prototype;l.xa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;z(this)};l.pa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new M(this)).data()};
|
|
|
|
|
l.restore=function(){return!0};gb(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 Rc(c),Eb(c,d)}}});function Jc(a,b,c,d,e){this.I=a;this.id=Sc+=2;this.C=b;this.Ha=c;this.size=d||0;this.type=e||Tc;this.H=e==Uc;this.b=null;this.g=this.G=this.cb;this.i=this.D=this.Ia;this.f=this.v=0;Kc(this);this.$a=this.zb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Vc(this,Wc)}else Vc(this)}l=Jc.prototype;l.save=function(){return this.u};
|
|
|
|
|
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.$a=!0):!1};function Vc(a,b){b||(b=Xc);Yc(a,b,void 0);Zc(a,b,void 0)}function Yc(a,b,c){c&&a.f||(a.g=b[0]||a.cb);if(c||void 0===c)a.G=b[0]||a.cb}function Zc(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++||Zc(this,$c,!1):this.f++||Yc(this,$c,!1)};function ad(a,b){b?--a.v||(a.i=a.H?a.Ia:a.D):--a.f||(a.g=a.G)}
|
|
|
|
|
function Kc(a,b,c){a.b=b;a.f=a.v=0;c&&((a.f=c.f)&&Yc(a,$c,!1),(a.v=c.v)&&Zc(a,$c,!1))}l.cb=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+P(this.b,b),!0);this.I.Ab(b);return-1};l.Ia=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+P(this.b,a)+" to invalid addresses "+P(this.b,c),!0)};l.Ob=function(a){return this.u[a]};l.Xb=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.$a=!0)};
|
|
|
|
|
l.Mb=function(a,b){if(this.b&&null!=this.C){var c=this.b;bd(c,this.C+a,2,c.M)&&c.V(!1)}return this.G(a,b)};l.Wb=function(a,b,c){if(this.b&&null!=this.C){var d=this.b;bd(d,this.C+b,2,d.J)&&d.V(!1)}this.H?this.Ia(a,0,c):this.D(a,b,c)};var Tc=0,Uc=2,Pc=["NONE","RAM","ROM"],Sc=0,Xc=[],Wc=[Jc.prototype.Ob,Jc.prototype.Xb],$c=[Jc.prototype.Mb,Jc.prototype.Wb];
|
|
|
|
|
function cd(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ta=0;this.Wa=b;this.ba=c;this.Ua=Math.round(this.Wa/1E4)/100;this.aa=this.Ua*this.ba;this.Va=this.wa=this.ea=this.Ba=0;this.w.K=this.w.Sa=!1;this.w.Z=a.autoStart;"string"==typeof this.w.Z&&(this.w.Z="true"==this.w.Z);this.w.Ea=!1;this.ua=this.ja=0;this.va=+a.csStart;this.ia=+a.csInterval;this.ka=+a.csStop;this.N=[];this.kb=this.Rb.bind(this);this.S=this.M=this.P=this.R=this.L=this.ta=this.O=this.la=this.Xa=this.W=0;
|
|
|
|
|
this.za=null;z(this)}p(cd,u);l=cd.prototype;l.xa=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.za=a.u;for(a=0;a<dd.length;a++)(b=this.I[dd[a]])&&this.G.ha(null,dd[a],b);z(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
|
|
|
|
l.pa=function(a,b){var c=ed(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.I.run);if(!b){if(a){fd(this);if(!this.restore(a))return!1;gd(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"),hd(a),b||id(a),a.ua&&(b=a.ua,a.ua=null,jd(a,b))):this.status("No debugger detected");this.w.Z||this.j("CPU will not be auto-started "+(this.za?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
|
|
|
|
l.ga=function(a){return a?this.save():!0};l.Z=function(){return this.w.K?!0:this.w.Z?(sc(this),!0):!1};l.qb=function(){return 0};function gd(a){void 0===a.va&&(a.va=0);void 0===a.ia&&(a.ia=-1);void 0===a.ka&&(a.ka=-1);a.w.Ea=0<=a.va&&0<a.ia;a.w.Ea&&(a.ua=0,a.ja=a.va-a.S)}function Ec(a,b){if(a.w.Ea){var c=!1;a.ua=a.ua+a.qb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=kd(a)&&(a.ia=a.ka=-1,gd(a),a.V(),c=!0);c&&a.j(kd(a)+" cycles: checksum="+q(a.ua))}}
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=tb(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.U);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Pa?" (waiting for notification)":""))+".");a=!1}a&&(d.w.K?d.V():sc(d))},!0;case "speed":return this.I[b]=
|
|
|
|
|
c,!0;case "setSpeed":return this.I[b]=c,c.onclick=function(){ld(d,d.ba<<1,!0)},c.textContent=this.aa.toFixed(2)+"Mhz",!0}return!1};function Dc(a,b,c){a.S+=b;c&&(a.P=a.R=0)}function md(a,b){var c=1;b&&1<a.ba&&a.W&&(c=a.W/a.Ua);a.Va=Math.round(1E3/nd);a.wa=Math.floor(a.Wa/nd*c);b||(a.ea=a.wa);a.Ba=0}function kd(a){return a.S+a.M+a.P-a.R}function fd(a){a.W=0;a.Xa=0;a.S=a.M=a.P=a.R=0;gd(a);ld(a,1)}
|
|
|
|
|
function ld(a,b,c){var d=!1;if(void 0!==b){.8>a.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&od(a.G)}Dc(a,a.M);a.M=0;a.L=qb();a.O=0;md(a);return d}function pd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qd(a){for(var b=[],c=0;c<a.N.length;c++)b.push(a.N[c][0]);return b}
|
|
|
|
|
function uc(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function rd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c}
|
|
|
|
|
l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&md(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=pd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=rd(this,!0);this.la+=b;this.M+=b;Ec(this,b);uc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=sd&&(this.G&&O(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),kd(this));Kb(this,
|
|
|
|
|
e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,ld(this)));if(0>c||this.W<this.aa)-1E3>c&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}};
|
|
|
|
|
function sc(a,b){if(!Lb(a))if(a.w.K)a.j(a.toString()+" busy");else{ld(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&od(a.G,!0),a.G.start(a.L,kd(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){rd(this);Dc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),kd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var nd=30,sd=15,dd=["power","reset"];
|
|
|
|
|
function td(a){var b=+a.model||1001;cd.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=ud.bind(this);this.b=Q.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(td,cd);l=td.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.u=0;this.qa=this.A;this.B=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;fd(this);this.w.error=!1;cd.prototype.reset.call(this)};l.qb=function(){return 0};
|
|
|
|
|
l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.u,this.B,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,vd(this));a.set(4,qd(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.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];ld(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.hb.length;d++){var e=this.hb[d];if(e.Vb===b[c]){d=e;break a}}d=null}d&&(d.next=
|
|
|
|
|
this.ra,this.ra=d)}a=a[4];for(b=0;b<this.N.length&&b<a.length;b++)this.N[b][0]=a[b];return!0};function wd(a,b){var c=a.A;a.A=(c+b)%Tb;return c}function vd(a){var b=[];for(a=a.ra;a;)b.push(a.Vb),a=a.next;return b}l.Nb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.u)>>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=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?xd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(yd(this.D,this.A,c)){this.V();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.ra||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&yd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.B&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a=
|
|
|
|
|
this.J>>18&15)this.f=this.f+this.g(a)&Sb;this.J&4194304?a=-1:(this.A=(this.A+1)%Tb,a=this.Na/ac|0);0<=a&&this.wb(a)}while(0<this.R);return this.w.complete?this.P-this.R:!1===this.w.complete?-1:0};gb(function(){for(var a=y(document,x,"cpu"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new td(d);Eb(d,c)}});function ud(a){zd[a>>4].call(this,a,a&15)}function R(a){this.b(a)}
|
|
|
|
|
function Ad(){var a=0,b=this.g(this.f),c=b/bc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bc+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Bd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&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 Xd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Yd(a,b){this.i(b,this.g(this.f))}function Zd(a,b){this.i(b,this.f)}function $d(a,b){this.i(this.f,this.g(b))}function ae(a,b){this.i(b,0)}function be(a,b){this.i(b,G-this.g(b))}function ce(a,b){this.i(b,G)}
|
|
|
|
|
function de(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ee(a,d,c)+(c-(c&A)))}function fe(a,b){var c=this.g(b);this.i(b,ee(a,c,0))}function ge(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ee(a,c,b)+(b-(b&A)))}function he(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ie(a,b){var c=(this.g(this.f)&A)*E,d=this.g(b);this.i(b,ee(a,d,c)+c)}
|
|
|
|
|
function je(a,b){var c=this.f*E,d=this.g(b);this.i(b,ee(a,d,c)+c)}function ke(a,b){b=(this.g(b)&A)*E;var c=this.g(this.f);this.i(this.f,ee(a,c,b)+b)}function le(a,b){var c=this.g(this.f),d=(c&A)*E,c=ee(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function me(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,ne(a,d,c)+c)}function oe(a,b){var c=this.g(b);this.i(b,ne(a,c,this.f)+this.f)}function pe(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)}
|
|
|
|
|
function qe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*E;break;case 384:d+=c>Vb?A*E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function re(a,b){var c=this.g(this.f)/E|0,d=this.g(b);this.i(b,ne(a,d,c)+c)}function se(a,b){var c=this.g(b);this.i(b,ne(a,c,0))}function te(a,b){b=this.g(b)/E|0;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)}function ue(a,b){var c=this.g(this.f),d=c/E|0,c=ne(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){ve[a&7].call(this,a,a>>3&127)}
|
|
|
|
|
function we(){}function Q(a){this.j("undefined opcode: "+wa(a));wd(this,-1);this.V()}function xe(a){a>I&&(a!=Wb?a=Xb-a:this.u|=163840);return a}function ye(a,b){var c=(a+b)%H;ze.call(this,a,b,c);return c}function U(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function Ae(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function Be(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function V(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)}
|
|
|
|
|
function Ce(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(a<E&&c<E)d=a*c,a=0;else{d=a%E;var e=Math.trunc(a/E);a=c%E;var c=Math.trunc(c/E),f=d*a,g=e*a+Math.trunc(f/E);a=Math.trunc(g/E);g=g%E+d*c;d=g*E+f%E;a+=Math.trunc(g/E)+e*c}b&&(d?(a=G-a,d=H-d):a&&(a=H-a));b=a-a%F;a=2*a%H+Math.trunc(d/F);d=b+d%F;e=a-a%F;b!=e&&(a=b+(a-e),this.u|=131072);this.Ma=a;return d}function De(a){a?a==Wb?this.u|=163840:a=Xb-a:this.u|=98304;return a}
|
|
|
|
|
function Ee(a,b){var c=a-b;0>c&&(c+=H);ze.call(this,c,b,a);return c}function ze(a,b,c){a=Math.trunc(a/Yb);b=Math.trunc(b/Yb);c=Math.trunc(c/Yb);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 ne(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*E;break;case 384:b=c>Vb?A*E:0}return b}function ee(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b}
|
|
|
|
|
var zd=[R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,function(a,b){0>this.F&&Ad.call(this);Bd.call(this,0,b)},Bd,function(a,b){0>this.F&&Ad.call(this);Xd.call(this,0,b)},Xd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
|
|
|
|
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
|
|
|
|
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(b,a)},function(a,b){this.i(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Pd(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Wb-this.f:0)},function(a,b){this.i(this.f,Pd(this,
|
|
|
|
|
this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,this.abs(this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(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.Ma)},function(a,b){this.i(b,ze.call(this,
|
|
|
|
|
this.g(b),this.f));this.i(b+1&15,this.Ma)},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.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.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){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0<c?(35<=c?(d=0>d?F:0,c=Tb):
|
|
|
|
|
(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.v|=131072):a-c<=I&&(this.v|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H: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)%H+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)%H:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(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<F||d>Tb&&d<G)this.v|=131072;if(71<=a){if(0<e&&e<F||e>Tb&&e<G)this.v|=131072;d=0}else d=e*Math.pow(2,a-35)%F,c=F-Math.pow(2,70-a),f<=I?e+c>I&&(this.v|=131072):e-c<=I&&(this.v|=131072);e=0;f>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.v|=131072):(f-c<=I&&(this.v|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2,
|
|
|
|
|
-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));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)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%H+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)%H,d=0):(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H):-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)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},P,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/B|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*B+c),a||ud(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.v|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.v|=262144);
|
|
|
|
|
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){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,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b),
|
|
|
|
|
this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.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)},Yd,Zd,$d,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(b,a)},function(a,b){this.i(b,this.f*E)},function(a,b){a=this.g(b);a=(a/E|0)+a%E*E;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,De.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Xb-this.f:0)},function(a,b){this.i(this.f,
|
|
|
|
|
De.call(this,this.g(b)))},function(a,b){a=De.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,xe.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,xe.call(this,this.g(b)))},function(a,b){a=xe.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,Ce.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)},
|
|
|
|
|
function(a,b){this.i(b,Ce.call(this,this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,Ce.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ce.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.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){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>
|
|
|
|
|
I?-(H-a):a;0<c?(35<=c?(d=0>d?F:0,c=Ub):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.u|=131072):a-c<=I&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H: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)%H+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)%H:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(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<F||d>Ub&&d<G)this.u|=131072;if(71<=a){if(0<e&&e<F||e>Ub&&e<G)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%F,c=F-Math.pow(2,70-a),f<=I?e+c>I&&(this.u|=131072):e-c<=I&&(this.u|=131072);e=0;f>Ub&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.u|=131072):(f-c<=I&&(this.u|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=
|
|
|
|
|
a?d>Ub?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Ub?d=0:(d=G,e+=F)):(c=d>Ub?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Ub&&(e+=F));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)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-
|
|
|
|
|
36)%H+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)%H,d=0):(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H):-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)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},Q,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/E|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*E+c),a||wd(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%Tb)},function(a){this.b(a)},Q,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/E|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);
|
|
|
|
|
this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/E|0)==A&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,(this.u&A)*E+this.A);this.A=this.f%Tb},function(a){this.b(a)},function(a){this.b(a)},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))))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ee.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)},Zd,Zd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b),
|
|
|
|
|
this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.i(b,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),G-this.g(this.f))))},
|
|
|
|
|
ue,ue,Yd,Yd,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,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,
|
|
|
|
|
U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),G-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))))},$d,$d,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a,
|
|
|
|
|
b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),
|
|
|
|
|
G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},ae,ae,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
|
|
|
|
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},ae,ae,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a,
|
|
|
|
|
b){this.i(this.f,this.i(b,U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},Yd,Zd,we,Yd,function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,
|
|
|
|
|
U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},we,we,$d,$d,function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(this.f))))},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,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-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))))},be,be,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,
|
|
|
|
|
this.i(b,V.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a,b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),G-this.g(this.f))))},
|
|
|
|
|
function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,G-this.g(b),G-this.g(this.f))))},ce,ce,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,
|
|
|
|
|
me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
|
|
|
|
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
|
|
|
|
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
|
|
|
|
|
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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],te=[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.v&=-131073);a&131072&&(this.v&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.v&131072&&(a|=8);this.v&262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}];
|
|
|
|
|
function Be(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.v=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ce(c)})}}p(Be,u);
|
|
|
|
|
Be.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;Ce(this)};Be.prototype.pa=function(){this.T&&(this.D&&De(this.D,this.id,this.C,this.v,this.T),delete this.T);return!0};Be.prototype.ga=function(){return!0};
|
|
|
|
|
function Ce(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.v||(a.v=a.b.length);if(a.b.length!=a.v)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.v,8,!0)+")");else{var b;b=a.C;if(Kc(a.H,b,a.v,Sc)){var c;for(c=0;c<a.b.length;c++)Ec(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.v,h=[],k=d.C>>>f.f;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.v;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)}}fb(function(){for(var a=y(document,x,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Be(d);Db(d,c)}});
|
|
|
|
|
function Ee(a){u.call(this,"RAM",a);this.T=this.Ca=null;this.f=+a.addr;this.v=+a.size;this.na=a.load;this.ma=a.exec;null!=this.na&&(this.na=+this.na);null!=this.ma&&(this.ma=+this.ma);this.A=this.F=!1;this.b=a.file;this.C=xa(this.b);if(this.b){a=this.b;var b=ya(this.C);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(nb(c.La,a,b),(a=Na(a,b))?(c.Ca=a.Ca,
|
|
|
|
|
c.T=a.T,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);Fe(c)})}}p(Ee,u);Ee.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;Fe(this)};Ee.prototype.pa=function(a,b){this.T&&(this.D&&De(this.D,this.id,this.f,this.v,this.T),delete this.T);b||this.reset();return!0};Ee.prototype.ga=function(){return!0};
|
|
|
|
|
function Fe(a){if(a.H&&(!a.A&&a.v&&(Kc(a.H,a.f,a.v,1)?a.A=!0:a.v=0),!Lb(a))){if(!a.A)r("No RAM allocated");else if(a.b){if(!a.Ca)return;Ge(a,a.Ca,a.na,a.ma,a.f)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;z(a)}}
|
|
|
|
|
Ee.prototype.reset=function(){if(this.A&&!this.F){for(var a=this.H,b=this.f,c=this.v,d=b&16383,b=b>>>a.f;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.v(g,d,e.B+d);c-=16384;b++;d=0}this.Ca&&Ge(this,this.Ca,this.na,this.ma,this.f,!this.D)}this.F=!1};
|
|
|
|
|
function Ge(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Ec(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.u.V(),f=!1),null!=d&&(a=a.u,a.Aa=d,a.A=d%Sb,f?a.w.U?a.w.K||rc(a):a.w.Z=!0:a.D&&a.w.U?a.V()||a.G.w.reset||(fd(a.D),N(a.G,-1)):!1===f&&a.V(),!a.w.K&&a.za&&a.za.stop()));return g}fb(function(){for(var a=y(document,x,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ee(d);Db(d,c)}});
|
|
|
|
|
function He(a){u.call(this,"SerialPort",a,1048576);this.A=a.upperCase;"string"==typeof this.A&&(this.A="true"==this.A);this.v=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=Ie;b&&(void 0===c&&(c="Panel"),(c=Cb(c,this.id))&&(b=c.I[b])&&this.ha(null,a,b))}this.b=this.C=null;this.exports={connect:this.rb,receiveData:this.Qa,receiveStatus:this.Pb,setConnection:this.Sb}}p(He,u);l=He.prototype;
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case Ie:return this.I[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.fb:ta.vb:46==c?b=ta.fb:a.ctrlKey&&c>=ta.eb&&c<=ta.xb&&(b=c-(ta.eb-ta.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.ub&&(b=ta.tb);d.Qa(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.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;z(this)};
|
|
|
|
|
l.rb=function(a){if(!this.b){var b=cd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.v);if(this.C=e.receiveData){this.v=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.v),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
|
|
|
|
l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=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.Pb=function(){};l.Sb=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ie="buffer";
|
|
|
|
|
fb(function(){for(var a=y(document,x,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new He(d);Db(d,c)}});function Je(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.C=0;this.P=!1;this.A=-1;this.v=[];this.W={}}p(Je,u);Je.prototype.ab=function(){return-1};Je.prototype.bb=function(){};
|
|
|
|
|
function Ke(a,b,c,d){if(c)if(b){0>a.A&&a.v.length&&(a.A=0);if(0>a.A||b!=a.v[a.A])a.v.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.v[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(Ja(b.substring(c,f))),c=f+1}}return a}
|
|
|
|
|
function Le(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;
|
|
|
|
|
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],ve=[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.T=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=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(ob(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ge(c)})}}p(Fe,u);
|
|
|
|
|
Fe.prototype.xa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ge(this)};Fe.prototype.pa=function(){this.T&&(this.D&&He(this.D,this.id,this.B,this.u,this.T),delete this.T);return!0};Fe.prototype.ga=function(){return!0};
|
|
|
|
|
function Ge(a){if(!Mb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Kb(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(Mc(a.H,b,a.u,Uc)){var c;for(c=0;c<a.b.length;c++)Gc(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)}}gb(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);Eb(d,c)}});
|
|
|
|
|
function Ie(a){u.call(this,"RAM",a);this.T=this.Ca=null;this.f=+a.addr;this.u=+a.size;this.na=a.load;this.ma=a.exec;null!=this.na&&(this.na=+this.na);null!=this.ma&&(this.ma=+this.ma);this.A=this.F=!1;this.b=a.file;this.B=xa(this.b);if(this.b){a=this.b;var b=ya(this.B);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ob(c.La,a,b),(a=Na(a,b))?(c.Ca=a.Ca,
|
|
|
|
|
c.T=a.T,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);Je(c)})}}p(Ie,u);Ie.prototype.xa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Je(this)};Ie.prototype.pa=function(a,b){this.T&&(this.D&&He(this.D,this.id,this.f,this.u,this.T),delete this.T);b||this.reset();return!0};Ie.prototype.ga=function(){return!0};
|
|
|
|
|
function Je(a){if(a.H&&(!a.A&&a.u&&(Mc(a.H,a.f,a.u,1)?a.A=!0:a.u=0),!Mb(a))){if(!a.A)r("No RAM allocated");else if(a.b){if(!a.Ca)return;Ke(a,a.Ca,a.na,a.ma,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,h,d=d||0,g=g||0;0>g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(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.na,this.ma,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++)Gc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.V(),f=!1),null!=d&&(a=a.v,a.Aa=d,a.A=d%Tb,f?a.w.U?a.w.K||sc(a):a.w.Z=!0:a.D&&a.w.U?a.V()||a.G.w.reset||(hd(a.D),O(a.G,-1)):!1===f&&a.V(),!a.w.K&&a.za&&a.za.stop()));return g}gb(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);Eb(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=Db(c,this.id))&&(b=c.I[b])&&this.ha(null,a,b))}this.b=this.B=null;this.exports={connect:this.rb,receiveData:this.Qa,receiveStatus:this.Pb,setConnection:this.Sb}}p(Le,u);l=Le.prototype;
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case Me:return this.I[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.fb:ra.vb:46==c?b=ra.fb:a.ctrlKey&&c>=ra.eb&&c<=ra.xb&&(b=c-(ra.eb-ra.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.ub&&(b=ra.tb);d.Qa(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.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)};
|
|
|
|
|
l.rb=function(a){if(!this.b){var b=ed(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Cb(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.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
|
|
|
|
l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=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.Pb=function(){};l.Sb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Me="buffer";
|
|
|
|
|
gb(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);Eb(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.W={}}p(Ne,u);Ne.prototype.ab=function(){return-1};Ne.prototype.bb=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(Ja(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;
|
|
|
|
|
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 Me(a,b,c){var d;if(b){b=Ne(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=Ja(n);if(!n){f=!0;break}n=Oe(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&&Pe[n]<Pe[k[k.length-1]]&&Le(h,k,1);k.push(n);b=b.substr(t+D)}Le(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Qe(a,null,
|
|
|
|
|
d))}return d}function Ne(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=Me(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(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 Oe(a,b,c,d){var e;null!=b?(e=a.ab(b),0<=e?e=a.bb(e):(e=a.W[b],null==e&&(e=ua(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
|
|
|
|
function Qe(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),ca=m=m||n;0<n--;)ca||(t=","+t,ca=m),t=(D?"?":k&1?"1":"0")+t,k>>=1,ca--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
|
|
|
|
|
function Re(a,b){if(b)return Qe(a,b,a.W[b]);var c=0;for(b in a.W)Qe(a,b,a.W[b]),c++;return 0<c}function O(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=wa(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=va(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 Pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
|
|
|
|
function Se(a){Je.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Te(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ue(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ve(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return hd(b,a)}):void 0===global[x]&&(global[x]=function(a){return hd(b,
|
|
|
|
|
a)})}p(Se,Je);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function We(a,b,c,d){a.B=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function Xe(a){return[a.B,a.Oa,a.fa,a.ca,a.Ra]}function Ye(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Ke(a,c.Ra=b[4]));return c}l=Se.prototype;
|
|
|
|
|
l.xa=function(a,b,c,d){this.H=b;this.G=a;this.u=c;this.ea=a.v;(a=cd(a,"messages"))&&Ve(this,a);Ze(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(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=Nc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.f,8)+" %"+q(n.B,8)+" "+q(n.Ha,
|
|
|
|
|
4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Rc&&(c=-1),m=0);a+=16384;e++}}});z(this)};
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",hd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.v.length-1&&(b=d.v[++d.A])):40==a.keyCode&&(0<d.A?b=d.v[--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.I[b]=c,db(c,function(){if(d.aa){var a=d.aa.value;
|
|
|
|
|
d.aa.value="";hd(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,db(c,function(a){var b=!1;Mb(d,!0)||(Nb(d,!0),b=zc(d,a?1:0,null),Nb(d,!1));return b}),!0}return!1};function gd(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.ya=function(a,b){var c=-1,d=X(a);-1!==d&&(c=Fc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};l.gb=function(a,b,c){var d=X(a);-1!==d&&(Ec(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),N(this.G,-1))};
|
|
|
|
|
function Y(a,b,c){var d,e;c||(c=W());var f=c.B;if(void 0!==b){b=Ne(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].T[f];if(null!=m){h=m.o;break}}null!=h&&(g=W(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Me(a,b,void 0)}null!=f&&We(c,f,d,e);return c}function $e(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.lb=Ke(a,b.Ra=c[2]))}
|
|
|
|
|
function af(a){return wa(a/Sb,6)+" "+wa(a%Sb,6)}function Ve(a,b){a.D=a;a.X=a.nb=536870916;a.S=null;a.O=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in K){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|=K[c],a.j(c+" messages enabled"))}}function Ze(a,b){for(var c in K)if(16==K[c]){a.qa[c]=b;break}}l.ab=function(a){return bf.indexOf(a.toUpperCase())};
|
|
|
|
|
l.bb=function(a){var b,c=this.u;switch(a){case cf:b=c.A;break;case df:b=c.J;break;case ef:b=c.f;break;case ff:b=c.v&65536?1:0;break;case gf:b=c.v&32768?1:0;break;case hf:b=c.v&131072?1:0;break;case jf:b=c.v&32?1:0;break;case kf:b=c.v&262144?1:0}return b};
|
|
|
|
|
l.message=function(a,b){b&&(a+=" @"+O(this,W(this.u.sa).B));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.u&&(c=this.u.w.K)||Mb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.j(a);this.u&&(a=this.u,pd(a),a.ea=0,a.G&&N(a.G,void 0))}};
|
|
|
|
|
function Ue(a){var b;if(!Qd(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(lf);for(b=0;b<a.f.length;b++)a.f[b]=W();a.R=0;a.j("instruction history buffer allocated")}}function mf(a,b,c){if(!nf(a,c))return!1;rc(a.u,b);return!0}
|
|
|
|
|
function zc(a,b,c,d){if(!nf(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.C=0;b||Qd(a)&&Rd(a,a.u.A,0);try{b=nd(a.u,b);var f=a.u.Ja(b);0<f&&(Ac(a.u,f),a.C+=f,Bc(a.u,f,!0),Cc(a.u,f),a.ia++)}catch(g){"number"!=typeof g&&(a.C=0,Jb(a.u,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),N(a.G,-1));fd(a,c||!1,e);return 0<a.C}l.V=function(a){this.u&&this.u.V(a)};function fd(a,b,c){b=void 0===b?!0:b;a.wa&&(c&&a.j(of+c),We(a.L,a.u.A),b&&1!=a.N?pf(a):qf(a))}
|
|
|
|
|
function nf(a,b){var c;(c=!a.u||!Lb(a.u))||(c=a.u,c.w.U?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.u.w.K?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Kb(a.u)}l.pa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ga=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ue(this);this.ia=0;this.S=null;this.C=0;We(this.L,this.u.A);this.w.K=!1;Yf(this);a||fd(this)};
|
|
|
|
|
l.save=function(){var a=new M(this);a.set(0,Xe(this.L));a.set(1,Xe(this.ja));a.set(2,Xe(this.ba));a.set(3,[this.v,this.P,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=Ye(this,a[b++]),this.ja=Ye(this,a[b++]),this.ba=Ye(this,a[b++]),this.v=a[b][0],"string"==typeof this.v&&(this.v=[this.v]),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.K=!0;this.za=a;this.Aa=b};
|
|
|
|
|
l.stop=function(a,b){if(this.w.K){this.w.K=!1;this.C=b-this.Aa;if(!this.N){b="stopped";if(this.C){a-=this.za;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";Qd(this)&&(b+=this.ia+" instructions, ",this.ia=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Ob(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}fd(this,!0);gd(this);Yf(this,this.u.A);this.S=null}};function Qd(a){return 1<a.b.length||!!a.ka}
|
|
|
|
|
function Rd(a,b,c){var d=-1;c||(d=a.u.g(b),2756==d>>23&&a.u.sa==b&&(b=ud(a.u,1)));if(0<c&&(a.ka&&!--a.ka||$c(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.ia++,0>d&&(d=a.u.g(b)),0<=d&&(We(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
|
|
|
|
|
function $f(a,b,c,d){var e=W(b.B),f=a.ya(b,1),g,h,k,m=0,n=f/Yb|0,t;for(t in ag)if(g=ag[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=bg;m=n&3;break;case 32256:k=cg;m=n&7;break;case 29248:k=dg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>eg&&(k="B");k=fg[g||0]+k;k=Ia(k,8);g?(k=28700==h?k+O(a,f/Zb&127,-1):k+O(a,f>>23&15,-1),k+=",",f&4194304&&(k+="@"),k+=O(a,f&262143,-1),(f=f>>18&15)&&(k+="("+O(a,f,-1)+")")):k+=af(f);f=k;g="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),g+=" "+af(k),null==
|
|
|
|
|
e.B)break;while(e.B!=b.B)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.w.Ea?h+("cycles="+id(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=X(c);var d=a.H;Zc(d.b[c>>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b<a.J.length;b++)c=a.J[b],c=X(c),d=a.H,Zc(d.b[c>>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0}
|
|
|
|
|
l.Da=function(a,b,c){var d=!0;c||gg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.j("invalid address: "+O(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(hg(this,a,a.length-1,"set"),Ue(this)));return d};function gg(a,b,c,d,e){var f=!1;c=X(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==X(h)&&(!d||h.fa)){f=!0;h.fa||e||hg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Zc(d.b[c>>>d.f],b==a.J));h.fa||Ue(a);break}}return f}
|
|
|
|
|
function ig(a,b){for(var c=1;c<b.length;c++)hg(a,b,c);return b.length-1}function hg(a,b,c,d){c=b[c];a.j(b[0]+" "+O(a,c.B)+(d?" "+d:c.Ra?' "'+c.Ra+'"':""))}function Yf(a,b){if(void 0!==b)$c(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.fa){if(!gg(a,a.b,c,!0))break;b=0}}}
|
|
|
|
|
function $c(a,b,c,d,e){var f=!1;if(!a.ra++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.fa)for(var k=X(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.fa&&(gg(a,d,h,!0),e=!0);if(n=h.lb){for(var f=!1,t=0;t<n.length;t++)if(!jg(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.u.w.K||(f=!0)}if(f){e||hg(a,d,g,"hit");break}}}a.ra--;return f}
|
|
|
|
|
function kg(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=wa(d,2);We(e.va,d);f+="="+O(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d<bf.length;d++)(e=bf[d]||"")&&(e+="="+O(a,a.bb(d),d>=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
function De(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=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,B:c,Cb:d,T:e,mb:f})}function lg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Cb;if(e>=g&&e<g+h){e=Ka(f.mb,[e-g],a.ob);0<=e?mg(a,b,e,d):c&&(e=~e,mg(a,b,e-1,d),mg(a,b,e,d));break}}return d}
|
|
|
|
|
function mg(a,b,c,d){var e={},f=a.F[b].mb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function ng(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Re(a)||a.j("no variables"),!0;if(!c[2])return Re(a,c[1]);if(!c[3])return delete a.W[c[1]],!0;b=Me(a,c[3]);return void 0!==b?(a.W[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
|
|
|
|
function og(a,b,c){var d=null;if(b=Y(a,b)){var e=lg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
|
|
|
|
function pf(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.u,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=Me(a,b);if(void 0===g)return;b=a.ab(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.u;switch(b){case cf:h.A=
|
|
|
|
|
g%Sb;We(a.L,h.A);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.v=g?h.v|f:h.v&~f);N(a.G);a.j("updated registers:")}}a.j(kg(a,e));c&&(We(a.L,d.A),qf(a,O(a,a.L.B)))}}function pg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Qe(a,null,c[2].charCodeAt(0)):Me(a,b,!0)}
|
|
|
|
|
function qg(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=Oe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ta=b;cb(c,function(){return Nb(a,!0)&&zc(a,e,d,!1)},function(){a.ea&&a.ea.stop();N(a.G,-1);Nb(a,!1)})}}
|
|
|
|
|
function qf(a,b,c,d){if(b=Y(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Oe(a,c.substr(1)),null!=c&&(d=c);else{d=Y(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Mb(a,!1)||a.N?a.C:null,g=null!=f?"cycles":null,h=lg(a,b),k=b.B;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.B=m.B;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j($f(a,b,g,f));e-=b.B-k;c++}}}
|
|
|
|
|
function jg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.P&&(a.j("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0<b.length){a.P&&(b="a "+O(a,a.ba.B)+" "+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=Y(a,
|
|
|
|
|
g[1],a.ba);if(t){var D=g[2];if(void 0==D)a.j("begin assemble at "+O(a,t.B)),a.P=!0,N(a.G);else{g.shift();g.shift();g.shift();var ca,rf=g.join(""),C=-1,sc,Sg=D.toUpperCase(),vd;for(vd in ag){var Ra;sc=+vd;var sf=ag[vd];switch(sc){case 32512:Ra=bg;break;case 32256:Ra=cg;break;case 29248:Ra=dg;break;default:Ra=[""]}var tf,wd;for(wd in sf){for(var uf=sf[wd],Sa=0;Sa<Ra.length;Sa++){var xd=Ra[Sa];"S"==xd&&uf>eg&&(xd="B");if(Sg==fg[uf]+xd){tf=29248!=sc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(wd|tf<<6)*Yb;break}}if(0<=
|
|
|
|
|
C)break}if(0<=C)break}if(0<=C)if(rf)for(var yd=rf.split(","),pb=0;pb<yd.length;pb++){var tc=yd[pb].trim();if(tc){if(1<pb){a.j("too many operands: "+tc);C=-1;break}var da=tc.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!da){a.j("unknown operand: "+tc);C=-1;break}var L=Me(a,da[2]);if(void 0==L){C=-1;break}if(!pb&&1<yd.length)if(28700==sc){if(0>L||127<L){a.j("device code out of range: "+da[2]);C=-1;break}C+=L*Zb}else{if(0>L||15<L){a.j("accumulator address out of range: "+da[2]);C=-1;break}C+=L<<23}else{if(0>
|
|
|
|
|
L||262143<L){a.j("memory address out of range: "+da[2]);C=-1;break}C+=L;if(da[3]){L=Me(a,da[3]);if(void 0==L){C=-1;break}if(0>L||15<L){a.j("memory index out of range: "+da[3]);C=-1;break}C+=L<<18}da[1]&&(C+=4194304)}}}else a.j("missing operand(s)"),C=-1;else a.j("unknown instruction: "+D);ca=C;0<=ca&&(a.gb(t,ca),a.j($f(a,t)))}}break;case "b":a:{var Tg=g[0],Ta=g[1],Ug=b;if("?"==Ta)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 Ba=Tg.charAt(1);if("l"==Ba){var zd;zd=0+ig(a,a.b);zd+=ig(a,a.M);(zd+=ig(a,a.J))||a.j("no breakpoints")}else if("n"==Ba){var vf=+Ta||0;Ta&&(a.ka=vf);a.j("break after "+vf+" instruction(s)")}else if(void 0===Ta)a.j("missing breakpoint address");else{var R=W();if("*"!=Ta&&(R=Y(a,Ta,a.L),!R))break a;"c"==Ba?null==R.B?(Te(a),a.j("all breakpoints cleared")):gg(a,a.b,
|
|
|
|
|
R)||gg(a,a.M,R)||gg(a,a.J,R)||a.j("breakpoint missing: "+O(a,R.B)):null!=R.B&&($e(a,R,Ug),"p"==Ba?a.Da(a.b,R):"r"==Ba?a.Da(a.M,R):"w"==Ba?a.Da(a.J,R):a.j("unknown breakpoint command: "+Ba))}}}break;case "c":a.oa&&(a.oa.value="");break;case "d":a:{var Ua,Va=g[0],ea=g[1],ra=g[2],Vg=g[3];if("?"==ea){var Wa="";for(Ua in K)a.qa[Ua]&&(Wa&&(Wa+=","),Wa+=Ua);Wa+=",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");Wa.length&&a.j("dump extension commands:\n\t"+Wa)}else if("state"==ea){var Ad=rg(a.G,!0);"console"==ra?console.log(Ad):(a.oa&&(a.oa.value=""),Ad&&a.j(Ad))}else if("symbols"==ea)for(var Bd=0;Bd<a.F.length;Bd++){var Cd=a.F[Bd],Xa;for(Xa in Cd.T)if("."!=Xa.charAt(0)){var wf=Cd.T[Xa].o;if(void 0!==wf){var xf=Cd.T[Xa].l;xf&&(Xa=xf);a.j(O(a,wf)+" "+Xa)}}}else{if("d"==Va){for(Ua in K)if(g[1]==Ua){var yf=a.qa[Ua];yf?(g.shift(),g.shift(),yf(g)):
|
|
|
|
|
a.j("no dump registered for "+ea);break a}ea||(Va=a.Ba||"dw")}else a.Ba=Va;if("dh"==Va){var zf=ea,Af=ra,Bf="",Cf=0,Z=a.R,fa=a.f;if(fa.length){var V=+zf||a.sa,rb=+Af||10;isNaN(V)?V=rb:Bf="more ";V>fa.length&&(a.j("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var Dd=[];"call"==Af&&(rb=1E5,Dd=["CALL"]);for(void 0!==zf&&a.j(V+" instructions earlier:");0<rb&&Z!=a.R;){var Df=fa[Z++];if(null==Df.B)break;var sb=W(Df.B),Wg=V--,Ef=$f(a,sb,"history",
|
|
|
|
|
Wg);(!Dd.length||0<=Ef.indexOf(Dd[0]))&&a.j(Ef);sb.Za&&(Z+=sb.Za,rb-=sb.Za,V-=sb.Za);Z>=fa.length&&(Z=0);a.sa=V;Cf++;rb--}}Cf||(a.j("no "+Bf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,Ff="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Vg,Ca=Oe(a,ra);else{var Gf=Y(a,ra);Gf&&(Ca=Gf.B-Ya.B)}0>Ca&&(Ca=0);65536<Ca&&(Ca=65536)}var Xg=a.ca;Ya.ca&&(a.ca=Ya.ca);for(var Hf="db"==Va?1:2,Ed=Ca||32,Fd=1==Hf?2:4,Yg=(Ed+Fd-1)/Fd|0||1,Da="";Yg--&&0<Ed;){for(var Ea="",If="",ea=
|
|
|
|
|
O(a,Ya.B),Jf=Fd;0<Jf--&&0<Ed--;){var uc=a.ya(Ya,1);Ff?(Ea&&(Ea+=","),Ea+=uc):(Ea+=af(uc),Ea+=" ");for(var Kf=0;1==Hf&&6>Kf;Kf++)If+=String.fromCharCode((uc%64|0)+32),uc/=64}Da&&(Da+="\n");Da=Ff?Da+(Ea+","):Da+(ea+": "+Ea+(0>Jf?" "+If:""))}Da&&a.j(Da);a.ca=Xg}}}}break;case "e":if("else"==g[0])break;var Lf,Mf,Nf=g[0],Gd=g[1];"e"==Nf||"ew"==Nf?(Lf=a.ya,Mf=a.gb):Gd=null;if(null==Gd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var vc=Y(a,Gd,a.ja);if(vc)for(var wc=2;wc<
|
|
|
|
|
g.length;wc++){var Hd=Me(a,g[wc]);if(void 0===Hd){a.j("unknown value: "+g[wc]);break}a.j("changing "+O(a,vc.B)+" from "+af(Lf.call(a,vc))+" to "+af(Hd));Mf.call(a,vc,Hd,1)}}break;case "g":a:{var Of=g[1],Zg=b;if(void 0!==Of){var Id=Y(a,Of);if(!Id)break a;$e(a,Id,Zg);a.Da(a.b,Id,!0)}mf(a,!0,c)}break;case "h":a.w.K?(c||a.j("halting"),a.V()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Jd;var tb=b.substr(2),tb=Ja(tb);Me(a,tb)?(c||a.j("true: "+tb),Jd=!0):(c||a.j("false: "+tb),Jd=
|
|
|
|
|
!1);Jd||(d=!1);break}f=!0;break;case "k":var $g=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Kd=0,Ld=W(),ub=W();for(a.j("stack trace for "+O(a,ub.B));10>Kd;){for(var Fa=null,ah=256;65536>ub.B>>>0;){Ld.B=a.ya(ub,2);if(null==ub.B||!ah--)break;if(!(Ld.B&1)){for(var bh=a,xc=Ld,Pf=null,vb=xc.B,Qf=vb,Md=1;6>=Md&&vb;Md++){if(2<Md){xc.B=vb;var yc=$f(bh,xc);if(0<=yc.indexOf("JSR")){var Rf=yc.indexOf(" ");if(vb+(yc.indexOf(" ",
|
|
|
|
|
Rf+1)-Rf-1)/2==Qf){Pf=yc;break}}}vb-=2}xc.B=Qf;if(Fa=Pf)break}}if(!Fa||null==Fa)break;var Sf=null;if("ks"==$g){var Tf=Fa.match(/[0-9A-F]+$/);Tf&&(Sf=og(a,Tf[0]))}Fa=Ia(Fa,50)+" ;"+(Sf||"stack="+O(a,ub.B));a.j(Fa);Kd++}Kd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){og(a,g[1],!0);break}f=!0;break;case "m":a:{var ga,ha=null,E=g[1];"?"==E&&(E=void 0);if(void 0!==E){var sa=0;if("all"==E)sa=1879046143,E=null;else if("on"==E)ha=!0,E=null;else if("off"==E)ha=!1,E=null;else{"keys"==E&&
|
|
|
|
|
(E="key");"kbd"==E&&(E="keyboard");for(ga in K)if(E==ga){sa=K[ga];ha=!!(a.X&sa);break}if(!sa){a.j("unknown message category: "+E);break a}}if(sa)if("on"==g[2])a.X|=sa,ha=!0;else if("off"==g[2]&&(a.X&=~sa,ha=!1,1073741824==sa)){for(var Uf=1E3<=a.O.length?a.O.length-1E3:0;Uf<a.O.length;)a.j(a.O[Uf++]);a.O=[]}}var ch=0,wb="";for(ga in K)if(!E||E==ga){var dh=!!(a.X&K[ga]);if(null===ha||ha==dh)wb&&(wb+=","),++ch%10||(wb+="\n\t"),"key"==ga&&(ga="keys"),wb+=ga}void 0===E&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
|
|
|
|
a.j((null!==ha?ha?"messages on: ":"messages off: ":"message categories:\n\t")+(wb||"none"));Ue(a)}break;case "p":if("print"==g[0]){pg(a,b.substr(5));break}var Vf=g[0],Wf="p"==Vf?0:"pr"==Vf?1:-1;if("?"==g[1]||0>Wf)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 Xf=W(a.u.A);a.ya(Xf);a.N?(a.Da(a.b,Xf,!0),mf(a)||(a.G&&md(a.G),a.N=0)):qg(a,Wf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();
|
|
|
|
|
break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var xb=+g[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.j("invalid base: "+xb);break}}a.j("default base: "+a.ca);break;case "cs":var yb;void 0!==g[3]&&(yb=+g[3]);switch(g[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.j("unknown cs option");break a}void 0!==yb&&ed(a.u);a.j("checksums "+(a.u.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(jd(a.u,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));
|
|
|
|
|
a.j("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"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":qg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ng(a,
|
|
|
|
|
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){pg(a,b.substr(1));break}var Nd="commands:",Od;for(Od in sg)Nd+="\n"+Ia(Od,9)+sg[Od];Qd(a)||(Nd+="\nnote: history disabled if no exec breakpoints");a.j(Nd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Zf){a.j("debugger error: "+(Zf.stack||Zf.message)),d=!1}return d}
|
|
|
|
|
function hd(a,b,c){b=Ke(a,b,c);for(var d in b)if(!jg(a,b[+d]))return!1;return!0}
|
|
|
|
|
var sg={"?":"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"},eg=20,fg=".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".split(" "),
|
|
|
|
|
cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),tg={},ag=(tg[28672]={0:101},tg[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:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},tg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:eg,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},tg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},tg[29248]={24576:79,24640:80,25088:81,25152:82},tg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
|
|
|
|
28692:98,28696:99,28700:100},tg),bg=["","I","M","S"],cg=" L E LE A GE N G".split(" "),dg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lf=1E3,of=">> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Se(d);Db(d,c)}});
|
|
|
|
|
function ug(a,b,c){u.call(this,"Computer",a,33554432);this.w.U=!1;this.R=null;vg(this,b);this.O=cd(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.L=this.W=!1;this.J=this.C=null;this.S=this.P=!1;this.ba=cd(this,"url")||"";(Math.random()+.1).toString(36);this.f=wg(this);if(this.u=Cb("CPU",this.id)){this.D=Cb("Debugger",this.id);this.H=new Gc({id:this.La+".bus",busWidth:this.aa},this.u,this.D);var d,e=Ab(this.id);if((this.v=Cb("Panel",this.id))&&this.v.oa)for(b=
|
|
|
|
|
0;b<e.length;b++)d=e[b],d.da=this.v.da,d.j=this.v.j,d.oa=this.v.oa;this.j(Qb+" 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.xa&&d.xa(this,this.H,this.u,this.D);b=null;d=cd(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=cd(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.L=!0,this.b=xg),this.b&&(this.J=new M(this,"1.34.2"),yg(this.J)?b=null:
|
|
|
|
|
delete this.J);!b&&this.b&&(b=zg(this))&&(this.L=!0);if(b){var g=this;Ma(b,null,!0,function(a,b,c){c?(g.F=null,g.L=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ja(b):"")+")")):(g.M=b,g.W=!0);z(g)})}else z(this);this.I.power||(this.O=!0);!c&&this.O&&Ag(this,this.Ga)}else r("Unable to find CPU component")}p(ug,u);function vg(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 cd(a,b,c,d){var e=b.toLowerCase(),e=ab(b)||ab(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 Ag(a,b,c){for(var d=Ab(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Lb(f)){Lb(f,function(){Ag(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function Bg(a,b){var c=new M(a,"1.34.2",Cg);if(yg(c)&&Dg(c)){var d=c.get(Eg),e=b?b.get(Eg):"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=ug.prototype;
|
|
|
|
|
l.Ga=function(a){void 0===a&&(a=this.b||(this.M?Fg:xg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.J||new M(this,"1.34.2");if(a==Gg)b=!0;else if(a>xg){if(yg(d,this.M)){this.C=new M(this,"1.34.2",Hg);yg(this.C)&&(Ig(this,d),a=Jg,Kg(this.C));this.C.set(Eg,La());Lg(this.C);var e=this.b&&!this.L;if(a==Fg||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Dg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?yg(d,g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.da("Error: "+g),"unable to verify user"==g&&(Za(Mg,""),this.f=null)):this.j(f+": "+g),Kg(d),yg(d)?(c=Dg(d),e=!0):c=!1))}e&&Bg(this,c?d:null)}else a==Jg&&d.clear()}else Bg(this);delete this.M;delete this.J}e=Ab(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.u&&(c=Ng(this,g,d,b,c));b=[d,a,c];a!=Gg?Ag(this,this.pb,b):this.pb(b)}};
|
|
|
|
|
function Ng(a,b,c,d,e){if(!b.w.U){b.w.U=!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.pa(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=xg,window&&window.location.reload()):a.P=!0,b.pa(null),e=!1),!d&&b.ib){var g=b.ib.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.pb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ng(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Ig(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0};
|
|
|
|
|
function Ig(a,b){if(zb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function rg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Cg),h=La();g.set(Eg,h);f.set(Eg,h);f.set(Og,"1.34.2");f.set(Pg,window?window.location.href:null);f.set(Qg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.w.Z=a.u.w.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&f.set(a.u.id,d),c&&(a.u.w.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k<h.length;k++){var m=h[k];m.w.U&&(m.ga&&(d=m.ga(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.w.U=
|
|
|
|
|
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&Rg(a,a.f,f.toString()),Lg(g)&&Lg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==eh),d&&f.clear(h)):e=f.toString());c&&(a.w.U=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return e}
|
|
|
|
|
l.reset=function(){this.w.reset=!0;this.H&&this.H.reset&&(Pb(this,"Resetting "+this.H.type),this.H.reset());this.u&&this.u.reset&&(Pb(this,"Resetting "+this.u.type),this.u.reset());for(var a=Ab(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.u&&c.reset&&(Pb(this,"Resetting "+c.type),c.reset())}this.w.reset=!1;N(this,-1)};l.start=function(a,b){for(var c=Ab(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}N(this,-1)};
|
|
|
|
|
l.stop=function(a,b){for(var c=Ab(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}N(this,-1)};
|
|
|
|
|
function N(a,b){if(a.u){var c=a.u,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.v&&(a=a.v,b=b||0,a.M)){c=a.u.w.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0<b&&c&&!d&&(a.f=a.u.qa);jc(a,a.f);dc(a,a.A)}}
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.w.U?rg(d,!1,!0):Ag(d,d.Ga))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.w.U&&!d.A)if(d.b&&!d.F){var a=zb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");rg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ga(xg)}else d.reset(),d.u&&!d.D&&d.u.Z()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.I[b]=
|
|
|
|
|
c,c.onclick=function(){var a=wg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=rg(d,b);b?Rg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function wg(a,b){var c=a.f;c||((c=Qa(Mg),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=fh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
|
|
|
|
function fh(a,b){a.f=null;b=Ma(Aa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Za(Mg,b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function zg(a){var b=null;a.f&&(b=Aa()+"/api/v1/user?req=load&user="+a.f+"&state="+gh(a,"1.34.2"));return b}
|
|
|
|
|
function Rg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=gh(a,"1.34.2");d.data=c;b=Ma(Aa()+"/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),Za(Mg,""),a.f=null)}}
|
|
|
|
|
function md(a,b){if(a.oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.oa.focus();!b&&window&&window.scrollTo(c,d)}}var Hg="failsafe",Cg="validate",Eg="timestamp",Og="version",Pg="url",Qg="browser",Mg="user",Gg=-1,xg=0,Fg=1,Jg=2,eh=3;fb(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 ug(g,d,!0);Db(g,f);g.O&&Ag(g,g.Ga)}});
|
|
|
|
|
gb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Cb("Computer",c.id))&&c.S&&!c.w.U&&c.Ga(Gg)}});gb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Cb("Computer",c.id))&&c.w.U&&rg(c,!(!c.b||c.F),!0)}});function M(a,b,c){this.id=a.id;this.f="";this.b={};this.u=this.D=!1;this.key=gh(a,b,c);Kg(this,a.yb)}l=M.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 yg(a,b){return b?(a.f=b,a.u=!0,a.D=!1,!0):a.u?!0:Oa()&&(b=Qa(a.key))?(a.f=b,a.u=!0):!1}function Dg(a){var b=!0;if(!a.D)try{a.b=JSON.parse(a.f),a.D=!0}catch(c){r(c.message||c),b=!1}return b}function Lg(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Za(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 Kg(a,b){a.f="";a.b={};a.u=a.D=!1;b&&a.set("parms",b)}l.clear=function(a){Kg(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 gh(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 hh=0;
|
|
|
|
|
function ih(a,b,c,d,e,f,g){f("Loading "+a+"...");Ma(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):jh(k,a,b,c,d,e,f,g)})}
|
|
|
|
|
function jh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(nb(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?kh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function kh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(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);kh(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function lh(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=Ga(a))}function g(a){f("Error: "+a);m&&(--hh||jb(!0));m=!1}var h,k,m=!0;hh++;ob[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?ih(d,null,a,null,!1,f,function(a,e){e?(nb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--hh||jb(!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),--hh||
|
|
|
|
|
jb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ih(c,b,a,e,!0,f,n):jh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(ca){g(ca.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return lh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return lh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Cb(b,a+".machine")};
|
|
|
|
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,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;Eb(a)||(c=!1)}return c};window.enableEvents=jb;window.sendEvent=lb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
|
|
|
|
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=Ja(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?P(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.ab(b),0<=e?e=a.bb(e):(e=a.W[b],null==e&&(e=sa(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+". "+wa(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.W[b]);var c=0;for(b in a.W)Ue(a,b,a.W[b]),c++;return 0<c}function P(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:b=wa(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=va(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=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ye(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return jd(b,a)}):void 0===global[x]&&(global[x]=function(a){return jd(b,
|
|
|
|
|
a)})}p(We,Ne);function Y(a){a=a&&a.C;null==a&&(a=-1);return a}function W(a,b,c){return{C:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function $e(a,b,c,d){a.C=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function af(a){return[a.C,a.Oa,a.fa,a.ca,a.Ra]}function bf(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Oe(a,c.Ra=b[4]));return c}l=We.prototype;
|
|
|
|
|
l.xa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=ed(a,"messages"))&&Ze(this,a);cf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(df(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=Pc[c],n&&d.j(q(n.id,8)+" %"+q(e<<d.H.f,8)+" %"+q(n.C,8)+" "+q(n.Ha,
|
|
|
|
|
4,!0)+" "+q(n.size,4,!0)+" "+m),c!=Tc&&(c=-1),m=0);a+=16384;e++}}});z(this)};
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",jd(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.I[b]=c,eb(c,function(){if(d.aa){var a=d.aa.value;
|
|
|
|
|
d.aa.value="";jd(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,eb(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=tc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function id(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.ya=function(a,b){var c=-1,d=Y(a);-1!==d&&(c=Hc(this.H,d),b&&null!=a.C&&(a.C+=b||1));return c};l.gb=function(a,b,c){var d=Y(a);-1!==d&&(Gc(this.H,d,b),c&&null!=a.C&&(a.C+=c||1),O(this.G,-1))};
|
|
|
|
|
function df(a,b,c){var d,e;c||(c=W());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].T[f];if(null!=m){h=m.o;break}}null!=h&&(g=W(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&&$e(c,f,d,e);return c}function ef(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.lb=Oe(a,b.Ra=c[2]))}
|
|
|
|
|
function Z(a,b){return P(a,b.C)}function ff(a){return wa(a/Tb,6)+" "+wa(a%Tb,6)}function Ze(a,b){a.D=a;a.X=a.nb=536870916;a.S=null;a.O=[];b=Oe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in K){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|=K[c],a.j(c+" messages enabled"))}}
|
|
|
|
|
function cf(a,b){for(var c in K)if(16==K[c]){a.qa[c]=b;break}}l.ab=function(a){return gf.indexOf(a.toUpperCase())};l.bb=function(a){var b,c=this.v;switch(a){case hf:b=c.A;break;case jf:b=c.J;break;case kf:b=c.f;break;case lf:b=c.u&65536?1:0;break;case mf:b=c.u&32768?1:0;break;case nf:b=c.u&131072?1:0;break;case of:b=c.u&32?1:0;break;case pf:b=c.u&262144?1:0}return b};
|
|
|
|
|
l.message=function(a,b){b&&(a+=" @"+Z(this,W(this.v.sa)));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.K)||Nb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,rd(a),a.ea=0,a.G&&O(a.G,void 0))}};
|
|
|
|
|
function Ye(a){var b;if(!xd(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(qf);for(b=0;b<a.f.length;b++)a.f[b]=W();a.R=0;a.j("instruction history buffer allocated")}}function rf(a,b,c){if(!sf(a,c))return!1;sc(a.v,b);return!0}
|
|
|
|
|
function tc(a,b,c,d){if(!sf(a))return!1;var e="";null===c&&(e=(c=!a.ta||"tr"==a.ta)?"tr":"t");a.B=0;b||xd(a)&&yd(a,a.v.A,0);try{b=pd(a.v,b);var f=a.v.Ja(b);0<f&&(uc(a.v,f),a.B+=f,Dc(a.v,f,!0),Ec(a.v,f),a.ia++)}catch(g){"number"!=typeof g&&(a.B=0,Kb(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),O(a.G,-1));hd(a,c||!1,e);return 0<a.B}l.V=function(a){this.v&&this.v.V(a)};function hd(a,b,c){b=void 0===b?!0:b;a.wa&&(c&&a.j(tf+c),$e(a.L,a.v.A),b&&1!=a.N?uf(a):vf(a))}
|
|
|
|
|
function sf(a,b){var c;(c=!a.v||!Mb(a.v))||(c=a.v,c.w.U?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.w.K?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Lb(a.v)}l.pa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ga=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ye(this);this.ia=0;this.S=null;this.B=0;$e(this.L,this.v.A);this.w.K=!1;wf(this);a||hd(this)};
|
|
|
|
|
l.save=function(){var a=new M(this);a.set(0,af(this.L));a.set(1,af(this.ja));a.set(2,af(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.L=bf(this,a[b++]),this.ja=bf(this,a[b++]),this.ba=bf(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.K=!0;this.za=a;this.Aa=b};
|
|
|
|
|
l.stop=function(a,b){if(this.w.K){this.w.K=!1;this.B=b-this.Aa;if(!this.N){b="stopped";if(this.B){a-=this.za;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";xd(this)&&(b+=this.ia+" instructions, ",this.ia=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}hd(this,!0);id(this);wf(this,this.v.A);this.S=null}};function xd(a){return 1<a.b.length||!!a.ka}
|
|
|
|
|
function yd(a,b,c){var d=-1;c||(d=a.v.g(b),2756==d>>23&&a.v.sa==b&&(b=wd(a.v,1)));if(0<c&&(a.ka&&!--a.ka||bd(a,b,1,a.b)))return!0;0<=c&&a.f.length&&(a.ia++,0>d&&(d=a.v.g(b)),0<=d&&($e(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1}
|
|
|
|
|
function xf(a,b,c,d){var e=W(b.C),f=a.ya(b,1),g,h,k,m=0,n=f/Zb|0,t;for(t in dg)if(g=dg[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=fg;m=n&3;break;case 32256:k=gg;m=n&7;break;case 29248:k=hg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>ig&&(k="B");k=jg[g||0]+k;if(g){if(28700==h)m=f/$b&127,h=P(a,m,-1);else if(m=f>>23&15,h=P(a,m,-1),g==kg&&(g=lg[m]))k=jg[g],h="";k=Ia(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=P(a,f&262143,-1);(f=f>>18&15)&&(k+="("+P(a,f,-1)+")")}else k=Ia(k,8)+ff(f);f=k;g="";h=Z(a,
|
|
|
|
|
e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.ya(e,1),g+=" "+ff(k),null==e.C)break;while(e.C!=b.C)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+kd(a.v).toString()+" cs="+q(a.v.ua)):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=Y(c);var d=a.H;ad(d.b[c>>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b<a.J.length;b++)c=a.J[b],c=Y(c),d=a.H,ad(d.b[c>>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0}
|
|
|
|
|
l.Da=function(a,b,c){var d=!0;c||mg(this,a,b,!1,!0);if(a!=this.b){var e=Y(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.J)}}d&&(a.push(b),c?b.fa=!0:(ng(this,a,a.length-1,"set"),Ye(this)));return d};function mg(a,b,c,d,e){var f=!1;c=Y(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Y(h)&&(!d||h.fa)){f=!0;h.fa||e||ng(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,ad(d.b[c>>>d.f],b==a.J));h.fa||Ye(a);break}}return f}
|
|
|
|
|
function og(a,b){for(var c=1;c<b.length;c++)ng(a,b,c);return b.length-1}function ng(a,b,c,d){c=b[c];a.j(b[0]+" "+Z(a,c)+(d?" "+d:c.Ra?' "'+c.Ra+'"':""))}function wf(a,b){if(void 0!==b)bd(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.fa){if(!mg(a,a.b,c,!0))break;b=0}}}
|
|
|
|
|
function bd(a,b,c,d,e){var f=!1;if(!a.ra++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.fa)for(var k=Y(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,f=!0;h.fa&&(mg(a,d,h,!0),e=!0);if(n=h.lb){for(var f=!1,t=0;t<n.length;t++)if(!pg(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.K||(f=!0)}if(f){e||ng(a,d,g,"hit");break}}}a.ra--;return f}
|
|
|
|
|
function qg(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=wa(d,2);$e(e.va,d);f+="="+P(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d<gf.length;d++)(e=gf[d]||"")&&(e+="="+P(a,a.bb(d),d>=lf?1:d==jf?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=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=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,C:c,Cb:d,T:e,mb:f})}function rg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Cb;if(e>=g&&e<g+h){e=Ka(f.mb,[e-g],a.ob);0<=e?sg(a,b,e,d):c&&(e=~e,sg(a,b,e-1,d),sg(a,b,e,d));break}}return d}
|
|
|
|
|
function sg(a,b,c,d){var e={},f=a.F[b].mb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].T[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function tg(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.W[c[1]],!0;b=Qe(a,c[3]);return void 0!==b?(a.W[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
|
|
|
|
function ug(a,b,c){var d=null;if(b=df(a,b)){var e=rg(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]+" ("+P(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]+" ("+P(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
|
|
|
|
function uf(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.ab(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case hf:h.A=
|
|
|
|
|
g%Tb;$e(a.L,h.A);break;case lf:f=65536;break;case mf:f=32768;break;case nf:f=131072;break;case of:f=32;break;case pf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);O(a.G);a.j("updated registers:")}}a.j(qg(a,e));c&&($e(a.L,d.A),vf(a,Z(a,a.L)))}}function vg(a,b){b=Ja(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 wg(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;db(c,function(){return Ob(a,!0)&&tc(a,e,d,!1)},function(){a.ea&&a.ea.stop();O(a.G,-1);Ob(a,!1)})}}
|
|
|
|
|
function vf(a,b,c,d){if(b=df(a,b,a.L)){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=df(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=Nb(a,!1)||a.N?a.B:null,g=null!=f?"cycles":null,h=rg(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.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j(xf(a,b,g,f));e-=b.C-k;c++}}}
|
|
|
|
|
function pg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(tf+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(Mb(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=df(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,O(a.G);else{g.shift();g.shift();g.shift();var fa,vc=g.join(""),B=-1,wc,sb,Cd=C.toUpperCase(),Dd;for(Dd in lg)if(sb=lg[Dd],Cd==jg[sb]){Cd=jg[kg];vc=P(a,+Dd)+","+vc;break}for(var yf in dg){var Ta;wc=+yf;var zf=dg[yf];switch(wc){case 32512:Ta=fg;break;case 32256:Ta=gg;break;case 29248:Ta=hg;break;default:Ta=[""]}var Af,Ed;for(Ed in zf){sb=zf[Ed];for(var Ua=0;Ua<Ta.length;Ua++){var Fd=Ta[Ua];"S"==Fd&&sb>ig&&(Fd="B");if(Cd==
|
|
|
|
|
jg[sb]+Fd){Af=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Ed|Af<<6)*Zb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Gd=vc.split(","),Va=0;Va<Gd.length;Va++){var N=Gd[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<Gd.length)if(28700==wc){if(0>L||127<L){a.j("device code out of range: "+
|
|
|
|
|
N);B=-1;break}B+=L*$b}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.gb(t,fa),a.j(xf(a,t)))}}break;case "b":a:{var Yg=g[0],Wa=g[1],Zg=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=Yg.charAt(1);if("l"==Ca){var Hd;Hd=0+og(a,a.b);Hd+=og(a,a.M);(Hd+=og(a,a.J))||a.j("no breakpoints")}else if("n"==Ca){var Bf=+Wa||0;Wa&&(a.ka=Bf);a.j("break after "+Bf+" instruction(s)")}else if(void 0===Wa)a.j("missing breakpoint address");else{var T=W();
|
|
|
|
|
if("*"!=Wa&&(T=df(a,Wa,a.L),!T))break a;"c"==Ca?null==T.C?(Xe(a),a.j("all breakpoints cleared")):mg(a,a.b,T)||mg(a,a.M,T)||mg(a,a.J,T)||a.j("breakpoint missing: "+Z(a,T)):null!=T.C&&(ef(a,T,Zg),"p"==Ca?a.Da(a.b,T):"r"==Ca?a.Da(a.M,T):"w"==Ca?a.Da(a.J,T):a.j("unknown breakpoint command: "+Ca))}}}break;case "c":a.oa&&(a.oa.value="");break;case "d":a:{var Xa,Ya=g[0],ga=g[1],ta=g[2],$g=g[3];if("?"==ga){var Za="";for(Xa in K)a.qa[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 Id=xg(a.G,!0);"console"==ta?console.log(Id):(a.oa&&(a.oa.value=""),Id&&a.j(Id))}else if("symbols"==ga)for(var Jd=0;Jd<a.F.length;Jd++){var Kd=a.F[Jd],$a;for($a in Kd.T)if("."!=$a.charAt(0)){var Cf=Kd.T[$a].o;if(void 0!==Cf){var Df=Kd.T[$a].l;Df&&($a=Df);
|
|
|
|
|
a.j(P(a,Cf)+" "+$a)}}}else{if("d"==Ya){for(Xa in K)if(g[1]==Xa){var Ef=a.qa[Xa];Ef?(g.shift(),g.shift(),Ef(g)):a.j("no dump registered for "+ga);break a}ga||(Ya=a.Ba||"dw")}else a.Ba=Ya;if("dh"==Ya){var Ff=ga,Gf=ta,Hf="",If=0,ba=a.R,ha=a.f;if(ha.length){var X=+Ff||a.sa,ub=+Gf||10;isNaN(X)?X=ub:Hf="more ";X>ha.length&&(a.j("note: only "+ha.length+" available"),X=ha.length);ba-=X;0>ba&&(null==ha[ha.length-1].C?(X=ba+X,ba=0):ba+=ha.length);var Ld=[];"call"==Gf&&(ub=1E5,Ld=["CALL"]);for(void 0!==Ff&&
|
|
|
|
|
a.j(X+" instructions earlier:");0<ub&&ba!=a.R;){var Jf=ha[ba++];if(null==Jf.C)break;var vb=W(Jf.C),ah=X--,Kf=xf(a,vb,"history",ah);(!Ld.length||0<=Kf.indexOf(Ld[0]))&&a.j(Kf);vb.Za&&(ba+=vb.Za,ub-=vb.Za,X-=vb.Za);ba>=ha.length&&(ba=0);a.sa=X;If++;ub--}}If||(a.j("no "+Hf+"history available"),a.sa=void 0)}else{var ab=df(a,ga,a.ja);if(ab){var Da=0,Lf="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||$g,Da=Se(a,ta);else{var Mf=df(a,ta);Mf&&(Da=Mf.C-ab.C)}0>Da&&(Da=0);65536<Da&&(Da=65536)}var bh=a.ca;
|
|
|
|
|
ab.ca&&(a.ca=ab.ca);for(var Nf="db"==Ya?1:2,Md=Da||32,Nd=1==Nf?2:4,ch=(Md+Nd-1)/Nd|0||1,Ea="";ch--&&0<Md;){for(var Fa="",Of="",ga=Z(a,ab),Pf=Nd;0<Pf--&&0<Md--;){var yc=a.ya(ab,1);Lf?(Fa&&(Fa+=","),Fa+=yc):(Fa+=ff(yc),Fa+=" ");for(var Qf=0;1==Nf&&6>Qf;Qf++)Of+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Lf?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Pf?" "+Of:""))}Ea&&a.j(Ea);a.ca=bh}}}}break;case "e":if("else"==g[0])break;var Rf,Sf,Tf=g[0],Od=g[1];"e"==Tf||"ew"==Tf?(Rf=a.ya,Sf=a.gb):Od=null;if(null==
|
|
|
|
|
Od)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=df(a,Od,a.ja);if(zc)for(var Ac=2;Ac<g.length;Ac++){var Pd=Qe(a,g[Ac]);if(void 0===Pd){a.j("unknown value: "+g[Ac]);break}a.j("changing "+Z(a,zc)+" from "+ff(Rf.call(a,zc))+" to "+ff(Pd));Sf.call(a,zc,Pd,1)}}break;case "g":a:{var Uf=g[1],dh=b;if(void 0!==Uf){var Qd=df(a,Uf);if(!Qd)break a;ef(a,Qd,dh);a.Da(a.b,Qd,!0)}rf(a,!0,c)}break;case "h":a.w.K?(c||a.j("halting"),a.V()):Nb(a,!0)||c||a.j("already halted");
|
|
|
|
|
break;case "i":if("if"==g[0]){var Rd;var wb=b.substr(2),wb=Ja(wb);Qe(a,wb)?(c||a.j("true: "+wb),Rd=!0):(c||a.j("false: "+wb),Rd=!1);Rd||(d=!1);break}f=!0;break;case "k":var eh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Sd=0,Td=W(),xb=W();for(a.j("stack trace for "+Z(a,xb));10>Sd;){for(var Ga=null,fh=256;65536>xb.C>>>0;){Td.C=a.ya(xb,2);if(null==xb.C||!fh--)break;if(!(Td.C&1)){for(var gh=a,Bc=Td,Vf=null,yb=Bc.C,Wf=yb,
|
|
|
|
|
Ud=1;6>=Ud&&yb;Ud++){if(2<Ud){Bc.C=yb;var Cc=xf(gh,Bc);if(0<=Cc.indexOf("JSR")){var Xf=Cc.indexOf(" ");if(yb+(Cc.indexOf(" ",Xf+1)-Xf-1)/2==Wf){Vf=Cc;break}}}yb-=2}Bc.C=Wf;if(Ga=Vf)break}}if(!Ga||null==Ga)break;var Yf=null;if("ks"==eh){var Zf=Ga.match(/[0-9A-F]+$/);Zf&&(Yf=ug(a,Zf[0]))}Ga=Ia(Ga,50)+" ;"+(Yf||"stack="+Z(a,xb));a.j(Ga);Sd++}Sd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){ug(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 K)if(D==ia){ua=K[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 $f=1E3<=a.O.length?a.O.length-1E3:0;$f<a.O.length;)a.j(a.O[$f++]);a.O=[]}}var hh=0,zb="";for(ia in K)if(!D||D==ia){var ih=!!(a.X&K[ia]);if(null===
|
|
|
|
|
ja||ja==ih)zb&&(zb+=","),++hh%10||(zb+="\n\t"),"key"==ia&&(ia="keys"),zb+=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")+(zb||"none"));Ye(a)}break;case "p":if("print"==g[0]){vg(a,b.substr(5));break}var ag=g[0],bg="p"==ag?0:"pr"==ag?1:-1;if("?"==g[1]||0>bg)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 cg=W(a.v.A);a.ya(cg);a.N?(a.Da(a.b,cg,!0),rf(a)||(a.G&&od(a.G),a.N=0)):wg(a,bg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}uf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ab=+g[2];if(8==Ab||10==Ab||16==Ab)a.ca=Ab;else{a.j("invalid base: "+Ab);break}}a.j("default base: "+a.ca);break;case "cs":var Bb;void 0!==g[3]&&(Bb=+g[3]);switch(g[2]){case "int":a.v.ia=Bb;break;case "start":a.v.va=Bb;break;case "stop":a.v.ka=Bb;break;default:a.j("unknown cs option");break a}void 0!==
|
|
|
|
|
Bb&&gd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ld(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.aa.toFixed(2)+"Mhz")+" ("+a.v.ba+"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":wg(a,g[0],g[1]);break;case "u":vf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){tg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Rb||"PDP10")+" version 1.34.2 ("+a.v.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){vg(a,b.substr(1));break}var Vd="commands:",Wd;for(Wd in yg)Vd+="\n"+Ia(Wd,9)+yg[Wd];xd(a)||(Vd+="\nnote: history disabled if no exec breakpoints");a.j(Vd);break;default:f=!0}f&&(a.j("unknown command: "+
|
|
|
|
|
b),d=!1)}}catch(eg){a.j("debugger error: "+(eg.stack||eg.message)),d=!1}return d}function jd(a,b,c){b=Oe(a,b,c);for(var d in b)if(!pg(a,b[+d]))return!1;return!0}
|
|
|
|
|
var yg={"?":"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"},ig=20,kg=85,jg=".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(" "),
|
|
|
|
|
hf=0,jf=1,kf=2,lf=3,mf=4,nf=5,of=6,pf=7,gf="PC RA EA C0 C1 OV ND PD".split(" "),zg={},dg=(zg[28672]={0:101},zg[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:kg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},zg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:ig,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},zg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},zg[29248]={24576:79,24640:80,25088:81,25152:82},zg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
|
|
|
|
28692:98,28696:99,28700:100},zg),fg=["","I","M","S"],gg=" L E LE A GE N G".split(" "),hg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lg={8:102,4:103,2:104,6:105,1:106},qf=1E3,tf=">> ";gb(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);Eb(d,c)}});
|
|
|
|
|
function Ag(a,b,c){u.call(this,"Computer",a,33554432);this.w.U=!1;this.R=null;Bg(this,b);this.O=ed(this,"autoPower",a,6);this.A=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.L=this.W=!1;this.J=this.B=null;this.S=this.P=!1;this.ba=ed(this,"url")||"";(Math.random()+.1).toString(36);this.f=Cg(this);if(this.v=Db("CPU",this.id)){this.D=Db("Debugger",this.id);this.H=new Ic({id:this.La+".bus",busWidth:this.aa},this.v,this.D);var d,e=tb(this.id);if((this.u=Db("Panel",this.id))&&this.u.oa)for(b=
|
|
|
|
|
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.oa=this.u.oa;this.j(Rb+" 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.xa&&d.xa(this,this.H,this.v,this.D);b=null;d=ed(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=ed(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.L=!0,this.b=Dg),this.b&&(this.J=new M(this,"1.34.2"),Eg(this.J)?b=null:
|
|
|
|
|
delete this.J);!b&&this.b&&(b=Fg(this))&&(this.L=!0);if(b){var g=this;Ma(b,null,!0,function(a,b,c){c?(g.F=null,g.L=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ja(b):"")+")")):(g.M=b,g.W=!0);z(g)})}else z(this);this.I.power||(this.O=!0);!c&&this.O&&Gg(this,this.Ga)}else r("Unable to find CPU component")}p(Ag,u);function Bg(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 ed(a,b,c,d){var e=b.toLowerCase(),e=bb(b)||bb(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 Gg(a,b,c){for(var d=tb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Mb(f)){Mb(f,function(){Gg(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function Hg(a,b){var c=new M(a,"1.34.2",Ig);if(Eg(c)&&Jg(c)){var d=c.get(Kg),e=b?b.get(Kg):"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=Ag.prototype;
|
|
|
|
|
l.Ga=function(a){void 0===a&&(a=this.b||(this.M?Lg:Dg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.J||new M(this,"1.34.2");if(a==Mg)b=!0;else if(a>Dg){if(Eg(d,this.M)){this.B=new M(this,"1.34.2",Ng);Eg(this.B)&&(Og(this,d),a=Pg,Qg(this.B));this.B.set(Kg,La());Rg(this.B);var e=this.b&&!this.L;if(a==Lg||rb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Jg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Eg(d,g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(Sg,""),this.f=null)):this.j(f+": "+g),Qg(d),Eg(d)?(c=Jg(d),e=!0):c=!1))}e&&Hg(this,c?d:null)}else a==Pg&&d.clear()}else Hg(this);delete this.M;delete this.J}e=tb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Tg(this,g,d,b,c));b=[d,a,c];a!=Mg?Gg(this,this.pb,b):this.pb(b)}};
|
|
|
|
|
function Tg(a,b,c,d,e){if(!b.w.U){b.w.U=!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.pa(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=Dg,window&&window.location.reload()):a.P=!0,b.pa(null),e=!1),!d&&b.ib){var g=b.ib.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.pb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.v&&(Tg(this,this.v,b,c,a),O(this,-2),this.v.Z());this.P&&(Og(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0};
|
|
|
|
|
function Og(a,b){if(rb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function xg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Ig),h=La();g.set(Kg,h);f.set(Kg,h);f.set(Ug,"1.34.2");f.set(Vg,window?window.location.href:null);f.set(Wg,window?window.navigator.userAgent:"");a.v&&a.v.ga&&(c&&(b&&(a.v.w.Z=a.v.w.K),a.v.V()),d=a.v.ga(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k<h.length;k++){var m=h[k];m.w.U&&(m.ga&&(d=m.ga(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.w.U=
|
|
|
|
|
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&Xg(a,a.f,f.toString()),Rg(g)&&Rg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==jh),d&&f.clear(h)):e=f.toString());c&&(a.w.U=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return e}
|
|
|
|
|
l.reset=function(){this.w.reset=!0;this.H&&this.H.reset&&(Qb(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=tb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.w.reset=!1;O(this,-1)};l.start=function(a,b){for(var c=tb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}O(this,-1)};
|
|
|
|
|
l.stop=function(a,b){for(var c=tb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}O(this,-1)};
|
|
|
|
|
function O(a,b){if(a.v){var c=a.v,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.K;d=!!(a.v.B&8);if(0>=b||60<=(a.L+=b)){e=a.v.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.v.A:0<b&&c&&!d&&(a.f=a.v.qa);kc(a,a.f);ec(a,a.A)}}
|
|
|
|
|
l.ha=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.w.U?xg(d,!1,!0):Gg(d,d.Ga))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.w.U&&!d.A)if(d.b&&!d.F){var a=rb("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");xg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ga(Dg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.I[b]=
|
|
|
|
|
c,c.onclick=function(){var a=Cg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=xg(d,b);b?Xg(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function Cg(a,b){var c=a.f;c||((c=Qa(Sg),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=kh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
|
|
|
|
function kh(a,b){a.f=null;b=Ma(Aa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(Sg,b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function Fg(a){var b=null;a.f&&(b=Aa()+"/api/v1/user?req=load&user="+a.f+"&state="+lh(a,"1.34.2"));return b}
|
|
|
|
|
function Xg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=lh(a,"1.34.2");d.data=c;b=Ma(Aa()+"/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),Ra(Sg,""),a.f=null)}}
|
|
|
|
|
function od(a,b){if(a.oa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.oa.focus();!b&&window&&window.scrollTo(c,d)}}var Ng="failsafe",Ig="validate",Kg="timestamp",Ug="version",Vg="url",Wg="browser",Sg="user",Mg=-1,Dg=0,Lg=1,Pg=2,jh=3;gb(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 Ag(g,d,!0);Eb(g,f);g.O&&Gg(g,g.Ga)}});
|
|
|
|
|
hb.show.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Db("Computer",c.id))&&c.S&&!c.w.U&&c.Ga(Mg)}});hb.exit.push(function(){for(var a=y(document,x,"computer"),b=0;b<a.length;b++){var c=w(a[b]);(c=Db("Computer",c.id))&&c.w.U&&xg(c,!(!c.b||c.F),!0)}});function M(a,b,c){this.id=a.id;this.f="";this.b={};this.v=this.u=!1;this.key=lh(a,b,c);Qg(this,a.yb)}l=M.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 Eg(a,b){return b?(a.f=b,a.v=!0,a.u=!1,!0):a.v?!0:Oa()&&(b=Qa(a.key))?(a.f=b,a.v=!0):!1}function Jg(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 Rg(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Ra(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 Qg(a,b){a.f="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Qg(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 lh(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 mh=0;
|
|
|
|
|
function nh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ma(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):oh(k,a,b,c,d,e,f,g)})}
|
|
|
|
|
function oh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(ob(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?ph(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function ph(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(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);ph(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function qh(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=Ba(a))}function g(a){f("Error: "+a);m&&(--mh||kb(!0));m=!1}var h,k,m=!0;mh++;pb[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?nh(d,null,a,null,!1,f,function(a,e){e?(ob(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--mh||kb(!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),--mh||
|
|
|
|
|
kb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?nh(c,b,a,e,!0,f,n):oh(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){kb(!1);return qh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){kb(!1);return qh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Db(b,a+".machine")};
|
|
|
|
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Gb[a]){for(var c=!0,d=Gb,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;Fb(a)||(c=!1)}return c};window.enableEvents=kb;window.sendEvent=mb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
|
|
|
|
|