|
|
|
|
@ -28,248 +28,251 @@
|
|
|
|
|
http://pcjs.org/modules/pdp10/lib/macro10.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 ca(){ca=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++}
|
|
|
|
|
function ha(){ca();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 ia(this)}});ha=function(){}}function ia(a){var b=0;return la(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function la(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
|
|
|
|
function ma(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 na(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})}}
|
|
|
|
|
na("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}});na("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
|
|
|
|
var ta={lc:0,Db:1,nc:2,oc:3,pc:4,qc:5,rc:6,sc:7,qb:8,tc:9,Eb:10,uc:11,vc:12,Fb:13,wc:14,xc:15,yc:16,zc:17,Ac:18,Bc:19,Cc:20,Dc:21,Ec:22,Fc:23,Gc:24,Hc:25,Ic: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,pb:65,kc:66,mc:67,Jc:68,E:69,Kc:70,Lc:71,Mc:72,Nc:73,Oc:74,Pc:75,Qc:76,Rc:77,Sc:78,Tc:79,Uc:80,Q:81,Vc:82,Wc:83,Xc:84,Yc:85,Zc:86,$c:87,
|
|
|
|
|
function ha(){ca();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 ja(this)}});ha=function(){}}function ja(a){var b=0;return ka(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ka(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
|
|
|
|
function pa(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 qa(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})}}
|
|
|
|
|
qa("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}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
|
|
|
|
var ra={lc:0,Db:1,nc:2,oc:3,pc:4,qc:5,rc:6,sc:7,qb:8,tc:9,Eb:10,uc:11,vc:12,Fb:13,wc:14,xc:15,yc:16,zc:17,Ac:18,Bc:19,Cc:20,Dc:21,Ec:22,Fc:23,Gc:24,Hc:25,Ic: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,pb:65,kc:66,mc:67,Jc:68,E:69,Kc:70,Lc:71,Mc:72,Nc:73,Oc:74,Pc:75,Qc:76,Rc:77,Sc:78,Tc:79,Uc:80,Q:81,Vc:82,Wc:83,Xc:84,Yc:85,Zc:86,$c:87,
|
|
|
|
|
ad:88,bd:89,Hb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,cd:97,dd:98,ed:99,d:100,e:101,fd:102,kd:103,ld:104,md:105,nd:106,k:107,od:108,pd:109,n:110,qd:111,p:112,q:113,r:114,rd:115,t:116,td:117,ud:118,vd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Gb: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)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,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="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;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?12:a&-65536?8:6;return va(a,8,b,c?"0o":"")}function xa(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return va(a,10,b)}function n(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return va(a,16,b,c?"0x":"")}function ya(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 za(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Aa(a,b){return-1!==a.indexOf(b,a.length-b.length)}
|
|
|
|
|
function Da(a){return a.replace(/[&<>"']/g,function(a){return Ea[a]})}function Fa(a,b){return(a+" ").slice(0,b)}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ea={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ha(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 Ia(){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 Ja(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="",p;for(p in b)b.hasOwnProperty(p)&&(k&&(k+="&"),k+=p+"="+encodeURIComponent(b[p]));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 Ka(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
|
|
|
|
|
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ha=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(q(d.Y[0]),d=null):(q("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){q("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)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
|
|
|
|
|
function Pa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Qa(){if(null==Ra){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}Ra=a}return Ra}function Sa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
|
|
|
|
function Ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ua(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 Va(a){if(!Wa){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," "))}Wa=c}return Wa[a]}function Xa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
|
|
|
|
function Ya(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 Za(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function $a(a){ab.init.push(a)}
|
|
|
|
|
function bb(a){if(gb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function hb(a){!gb&&a?(gb=!0,ib&&jb("init"),kb&&jb("show")):gb=a}function jb(a){ab[a]&&bb(ab[a])}var Wa=null,ab={init:[],show:[],exit:[]},ib=!1,kb=!1,gb=!0,Ra=null;Za("onload",function(){ib=!0;bb(ab.init)});Za("onpageshow",function(){kb=!0;bb(ab.show)});Za(Ua("Opera")||Ua("iOS")?"onunload":"onbeforeunload",function(){bb(ab.exit)});
|
|
|
|
|
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ob=b.comment;this.Kb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Ma:!1,hb:!1,V:!1,error:!1};this.Xa=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.ta=null;lb.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date}
|
|
|
|
|
function q(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<lb.length;b++){var d=lb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function rb(a){if(void 0!==a){var b;for(b=0;b<lb.length;b++)if(lb[b].id===a)return lb[b]}return null}
|
|
|
|
|
function sb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<lb.length;d++)if(c)c==lb[d]&&(c=null);else if(!(a!=lb[d].type||b&&lb[d].id.indexOf(b)))return lb[d]}return null}function u(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
|
|
|
|
function tb(a,b){var c=v;b=w(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(" "),p=0;p<k.length;p++)switch(h=k[p],h){case c+"-binding":(h=u(g))&&h.binding&&a.ja(h.type,h.binding,g,h.value),p=k.length}}}}
|
|
|
|
|
function w(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 ub(a){for(var b=!0,c=vb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=wb.indexOf(e)&&(f=function(){return function(){ub(a)}}());var g=xb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=sb(d[1],a);if(h)if(g=Hb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete vb[a];return b}l=r.prototype;
|
|
|
|
|
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)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,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 ta(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;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 n(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return ta(a,8,b,c?"0o":"")}function ua(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return ta(a,10,b)}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ta(a,16,b,c?"0x":"")}function va(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function wa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(a,b){return-1!==a.indexOf(b,a.length-b.length)}
|
|
|
|
|
function Aa(a){return a.replace(/[&<>"']/g,function(a){return Ba[a]})}function Ca(a,b){return(a+" ").slice(0,b)}function Da(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ea(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 Fa(){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 Ga(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 Ma(a,b){var c,d={Y:null,U:null,ta:null,sa: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.ta=g.load;d.sa=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.Ia=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
|
|
|
|
|
function Na(){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 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 Ta(a){if(!Ua){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," "))}Ua=c}return Ua[a]}function Va(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
|
|
|
|
function Wa(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 Xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ya(a){Za.init.push(a)}
|
|
|
|
|
function eb(a){if(fb)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 gb(a){!fb&&a?(fb=!0,hb&&ib("init"),jb&&ib("show")):fb=a}function ib(a){Za[a]&&eb(Za[a])}var Ua=null,Za={init:[],show:[],exit:[]},hb=!1,jb=!1,fb=!0,Pa=null;Xa("onload",function(){hb=!0;eb(Za.init)});Xa("onpageshow",function(){jb=!0;eb(Za.show)});Xa(Sa("Opera")||Sa("iOS")?"onunload":"onbeforeunload",function(){eb(Za.exit)});
|
|
|
|
|
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ob=b.comment;this.Kb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Na:!1,hb:!1,V:!1,error:!1};this.Xa=null;this.A.error=!1;this.X=c||0;this.D=this.v=this.G=this.H=this.ua=null;kb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date}
|
|
|
|
|
function r(a){window&&window.alert(a)}function ob(a){var b=!1;window&&(b=window.confirm(a));return b}function pb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<kb.length;b++){var d=kb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function qb(a){if(void 0!==a){var b;for(b=0;b<kb.length;b++)if(kb[b].id===a)return kb[b]}return null}
|
|
|
|
|
function rb(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<kb.length;d++)if(c)c==kb[d]&&(c=null);else if(!(a!=kb[d].type||b&&kb[d].id.indexOf(b)))return kb[d]}return null}function v(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
|
|
|
|
function sb(a,b){var c=w;b=x(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=v(g))&&h.binding&&a.la(h.type,h.binding,g,h.value),m=k.length}}}}
|
|
|
|
|
function x(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 tb(a){for(var b=!0,c=ub[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=vb.indexOf(e)&&(f=function(){return function(){tb(a)}}());var g=wb[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=rb(d[1],a);if(h)if(g=xb[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 ub[a];return b}l=u.prototype;
|
|
|
|
|
l.toString=function(){return this.name?this.name:this.id||this.type};
|
|
|
|
|
l.ja=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.ta=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Ta)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
|
|
|
|
|
l.status=function(a){this.j(this.Ta+": "+a)};l.da=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function Ib(a,b){a.A.error=!0;a.da(b)}function Jb(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Kb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function Lb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function Mb(a,b){a.A.Ma&&(b?a.A.hb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Ma}
|
|
|
|
|
function Nb(a,b){if(a.A.hb)return a.A.Ma=!1,a.A.hb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Ma=b;return a.A.Ma}l.ua=function(){return this.A.V=!0};l.ia=function(a,b){b&&(this.A.V=!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.yb)}return!1}function Pb(a,b,c,d){a.D&&(!0===c||Ob(a,c|0))&&a.D.message(b,d)}
|
|
|
|
|
l.la=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.ua=this.J[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.da=function(a){this.j(a,this.Ta)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
|
|
|
|
|
l.status=function(a){this.j(this.Ta+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function yb(a,b){a.A.error=!0;a.da(b)}function Ib(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Jb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function Kb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function Lb(a,b){a.A.Na&&(b?a.A.hb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Na}
|
|
|
|
|
function Mb(a,b){if(a.A.hb)return a.A.Na=!1,a.A.hb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Na=b;return a.A.Na}l.va=function(){return this.A.V=!0};l.ka=function(a,b){b&&(this.A.V=!1);return!0};function Nb(a,b){if(a.D){a===a.D?b|=0:b=b||a.X;var c=a.D.X&b;return!!b&&c===b||!!(c&a.D.yb)}return!1}function Ob(a,b,c,d){a.D&&(!0===c||Nb(a,c|0))&&a.D.message(b,d)}
|
|
|
|
|
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
|
|
|
|
var nb=window?window.PCjs.Machines:{},lb=window?window.PCjs.Components:[],vb=window?window.PCjs.Commands:{},wb=["hold","sleep","wait"],xb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Hb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
|
|
|
|
var mb=window?window.PCjs.Machines:{},kb=window?window.PCjs.Components:[],ub=window?window.PCjs.Commands:{},vb=["hold","sleep","wait"],wb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},xb={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 v="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),Tb=Math.pow(2,17)-1,x=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,B=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),Ub=Math.pow(2,34),Vb=Math.pow(2,36),Wb=Math.pow(2,21),Xb=Math.pow(2,26),Yb=Math.pow(2,23),Zb=Math.pow(2,30),v="pdp10",Qb="PDPjs",$b={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,
|
|
|
|
|
var w="pdp10",Pb="PDPjs",Qb=Math.pow(2,18)-1,Rb=Math.pow(2,18),Sb=Math.pow(2,17)-1,y=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,B=Math.pow(2,35),C=Math.pow(2,36)-1,E=Math.pow(2,36),F=Math.pow(2,32),Tb=Math.pow(2,34),Ub=Math.pow(2,36),Vb=Math.pow(2,21),Wb=Math.pow(2,26),Xb=Math.pow(2,23),Yb=Math.pow(2,30),w="pdp10",Pb="PDPjs",Zb={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 ac(a,b){r.call(this,"Panel",a,512);this.K=this.L=0;this.T=b;this.i=this.I=this.u=this.w=0;this.M=this.O=-1;this.P=this.R=this.F=!1;this.S=bc;this.C={};this.b={START:[1,1,!0,!1,this.Wb],STEP:[1,1,!1,!1,this.Xb],ENABLE:[1,1,!1,!1,this.Rb],CONT:[1,1,!0,!1,this.Pb],DEP:[0,0,!0,!1,this.Qb],EXAM:[1,1,!0,!1,this.Sb],LOAD:[1,1,!0,!1,this.Ub],TEST:[0,0,!0,!1,this.Tb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Vb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Nb,toggle:this.fc,reset:this.bc,
|
|
|
|
|
set:this.ec};Lb(this)}ma(ac,r);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.w=0)};
|
|
|
|
|
l.ja=function(a,b,c,d){if(this.G&&this.G.ja(a,b,c,d)||this.v&&this.v.ja(a,b,c,d)||this.D&&this.D.ja(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart=
|
|
|
|
|
function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):r.prototype.ja.call(this,a,b,c,d)}};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;fc(this);gc(this)};l.ua=function(a,b){if(!b)if(this.T&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
|
|
|
|
|
l.restore=function(a){if(a=a[0])ic(this,this.i=a[0]),cc(this,this.w=a[1]),jc(this,a[2]);return!0};l.bc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.C)kc(a,c,null!=b?b:a.C[c])}function lc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])}
|
|
|
|
|
l.Nb=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.ec=function(a,b){if("SR"==a)return jc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.fc=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1}
|
|
|
|
|
function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Wb=function(a){a||this.v.A.N||(G(this.v,this.i),this.b[pc]&&this.b[pc][1]&&qc(this.v))};l.Xb=function(){};l.Rb=function(a){a||this.v.W()};
|
|
|
|
|
l.Pb=function(a){if(!a&&!this.v.A.N)if(this.b[pc]&&this.b[pc][1])qc(this.v);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),rc(a,0,null),Nb(a,!1);else try{var b=this.v.Qa(1);0<b&&(sc(this.v,b),tc(this.v,b,!0),uc(this.v,b))}catch(c){"number"!=typeof c&&Ib(this.v,c.stack||c.message)}this.stop();this.G&&H(this.G)}};l.Qb=function(a){a&&!this.v.A.N&&(this.P&&vc(this),a=cc(this,this.w=this.u),this.S==bc?wc(this.H,this.i,a):this.v.g(this.i,a))};
|
|
|
|
|
l.Sb=function(a){if(!a&&!this.v.A.N){var b;this.R&&vc(this);this.S==bc?b=xc(this.H,this.i):b=this.v.f(this.i);cc(this,this.w=b)}};l.Ub=function(a){a||this.v.A.N||ic(this,this.u)};l.Tb=function(a){a?(this.F=!0,fc(this,!0)):(this.F=!1,fc(this),jc(this,0))};l.Vb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function vc(a){var b=1,c=a.H.u;a.b[mc]&&a.b[mc][1]||(b=-b);ic(a,a.i&~c|a.i+b&c)}
|
|
|
|
|
function ic(a,b){a.i=b&a.H.u;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||kc(d,e,f)}}}function cc(a,b){a.I=b%D;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||kc(d,e,f)}}return a.I}function jc(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;gc(a);return!0}l.stop=function(){ic(this,this.v.i)};
|
|
|
|
|
function hc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=u(c),e=rb(d.id);e||(e=new ac(d,!0));tb(e,c)}}var bc=7,nc="DEP",pc="ENABLE",oc="EXAM",mc="STEP";$a(hc);function yc(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new zc(this);Ec(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Lb(this)}ma(yc,r);l=yc.prototype;l.reset=function(){};
|
|
|
|
|
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,Fc(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)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
|
|
|
|
function Gc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,p=16384-(e-k);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Oa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Oa){p=h.size-(e-k);p>f&&(p=f);h.Oa=e-h.B+p;e=k+16384;f-=p;g++;continue}}return Hc(Ic,e,f)}e=new zc(a,e,p,16384,d);Ec(e,a.D,h);a.b[g++]=e;e=k+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+wa(b)),!0):Hc(Kc,b,c)}
|
|
|
|
|
function xc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Fc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.jb||e.Lb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var p=e[g],m=g+1;m<e.length&&e[m]===p;)m++;k[h++]=m-g;k[h++]=p;g=m}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
|
|
|
|
l.Mb=function(a){this.w||(this.D&&Ob(this.D,4)&&Pb(this.D,"memory fault on "+I(this.D,a),!0,!0),this.v.W())};function Hc(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ic=1,Kc=2;function Lc(a){r.call(this,"Device",a,256)}ma(Lc,r);l=Lc.prototype;l.Da=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Lb(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new F(this)).data()};
|
|
|
|
|
l.restore=function(){return!0};$a(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=u(d);switch(c.type){case "default":c=new Lc(c),tb(c,d)}}});function zc(a,b,c,d,e){this.H=a;this.id=Mc+=2;this.B=b;this.Oa=c;this.size=d||0;this.type=e||Nc;this.G=e==Oc;this.b=null;this.f=this.D=this.nb;this.g=this.w=this.Pa;this.i=this.v=0;Ec(this);this.jb=this.Lb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Pc(this,Qc)}else Pc(this)}l=zc.prototype;l.save=function(){return this.u};
|
|
|
|
|
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.jb=!0):!1};function Pc(a,b){b||(b=Rc);Sc(a,b,void 0);Tc(a,b,void 0)}function Sc(a,b,c){c&&a.i||(a.f=b[0]||a.nb);if(c||void 0===c)a.D=b[0]||a.nb}function Tc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Pa);if(c||void 0===c)a.w=b[1]||a.Pa}l.Ia=function(a,b){b?this.v++||Tc(this,Uc,!1):this.i++||Sc(this,Uc,!1)};function Vc(a,b){b?--a.v||(a.g=a.G?a.Pa:a.w):--a.i||(a.f=a.D)}
|
|
|
|
|
function Ec(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Sc(a,Uc,!1),(a.v=c.v)&&Tc(a,Uc,!1))}l.nb=function(a,b){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to read invalid address "+I(this.b,b),!0);this.H.Mb(b);return-1};l.Pa=function(a,b,c){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to write "+I(this.b,a)+" to invalid addresses "+I(this.b,c),!0)};l.$b=function(a){return this.u[a]};l.ic=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.jb=!0)};
|
|
|
|
|
l.Yb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Wc(c,this.B+a,2,c.M)&&c.W(!1)}return this.D(a,b)};l.hc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Wc(d,this.B+b,2,d.I)&&d.W(!1)}this.G?this.Pa(a,0,c):this.w(a,b,c)};var Nc=0,Oc=2,Jc=["NONE","RAM","ROM"],Mc=0,Rc=[],Qc=[zc.prototype.$b,zc.prototype.ic],Uc=[zc.prototype.Yb,zc.prototype.hc];
|
|
|
|
|
function Xc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ab=0;this.eb=b;this.ea=c;this.bb=Math.round(this.eb/1E4)/100;this.ba=this.bb*this.ea;this.cb=this.Ba=this.fa=this.Va=0;this.A.N=this.A.$a=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.La=!1;this.za=this.la=0;this.Aa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.O=[];this.xb=this.cc.bind(this);this.T=this.M=this.R=this.S=this.L=this.ya=this.P=this.na=this.fb=this.aa=
|
|
|
|
|
0;this.Ra=null;Lb(this)}ma(Xc,r);l=Xc.prototype;l.Da=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Ra=a.u;for(a=0;a<Yc.length;a++)(b=this.J[Yc[a]])&&this.G.ja(null,Yc[a],b);Lb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
|
|
|
|
l.ua=function(a,b){var c=Zc(this.G,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.D&&void 0===this.J.run);if(!b){if(a){$c(this);if(!this.restore(a))return!1;ad(this)}else this.reset();this.D?(a=this.D,b=this.A.Z,a.za=!0,a.j("Type ? for help with PDPjs Debugger commands"),bd(a),b||cd(a),a.wa&&(b=a.wa,a.wa=null,dd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Ra?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
|
|
|
|
l.ia=function(a){return a?this.save():!0};l.Z=function(){return this.A.N?!0:this.A.Z?(qc(this),!0):!1};l.Bb=function(){return 0};function ad(a){void 0===a.Aa&&(a.Aa=0);void 0===a.ka&&(a.ka=-1);void 0===a.ma&&(a.ma=-1);a.A.La=0<=a.Aa&&0<a.ka;a.A.La&&(a.za=0,a.la=a.Aa-a.T)}function uc(a,b){if(a.A.La){var c=!1;a.za=a.za+a.Bb()|0;a.la-=b;0>=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=ed(a)&&(a.ka=a.ma=-1,ad(a),a.W(),c=!0);c&&a.j(ed(a)+" cycles: checksum="+n(a.za))}}
|
|
|
|
|
l.ja=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(d.A.N?d.W():qc(d))},!0;case "speed":return this.J[b]=
|
|
|
|
|
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){fd(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function tc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function gd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.bb);a.cb=Math.round(1E3/hd);a.Ba=Math.floor(a.eb/hd*c);b||(a.fa=a.Ba);a.Va=0}function ed(a){return a.T+a.M+a.R-a.S}function $c(a){a.aa=0;a.fb=0;a.T=a.M=a.R=a.S=0;ad(a);fd(a,1)}
|
|
|
|
|
function fd(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.bb*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&id(a.G)}tc(a,a.M);a.M=0;a.L=ob();a.P=0;gd(a);return d}function jd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
|
|
|
|
function sc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ld(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
|
|
|
|
|
l.cc=function(){if(this.A.N){this.Va>=this.eb&&gd(this,!0);this.na=0;this.ya=ob();if(this.P){var a=this.ya-this.P;a>this.cb&&(this.L+=a,this.L>this.ya&&(this.L=this.ya))}try{do{var b=jd(this,this.A.La?1:this.Ba);try{this.Qa(b)}catch(e){if("number"!=typeof e)throw e;}b=ld(this,!0);this.na+=b;this.M+=b;uc(this,b);sc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ba;++this.fb>=md&&(this.G&&H(this.G,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.W();this.G&&this.G.stop(ob(),ed(this));Ib(this,
|
|
|
|
|
e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.xb;this.P=ob();var c=this.cb;this.na&&(c=Math.round(c*this.na/this.Ba));var c=c-(this.P-this.ya),d=this.P-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.T=0,fd(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.L-=c),c=0;this.Va+=this.na;this.P+=c;a(b,c)}}};
|
|
|
|
|
function qc(a,b){if(!Jb(a))if(a.A.N)a.j(a.toString()+" busy");else{fd(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&id(a.G,!0),a.G.start(a.L,ed(a)));a.D||a.status("Started");setTimeout(a.xb,0)}}l.Qa=function(){return 0};l.W=function(a){var b=!1;if(this.A.N){ld(this);tc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),ed(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var hd=30,md=15,Yc=["power","reset"];
|
|
|
|
|
function nd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.wb=b;this.Sa=+a.addrReset||0;this.Jb=od.bind(this);this.w=J.bind(this);this.wa=null;this.sb=[];this.A.complete=!1}ma(nd,Xc);l=nd.prototype;l.reset=function(){this.status("Model "+this.wb);this.A.N&&this.W();this.b=this.K=this.Ca=0;this.i=this.xa=this.Sa;this.I=this.qa=-1;this.F=this.u=0;this.gb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.C=0;this.f=this.Zb;this.g=this.jc;this.wa=null;$c(this);this.A.error=!1;Xc.prototype.reset.call(this)};
|
|
|
|
|
l.Bb=function(){return 0};l.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ca,this.i,this.qa,this.I,this.u,this.C,this.xa,this.va,this.Sa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,pd(this));a.set(4,kd(this));return a.data()};
|
|
|
|
|
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Ca=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.C=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Sa=b.next().value;b=a[2];this.T=b[0];fd(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.sb.length;d++){var e=this.sb[d];if(e.gc===b[c]){d=e;break a}}d=
|
|
|
|
|
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function qd(a,b){var c=a.i;a.i=(c+b)%Sb;return c}function G(a,b){a.i=b%Sb}function pd(a){var b=[];for(a=a.wa;a;)b.push(a.gc),a=a.next;return b}l.Zb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.jc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
|
|
|
|
|
l.Qa=function(a){this.A.complete=!0;var b=this.D?rd(this.D)?1:this.A.$a?-1:0:0,c=a?this.A.$a?0:1:-1;this.A.$a=!1;this.R=this.S=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(sd(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.wa||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&sd(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ca=this.f(this.qa),this.qa=-1):(this.K=this.Ca=
|
|
|
|
|
this.f(this.xa=this.i),this.i=(this.i+1)%Sb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Rb;a=this.K&4194304?-1:this.Ca/Yb|0;0<=a&&this.Jb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};$a(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new nd(d);tb(d,c)}});function od(a){td[a>>4].call(this,a,a&15)}function K(a){this.w(a)}
|
|
|
|
|
function ud(){var a=0,b=this.f(this.b),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
|
|
|
|
function wd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function xd(a,b){this.g(b,this.f(this.b))}function yd(a,b){this.g(b,this.b)}function zd(a,b){this.g(this.b,this.f(b))}function Ad(a,b){this.g(b,0)}function Bd(a,b){this.g(b,C-this.f(b))}function Rd(a,b){this.g(b,C)}
|
|
|
|
|
function Sd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Td(a,d,c)+(c-(c&x)))}function Ud(a,b){var c=this.f(b);this.g(b,Td(a,c,0))}function Vd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Td(a,c,b)+(b-(b&x)))}function Wd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>A?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Xd(a,b){var c=(this.f(this.b)&x)*z,d=this.f(b);this.g(b,Td(a,d,c)+c)}
|
|
|
|
|
function Yd(a,b){var c=this.b*z,d=this.f(b);this.g(b,Td(a,d,c)+c)}function Zd(a,b){b=(this.f(b)&x)*z;var c=this.f(this.b);this.g(this.b,Td(a,c,b)+b)}function $d(a,b){var c=this.f(this.b),d=(c&x)*z,c=Td(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,be(a,d,c)+c)}function ce(a,b){var c=this.f(b);this.g(b,be(a,c,this.b)+this.b)}function de(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}
|
|
|
|
|
function ee(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*z;break;case 384:d+=c>Tb?x*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function fe(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,be(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,be(a,c,0))}function he(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.f(this.b),d=c/z|0,c=be(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){je[a&7].call(this,a,a>>3&127)}
|
|
|
|
|
function ke(){}function le(){}function J(a){this.j("undefined opcode: "+wa(a));qd(this,-1);this.W()}function me(a){a>A&&(a!=B?a=Vb-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%D;ne.call(this,a,b,c);return c}
|
|
|
|
|
function oe(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%D;b=this.F=f+Math.trunc(b/2);c>A&&(c=D-c,d=!d);b>A&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.gb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<pe(this.pa,this.ga);)qe(this.ga,this.ga),qe(this.oa,this.oa);do{if(0<=pe(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=D,b[1]--),qe(this.gb,this.oa),re(this.pa)))break;se(this.ga);se(this.oa)}while(!re(this.oa));
|
|
|
|
|
a=this.gb[0];this.F=this.pa[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a}
|
|
|
|
|
function te(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=D-d,b=!b);e>A&&(e=D-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/z);f=e&x;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=(h&x)+a*e;a=h*z+(g&x);f+=Math.trunc(h/z)+d*e}b&&(a?(f=C-f,a=D-a):f&&(f=D-f));if(c)return(f||a>A)&&(f!=C||a<=A)&&(this.u|=131072),a;c=a;b=f;a=b-b%B;b=2*b%D+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
|
|
|
|
|
function ue(a){a?a==B?this.u|=163840:a=Vb-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=D);ne.call(this,c,b,a);return c}function ne(a,b,c){a=Math.trunc(a/Ub);b=Math.trunc(b/Ub);c=Math.trunc(c/Ub);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 Q(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function R(a,b){return Q(a,(~(b/E|0)&15)*E+(~b>>>0))}function S(a,b){return(a<B?a:a-D)-(b<B?b:b-B)}
|
|
|
|
|
function ve(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<B?a:a-D}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/z|0)+(a&x)*z}function be(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*z;break;case 384:b=c>Tb?x*z:0}return b}function Td(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>A?x:0}return b}
|
|
|
|
|
function qe(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function pe(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function se(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function re(a){return!a[0]&&!a[1]}
|
|
|
|
|
var td=[K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},ud,function(a,b){0>this.I&&ud.call(this);vd.call(this,0,b)},vd,function(a,b){0>this.I&&ud.call(this);wd.call(this,0,b)},wd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
|
|
|
|
function $b(a,b){u.call(this,"Panel",a,512);this.K=this.L=0;this.T=b;this.i=this.I=this.u=this.w=0;this.M=this.O=-1;this.P=this.R=this.F=!1;this.S=ac;this.C={};this.b={START:[1,1,!0,!1,this.Wb],STEP:[1,1,!1,!1,this.Xb],ENABLE:[1,1,!1,!1,this.Rb],CONT:[1,1,!0,!1,this.Pb],DEP:[0,0,!0,!1,this.Qb],EXAM:[1,1,!0,!1,this.Sb],LOAD:[1,1,!0,!1,this.Ub],TEST:[0,0,!0,!1,this.Tb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Vb,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Nb,toggle:this.fc,reset:this.bc,
|
|
|
|
|
set:this.ec};Kb(this)}pa($b,u);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.w=0)};
|
|
|
|
|
l.la=function(a,b,c,d){if(this.H&&this.H.la(a,b,c,d)||this.v&&this.v.la(a,b,c,d)||this.D&&this.D.la(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart=
|
|
|
|
|
function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.la.call(this,a,b,c,d)}};l.Ea=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;ec(this);fc(this)};l.va=function(a,b){if(!b)if(this.T&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ka=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
|
|
|
|
|
l.restore=function(a){if(a=a[0])hc(this,this.i=a[0]),bc(this,this.w=a[1]),ic(this,a[2]);return!0};l.bc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.C)jc(a,c,null!=b?b:a.C[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])}
|
|
|
|
|
l.Nb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.ec=function(a,b){if("SR"==a)return ic(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.fc=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1}
|
|
|
|
|
function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Wb=function(a){a||this.v.A.N||(H(this.v,this.i),this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Xb=function(){};l.Rb=function(a){a||this.v.W()};
|
|
|
|
|
l.Pb=function(a){if(!a&&!this.v.A.N)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Ra(1);0<b&&(rc(this.v,b),sc(this.v,b,!0),tc(this.v,b))}catch(c){"number"!=typeof c&&yb(this.v,c.stack||c.message)}this.stop();this.H&&I(this.H)}};l.Qb=function(a){a&&!this.v.A.N&&(this.P&&uc(this),a=bc(this,this.w=this.u),this.S==ac?vc(this.G,this.i,a):this.v.g(this.i,a))};
|
|
|
|
|
l.Sb=function(a){if(!a&&!this.v.A.N){var b;this.R&&uc(this);this.S==ac?b=wc(this.G,this.i):b=this.v.f(this.i);bc(this,this.w=b)}};l.Ub=function(a){a||this.v.A.N||hc(this,this.u)};l.Tb=function(a){a?(this.F=!0,ec(this,!0)):(this.F=!1,ec(this),ic(this,0))};l.Vb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function uc(a){var b=1,c=a.G.u;a.b[lc]&&a.b[lc][1]||(b=-b);hc(a,a.i&~c|a.i+b&c)}
|
|
|
|
|
function hc(a,b){a.i=b&a.G.u;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||jc(d,e,f)}}}function bc(a,b){a.I=b%E;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||jc(d,e,f)}}return a.I}function ic(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;fc(a);return!0}l.stop=function(){hc(this,this.v.i)};
|
|
|
|
|
function gc(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=v(c),e=qb(d.id);e||(e=new $b(d,!0));sb(e,c)}}var ac=7,mc="DEP",oc="ENABLE",nc="EXAM",lc="STEP";Ya(gc);function xc(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new yc(this);Dc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Kb(this)}pa(xc,u);l=xc.prototype;l.reset=function(){};
|
|
|
|
|
l.va=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ka=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,Ec(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 Fc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;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.Pa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Pa){m=h.size-(e-k);m>f&&(m=f);h.Pa=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Gc(Hc,e,f)}e=new yc(a,e,m,16384,d);Dc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Ic[d]+" at "+n(b)),!0):Gc(Jc,b,c)}
|
|
|
|
|
function wc(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function vc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Ec(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.jb||e.Lb){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],p=g+1;p<e.length&&e[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
|
|
|
|
l.Mb=function(a){this.w||(this.D&&Nb(this.D,4)&&Ob(this.D,"memory fault on "+J(this.D,a),!0,!0),this.v.W())};function Gc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Hc=1,Jc=2;function Kc(a){u.call(this,"Device",a,256)}pa(Kc,u);l=Kc.prototype;l.Ea=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Kb(this)};l.va=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ka=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new G(this)).data()};
|
|
|
|
|
l.restore=function(){return!0};Ya(function(){for(var a=x(document,w,"device"),b=0;b<a.length;b++){var c,d=a[b];c=v(d);switch(c.type){case "default":c=new Kc(c),sb(c,d)}}});function yc(a,b,c,d,e){this.H=a;this.id=Lc+=2;this.B=b;this.Pa=c;this.size=d||0;this.type=e||Mc;this.G=e==Nc;this.b=null;this.f=this.D=this.nb;this.g=this.w=this.Qa;this.i=this.v=0;Dc(this);this.jb=this.Lb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Oc(this,Pc)}else Oc(this)}l=yc.prototype;l.save=function(){return this.u};
|
|
|
|
|
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.jb=!0):!1};function Oc(a,b){b||(b=Qc);Rc(a,b,void 0);Sc(a,b,void 0)}function Rc(a,b,c){c&&a.i||(a.f=b[0]||a.nb);if(c||void 0===c)a.D=b[0]||a.nb}function Sc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Qa);if(c||void 0===c)a.w=b[1]||a.Qa}l.Ja=function(a,b){b?this.v++||Sc(this,Tc,!1):this.i++||Rc(this,Tc,!1)};function Uc(a,b){b?--a.v||(a.g=a.G?a.Qa:a.w):--a.i||(a.f=a.D)}
|
|
|
|
|
function Dc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Rc(a,Tc,!1),(a.v=c.v)&&Sc(a,Tc,!1))}l.nb=function(a,b){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to read invalid address "+J(this.b,b),!0);this.H.Mb(b);return-1};l.Qa=function(a,b,c){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to write "+J(this.b,a)+" to invalid addresses "+J(this.b,c),!0)};l.$b=function(a){return this.u[a]};l.ic=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.jb=!0)};
|
|
|
|
|
l.Yb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Vc(c,this.B+a,2,c.M)&&c.W(!1)}return this.D(a,b)};l.hc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Vc(d,this.B+b,2,d.I)&&d.W(!1)}this.G?this.Qa(a,0,c):this.w(a,b,c)};var Mc=0,Nc=2,Ic=["NONE","RAM","ROM"],Lc=0,Qc=[],Pc=[yc.prototype.$b,yc.prototype.ic],Tc=[yc.prototype.Yb,yc.prototype.hc];
|
|
|
|
|
function Wc(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ab=0;this.eb=b;this.ea=c;this.bb=Math.round(this.eb/1E4)/100;this.ba=this.bb*this.ea;this.cb=this.Ca=this.fa=this.Va=0;this.A.N=this.A.$a=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.La=!1;this.Aa=this.ha=0;this.Ba=+a.csStart;this.ma=+a.csInterval;this.na=+a.csStop;this.O=[];this.xb=this.cc.bind(this);this.T=this.M=this.R=this.S=this.L=this.za=this.P=this.oa=this.fb=this.aa=
|
|
|
|
|
0;this.Ha=null;Kb(this)}pa(Wc,u);l=Wc.prototype;l.Ea=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Ha=a.u;for(a=0;a<Xc.length;a++)(b=this.J[Xc[a]])&&this.H.la(null,Xc[a],b);Kb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
|
|
|
|
l.va=function(a,b){var c=Yc(this.H,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.D&&void 0===this.J.run);if(!b){if(a){Zc(this);if(!this.restore(a))return!1;$c(this)}else this.reset();this.D?(a=this.D,b=this.A.Z,a.Ba=!0,a.j("Type ? for help with PDPjs Debugger commands"),ad(a),b||bd(a),a.ya&&(b=a.ya,a.ya=null,cd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Ha?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
|
|
|
|
l.ka=function(a){return a?this.save():!0};l.Z=function(){return this.A.N?!0:this.A.Z?(pc(this),!0):!1};l.Bb=function(){return 0};function $c(a){void 0===a.Ba&&(a.Ba=0);void 0===a.ma&&(a.ma=-1);void 0===a.na&&(a.na=-1);a.A.La=0<=a.Ba&&0<a.ma;a.A.La&&(a.Aa=0,a.ha=a.Ba-a.T)}function tc(a,b){if(a.A.La){var c=!1;a.Aa=a.Aa+a.Bb()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.ma,c=!0);0<=a.na&&a.na<=dd(a)&&(a.ma=a.na=-1,$c(a),a.W(),c=!0);c&&a.j(dd(a)+" cycles: checksum="+q(a.Aa))}}
|
|
|
|
|
l.la=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.A.V)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(d.A.N?d.W():pc(d))},!0;case "speed":return this.J[b]=
|
|
|
|
|
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){ed(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function sc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function fd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.bb);a.cb=Math.round(1E3/gd);a.Ca=Math.floor(a.eb/gd*c);b||(a.fa=a.Ca);a.Va=0}function dd(a){return a.T+a.M+a.R-a.S}function Zc(a){a.aa=0;a.fb=0;a.T=a.M=a.R=a.S=0;$c(a);ed(a,1)}
|
|
|
|
|
function ed(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.bb*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.H&&hd(a.H)}sc(a,a.M);a.M=0;a.L=nb();a.P=0;fd(a);return d}function id(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function jd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
|
|
|
|
function rc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function kd(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
|
|
|
|
|
l.cc=function(){if(this.A.N){this.Va>=this.eb&&fd(this,!0);this.oa=0;this.za=nb();if(this.P){var a=this.za-this.P;a>this.cb&&(this.L+=a,this.L>this.za&&(this.L=this.za))}try{do{var b=id(this,this.A.La?1:this.Ca);try{this.Ra(b)}catch(e){if("number"!=typeof e)throw e;}b=kd(this,!0);this.oa+=b;this.M+=b;tc(this,b);rc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ca;++this.fb>=ld&&(this.H&&I(this.H,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.W();this.H&&this.H.stop(nb(),dd(this));yb(this,
|
|
|
|
|
e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.xb;this.P=nb();var c=this.cb;this.oa&&(c=Math.round(c*this.oa/this.Ca));var c=c-(this.P-this.za),d=this.P-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.T=0,ed(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.L-=c),c=0;this.Va+=this.oa;this.P+=c;a(b,c)}}};
|
|
|
|
|
function pc(a,b){if(!Ib(a))if(a.A.N)a.j(a.toString()+" busy");else{ed(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&hd(a.H,!0),a.H.start(a.L,dd(a)));a.D||a.status("Started");setTimeout(a.xb,0)}}l.Ra=function(){return 0};l.W=function(a){var b=!1;if(this.A.N){kd(this);sc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(nb(),dd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var gd=30,ld=15,Xc=["power","reset"];
|
|
|
|
|
function md(a){var b=+a.model||1001;Wc.call(this,a,1E6);this.wb=b;this.Sa=+a.addrReset||0;this.Jb=nd.bind(this);this.w=K.bind(this);this.xa=null;this.sb=[];this.A.complete=!1}pa(md,Wc);l=md.prototype;l.reset=function(){this.status("Model "+this.wb);this.A.N&&this.W();this.b=this.K=this.Da=0;this.i=this.ya=this.Sa;this.I=this.ra=-1;this.F=this.u=0;this.gb=[0,0];this.pa=[0,0];this.ga=[0,0];this.qa=[0,0];this.wa=this.i;this.C=0;this.f=this.Zb;this.g=this.jc;this.xa=null;Zc(this);this.A.error=!1;Wc.prototype.reset.call(this)};
|
|
|
|
|
l.Bb=function(){return 0};l.save=function(){var a=new G(this);a.set(0,[this.b,this.K,this.Da,this.i,this.ra,this.I,this.u,this.C,this.ya,this.wa,this.Sa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,od(this));a.set(4,jd(this));return a.data()};
|
|
|
|
|
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ja(b);this.b=b.next().value;this.K=b.next().value;this.Da=b.next().value;this.i=b.next().value;this.ra=b.next().value;this.I=b.next().value;this.u=b.next().value;this.C=b.next().value;this.ya=b.next().value;this.wa=b.next().value;this.Sa=b.next().value;b=a[2];this.T=b[0];ed(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.sb.length;d++){var e=this.sb[d];if(e.gc===b[c]){d=e;break a}}d=
|
|
|
|
|
null}d&&(d.next=this.xa,this.xa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function pd(a,b){var c=a.i;a.i=(c+b)%Rb;return c}function H(a,b){a.i=b%Rb}function od(a){var b=[];for(a=a.xa;a;)b.push(a.gc),a=a.next;return b}l.Zb=function(a){var b=this.G;a=this.wa=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.jc=function(a,b){var c=this.G;a=this.wa=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
|
|
|
|
|
l.Ra=function(a){this.A.complete=!0;var b=this.D?qd(this.D)?1:this.A.$a?-1:0:0,c=a?this.A.$a?0:1:-1;this.A.$a=!1;this.R=this.S=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(rd(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.xa||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&rd(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.f(this.b):0<=this.ra?(this.K=this.Da=this.f(this.ra),this.ra=-1):(this.K=this.Da=
|
|
|
|
|
this.f(this.ya=this.i),this.i=(this.i+1)%Rb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Qb;a=this.K&4194304?-1:this.Da/Xb|0;0<=a&&this.Jb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Ya(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new md(d);sb(d,c)}});function nd(a){sd[a>>4].call(this,a,a&15)}function M(a){this.w(a)}
|
|
|
|
|
function td(){var a=0,b=this.f(this.b),c=b/Yb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Yb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.g(this.b,b)}function ud(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
|
|
|
|
function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function wd(a,b){this.g(b,this.f(this.b))}function xd(a,b){this.g(b,this.b)}function yd(a,b){this.g(this.b,this.f(b))}function zd(a,b){this.g(b,0)}function Ad(a,b){this.g(b,C-this.f(b))}function Td(a,b){this.g(b,C)}
|
|
|
|
|
function Ud(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Vd(a,d,c)+(c-(c&y)))}function Wd(a,b){var c=this.f(b);this.g(b,Vd(a,c,0))}function Xd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Vd(a,c,b)+(b-(b&y)))}function Yd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Zd(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,Vd(a,d,c)+c)}
|
|
|
|
|
function $d(a,b){var c=this.b*z,d=this.f(b);this.g(b,Vd(a,d,c)+c)}function ae(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,Vd(a,c,b)+b)}function be(a,b){var c=this.f(this.b),d=(c&y)*z,c=Vd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ce(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,de(a,d,c)+c)}function ee(a,b){var c=this.f(b);this.g(b,de(a,c,this.b)+this.b)}function fe(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,de(a,c,b)+b)}
|
|
|
|
|
function ge(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Sb?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function he(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,de(a,d,c)+c)}function ie(a,b){var c=this.f(b);this.g(b,de(a,c,0))}function je(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,de(a,c,b)+b)}function ke(a,b){var c=this.f(this.b),d=c/z|0,c=de(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){le[a&7].call(this,a,a>>3&127)}
|
|
|
|
|
function me(){}function ne(){}function K(a){this.j("undefined opcode: "+n(a));pd(this,-1);this.W()}function oe(a){a>A&&(a!=B?a=Ub-a:this.u|=163840);return a}function O(a,b){var c=(a+b)%E;pe.call(this,a,b,c);return c}
|
|
|
|
|
function qe(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%E;b=this.F=f+Math.trunc(b/2);c>A&&(c=E-c,d=!d);b>A&&(a?(b=C-b,a=E-a):b&&(b=E-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.gb;f[0]=0;f[1]=0;f=this.pa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.qa;c[0]=a;for(c[1]=b;0<re(this.qa,this.ga);)se(this.ga,this.ga),se(this.pa,this.pa);do{if(0<=re(this.qa,this.ga)&&(b=this.qa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=E,b[1]--),se(this.gb,this.pa),te(this.qa)))break;ue(this.ga);ue(this.pa)}while(!te(this.pa));
|
|
|
|
|
a=this.gb[0];this.F=this.qa[0];d&&a&&(a=E-a);e&&this.F&&(this.F=E-this.F);return a}
|
|
|
|
|
function ve(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=E-d,b=!b);e>A&&(e=E-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d&y;d=Math.trunc(d/z);f=e&y;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=(h&y)+a*e;a=h*z+(g&y);f+=Math.trunc(h/z)+d*e}b&&(a?(f=C-f,a=E-a):f&&(f=E-f));if(c)return(f||a>A)&&(f!=C||a<=A)&&(this.u|=131072),a;c=a;b=f;a=b-b%B;b=2*b%E+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
|
|
|
|
|
function we(a){a?a==B?this.u|=163840:a=Ub-a:this.u|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=E);pe.call(this,c,b,a);return c}function pe(a,b,c){a=Math.trunc(a/Tb);b=Math.trunc(b/Tb);c=Math.trunc(c/Tb);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 Q(a,b){return((a/F|0)&(b/F|0))*F+((a&b)>>>0)}function R(a,b){return Q(a,(~(b/F|0)&15)*F+(~b>>>0))}function S(a,b){return(a<B?a:a-E)-(b<B?b:b-B)}
|
|
|
|
|
function xe(a,b){return(~((a/F|0)^(b/F|0))&15)*F+(~(a^b)>>>0)}function T(a,b){return(a/F|0|b/F|0)*F+((a|b)>>>0)}function U(a){return a<B?a:a-E}function V(a,b){return((a/F|0)^(b/F|0))*F+((a^b)>>>0)}function W(a){return(a/z|0)+(a&y)*z}function de(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Sb?y*z:0}return b}function Vd(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b}
|
|
|
|
|
function se(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=E&&(a[0]%=E,a[1]++)}function re(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function ue(a){a[1]%2&&(a[0]+=E);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function te(a){return!a[0]&&!a[1]}
|
|
|
|
|
var sd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},td,function(a,b){0>this.I&&td.call(this);ud.call(this,0,b)},ud,function(a,b){0>this.I&&td.call(this);vd.call(this,0,b)},vd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
|
|
|
|
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
|
|
|
|
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},xd,yd,zd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&x)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&x)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&x)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ue.call(this,this.f(this.b)))},function(a,b){this.g(b,ue.call(this,this.b))},function(a,b){this.g(this.b,
|
|
|
|
|
ue.call(this,this.f(b)))},function(a,b){a=ue.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,me.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,me.call(this,this.f(b)))},function(a,b){a=me.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,te.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b),
|
|
|
|
|
!0))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,te.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
|
|
|
|
1&15,this.F))},function(a,b){a=oe.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
|
|
|
|
function(a,b){a=this.f(b);b=this.f(b+1&15);b=oe.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(D-a):a;0<c?(35<=c?(d=0>d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.u|=131072):a-c<=A&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+D:d;
|
|
|
|
|
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;G(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>A&&
|
|
|
|
|
d<C)this.u|=131072;if(71<=a){if(0<e&&e<B||e>A&&e<C)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=A?e+c>A&&(this.u|=131072):e-c<=A&&(this.u|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.u|=131072):(f-c<=A&&(this.u|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?D-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+
|
|
|
|
|
d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
|
|
|
|
|
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-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)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},J,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&x;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&x,c=c+1&x,this.A.N||(this.g(b,d*
|
|
|
|
|
z+c),a||qd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<B&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=B&&G(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,G(this,this.b))},function(){this.qa=this.b},J,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&x,this.f(this.b));a>=D&&(a-=D);a/z|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&x);this.g(this.b,c);this.b==b&&(a=c);a-=262145;
|
|
|
|
|
0>a&&(a+=D);(a/z|0)==x&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&x)*z+this.i);G(this,this.b+1)},function(a,b){this.g(b,(this.u&x)*z+this.i);G(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))},
|
|
|
|
|
function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},ke,function(a,b){0>S(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){S(this.f(b),this.b)||G(this,this.i+1)},function(a,b){0>=S(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=S(this.f(b),this.b)&&G(this,
|
|
|
|
|
this.i+1)},function(a,b){S(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<S(this.f(b),this.b)&&G(this,this.i+1)},le,function(a,b){0>S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){0>=S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<S(this.f(b),this.f(this.b))&&
|
|
|
|
|
G(this,this.i+1)},ke,function(a,b){0>V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))||G(this,this.b)},function(a,b){0>=V(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=V(this.f(b))&&G(this,this.b)},function(a,b){V(this.f(b))&&G(this,this.b)},function(a,b){0<V(this.f(b))&&G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||G(this,this.i+1);b&&this.g(b,
|
|
|
|
|
a)},function(a,b){a=this.f(this.b);0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,O.call(this,this.f(b),1))},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,
|
|
|
|
|
O.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,
|
|
|
|
|
b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));V(a)||G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,
|
|
|
|
|
b){a=this.g(this.b,O.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,P.call(this,this.f(b),1))},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>V(a)&&G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));V(a)||G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=V(a)&&G(this,this.b)},function(a,b){this.g(b,P.call(this,this.f(b),
|
|
|
|
|
1));G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=V(a)&&G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));V(a)&&G(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<V(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));V(a)||G(this,this.i+
|
|
|
|
|
1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));V(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<V(a)&&G(this,this.i+
|
|
|
|
|
1);b&&this.g(b,a)},Ad,Ad,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),this.b))},function(a,b){this.g(this.b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
|
|
|
|
|
this.g(b,Q(C-this.f(b),this.f(this.b))))},xd,yd,le,xd,function(a,b){this.g(b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),C-this.f(this.b))))},ke,ke,zd,zd,function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b),
|
|
|
|
|
this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,
|
|
|
|
|
ve(this.f(b),this.f(this.b)))},function(a,b){this.g(b,ve(this.f(b),this.b))},function(a,b){this.g(this.b,ve(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ve(this.f(b),this.f(this.b))))},Bd,Bd,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,U(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(C-this.f(b),this.b))},function(a,b){this.g(this.b,U(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
|
|
|
|
|
U(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),C-this.b))},function(a,b){this.g(this.b,U(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,U(C-this.f(b),C-this.f(this.b)))},function(a,
|
|
|
|
|
b){this.g(b,U(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,U(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(C-this.f(b),C-this.f(this.b))))},Rd,Rd,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,Sd,Ud,Vd,Wd,Xd,Yd,Zd,$d,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ke,ke,function(a,b){Q(this.f(b),this.b)||G(this,this.i+1)},function(a,
|
|
|
|
|
b){Q(this.f(b),this.b*z)||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){Q(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){Q(this.f(b),this.b*z)&&G(this,this.i+1)},le,le,function(a,b){Q(this.f(b),this.f(this.b))||G(this,this.i+1)},function(a,b){Q(this.f(b),X(this.f(this.b)))||G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){Q(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){Q(this.f(b),X(this.f(this.b)))&&
|
|
|
|
|
G(this,this.i+1)},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||G(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||G(this,this.i+1);this.g(b,R(a,c))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&G(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);
|
|
|
|
|
var c=this.b*z;Q(a,c)&&G(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||G(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||G(this,this.i+1);this.g(b,R(a,c))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,R(this.f(b),X(this.f(this.b))))},function(a,
|
|
|
|
|
b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&G(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&G(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){G(this,
|
|
|
|
|
this.i+1);this.g(b,W(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&G(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||G(this,this.i+1);this.g(b,W(a,c))},function(a,
|
|
|
|
|
b){G(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&G(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=
|
|
|
|
|
this.f(b);Q(a,this.b*z)||G(this,this.i+1);this.g(b,U(a,this.b*z))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&G(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);
|
|
|
|
|
Q(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)||G(this,this.i+1);this.g(b,U(a,c))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));Q(a,c)&&G(this,this.i+1);this.g(b,U(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
|
|
|
|
|
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],je=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
|
|
|
|
function we(a){r.call(this,"ROM",a,128);this.U=this.b=null;this.C=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ya(this.w);if(this.w){a=this.w;var b=za(this.F);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(mb(c.Ua,a,b),(a=Ka(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);xe(c)})}}ma(we,r);
|
|
|
|
|
we.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.D=d;xe(this)};we.prototype.ua=function(){this.U&&(this.D&&ye(this.D,this.id,this.C,this.u,this.U),delete this.U);return!0};we.prototype.ia=function(){return!0};
|
|
|
|
|
function xe(a){if(!Kb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ib(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.u,8,!0)+")");else{var b;b=a.C;if(Gc(a.H,b,a.u,Oc)){var c;for(c=0;c<a.b.length;c++)wc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
|
|
|
|
|
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Lb(a)}}$a(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new we(d);tb(d,c)}});
|
|
|
|
|
function ze(a){r.call(this,"RAM",a);this.U=this.Ha=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.C=ya(this.b);if(this.b){a=this.b;var b=za(this.C);"json"!=b&&"hex"!=b&&(a=Pa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.Ua,a,b),(a=Ka(a,b))?(c.Ha=a.Ha,
|
|
|
|
|
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Ae(c)})}}ma(ze,r);ze.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ae(this)};ze.prototype.ua=function(a,b){this.U&&(this.D&&ye(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};ze.prototype.ia=function(){return!0};
|
|
|
|
|
function Ae(a){if(a.H&&(!a.w&&a.u&&(Gc(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Kb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Ha)return;Be(a,a.Ha,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;Lb(a)}}
|
|
|
|
|
ze.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h<e.size;h++)e.w(g,d,e.B+d);c-=16384;b++;d=0}this.Ha&&Be(this,this.Ha,this.sa,this.ra,this.i,!this.D)}this.F=!1};
|
|
|
|
|
function Be(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)wc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Sa=d,G(a,d),f?a.A.V?a.A.N||qc(a):a.A.Z=!0:a.D&&a.A.V?a.W()||a.G.A.reset||(bd(a.D),H(a.G,-1)):!1===f&&a.W(),!a.A.N&&a.Ra&&a.Ra.stop()));return g}$a(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new ze(d);tb(d,c)}});
|
|
|
|
|
function Ce(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=De;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.ja(null,a,b))}this.b=this.C=null;this.exports={connect:this.Cb,receiveData:this.Ya,receiveStatus:this.ac,setConnection:this.dc}}ma(Ce,r);l=Ce.prototype;
|
|
|
|
|
l.ja=function(a,b,c){var d=this;switch(b){case De:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.qb:ta.Gb:46==c?b=ta.qb:a.ctrlKey&&c>=ta.pb&&c<=ta.Hb&&(b=c-(ta.pb-ta.Db));b&&(a.preventDefault&&a.preventDefault(),d.Ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.Fb&&(b=ta.Eb);d.Ya(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.Ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Lb(this)};
|
|
|
|
|
l.Cb=function(a){if(!this.b){var b=Zc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Ta)return;c=Ga(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.C=e.receiveData){this.u=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.Cb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
|
|
|
|
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new F(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ya=function(a){if("number"==typeof a)this.i.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.i.push(b)}else this.i=this.i.concat(a);return!0};l.ac=function(){};l.dc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var De="buffer";
|
|
|
|
|
$a(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Ce(d);tb(d,c)}});function Ee(a){r.call(this,"Debugger",a);this.ca=+a.base||16;this.Ea=32;this.ma=["{","}"];this.la=["[","]"];this.C=0;this.R=!1;this.w=-1;this.u=[];this.K={}}ma(Ee,r);Ee.prototype.kb=function(){return-1};Ee.prototype.lb=function(){};
|
|
|
|
|
function Fe(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+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(Ga(b.substring(c,f))),c=f+1}}return a}function Ge(a,b){if(32>=a.Ea)b|=0;else if(a=Math.pow(2,a.Ea-1),b<-a||b>=a)b%=a;return b}
|
|
|
|
|
function He(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop(),g=b.pop();switch(e){case "*":e=g*f;break;case "/":if(!f)return!1;e=g/f;break;case "%":if(!f)return!1;e=g%f;break;case "+":e=g+f;break;case "-":e=g-f;break;case "<<":e=g<<f;break;case ">>":e=g>>f;break;case ">>>":e=g>>>f;break;case "<":e=g<f?1:0;break;case "<=":e=g<=f?1:0;break;case ">":e=g>f?1:0;break;case ">=":e=g>=f?1:0;break;case "==":e=g==f?1:0;break;case "!=":e=g!=f?1:0;break;case "&":e=
|
|
|
|
|
32>=a.Ea?g&f:((g/Ie|0)&(f/Ie|0))*Ie+((g&f)>>>0);break;case "!":case "|":e=32>=a.Ea?g|f:(g/Ie|0|f/Ie|0)*Ie+((g|f)>>>0);break;case "^^":e=g^f;break;case "&&":e=g&&f?1:0;break;case "||":e=g||f?1:0;break;default:return!1}b.push(Ge(a,e))}return!0}
|
|
|
|
|
function Je(a,b,c){var d;b&&(b=Ke(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],p=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var m=p[e++],t=m.length,m=Ga(m);if(!m){f=!0;break}m=Le(a,m,null,!1===c);if(void 0===m){f=!0;c=!1;break}h.push(m);if(e==p.length)break;var m=p[e++],y=m.length;k.length&&Me[m]<Me[k[k.length-1]]&&He(a,h,k,1);k.push(m);b=b.substr(t+y)}He(a,h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),
|
|
|
|
|
c&&Ne(a,null,d))}return d}
|
|
|
|
|
function Ke(a,b){var c,d=a.ma[0],e=a.ma[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Je(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?I(a,g):"undefined")}if(a.la.length)for(d=a.la[0],e=a.la[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=0}if(null==
|
|
|
|
|
d)break;a=a.replace(b[0],d.toString())}return a}function Le(a,b,c,d){var e;null!=b?(e=a.kb(b),0<=e?e=a.lb(e):(e=a.K[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 Ne(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,p=void 0,m=8,t="";m?32<m&&(m=32):m=32;for(var y=null==k||isNaN(k),T=p=p||m;0<m--;)T||(t=","+t,T=p),t=(y?"?":k&1?"1":"0")+t,k>>=1,T--;g=t+g;d>>=8}d=n(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 Oe(a,b){if(b)return Ne(a,b,a.K[b]);var c=0;for(b in a.K)Ne(a,b,a.K[b]),c++;return 0<c}function I(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=wa(b,0<c?(c+2)/3|0:0);break;case 10:a=xa(b,0<c?Math.ceil(.3*c):0);break;default:a=n(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Me={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ie=Math.pow(2,32);
|
|
|
|
|
function Pe(a){Ee.call(this,a);this.za=!1;this.xa=18;this.Ea=36;this.ma=["<",">"];this.la=[];this.ya=Y();this.L=Y(0);this.ga=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Qe(this);this.S=this.ka=0;this.i=[];this.qa=void 0;Re(this);this.D=this;this.na={};this.X=this.yb=0;this.T=null;this.P=[];Se(this,a.messages);this.wa=a.commands;this.O=0;this.Ca=this.va=null;this.C=this.Ba=this.Aa=this.fa=this.pa=0;this.oa=this.ea=this.aa=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return dd(b,
|
|
|
|
|
a)}):void 0===global[v]&&(global[v]=function(a){return dd(b,a)})}ma(Pe,Ee);function Te(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,Wa:void 0===b?!1:b,ha:!1,ca:c}}function Ue(a,b,c,d){a.B=b;a.Wa=c||!1;a.ha=!1;a.ca=d}function Ve(a){return[a.B,a.Wa,a.ha,a.ca,a.Za]}function We(a,b){var c=Y(b[0],b[1],b[2]);c.ha=b[3];b[4]&&(c.tb=Fe(a,c.Za=b[4]));return c}l=Pe.prototype;
|
|
|
|
|
l.Da=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.xa=b.F;(a=Zc(a,"messages"))&&Se(this,a);Xe(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Te(Ye(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,p=0;k--;){var m=b[e];m.type==c?p++||d.j("..."):(c=m.type,p=Jc[c],m&&d.j(n(m.id,8)+" %"+n(e<<d.H.i,8)+" %"+n(m.B,8)+
|
|
|
|
|
" "+n(m.Oa,4,!0)+" "+n(m.size,4,!0)+" "+p),c!=Nc&&(c=-1),p=0);a+=16384;e++}}});Lb(this)};
|
|
|
|
|
l.ja=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",dd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Ya(c,function(){if(d.aa){var a=d.aa.value;
|
|
|
|
|
d.aa.value="";dd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Ya(c,function(a){var b=!1;Mb(d,!0)||(Nb(d,!0),b=rc(d,a?1:0,null),Nb(d,!1));return b}),!0}return!1};function cd(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.Ga=function(a,b){var c=-1,d=Te(a);-1!==d&&(c=xc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};l.rb=function(a,b,c){var d=Te(a);-1!==d&&(wc(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),H(this.G,-1))};
|
|
|
|
|
function Ye(a,b,c){var d,e;c||(c=Y());var f=c.B;if(void 0!==b){b=Ke(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 p=a.F[k].U[f];if(null!=p){h=p.o;break}}null!=h&&(g=Y(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Je(a,b,void 0)}null!=f&&(f=Ze(f,a.xa),Ue(c,f,d,e));return c}function $e(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tb=Fe(a,b.Za=c[2]))}
|
|
|
|
|
function Ze(a,b){0>a&&a>=-B&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function af(a){return wa(a/Sb,6)+" "+wa(a%Sb,6)}
|
|
|
|
|
function Se(a,b){a.D=a;a.X=a.yb=536870916;a.T=null;a.P=[];b=Fe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in $b){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|=$b[c],a.j(c+" messages enabled"))}}function Xe(a,b){for(var c in $b)if(16==$b[c]){a.na[c]=b;break}}l.kb=function(a){return bf.indexOf(a.toUpperCase())};
|
|
|
|
|
l.lb=function(a){var b,c=this.v;switch(a){case cf:b=c.i;break;case df:b=c.K;break;case ef:b=c.b;break;case ff:b=c.u&65536?1:0;break;case gf:b=c.u&32768?1:0;break;case hf:b=c.u&131072?1:0;break;case jf:b=c.u&32?1:0;break;case kf:b=c.u&262144?1:0}return b};
|
|
|
|
|
l.message=function(a,b){b&&(a+=" @"+I(this,Y(this.v.xa).B));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.P.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.A.N)||Mb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,ld(a),a.fa=0,a.G&&H(a.G,void 0))}};
|
|
|
|
|
function Re(a){var b;if(!rd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(lf);for(b=0;b<a.i.length;b++)a.i[b]=Y();a.S=0;a.j("instruction history buffer allocated")}}function mf(a,b,c){if(!nf(a,c))return!1;qc(a.v,b);return!0}
|
|
|
|
|
function rc(a,b,c,d){if(!nf(a))return!1;var e="";null===c&&(e=(c=!a.va||"tr"==a.va)?"tr":"t");a.C=0;b||rd(a)&&sd(a,a.v.i,0);try{b=jd(a.v,b);var f=a.v.Qa(b);0<f&&(sc(a.v,f),a.C+=f,tc(a.v,f,!0),uc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.C=0,Ib(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),H(a.G,-1));bd(a,c||!1,e);return 0<a.C}l.W=function(a){this.v&&this.v.W(a)};function bd(a,b,c){b=void 0===b?!0:b;a.za&&(c&&a.j(of+c),Ue(a.L,a.v.i),b&&1!=a.O?pf(a):qf(a))}
|
|
|
|
|
function nf(a,b){var c;(c=!a.v||!Kb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.N?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Jb(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ia=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Re(this);this.fa=0;this.T=null;this.C=0;Ue(this.L,this.v.i);this.A.N=!1;rf(this);a||bd(this)};
|
|
|
|
|
l.save=function(){var a=new F(this);a.set(0,Ve(this.L));a.set(1,Ve(this.ga));a.set(2,Ve(this.ba));a.set(3,[this.u,this.R,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=We(this,a[b++]),this.ga=We(this,a[b++]),this.ba=We(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.O||this.j("running");this.A.N=!0;this.Aa=a;this.Ba=b};
|
|
|
|
|
l.stop=function(a,b){if(this.A.N){this.A.N=!1;this.C=b-this.Ba;if(!this.O){b="stopped";if(this.C){a-=this.Aa;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";rd(this)&&(b+=this.fa+" instructions, ",this.fa=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)}bd(this,!0);cd(this);rf(this,this.v.i);this.T=null}};function rd(a){return 1<a.b.length||!!a.ka}
|
|
|
|
|
function sd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=qd(a.v,1)));if(0<c&&(a.ka&&!--a.ka||Wc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(Ue(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}
|
|
|
|
|
function sf(a,b,c,d){var e=Y(b.B),f=a.Ga(b,1),g,h,k,p=0,m=f/Wb|0,t;for(t in tf)if(g=tf[t][m&t]){h=+t;m>>=6;switch(h){case 32512:k=uf;p=m&3;break;case 32256:k=vf;p=m&7;break;case 29248:k=wf,p=(m&48)>>2|(m&6)>>1}break}k=k&&k[p]||"";"S"==k&&g>xf&&(k="B");k=yf[g||0]+k;if(g){if(28700==h)h=f/Xb&127,p=I(a,h,-1);else if(h=f>>23&15,p=I(a,h,-1),h)for(m=0;m<zf.length;m++)g==zf[m][0]&&(t=zf[m][h])&&(k=yf[t],p="");k=Fa(k,8)+(p?p+",":"");f&4194304&&(k+="@");k+=I(a,f&262143,-1);(f=f>>18&15)&&(k+="("+I(a,f,-1)+")")}else k=
|
|
|
|
|
Fa(k,8)+af(f);f=k;g="";h=I(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ga(e,1),g+=" "+af(k),null==e.B)break;while(e.B!=b.B)}h+=Fa(g,16)+f;c&&(h=Fa(h,48)+";"+(c||""),h=a.v.A.La?h+("cycles="+ed(a.v).toString()+" cs="+n(a.v.za)):h+(null!=d?"="+d.toString():""));return h}
|
|
|
|
|
function Af(a,b,c,d){for(var e=-1,f,g,h=b.toUpperCase(),k=0;k<zf.length;k++)for(var p in zf[k])if(+p&&(g=zf[k][p],h==yf[g])){h=yf[zf[k][0]];c&&(c=I(a,+p)+","+c);break}for(var m in tf){f=+m;p=tf[m];switch(f){case 32512:k=uf;break;case 32256:k=vf;break;case 29248:k=wf;break;default:k=[""]}for(var t in p){g=p[t];for(var y=0;y<k.length;y++){var T=k[y];"S"==T&&g>xf&&(T="B");if(h==yf[g]+T){e=29248!=f?y:(y&3)<<1|(y&12)<<2;e=(t|e<<6)*Wb;break}}if(0<=e)break}if(0<=e)break}if(0<=e){if(c)for(b=c.split(","),
|
|
|
|
|
c=0;c<b.length;c++)if(m=b[c].trim()){if(1<c){a.j("too many operands: "+m);e=-1;break}h=m.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!h){a.j("unknown operand: "+m);e=-1;break}m=h[2];if(c||1==b.length)m=m?m.replace(/(^|[^0-9])\./g,"$1"+I(a,d)):"0";m=Je(a,m);if(void 0==m){e=-1;break}if(!c&&1<b.length)if(28700==f){if(0>m||127<m)m&=127;e+=m*Xb}else{if(0>m||15<m)m&=15;e+=m<<23}else{if(0>m||262143<m)m&=Rb;e+=m;if(m=h[3]){m=Je(a,m);if(void 0==m){e=-1;break}if(0>m||15<m)m&=15;e+=m<<18}h[1]&&(e+=4194304)}}}else null!=
|
|
|
|
|
c&&a.j("unknown instruction: "+b+" "+c);return e}function Qe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=Te(c);var d=a.H;Vc(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Te(c),d=a.H,Vc(d.b[c>>>d.i],!0);a.I=["bw"];a.pa=0;a.ka=0}
|
|
|
|
|
l.Ia=function(a,b,c){var d=!0;c||cg(this,a,b,!1,!0);if(a!=this.b){var e=Te(b);if(-1===e)this.j("invalid address: "+I(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ia(e&16383,a==this.I)}}d&&(a.push(b),c?b.ha=!0:(eg(this,a,a.length-1,"set"),Re(this)));return d};function cg(a,b,c,d,e){var f=!1;c=Te(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Te(h)&&(!d||h.ha)){f=!0;h.ha||e||eg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Vc(d.b[c>>>d.i],b==a.I));h.ha||Re(a);break}}return f}
|
|
|
|
|
function fg(a,b){for(var c=1;c<b.length;c++)eg(a,b,c);return b.length-1}function eg(a,b,c,d){c=b[c];a.j(b[0]+" "+I(a,c.B)+(d?" "+d:c.Za?' "'+c.Za+'"':""))}function rf(a,b){if(void 0!==b)Wc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ha){if(!cg(a,a.b,c,!0))break;b=0}}}
|
|
|
|
|
function Wc(a,b,c,d,e){var f=!1;if(!a.pa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ha)for(var k=Te(h)&(d==a.b?65535:-1),p=0;p<c;p++)if(b+p==k){var m,f=!0;h.ha&&(cg(a,d,h,!0),e=!0);if(m=h.tb){for(var f=!1,t=0;t<m.length;t++)if(!gg(a,m[t],!0)){if(m[t].indexOf("if")){f=!0;break}for(var y=t+1;y<m.length&&m[y].indexOf("else");y++)t++;if(y==m.length){f=!0;break}}a.v.A.N||(f=!0)}if(f){e||eg(a,d,g,"hit");break}}}a.pa--;return f}
|
|
|
|
|
function hg(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);Ue(e.ya,d);f+="="+I(e,e.Ga(e.ya),36)+" ";c+=f}if(b){b="";for(d=0;d<bf.length;d++)(e=bf[d]||"")&&(e+="="+I(a,a.lb(d),d>=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.zb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
function ye(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,p=h.a;if(void 0!==k){var m=f,k=[k>>>0,g],t=Ha(m,k,a.zb);0>t&&m.splice(-(t+1),0,k)}p&&(h.a=p.replace(/''/g,'"'))}a.F.push({sd:b,B:c,Ob:d,U:e,ub:f})}function ig(a,b,c){var d=[],e=Te(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ob;if(e>=g&&e<g+h){e=Ha(f.ub,[e-g],a.zb);0<=e?jg(a,b,e,d):c&&(e=~e,jg(a,b,e-1,d),jg(a,b,e,d));break}}return d}
|
|
|
|
|
function jg(a,b,c,d){var e={},f=a.F[b].ub,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
|
|
|
|
function kg(a,b){var c=Ye(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+I(a,c.B)),a.R=!0,H(a.G)):"/"==d[0]||0<=d.indexOf(":")?a.oa?a.j("assembly already in progress"):a.oa=new lg(d,c.B,a,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):a.j("loadAssembly()");a.oa=null}):(b.shift(),b.shift(),b.shift(),b=Af(a,d,b.join(""),c.B||0),0<=b&&(a.rb(c,b),a.j(sf(a,c))))}}
|
|
|
|
|
function mg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Oe(a)||a.j("no variables"),!0;if(!c[2])return Oe(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=Je(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
|
|
|
|
function ng(a,b,c){var d=null;if(b=Ye(a,b)){var e=ig(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+I(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+I(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.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=Je(a,b);if(void 0===g)return;b=a.kb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case cf:G(h,
|
|
|
|
|
g);Ue(a.L,h.i);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.u=g?h.u|f:h.u&~f);H(a.G);a.j("updated registers:")}}a.j(hg(a,e));c&&(Ue(a.L,d.i),qf(a,I(a,a.L.B)))}}function og(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ne(a,null,c[2].charCodeAt(0)):Je(a,b,!0)}
|
|
|
|
|
function pg(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=Le(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.va=b;Xa(c,function(){return Nb(a,!0)&&rc(a,e,d,!1)},function(){a.ea&&a.ea.stop();H(a.G,-1);Nb(a,!1)})}}
|
|
|
|
|
function qf(a,b,c,d){if(b=Ye(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Le(a,c.substr(1)),null!=c&&(d=c);else{d=Ye(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.O?a.C:null,g=null!=f?"cycles":null,h=ig(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var p=h[0]+":";h[2]&&(p+=" "+h[2]);a.j(p)}h[3]&&(g=h[3],f=null);h=a.ba;p=b;h.B=p.B;h.Wa=p.Wa;h.ha=p.ha;h.ca=p.ca;a.j(sf(a,b,g,f));e-=b.B-k;c++}}}
|
|
|
|
|
function gg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.R&&(a.j("ended assemble at "+I(a,a.ba.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Kb(a)&&0<b.length){a.R&&(b="a "+I(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),p=1;p<h.length;p++){var m=h.charAt(p);if("?"==k||"r"==k||"a">m||"z"<m){g[0]=h.substr(p);g.unshift(h.substr(0,p));break}}switch(g[0].charAt(0)){case "a":kg(a,g);
|
|
|
|
|
break;case "b":a:{var t=g[0],y=g[1],T=b;if("?"==y)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 ja=t.charAt(1);if("l"==ja){var cb;cb=0+fg(a,a.b);cb+=fg(a,a.M);(cb+=fg(a,a.I))||a.j("no breakpoints")}else if("n"==ja){var Z=+y||0;y&&(a.ka=Z);a.j("break after "+Z+" instruction(s)")}else if(void 0===
|
|
|
|
|
y)a.j("missing breakpoint address");else{var L=Y();if("*"!=y&&(L=Ye(a,y,a.L),!L))break a;"c"==ja?null==L.B?(Qe(a),a.j("all breakpoints cleared")):cg(a,a.b,L)||cg(a,a.M,L)||cg(a,a.I,L)||a.j("breakpoint missing: "+I(a,L.B)):null!=L.B&&($e(a,L,T),"p"==ja?a.Ia(a.b,L):"r"==ja?a.Ia(a.M,L):"w"==ja?a.Ia(a.I,L):a.j("unknown breakpoint command: "+ja))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var oa,pa=g[0],da=g[1],Ba=g[2],gh=g[3];if("?"==da){var db="";for(oa in $b)a.na[oa]&&(db&&(db+=","),db+=
|
|
|
|
|
oa);db+=",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");db.length&&a.j("dump extension commands:\n\t"+db)}else if("state"==da){var Cd=qg(a.G,!0);"console"==Ba?console.log(Cd):(a.ta&&(a.ta.value=""),Cd&&a.j(Cd))}else if("symbols"==da)for(var Dd=0;Dd<a.F.length;Dd++){var Ed=a.F[Dd],eb;for(eb in Ed.U)if("."!=eb.charAt(0)){var Bf=Ed.U[eb].o;
|
|
|
|
|
if(void 0!==Bf){var Cf=Ed.U[eb].l;Cf&&(eb=Cf);a.j(I(a,Bf)+" "+eb)}}}else{if("d"==pa){for(oa in $b)if(g[1]==oa){var Df=a.na[oa];Df?(g.shift(),g.shift(),Df(g)):a.j("no dump registered for "+da);break a}da||(pa=a.Ca||"dw")}else a.Ca=pa;if("dh"==pa){var Ef=da,Ff=Ba,Gf="",Hf=0,ka=a.S,qa=a.i;if(qa.length){var ea=+Ef||a.qa,yb=+Ff||10;isNaN(ea)?ea=yb:Gf="more ";ea>qa.length&&(a.j("note: only "+qa.length+" available"),ea=qa.length);ka-=ea;0>ka&&(null==qa[qa.length-1].B?(ea=ka+ea,ka=0):ka+=qa.length);var Fd=
|
|
|
|
|
[];"call"==Ff&&(yb=1E5,Fd=["CALL"]);for(void 0!==Ef&&a.j(ea+" instructions earlier:");0<yb&&ka!=a.S;){var If=qa[ka++];if(null==If.B)break;var zb=Y(If.B),hh=ea--,Jf=sf(a,zb,"history",hh);(!Fd.length||0<=Jf.indexOf(Fd[0]))&&a.j(Jf);zb.ib&&(ka+=zb.ib,yb-=zb.ib,ea-=zb.ib);ka>=qa.length&&(ka=0);a.qa=ea;Hf++;yb--}}Hf||(a.j("no "+Gf+"history available"),a.qa=void 0)}else{var fb=Ye(a,da,a.ga);if(fb){var La=0,Kf="ds"==pa;if(Ba){if("l"==Ba.charAt(0))Ba=Ba.substr(1)||gh,La=Le(a,Ba);else{var Lf=Ye(a,Ba);Lf&&
|
|
|
|
|
(La=Lf.B-fb.B)}0>La&&(La=0);65536<La&&(La=65536)}var ih=a.ca;fb.ca&&(a.ca=fb.ca);for(var Mf="db"==pa?1:2,Gd=La||32,Hd=1==Mf?2:4,jh=(Gd+Hd-1)/Hd|0||1,Ma="";jh--&&0<Gd;){for(var Na="",Nf="",da=I(a,fb.B),Of=Hd;0<Of--&&0<Gd--;){var Ac=a.Ga(fb,1);Kf?(Na&&(Na+=","),Na+=Ac):(Na+=af(Ac),Na+=" ");for(var Pf=0;1==Mf&&6>Pf;Pf++)Nf+=String.fromCharCode((Ac%64|0)+32),Ac/=64}Ma&&(Ma+="\n");Ma=Kf?Ma+(Na+","):Ma+(da+": "+Na+(0>Of?" "+Nf:""))}Ma&&a.j(Ma);a.ca=ih}}}}break;case "e":if("else"==g[0])break;var Qf,Rf,
|
|
|
|
|
Sf=g[0],Id=g[1];"e"==Sf||"ew"==Sf?(Qf=a.Ga,Rf=a.rb):Id=null;if(null==Id)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Bc=Ye(a,Id,a.ga);if(Bc)for(var Jd=2;Jd<g.length;Jd++){var Ab=Je(a,g[Jd]);if(void 0===Ab)break;Ab=Ze(Ab);a.j("changing "+I(a,Bc.B)+" from "+af(Qf.call(a,Bc))+" to "+af(Ab));Rf.call(a,Bc,Ab,1)}}break;case "g":a:{var Tf=g[1],kh=b;if(void 0!==Tf){var Kd=Ye(a,Tf);if(!Kd)break a;$e(a,Kd,kh);a.Ia(a.b,Kd,!0)}mf(a,!0,c)}break;case "h":a.A.N?(c||a.j("halting"),
|
|
|
|
|
a.W()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Ld;var Bb=b.substr(2),Bb=Ga(Bb);Je(a,Bb)?(c||a.j("true: "+Bb),Ld=!0):(c||a.j("false: "+Bb),Ld=!1);Ld||(d=!1);break}f=!0;break;case "k":var lh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Md=0,Nd=Y(),Cb=Y();for(a.j("stack trace for "+I(a,Cb.B));10>Md;){for(var Oa=null,mh=256;65536>Cb.B>>>0;){Nd.B=a.Ga(Cb,2);if(null==Cb.B||!mh--)break;if(!(Nd.B&
|
|
|
|
|
1)){for(var nh=a,Cc=Nd,Uf=null,Db=Cc.B,Vf=Db,Od=1;6>=Od&&Db;Od++){if(2<Od){Cc.B=Db;var Dc=sf(nh,Cc);if(0<=Dc.indexOf("JSR")){var Wf=Dc.indexOf(" ");if(Db+(Dc.indexOf(" ",Wf+1)-Wf-1)/2==Vf){Uf=Dc;break}}}Db-=2}Cc.B=Vf;if(Oa=Uf)break}}if(!Oa||null==Oa)break;var Xf=null;if("ks"==lh){var Yf=Oa.match(/[0-9A-F]+$/);Yf&&(Xf=ng(a,Yf[0]))}Oa=Fa(Oa,50)+" ;"+(Xf||"stack="+I(a,Cb.B));a.j(Oa);Md++}Md||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){ng(a,g[1],!0);break}f=!0;break;case "m":a:{var ra,
|
|
|
|
|
sa=null,M=g[1];"?"==M&&(M=void 0);if(void 0!==M){var Ca=0;if("all"==M)Ca=1879046143,M=null;else if("on"==M)sa=!0,M=null;else if("off"==M)sa=!1,M=null;else{"keys"==M&&(M="key");"kbd"==M&&(M="keyboard");for(ra in $b)if(M==ra){Ca=$b[ra];sa=!!(a.X&Ca);break}if(!Ca){a.j("unknown message category: "+M);break a}}if(Ca)if("on"==g[2])a.X|=Ca,sa=!0;else if("off"==g[2]&&(a.X&=~Ca,sa=!1,1073741824==Ca)){for(var Zf=1E3<=a.P.length?a.P.length-1E3:0;Zf<a.P.length;)a.j(a.P[Zf++]);a.P=[]}}var oh=0,Eb="";for(ra in $b)if(!M||
|
|
|
|
|
M==ra){var ph=!!(a.X&$b[ra]);if(null===sa||sa==ph)Eb&&(Eb+=","),++oh%10||(Eb+="\n\t"),"key"==ra&&(ra="keys"),Eb+=ra}void 0===M&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==sa?sa?"messages on: ":"messages off: ":"message categories:\n\t")+(Eb||"none"));Re(a)}break;case "p":if("print"==g[0]){og(a,b.substr(5));break}var $f=g[0],ag="p"==$f?0:"pr"==$f?1:-1;if("?"==g[1]||0>ag)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");
|
|
|
|
|
else if(a.O)a.j("step in progress");else{var bg=Y(a.v.i);a.Ga(bg);a.O?(a.Ia(a.b,bg,!0),mf(a)||(a.G&&id(a.G),a.O=0)):pg(a,ag?"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 Fb=+g[2];if(8==Fb||10==Fb||16==Fb)a.ca=Fb;else{a.j("invalid base: "+Fb);break}}a.j("default base: "+a.ca);break;case "cs":var Gb;void 0!==g[3]&&(Gb=+g[3]);switch(g[2]){case "int":a.v.ka=Gb;break;case "start":a.v.Aa=Gb;break;case "stop":a.v.ma=Gb;break;
|
|
|
|
|
default:a.j("unknown cs option");break a}void 0!==Gb&&ad(a.v);a.j("checksums "+(a.v.A.La?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),
|
|
|
|
|
a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":pg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){mg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.v.wb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){og(a,b.substr(1));break}var Pd="commands:",Qd;for(Qd in rg)Pd+="\n"+Fa(Qd,9)+rg[Qd];rd(a)||(Pd+="\nnote: history disabled if no exec breakpoints");
|
|
|
|
|
a.j(Pd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(dg){a.j("Debugger "+(dg.stack||dg.message)),d=!1}return d}function dd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!gg(a,b[+d]))return!1;return!0}
|
|
|
|
|
var rg={"?":"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"},xf=20,yf=".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 CAM 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 HALT JRSTF JEN".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(" "),sg={},tf=(sg[28672]={0:101},sg[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},sg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:xf,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},sg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},sg[29248]={24576:79,24640:80,25088:81,25152:82},sg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
|
|
|
|
28692:98,28696:99,28700:100},sg),uf=["","I","M","S"],vf=" L E LE A GE N G".split(" "),wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),zf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],lf=1E3,of=">> ";$a(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Pe(d);tb(d,c)}});
|
|
|
|
|
function lg(a,b,c,d){this.O=b||0;this.v=c;this.done=d;this.j=c.j;this.w={};this.M={};this.L=this.u=0;this.H=[];this.G=[];this.I=[];this.Fa=this.O;this.F=null;this.b=0;this.K=null;this.C=this.J="";this.i=null;this.D="";var e=this;Ja(a,null,!0,function(a,b,c){if(!c){var d=e.v;c=d.K;d.K={};try{d=b;if(Aa(a,".html")){for(var d="",f,g=/<pre>([\s\S]*?)<\/pre>/gi;f=g.exec(b);){var h=f[1];0<=h.indexOf("&")&&(h=h.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&"));d+=h}(f=d.match(/&[a-z]+;/i))&&
|
|
|
|
|
e.j("warning"+(e.u?" at line "+xa(e.u):"")+": "+("unrecognized HTML entity: "+f[0]))}var y,T=d.split(/\r?\n/);for(y=0;y<T.length&&(e.u++,tg(e,T[y]+"\r\n"));y++);for(y=0;y<e.G.length;y++){var ja=e.G[y],cb=e.w[ja];cb?ug(e,cb.Ja):e.error("missing definition for literal: "+ja)}for(y=0;y<e.I.length;y++){f=b=0;var Z=e.I[y],L=Z.Fa;if(0>Z.Ea){b=Af(e.v,Z.Ka[0],Z.Ka[1],L);if(0>b){e.error("unable to parse instruction: "+Z.Ka[0]+" "+Z.Ka[1]);break}e.H[L++]+=b}else for(h=0;h<Z.Ka.length;h++){var oa=Z.Ka[h],pa=
|
|
|
|
|
vg(e,oa,L);if(void 0===pa){e.error("unable to parse expression: "+oa);break}b+=pa;f+=Z.Ea;if(36>f)b*=Math.pow(2,36-f);else{if(void 0===e.H[L]){e.error("undefined fixup location: "+wa(L,0,!0));break}e.H[L++]+=b;b=f=0}}}}catch(da){e.j(da.message),e.L=-1}e.v.K=c;c=e.L}e.done(e,a,c)})}
|
|
|
|
|
function tg(a,b){if(a.b){if(1==a.b){var c=b.indexOf(a.C);0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1<a.b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.C)a.b++;else if(b[d]==a.J&&(a.b--,1==a.b)){a.b=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.K||"";a.w[d].Ja+=b;a.b||(a.K=null,wg(a,d));b=c}if(a.b)return!0}null!=a.i&&(b=xg(a,b));c=b.match(/\s*([A-Z$%._][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)\s*(;?.*)/i);if(!c||c[4]&&";"!=c[4].slice(0,1))return a.error("failed to parse line: "+
|
|
|
|
|
b),!1;d=c[1];b=c[2].toUpperCase();c=c[3].trim();if(d){var e=d.slice(-1),d=d.slice(0,-1);":"==e?yg(a,d,a.Fa,!0):(c=b+c,b=e)}a.F=b;c=c.trim();"="==c[0]&&(d=b,c=c.substr(1),b="=");for(var e=c,f=0,g=null,h=0,k=-1;h<e.length;){var p=e[h];"["==p&&(f++||(k=h));h++;if("]"==p&&0>=--f)break}0>f&&a.error("missing bracket(s): "+e);0<=k&&(g=e.substr(k,h-k));(e=g)&&(c=c.replace(e,zg(a,Ag,e)));f=null;if(e=c.match(/([A-Z$%.][0-9A-Z$%.]*)#/i))f=e[1],g="_"+f,a.w[g]={name:g,mb:0,vb:[],Ib:[],Ja:f+": 0"},a.G.push(g),
|
|
|
|
|
f=e[0];(e=f)&&(c=c.replace(e,e.slice(0,-1)));if(!wg(a,b,c))switch(b){case "":break;case "=":b=d;d=vg(a,c);void 0===d?a.error("parseExpression("+c+")"):yg(a,b,d);break;case Bg:case Cg:case Dg:xg(a,c);break;case Eg:Fg(a,0,Gg(a,c),18);break;case Hg:case Ig:case Jg:zg(a,b,c);break;case Kg:case Lg:break;default:d=b,e=c,f=Af(a.v,d),0<=f?(Fg(a,f,[d,e],-1),d=!0):d=!1,d||Fg(a,0,[b+c])}return!0}
|
|
|
|
|
function wg(a,b,c){var d=a.w[b];if(!d)return!1;if(null!=c)return b=",","("==c[0]&&(b+=")",c=c.substr(1)),c=Gg(a,c,b),ug(a,d.Ja,d.vb,c),!0;if("_"!=b[0])return!1;switch(b.substr(1)){case Ig:d.mb||ug(a,d.Ja);break;case Jg:for(;0<d.mb--;)ug(a,d.Ja);break;default:return!1}return!0}
|
|
|
|
|
function ug(a,b,c,d){b=b.split(/\r?\n/);for(var e=0;e<b.length;e++){var f=b[e]+"\r\n";if(c)for(var g=0;g<c.length;g++)for(var h=c[g],k=d[g]||"",p=0;;){var m=f.indexOf(h,p);if(0>m)break;var p=m+1,t=m+h.length;m&&f[m-1].match(/[0-9A-Z$%.]/i)||!(t>=f.length)&&f[t].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,m)+k+f.substr(t),p=m+k.length)}if(!tg(a,f))break}}lg.prototype.error=function(a){throw Error("error"+(this.u?" at line "+xa(this.u):"")+": "+a);};
|
|
|
|
|
function Mg(a,b,c){c=void 0===c?",":c;for(var d=0,e=null,f=0;d<b.length;){var g=b[d];if(0<=c.indexOf(g))break;if("<"==g)f++;else if(">"==g&&0>--f){a.error("missing bracket(s): "+b);break}d++}f?0<f&&a.error("extra bracket(s): "+b):e=b.substr(0,d);return e}function vg(a,b,c){void 0===c&&(c=a.Fa);b=b.replace(/\.([^0-9]|$)/g,I(a.v,c,-1)+"$1");return Je(a.v,b)}function Gg(a,b,c){for(var d=[];b;){b=b.trim();var e=Mg(a,b,c);if(!e)break;d.push(e);b=b.substr(e.length+1)}return d}
|
|
|
|
|
function xg(a,b){var c=b;null==a.i&&(a.i=a.D="",b&&(a.i=b[0],c=b=b.substr(1)));if(a.i){var d=b.indexOf(a.i);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.i=null);a.D+=b}if(null==a.i){var d=b=0,e,f,g=a.D.length;a.F==Cg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.F==Dg&&(e--,f++));var k=a.D.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Fg(a,d),b=0)}b&&Fg(a,d)}return c}
|
|
|
|
|
function zg(a,b,c){var d,e,f;a.C="<";a.J=">";if(b==Hg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+" definition: "+c),"";b=d[1];c=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);e=-1;f=3}else if(b==Ag)a.C="[",a.J="]",b="_"+xa(a.Fa,5),a.G.push(b),d=[c[0],b+": "+c.substr(1)],c=[],e=a.u,f=0;else{e=Mg(a,c);if(!e)return a.error("missing "+b+" expression: "+c),"";c=c.substr(e.length+1);e=e.trim();d=c.match(/\s*(<|)(.*)/i);b="_"+b;c=[];e=vg(a,e)||0;f=1}b=b.toUpperCase();
|
|
|
|
|
a.b=1;var g="";d[f]&&(a.b=2,g=d[f+1],g.slice(-1)==a.J&&(a.b=0,g=g.slice(0,-1)));a.w[b]={name:b,mb:e,vb:c,Ib:[],Ja:g};a.b?a.K=b:wg(a,b);return b}function yg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&a.M[b]?a.error("label "+b+" redefined"):(a.M[b]={name:b,value:c,hd:d,gd:e,jd:f},a.v.K[b]=c)}function Fg(a,b,c,d){a.H[a.Fa]=b;c&&a.I.push({Fa:a.Fa,Ka:c,Ea:void 0===d?36:d});a.Fa++}
|
|
|
|
|
var Bg="ASCII",Cg="ASCIZ",Hg="DEFINE",Ig="IFE",Ag="LITERAL",Kg="PAGE",Jg="REPEAT",Dg="SIXBIT",Lg="SUBTTL",Eg="XWD";
|
|
|
|
|
function Ng(a,b,c){r.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Og(this,b);this.O=Zc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.T=!1;this.I=this.C=null;this.S=this.P=!1;this.ba=Zc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Pg(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.H=new yc({id:this.Ua+".bus",busWidth:this.aa},this.v,this.D);var d,e=qb(this.id);if((this.u=sb("Panel",this.id))&&this.u.ta)for(b=
|
|
|
|
|
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(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.Da&&d.Da(this,this.H,this.v,this.D);b=null;d=Zc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Zc(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=Qg),this.b&&(this.I=new F(this,"1.34.2"),Rg(this.I)?b=null:
|
|
|
|
|
delete this.I);!b&&this.b&&(b=Sg(this))&&(this.K=!0);if(b){var g=this;Ja(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.L=b,g.T=!0);Lb(g)})}else Lb(this);this.J.power||(this.O=!0);!c&&this.O&&Tg(this,this.Na)}else q("Unable to find CPU component")}ma(Ng,r);function Og(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}
|
|
|
|
|
function Zc(a,b,c,d){var e=b.toLowerCase(),e=Va(b)||Va(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 Tg(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Kb(f)){Kb(f,function(){Tg(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function Ug(a,b){var c=new F(a,"1.34.2",Vg);if(Rg(c)&&Wg(c)){var d=c.get(Xg),e=b?b.get(Xg):"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=Ng.prototype;
|
|
|
|
|
l.Na=function(a){void 0===a&&(a=this.b||(this.L?Yg:Qg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.2");if(a==Zg)b=!0;else if(a>Qg){if(Rg(d,this.L)){this.C=new F(this,"1.34.2",$g);Rg(this.C)&&(ah(this,d),a=bh,ch(this.C));this.C.set(Xg,Ia());dh(this.C);var e=this.b&&!this.K;if(a==Yg||pb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Wg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Rg(d,g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.da("Error: "+g),"unable to verify user"==g&&(Ta(eh,""),this.i=null)):this.j(f+": "+g),ch(d),Rg(d)?(c=Wg(d),e=!0):c=!1))}e&&Ug(this,c?d:null)}else a==bh&&d.clear()}else Ug(this);delete this.L;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=fh(this,g,d,b,c));b=[d,a,c];a!=Zg?Tg(this,this.Ab,b):this.Ab(b)}};
|
|
|
|
|
function fh(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.T?(c.clear(),a.b=Qg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.ob){var g=b.ob.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
|
|
|
|
l.Ab=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(fh(this,this.v,b,c,a),H(this,-2),this.v.Z());this.P&&(ah(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
|
|
|
|
function ah(a,b){if(pb("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.i||"";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;Ja("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function qg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.2"),g=new F(a,"1.34.2",Vg),h=Ia();g.set(Xg,h);f.set(Xg,h);f.set(qh,"1.34.2");f.set(rh,window?window.location.href:null);f.set(sh,window?window.navigator.userAgent:"");a.v&&a.v.ia&&(c&&(b&&(a.v.A.Z=a.v.A.N),a.v.W()),d=a.v.ia(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var p=h[k];p.A.V&&(p.ia&&(d=p.ia(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.A.V=
|
|
|
|
|
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&th(a,a.i,f.toString()),dh(g)&&dh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==uh),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
|
|
|
|
l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Pb(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Pb(this,"Resetting "+this.v.type),this.v.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Pb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;H(this,-1)};l.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}H(this,-1)};
|
|
|
|
|
l.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}H(this,-1)};
|
|
|
|
|
function H(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.aa.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.v.A.N;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.va);ic(a,a.i);cc(a,a.w)}}
|
|
|
|
|
l.ja=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?qg(d,!1,!0):Tg(d,d.Na))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");qg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Na(Qg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(Aa(Pa(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.J[b]=c,c.onclick=function(){var a=Pg(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=qg(d,b);b?th(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function Pg(a,b){var c=a.i;c||((c=Sa(eh),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=vh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
|
|
|
|
function vh(a,b){a.i=null;b=Ja(Pa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(eh,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function Sg(a){var b=null;a.i&&(b=Pa()+"/api/v1/user?req=load&user="+a.i+"&state="+wh(a,"1.34.2"));return b}
|
|
|
|
|
function th(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=wh(a,"1.34.2");d.data=c;b=Ja(Pa()+"/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),Ta(eh,""),a.i=null)}}
|
|
|
|
|
function id(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var $g="failsafe",Vg="validate",Xg="timestamp",qh="version",rh="url",sh="browser",eh="user",Zg=-1,Qg=0,Yg=1,bh=2,uh=3;$a(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=u(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=u(f),g=new Ng(g,d,!0);tb(g,f);g.O&&Tg(g,g.Na)}});
|
|
|
|
|
ab.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=sb("Computer",c.id))&&c.S&&!c.A.V&&c.Na(Zg)}});ab.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=sb("Computer",c.id))&&c.A.V&&qg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=wh(a,b,c);ch(this,a.Kb)}l=F.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 Rg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Qa()&&(b=Sa(a.key))?(a.i=b,a.v=!0):!1}function Wg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){q(c.message||c),b=!1}return b}function dh(a){var b=!0;if(Qa()){var c=JSON.stringify(a.b);Ta(a.key,c)||(q("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.i};
|
|
|
|
|
function ch(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){ch(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 wh(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 xh=0;
|
|
|
|
|
function yh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ja(a,null,!0,function(h,k,p){p?(k||(k="unable to load "+a+" ("+p+")"),g(k,null)):zh(k,a,b,c,d,e,f,g)})}
|
|
|
|
|
function zh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
|
|
|
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Ah(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function Ah(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ja(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],p,m=/( [a-z]+=)(['"])(.*?)\2/g;p=m.exec(f);)k=0>k.indexOf(p[1])?k.replace(">",p[0]+">"):k.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[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);Ah(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function Bh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Da(a))}function g(a){f("Error: "+a);p&&(--xh||hb(!0));p=!1}var h,k,p=!0;xh++;nb[b]={};try{if(h=document.getElementById(b)){var m;if("object"==typeof resources&&(m=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));t.appendChild(y)}d||
|
|
|
|
|
(m=a,"pdp"==a.substr(0,3)&&(m="pdpjs"),d="/versions/"+m+"/1.34.2/components.xsl");m=function(e,k){k?yh(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--xh||hb(!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),--xh||
|
|
|
|
|
hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?yh(c,b,a,e,!0,f,m):zh(c,null,b,a,e,!1,f,m)}else g("missing machine element: "+b)}catch(T){g(T.message)}return p}window.embedPDP10=function(a,b,c,d){hb(!1);return Bh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Bh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")};
|
|
|
|
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!vb[a]){for(var c=!0,d=vb,e=a,f=b.length,g=[],h=[],k="",p=null,m=0;m<f;m++){var t=b[m];if('"'==t||"'"==t)p&&t!=p?k+=t:(p?p=null:p=t,k&&(h.push(k),k=""));else{if(!p){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;ub(a)||(c=!1)}return c};window.enableEvents=hb;window.sendEvent=jb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
|
|
|
|
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,xd,yd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&y)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,we.call(this,this.f(this.b)))},function(a,b){this.g(b,we.call(this,this.b))},function(a,b){this.g(this.b,
|
|
|
|
|
we.call(this,this.f(b)))},function(a,b){a=we.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,oe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,oe.call(this,this.f(b)))},function(a,b){a=oe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ve.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,ve.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,ve.call(this,this.f(b),this.f(this.b),
|
|
|
|
|
!0))},function(a,b){this.g(this.b,this.g(b,ve.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,ve.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,ve.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,ve.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ve.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=qe.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
|
|
|
|
1&15,this.F))},function(a,b){a=qe.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=qe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=qe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=qe.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=qe.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
|
|
|
|
function(a,b){a=this.f(b);b=this.f(b+1&15);b=qe.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=qe.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(E-a):a;0<c?(35<=c?(d=0>d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.u|=131072):a-c<=A&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;
|
|
|
|
|
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%E:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;H(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>A&&
|
|
|
|
|
d<C)this.u|=131072;if(71<=a){if(0<e&&e<B||e>A&&e<C)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=A?e+c>A&&(this.u|=131072):e-c<=A&&(this.u|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.u|=131072):(f-c<=A&&(this.u|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?E-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+
|
|
|
|
|
d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
|
|
|
|
|
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%E,d=0):(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E):-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)%E,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},K,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.N||(this.g(b,d*
|
|
|
|
|
z+c),a||pd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<B&&H(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=B&&H(this,this.b)},function(a){this.w(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,H(this,this.b))},function(){this.ra=this.b},K,function(a){this.w(a)},function(a,b){a=this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=E&&(a-=E);a/z|0||(this.u|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145;
|
|
|
|
|
0>a&&(a+=E);(a/z|0)==y&&(this.u|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.u&y)*z+this.i);H(this,this.b+1)},function(a,b){this.g(b,(this.u&y)*z+this.i);H(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))},
|
|
|
|
|
function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},me,function(a,b){0>S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){S(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.b)&&H(this,
|
|
|
|
|
this.i+1)},function(a,b){S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0<S(this.f(b),this.b)&&H(this,this.i+1)},ne,function(a,b){0>S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){0<S(this.f(b),this.f(this.b))&&
|
|
|
|
|
H(this,this.i+1)},me,function(a,b){0>U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))||H(this,this.b)},function(a,b){0>=U(this.f(b))&&H(this,this.b)},function(){H(this,this.b)},function(a,b){0<=U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))&&H(this,this.b)},function(a,b){0<U(this.f(b))&&H(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)||H(this,this.i+1);b&&this.g(b,
|
|
|
|
|
a)},function(a,b){a=this.f(this.b);0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){H(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,O.call(this,this.f(b),1))},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>U(a)&&H(this,this.b)},function(a,b){a=this.g(b,
|
|
|
|
|
O.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,
|
|
|
|
|
b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,
|
|
|
|
|
b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,P.call(this,this.f(b),1))},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,P.call(this,this.f(b),
|
|
|
|
|
1));H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)||H(this,this.i+
|
|
|
|
|
1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<U(a)&&H(this,this.i+
|
|
|
|
|
1);b&&this.g(b,a)},zd,zd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),this.b))},function(a,b){this.g(this.b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,
|
|
|
|
|
this.g(b,Q(C-this.f(b),this.f(this.b))))},wd,xd,ne,wd,function(a,b){this.g(b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),C-this.f(this.b))))},me,me,yd,yd,function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(this.b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,V(this.f(b),
|
|
|
|
|
this.f(this.b))))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(this.b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,
|
|
|
|
|
xe(this.f(b),this.f(this.b)))},function(a,b){this.g(b,xe(this.f(b),this.b))},function(a,b){this.g(this.b,xe(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,xe(this.f(b),this.f(this.b))))},Ad,Ad,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(C-this.f(b),this.b))},function(a,b){this.g(this.b,T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,
|
|
|
|
|
T(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.b))},function(a,b){this.g(this.b,T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,T(C-this.f(b),C-this.f(this.b)))},function(a,
|
|
|
|
|
b){this.g(b,T(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),C-this.f(this.b))))},Td,Td,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,ce,ee,fe,ge,he,ie,je,ke,ce,ee,fe,ge,he,ie,je,ke,ce,ee,fe,ge,he,ie,je,ke,ce,ee,fe,ge,he,ie,je,ke,me,me,function(a,b){Q(this.f(b),this.b)||H(this,this.i+1)},function(a,
|
|
|
|
|
b){Q(this.f(b),this.b*z)||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){Q(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){Q(this.f(b),this.b*z)&&H(this,this.i+1)},ne,ne,function(a,b){Q(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){Q(this.f(b),W(this.f(this.b)))||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){Q(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){Q(this.f(b),W(this.f(this.b)))&&
|
|
|
|
|
H(this,this.i+1)},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);
|
|
|
|
|
var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),W(this.f(this.b))))},function(a,
|
|
|
|
|
b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(b,V(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),this.b))},function(a,b){H(this,
|
|
|
|
|
this.i+1);this.g(b,V(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,
|
|
|
|
|
b){H(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(b,T(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=
|
|
|
|
|
this.f(b);Q(a,this.b*z)||H(this,this.i+1);this.g(b,T(a,this.b*z))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);
|
|
|
|
|
Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
|
|
|
|
|
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],le=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
|
|
|
|
function ye(a){u.call(this,"ROM",a,128);this.U=this.b=null;this.C=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=va(this.w);if(this.w){a=this.w;var b=wa(this.F);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(lb(c.Ua,a,b),(a=Ma(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);ze(c)})}}pa(ye,u);
|
|
|
|
|
ye.prototype.Ea=function(a,b,c,d){this.G=b;this.v=c;this.D=d;ze(this)};ye.prototype.va=function(){this.U&&(this.D&&Ae(this.D,this.id,this.C,this.u,this.U),delete this.U);return!0};ye.prototype.ka=function(){return!0};
|
|
|
|
|
function ze(a){if(!Jb(a)){if(a.w){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)yb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.C;if(Fc(a.G,b,a.u,Nc)){var c;for(c=0;c<a.b.length;c++)vc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.u,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.u;g=0;for(e>>>=
|
|
|
|
|
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Kb(a)}}Ya(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new ye(d);sb(d,c)}});
|
|
|
|
|
function Be(a){u.call(this,"RAM",a);this.U=this.Ia=null;this.i=+a.addr;this.u=+a.size;this.ta=a.load;this.sa=a.exec;null!=this.ta&&(this.ta=+this.ta);null!=this.sa&&(this.sa=+this.sa);this.w=this.F=!1;this.b=a.file;this.C=va(this.b);if(this.b){a=this.b;var b=wa(this.C);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ga(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(lb(c.Ua,a,b),(a=Ma(a,b))?(c.Ia=a.Ia,
|
|
|
|
|
c.U=a.U,null==c.ta&&(c.ta=a.ta),null==c.sa&&(c.sa=a.sa)):c.b=null);Ce(c)})}}pa(Be,u);Be.prototype.Ea=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ce(this)};Be.prototype.va=function(a,b){this.U&&(this.D&&Ae(this.D,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};Be.prototype.ka=function(){return!0};
|
|
|
|
|
function Ce(a){if(a.G&&(!a.w&&a.u&&(Fc(a.G,a.i,a.u,1)?a.w=!0:a.u=0),!Jb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Ia)return;De(a,a.Ia,a.ta,a.sa,a.i)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;Kb(a)}}
|
|
|
|
|
Be.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=E);for(var g=Math.trunc(Math.abs(g))%E,h=d;f--&&h<e.size;h++)e.w(g,d,e.B+d);c-=16384;b++;d=0}this.Ia&&De(this,this.Ia,this.ta,this.sa,this.i,!this.D)}this.F=!1};
|
|
|
|
|
function De(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)vc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Sa=d,H(a,d),f?a.A.V?a.A.N||pc(a):a.A.Z=!0:a.D&&a.A.V?a.W()||a.H.A.reset||(ad(a.D),I(a.H,-1)):!1===f&&a.W(),!a.A.N&&a.Ha&&a.Ha.stop()));return g}Ya(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Be(d);sb(d,c)}});
|
|
|
|
|
function Ee(a){u.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Fe;b&&(void 0===c&&(c="Panel"),(c=rb(c,this.id))&&(b=c.J[b])&&this.la(null,a,b))}this.b=this.C=null;this.exports={connect:this.Cb,receiveData:this.Ya,receiveStatus:this.ac,setConnection:this.dc}}pa(Ee,u);l=Ee.prototype;
|
|
|
|
|
l.la=function(a,b,c){var d=this;switch(b){case Fe:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.qb:ra.Gb:46==c?b=ra.qb:a.ctrlKey&&c>=ra.pb&&c<=ra.Hb&&(b=c-(ra.pb-ra.Db));b&&(a.preventDefault&&a.preventDefault(),d.Ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.Fb&&(b=ra.Eb);d.Ya(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.Ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ea=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Kb(this)};
|
|
|
|
|
l.Cb=function(a){if(!this.b){var b=Yc(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Da(c[0]);if(d!=this.Ta)return;c=Da(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.C=e.receiveData){this.u=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.va=function(a,b){if(!b)if(this.Cb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
|
|
|
|
l.ka=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new G(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ya=function(a){if("number"==typeof a)this.i.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.i.push(b)}else this.i=this.i.concat(a);return!0};l.ac=function(){};l.dc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Fe="buffer";
|
|
|
|
|
Ya(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ee(d);sb(d,c)}});function Ge(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.ea=32;this.oa=["{","}"];this.na=["[","]"];this.C=0;this.R=!1;this.w=-1;this.u=[];this.K={}}pa(Ge,u);Ge.prototype.kb=function(){return-1};Ge.prototype.lb=function(){};
|
|
|
|
|
function He(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+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(Da(b.substring(c,f))),c=f+1}}return a}
|
|
|
|
|
function Ie(a,b,c,d){var e=b;c=c||a.ea;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else if(32>=c)e=b|0;else if(a=Math.pow(2,c-1),b<-a||b>=a)e=b%a;b!=e&&(b=e);return b}
|
|
|
|
|
function Je(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop(),g=b.pop();switch(e){case "*":e=g*f;break;case "/":if(!f)return!1;e=g/f;break;case "%":if(!f)return!1;e=g%f;break;case "+":e=g+f;break;case "-":e=g-f;break;case "<<":e=g<<f;break;case ">>":e=g>>f;break;case ">>>":e=g>>>f;break;case "<":e=g<f?1:0;break;case "<=":e=g<=f?1:0;break;case ">":e=g>f?1:0;break;case ">=":e=g>=f?1:0;break;case "==":e=g==f?1:0;break;case "!=":e=g!=f?1:0;break;case "&":e=
|
|
|
|
|
32>=a.ea?g&f:((g/Ke|0)&(f/Ke|0))*Ke+((g&f)>>>0);break;case "!":case "|":e=32>=a.ea?g|f:(g/Ke|0|f/Ke|0)*Ke+((g|f)>>>0);break;case "^^":e=g^f;break;case "&&":e=g&&f?1:0;break;case "||":e=g||f?1:0;break;default:return!1}b.push(Ie(a,e,a.ea))}return!0}
|
|
|
|
|
function X(a,b,c){var d;b&&(b=Le(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],t=p.length,p=Da(p);if(!p){f=!0;break}p=Me(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(Ie(a,p,a.ea));if(e==m.length)break;var p=m[e++],D=p.length;k.length&&Ne[p]<Ne[k[k.length-1]]&&Je(a,h,k,1);k.push(p);b=b.substr(t+D)}Je(a,h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):
|
|
|
|
|
(d=h.pop(),c&&Oe(a,null,d))}return d}
|
|
|
|
|
function Le(a,b){var c,d=a.oa[0],e=a.oa[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=X(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?J(a,g):"undefined")}if(a.na.length)for(d=a.na[0],e=a.na[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=
|
|
|
|
|
0}if(null==d)break;a=a.replace(b[0],d.toString())}return a}function Me(a,b,c,d){var e;null!=b?(e=a.kb(b),0<=e?e=a.lb(e):(e=a.K[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 Oe(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,p=8,t="";p?32<p&&(p=32):p=32;for(var D=null==k||isNaN(k),da=m=m||p;0<p--;)da||(t=","+t,da=m),t=(D?"?":k&1?"1":"0")+t,k>>=1,da--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+n(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Pe(a){var b=a.K;a.K={};return b}
|
|
|
|
|
function Qe(a,b){if(b)return Oe(a,b,a.K[b]);var c=0;for(b in a.K)Oe(a,b,a.K[b]),c++;return 0<c}function J(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=n(b,0<c?(c+2)/3|0:0);break;case 10:a=ua(b,0<c?Math.ceil(.3*c):0);break;default:a=q(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Ne={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ke=Math.pow(2,32);
|
|
|
|
|
function Re(a){Ge.call(this,a);this.Ba=!1;this.za=18;this.ea=36;this.oa=["<",">"];this.na=[];this.Aa=Y();this.L=Y(0);this.ma=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Se(this);this.S=this.ha=0;this.i=[];this.wa=void 0;Te(this);this.D=this;this.pa={};this.X=this.yb=0;this.T=null;this.P=[];Ue(this,a.messages);this.ya=a.commands;this.O=0;this.Ha=this.xa=null;this.C=this.Da=this.Ca=this.ga=this.ra=0;this.qa=this.fa=this.aa=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return cd(b,
|
|
|
|
|
a)}):void 0===global[w]&&(global[w]=function(a){return cd(b,a)})}pa(Re,Ge);function Ve(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,Wa:void 0===b?!1:b,ia:!1,ca:c}}function We(a,b,c,d){a.B=b;a.Wa=c||!1;a.ia=!1;a.ca=d}function Xe(a){return[a.B,a.Wa,a.ia,a.ca,a.Za]}function Ye(a,b){var c=Y(b[0],b[1],b[2]);c.ia=b[3];b[4]&&(c.tb=He(a,c.Za=b[4]));return c}l=Re.prototype;
|
|
|
|
|
l.Ea=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.fa=a.u;this.za=b.F;(a=Yc(a,"messages"))&&Ue(this,a);Ze(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Ve($e(d,c,d.ma));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[e];p.type==c?m++||d.j("..."):(c=p.type,m=Ic[c],p&&d.j(q(p.id,8)+" %"+q(e<<d.G.i,8)+" %"+q(p.B,8)+
|
|
|
|
|
" "+q(p.Pa,4,!0)+" "+q(p.size,4,!0)+" "+m),c!=Mc&&(c=-1),m=0);a+=16384;e++}}});Kb(this)};
|
|
|
|
|
l.la=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",cd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Wa(c,function(){if(d.aa){var a=d.aa.value;
|
|
|
|
|
d.aa.value="";cd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Wa(c,function(a){var b=!1;Lb(d,!0)||(Mb(d,!0),b=qc(d,a?1:0,null),Mb(d,!1));return b}),!0}return!1};function bd(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.Ga=function(a,b){var c=-1,d=Ve(a);-1!==d&&(c=wc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};l.rb=function(a,b,c){var d=Ve(a);-1!==d&&(vc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),I(this.H,-1))};
|
|
|
|
|
function $e(a,b,c){var d,e;c||(c=Y());var f=c.B;if(void 0!==b){b=Le(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var m=a.F[k].U[f];if(null!=m){h=m.o;break}}null!=h&&(g=Y(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=X(a,b,void 0)}null!=f&&(f=af(f,a.za),We(c,f,d,e));return c}function bf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tb=He(a,b.Za=c[2]))}
|
|
|
|
|
function af(a,b){0>a&&a>=-B&&(a+=E);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function cf(a){return n(a/Rb,6)+" "+n(a%Rb,6)}
|
|
|
|
|
function Ue(a,b){a.D=a;a.X=a.yb=536870916;a.T=null;a.P=[];b=He(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb){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|=Zb[c],a.j(c+" messages enabled"))}}function Ze(a,b){for(var c in Zb)if(16==Zb[c]){a.pa[c]=b;break}}l.kb=function(a){return df.indexOf(a.toUpperCase())};
|
|
|
|
|
l.lb=function(a){var b,c=this.v;switch(a){case ef:b=c.i;break;case ff:b=c.K;break;case gf:b=c.b;break;case hf:b=c.u&65536?1:0;break;case jf:b=c.u&32768?1:0;break;case kf:b=c.u&131072?1:0;break;case lf:b=c.u&32?1:0;break;case mf:b=c.u&262144?1:0}return b};
|
|
|
|
|
l.message=function(a,b){b&&(a+=" @"+J(this,Y(this.v.ya).B));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.P.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.A.N)||Lb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,kd(a),a.fa=0,a.H&&I(a.H,void 0))}};
|
|
|
|
|
function Te(a){var b;if(!qd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(nf);for(b=0;b<a.i.length;b++)a.i[b]=Y();a.S=0;a.j("instruction history buffer allocated")}}function of(a,b,c){if(!pf(a,c))return!1;pc(a.v,b);return!0}
|
|
|
|
|
function qc(a,b,c,d){if(!pf(a))return!1;var e="";null===c&&(e=(c=!a.xa||"tr"==a.xa)?"tr":"t");a.C=0;b||qd(a)&&rd(a,a.v.i,0);try{b=id(a.v,b);var f=a.v.Ra(b);0<f&&(rc(a.v,f),a.C+=f,sc(a.v,f,!0),tc(a.v,f),a.ga++)}catch(g){"number"!=typeof g&&(a.C=0,yb(a.v,g.stack||g.message))}!1!==d&&(a.fa&&a.fa.stop(),I(a.H,-1));ad(a,c||!1,e);return 0<a.C}l.W=function(a){this.v&&this.v.W(a)};function ad(a,b,c){b=void 0===b?!0:b;a.Ba&&(c&&a.j(qf+c),We(a.L,a.v.i),b&&1!=a.O?rf(a):sf(a))}
|
|
|
|
|
function pf(a,b){var c;(c=!a.v||!Jb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.N?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Ib(a.v)}l.va=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ka=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Te(this);this.ga=0;this.T=null;this.C=0;We(this.L,this.v.i);this.A.N=!1;tf(this);a||ad(this)};
|
|
|
|
|
l.save=function(){var a=new G(this);a.set(0,Xe(this.L));a.set(1,Xe(this.ma));a.set(2,Xe(this.ba));a.set(3,[this.u,this.R,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.ma=Ye(this,a[b++]),this.ba=Ye(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.O||this.j("running");this.A.N=!0;this.Ca=a;this.Da=b};
|
|
|
|
|
l.stop=function(a,b){if(this.A.N){this.A.N=!1;this.C=b-this.Da;if(!this.O){b="stopped";if(this.C){a-=this.Ca;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";qd(this)&&(b+=this.ga+" instructions, ",this.ga=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Nb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}ad(this,!0);bd(this);tf(this,this.v.i);this.T=null}};function qd(a){return 1<a.b.length||!!a.ha}
|
|
|
|
|
function rd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.ya==b&&(b=pd(a.v,1)));if(0<c&&(a.ha&&!--a.ha||Vc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ga++,0>d&&(d=a.v.f(b)),0<=d&&(We(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}
|
|
|
|
|
function uf(a,b,c,d){var e=Y(b.B),f=a.Ga(b,1),g,h,k,m=0,p=f/Vb|0,t;for(t in vf)if(g=vf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=wf;m=p&3;break;case 32256:k=xf;m=p&7;break;case 29248:k=yf,m=(p&48)>>2|(p&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>zf&&(k="B");k=Af[g||0]+k;if(g){if(28700==h)h=f/Wb&127,m=J(a,h,-1);else if(h=f>>23&15,m=J(a,h,-1),h)for(p=0;p<Bf.length;p++)g==Bf[p][0]&&(t=Bf[p][h])&&(k=Af[t],m="");k=Ca(k,8)+(m?m+",":"");f&4194304&&(k+="@");k+=J(a,f&262143,-1);(f=f>>18&15)&&(k+="("+J(a,f,-1)+")")}else k=
|
|
|
|
|
Ca(k,8)+cf(f);f=k;g="";h=J(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ga(e,1),g+=" "+cf(k),null==e.B)break;while(e.B!=b.B)}h+=Ca(g,16)+f;c&&(h=Ca(h,48)+";"+(c||""),h=a.v.A.La?h+("cycles="+dd(a.v).toString()+" cs="+q(a.v.Aa)):h+(null!=d?"="+d.toString():""));return h}
|
|
|
|
|
function Cf(a,b,c,d){var e=-1,f,g;if(b){for(var h=b.toUpperCase(),k=0;k<Bf.length;k++)for(var m in Bf[k])if(+m&&(g=Bf[k][m],h==Af[g])){h=Af[Bf[k][0]];c&&(c=J(a,+m)+","+c);break}for(var p in vf){f=+p;m=vf[p];switch(f){case 32512:k=wf;break;case 32256:k=xf;break;case 29248:k=yf;break;default:k=[""]}for(var t in m){g=m[t];for(var D=0;D<k.length;D++){var da=k[D];"S"==da&&g>zf&&(da="B");if(h==Af[g]+da){e=29248!=f?D:(D&3)<<1|(D&12)<<2;e=(t|e<<6)*Vb;break}}if(0<=e)break}if(0<=e)break}}else c&&(e=f=0);if(0<=
|
|
|
|
|
e&&c)for(h=c.split(","),p=0;p<h.length;p++)if(g=h[p].trim()){if(1<p){a.j("too many operands: "+g);e=-1;break}t=g.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!t){a.j("unknown operand: "+g);e=-1;break}g=t[2];if(p||1==h.length)g=g?g.replace(/(^|[^0-9])\./g,"$1"+J(a,d)):"0";g=X(a,g);if(void 0==g){e=-1;break}if(!p&&1<h.length)if(28700==f){if(0>g||127<g)g&=127;e+=g*Wb}else{if(0>g||15<g)g&=15;e+=g<<23}else{if(0>g||262143<g)g&=Qb;e+=g;if(g=t[3]){g=X(a,g);if(void 0==g){e=-1;break}if(0>g||15<g)g&=15;e+=g<<18}t[1]&&
|
|
|
|
|
(e+=4194304)}}0>e&&null!=c&&a.j("unknown instruction: "+b+" "+c);return e}function Se(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=Ve(c);var d=a.G;Uc(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Ve(c),d=a.G,Uc(d.b[c>>>d.i],!0);a.I=["bw"];a.ra=0;a.ha=0}
|
|
|
|
|
l.Ja=function(a,b,c){var d=!0;c||eg(this,a,b,!1,!0);if(a!=this.b){var e=Ve(b);if(-1===e)this.j("invalid address: "+J(this,b.B)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ja(e&16383,a==this.I)}}d&&(a.push(b),c?b.ia=!0:(gg(this,a,a.length-1,"set"),Te(this)));return d};function eg(a,b,c,d,e){var f=!1;c=Ve(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Ve(h)&&(!d||h.ia)){f=!0;h.ia||e||gg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Uc(d.b[c>>>d.i],b==a.I));h.ia||Te(a);break}}return f}
|
|
|
|
|
function hg(a,b){for(var c=1;c<b.length;c++)gg(a,b,c);return b.length-1}function gg(a,b,c,d){c=b[c];a.j(b[0]+" "+J(a,c.B)+(d?" "+d:c.Za?' "'+c.Za+'"':""))}function tf(a,b){if(void 0!==b)Vc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ia){if(!eg(a,a.b,c,!0))break;b=0}}}
|
|
|
|
|
function Vc(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.ia)for(var k=Ve(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.ia&&(eg(a,d,h,!0),e=!0);if(p=h.tb){for(var f=!1,t=0;t<p.length;t++)if(!ig(a,p[t],!0)){if(p[t].indexOf("if")){f=!0;break}for(var D=t+1;D<p.length&&p[D].indexOf("else");D++)t++;if(D==p.length){f=!0;break}}a.v.A.N||(f=!0)}if(f){e||gg(a,d,g,"hit");break}}}a.ra--;return f}
|
|
|
|
|
function jg(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=n(d,2);We(e.Aa,d);f+="="+J(e,e.Ga(e.Aa),36)+" ";c+=f}if(b){b="";for(d=0;d<df.length;d++)(e=df[d]||"")&&(e+="="+J(a,a.lb(d),d>=hf?1:d==ff?23:18)+" "),b+=e;c+="\n"+b}return c}l.zb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
function Ae(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 p=f,k=[k>>>0,g],t=Ea(p,k,a.zb);0>t&&p.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({sd:b,B:c,Ob:d,U:e,ub:f})}function kg(a,b,c){var d=[],e=Ve(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ob;if(e>=g&&e<g+h){e=Ea(f.ub,[e-g],a.zb);0<=e?lg(a,b,e,d):c&&(e=~e,lg(a,b,e-1,d),lg(a,b,e,d));break}}return d}
|
|
|
|
|
function mg(a,b){var c=a.G;b.forEach(function(a,b){vc(c,b,a)})}function lg(a,b,c,d){var e={},f=a.F[b].ub,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
|
|
|
|
function ng(a,b){var c=$e(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+J(a,c.B)),a.R=!0,I(a.H)):"/"==d[0]||0<=d.indexOf(":")?a.qa?a.j("assembly already in progress"):a.qa=new og(d,c.B,a,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):mg(a,b.w);a.qa=null}):(b.shift(),b.shift(),b.shift(),b=Cf(a,d,b.join(""),c.B||0),0<=b&&(a.rb(c,b),a.j(uf(a,c))))}}
|
|
|
|
|
function pg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Qe(a)||a.j("no variables"),!0;if(!c[2])return Qe(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=X(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
|
|
|
|
function qg(a,b,c){var d=null;if(b=$e(a,b)){var e=kg(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]+" ("+J(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]+" ("+J(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
|
|
|
|
function rf(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=X(a,b);if(void 0===g)return;b=a.kb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case ef:H(h,
|
|
|
|
|
g);We(a.L,h.i);break;case hf:f=65536;break;case jf:f=32768;break;case kf:f=131072;break;case lf:f=32;break;case mf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);I(a.H);a.j("updated registers:")}}a.j(jg(a,e));c&&(We(a.L,d.i),sf(a,J(a,a.L.B)))}}function rg(a,b){b=Da(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Oe(a,null,c[2].charCodeAt(0)):X(a,b,!0)}
|
|
|
|
|
function sg(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=Me(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.xa=b;Va(c,function(){return Mb(a,!0)&&qc(a,e,d,!1)},function(){a.fa&&a.fa.stop();I(a.H,-1);Mb(a,!1)})}}
|
|
|
|
|
function sf(a,b,c,d){if(b=$e(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Me(a,c.substr(1)),null!=c&&(d=c);else{d=$e(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=Lb(a,!1)||a.O?a.C:null,g=null!=f?"cycles":null,h=kg(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.Wa=m.Wa;h.ia=m.ia;h.ca=m.ca;a.j(uf(a,b,g,f));e-=b.B-k;c++}}}
|
|
|
|
|
function ig(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(qf+b):(a.R&&(a.j("ended assemble at "+J(a,a.ba.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Jb(a)&&0<b.length){a.R&&(b="a "+J(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 p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":ng(a,g);
|
|
|
|
|
break;case "b":a:{var t=g[0],D=g[1],da=b;if("?"==D)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 Ha=t.charAt(1);if("l"==Ha){var Bd;Bd=0+hg(a,a.b);Bd+=hg(a,a.M);(Bd+=hg(a,a.I))||a.j("no breakpoints")}else if("n"==Ha){var Df=+D||0;D&&(a.ha=Df);a.j("break after "+Df+" instruction(s)")}else if(void 0===
|
|
|
|
|
D)a.j("missing breakpoint address");else{var Z=Y();if("*"!=D&&(Z=$e(a,D,a.L),!Z))break a;"c"==Ha?null==Z.B?(Se(a),a.j("all breakpoints cleared")):eg(a,a.b,Z)||eg(a,a.M,Z)||eg(a,a.I,Z)||a.j("breakpoint missing: "+J(a,Z.B)):null!=Z.B&&(bf(a,Z,da),"p"==Ha?a.Ja(a.b,Z):"r"==Ha?a.Ja(a.M,Z):"w"==Ha?a.Ja(a.I,Z):a.j("unknown breakpoint command: "+Ha))}}}break;case "c":a.ua&&(a.ua.value="");break;case "d":a:{var $a,ab=g[0],la=g[1],xa=g[2],jh=g[3];if("?"==la){var bb="";for($a in Zb)a.pa[$a]&&(bb&&(bb+=","),
|
|
|
|
|
bb+=$a);bb+=",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");bb.length&&a.j("dump extension commands:\n\t"+bb)}else if("state"==la){var Cd=tg(a.H,!0);"console"==xa?console.log(Cd):(a.ua&&(a.ua.value=""),Cd&&a.j(Cd))}else if("symbols"==la)for(var Dd=0;Dd<a.F.length;Dd++){var Ed=a.F[Dd],cb;for(cb in Ed.U)if("."!=cb.charAt(0)){var Ef=
|
|
|
|
|
Ed.U[cb].o;if(void 0!==Ef){var Ff=Ed.U[cb].l;Ff&&(cb=Ff);a.j(J(a,Ef)+" "+cb)}}}else{if("d"==ab){for($a in Zb)if(g[1]==$a){var Gf=a.pa[$a];Gf?(g.shift(),g.shift(),Gf(g)):a.j("no dump registered for "+la);break a}la||(ab=a.Ha||"dw")}else a.Ha=ab;if("dh"==ab){var Hf=la,If=xa,Jf="",Kf=0,ia=a.S,ma=a.i;if(ma.length){var ea=+Hf||a.wa,zb=+If||10;isNaN(ea)?ea=zb:Jf="more ";ea>ma.length&&(a.j("note: only "+ma.length+" available"),ea=ma.length);ia-=ea;0>ia&&(null==ma[ma.length-1].B?(ea=ia+ea,ia=0):ia+=ma.length);
|
|
|
|
|
var Fd=[];"call"==If&&(zb=1E5,Fd=["CALL"]);for(void 0!==Hf&&a.j(ea+" instructions earlier:");0<zb&&ia!=a.S;){var Lf=ma[ia++];if(null==Lf.B)break;var Ab=Y(Lf.B),kh=ea--,Mf=uf(a,Ab,"history",kh);(!Fd.length||0<=Mf.indexOf(Fd[0]))&&a.j(Mf);Ab.ib&&(ia+=Ab.ib,zb-=Ab.ib,ea-=Ab.ib);ia>=ma.length&&(ia=0);a.wa=ea;Kf++;zb--}}Kf||(a.j("no "+Jf+"history available"),a.wa=void 0)}else{var db=$e(a,la,a.ma);if(db){var Ia=0,Nf="ds"==ab;if(xa){if("l"==xa.charAt(0))xa=xa.substr(1)||jh,Ia=Me(a,xa);else{var Of=$e(a,xa);
|
|
|
|
|
Of&&(Ia=Of.B-db.B)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var lh=a.ca;db.ca&&(a.ca=db.ca);for(var Pf="db"==ab?1:2,Gd=Ia||32,Hd=1==Pf?2:4,mh=(Gd+Hd-1)/Hd|0||1,Ja="";mh--&&0<Gd;){for(var Ka="",Id="",la=J(a,db.B),Qf=Hd;0<Qf--&&0<Gd--;){var Jd=a.Ga(db,1);Nf?(Ka&&(Ka+=","),Ka+=Jd):(Ka+=cf(Jd),Ka+=" ");for(var zc=29,nh=0;1==Pf&&0<=zc;nh++)var Rf=Jd/Math.pow(2,zc)%Math.pow(2,7)+0,Id=Id+(32>Rf?".":String.fromCharCode(Rf)),zc=zc-7}Ja&&(Ja+="\n");Ja=Nf?Ja+(Ka+","):Ja+(la+": "+Ka+(0>Qf?" "+Id:""))}Ja&&a.j(Ja);a.ca=
|
|
|
|
|
lh}}}}break;case "e":if("else"==g[0])break;var Sf,Tf,Uf=g[0],Kd=g[1];"e"==Uf||"ew"==Uf?(Sf=a.Ga,Tf=a.rb):Kd=null;if(null==Kd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var Ac=$e(a,Kd,a.ma);if(Ac)for(var Ld=2;Ld<g.length;Ld++){var Bb=X(a,g[Ld]);if(void 0===Bb)break;Bb=af(Bb);a.j("changing "+J(a,Ac.B)+" from "+cf(Sf.call(a,Ac))+" to "+cf(Bb));Tf.call(a,Ac,Bb,1)}}break;case "g":a:{var Vf=g[1],oh=b;if(void 0!==Vf){var Md=$e(a,Vf);if(!Md)break a;bf(a,Md,oh);a.Ja(a.b,
|
|
|
|
|
Md,!0)}of(a,!0,c)}break;case "h":a.A.N?(c||a.j("halting"),a.W()):Lb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Nd;var Cb=b.substr(2),Cb=Da(Cb);X(a,Cb)?(c||a.j("true: "+Cb),Nd=!0):(c||a.j("false: "+Cb),Nd=!1);Nd||(d=!1);break}f=!0;break;case "k":var ph=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Od=0,Pd=Y(),Db=Y();for(a.j("stack trace for "+J(a,Db.B));10>Od;){for(var La=null,qh=256;65536>Db.B>>>
|
|
|
|
|
0;){Pd.B=a.Ga(Db,2);if(null==Db.B||!qh--)break;if(!(Pd.B&1)){for(var rh=a,Bc=Pd,Wf=null,Eb=Bc.B,Xf=Eb,Qd=1;6>=Qd&&Eb;Qd++){if(2<Qd){Bc.B=Eb;var Cc=uf(rh,Bc);if(0<=Cc.indexOf("JSR")){var Yf=Cc.indexOf(" ");if(Eb+(Cc.indexOf(" ",Yf+1)-Yf-1)/2==Xf){Wf=Cc;break}}}Eb-=2}Bc.B=Xf;if(La=Wf)break}}if(!La||null==La)break;var Zf=null;if("ks"==ph){var $f=La.match(/[0-9A-F]+$/);$f&&(Zf=qg(a,$f[0]))}La=Ca(La,50)+" ;"+(Zf||"stack="+J(a,Db.B));a.j(La);Od++}Od||a.j("no return addresses found")}break;case "l":if("ln"==
|
|
|
|
|
g[0]){qg(a,g[1],!0);break}f=!0;break;case "m":a:{var na,oa=null,L=g[1];"?"==L&&(L=void 0);if(void 0!==L){var ya=0;if("all"==L)ya=1879046143,L=null;else if("on"==L)oa=!0,L=null;else if("off"==L)oa=!1,L=null;else{"keys"==L&&(L="key");"kbd"==L&&(L="keyboard");for(na in Zb)if(L==na){ya=Zb[na];oa=!!(a.X&ya);break}if(!ya){a.j("unknown message category: "+L);break a}}if(ya)if("on"==g[2])a.X|=ya,oa=!0;else if("off"==g[2]&&(a.X&=~ya,oa=!1,1073741824==ya)){for(var ag=1E3<=a.P.length?a.P.length-1E3:0;ag<a.P.length;)a.j(a.P[ag++]);
|
|
|
|
|
a.P=[]}}var sh=0,Fb="";for(na in Zb)if(!L||L==na){var th=!!(a.X&Zb[na]);if(null===oa||oa==th)Fb&&(Fb+=","),++sh%10||(Fb+="\n\t"),"key"==na&&(na="keys"),Fb+=na}void 0===L&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==oa?oa?"messages on: ":"messages off: ":"message categories:\n\t")+(Fb||"none"));Te(a)}break;case "p":if("print"==g[0]){rg(a,b.substr(5));break}var bg=g[0],cg="p"==bg?0:"pr"==bg?1:-1;if("?"==g[1]||0>cg)a.j("step commands:"),a.j("\tp\tstep over instruction"),
|
|
|
|
|
a.j("\tpr\tstep over instruction with register update");else if(a.O)a.j("step in progress");else{var dg=Y(a.v.i);a.Ga(dg);a.O?(a.Ja(a.b,dg,!0),of(a)||(a.H&&hd(a.H),a.O=0)):sg(a,cg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}rf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Gb=+g[2];if(8==Gb||10==Gb||16==Gb)a.ca=Gb;else{a.j("invalid base: "+Gb);break}}a.j("default base: "+a.ca);break;case "cs":var Hb;void 0!==g[3]&&(Hb=+g[3]);switch(g[2]){case "int":a.v.ma=Hb;break;
|
|
|
|
|
case "start":a.v.Ba=Hb;break;case "stop":a.v.na=Hb;break;default:a.j("unknown cs option");break a}void 0!==Hb&&$c(a.v);a.j("checksums "+(a.v.A.La?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ed(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),
|
|
|
|
|
a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":sg(a,g[0],g[1]);break;case "u":sf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){pg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.wb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){rg(a,b.substr(1));break}var Rd="commands:",Sd;for(Sd in ug)Rd+="\n"+
|
|
|
|
|
Ca(Sd,9)+ug[Sd];qd(a)||(Rd+="\nnote: history disabled if no exec breakpoints");a.j(Rd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(fg){a.j("Debugger "+(fg.stack||fg.message)),d=!1}return d}function cd(a,b,c){b=He(a,b,c);for(var d in b)if(!ig(a,b[+d]))return!1;return!0}
|
|
|
|
|
var ug={"?":"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"},zf=20,Af=".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 CAM 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 HALT JRSTF JEN".split(" "),
|
|
|
|
|
ef=0,ff=1,gf=2,hf=3,jf=4,kf=5,lf=6,mf=7,df="PC RA EA C0 C1 OV ND PD".split(" "),vg={},vf=(vg[28672]={0:101},vg[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},vg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:zf,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},vg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},vg[29248]={24576:79,24640:80,25088:81,25152:82},vg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
|
|
|
|
28692:98,28696:99,28700:100},vg),wf=["","I","M","S"],xf=" L E LE A GE N G".split(" "),yf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Bf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],nf=1E3,qf=">> ";Ya(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Re(d);sb(d,c)}});
|
|
|
|
|
function og(a,b,c,d){this.M=b||0;this.i=c;this.done=d;this.j=c.j;this.v={};this.L={};this.G=[];this.I=[];this.w=[];this.K=this.ja=0;this.Fa=this.M;this.F=null;this.b=0;this.C=null;this.J=this.H="";this.u=null;this.D="";var e=this;Ga(a,null,!0,function(a,b,c){c||(c=wg(e,a,b));e.done(e,a,c)})}
|
|
|
|
|
function wg(a,b,c){var d=Pe(a.i);try{var e=c;if(za(b,".html")){var e="",f;for(b=/<pre>([\s\S]*?)<\/pre>/gi;f=b.exec(c);){var g=f[1];0<=g.indexOf("&")&&(g=g.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&"));e+=g}(f=e.match(/&[a-z]+;/i))&&xg(a,"unrecognized HTML entity: "+f[0])}var h,k=e.split(/\r?\n/);for(h=0;h<k.length&&(a.ja++,yg(a,k[h]+"\r\n"));h++);a.b&&a.error("open block from line "+a.v[a.C].ja);for(h=0;h<a.G.length;h++){var m=a.G[h],p=a.v[m];p?zg(a,p.Ka):a.error("missing definition for literal: "+
|
|
|
|
|
m)}a.I.forEach(function(b){var c,d=b.Ma[0];c=b.Ma[1];var e=b.Fa;1==b.Ma.length&&(0<=d.indexOf("@")||0<=d.indexOf("("))&&(c=d,d="");null!=c?(c=Cf(a.i,d,c,e),0>c&&a.error("unable to parse instruction: "+b.Ma[0]+" "+b.Ma[1])):(c=Ag(a,d,e),void 0===c?a.error("unable to parse expression: "+d):void 0===a.w[e]?a.error("undefined fixup location: "+n(e,0,!0)):c+=a.w[e]);b=Ie(a.i,c||0,36,!0);(c<-B||c>=E)&&xg(a,"truncated value "+n(c)+" at location "+n(e)+" to "+n(b));a.w[e]=b})}catch(t){a.j(t.message),a.K=
|
|
|
|
|
-1}a.i.K=d;return a.K}
|
|
|
|
|
function yg(a,b){if(a.b){if(1==a.b){var c=b.indexOf(a.J);0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1<a.b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.b++;else if(b[d]==a.H&&(a.b--,1==a.b)){a.b=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.C||"";a.v[d].Ka+=b;a.b||(a.C=null,Bg(a,d));b=c}if(a.b)return!0}null!=a.u&&(b=Cg(a,b));c=b.match(/\s*([A-Z$%._][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)\s*(;?.*)/i);if(!c||c[4]&&";"!=c[4].slice(0,1))return a.error("failed to parse line: "+
|
|
|
|
|
b),!1;d=c[1];b=c[2].toUpperCase();c=c[3].trim();if(d){var e=d.slice(-1),d=d.slice(0,-1);":"==e?Dg(a,d,a.Fa,!0):(c=b+c,b=e)}a.F=b;c=c.trim();"="==c[0]&&(d=b,c=c.substr(1),b="=");for(var e=c,f=0,g=null,h=0,k=-1;h<e.length;){var m=e[h];"["==m&&(f++||(k=h));h++;if("]"==m&&0>=--f)break}0>f&&a.error("missing bracket(s): "+e);0<=k&&(g=e.substr(k,h-k));for((e=g)&&(c=c.replace(e,Eg(a,Fg,e)));e=Gg(a,c);)c=c.replace(e,e.slice(0,-1));if(!Bg(a,b,c))switch(b){case "":c&&Hg(a,0,[c]);break;case "=":b=d;d=Ag(a,c);
|
|
|
|
|
void 0===d?a.error("parseExpression("+c+")"):Dg(a,b,d);break;case Ig:case Jg:case Kg:Cg(a,c);break;case Lg:Hg(a,0,[c.replace(",",",,")]);break;case Mg:case Ng:case Og:Eg(a,b,c);break;case Pg:case Qg:break;default:d=b,e=c,f=Cf(a.i,d),0<=f?(Hg(a,f,[d,e]),d=!0):d=!1,d||Hg(a,0,[b+c])}return!0}
|
|
|
|
|
function Bg(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){b=",";"("==c[0]&&(b+=")",c=c.substr(1));for(var e=[];c;){c=c.trim();var f=Rg(a,c,b);if(!f)break;e.push(f);c=c.substr(f.length+1)}zg(a,d.Ka,d.vb,e);return!0}if("_"!=b[0])return!1;switch(b.substr(1)){case Ng:d.mb||zg(a,d.Ka);break;case Og:for(;0<d.mb--;)zg(a,d.Ka);break;default:return!1}return!0}
|
|
|
|
|
function zg(a,b,c,d){b=b.split(/\r?\n/);for(var e=0;e<b.length;e++){var f=b[e]+"\r\n";if(c)for(var g=0;g<c.length;g++)for(var h=c[g],k=d[g]||"",m=0;;){var p=f.indexOf(h,m);if(0>p)break;var m=p+1,t=p+h.length;p&&f[p-1].match(/[0-9A-Z$%.]/i)||!(t>=f.length)&&f[t].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,p)+k+f.substr(t),m=p+k.length)}if(!yg(a,f))break}}og.prototype.error=function(a){throw Error("error"+(this.ja?" at line "+ua(this.ja):"")+": "+a);};
|
|
|
|
|
function xg(a,b){a.j("warning"+(a.ja?" at line "+ua(a.ja):"")+": "+b)}function Rg(a,b,c){c=void 0===c?",":c;for(var d=0,e=null,f=0;d<b.length;){var g=b[d];if(0<=c.indexOf(g))break;if("<"==g)f++;else if(">"==g&&0>--f){a.error("missing bracket(s): "+b);break}d++}f?0<f&&a.error("extra bracket(s): "+b):e=b.substr(0,d);return e}
|
|
|
|
|
function Ag(a,b,c){var d;void 0===c&&(c=a.Fa);b=b.replace(/\.([^0-9]|$)/g,J(a.i,c,-1)+"$1");(c=b.match(/^([^,]*),,([^,]*)$/))?(b=c[1]?X(a.i,c[1]):0,void 0!==b&&(c=c[2]?X(a.i,c[2]):0,void 0!==c&&(d=Ie(a.i,b,18,!0)*Math.pow(2,18)+Ie(a.i,c,18,!0)))):d=X(a.i,b);return d}function Gg(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="_"+b;a.v[d]&&a.error("reserved symbol redefined: "+c);a.v[d]={name:d,mb:Sg,vb:[],Ib:[],Ka:b+": 0",ja:a.ja};a.G.push(d)}return c}
|
|
|
|
|
function Cg(a,b){var c=b;null==a.u&&(a.u=a.D="",b&&(a.u=b[0],c=b=b.substr(1)));if(a.u){var d=b.indexOf(a.u);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.u=null);a.D+=b}if(null==a.u){var d=b=0,e,f,g=a.D.length;a.F==Jg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.F==Kg&&(e--,f++));var k=a.D.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Hg(a,d),b=0)}b&&Hg(a,d)}return c}
|
|
|
|
|
function Eg(a,b,c){var d,e,f,g;a.J="<";a.H=">";e=f=[];if(b==Mg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+" definition: "+c),"";b=d[1];a.v[b]&&a.error("macro redefined: "+b);e=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);c=Tg;g=3}else if(b==Fg)a.J="[",a.H="]",b="_"+ua(a.Fa,5),a.v[b]&&a.error("literal symbol redefined: "+b),d=[c[0],b+": "+c.substr(1)],c=Ug,a.G.push(b),g=0;else{g=Rg(a,c);if(!g)return a.error("missing "+b+" expression: "+c),"";c=c.substr(g.length+
|
|
|
|
|
1);g=g.trim();d=c.match(/\s*(<|)(.*)/i);b="_"+b;c=Ag(a,g)||0;g=1}b=b.toUpperCase();a.b=1;var h="";d[g]&&(a.b=2,h=d[g+1],h.slice(-1)==a.H&&(a.b=0,h=h.slice(0,-1)));a.v[b]={name:b,mb:c,vb:e,Ib:f,Ka:h,ja:a.ja};a.b?a.C=b:Bg(a,b);return b}function Dg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&a.L[b]?a.error("label "+b+" redefined"):(a.L[b]={name:b,value:c,ja:a.ja,hd:d,gd:e,jd:f},a.i.K[b]=c)}
|
|
|
|
|
function Hg(a,b,c){a.w[a.Fa]=b;c&&a.I.push({Fa:a.Fa,Ma:c});a.Fa++}var Ig="ASCII",Jg="ASCIZ",Mg="DEFINE",Ng="IFE",Fg="LITERAL",Pg="PAGE",Og="REPEAT",Kg="SIXBIT",Qg="SUBTTL",Lg="XWD",Tg=-1,Ug=-2,Sg=-3;
|
|
|
|
|
function Vg(a,b,c){u.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Wg(this,b);this.O=Yc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.T=!1;this.I=this.C=null;this.S=this.P=!1;this.ba=Yc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Xg(this);if(this.v=rb("CPU",this.id)){this.D=rb("Debugger",this.id);this.G=new xc({id:this.Ua+".bus",busWidth:this.aa},this.v,this.D);var d,e=pb(this.id);if((this.u=rb("Panel",this.id))&&this.u.ua)for(b=
|
|
|
|
|
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ua=this.u.ua;this.j(Pb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ea&&d.Ea(this,this.G,this.v,this.D);b=null;d=Yc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Yc(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=Yg),this.b&&(this.I=new G(this,"1.34.2"),Zg(this.I)?b=null:
|
|
|
|
|
delete this.I);!b&&this.b&&(b=$g(this))&&(this.K=!0);if(b){var g=this;Ga(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Da(b):"")+")")):(g.L=b,g.T=!0);Kb(g)})}else Kb(this);this.J.power||(this.O=!0);!c&&this.O&&ah(this,this.Oa)}else r("Unable to find CPU component")}pa(Vg,u);function Wg(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 Yc(a,b,c,d){var e=b.toLowerCase(),e=Ta(b)||Ta(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 ah(a,b,c){for(var d=pb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Jb(f)){Jb(f,function(){ah(a,b,c)});return}}b.call(a,c)}
|
|
|
|
|
function bh(a,b){var c=new G(a,"1.34.2",ch);if(Zg(c)&&dh(c)){var d=c.get(eh),e=b?b.get(eh):"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=Vg.prototype;
|
|
|
|
|
l.Oa=function(a){void 0===a&&(a=this.b||(this.L?fh:Yg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new G(this,"1.34.2");if(a==gh)b=!0;else if(a>Yg){if(Zg(d,this.L)){this.C=new G(this,"1.34.2",hh);Zg(this.C)&&(ih(this,d),a=uh,vh(this.C));this.C.set(eh,Fa());wh(this.C);var e=this.b&&!this.K;if(a==fh||ob("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=dh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zg(d,g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(xh,""),this.i=null)):this.j(f+": "+g),vh(d),Zg(d)?(c=dh(d),e=!0):c=!1))}e&&bh(this,c?d:null)}else a==uh&&d.clear()}else bh(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=yh(this,g,d,b,c));b=[d,a,c];a!=gh?ah(this,this.Ab,b):this.Ab(b)}};
|
|
|
|
|
function yh(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.va(f,d)&&f&&(r("Unable to restore state for "+b.type),a.M&&!a.T?(c.clear(),a.b=Yg,window&&window.location.reload()):a.P=!0,b.va(null),e=!1),!d&&b.ob){var g=b.ob.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.Ab=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(yh(this,this.v,b,c,a),I(this,-2),this.v.Z());this.P&&(ih(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
|
|
|
|
function ih(a,b){if(ob("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function tg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",ch),h=Fa();g.set(eh,h);f.set(eh,h);f.set(zh,"1.34.2");f.set(Ah,window?window.location.href:null);f.set(Bh,window?window.navigator.userAgent:"");a.v&&a.v.ka&&(c&&(b&&(a.v.A.Z=a.v.A.N),a.v.W()),d=a.v.ka(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var m=h[k];m.A.V&&(m.ka&&(d=m.ka(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.V=
|
|
|
|
|
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Ch(a,a.i,f.toString()),wh(g)&&wh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Dh),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
|
|
|
|
l.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Ob(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Ob(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Ob(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;I(this,-1)};l.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}I(this,-1)};
|
|
|
|
|
l.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}I(this,-1)};
|
|
|
|
|
function I(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.aa.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.v.A.N;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?n(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.wa);hc(a,a.i);bc(a,a.w)}}
|
|
|
|
|
l.la=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?tg(d,!1,!0):ah(d,d.Oa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=ob("Click OK to save changes to this "+Pb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");tg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Oa(Yg)}else d.reset(),d.v&&!d.D&&d.v.Z()},!0;case "save":if(za(Na(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.J[b]=c,c.onclick=function(){var a=Xg(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=tg(d,b);b?Ch(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function Xg(a,b){var c=a.i;c||((c=Qa(xh),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=Eh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
|
|
|
|
function Eh(a,b){a.i=null;b=Ga(Na()+"/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(xh,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function $g(a){var b=null;a.i&&(b=Na()+"/api/v1/user?req=load&user="+a.i+"&state="+Fh(a,"1.34.2"));return b}
|
|
|
|
|
function Ch(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Fh(a,"1.34.2");d.data=c;b=Ga(Na()+"/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(xh,""),a.i=null)}}
|
|
|
|
|
function hd(a,b){if(a.ua){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ua.focus();!b&&window&&window.scrollTo(c,d)}}var hh="failsafe",ch="validate",eh="timestamp",zh="version",Ah="url",Bh="browser",xh="user",gh=-1,Yg=0,fh=1,uh=2,Dh=3;Ya(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new Vg(g,d,!0);sb(g,f);g.O&&ah(g,g.Oa)}});
|
|
|
|
|
Za.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=rb("Computer",c.id))&&c.S&&!c.A.V&&c.Oa(gh)}});Za.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=rb("Computer",c.id))&&c.A.V&&tg(c,!(!c.b||c.F),!0)}});function G(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=Fh(a,b,c);vh(this,a.Kb)}l=G.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 Zg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Oa()&&(b=Qa(a.key))?(a.i=b,a.v=!0):!1}function dh(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function wh(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.i};
|
|
|
|
|
function vh(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){vh(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 Fh(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 Gh=0;
|
|
|
|
|
function Hh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ga(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):Ih(k,a,b,c,d,e,f,g)})}
|
|
|
|
|
function Ih(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(lb(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?Jh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function Jh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(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,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.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);Jh(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function Kh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);m&&(--Gh||gb(!0));m=!1}var h,k,m=!0;Gh++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=p:D.appendChild(document.createTextNode(p));t.appendChild(D)}d||
|
|
|
|
|
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?Hh(d,null,a,null,!1,f,function(a,e){e?(lb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Gh||gb(!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),--Gh||
|
|
|
|
|
gb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Hh(c,b,a,e,!0,f,p):Ih(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(da){g(da.message)}return m}window.embedPDP10=function(a,b,c,d){gb(!1);return Kh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){gb(!1);return Kh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return rb(b,a+".machine")};
|
|
|
|
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!ub[a]){for(var c=!0,d=ub,e=a,f=b.length,g=[],h=[],k="",m=null,p=0;p<f;p++){var t=b[p];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;tb(a)||(c=!1)}return c};window.enableEvents=gb;window.sendEvent=ib;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
|
|
|
|
|