308 lines
116 KiB
JavaScript
308 lines
116 KiB
JavaScript
(function(){/*
|
|
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/messages.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/device.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/rom.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/ram.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/computer.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/panel.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/bus.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/memory.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/cpu.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/serial.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
|
|
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
|
|
*/
|
|
var m,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
|
|
function ea(){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 fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
|
var ja="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ka;if("function"==typeof Object.setPrototypeOf)ka=Object.setPrototypeOf;else{var na;a:{var oa={yb:!0},pa={};try{pa.__proto__=oa;na=pa.yb;break a}catch(a){}na=!1}ka=na?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var qa=ka;
|
|
function ra(a,b){a.prototype=ja(b.prototype);a.prototype.constructor=a;if(qa)qa(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.zd=b.prototype}function sa(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})}}
|
|
sa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});sa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
|
var ya={uc:0,Nb:1,wc:2,xc:3,yc:4,zc:5,Ac:6,Bc:7,wb:8,Cc:9,Ob:10,Dc:11,Ec:12,Pb:13,Fc:14,Gc:15,Hc:16,Ic:17,Jc:18,Kc:19,Lc:20,Mc:21,Nc:22,Oc:23,Pc:24,Qc:25,Rc: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,vb:65,tc:66,vc:67,Sc:68,E:69,Tc:70,Uc:71,Vc:72,Wc:73,Xc:74,Yc:75,Zc:76,$c:77,ad:78,bd:79,cd:80,Q:81,dd:82,ed:83,fd:84,gd:85,hd:86,jd:87,
|
|
kd:88,ld:89,Rb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yb:97,md:98,nd:99,d:100,e:101,od:102,pd:103,qd:104,rd:105,td:106,k:107,ud:108,vd:109,n:110,wd:111,p:112,q:113,r:114,xd:115,t:116,Ad:117,Bd:118,Cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Qb:127};
|
|
function za(a,b){if(a){b||(b=10);var c,d=0<a.indexOf(",");d&&(a=a.replace(/,/g,""));var e=c=a.charAt(0);"#"==c?(b=8,c=""):"$"==c&&(b=16,c="");e!=c?a=a.substr(1):(e=c=a.substr(0,2),"0b"==c&&d||"^B"==c?(b=2,c=""):"0o"==c||"^O"==c?(b=8,c=""):"^D"==c?(b=10,c=""):"0x"==c&&(b=16,c=""),e!=c&&(a=a.substr(2)));e=c=a.slice(-1);"Y"==c||"y"==c?(b=2,c=""):"."==c?(b=10,c=""):"H"==c||"h"==c?(b=16,c=""):"K"==c?c="000":"M"==c?c="000000":"G"==c&&(c="000000000");e!=c&&(a=a.slice(0,-1)+c);var f;e=0;10>=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&&
|
|
(a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));var g=f}}return g}
|
|
function Aa(a,b,c,d,e){e=void 0===e?0:e;var f="";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))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b;h+=0<=h&&9>=h?48:55;f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function Ba(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return Aa(a,8,b,c?"0o":"")}
|
|
function Ca(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return Aa(a,10,b)}function n(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return Aa(a,16,b,c?"0x":"")}function Da(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 Ea(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Fa(a,b){return-1!==a.indexOf(b,a.length-b.length)}
|
|
function Ga(a){return a.replace(/[&<>"']/g,function(a){return Ka[a]})}function La(a,b){return(a+" ").slice(0,b)}function Ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ka={"&":"&","<":"<",">":">",'"':""","'":"'"};function Na(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;var h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
|
|
function Oa(){var a,b="";a||(a=new Date);for(var c=a.getHours(),d=a.getDate(),e=a.getMonth()+1,f=0;11>f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=Pa[a.getDay()].substr(0,3);break;case "F":b+=Qa[e-1];break;case "g":b+=c?12<c?c-12:c:12;break;case "h":b+=c;break;case "H":b+=("0"+c).slice(-2);break;case "i":b+=("0"+a.getMinutes()).slice(-2);break;case "j":b+=d;break;case "l":b+=Pa[a.getDay()];break;case "m":b+=("0"+e).slice(-2);
|
|
break;case "M":b+=Qa[e-1].substr(0,3);break;case "n":b+=e;break;case "s":b+=("0"+a.getSeconds()).slice(-2);break;case "y":b+=(""+a.getFullYear()).slice(-2);break;case "Y":b+=a.getFullYear();break;default:b+=g}}return b}var Pa="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Qa="January February March April May June July August September October November December".split(" ");
|
|
function Va(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="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));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 Wa(a,b){var c,d={da:null,Z:null,ka:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f;if("<"==b.charAt(0))throw Error(b);var 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.ka=g.load;d.xa=g.exec;if(e=g.bytes)d.da=e;else if(e=g.words)for(d.da=Array(2*e.length),f=c=0;c<e.length;c++)d.da[f++]=e[c]&255,d.da[f++]=e[c]>>8&255;else if(e=g.longs)for(d.da=Array(4*e.length),f=c=0;c<e.length;c++)d.da[f++]=
|
|
e[c]&255,d.da[f++]=e[c]>>8&255,d.da[f++]=e[c]>>16&255,d.da[f++]=e[c]>>24&255;else(e=g.data)?d.Na=e:d.da=g;d.da&&(d.da.length?1==d.da.length&&(r(d.da[0]),d=null):(r("Empty resource: "+a),d=null));d.Z=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.da=e)}return d}
|
|
function Xa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ya(){if(null==Za){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}Za=a}return Za}function $a(a){if(window)try{var b=window.localStorage.getItem(a)}catch(c){}return b}
|
|
function ab(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function bb(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 cb(a){if(!db){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," "))}db=c}return db[a]||db[a.toLowerCase()]}function eb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
|
function fb(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 gb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function hb(a){ib.init.push(a)}
|
|
function jb(a){if(kb)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 lb(a){!kb&&a?(kb=!0,rb&&sb("init"),tb&&sb("show")):kb=a}function sb(a){ib[a]&&jb(ib[a])}var db=null,ib={init:[],show:[],exit:[]},rb=!1,tb=!1,kb=!0,Za=null;gb("onload",function(){rb=!0;jb(ib.init)});gb("onpageshow",function(){tb=!0;jb(ib.show)});
|
|
gb(bb("iOS")?"onpagehide":bb("Opera")?"onunload":"onbeforeunload",function(){jb(ib.exit)});function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Cb=b.comment;this.Ub=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Db=this.id:(this.Za=this.id.substr(0,a),this.Db=this.id.substr(a+1));this.A={ready:!1,Ta:!1,nb:!1,sd:!1,aa:!1,tb:!1,error:!1};this.bb=null;this.A.error=!1;this.ca=c||0;this.D=this.v=this.H=this.G=null;ub.push(this)}
|
|
function vb(a,b,c){wb[a]&&b&&(wb[a][b]=c)}function xb(){return Date.now()||+new Date}function r(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a,b){a.value+=b;b=a.value;8192<b.length&&(a.value=b.substr(b.length-4096));a.scrollTop=a.scrollHeight}
|
|
function Ab(a,b){var c=u;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(" "),l=0;l<k.length;l++)switch(h=k[l],h){case c+"-binding":(h=Bb(g))&&h.binding&&a.ra(h.type,h.binding,g,h.value),l=k.length}}}}function Cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ub.length;b++){var d=ub[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
|
function Db(a){if(void 0!==a){var b;for(b=0;b<ub.length;b++)if(ub[b].id===a)return ub[b]}return null}function Eb(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<ub.length;d++)if(c)c==ub[d]&&(c=null);else if(!(a!=ub[d].type||b&&ub[d].id.indexOf(b)))return ub[d]}return null}function Bb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
|
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 Fb(a){for(var b=!0,c=Gb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Hb.indexOf(e)&&(f=function(){return function(){Fb(a)}}());var g=Rb[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{b=!1;var h=Eb(d[1],a);if(h)if(g=Sb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: '"+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Gb[a];return b}m=t.prototype;
|
|
m.toString=function(){return this.name?this.name:this.id||this.type};
|
|
m.ra=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.J[b]=c,this.ia=function(a){this.u(a,this.type);return!0},c.value="",this.print=function(a){return function(b){zb(a,b)}}(c),this.u=function(a,b){return function(a,c){a||(a="");if(c!=Tb||"..."!=a.slice(-3))c&&(a=c+": "+a),zb(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+".")+
|
|
c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};m.log=function(){};m.print=function(){};m.u=function(){};m.status=function(a){this.u(this.type+": "+a)};m.ia=function(a,b,c){if(!b){var d=Eb("Computer",this.id);if(d&&d.A.tb)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||r((c?c+": ":"")+a);return!0};function Ub(a,b){a.A.error=!0;a.ia(b)}
|
|
function Vb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Wb(a,b){b&&(a.A.ready?b():a.bb=b);return a.A.ready}function Xb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.bb;a.bb=null;b&&b()}}function Yb(a,b){a.A.Ta&&(b?a.A.nb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Ta}function Zb(a,b){if(a.A.nb)return a.A.Ta=!1,a.A.nb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Ta=b;return a.A.Ta}m.za=function(){return this.A.aa=!0};
|
|
m.qa=function(a,b){b&&(this.A.aa=!1);return!0};function $b(a,b){if(a.D){a===a.D?b|=0:b=b||a.ca;var c=a.D.ca&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function ac(a,b,c,d){a.D&&(!0===c||$b(a,c|0))&&a.D.message(b,d)}var Tb="progress";window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
|
var wb=window?window.PCjs.Machines:{},ub=window?window.PCjs.Components:[],Gb=window?window.PCjs.Commands:{},Hb=["hold","sleep","wait"],Rb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Sb={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 u="pdp10",bc="PDPjs",cc=Math.pow(2,18)-1,dc=Math.pow(2,18),ec=Math.pow(2,17)-1,fc=Math.pow(2,17),x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),gc=Math.pow(2,34),hc=Math.pow(2,36),ic=Math.pow(2,21),jc=Math.pow(2,26),kc=Math.pow(2,23),lc=Math.pow(2,30);u="pdp10";bc="PDPjs";
|
|
var mc={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 nc(a,b){t.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=oc;this.C={};this.b={START:[1,1,!0,!1,this.ec],STEP:[1,1,!1,!1,this.fc],ENABLE:[1,1,!1,!1,this.$b],CONT:[1,1,!0,!1,this.Yb],DEP:[0,0,!0,!1,this.Zb],EXAM:[1,1,!0,!1,this.ac],LOAD:[1,1,!0,!1,this.cc],TEST:[0,0,!0,!1,this.bc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.dc,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Vb,toggle:this.oc,reset:this.kc,
|
|
set:this.nc};Xb(this)}ra(nc,t);m=nc.prototype;m.reset=function(a){this.stop();a&&pc(this,this.w=0)};
|
|
m.ra=function(a,b,c,d){if(this.G&&this.G.ra(a,b,c,d)||this.v&&this.v.ra(a,b,c,d)||this.D&&this.D.ra(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(){qc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){rc(a,b)}}(this,b),a.ontouchstart=
|
|
function(a,b){return function(c){qc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){rc(a,b)}}(this,b),!0):t.prototype.ra.call(this,a,b,c,d)}};m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;sc(this);tc(this)};m.za=function(a,b){if(!b)if(this.V&&uc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
|
|
m.restore=function(a){if(a=a[0])vc(this,this.i=a[0]),pc(this,this.w=a[1]),wc(this,a[2]);return!0};m.kc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}tc(this);return!0};function xc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function sc(a,b){for(var c in a.C)xc(a,c,null!=b?b:a.C[c])}function yc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function tc(a){for(var b in a.b)yc(a,b,a.b[b][1])}
|
|
m.Vb=function(a,b,c){if(qc(this,b)){if(c){var d=this;setTimeout(function(){rc(d,b);a&&a()},+c);return!1}rc(this,b)}return!0};m.nc=function(a,b){if("SR"==a)return wc(this,za(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,yc(this,a,c[1]),!0):!1};m.oc=function(a){return qc(this,a)?(rc(this,a),!0):!1};function qc(a,b){var c=a.b[b];return c?(yc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=zc&&(a.O=b==Ac,a.R=b==Bc),!0):!1}
|
|
function rc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(yc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(G(this.v,this.i),this.b[Cc]&&this.b[Cc][1]&&Dc(this.v))};m.fc=function(){};m.$b=function(a){a||H(this.v)};
|
|
m.Yb=function(a){if(!a&&!this.v.A.P)if(this.b[Cc]&&this.b[Cc][1])Dc(this.v);else{if((a=this.D)&&!Yb(a,!0))Zb(a,!0),Ec(a,0,null),Zb(a,!1);else try{var b=this.v.Xa(1);0<b&&(Fc(this.v,b),Gc(this.v,b,!0),Hc(this.v,b))}catch(c){"number"!=typeof c&&(b=c,Ub(this.v,b.stack||b.message))}this.stop();this.G&&K(this.G)}};m.Zb=function(a){a&&!this.v.A.P&&(this.O&&Ic(this),a=pc(this,this.w=this.j),this.S==oc?Jc(this.H,this.i,a):this.v.g(this.i,a))};
|
|
m.ac=function(a){if(!a&&!this.v.A.P){var b;this.R&&Ic(this);this.S==oc?b=Kc(this.H,this.i):b=this.v.f(this.i);pc(this,this.w=b)}};m.cc=function(a){a||this.v.A.P||vc(this,this.j)};m.bc=function(a){a?(this.F=!0,sc(this,!0)):(this.F=!1,sc(this),wc(this,0))};m.dc=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function Ic(a){var b=1,c=a.H.j;a.b[zc]&&a.b[zc][1]||(b=-b);vc(a,a.i&~c|a.i+b&c)}
|
|
function vc(a,b){a.i=b&a.H.j;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||xc(d,e,f)}}}function pc(a,b){a.I=b%D;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||xc(d,e,f)}}return a.I}function wc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;tc(a);return!0}m.stop=function(){vc(this,this.v.i)};
|
|
function uc(){for(var a=w(document,u,"panel"),b=0;b<a.length;b++){var c=a[b],d=Bb(c),e=Db(d.id);e||(e=new nc(d,!0));Ab(e,c)}}var oc=7,Ac="DEP",Cc="ENABLE",Bc="EXAM",zc="STEP";hb(uc);function Lc(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Mc(this);Nc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Xb(this)}ra(Lc,t);m=Lc.prototype;m.reset=function(){};
|
|
m.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,Sc(this));return a.data()};m.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 Tc(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,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Va+=h.B-e,h.B=e,!0;if(e>=h.B+h.Va){l=h.size-(e-k);l>f&&(l=f);h.Va=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Uc(Vc,e,f)}e=new Mc(a,e,l,16384,d);Nc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Wc[d]+" at "+Ba(b)),!0):Uc(Xc,b,c)}
|
|
function Kc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function Jc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Sc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.pb||e.Tb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
|
m.Jb=function(a){if(!this.w)throw this.D&&$b(this.D,4)&&ac(this.D,"memory fault on "+L(this.D,a),!0,!0),H(this.v),-1;};function Uc(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Vc=1,Xc=2;function Yc(a){t.call(this,"Device",a,256)}ra(Yc,t);m=Yc.prototype;m.Ka=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Xb(this)};m.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.reset=function(){};
|
|
m.save=function(){return(new F(this)).data()};m.restore=function(){return!0};hb(function(){for(var a=w(document,u,"device"),b=0;b<a.length;b++){var c=a[b];var d=Bb(c);switch(d.type){case "default":d=new Yc(d),Ab(d,c)}}});
|
|
function Mc(a,b,c,d,e){this.H=a;this.id=Zc+=2;this.B=b;this.Va=c;this.size=d||0;this.type=e||$c;this.G=e==ad;this.b=null;this.f=this.w=this.sb;this.g=this.D=this.Wa;this.i=this.v=0;Nc(this);this.pb=this.Tb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;bd(this,cd)}else bd(this)}m=Mc.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.pb=!0):!1};function bd(a,b){b||(b=dd);ed(a,b,void 0);fd(a,b,void 0)}
|
|
function ed(a,b,c){c&&a.i||(a.f=b[0]||a.sb);if(c||void 0===c)a.w=b[0]||a.sb}function fd(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Wa);if(c||void 0===c)a.D=b[1]||a.Wa}m.Qa=function(a,b){b?0===this.v++&&fd(this,gd,!1):0===this.i++&&ed(this,gd,!1)};function hd(a,b){b?0===--a.v&&(a.g=a.G?a.Wa:a.D):0===--a.i&&(a.f=a.w)}function Nc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&ed(a,gd,!1),(a.v=c.v)&&fd(a,gd,!1))}
|
|
m.sb=function(a,b){this.b&&$b(this.b,32)&&ac(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Jb(b);return-1};m.Wa=function(a,b,c){this.b&&$b(this.b,32)&&ac(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0);this.H.Jb(c)};m.ic=function(a){return this.j[a]};m.rc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.pb=!0)};m.gc=function(a,b){if(this.b&&null!=this.B){var c=this.b;id(c,this.B+a,2,c.N)&&jd(c,!1)}return this.w(a,b)};
|
|
m.qc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;id(d,this.B+b,2,d.K)&&jd(d,!1)}this.G?this.Wa(a,0,c):this.D(a,b,c)};var $c=0,ad=2,Wc=["NONE","RAM","ROM"],Zc=0,dd=[],cd=[Mc.prototype.ic,Mc.prototype.rc],gd=[Mc.prototype.gc,Mc.prototype.qc];
|
|
function kd(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.gb=0;this.kb=b;this.ga=c;this.hb=Math.round(this.kb/1E4)/100;this.ba=this.hb*this.ga;this.jb=this.Ha=this.la=this.$a=0;this.A.P=this.A.fb=!1;this.A.fa=a.autoStart;"string"==typeof this.A.fa&&(this.A.fa="true"==this.A.fa);this.A.Sa=!1;this.Fa=this.sa=0;this.Ga=+a.csStart;this.oa=+a.csInterval;this.ta=+a.csStop;this.R=[];this.Fb=this.lc.bind(this);this.W=this.M=this.V=this.N=this.L=this.Ea=this.S=this.ua=this.lb=this.Y=
|
|
0;this.Ma=null;Xb(this)}ra(kd,t);m=kd.prototype;m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Ma=a.j;for(a=0;a<ld.length;a++)(b=this.J[ld[a]])&&this.G.ra(null,ld[a],b);Xb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
|
|
m.za=function(a,b){var c=md(this.G,"autoStart");null!=c?this.A.fa="true"==c?!0:"false"==c?!1:!!c:null==this.A.fa&&(this.A.fa=!this.D&&void 0===this.J.run);if(!b){if(a){nd(this);if(!this.restore(a))return!1;od(this)}else this.reset();this.D?(a=this.D,b=this.A.fa,a.Ha=!0,a.u("Type ? for help with PDPjs Debugger commands"),pd(a),b||qd(a),a.ta&&(b=a.ta,a.ta=null,rd(a,b,!0))):this.status("No debugger detected");this.A.fa||this.u("CPU will not be auto-started "+(this.Ma?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
|
m.qa=function(a){return a?this.save():!0};m.fa=function(){return this.A.P?!0:this.A.fa?(Dc(this),!0):!1};m.Kb=function(){return 0};function od(a){void 0===a.Ga&&(a.Ga=0);void 0===a.oa&&(a.oa=-1);void 0===a.ta&&(a.ta=-1);a.A.Sa=0<=a.Ga&&0<a.oa;a.A.Sa&&(a.Fa=0,a.sa=a.Ga-a.W)}function Hc(a,b){if(a.A.Sa){var c=!1;a.Fa=a.Fa+a.Kb()|0;a.sa-=b;0>=a.sa&&(a.sa+=a.oa,c=!0);0<=a.ta&&a.ta<=sd(a)&&(a.oa=a.ta=-1,od(a),H(a),c=!0);c&&a.u(sd(a)+" cycles: checksum="+n(a.Fa))}}
|
|
m.ra=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.aa)a=!0;else{var b=null,c,h=Cb(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.aa);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.P?H(d):Dc(d))},!0;
|
|
case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){td(d,d.ga<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function Gc(a,b,c){a.W+=b;c&&(a.V=a.N=0)}function ud(a,b){var c=1;b&&1<a.ga&&a.Y&&(c=a.Y/a.hb);a.jb=Math.round(1E3/vd);a.Ha=Math.floor(a.kb/vd*c);b||(a.la=a.Ha);a.$a=0}function sd(a){return a.W+a.M+a.V-a.N}function nd(a){a.Y=0;a.lb=0;a.W=a.M=a.V=a.N=0;od(a);td(a,1)}
|
|
function td(a,b,c){var d=!1;if(void 0!==b){.8>a.Y/a.ba?b=1:d=!0;a.ga=b;b=a.hb*a.ga;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.G&&wd(a.G)}Gc(a,a.M);a.M=0;a.L=xb();a.S=0;ud(a);return d}function xd(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;c<a.R.length;c++)b.push(a.R[c][0]);return b}
|
|
function Fc(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.V-=a.N;a.N=0;b&&(a.V=0);return c}
|
|
m.lc=function(){if(this.A.P){this.$a>=this.kb&&ud(this,!0);this.ua=0;this.Ea=xb();if(this.S){var a=this.Ea-this.S;a>this.jb&&(this.L+=a,this.L>this.Ea&&(this.L=this.Ea))}try{do{var b=xd(this,this.A.Sa?1:this.Ha);try{this.Xa(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ua+=b;this.M+=b;Hc(this,b);Fc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Ha;++this.lb>=Ad&&(this.G&&K(this.G,void 0),this.lb=0);break}}while(this.A.P)}catch(e){H(this);this.G&&this.G.stop(xb(),sd(this));Ub(this,
|
|
e.stack||e.message);return}if(this.A.P){a=setTimeout;b=this.Fb;this.S=xb();var c=this.jb;this.ua&&(c=Math.round(c*this.ua/this.Ha));c-=this.S-this.Ea;var d=this.S-this.L;d&&(this.Y=Math.round(this.M/(10*d))/100,864E5<=d&&(this.W=0,td(this)));if(0>c||this.Y<this.ba)-1E3>c&&(this.L-=c),c=0;this.$a+=this.ua;this.S+=c;a(b,c)}}};
|
|
function Dc(a,b){if(!Vb(a))if(a.A.P)a.u(a.toString()+" busy");else{td(a);a.A.P=!0;a.A.fb=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&wd(a.G,!0),a.G.start(a.L,sd(a)));a.D||a.status("Started");setTimeout(a.Fb,0)}}m.Xa=function(){return 0};function H(a,b){var c=!1;if(a.A.P){zd(a);Gc(a,a.M);a.M=0;a.A.P=!1;if(c=a.J.run)c.textContent="Run";a.G&&a.G.stop(xb(),sd(a));c=!0;a.D||a.status("Stopped")}a.A.complete=b;return c}var vd=30,Ad=15,ld=["power","reset"];
|
|
function Bd(a){var b=+a.model||1001;kd.call(this,a,1E6);this.ib=b;this.Ya=+a.addrReset||0;this.Sb=Cd.bind(this);this.w=M.bind(this);this.Ba=null;this.ub=[];this.A.complete=!1}ra(Bd,kd);m=Bd.prototype;
|
|
m.reset=function(){this.status("Model "+this.ib);this.A.P&&H(this);this.Ia=this.Ja=this.b=this.I=0;this.i=this.na=this.Ya;this.K=this.O=-1;this.F=this.j=0;this.mb=[0,0];this.va=[0,0];this.ma=[0,0];this.wa=[0,0];this.Aa=this.i;this.C=0;this.f=this.hc;this.g=this.sc;this.Ba=null;nd(this);this.A.error=!1;kd.prototype.reset.call(this)};m.Kb=function(){return 0};
|
|
m.save=function(){var a=new F(this);a.set(0,[this.b,this.I,this.Ia,this.Ja,this.i,this.O,this.K,this.j,this.C,this.na,this.Aa,this.Ya]);a.set(1,[]);a.set(2,[this.W,this.ga,this.A.fa]);a.set(3,Dd(this));a.set(4,yd(this));return a.data()};
|
|
m.restore=function(a){var b=a[0];ea();ca();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.I=b.next().value;this.Ia=b.next().value;this.Ja=b.next().value;this.i=b.next().value;this.O=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.na=b.next().value;this.Aa=b.next().value;this.Ya=b.next().value;b=a[2];this.W=b[0];td(this,b[1]);this.A.fa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ub.length;d++){var e=this.ub[d];if(e.pc===
|
|
b[c]){d=e;break a}}d=null}d&&(d.next=this.Ba,this.Ba=d)}a=a[4];for(b=0;b<this.R.length&&b<a.length;b++)this.R[b][0]=a[b];return!0};function Ed(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function Fd(a,b){var c=a.i;a.i=(c+b)%dc;return c}function Gd(a){return 0<=a.O?a.O:a.I&4194304?a.na:a.i}function G(a,b){a.I=0;a.O=-1;a.i=b%dc}function Dd(a){var b=[];for(a=a.Ba;a;)b.push(a.pc),a=a.next;return b}
|
|
m.hc=function(a){var b=this.H;a=this.Aa=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};m.sc=function(a,b){var c=this.H;a=this.Aa=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
|
|
m.Xa=function(a){this.A.complete=!0;var b=this.D?Hd(this.D)?1:this.A.fb?-1:0:0,c=a?this.A.fb?0:1:-1;this.A.fb=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Id(this.D,Gd(this),c)){H(this);break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Ba||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Id(this.D,Gd(this),c)){H(this);break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ia=this.f(this.b):0<=this.O?(this.I=this.Ja=this.f(this.O),this.O=-1):(this.I=
|
|
this.Ja=this.f(this.na=this.i),this.i=(this.i+1)%dc);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ia=this.f(a))&cc;a=this.I&4194304?-1:this.Ja/kc|0;0<=a&&this.Sb(a);this.N--}while(0<this.N);return this.A.complete?this.V-this.N:!1===this.A.complete?-1:0};hb(function(){for(var a=w(document,u,"cpu"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Bd(d);Ab(d,c)}});function Cd(a){Jd[a>>4].call(this,a,a&15)}function O(a){this.w(a)}
|
|
function Kd(){var a=0,b=this.f(this.b),c=b/lc&63,d=b>>24&63;c-=d;0>c&&(a++,c=36-d,0>c&&(c=100-d));b=c*lc+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function Ld(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/lc&63,d=this.K>>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.j&=-8193;this.K=-1}}
|
|
function Md(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/lc&63,d=this.K>>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.j&=-8193;this.K=-1}}function Nd(a,b){this.g(b,this.f(this.b))}function Od(a,b){this.g(b,this.b)}function Pd(a,b){this.g(this.b,this.f(b))}function Qd(a,b){this.g(b,0)}function Rd(a,b){this.g(b,C-this.f(b))}function Sd(a,b){this.g(b,C)}
|
|
function Td(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Ud(a,d,c)+(c-(c&x)))}function ke(a,b){var c=this.f(b);this.g(b,Ud(a,c,0))}function le(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Ud(a,c,b)+(b-(b&x)))}function me(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>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ne(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Ud(a,d,c)+c)}
|
|
function oe(a,b){var c=this.b*y,d=this.f(b);this.g(b,Ud(a,d,c)+c)}function pe(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Ud(a,c,b)+b)}function qe(a,b){var c=this.f(this.b),d=(c&x)*y;c=Ud(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function re(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,se(a,d,c)+c)}function te(a,b){var c=this.f(b);this.g(b,se(a,c,this.b)+this.b)}function ue(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,se(a,c,b)+b)}
|
|
function ve(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>ec?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function we(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,se(a,d,c)+c)}function xe(a,b){var c=this.f(b);this.g(b,se(a,c,0))}function ye(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,se(a,c,b)+b)}function ze(a,b){var c=this.f(this.b),d=c/y|0;c=se(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function P(a){Ae[a&7].call(this,a,a>>3&127)}
|
|
function Be(){}function Ce(){}function M(a){this.u("undefined opcode: "+Ba(a));Fd(this,-1);H(this)}function De(a){a>z&&(a!=A?a=hc-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%D;Ee.call(this,a,b,c);return c}
|
|
function Fe(a,b,c){var d=!1,e=!1;if(void 0===c){if(!a)return this.j|=131104,-1;c=b>z?C:0}else if((c<A?c:hc-c-(b?1:0))>=(a<A?a:hc-a))return this.j|=131104,-1;var f=c-c%A;b=b%A+(c&1)*A;c=this.F=f+Math.trunc(c/2);a>z&&(a=D-a,d=!d);c>z&&(b?(c=C-c,b=D-b):c&&(c=D-c),e=!0,d=!d);f=this.mb;f[0]=0;f[1]=0;f=this.va;f[0]=1;f[1]=0;f=this.ma;f[0]=a;f[1]=0;a=this.wa;a[0]=b;for(a[1]=c;0<Ge(this.wa,this.ma);)He(this.ma,this.ma),He(this.va,this.va);do{if(0<=Ge(this.wa,this.ma)&&(c=this.wa,a=this.ma,c[0]-=a[0],c[1]-=
|
|
a[1],0>c[0]&&(c[0]+=D,c[1]--),He(this.mb,this.va),Ie(this.wa)))break;Je(this.ma);Je(this.va)}while(!Ie(this.va));b=this.mb[0];this.F=this.wa[0];d&&b&&(b=D-b);e&&this.F&&(this.F=D-this.F);return b}
|
|
function Ke(a,b,c,d){var e=a,f=b;b=!1;e>z&&(d||1001!=this.ib||e!=A)&&(e=D-e,b=!b);f>z&&(f=D-f,b=!b);if(e<y&&f<y){a=e*f;var g=0}else{a=e&x;e=Math.trunc(e/y);g=f&x;f=Math.trunc(f/y);var h=a*g,k=e*g+Math.trunc(h/y);g=Math.trunc(k/y);k=(k&x)+a*f;a=(k*y+(h&x))%D;g+=Math.trunc(k/y)+e*f}b&&(a?(g=C-g,a=D-a):g&&(g=D-g));b=a;a=g;e=a-a%A;a=2*a%D+Math.trunc(b/A);b=e+b%A;a-a%A!=e&&(b=a);d?g=b:(b==A&&a==A&&(this.j|=131072),this.F=b,g=a);c&&(a=this.F,!d&&(g||a>z)&&(g!=C||a<=z)&&(this.j|=131072),g=a);return g}
|
|
function Le(a){a?a==A?this.j|=163840:a=hc-a:this.j|=98304;return a}function Me(a,b){var c=a-b;0>c&&(c+=D);Ee.call(this,c,b,a);return c}function Ee(a,b,c){a=Math.trunc(a/gc);b=Math.trunc(b/gc);c=Math.trunc(c/gc);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function Ne(a,b){return(a<A?a:a-D)-(b<A?b:b-D)}
|
|
function Oe(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function T(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function U(a){return a<A?a:a-D}function V(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function W(a){return(a/y|0)+(a&x)*y}function se(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>ec?x*y:0}return b}function Ud(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>z?x:0}return b}
|
|
function He(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function Ge(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Je(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Ie(a){return!a[0]&&!a[1]}
|
|
var Jd=[O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Kd,function(a,b){this.j&8192||(Kd.call(this),this.j|=8192);Ld.call(this,0,b)},Ld,function(a,b){this.j&8192||(Kd.call(this),this.j|=8192);Md.call(this,0,b)},Md,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)},Nd,Od,Pd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Le.call(this,this.f(this.b)))},function(a,b){this.g(b,
|
|
Le.call(this,this.b))},function(a,b){this.g(this.b,Le.call(this,this.f(b)))},function(a,b){a=Le.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,De.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,De.call(this,this.f(b)))},function(a,b){a=De.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ke.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,Ke.call(this,this.f(b),this.b,!0))},function(a,
|
|
b){this.g(this.b,Ke.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,Ke.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,Ke.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,Ke.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,Ke.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ke.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=Fe.call(this,
|
|
this.f(this.b),this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Fe.call(this,this.b,this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Fe.call(this,this.f(this.b),this.f(b));0>a||this.g(this.b,a)},function(a,b){a=Fe.call(this,this.f(this.b),this.f(b));0>a||(this.g(this.b,this.g(b,a)),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15);c=Fe.call(this,this.f(this.b),c,a);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=Fe.call(this,this.b,c,a);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=Fe.call(this,this.f(this.b),b,a);0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15);c=Fe.call(this,this.f(this.b),c,a);0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b);if(0<a){var d=z;var e=c<A?0:A;35>a&&(e+=c*Math.pow(2,a)%A,d=A-Math.pow(2,35-a));c<A?c+d>z&&(this.j|=131072):c-
|
|
d<A&&(this.j|=131072)}else-35>=a?e=c<A?0:z:(e=Math.trunc(c/Math.pow(2,-a)),c>z&&(d=D-Math.pow(2,36+a),e+=d));this.g(b,e)}},function(a,b){if(a=((this.b&fc)<<14>>23|this.b&255)%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&fc)<<14>>23|this.b&255){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<A;)a++,c*=2;G(this,this.b)}this.g(b+
|
|
1&15,a)},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b),d=this.f(b+1&15);if(0<a){var e=c;if(36<=a){if(0<c&&c<A||c>z&&c<C)this.j|=131072;if(71<=a){if(0<d&&d<A||d>z&&d<C)this.j|=131072;c=0}else{c=d*Math.pow(2,a-35)%A;var f=A-Math.pow(2,70-a);e<=z?d+f>z&&(this.j|=131072):d-f<=z&&(this.j|=131072)}d=0;e>z&&(c+=A,d+=A)}else c=c*Math.pow(2,a)%A+Math.trunc(d%A/Math.pow(2,35-a)),d=d*Math.pow(2,a)%A,f=A-Math.pow(2,35-a),e<=z?e+f>z&&(this.j|=131072):(e-f<=z&&(this.j|=131072),c+=A,d+=A)}else-36>=
|
|
a?(d=-72>=a?c>z?C:0:Math.trunc(c%A/Math.pow(2,-a-35)),c<=z?c=0:(c=C,d+=A)):(f=c>z?D-Math.pow(2,36+a):0,d=Math.trunc(d%A/Math.pow(2,-a))+c%A*Math.pow(2,35+a)%A,c=Math.trunc(c/Math.pow(2,-a))+f,c>z&&(d+=A));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=((this.b&fc)<<14>>23|this.b&255)%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&fc)<<14>>23|this.b&255){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)}},M,function(a,b){a=this.f(b);this.g(b,
|
|
this.f(this.b));this.g(this.b,a)},function(a,b){var c=a=!1,d=this.f(b),e=d/y|0;for(d&=x;!a;)if(this.g(d,this.f(e)),(a=d>=this.b)||(e=e+1&x,d=d+1&x,c=!0),a||!this.A.P){c&&this.g(b,e*y+d);a||Fd(this,-1);break}},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a<A&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a>=A&&G(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&Ed(this,this.Ia/y|0);b&4&&H(this);b&8&&this.w(a);G(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,G(this,
|
|
this.b))},function(){this.O=this.b},M,function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&cc,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&cc,this.f(this.b));a>=D&&(a-=D);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&cc);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&cc);a-=262145;0>a&&(a+=D);(a/
|
|
y|0)==x&&(this.j|=262144);this.g(b,a);G(this,c&cc)},function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);G(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,
|
|
this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,Me.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Me.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Me.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Me.call(this,this.f(b),this.f(this.b))))},Be,function(a,b){0>Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0==Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,
|
|
b){0>=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0!=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<Ne(this.f(b),this.b)&&G(this,this.i+1)},Ce,function(a,b){0>Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0==Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0>=Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=Ne(this.f(b),
|
|
this.f(this.b))&&G(this,this.i+1)},function(a,b){0!=Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},Be,function(a,b){0>U(this.f(b))&&G(this,this.b)},function(a,b){0==U(this.f(b))&&G(this,this.b)},function(a,b){0>=U(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=U(this.f(b))&&G(this,this.b)},function(a,b){0!=U(this.f(b))&&G(this,this.b)},function(a,b){0<U(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>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=U(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<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,
|
|
b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0==U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=U(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0!=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,
|
|
Q.call(this,this.f(b),1));0<U(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.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,Q.call(this,this.f(this.b),1));0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),C))},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),
|
|
C));0==U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>=U(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),C));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0!=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<U(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));b&&this.g(b,a)},function(a,b){a=this.g(this.b,
|
|
Q.call(this,this.f(this.b),C));0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
|
|
Q.call(this,this.f(this.b),C));0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},Qd,Qd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-
|
|
this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),this.b))},function(a,b){this.g(this.b,R(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),this.f(this.b))))},Nd,Od,Ce,Nd,function(a,b){this.g(b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),C-this.b))},function(a,b){this.g(this.b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),C-this.f(this.b))))},Be,Be,Pd,Pd,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,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),C-this.b))},
|
|
function(a,b){this.g(this.b,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,Oe(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Oe(this.f(b),this.b))},function(a,b){this.g(this.b,Oe(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Oe(this.f(b),this.f(this.b))))},Rd,Rd,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))))},Sd,Sd,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,re,te,ue,ve,we,xe,
|
|
ye,ze,re,te,ue,ve,we,xe,ye,ze,re,te,ue,ve,we,xe,ye,ze,re,te,ue,ve,we,xe,ye,ze,Be,Be,function(a,b){0==R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0==R(this.f(b),this.b*y)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.b*y)&&G(this,this.i+1)},Ce,Ce,function(a,b){0==R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0==R(this.f(b),W(this.f(this.b)))&&G(this,this.i+
|
|
1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0!=R(this.f(b),W(this.f(this.b)))&&G(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0==R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),
|
|
this.b))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0==R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,
|
|
c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,c)&&G(this,this.i+1);this.g(b,S(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*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&
|
|
G(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(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);0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){G(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);0!=R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,
|
|
c)&&G(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*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);0==R(a,this.b*y)&&G(this,this.i+1);this.g(b,T(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},
|
|
function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(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);0==R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){G(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);0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P],Ae=[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.j&=-131073);
|
|
a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
|
function Pe(a){t.call(this,"ROM",a,128);this.Z=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=Da(this.w);if(this.w){a=this.w;var b=Ea(this.F);"json"!=b&&"hex"!=b&&(a=Xa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Va(a,null,!0,function(a,b,f){f?(c.ia("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(vb(c.Za,a,b),(a=Wa(a,b))?(c.b=a.da,c.Z=a.Z):c.w=null);Qe(c)})}}ra(Pe,t);
|
|
Pe.prototype.Ka=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Qe(this)};Pe.prototype.za=function(){this.Z&&(this.D&&Re(this.D,this.id,this.C,this.j,this.Z),delete this.Z);return!0};Pe.prototype.qa=function(){return!0};
|
|
function Qe(a){if(!Wb(a)){if(a.w){if(!a.b||!a.H)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)Ub(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b=a.C;if(Tc(a.H,b,a.j,ad)){var c;for(c=0;c<a.b.length;c++)Jc(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.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.j;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}}}Xb(a)}}hb(function(){for(var a=w(document,u,"rom"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Pe(d);Ab(d,c)}});
|
|
function Se(a){t.call(this,"RAM",a);this.Z=this.Na=null;this.i=+a.addr;this.j=+a.size;this.ka=a.load;this.xa=a.exec;null!=this.ka&&(this.ka=+this.ka);null!=this.xa&&(this.xa=+this.xa);this.w=this.F=!1;this.b=a.file;this.C=Da(this.b);if(this.b){a=this.b;var b=Ea(this.C);"json"!=b&&"hex"!=b&&(a=Xa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Va(a,null,!0,function(a,b,f){f?(c.ia("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(vb(c.Za,a,b),(a=Wa(a,b))?(c.Na=a.Na,
|
|
c.Z=a.Z,null==c.ka&&(c.ka=a.ka),null==c.xa&&(c.xa=a.xa)):c.b=null);Te(c)})}}ra(Se,t);Se.prototype.Ka=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Te(this)};Se.prototype.za=function(a,b){this.Z&&(this.D&&Re(this.D,this.id,this.i,this.j,this.Z),delete this.Z);b||this.reset();return!0};Se.prototype.qa=function(){return!0};
|
|
function Te(a){if(a.H&&(!a.w&&a.j&&(Tc(a.H,a.i,a.j,1)?a.w=!0:a.j=0),!Wb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Na)return;Ue(a,a.Na,a.ka,a.xa,a.i)?a.status('Loaded image "'+a.C+'"'):a.ia('Error loading image "'+a.C+'"')}a.F=!0;Xb(a)}}
|
|
Se.prototype.reset=function(){if(this.w&&!this.F){var a=this.H,b=this.i,c=this.j,d=b&16383;for(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>=-A&&(g+=D);g=Math.trunc(Math.abs(g))%D;for(var h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Na&&Ue(this,this.Na,this.ka,this.xa,this.i,!this.D)}this.F=!1};
|
|
function Ue(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Jc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(H(a.v),f=!1),null!=d&&(a=a.v,a.Ya=d,G(a,d),f?a.A.aa?a.A.P||Dc(a):a.A.fa=!0:a.D&&a.A.aa?H(a)||a.G.A.reset||(pd(a.D),K(a.G,-1)):!1===f&&H(a),!a.A.P&&a.Ma&&a.Ma.stop()));return g}hb(function(){for(var a=w(document,u,"ram"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Se(d);Ab(d,c)}});
|
|
function Ve(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=We;b&&(void 0===c&&(c="Panel"),(c=Eb(c,this.id))&&(b=c.J[b])&&this.ra(null,a,b))}this.b=this.C=null;this.exports={connect:this.Lb,receiveData:this.cb,receiveStatus:this.jc,setConnection:this.mc}}ra(Ve,t);m=Ve.prototype;
|
|
m.ra=function(a,b,c){var d=this;switch(b){case We:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ya.wb:ya.Qb:46==c?b=ya.wb:a.ctrlKey&&c>=ya.vb&&c<=ya.Rb&&(b=c-(ya.vb-ya.Nb));b&&(a.preventDefault&&a.preventDefault(),d.cb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ya.Pb&&(b=ya.Ob);d.cb(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.cb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Xb(this)};
|
|
m.Lb=function(a){if(!this.b){var b=md(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ma(c[0]);if(d!=this.Db)return;c=Ma(c[1]);if(this.b=Db(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.Za+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.za=function(a,b){if(!b)if(this.Lb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
|
m.qa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.cb=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};m.jc=function(){};m.mc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var We="buffer";
|
|
hb(function(){for(var a=w(document,u,"serial"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Ve(d);Ab(d,c)}});function Xe(a){t.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.S=["{","}"];this.sa=["[","]"];this.F=0;this.V=!1;this.C=-1;this.w=[];this.b={}}ra(Xe,t);Xe.prototype.qb=function(){return-1};Xe.prototype.rb=function(){};
|
|
function Ye(a,b,c,d){if(c)if(b){0>a.C&&a.w.length&&(a.C=0);if(0>a.C||b!=a.w[a.C])a.w.splice(0,0,b),a.C=0;a.C--}else a.V?b="end":b=a.w[a.C+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(Ma(b.substring(c,f))),c=f+1}}return a}function Ze(a,b,c){if(32>=a.L)return b&c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/$e|0)&(c/$e|0))*$e+((b&c)>>>0)}
|
|
function af(a,b,c){if(32>=a.L)return b|c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/$e|0)^(c/$e|0))*$e+((b^c)>>>0)}Xe.prototype.Ib=function(a,b){return a*b};function X(a,b,c,d){var e=b;c=c||a.L;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 32>=c?e=b<<32-c>>32-c:(a=Math.pow(2,c-1),b>=a?(e=b%a,(b/a|0)&1&&(e-=a)):b<-a&&(e=b%a,((-b-1)/a|0)&1?e&&(e+=a):e||(e-=a)));b!=e&&(b=e);return b}
|
|
function bf(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();var g=b.pop();switch(e){case "*":g=a.Ib(g,f);break;case "/":if(!f)return!1;g=Math.trunc(g/f);break;case "^/":if(!f)return!1;g%=f;break;case "+":g+=f;break;case "-":g-=f;break;case "<<":g<<=f;break;case ">>":g>>=f;break;case ">>>":g>>>=f;break;case "<":g=g<f?1:0;break;case "<=":g=g<=f?1:0;break;case ">":g=g>f?1:0;break;case ">=":g=g>=f?1:0;break;case "==":g=g==f?1:0;break;case "!=":g=g!=f?
|
|
1:0;break;case "&":g=Ze(a,g,f);break;case "!":case "|":e=g;32>=a.L?g=e|f:(e=X(a,e,0,!0),f=X(a,f,0,!0),g=(e/$e|0|f/$e|0)*$e+((e|f)>>>0));break;case "^!":g=af(a,g,f);break;case "&&":g=g&&f?1:0;break;case "||":g=g||f?1:0;break;case ",,":g=X(a,g,18,!0)*Math.pow(2,18)+X(a,f,18,!0);break;case "_":case "^_":"^_"==e&&(f=35-(f&255));f&&(g=X(a,g,0,!0),g=0<f?g*Math.pow(2,f):Math.trunc(g/Math.pow(2,-f)));break;default:return!1}b.push(X(a,g))}return!0}
|
|
function cf(a,b,c,d,e,f){var g,h=!1,k=0,l=[],p=[],q=a.T;for(a.T=e;c<d;){var B=b[c++].trim();var v=c<d?b[c++]:"";if(B)var J=df(a,B,null,f,k);else if("{"==v){B=1;for(J=c;c<d;)if(c++,v=c<b.length?b[c++]:"","{"==v)B++;else if("}"==v&&!--B)break;J=cf(a,b,J,c-1,a.T,f);null!=J&&k&&(J=ef(a,J,k));B=c<d?b[c++].trim():"";v=c<d?b[c++]:""}else{if(" "==v)continue;if("^B"==v){a.T=2;continue}if("^O"==v){a.T=8;continue}if("^D"==v){a.T=10;continue}if(!(k&-1073741824)){if("+"==v)continue;if("-"==v){k=k<<2|1;continue}if("~"==
|
|
v||"^-"==v){k=k<<2|2;continue}if("^L"==v){k=k<<2|3;continue}}h=!0;break}if(void 0===J)if(f)f.push(B),J=0;else{h=!0;f=[];break}l.push(X(a,J));if(" "==v)if(c<b.length-1&&!b[c])c++,v=b[c++];else{h=!0;break}if(!v)break;k="<"==a.S[0]?ff:gf;if(!k[v]){h=!0;break}p.length&&k[v]<=k[p[p.length-1]]&&bf(a,l,p,1);p.push(v);a.T="^_"==v?10:e;k=0}if(h||!bf(a,l,p)||1!=l.length)h=!0;h?f||a.u("parse error ("+(B||v)+")"):g=l.pop();a.T=q;return g}
|
|
function hf(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var l=b[h++];if(l==c){k=-1;break}if(!k)break;k--;l=l.charCodeAt(0);7==d?l&=127:l=l-32&63;g=X(a,g*Math.pow(2,d)+l,d*e,!0)}if(0<=k){a.u("parse error ("+c+b+c+")");return}b=b.substr(0,f)+L(a,g,-1)+b.substr(h)}return b}
|
|
function jf(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.S[0]&&(b=b.split(a.S[0]).join("{").split(a.S[1]).join("}"));b=hf(a,b,'"',7,5);if(!b)return d;b=hf(a,b,"'",6,6);if(!b)return d;16!=a.T&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=cf(a,b,0,b.length,a.T,c);void 0!==d&&e&&kf(a,null,d)}return d}
|
|
function ef(a,b,c){for(;c;){switch(c&3){case 1:b=-X(a,b);break;case 2:b=af(a,b,-1);break;case 3:for(var d=35;0<=d&&!Ze(a,b,Math.pow(2,d));)d--;b=35-d}c>>>=2}return b}
|
|
function df(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.qb(b);if(0<=g)g=a.rb(g);else if(g=b,a.b[g]?g=a.b[g].value:(g=g.substr(0,6),g=a.b[g]&&a.b[g].value),null!=g){var h=a.b[b]&&a.b[b].Mb;h&&(f?f.push(h):(f=jf(a,h,d),void 0!==f?g+=f:(d||a.u("undefined "+(c||"value")+": "+b+" ("+h+")"),g=void 0)))}else g=za(b,1<b.length||10<a.T?a.T:10);null!=g?g=X(a,ef(a,g,e)):d||a.u("invalid "+(c||"value")+": "+b)}else d||a.u("missing "+(c||"value"));return g}
|
|
function kf(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.T?L(a,c,a.L,8,1)+" "+c+".":L(a,c,a.L,16,1)+" "+L(a,c,a.L,8,1)+" "+L(a,c,a.L,2,32>=a.L?8:6)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+e);return d}function lf(a){var b=a.b;a.b={};return b}function mf(a,b){var c=0;if(a.b){if(b)return kf(a,b,a.b[b]&&a.b[b].value);b=Object.keys(a.b);b.sort();for(var d=0;d<b.length;d++)kf(a,b[d],a.b[b[d]].value),c++}return 0<c}
|
|
function L(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.T){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=Aa(b,2,a,"",e);break;case 8:b=Ba(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=Ca(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
|
var gf={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ff={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},$e=Math.pow(2,32);
|
|
function nf(a){Xe.call(this,a);this.Ha=!1;this.Ea=18;this.L=36;this.S=["<",">"];this.sa=[];this.Ga=Y();this.M=Y(0);this.na=Y(0);this.ga=Y(0);this.I=[];this.i=this.N=this.K=[];of(this);this.W=this.oa=0;this.j=[];this.Aa=void 0;pf(this);this.D=this;this.ua={};this.ca=this.Eb=0;this.Y=null;this.R=[];qf(this,a.messages);this.ta=a.commands;this.Fa=[];this.O=0;this.Ma=this.Ba=null;this.F=this.Ja=this.Ia=this.ma=this.wa=0;this.va=this.la=this.ba=null;var b=this;window?void 0===window[u]&&(window[u]=function(a){return rd(b,
|
|
a)}):void 0===global[u]&&(global[u]=function(a){return rd(b,a)})}ra(nf,Xe);function rf(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,ab:void 0===b?!1:b,pa:!1,T:c}}function sf(a,b,c,d){a.B=b;a.ab=c||!1;a.pa=!1;a.T=d}function tf(a){return[a.B,a.ab,a.pa,a.T,a.eb]}function uf(a,b){var c=Y(b[0],b[1],b[2]);c.pa=b[3];b[4]&&(c.zb=Ye(a,c.eb=b[4]));return c}m=nf.prototype;
|
|
m.Ka=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.la=a.j;this.Ea=b.F;(b=md(a,"messages"))&&qf(this,b);if(a=md(a,"commands"))this.ta=a;vf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=rf(wf(d,c,d.na));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");c=-1;for(var l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Wc[c],p&&d.u(n(p.id,8)+" %"+
|
|
n(e<<d.H.i,8)+" %"+n(p.B,8)+" "+n(p.Va,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=$c&&(c=-1),l=0);a+=16384;e++}}});Xb(this)};
|
|
m.ra=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ba=this.J[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";rd(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.w.length-1&&(b=d.w[++d.C])):40==a.keyCode&&(0<d.C?b=d.w[--d.C]:(b="",d.C=-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,fb(c,function(){if(d.ba){var a=d.ba.value;
|
|
d.ba.value="";rd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,fb(c,function(a){var b=!1;Yb(d,!0)||(Zb(d,!0),b=Ec(d,a?1:0,null),Zb(d,!1));return b}),!0}return!1};function qd(a){if(a.ba){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ba.focus();window&&window.scrollTo(b,c)}}m.La=function(a,b){var c=-1,d=rf(a);-1!==d&&(c=Kc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};m.xb=function(a,b,c){var d=rf(a);-1!==d&&(Jc(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),K(this.G,-1))};
|
|
m.Ib=function(a,b){0>a&&(a+=D);0>b&&(b+=D);a=Ke.call(this.v,a,b,!1,!0);a>=A&&(a-=D);return a};
|
|
function wf(a,b,c){var d;c||(c=Y());var e=c.B;if(void 0!==b){a:{e=a.S[0];var f=a.S[1];var g="("==e||"{"==e||"["==e?"\\":"";var h="["==e?"\\":"";for(h=new RegExp(g+e+"([^"+h+e+h+f+"]+)"+g+f);g=b.match(h);){var k=jf(a,g[1]);if(void 0===k){b=void 0;break a}b=b.replace(e+g[1]+f,null!=k?L(a,k):"undefined")}if(a.sa.length)for(e=a.sa[0],f=a.sa[1],g="("==e||"{"==e||"["==e?"\\":"",h="["==e?"\\":"",h=new RegExp(g+e+"([^"+h+e+h+f+"]+)"+g+f);g=b.match(h);)b=b.replace("["+g[1]+"]","unimplemented");for(;e=b.match(/\$([a-z]+)/i);){f=
|
|
null;switch(e[1].toLowerCase()){case "ops":f=0}if(null==f)break;b=b.replace(e[0],f.toString())}}if("%"==b.charAt(0)){var l=!0;b=b.substr(1)}var p;e=b;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(e=e.toUpperCase(),f=0;f<a.I.length;f++)if(g=a.I[f].Z[e],null!=g){var q=g.o;break}null!=q&&(p=Y(q));if(p)return p;0<=b.indexOf("0x")?d=16:0<=b.indexOf("0o")?d=8:0<=b.indexOf(".")&&(d=10);e=jf(a,b)}null!=e&&(e=xf(e,a.Ea),sf(c,e,l,d));return c}
|
|
function yf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Ye(a,b.eb=c[2]))}function xf(a,b){0>a&&a>=-A&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function zf(a,b){return L(a,b/dc,18)+" "+L(a,b%dc,18)}
|
|
function qf(a,b){a.D=a;a.ca=a.Eb=536870916;a.Y=null;a.R=[];b=Ye(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in mc){a:{var d=void 0;if(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.ca|=mc[c],a.u(c+" messages enabled"))}}function vf(a,b){for(var c in mc)if(16==mc[c]){a.ua[c]=b;break}}m.qb=function(a){return Af.indexOf(a.toUpperCase())};
|
|
m.rb=function(a){var b=this.v;switch(a){case Bf:var c=b.i;break;case Cf:c=b.I;break;case Df:c=b.b;break;case Ef:c=b.j&x;break;case Ff:c=b.j&131072?1:0;break;case Gf:c=b.j&65536?1:0;break;case Hf:c=b.j&32768?1:0;break;case If:c=b.j&8192?1:0;break;case Jf:c=b.j&32?1:0;break;case Kf:c=b.j&262144?1:0}return c};
|
|
m.message=function(a,b){b&&(a+=" @"+L(this,Y(this.v.na).B,18));if(!this.Y||a!=this.Y)if(this.Y=a,this.ca&1073741824)this.R.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.P)||Yb(this,!0))jd(this),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,zd(a),a.la=0,a.G&&K(a.G,void 0))}};
|
|
function pf(a){var b;if(!Hd(a))a.j&&a.j.length&&a.u("instruction history buffer freed"),a.W=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(Lf);for(b=0;b<a.j.length;b++)a.j[b]=Y();a.W=0;a.u("instruction history buffer allocated")}}function Mf(a,b,c){if(!Nf(a,c))return!1;Dc(a.v,b);return!0}
|
|
function Ec(a,b,c,d){if(!Nf(a))return!1;var e="";null===c&&(e=(c=!a.Ba||"tr"==a.Ba)?"tr":"t");a.F=0;b||Hd(a)&&Id(a,a.v.i,0);try{b=xd(a.v,b);var f=a.v.Xa(b);0<f&&(Fc(a.v,f),a.F+=f,Gc(a.v,f,!0),Hc(a.v,f),a.ma++)}catch(g){"number"!=typeof g&&(b=g,a.F=0,Ub(a.v,b.stack||b.message))}!1!==d&&(a.la&&a.la.stop(),K(a.G,-1));pd(a,c||!1,e);return 0<a.F}function jd(a,b){a.v&&H(a.v,b)}function pd(a,b,c){b=void 0===b?!0:b;a.Ha&&(c&&a.u(Of+c),sf(a.M,a.v.i),b&&1!=a.O?Pf(a):Qf(a))}
|
|
function Nf(a,b){var c;(c=!a.v||!Wb(a.v))||(c=a.v,c.A.aa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.P?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Vb(a.v)}m.za=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.qa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){pf(this);this.ma=0;this.Y=null;this.F=0;sf(this.M,this.v.i);this.A.P=!1;Rf(this);a||pd(this)};
|
|
m.save=function(){var a=new F(this);a.set(0,tf(this.M));a.set(1,tf(this.na));a.set(2,tf(this.ga));a.set(3,[this.w,this.V,this.ca]);a.set(4,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=uf(this,a[b++]),this.na=uf(this,a[b++]),this.ga=uf(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.V=a[b][1],this.ca|=a[b][2]);a[4]&&(this.I=a[4]);return!0};m.start=function(a,b){this.O||this.u("running");this.A.P=!0;this.Ia=a;this.Ja=b};
|
|
m.stop=function(a,b){if(this.A.P){this.A.P=!1;this.F=b-this.Ja;if(!this.O){b="stopped";if(this.F){a-=this.Ia;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";Hd(this)&&(b+=this.ma+" instructions, ",this.ma=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else $b(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}pd(this,!0);qd(this);Rf(this,this.v.i);this.Y=null}};function Hd(a){return 1<a.i.length||!!a.oa}
|
|
function Id(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.na==b&&(b=Fd(a.v,1)));if(0<c&&(a.oa&&!--a.oa||id(a,b,1,a.i)))return!0;0<=c&&a.j.length&&(a.ma++,0>d&&(d=a.v.f(b)),0<=d&&(sf(a.j[a.W],b),++a.W==a.j.length&&(a.W=0)));return!1}
|
|
function Sf(a,b,c,d){var e=Y(b.B),f=a.La(b,1),g,h=0,k=f/ic|0,l;for(l in Tf)if(g=Tf[l][k&l]){var p=+l;k>>=6;switch(p){case 32512:var q=Uf;h=k&3;break;case 32256:q=Vf;h=k&7;break;case 29248:q=Wf,h=(k&48)>>2|(k&6)>>1}break}q=q&&q[h]||"";"S"==q&&g>Xf&&(q="B");q=Yf[g||0]+q;if(g){if(28700==p)p=f/jc&127,h=L(a,p,-1);else for(p=f>>23&15,h=L(a,p,-1),k=0;h&&k<Zf.length;k++)if(g==Zf[k][0]&&(l=Zf[k][p])){q=Yf[l];h="";break}q=La(q,8)+(h?h+",":"");f&4194304&&(q+="@");q+=L(a,f&262143,-1);(f=f>>18&15)&&(q+="("+L(a,
|
|
f,-1)+")")}else q=La(q,8)+zf(a,f);f=q;g="";p=L(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(q=a.La(e,1),g+=" "+zf(a,q),null==e.B)break;while(e.B!=b.B)}p+=La(g,16)+f;c&&(p=La(p,48)+";"+(c||""),p=a.v.A.Sa?p+("cycles="+sd(a.v).toString()+" cs="+n(a.v.Fa)):p+(null!=d?"="+d.toString():""));return p}
|
|
function $f(a,b,c,d,e){var f=-1;if(b){for(var g=b.toUpperCase(),h=0;h<Zf.length;h++)for(var k in Zf[h])if(+k){var l=Zf[h][k];if(g==Yf[l]){g=Yf[Zf[h][0]];c&&(c=L(a,+k)+","+c);break}}for(var p in Tf){var q=+p;k=Tf[p];switch(q){case 32512:h=Uf;break;case 32256:h=Vf;break;case 29248:h=Wf;break;default:h=[""]}for(var B in k){l=k[B];for(var v=0;v<h.length;v++){var J=h[v];"S"==J&&l>Xf&&(J="B");if(g==Yf[l]+J){f=29248!=q?v:(v&3)<<1|(v&12)<<2;f=(B|f<<6)*ic;break}}if(0<=f)break}if(0<=f)break}!(0>f)||c&&c.match(/^[0-9A-Z$%.?]/i)||
|
|
(c=b+c,b="",f=0)}else c&&(f=q=0);if(0<=f&&c)for(g=c.split(","),2<g.length&&(e||a.u("too many operands: "+c),g.length=0,f=-1),p=0;p<g.length;p++)if(l=g[p].trim()){B=l.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!B){e||a.u("unknown operand: "+l);f=-1;break}B[1]&&(f+=4194304);if(l=B[3]){l=jf(a,l,e);if(void 0==l){f=-1;break}l=W(X(a,l,36,!0));f+=l}l=B[2];if(p||1==g.length)l=l?l.replace(/(^|[^0-9])\./g,"$1"+L(a,d,18)):"0";l=jf(a,l,e);if(void 0==l){f=-1;break}if(!p&&1<g.length)if(28700==q){if(0>l||127<l)l&=127;
|
|
f+=l*jc}else{if(0>l||15<l)l&=15;f+=l<<23}else{if(b||p)if(0>l||262143<l)l&=cc;f+=l}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function of(a){var b;a.i=["bp"];if(a.N)for(b=1;b<a.N.length;b++){var c=a.N[b];c=rf(c);var d=a.H;hd(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=rf(c),d=a.H,hd(d.b[c>>>d.i],!0);a.K=["bw"];a.wa=0;a.oa=0}
|
|
m.Qa=function(a,b,c){var d=!0;c||ag(this,a,b,!1,!0);if(a!=this.i){var e=rf(b);if(-1===e)this.u("invalid address: "+L(this,b.B,18)),d=!1;else{var f=this.H;f.b[e>>>f.i].Qa(e&16383,a==this.K)}}d&&(a.push(b),c?b.pa=!0:(bg(this,a,a.length-1,"set"),pf(this)));return d};function ag(a,b,c,d,e){var f=!1;c=rf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==rf(h)&&(!d||h.pa)){f=!0;h.pa||e||bg(a,b,g,"cleared");b.splice(g,1);b!=a.i&&(d=a.H,hd(d.b[c>>>d.i],b==a.K));h.pa||pf(a);break}}return f}
|
|
function cg(a,b){for(var c=1;c<b.length;c++)bg(a,b,c);return b.length-1}function bg(a,b,c,d){c=b[c];a.u(b[0]+" "+L(a,c.B,18)+(d?" "+d:c.eb?' "'+c.eb+'"':""))}function Rf(a,b){if(void 0!==b)id(a,b,1,a.i,!0),a.O=0;else for(b=1;b<a.i.length;b++){var c=a.i[b];if(c.pa){if(!ag(a,a.i,c,!0))break;b=0}}}
|
|
function id(a,b,c,d,e){var f=!1;if(!a.wa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.pa)for(var k=rf(h)&(d==a.i?65535:-1),l=0;l<c;l++)if(b+l==k){var p;f=!0;h.pa&&(ag(a,d,h,!0),e=!0);if(p=h.zb){f=!1;for(var q=0;q<p.length;q++)if(!dg(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var B=q+1;B<p.length&&p[B].indexOf("else");B++)q++;if(B==p.length){f=!0;break}}a.v.A.P||(f=!0)}if(f){e||bg(a,d,g,"hit");break}}}a.wa--;return f}
|
|
function eg(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=Ba(d,2);sf(e.Ga,d);f+="="+L(e,e.La(e.Ga),36)+" ";c+=f}if(b){b="";for(d=0;d<Af.length;d++)(e=Af[d]||"")&&(e+="="+L(a,a.rb(d),d>=Ff?1:d==Cf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
function Re(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,l=h.a;if(void 0!==k){var p=f;k=[k>>>0,g];var q=Na(p,k,a.Gb);0>q&&p.splice(-(q+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,Z:e,Bb:f})}function fg(a,b,c){var d=[],e=rf(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.B>>>0,h=f.Wb;if(e>=g&&e<g+h){e=Na(f.Bb,[e-g],a.Gb);0<=e?gg(a,b,e,d):c&&(e=~e,gg(a,b,e-1,d),gg(a,b,e,d));break}}return d}
|
|
function hg(a,b,c){var d=a.H,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(G(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),pd(a)):a.u("no data")}function gg(a,b,c,d){var e={},f=a.I[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].Z[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
|
function Mg(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=wf(a,d,a.ga);if(!e)return a.u("begin assemble at "+L(a,f.B,18)),a.V=!0,K(a.G),!0;var g=e.match(/^(['"]?)(.*?)(\.klm|\.mac|\.html|\.txt|)\1$/i);if(g&&(g[1]||g[3])){f=wf(a,d);if(a.va)a.u("assembly already in progress");else{var h=g[2]+g[3];g[3]||(c+="s");var k=f.B,l=a.va=new Og(a);Pg(l,h,k,c,function(b,c){if(!b)try{var d=l.J;null==d&&(d=k);hg(a,l.U,d)}catch(v){"number"==typeof v?b=v||-1:(a.u(v.message),
|
|
b=-1)}b&&a.u("error ("+b+") processing "+(c||h));a.va=null;b||rd(a)})}return!1}b.shift();b.shift();b.shift();b=$f(a,e,b.join(""),f.B||0);0<=b&&(a.xb(f,b),a.u(Sf(a,f)));return!0}function Qg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return mf(a)||a.u("no variables"),!0;if(!c[2])return mf(a,c[1]);if(!c[3])return delete a.b[c[1]],!0;b=jf(a,c[3]);return void 0!==b?(a.b[c[1]]={value:b,Mb:void 0},!0):!1}a.u("invalid assignment:"+b);return!1}
|
|
function Rg(a,b,c){var d=null;b=wf(a,b);var e=fg(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.B-e[1])&&(g=" + "+n(f,4,!0));f=e[0]+" ("+L(a,e[1],18)+")"+g;c&&a.u(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+L(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
|
|
function Pf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\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.u("missing value for "+b[1]);return}g=jf(a,b);if(void 0===g)return;b=a.qb(f);if(0>b){a.u("unknown register: "+f);return}f=0;var h=a.v;switch(b){case Bf:G(h,
|
|
g);sf(a.M,h.i);break;case Ef:Ed(h,g);break;case Ff:f=131072;break;case Gf:f=65536;break;case Hf:f=32768;break;case If:f=8192;break;case Jf:f=32;break;case Kf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);K(a.G);a.u("updated registers:")}}a.u(eg(a,e));c&&(sf(a.M,Gd(d)),Qf(a,L(a,a.M.B,18)))}}function Sg(a,b){b=Ma(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):kf(a,null,c[2].charCodeAt(0)):jf(a,b,!1)}
|
|
function Tg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=df(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ba=b;eb(c,function(){return Zb(a,!0)&&Ec(a,e,d,!1)},function(){a.la&&a.la.stop();K(a.G,-1);Zb(a,!1)})}}
|
|
function Qf(a,b,c,d){b=wf(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=df(a,c.substr(1)),null!=c&&(d=c);else{d=wf(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Yb(a,!1)||a.O?a.F:null,g=null!=f?"cycles":null,h=fg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ga;l=b;h.B=l.B;h.ab=l.ab;h.pa=l.pa;h.T=l.T;a.u(Sf(a,b,g,f));e-=b.B-k;c++}}
|
|
function dg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(Of+b):(a.V&&(a.u("ended assemble at "+L(a,a.ga.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Y=null;if(Wb(a)&&0<b.length){a.V&&(b="a "+L(a,a.ga.B,18)+" "+b);var f=!1,g=b;var h=void 0===h?" ":h;for(var k=[],l="",p=0,q=0;p<g.length;){var B=g[p++];l?B==l&&(l="",k.push(g.substr(q,p-q)),q=p):'"'==B||"'"==B?l=B:0<=h.indexOf(B)&&(k.push(g.substr(q,p-q-1)),q=p)}q<p&&k.push(g.substr(q,p-q));k[0]=k[0].toLowerCase();if(k&&k.length){var v=
|
|
k[0],J=v.charAt(0);for(p=1;p<v.length;p++)if(B=v.charAt(p),"?"==J||"r"==J||"a">B||"z"<B){k[0]=v.substr(p);k.unshift(v.substr(0,p));break}}switch(k[0].charAt(0)){case "a":d=Mg(a,k);break;case "b":var Oc=k[0],ta=k[1],I=b;if("?"==ta)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var Ra=
|
|
Oc.charAt(1);if("l"==Ra){var ig=0+cg(a,a.i);ig+=cg(a,a.N);(ig+=cg(a,a.K))||a.u("no breakpoints")}else if("n"==Ra){var jg=+ta||0;ta&&(a.oa=jg);a.u("break after "+jg+" instruction(s)")}else if(void 0===ta)a.u("missing breakpoint address");else{var la="*"==ta?Y():wf(a,ta,a.M);"c"==Ra?null==la.B?(of(a),a.u("all breakpoints cleared")):ag(a,a.i,la)||ag(a,a.N,la)||ag(a,a.K,la)||a.u("breakpoint missing: "+L(a,la.B,18)):null!=la.B&&(yf(a,la,I),"p"==Ra?a.Qa(a.i,la):"r"==Ra?a.Qa(a.N,la):"w"==Ra?a.Qa(a.K,la):
|
|
a.u("unknown breakpoint command: "+Ra))}}break;case "c":var kg=a.G;kg.F&&(kg.F.value="");break;case "d":a:{var mb,nb=k[0],ua=k[1],Ha=k[2],ki=k[3];if("?"==ua){var ob="";for(mb in mc)a.ua[mb]&&(ob&&(ob+=","),ob+=mb);ob+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");ob.length&&a.u("dump extension commands:\n\t"+ob)}else if("state"==
|
|
ua){var Vd=Ug(a.G,!0);if("console"==Ha)console.log(Vd);else{var lg=a.G;lg.F&&(lg.F.value="");Vd&&a.u(Vd)}}else if("symbols"==ua)for(var Wd=0;Wd<a.I.length;Wd++){var Xd=a.I[Wd],pb;for(pb in Xd.Z)if("."!=pb.charAt(0)){var mg=Xd.Z[pb].o;if(void 0!==mg){var ng=Xd.Z[pb].l;ng&&(pb=ng);a.u(L(a,mg,18)+" "+pb)}}}else{if("d"==nb){for(mb in mc)if(k[1]==mb){var og=a.ua[mb];og?(k.shift(),k.shift(),og(k)):a.u("no dump registered for "+ua);break a}ua||(nb=a.Ma||"dw")}else a.Ma=nb;if("dh"==nb){var pg=ua,qg=Ha,rg=
|
|
"",sg=0,ma=a.W,va=a.j;if(va.length){var ia=+pg||a.Aa,Ib=+qg||10;isNaN(ia)?ia=Ib:rg="more ";ia>va.length&&(a.u("note: only "+va.length+" available"),ia=va.length);ma-=ia;0>ma&&(null==va[va.length-1].B?(ia=ma+ia,ma=0):ma+=va.length);var Yd=[];"call"==qg&&(Ib=1E5,Yd=["CALL"]);for(void 0!==pg&&a.u(ia+" instructions earlier:");0<Ib&&ma!=a.W;){var tg=va[ma++];if(null==tg.B)break;var Jb=Y(tg.B),li=ia--,ug=Sf(a,Jb,"history",li);(!Yd.length||0<=ug.indexOf(Yd[0]))&&a.u(ug);Jb.ob&&(ma+=Jb.ob,Ib-=Jb.ob,ia-=Jb.ob);
|
|
ma>=va.length&&(ma=0);a.Aa=ia;sg++;Ib--}}sg||(a.u("no "+rg+"history available"),a.Aa=void 0)}else{var Sa=0,vg="ds"==nb,Kb=wf(a,ua,a.na);Ha&&("l"==Ha.charAt(0)?(Ha=Ha.substr(1)||ki,Sa=df(a,Ha)):Sa=wf(a,Ha).B-Kb.B,0>Sa&&(Sa=0),65536<Sa&&(Sa=65536));var mi=a.T;Kb.T&&(a.T=Kb.T);for(var wg="db"==nb?1:2,Zd=Sa||32,$d=1==wg?1:4,ni=(Zd+$d-1)/$d|0||1,Ta="";ni--&&0<Zd;){var Ia="",xg="";ua=L(a,Kb.B,18);for(var yg=$d;0<yg--&&0<Zd--;){var ae=a.La(Kb,1);vg?(Ia&&(Ia+=","),Ia+=ae):(Ia+=zf(a,ae),Ia+=" ");for(var be=
|
|
29,oi=0;1==wg&&0<=be;oi++){var Pc=ae/Math.pow(2,be)%Math.pow(2,7);Ia+=L(a,Pc,7)+" ";Pc+=0;xg+=32>Pc?".":String.fromCharCode(Pc);be-=7}}Ta&&(Ta+="\n");Ta=vg?Ta+(Ia+","):Ta+(ua+": "+Ia+(0>yg?" "+xg:""))}Ta&&a.u(Ta);a.T=mi}}}break;case "e":if("else"==k[0])break;var zg=k[0],ce=k[1];if("e"==zg||"ew"==zg){var pi=a.La;var qi=a.xb}else ce=null;if(null==ce)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var de=wf(a,ce,a.na),ee=2;ee<k.length;ee++){var Lb=jf(a,k[ee]);if(void 0===
|
|
Lb)break;Lb=xf(Lb);a.u("changing "+L(a,de.B,18)+" from "+zf(a,pi.call(a,de))+" to "+zf(a,Lb));qi.call(a,de,Lb,1)}break;case "g":var Ag=k[1],ri=b;if(void 0!==Ag){var Bg=wf(a,Ag);yf(a,Bg,ri);a.Qa(a.i,Bg,!0)}Mf(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),jd(a)):Yb(a,!0)||c||a.u("already halted");break;case "i":if("if"==k[0]){var Mb=b.substr(2);Mb=Ma(Mb);if(jf(a,Mb)){c||a.u("true: "+Mb);var Cg=!0}else c||a.u("false: "+Mb),Cg=!1;Cg||(d=!1);break}f=!0;break;case "k":var si=k[0];if("?"==k[1])a.u("stack trace commands:"),
|
|
a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var fe=0,ge=Y(),Nb=Y();for(a.u("stack trace for "+L(a,Nb.B,18));10>fe;){for(var Ua=null,ti=256;65536>Nb.B>>>0;){ge.B=a.La(Nb,2);if(null==Nb.B||!ti--)break;if(!(ge.B&1)){for(var ui=a,Qc=ge,Dg=null,Ob=Qc.B,Eg=Ob,he=1;6>=he&&Ob;he++){if(2<he){Qc.B=Ob;var Rc=Sf(ui,Qc);if(0<=Rc.indexOf("JSR")){var Fg=Rc.indexOf(" ");if(Ob+(Rc.indexOf(" ",Fg+1)-Fg-1)/2==Eg){Dg=Rc;break}}}Ob-=2}Qc.B=Eg;if(Ua=Dg)break}}if(!Ua||null==Ua)break;var Gg=
|
|
null;if("ks"==si){var Hg=Ua.match(/[0-9A-F]+$/);Hg&&(Gg=Rg(a,Hg[0]))}Ua=La(Ua,50)+" ;"+(Gg||"stack="+L(a,Nb.B,18));a.u(Ua);fe++}fe||a.u("no return addresses found")}break;case "l":if("ln"==k[0]){Rg(a,k[1],!0);break}f=!0;break;case "m":a:{var wa,xa=null,N=k[1];"?"==N&&(N=void 0);if(void 0!==N){var Ja=0;if("all"==N)Ja=1879046143,N=null;else if("on"==N)xa=!0,N=null;else if("off"==N)xa=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(wa in mc)if(N==wa){Ja=mc[wa];xa=!!(a.ca&Ja);break}if(!Ja){a.u("unknown message category: "+
|
|
N);break a}}if(Ja)if("on"==k[2])a.ca|=Ja,xa=!0;else if("off"==k[2]&&(a.ca&=~Ja,xa=!1,1073741824==Ja)){for(var Ig=1E3<=a.R.length?a.R.length-1E3:0;Ig<a.R.length;)a.u(a.R[Ig++]);a.R=[]}}var vi=0,Pb="";for(wa in mc)if(!N||N==wa){var wi=!!(a.ca&mc[wa]);if(null===xa||xa==wi)Pb&&(Pb+=","),++vi%10||(Pb+="\n\t"),"key"==wa&&(wa="keys"),Pb+=wa}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==xa?xa?"messages on: ":"messages off: ":"message categories:\n\t")+
|
|
(Pb||"none"));pf(a)}break;case "p":if("print"==k[0]){Sg(a,b.substr(5));break}var Jg=k[0],Kg="p"==Jg?0:"pr"==Jg?1:-1;if("?"==k[1]||0>Kg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.O)a.u("step in progress");else{var Lg=Y(a.v.i);a.La(Lg);a.O?(a.Qa(a.i,Lg,!0),Mf(a)||(a.G&&wd(a.G),a.O=0)):Tg(a,Kg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}Pf(a,k);break;case "s":a:switch(k[1]){case "base":if(k[2]){var qb=+k[2];
|
|
if(2==qb||8==qb||10==qb||16==qb)a.T=qb;else{a.u("invalid base: "+qb);break}}a.u("default base: "+a.T);break;case "cs":var Qb;void 0!==k[3]&&(Qb=+k[3]);switch(k[2]){case "int":a.v.oa=Qb;break;case "start":a.v.Ga=Qb;break;case "stop":a.v.ta=Qb;break;default:a.u("unknown cs option");break a}void 0!==Qb&&od(a.v);a.u("checksums "+(a.v.A.Sa?"enabled":"disabled"));break;case "sp":void 0!==k[2]&&(td(a.v,+k[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ba.toFixed(2)+
|
|
"Mhz")+" ("+a.v.ga+"x)");break;default:if(k[1]){a.u("unknown option: "+k[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":Tg(a,k[0],k[1]);break;case "u":Qf(a,k[1],k[2],8);break;case "v":if("var"==k[0]){Qg(a,b.substr(3))||(d=!1);break}if("ver"==
|
|
k[0]){a.u((bc||"PDP10")+" version 1.37.0 ("+a.v.ib+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(k[1]){Sg(a,b.substr(1));break}var ie="commands:",je;for(je in Vg)ie+="\n"+La(je,9)+Vg[je];Hd(a)||(ie+="\nnote: history disabled if no exec breakpoints");a.u(ie);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Ng){a.u("Debugger "+(Ng.stack||Ng.message)),d=!1}return d}
|
|
function rd(a,b,c){null!=b&&(a.Fa=Ye(a,b,c));for(;b=a.Fa.shift();)if(!dg(a,b))return!1;return!0}
|
|
var Vg={"?":"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(" "),
|
|
Bf=0,Cf=1,Df=2,Ef=3,Ff=4,Gf=5,Hf=6,If=7,Jf=8,Kf=9,Af="PC RA EA PS OV C0 C1 BI ND PD".split(" "),Wg={},Tf=(Wg[28672]={0:101},Wg[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},Wg[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},Wg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Wg[29248]={24576:79,24640:80,25088:81,25152:82},Wg[28700]={28672:93,28676:94,28680:95,28684:96,
|
|
28688:97,28692:98,28696:99,28700:100},Wg),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=">> ";hb(function(){for(var a=w(document,u,"debugger"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new nf(d);Ab(d,c)}});function Og(a){this.b=a}
|
|
function Xg(a,b,c,d){a.ka=b;a.W=(c||"").toLowerCase();a.done=d;a.R=0;a.H=[];a.N=[];a.D=[];a.v={};a.K={};a.M=[];a.L=[];a.U=[];a.ea=[];a.Y=[];a.ha=0;a.V=0;a.ba=0;a.X=a.ka||0;a.Ca=-1;a.G=[];a.S=null;a.i=0;a.I=null;a.C=a.O="";a.ga=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;a.j=null;a.w=null;a.F="";a.J=null}
|
|
function Pg(a,b,c,d,e){d&&0<=d.indexOf("s")?(Xg(a,c,d,e),a.D=b.split(/(\r?\n)/),a.N.push(a.D.length),Yg(a),a.done&&a.done(a.V)):(Xg(a,c,d,e),a.H=b.split(";"),Zg(a))}
|
|
function Zg(a){if(a.R==a.H.length)Yg(a),a.done&&a.done(a.V);else{var b=a.H[a.R];a.u("loading "+Da(b));0>b.indexOf(":")&&0<=".MAC.KLM".indexOf(b.slice(-4).toUpperCase())&&(b+=".txt");Va(b,null,!0,function(b,d,e){if(e)a.done&&a.done(e,b);else{e=d;if(Fa(b,".html")){e="";for(var c=/<pre>([\s\S]*?)<\/pre>/gi;b=c.exec(d);)b=b[1],0<=b.indexOf("&")&&(b=b.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),e+=b;(b=e.match(/&[a-z]+;/i))&&$g(a,"unrecognized HTML entity '"+b[0]+"'")}d=e.split(/(\r?\n)/);
|
|
if(d.length&1){if(b=d.pop())$g(a,"unexpected line '"+b+"'"),d.push(b),d.push("")}else $g(a,"unexpected number of lines ("+d.length+")");a.D=a.D.concat(d);a.N[a.R]=d.length>>1;a.R++;setTimeout(function(){Zg(a)},0)}})}}
|
|
function Yg(a){if(0<=a.W.indexOf("p"))a.u(a.D.join(""));else{var b=lf(a.b);ah(a,"APR",0);ah(a,"PI",4);try{for(var c=0;c<a.D.length;c+=2){a.ha++;0<=a.W.indexOf("l")&&a.u(bh(a)+": "+a.D[c]);if(!ch(a,a.D[c]+"\r\n"))break;if(null!==a.J)break}a.i&&a.error("open block",a.v[a.I].ha);a.G.length&&a.error("open scope",a.G[0].ha);dh(a);eh(a);a.ea.forEach(function(b,c){b=fh(a,b,void 0,c,a.Y[c]);void 0!==b&&(b+=a.U[c],a.U[c]=gh(a,b,c))})}catch(d){a.u(d.message),a.V=-1}0>a.W.indexOf("d")&&(a.b.b=b)}}
|
|
function ch(a,b,c,d,e){var f;null!=a.w&&(b=hh(a,b));for(var g=!0,h="";g;){var k=b.match(a.ga);if(!k||k[5]&&";"!=k[5].charAt(0))return a.error("failed to parse line '"+b+"'"),!1;g=!1;h=k[2].toUpperCase();if(h==ih||h==jh)c=null;if(c){for(f=0;f<c.length;f++){var l=c[f],p=a.v[a.I];if(!(p&&0<=p.Oa.indexOf(l))){p=d[f]||e[f]||"";for(var q=0,B=b.length-k[5].length;q<B;){var v=b.indexOf(l,q);if(0>v)break;q=v+1;var J=v+l.length,Oc="",ta="";v&&(Oc=b[v-1]).match(/[0-9A-Z$%.]/i)||!(J>=b.length)&&(ta=b[J]).match(/[0-9A-Z$%.]/i)||
|
|
("'"==Oc&&v--,"'"==ta&&J++,b=b.substr(0,v)+p+b.substr(J),q=v+p.length,g=!0)}}}c=null}if(a.i&&(1==a.i&&(f=b.indexOf(a.C),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.S+" definition in '"+b+"'")),1<a.i&&(b=kh(a,b),g=!0),a.i))return!0}d=k[1];b=k[3];c=k[4].trim();k=k[4]+k[5];d&&(d=d.slice(0,-1),ah(a,d,a.X,lh));var I;h&&(I=c.match(/^([=:]+)(.*)/))&&(e=0,d=h,h=I[1],c=I[2],"=="==h?e|=2:"=:"==h&&(e|=mh),ah(a,d,c,e),h=c="");if(!h&&!c)return!0;a.S=h;if(I=nh(a,c))c=c.replace(I,oh(a,ph,nh(a,k))),b||(b=
|
|
"\t");for(;I=qh(a,c);)c=c.replace(I,I.slice(0,-1));if(!rh(a,h,c))switch(h){case sh:case th:case uh:hh(a,k);break;case vh:h=c;I=fh(a,h);void 0!==I&&0<=I&&262143>=I?a.X+=I:a.error("unrecognized BLOCK expression '"+h+"'");break;case wh:h=c;b=k=0;for(c=36;I=xh(a,h);){h=h.substr(I.length).trim();d=I;if(e=I.match(/^\((.*)\)\s*(.*)$/))e[1]&&(k=fh(a,"^D"+e[1])),d=e[2];if(k){d=d?fh(a,d):0;if(void 0===d||0>k||36<k){a.error("unexpected BYTE operand: "+I);break}d=X(a.b,d,k,!0);c<k&&(yh(a,b),b=0,c=36);b+=d*Math.pow(2,
|
|
c-k);c-=k}else yh(a,0)}36>c&&yh(a,b);break;case zh:(h=c)?(a.J=fh(a,h),void 0===a.J&&a.error("unrecognized END expression '"+h+"'")):a.J=a.ka;break;case Ah:Bh(a,c);break;case Ch:dh(a);break;case Dh:a.X=fh(a,c)||0;break;case Eh:eh(a);break;case Fh:Bh(a,c.replace(",",",,"));break;case Gh:case Hh:case Ih:case Jh:case Kh:case Lh:case Mh:case Nh:case Oh:case Ph:case Qh:case Rh:case ih:case jh:case Sh:case Th:oh(a,h,k);break;case Uh:h=Vh(a,c);for(I=0;I<h.length;I++)delete a.b.b[h[I]],delete a.K[h[I]];break;
|
|
case Wh:case Xh:case Yh:case Zh:case $h:case ai:case bi:case ci:break;default:Bh(a,h,b,c)}return!0}
|
|
function rh(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){if(d.Da==di){var e=a.X;Z(a,d.ja);if(e<a.X){if(!c)return!0;ei(a);Z(a,c);d=a.U[0];var f=a.ea[0];fi(a);if(void 0!==d)return a.U[e]+=d&130023423,a.U[e]+=d&4194304,f&&(a.ea[e]=a.ea[e]?a.ea[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' ("+c+") failed");return!1}b=a.j;a.j=d;d.Pa=Vh(a,c,!0);Z(a,d.ja,d.Oa,d.Pa,d.Ab);a.j=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case Kh:case Jh:case Rh:d.Da||Z(a,d.ja);break;case Lh:0<d.Da&&Z(a,d.ja);break;case Mh:0<=
|
|
d.Da&&Z(a,d.ja);break;case Oh:0>d.Da&&Z(a,d.ja);break;case Ph:0>=d.Da&&Z(a,d.ja);break;case Hh:case Qh:case Ih:case Nh:d.Da&&Z(a,d.ja);break;case ih:case jh:for(b=0;b<d.Pa.length;b++)Z(a,d.ja,d.Oa,[d.Pa[b]],[]);break;case Th:for(;0<d.Da--;)Z(a,d.ja);break;default:c=d.ja,ei(a,b),Z(a,c),fi(a)}return!0}function Z(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&ch(a,b[f]+"\r\n",c,d,e);f++);}
|
|
function ei(a,b){a.G.push({name:b,U:a.U,ea:a.ea,X:a.X,Ca:a.Ca,ha:a.ha});a.U=[];a.ea=[];0>a.Ca&&(a.Ca=a.X);a.X=0}function fi(a){if(a.G.length){var b=a.G[a.G.length-1].name;b&&a.M.push({name:b,U:a.U,ea:a.ea});b=a.G.pop();a.U=b.U;a.ea=b.ea;a.X=b.X;a.Ca=b.Ca;a.G.length||-1==a.Ca||a.error("scope restore error")}else a.error("scope nesting error")}
|
|
function xh(a,b){var c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(!g&&0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s) in '"+b+"'");break}}}g?0<g&&a.error("extra bracket(s) in '"+b+"'"):f=b.substr(0,d);return f}
|
|
function fh(a,b,c,d,e){var f=-1;void 0===d&&(d=0<=a.Ca?a.Ca:a.X);var g=b.replace(/SIXBIT\s*(\S)(.*?)\1/g,"'$2'").replace(/ASCII\s*(\S)(.*?)\1/g,'"$2"');if(c){var h="",k=g;if(f=g.match(/^([^\s]+)\s*(.*?)\s*$/))h=f[1],k=f[2];f=$f(a.b,h,k,d,c)}0>f&&(g=g.replace(/\.([^0-9]|$)/g,L(a.b,d,-1)+"$1"),f=jf(a.b,g,c),void 0===f&&a.error("unable to parse expression '"+b+"'",e));return f}
|
|
function nh(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s) in '"+b+"'");0<=f&&(d=b.substr(f,g-f));return d}function bh(a,b){b=void 0===b?a.ha:b;for(var c=0;b>a.N[c];)if(b-=a.N[c],c<a.H.length-1)c++;else break;return Da(a.H[c]+" line "+b)}
|
|
function qh(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;if(!a.v[d]){var e,f;var g=e=f=[];a.v[d]={name:d,Da:gi,Oa:g,Ab:e,Pa:f,ja:b+": 0",ha:a.ha};a.L.push(d)}}return c}
|
|
function Vh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=xh(a,b);if(!c)break;var e=c;if("\\"==c[0]){var f=1,g=0;"'"==c[1]?(f++,g=6):'"'==c[1]&&(f++,g=7);e=a;f=c.substr(f);g=void 0===g?0:g;var h=fh(e,f);if(void 0!==h){var k=5;switch(g){case 0:f=L(e.b,h,-1);break;case 6:k++;case 7:for(;h&&k--;)h=Math.trunc(h/Math.pow(2,g))}}e=f}d.push(e);b=b.substr(c.length+1)}return d}
|
|
function hh(a,b){var c=b;null==a.w&&(a.w=a.F="",b&&(a.w=b[0],c=b=b.substr(1)));if(a.w){var d=b.indexOf(a.w);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.w=null);a.F+=b}if(null==a.w){d=b=0;var e=a.F.length;a.S==th&&e++;for(var f=0;f<e;f++){if(!b){d=0;var g=29;var h=7;a.S==uh&&(h--,g++)}var k=a.F.charCodeAt(f)&127;6==h&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,g);g-=h;b++;0>g&&(yh(a,d),b=0)}b&&yh(a,d)}return c}
|
|
function oh(a,b,c){var d,e;a.C="<";a.O=">";var f=d=e=[];if(b==Gh){var g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*,?\s*(<|)([\s\S]*)/i);if(!g)return a.error("unrecognized "+b+" in '"+c+"'"),c;var h=g[1];if(g[2]&&","!=g[2]){d=f=Vh(a,g[2],!0);b=[];for(c=0;c<d.length;c++){var k=d[c].indexOf("<");if(0<=k){var l=d[c].lastIndexOf(">");0>l&&(l=d[c].length);b[c]=d[c].substr(k,l-k);d[c]=d[c].substr(0,k)}}d=b}k=hi;b=3}else if(b==Sh){a.C="[";a.O="]";g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);
|
|
if(!g)return a.error("unrecognized "+b+" in '"+c+"'"),c;h=g[1];k=di;b=2}else if(b==ph)a.C="[",a.O="]",h="?"+Ca(++a.ba,5),a.v[h]&&a.error("literal symbol '"+h+"' redefined"),g=[c[0],c.substr(1)],k=ii,b=0;else if(b==ih||b==jh){a.j||a.error(b+" outside of macro");g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!g)return a.error("unrecognized "+b+" operands '"+c+"'"),c;for(k=0;k<a.j.Oa.length&&g[1]!=a.j.Oa[k];k++);if(k==a.j.Oa.length)return a.error("invalid "+b+" parameter '"+g[1]+"'"),c;
|
|
h="?"+b;f=[g[1]];b==jh?e=a.j.Pa[k].split(""):e=Vh(a,a.j.Pa[k]);k=e.length;b=2}else{if(b==Hh)k=1,","==c[0]&&(c=c.substr(1).trim());else{g=xh(a,c);if(!g)return a.error("missing "+b+" expression '"+c+"'"),c;c=c.substr(g.length+1);g=g.trim();if(b==Jh||b==Nh){h=xh(a,c);if(!h)return a.error("missing second "+b+" expression '"+c+"'"),c;c=c.substr(h.length+1)}k=b==Ih||b==Rh?a.v[g]||a.K[g]||void 0!==a.b.b[g]?1:0:fh(a,g)||0}g=c.match(/\s*(<|)([\s\S]*)/i);h="?"+b;b=1}h=h.toUpperCase();a.i=1;a.I=h;a.v[h]={name:h,
|
|
Da:k,Oa:f,Ab:d,Pa:e,ja:"",ha:a.ha};g[b]&&(a.i=2,kh(a,g[b+1]));return h}function kh(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.C)a.i++;else if(b[d]==a.O&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.I||"";a.v[d].ja+=b;a.i||(a.I=null,rh(a,d));return c}
|
|
function ah(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&lh&&a.K[b])a.error("redefined label '"+b+"'");else{var e=void 0;if("string"==typeof c){e=[];var f=fh(a,c,e);if(void 0===f){a.error("invalid symbol '"+b+"': "+c);return}1<e.length&&a.error("too many undefined symbols in '"+b+"': "+e.join());c=f;e=e[0]}(f=a.K[b])?(f.value=c,f.Xb=d,f.ha=a.ha):a.K[b]={name:b,value:c,Xb:d,ha:a.ha};a.b.b[b]={value:c,Mb:e}}}
|
|
function Bh(a,b,c,d){var e=[];b=(b+(void 0===c?"":c)+(void 0===d?"":d)).trim();c=fh(a,b,e);void 0!==c?e.length?1==e.length?yh(a,c,e[0]):yh(a,0,b):yh(a,c):a.error("unrecognized word expression '"+b+"'")}
|
|
function dh(a){for(var b=a.X,c={},d=0;d<a.M.length;c={U:c.U,Ra:c.Ra,ya:c.ya},d++){c.ya=a.M[d];c.U=[];c.Ra=0;c.ya.U.forEach(function(a){return function(b,c){c===a.U.length&&a.U.push(b);a.Ra++}}(c));if(c.Ra==c.U.length)for(var e=b;e+c.Ra<=a.X;e++){var f=void 0;for(f=0;f<c.Ra&&c.U[f]===a.U[e+f]&&c.ya.ea[f]==a.ea[e];f++);if(f==c.Ra){ah(a,c.ya.name,e,lh);c.ya=null;break}}if(c.ya){var g=a;ah(a,c.ya.name,a.X,lh);c.ya.U.forEach(function(a){return function(b,c){yh(g,b,a.ya.ea[c])}}(c))}}a.M=[]}
|
|
function eh(a){for(var b=0;b<a.L.length;b++){var c=a.L[b],d=a.v[c];d?Z(a,d.ja):a.error("missing definition for variable '"+c+"'")}a.L=[]}function yh(a,b,c){a.U[a.X]=gh(a,b);void 0!==c&&(a.ea[a.X]=c);a.Y[a.X]=a.ha;a.X++}function gh(a,b,c){c=void 0===c?a.X:c;var d=X(a.b,b||0,36,!0);(b<-A||b>=D)&&$g(a,"truncated value "+Ba(b)+" at location "+Ba(c)+" to "+Ba(d));return d}Og.prototype.error=function(a,b){throw Error("error in "+bh(this,b)+": "+a);};
|
|
function $g(a,b){a.u("warning in "+bh(a,void 0)+": "+b)}Og.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
|
|
var lh=1,mh=4,sh="ASCII",th="ASCIZ",vh="BLOCK",wh="BYTE",Gh="DEFINE",zh="END",Ah="EXP",Hh="IF1",Ih="IFDEF",Jh="IFDIF",Kh="IFE",Lh="IFG",Mh="IFGE",Nh="IFIDN",Oh="IFL",Ph="IFLE",Qh="IFN",Rh="IFNDEF",ih="IRP",jh="IRPC",Wh="LALL",Ch="LIT",ph="LITERAL",Xh="LIST",Dh="LOC",Yh="NOSYM",Sh="OPDEF",Zh="PAGE",Uh="PURGE",Th="REPEAT",uh="SIXBIT",$h="SUBTTL",ai="TITLE",Eh="VAR",bi="XALL",Fh="XWD",ci="XLIST",hi=-1,di=-2,ii=-3,gi=-4;
|
|
function ji(a,b,c){t.call(this,"Computer",a,33554432);this.A.aa=!1;this.S=null;xi(this,b);this.O=md(this,"autoPower",a,6);this.w=0;this.Y=+a.busWidth||+a.buswidth;this.M=this.I=this.N=null;this.L=this.W=!1;this.K=this.C=null;this.V=this.R=!1;this.ba=md(this,"url")||"";(Math.random()+.1).toString(36);this.i=yi(this);if(this.v=Eb("CPU",this.id)){this.D=Eb("Debugger",this.id);this.H=new Lc({id:this.Za+".bus",busWidth:this.Y},this.v,this.D);var d=Cb(this.id);if(this.F=(this.j=Eb("Panel",this.id))&&this.j.J.print)for(b=
|
|
0;b<d.length;b++){var e=d[b];e.ia=this.j.ia;e.print=this.j.print;e.u=this.j.u}this.u(bc+" v1.37.0\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<d.length;b++)e=d[b],e.Ka&&e.Ka(this,this.H,this.v,this.D);b=null;e=md(this,"resume",a);void 0!==e&&(1<e.length?b=this.I=e:this.b=parseInt(e,10));var f;if(a=md(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.L=!0,this.b=zi),this.b&&(this.K=new F(this,"1.37.0"),Ai(this.K)?
|
|
b=null:delete this.K);!b&&this.b&&(b=Bi(this))&&(this.L=!0);if(b){var g=this;Va(b,null,!0,function(a,b,c){c?(g.I=null,g.L=!1,g.ia("Unable to load machine state from server (error "+c+(b?": "+Ma(b):"")+")")):(g.M=b,g.W=!0);Xb(g)})}else Xb(this);this.J.power||(this.O=!0);!c&&this.O&&Ci(this,this.Ua)}else r("Unable to find CPU component")}ra(ji,t);function xi(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.S=b}
|
|
function md(a,b,c,d){var e=b.toLowerCase();e=cb(b)||cb(e);void 0===e&&a.S&&(e=a.S[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 Ci(a,b,c){for(var d=Cb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Wb(f)){Wb(f,function(){Ci(a,b,c)});return}}b.call(a,c)}
|
|
function Di(a,b){var c=new F(a,"1.37.0",Ei);if(Ai(c)&&Fi(c)){var d=c.get(Gi),e=b?b.get(Gi):"unknown";d!=e&&(a.ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=ji.prototype;
|
|
m.Ua=function(a){void 0===a&&(a=this.b||(this.M?Hi:zi));if(!this.w){this.w++;var b=!1,c=!1;this.R=!1;var d=this.K||new F(this,"1.37.0");if(a==Ii)b=!0;else if(a>zi){if(Ai(d,this.M)){this.C=new F(this,"1.37.0",Ji);Ai(this.C)&&(Ki(this,d),a=Li,Mi(this.C));this.C.set(Gi,Oa());Ni(this.C);var e=this.b&&!this.L;if(a==Hi||yb("Click OK to restore the previous "+bc+" machine state, or CANCEL to reset the machine.")){if(c=Fi(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ai(d,g):("error"==f&&"no machine state"!=
|
|
g?(this.ia("Error: "+g),"unable to verify user"==g&&(ab(Oi,""),this.i=null)):this.u(f+": "+g),Mi(d),Ai(d)?(c=Fi(d),e=!0):c=!1))}e&&Di(this,c?d:null)}else a==Li&&d.clear()}else Di(this);delete this.M;delete this.K}e=Cb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Pi(this,g,d,b,c));b=[d,a,c];a!=Ii?Ci(this,this.Hb,b):this.Hb(b)}};
|
|
function Pi(a,b,c,d,e){if(!b.A.aa){b.A.aa=!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.za(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=zi,window&&window.location.reload()):a.R=!0,b.za(null),e=!1),!d&&b.Cb){var g=b.Cb.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}
|
|
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.V=!0;this.A.aa=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Pi(this,this.v,b,c,a),K(this,-2),this.v.fa());this.R&&(Ki(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
|
function Ki(a,b){if(yb("There may be a problem with your "+bc+" machine.\n\nTo help us diagnose it, click OK to send this "+bc+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=bc;d.ver="1.37.0";d.url=c;d.user=a;d.type="bug";d.data=b;Va("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
function Ug(a,b,c){var d="none";if(a.w)return null;a.w--;var e=new F(a,"1.37.0"),f=new F(a,"1.37.0",Ei),g=Oa();f.set(Gi,g);e.set(Gi,g);e.set(Qi,"1.37.0");e.set(Ri,window?window.location.href:null);e.set(Si,window?window.navigator.userAgent:"");if(a.v&&a.v.qa){c&&(b&&(a.v.A.fa=a.v.A.P),H(a.v));var h=a.v.qa(b,c);"object"===typeof h&&e.set(a.v.id,h);c&&(a.v.A.aa=!1,!1===h&&(d=null))}g=Cb(a.id);for(var k=0;k<g.length;k++){var l=g[k];l.A.aa&&(l.qa&&(h=l.qa(b,c),"object"===typeof h&&e.set(l.id,h)),c&&(l.A.aa=
|
|
!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.i&&Ti(a,a.i,e.toString()),Ni(f)&&Ni(e)||(d=null,h=g=!0)):a.b&&(h=!0,g=a.b==Ui),h&&e.clear(g)):d=e.toString());c&&(a.A.aa=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return d}
|
|
m.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(ac(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(ac(this,"Resetting "+this.v.type),this.v.reset());for(var a=Cb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(ac(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;K(this,-1)};m.start=function(a,b){for(var c=Cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)};
|
|
m.stop=function(a,b){for(var c=Cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)};
|
|
function K(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.gb+=d))&&(e.textContent=c.A.P?c.Y.toFixed(2)+"Mhz":"Stopped",c.gb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.P;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.T||8;e=e||0;e=8==f?Ba(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.Aa);vc(a,a.i);pc(a,a.w)}}
|
|
m.ra=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.aa?Ug(d,!1,!0):Ci(d,d.Ua))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.aa&&!d.w)if(d.b&&!d.I){var a=yb("Click OK to save changes to this "+bc+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ug(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ua(zi)}else d.reset(),d.v&&!d.D&&d.v.fa()},!0;case "save":if(Fa(Xa(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
else return this.J[b]=c,c.onclick=function(){var a=yi(d,!0);if(a){var b=!!(d.b&&!d.I||d.N),c=Ug(d,b);b?Ti(d,a,c):d.ia("Resume disabled, machine state not saved")}},!0}return!1};
|
|
function yi(a,b){var c=a.i;c||((c=$a(Oi),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=Vi(a,c))||a.ia("The user ID is invalid.")):b&&a.ia("Browser local storage is not available"));return c}
|
|
function Vi(a,b){a.i=null;b=Va(Xa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ab(Oi,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function Bi(a){var b=null;a.i&&(b=Xa()+"/api/v1/user?req=load&user="+a.i+"&state="+Wi(a,"1.37.0"));return b}
|
|
function Ti(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wi(a,"1.37.0");d.data=c;b=Va(Xa()+"/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.ia("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.ia(c),ab(Oi,""),a.i=null)}}
|
|
function wd(a,b){if(a.F){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.F.focus();!b&&window&&window.scrollTo(c,d)}}var Ji="failsafe",Ei="validate",Gi="timestamp",Qi="version",Ri="url",Si="browser",Oi="user",Ii=-1,zi=0,Hi=1,Li=2,Ui=3;hb(function(){for(var a=w(document,u+"-machine"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);c=w(c,u,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=Bb(f);g=new ji(g,d,!0);Ab(g,f);g.O&&Ci(g,g.Ua)}}});
|
|
ib.show.push(function(){for(var a=w(document,u,"computer"),b=0;b<a.length;b++){var c=Bb(a[b]);if(c=Eb("Computer",c.id))c.A.tb=!1,c.V&&!c.A.aa&&c.Ua(Ii)}});ib.exit.push(function(){for(var a=w(document,u,"computer"),b=0;b<a.length;b++){var c=Bb(a[b]);if(c=Eb("Computer",c.id))c.A.tb=!0,c.A.aa&&Ug(c,!(!c.b||c.I),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Wi(a,b,c);Mi(this,a.Ub)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};
|
|
m.get=function(a){return this.b[a]||null};m.data=function(){return this.b};function Ai(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Ya()&&(b=$a(a.key))?(a.i=b,a.v=!0):!1}function Fi(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){r(c.message||c),b=!1}return b}function Ni(a){var b=!0;if(Ya()){var c=JSON.stringify(a.b);ab(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
|
function Mi(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){Mi(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 Wi(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 Xi=0;
|
|
function Yi(a,b,c,d,e,f,g){f("Loading "+a+"...");Va(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):Zi(k,a,b,c,d,e,f,g)})}
|
|
function Zi(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(vb(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),e=e.replace(/\$/g,"$$$$"),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(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?$i(a,g,k):k(a,null):h("no data"+(b?" for file: "+
|
|
b:""),null)}
|
|
function $i(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Va(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],l,p=/( [a-z]+=)(['"])(.*?)\2/gi;l=p.exec(f);)k=0>k.toLowerCase().indexOf(l[1].toLowerCase())?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[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);$i(a,b,c)}})}else c(a,null)}
|
|
function aj(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=Ga(a))}function g(a){f("Error: "+a);l&&(--Xi||lb(!0));l=!1}var h,k,l=!0;Xi++;wb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=p:B.appendChild(document.createTextNode(p));q.appendChild(B)}d||
|
|
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.37.0/components.xsl");p=function(e,k){k?Yi(d,null,a,null,!1,f,function(a,e){e?(vb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Xi||lb(!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),--Xi||
|
|
lb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Yi(c,b,a,e,!0,f,p):Zi(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(v){g(v.message)}return l}window.embedPDP10=function(a,b,c,d){lb(!1);return aj("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){lb(!1);return aj("pdp11",a,b,c,d)};
|
|
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Gb[c],d=!0;else if("string"==typeof f&&!Gb[c]){d=!0;e=Gb;for(var g=c,h=f.length,k=[],l=[],p="",q=null,B=0;B<h;B++){var v=f[B];if('"'==v||"'"==v)q&&v!=q?p+=v:(q?q=null:q=v,p&&(l.push(p),p=""));else{if(!q){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){p&&(l.push(p),p="");";"==v&&l.length&&(k.push(l),l=[]);continue}}p+=v}}p&&l.push(p);l.length&&k.push(l);e[g]=k;Fb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
|
!0):!1}if(d&&(g=Eb(d,c+".machine"))&&(h=g.exports)&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=lb;window.sendEvent=sb;})();//# sourceMappingURL=/versions/pdpjs/1.37.0/pdp10-dbg.map
|