|
|
|
|
@ -46,328 +46,328 @@ function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
|
|
|
|
|
function xa(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,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}function ya(){return Date.now()||+new Date}function za(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
|
|
|
|
function Aa(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 k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,
|
|
|
|
|
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
|
|
|
|
function Ba(a,b){var c,d={ba:null,ea:null,wa:null,va:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.wa=g.load;d.va=g.exec;if(e=g.bytes)d.ba=e;else if(e=g.words)for(d.ba=Array(2*e.length),f=c=0;c<e.length;c++)d.ba[f++]=e[c]&255,d.ba[f++]=e[c]>>8&255;else if(e=g.data)for(d.ba=Array(4*e.length),f=c=0;c<e.length;c++)d.ba[f++]=
|
|
|
|
|
e[c]&255,d.ba[f++]=e[c]>>8&255,d.ba[f++]=e[c]>>16&255,d.ba[f++]=e[c]>>24&255;else d.ba=g;d.ea=g.symbols;d.ba.length?1==d.ba.length&&(y(d.ba[0]),d=null):(y("Empty resource: "+a),d=null)}catch(k){y("Resource data error ("+a+"): "+k.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)){y("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ba=e)}return d}
|
|
|
|
|
function Ba(a,b){var c,d={ca:null,ea:null,xa:null,wa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.xa=g.load;d.wa=g.exec;if(e=g.bytes)d.ca=e;else if(e=g.words)for(d.ca=Array(2*e.length),f=c=0;c<e.length;c++)d.ca[f++]=e[c]&255,d.ca[f++]=e[c]>>8&255;else if(e=g.data)for(d.ca=Array(4*e.length),f=c=0;c<e.length;c++)d.ca[f++]=
|
|
|
|
|
e[c]&255,d.ca[f++]=e[c]>>8&255,d.ca[f++]=e[c]>>16&255,d.ca[f++]=e[c]>>24&255;else d.ca=g;d.ea=g.symbols;d.ca.length?1==d.ca.length&&(y(d.ca[0]),d=null):(y("Empty resource: "+a),d=null)}catch(k){y("Resource data error ("+a+"): "+k.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)){y("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ca=e)}return d}
|
|
|
|
|
function Ca(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Da(a){window&&window.alert(a)}function Ea(a){var b=!1;window&&(b=window.confirm(a));return b}function Fa(){if(null==Ka){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}Ka=a}return Ka}
|
|
|
|
|
function La(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ma(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Na(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 Oa(a){if(!Pa){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," "))}Pa=c}return Pa[a]}
|
|
|
|
|
function Qa(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}function Ra(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
|
|
|
|
function Sa(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 Ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Ya.init.push(a)}
|
|
|
|
|
function Za(a){if($a)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Da&&Da(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!$a&&a?($a=!0,bb&&cb("init"),db&&cb("show")):$a=a}function cb(a){Ya[a]&&Za(Ya[a])}var Pa=null,Ya={init:[],show:[],exit:[]},bb=!1,db=!1,$a=!0,Ka=null;Ta("onload",function(){bb=!0;Za(Ya.init)});Ta("onpageshow",function(){db=!0;Za(Ya.show)});
|
|
|
|
|
Ta(Na("Opera")||Na("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)});function A(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Rc=b.comment;this.Fd=b;this.exports={};a=this.id.indexOf(".");0>a?this.kb=this.id:(this.lb=this.id.substr(0,a),this.kb=this.id.substr(a+1));this.A={ready:!1,cb:!1,zc:!1,fa:!1,error:!1};this.bc=null;this.A.error=!1;this.B={};this.ga=d||0;this.F=this.f=this.D=this.J=this.Pa=null;eb.push(this)}
|
|
|
|
|
Ta(Na("Opera")||Na("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)});function A(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Rc=b.comment;this.Fd=b;this.exports={};a=this.id.indexOf(".");0>a?this.kb=this.id:(this.lb=this.id.substr(0,a),this.kb=this.id.substr(a+1));this.A={ready:!1,cb:!1,zc:!1,fa:!1,error:!1};this.bc=null;this.A.error=!1;this.B={};this.ha=d||0;this.F=this.f=this.D=this.J=this.Pa=null;eb.push(this)}
|
|
|
|
|
function gb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function y(a){Da&&Da(a)}function nb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<eb.length;b++){var d=eb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function ob(a){if(void 0!==a){var b;for(b=0;b<eb.length;b++)if(eb[b].id===a)return eb[b]}return null}
|
|
|
|
|
function pb(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<eb.length;d++)if(c)c==eb[d]&&(c=null);else if(!(a!=eb[d].type||b&&eb[d].id.indexOf(b)))return eb[d]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){y(c.message+" ("+a+")")}return b}
|
|
|
|
|
function qb(a,b){var c=E;b=G(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 k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=B(g))&&k.binding&&a.oa(k.type,k.binding,g,k.value),m=l.length}}}}
|
|
|
|
|
function qb(a,b){var c=E;b=G(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 k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=B(g))&&k.binding&&a.pa(k.type,k.binding,g,k.value),m=l.length}}}}
|
|
|
|
|
function G(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}h=A.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
|
|
|
|
|
h.oa=function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.Pa=this.B[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.M=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
|
|
|
|
|
h.pa=function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.Pa=this.B[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.M=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
|
|
|
|
|
h.status=function(a){this.u(this.kb+": "+a)};h.M=function(a,b,c){c=c||this.type;!b&&Da&&Da((c?c+": ":"")+a)};function rb(a,b){a.A.error=!0;a.M(b)}function sb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function tb(a,b){b&&(a.A.ready?b():a.bc=b);return a.A.ready}function H(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.bc,a.bc=null,b&&b()))}function ub(a,b){a.A.cb&&(b?a.A.zc=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.cb}
|
|
|
|
|
function vb(a,b){if(a.A.zc)return a.A.cb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.cb=b;return a.A.cb}h.sa=function(){return this.A.fa=!0};h.Ca=function(a,b){b&&(this.A.fa=!1);return!0};function I(a,b){if(a.F){a===a.F?b|=0:b=b||a.ga;var c=a.F.ga&b;return!!b&&c===b||!!(c&a.F.cd)}return!1}function J(a,b,c,d){a.F&&(!0===c||I(a,c|0))&&a.F.message(b,d)}
|
|
|
|
|
function vb(a,b){if(a.A.zc)return a.A.cb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.cb=b;return a.A.cb}h.ta=function(){return this.A.fa=!0};h.Ca=function(a,b){b&&(this.A.fa=!1);return!0};function I(a,b){if(a.F){a===a.F?b|=0:b=b||a.ha;var c=a.F.ha&b;return!!b&&c===b||!!(c&a.F.cd)}return!1}function J(a,b,c,d){a.F&&(!0===c||I(a,c|0))&&a.F.message(b,d)}
|
|
|
|
|
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var mb=window?window.PCjs.Machines:{},eb=window?window.PCjs.Components:[];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 wb="undefined"!==typeof ArrayBuffer,E="pdp11",xb="PDPjs",yb=!1,zb=wb,Ab=!0,Bb=!0,Cb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Db={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},E="pdp11",xb="PDPjs",yb=!1,zb=wb,Bb=Ab=!0,Eb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
|
|
|
|
|
kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
|
|
|
|
function Fb(a,b){A.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.ta=this.i=this.Va=this.tb=0;this.C=this.G=this.w=!1;this.H=Mb;this.g={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.F=this.f=this.D=this.J=null;H(this)}p(Fb,A);h=Fb.prototype;h.reset=function(){this.stop()};
|
|
|
|
|
h.oa=function(a,b,c,d){if(this.J&&this.J.oa(a,b,c,d)||this.f&&this.f.oa(a,b,c,d)||this.F&&this.F.oa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.B[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.B[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.B[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
|
|
|
|
|
b){return function(){Nb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ob(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Nb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Ob(a,b)}}(this,b),!0):A.prototype.oa.call(this,a,b,c,d)}};h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Pb(b,this,Qb);Rb(b,this.reset.bind(this));Sb(this);Tb(this)};h.sa=function(a,b){b||(this.I&&Ub(),this.reset());return!0};h.Ca=function(){return!0};
|
|
|
|
|
function Vb(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Sb(a,b){for(var c in a.g)Vb(a,c,null!=b?b:a.g[c])}function Wb(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Tb(a){for(var b in a.b)Wb(a,b,a.b[b][1])}function Xb(a,b,c,d){a.B[b]&&(void 0===c&&(rb(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.xa||8)?q(c,d):v(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
|
|
|
|
|
function Fb(a,b){A.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.ua=this.i=this.Va=this.tb=0;this.C=this.G=this.w=!1;this.H=Mb;this.g={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.F=this.f=this.D=this.J=null;H(this)}p(Fb,A);h=Fb.prototype;h.reset=function(){this.stop()};
|
|
|
|
|
h.pa=function(a,b,c,d){if(this.J&&this.J.pa(a,b,c,d)||this.f&&this.f.pa(a,b,c,d)||this.F&&this.F.pa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.B[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.B[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.B[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
|
|
|
|
|
b){return function(){Nb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Ob(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Nb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Ob(a,b)}}(this,b),!0):A.prototype.pa.call(this,a,b,c,d)}};h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Pb(b,this,Qb);Rb(b,this.reset.bind(this));Sb(this);Tb(this)};h.ta=function(a,b){b||(this.I&&Ub(),this.reset());return!0};h.Ca=function(){return!0};
|
|
|
|
|
function Vb(a,b,c){if(a=a.B[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Sb(a,b){for(var c in a.g)Vb(a,c,null!=b?b:a.g[c])}function Wb(a,b,c){if(a=a.B[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Tb(a){for(var b in a.b)Wb(a,b,a.b[b][1])}function Xb(a,b,c,d){a.B[b]&&(void 0===c&&(rb(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.ya||8)?q(c,d):v(c,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
|
|
|
|
|
function Nb(a,b){var c=a.b[b];Wb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=Yb&&(a.C=b==Zb,a.G=b==$b)}function Ob(a,b){var c=a.b[b];c[2]&&c[3]&&(Wb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Xd=function(a){a||this.f.A.U||(a=this.f,a.D.reset(),ac(a),this.b[bc]&&this.b[bc][1]&&cc(this.f))};h.Yd=function(){};h.Td=function(a){a||this.f.Z()};
|
|
|
|
|
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[bc]&&this.b[bc][1])cc(this.f);else{if((a=this.F)&&!ub(a,!0))vb(a,!0),dc(a,0,null),vb(a,!1);else try{var b=this.f.$b(1);0<b&&(ec(this.f,b),fc(this.f,b,!0),gc(this.f,b))}catch(c){"number"!=typeof c&&rb(this.f,c.stack||c.message)}this.stop();this.J&&L(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.C&&hc(this),a=ic(this,this.Va),this.H==Mb)jc(this.D,this.ta,a);else{var b=this.f,c=this.ta;b.ma++;b.D.Lb(kc(b,c,4),a);b.ma--}};
|
|
|
|
|
h.Ud=function(a){a||this.f.A.U||(this.G&&hc(this),a=this.H==Mb?lc(this.D,this.ta):mc(this.f,this.ta),ic(this,a))};h.Wd=function(a){a||this.f.A.U||nc(this,this.Va)};h.Vd=function(a){a?(this.w=!0,Sb(this,!0)):(this.w=!1,Sb(this),oc(this,0))};h.Zd=function(a,b){this.Va=a?this.Va|1<<b:this.Va&~(1<<b)};function hc(a){var b=1145>a.f.Aa?8:16,c=65472<=a.ta&&a.ta<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[Yb]&&a.b[Yb][1]||(b=-b);nc(a,a.ta&~c|a.ta+b&c)}
|
|
|
|
|
function nc(a,b){a.ta=b&a.D.I;b=a.ta;for(var c=0;22>c;c++)pc(a,"A"+c,b&1<<c)}function ic(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)pc(a,"D"+c,b&1<<c);return a.i}function pc(a,b,c){a.g[b]=c;a.w||Vb(a,b,c)}function qc(a){return void 0!==a.B[Cc]}function oc(a,b){if(qc(a)){a.Va=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;Tb(a)}}h.stop=function(){nc(this,this.f.g[7])};h.Fc=function(a){this.ta=a};h.setData=function(a,b){b?this.tb=a:this.i=a};h.de=function(a,b){return(b?this.tb:this.Va)&65535};
|
|
|
|
|
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[bc]&&this.b[bc][1])cc(this.f);else{if((a=this.F)&&!ub(a,!0))vb(a,!0),dc(a,0,null),vb(a,!1);else try{var b=this.f.$b(1);0<b&&(ec(this.f,b),fc(this.f,b,!0),gc(this.f,b))}catch(c){"number"!=typeof c&&rb(this.f,c.stack||c.message)}this.stop();this.J&&L(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.C&&hc(this),a=ic(this,this.Va),this.H==Mb)jc(this.D,this.ua,a);else{var b=this.f,c=this.ua;b.na++;b.D.Lb(kc(b,c,4),a);b.na--}};
|
|
|
|
|
h.Ud=function(a){a||this.f.A.U||(this.G&&hc(this),a=this.H==Mb?lc(this.D,this.ua):mc(this.f,this.ua),ic(this,a))};h.Wd=function(a){a||this.f.A.U||nc(this,this.Va)};h.Vd=function(a){a?(this.w=!0,Sb(this,!0)):(this.w=!1,Sb(this),oc(this,0))};h.Zd=function(a,b){this.Va=a?this.Va|1<<b:this.Va&~(1<<b)};function hc(a){var b=1140>=a.f.ba?8:16,c=65472<=a.ua&&a.ua<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[Yb]&&a.b[Yb][1]||(b=-b);nc(a,a.ua&~c|a.ua+b&c)}
|
|
|
|
|
function nc(a,b){a.ua=b&a.D.I;b=a.ua;for(var c=0;22>c;c++)pc(a,"A"+c,b&1<<c)}function ic(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)pc(a,"D"+c,b&1<<c);return a.i}function pc(a,b,c){a.g[b]=c;a.w||Vb(a,b,c)}function qc(a){return void 0!==a.B[Cc]}function oc(a,b){if(qc(a)){a.Va=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;Tb(a)}}h.stop=function(){nc(this,this.f.g[7])};h.Fc=function(a){this.ua=a};h.setData=function(a,b){b?this.tb=a:this.i=a};h.de=function(a,b){return(b?this.tb:this.Va)&65535};
|
|
|
|
|
h.pf=function(a){this.tb=a};function Ub(){for(var a=G(document,E,"panel"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=ob(d.id);e||(e=new Fb(d,!0));qb(e,c)}}var Mb=7,Cc="S0",Zb="DEP",bc="ENABLE",$b="EXAM",Yb="STEP",Dc={},Qb=(Dc[65400]=[null,null,Fb.prototype.de,Fb.prototype.pf,"CNSW"],Dc);Xa(Ub);
|
|
|
|
|
function Ec(a,b,c){A.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=+a.busWidth||16;this.N=1<<this.V;this.I=this.N-1;this.j=Fc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.N/this.j|0;this.T=this.H-1;this.Ma=[];this.ia=0;this.G=!1;this.O=[];this.Hd=[Gc,Hc,Ic,Jc];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new M(this);Kc(a,this.F);this.b=Array(this.H);this.v=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.v[b]=a;this.C=this.N-Fc;Lc(this,this.C,Fc,Mc,this);this.R=
|
|
|
|
|
this.P=(this.C&this.I)>>>this.g;this.L=0;this.w=this.I;H(this)}p(Ec,A);function Nc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.v[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Fc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Ec.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Nc(this,16)};h.sa=function(a,b){b||this.reset();return!0};
|
|
|
|
|
function Ec(a,b,c){A.call(this,"Bus",a,0,16);this.f=b;this.F=c;this.V=+a.busWidth||16;this.N=1<<this.V;this.I=this.N-1;this.j=Fc;this.g=Math.log2(this.j);this.S=this.j>>2;this.i=this.j-1;this.H=this.N/this.j|0;this.T=this.H-1;this.Ma=[];this.ja=0;this.G=!1;this.O=[];this.Hd=[Gc,Hc,Ic,Jc];this.b=this.v=[];this.C=this.L=this.w=this.P=this.R=0;a=new M(this);Kc(a,this.F);this.b=Array(this.H);this.v=Array(this.H);for(b=0;b<this.H;b++)this.b[b]=this.v[b]=a;this.C=this.N-Fc;Lc(this,this.C,Fc,Mc,this);this.R=
|
|
|
|
|
this.P=(this.C&this.I)>>>this.g;this.L=0;this.w=this.I;H(this)}p(Ec,A);function Nc(a,b){if(b!=a.L){for(var c=0;c<a.H;c++)a.v[c]=a.b[c];a.L=0;a.w=a.I;b&&(a.L=b,b=1<<b,a.w=b-1,b-=Fc,a.R=(b&a.w)>>>a.g,a.v[a.R]=a.b[a.P])}}h=Ec.prototype;h.reset=function(){for(var a=0;a<this.O.length;a++)this.O[a]();Nc(this,16)};h.ta=function(a,b){b||this.reset();return!0};
|
|
|
|
|
function Lc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Hb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Hb){n=l.size-(f-m);n>g&&(n=g);l.Hb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return Oc(Pc,f,g)}f=new M(a,f,n,a.j,d,e);Kc(f,a.F,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status((c>>10)+"Kb "+Qc[d]+" at "+q(b)),!0):Oc(Rc,b,c)}h.Jc=function(a){return this.v[(a&this.w)>>>this.g].sb(a&this.i,a)};
|
|
|
|
|
h.Zb=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Bb||b!=this.i?this.v[c].ja(b,a):this.v[c++].sb(b,a)|this.v[c&this.T].sb(0,a+1)<<8};h.Kc=function(a,b){this.v[(a&this.w)>>>this.g].ub(a&this.i,b,a)};h.Lb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Bb||c!=this.i?this.v[d].vb(c,b,a):(this.v[d++].ub(c,b&255,a),this.v[d&this.T].ub(0,b>>8&255,a+1))};function Sc(a,b){return a.b[(b&a.I)>>>a.g]}
|
|
|
|
|
function lc(a,b){var c;a.G=!1;a.ia++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?c=e.C(d,b):c=e.j(d,b)|Sc(a,b+1).j(0,b+1)<<8;a.ia--;return c}function Tc(a,b,c){a.G=!1;a.ia++;Sc(a,b).D(b&a.i,c&255,b);a.ia--}function jc(a,b,c){a.G=!1;a.ia++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),Sc(a,b+1).D(0,c>>8&255,b+1));a.ia--}
|
|
|
|
|
h.Zb=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Bb||b!=this.i?this.v[c].ka(b,a):this.v[c++].sb(b,a)|this.v[c&this.T].sb(0,a+1)<<8};h.Kc=function(a,b){this.v[(a&this.w)>>>this.g].ub(a&this.i,b,a)};h.Lb=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Bb||c!=this.i?this.v[d].vb(c,b,a):(this.v[d++].ub(c,b&255,a),this.v[d&this.T].ub(0,b>>8&255,a+1))};function Sc(a,b){return a.b[(b&a.I)>>>a.g]}
|
|
|
|
|
function lc(a,b){var c;a.G=!1;a.ja++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?c=e.C(d,b):c=e.j(d,b)|Sc(a,b+1).j(0,b+1)<<8;a.ja--;return c}function Tc(a,b,c){a.G=!1;a.ja++;Sc(a,b).D(b&a.i,c&255,b);a.ja--}function jc(a,b,c){a.G=!1;a.ja++;var d=b&a.i,e=Sc(a,b);Bb||d!=a.i?e.G(d,c&65535,b):(e.D(d,c&255,b),Sc(a,b+1).D(0,c>>8&255,b+1));a.ja--}
|
|
|
|
|
function Uc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Ta||e.Nd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function Vc(a){for(var b=Wc,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Hb)}return c}
|
|
|
|
|
function Xc(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&Yc;if(void 0!==a.Ma[n])return Da&&Da("I/O address already registered: "+v(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
|
|
|
|
|
function Pb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.Aa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!Xc(a,f,f,k,l,m,n,g[7]||b.ga,r||b.kb))return!1}}return!0}
|
|
|
|
|
function Rb(a,b){a.O.push(b)}h.La=function(a,b,c){this.G=!0;this.ia||(this.F&&I(this.F,4)&&J(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.ka(4,0,a))};function Zc(a){var b=a.G;a.G=!1;return b}function Oc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Fc=8192,Yc=Fc-1,Pc=1,Rc=2;
|
|
|
|
|
function Gc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&I(this.f,16|e[5])&&J(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ia),c;d.La(b,16,3);c=255;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ia);return c}
|
|
|
|
|
function Hc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&I(this.f,16|f[5])&&J(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ia):(e.La(c,16,5),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
|
|
|
|
|
b),!0,!e.ia))}function Ic(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ia),c;d.La(b,16,2);c=65535;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ia);return c}
|
|
|
|
|
function Jc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ia):(e.La(c,16,4),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ia))}function P(a){A.call(this,"Device",a,0,256);this.b={lh:0,Gc:-1}}p(P,A);h=P.prototype;
|
|
|
|
|
h.ra=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Gc=$c(c,function(){e.b.Eb|=128;e.b.Eb&64&&ad(e.f,e.b.eb);e.J&&L(e.J,1);bd(e.f,e.b.Gc,1E3/60)});this.b.eb=cd(c,64,6,524288);Pb(b,this,dd);Rb(b,this.reset.bind(this));d&&ed(d,64,function(a){var b=e.f;fd(e,"KIPDR",b.C[0],0,a[0]);fd(e,"KDPDR",b.C[0],8,a[0]);fd(e,"KIPAR",b.N[0],0,a[0]);fd(e,"KDPAR",b.N[0],8,a[0],!0);fd(e,"SIPDR",b.C[1],0,a[0]);fd(e,"SDPDR",b.C[1],8,a[0]);fd(e,"SIPAR",b.N[1],0,a[0]);fd(e,"SDPAR",b.N[1],8,a[0],
|
|
|
|
|
function Pb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ba)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!Xc(a,f,f,k,l,m,n,g[7]||b.ha,r||b.kb))return!1}}return!0}
|
|
|
|
|
function Rb(a,b){a.O.push(b)}h.La=function(a,b,c){this.G=!0;this.ja||(this.F&&I(this.F,4)&&J(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.la(4,0,a))};function Zc(a){var b=a.G;a.G=!1;return b}function Oc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Fc=8192,Yc=Fc-1,Pc=1,Rc=2;
|
|
|
|
|
function Gc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&I(this.f,16|e[5])&&J(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,3);c=255;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
|
|
|
|
|
function Hc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&I(this.f,16|f[5])&&J(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,5),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
|
|
|
|
|
b),!0,!e.ja))}function Ic(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,2);c=65535;this.f&&I(this.f,16)&&J(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
|
|
|
|
|
function Jc(a,b,c){var d=!1,e=this.controller;a=e.Ma[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&I(this.f,16|a[5])&&J(this.f,a[4]+".writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,4),this.f&&I(this.f,16)&&J(this.f,"warning: unconverted write access to word @"+O(this.f,c)+": "+O(this.f,b),!0,!e.ja))}function P(a){A.call(this,"Device",a,0,256);this.b={lh:0,Gc:-1}}p(P,A);h=P.prototype;
|
|
|
|
|
h.sa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Gc=$c(c,function(){e.b.Eb|=128;e.b.Eb&64&&ad(e.f,e.b.eb);e.J&&L(e.J,1);bd(e.f,e.b.Gc,1E3/60)});this.b.eb=cd(c,64,6,524288);Pb(b,this,dd);Rb(b,this.reset.bind(this));d&&ed(d,64,function(a){var b=e.f;fd(e,"KIPDR",b.C[0],0,a[0]);fd(e,"KDPDR",b.C[0],8,a[0]);fd(e,"KIPAR",b.N[0],0,a[0]);fd(e,"KDPAR",b.N[0],8,a[0],!0);fd(e,"SIPDR",b.C[1],0,a[0]);fd(e,"SDPDR",b.C[1],8,a[0]);fd(e,"SIPAR",b.N[1],0,a[0]);fd(e,"SDPAR",b.N[1],8,a[0],
|
|
|
|
|
!0);fd(e,"UIPDR",b.C[3],0,a[0]);fd(e,"UDPDR",b.C[3],8,a[0]);fd(e,"UIPAR",b.N[3],0,a[0]);fd(e,"UDPAR",b.N[3],8,a[0],!0);b.T&32&&fd(e,"UNIMAP",b.Sa,-1,a[0])});H(this)};function fd(a,b,c,d,e,f){a=a.F;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=8;var g="",k=!1,l=0,m=8;0>d&&(e=c.length,d=0,k=!0,l=3,m=4);for(var n=0;n<e;n++)n%m||(g&&(g+="\n"),g+=b+(k?"["+na(n)+"]":"")+":"),g+=" "+O(a,c[d+n],l);a.u(g+(f?"\n":""))}}h.reset=function(){this.b.Eb=128;bd(this.f,this.b.Gc,1E3/60,!0)};h.ke=function(){return this.b.Eb};
|
|
|
|
|
h.wf=function(a){this.b.Eb=a&192;this.b.Eb&64||gd(this.f,this.b.eb)};h.me=function(){return hd(this.f)};h.yf=function(a){id(this.f,a&-129|this.f.S&128)};h.ne=function(){return jd(this.f)};h.oe=function(){return kd(this.f)};h.pe=function(){return this.f.T};h.zf=function(a){ld(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Sa[a>>1];return a&1?b>>16:b&65535};h.gg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Sa[c]=b&1?this.f.Sa[c]&65535|(a&63)<<16:this.f.Sa[c]&-65536|a&65534};
|
|
|
|
|
h.Qe=function(a){return this.f.C[1][a>>1&7]};h.$f=function(a,b){this.f.C[1][b>>1&7]=a&65295};h.Oe=function(a){return this.f.C[1][(a>>1&7)+8]};h.Yf=function(a,b){this.f.C[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.N[1][a>>1&7]};h.Zf=function(a,b){b=b>>1&7;this.f.N[1][b]=a;this.f.C[1][b]&=65295};h.Ne=function(a){return this.f.N[1][(a>>1&7)+8]};h.Xf=function(a,b){b=(b>>1&7)+8;this.f.N[1][b]=a;this.f.C[1][b]&=65295};h.je=function(a){return this.f.C[0][a>>1&7]};
|
|
|
|
|
h.vf=function(a,b){this.f.C[0][b>>1&7]=a&65295};h.he=function(a){return this.f.C[0][(a>>1&7)+8]};h.tf=function(a,b){this.f.C[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.N[0][a>>1&7]};h.uf=function(a,b){b=b>>1&7;this.f.N[0][b]=a;this.f.C[0][b]&=65295};h.ge=function(a){return this.f.N[0][(a>>1&7)+8]};h.sf=function(a,b){b=(b>>1&7)+8;this.f.N[0][b]=a;this.f.C[0][b]&=65295};h.We=function(a){return this.f.C[3][a>>1&7]};h.fg=function(a,b){this.f.C[3][b>>1&7]=a&65295};
|
|
|
|
|
h.Ue=function(a){return this.f.C[3][(a>>1&7)+8]};h.dg=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.N[3][a>>1&7]};h.eg=function(a,b){b=b>>1&7;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Te=function(a){return this.f.N[3][(a>>1&7)+8]};h.cg=function(a,b){b=(b>>1&7)+8;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Fb=function(a){a&=7;return this.f.w&2048?this.f.qa[a]:this.f.g[a]};h.Jb=function(a,b){b&=7;this.f.w&2048?this.f.qa[b]=a:this.f.g[b]=a};
|
|
|
|
|
h.ue=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Ef=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Hf=function(a){this.f.g[7]=a};h.Gb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.qa[a]};h.Kb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.qa[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Ff=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};
|
|
|
|
|
h.Ue=function(a){return this.f.C[3][(a>>1&7)+8]};h.dg=function(a,b){this.f.C[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.N[3][a>>1&7]};h.eg=function(a,b){b=b>>1&7;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Te=function(a){return this.f.N[3][(a>>1&7)+8]};h.cg=function(a,b){b=(b>>1&7)+8;this.f.N[3][b]=a;this.f.C[3][b]&=65295};h.Fb=function(a){a&=7;return this.f.w&2048?this.f.ra[a]:this.f.g[a]};h.Jb=function(a,b){b&=7;this.f.w&2048?this.f.ra[b]=a:this.f.g[b]=a};
|
|
|
|
|
h.ue=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Ef=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Hf=function(a){this.f.g[7]=a};h.Gb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ra[a]};h.Kb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ra[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Ff=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};
|
|
|
|
|
h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Gf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.fe=function(a){return this.f.nc[a-65504>>1]};h.rf=function(a,b){this.f.nc[b-65504>>1]=a};h.nd=function(a){return 65520==a?(Vc(this.D)>>6)-1:0};h.sd=function(){};h.Se=function(){return 1};h.bg=function(){};h.ee=function(){return this.f.R};h.qf=function(){this.f.R=0};h.le=function(){return this.f.mc};h.xf=function(a,b){b&1||(a&=255);this.f.mc=a};
|
|
|
|
|
h.qe=function(a,b){return b?0:this.f.bb};h.Af=function(a){md(this.f,a)};h.Re=function(a,b){return b?0:this.f.Ba&65280};h.ag=function(a){this.f.Ba=a|255};h.te=function(){return nd(this.f)};h.Df=function(a){od(this.f,a)};h.rd=function(a,b){I(this)&&J(this,"writeIgnored("+q(b)+"): "+q(a),!0,!0)};
|
|
|
|
|
var Q={},dd=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.gg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.$f,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Yf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.Zf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Xf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.vf,"KIPDR",8,1145,64],Q[62672]=[null,null,P.prototype.he,P.prototype.tf,"KDPDR",8,1145,64],Q[62688]=
|
|
|
|
|
[null,null,P.prototype.ie,P.prototype.uf,"KIPAR",8,1145,64],Q[62704]=[null,null,P.prototype.ge,P.prototype.sf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.pe,P.prototype.zf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ke,P.prototype.wf,"LKS"],Q[65402]=[null,null,P.prototype.me,P.prototype.yf,"MMR0",1,1145,64],Q[65404]=[null,null,P.prototype.ne,P.prototype.rd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.oe,P.prototype.rd,"MMR2",1,1145,64],Q[65408]=[null,null,P.prototype.We,P.prototype.fg,
|
|
|
|
|
"UIPDR",8,1145,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.dg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.eg,"UIPAR",8,1145,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.cg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Fb,P.prototype.Jb,"R0SET0"],Q[65473]=[null,null,P.prototype.Fb,P.prototype.Jb,"R1SET0"],Q[65474]=[null,null,P.prototype.Fb,P.prototype.Jb,"R2SET0"],Q[65475]=[null,null,P.prototype.Fb,P.prototype.Jb,"R3SET0"],Q[65476]=[null,null,P.prototype.Fb,
|
|
|
|
|
var Q={},dd=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.gg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.$f,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Yf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.Zf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Xf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.vf,"KIPDR",8,1140,64],Q[62672]=[null,null,P.prototype.he,P.prototype.tf,"KDPDR",8,1145,64],Q[62688]=
|
|
|
|
|
[null,null,P.prototype.ie,P.prototype.uf,"KIPAR",8,1140,64],Q[62704]=[null,null,P.prototype.ge,P.prototype.sf,"KDPAR",8,1145,64],Q[62798]=[null,null,P.prototype.pe,P.prototype.zf,"MMR3",1,1145,64],Q[65382]=[null,null,P.prototype.ke,P.prototype.wf,"LKS"],Q[65402]=[null,null,P.prototype.me,P.prototype.yf,"MMR0",1,1140,64],Q[65404]=[null,null,P.prototype.ne,P.prototype.rd,"MMR1",1,1145,64],Q[65406]=[null,null,P.prototype.oe,P.prototype.rd,"MMR2",1,1140,64],Q[65408]=[null,null,P.prototype.We,P.prototype.fg,
|
|
|
|
|
"UIPDR",8,1140,64],Q[65424]=[null,null,P.prototype.Ue,P.prototype.dg,"UDPDR",8,1145,64],Q[65440]=[null,null,P.prototype.Ve,P.prototype.eg,"UIPAR",8,1140,64],Q[65456]=[null,null,P.prototype.Te,P.prototype.cg,"UDPAR",8,1145,64],Q[65472]=[null,null,P.prototype.Fb,P.prototype.Jb,"R0SET0"],Q[65473]=[null,null,P.prototype.Fb,P.prototype.Jb,"R1SET0"],Q[65474]=[null,null,P.prototype.Fb,P.prototype.Jb,"R2SET0"],Q[65475]=[null,null,P.prototype.Fb,P.prototype.Jb,"R3SET0"],Q[65476]=[null,null,P.prototype.Fb,
|
|
|
|
|
P.prototype.Jb,"R4SET0"],Q[65477]=[null,null,P.prototype.Fb,P.prototype.Jb,"R5SET0"],Q[65478]=[null,null,P.prototype.ue,P.prototype.Ef,"R6KERNEL"],Q[65479]=[null,null,P.prototype.xe,P.prototype.Hf,"R7KERNEL"],Q[65480]=[null,null,P.prototype.Gb,P.prototype.Kb,"R0SET1",1,1145],Q[65481]=[null,null,P.prototype.Gb,P.prototype.Kb,"R1SET1",1,1145],Q[65482]=[null,null,P.prototype.Gb,P.prototype.Kb,"R2SET1",1,1145],Q[65483]=[null,null,P.prototype.Gb,P.prototype.Kb,"R3SET1",1,1145],Q[65484]=[null,null,P.prototype.Gb,
|
|
|
|
|
P.prototype.Kb,"R4SET1",1,1145],Q[65485]=[null,null,P.prototype.Gb,P.prototype.Kb,"R5SET1",1,1145],Q[65486]=[null,null,P.prototype.ve,P.prototype.Ff,"R6SUPER",1,1145],Q[65487]=[null,null,P.prototype.we,P.prototype.Gf,"R6USER",1,1145],Q[65504]=[null,null,P.prototype.fe,P.prototype.rf,"CTRL",8,1170],Q[65520]=[null,null,P.prototype.nd,P.prototype.sd,"LSIZE",1,1170],Q[65522]=[null,null,P.prototype.nd,P.prototype.sd,"HSIZE",1,1170],Q[65524]=[null,null,P.prototype.Se,P.prototype.bg,"SYSID",1,1170],Q[65526]=
|
|
|
|
|
[null,null,P.prototype.ee,P.prototype.qf,"ERR",1,1170],Q[65528]=[null,null,P.prototype.le,P.prototype.xf,"MBR",1,1170],Q[65530]=[null,null,P.prototype.qe,P.prototype.Af,"PIR"],Q[65532]=[null,null,P.prototype.Re,P.prototype.ag,"SLR"],Q[65534]=[null,null,P.prototype.te,P.prototype.Df,"PSW"],Q);
|
|
|
|
|
Xa(function(){for(var a=G(document,E,"device"),b=0;b<a.length;b++){var c,d=a[b];c=B(d);switch(c.type){case "default":c=new P(c);qb(c,d);break;case "pc11":c=new pd(c);qb(c,d);break;case "rl11":c=new qd(c);qb(c,d);break;case "rk11":c=new R(c),qb(c,d)}}});
|
|
|
|
|
function M(a,b,c,d,e,f){this.B=a;this.id=rd+=2;this.b=null;this.K=b;this.Hb=c;this.size=d||0;this.type=e||sd;this.J=e==td;this.f=this.controller=null;this.sb=this.j=this.Cc;this.ja=this.C=this.Dc;this.ub=this.D=this.Ib;this.vb=this.G=this.kc;this.F=this.i=0;Kc(this);this.Ta=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ud(this,f.Hd);else if(wb)this.v=new ArrayBuffer(this.size),this.w=new DataView(this.v,0,this.size),this.g=new Uint8Array(this.v,0,this.size),this.H=new Uint16Array(this.v,
|
|
|
|
|
function M(a,b,c,d,e,f){this.B=a;this.id=rd+=2;this.b=null;this.K=b;this.Hb=c;this.size=d||0;this.type=e||sd;this.J=e==td;this.f=this.controller=null;this.sb=this.j=this.Cc;this.ka=this.C=this.Dc;this.ub=this.D=this.Ib;this.vb=this.G=this.kc;this.F=this.i=0;Kc(this);this.Ta=this.Nd=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],ud(this,f.Hd);else if(wb)this.v=new ArrayBuffer(this.size),this.w=new DataView(this.v,0,this.size),this.g=new Uint8Array(this.v,0,this.size),this.H=new Uint16Array(this.v,
|
|
|
|
|
0,this.size>>1),this.b=new Int32Array(this.v,0,this.size>>2),ud(this,Dd?Ed:Fd);else{a=this.b=Array(this.size>>2);for(f=0;f<a.length;f++)a[f]=0;ud(this,Gd)}else ud(this)}h=M.prototype;h.save=function(){var a,b;if(this.controller)a=null;else if(wb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.w.getInt32(b<<2,!0);else a=this.b;return a};
|
|
|
|
|
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(wb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ta=!0}return!1};function ud(a,b){b||(b=Hd);Id(a,b,void 0);Jd(a,b,void 0)}function Id(a,b,c){c&&a.F||(a.sb=b[0]||a.Cc,a.ja=b[2]||a.Dc);if(c||void 0===c)a.j=b[0]||a.Cc,a.C=b[2]||a.Dc}function Jd(a,b,c){c&&a.i||(a.ub=!a.J&&b[1]||a.Ib,a.vb=!a.J&&b[3]||a.kc);if(c||void 0===c)a.D=b[1]||a.Ib,a.G=b[3]||a.kc}
|
|
|
|
|
h.ob=function(a,b){b?this.i++||Jd(this,Kd,!1):this.F++||Id(this,Kd,!1)};function Ld(a,b){b?--a.i||(a.ub=a.J?a.Ib:a.D,a.vb=a.J?a.kc:a.G):--a.F||(a.sb=a.j,a.ja=a.C)}function Kc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Id(a,Kd,!1),(a.i=c.i)&&Jd(a,Kd,!1))}h.Cc=function(a,b){this.f&&I(this.f,32)&&J(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.La(b,32,2);return 255};
|
|
|
|
|
h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(wb)for(b=0;b<a.length;b++)this.w.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ta=!0}return!1};function ud(a,b){b||(b=Hd);Id(a,b,void 0);Jd(a,b,void 0)}function Id(a,b,c){c&&a.F||(a.sb=b[0]||a.Cc,a.ka=b[2]||a.Dc);if(c||void 0===c)a.j=b[0]||a.Cc,a.C=b[2]||a.Dc}function Jd(a,b,c){c&&a.i||(a.ub=!a.J&&b[1]||a.Ib,a.vb=!a.J&&b[3]||a.kc);if(c||void 0===c)a.D=b[1]||a.Ib,a.G=b[3]||a.kc}
|
|
|
|
|
h.ob=function(a,b){b?this.i++||Jd(this,Kd,!1):this.F++||Id(this,Kd,!1)};function Ld(a,b){b?--a.i||(a.ub=a.J?a.Ib:a.D,a.vb=a.J?a.kc:a.G):--a.F||(a.sb=a.j,a.ka=a.C)}function Kc(a,b,c){a.f=b;a.F=a.i=0;c&&((a.F=c.F)&&Id(a,Kd,!1),(a.i=c.i)&&Jd(a,Kd,!1))}h.Cc=function(a,b){this.f&&I(this.f,32)&&J(this.f,"attempt to read invalid address "+O(this.f,b),!0);this.B.La(b,32,2);return 255};
|
|
|
|
|
h.Ib=function(a,b,c){this.f&&I(this.f,32)&&J(this.f,"attempt to write "+O(this.f,b)+" to invalid addresses "+O(this.f,c),!0);this.B.La(c,32,4)};h.Dc=function(a,b){return this.sb(a++,b++)|this.sb(a,b)<<8};h.kc=function(a,b,c){this.ub(a++,b&255,c++);this.ub(a,b>>8,c)};h.ce=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.cf=function(a,b){Ab&&a&1&&this.B.La(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8};
|
|
|
|
|
h.nf=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Ta=!0};h.kg=function(a,b,c){Ab&&a&1&&this.B.La(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ta=!0};h.ae=function(a,b){this.f&&null!=this.K&&Md(this.f,this.K+a);return this.j(a,b)};h.Ze=function(a,b){this.f&&null!=this.K&&Md(this.f,this.K+a,2);return this.C(a,b)};
|
|
|
|
|
h.lf=function(a,b,c){this.f&&null!=this.K&&Nd(this.f,this.K+a);this.J?this.Ib(0,b,c):this.D(a,b,c)};h.ig=function(a,b,c){this.f&&null!=this.K&&Nd(this.f,this.K+a,2);this.J?this.Ib(0,b,c):this.G(a,b,c)};h.$d=function(a){return this.g[a]};h.be=function(a,b){a=this.g[a];this.f&&I(this.f,32)&&J(this.f,"Memory.readByte("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.Ye=function(a,b){Ab&&a&1&&this.B.La(b,64,2);return this.w.getUint16(a,!0)};
|
|
|
|
|
h.bf=function(a,b){Ab&&a&1&&this.B.La(b,64,2);a=!Bb&&a&1?this.g[a]|this.g[a+1]<<8:this.H[a>>1];this.f&&I(this.f,32)&&J(this.f,"Memory.readWord("+O(this.f,b)+"): "+O(this.f,a),!0);return a};h.kf=function(a,b){this.g[a]=b;this.Ta=!0};h.mf=function(a,b,c){this.g[a]=b;this.Ta=!0;this.f&&I(this.f,32)&&J(this.f,"Memory.writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0)};h.hg=function(a,b,c){Ab&&a&1&&this.B.La(c,64,4);this.w.setUint16(a,b,!0);this.Ta=!0};
|
|
|
|
|
h.jg=function(a,b,c){Ab&&a&1&&this.B.La(c,64,4);!Bb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Ta=!0;this.f&&I(this.f,32)&&J(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var sd=0,Wc=1,td=2,Mc=4,Qc=["NONE","RAM","ROM","VID","H/W"],rd=0,Hd=[],Gd=[M.prototype.ce,M.prototype.nf,M.prototype.cf,M.prototype.kg],Kd=[M.prototype.ae,M.prototype.lf,M.prototype.Ze,M.prototype.ig];
|
|
|
|
|
if(wb)var Fd=[M.prototype.$d,M.prototype.kf,M.prototype.Ye,M.prototype.hg],Ed=[M.prototype.be,M.prototype.mf,M.prototype.bf,M.prototype.jg];var Od;if(wb){var Pd=new ArrayBuffer(2);(new DataView(Pd)).setUint16(0,256,!0);Od=256===(new Uint16Array(Pd))[0]}else Od=!1;var Dd=Od;
|
|
|
|
|
function Qd(a,b){A.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.oc=0;this.ic=b;this.Za=c;this.vc=Math.round(this.ic/1E4)/100;this.nb=this.vc*this.Za;this.wc=this.Sb=this.hb=this.jc=0;this.A.U=!1;this.A.fc=!1;this.A.Ia=a.autoStart;"string"==typeof this.A.Ia&&(this.A.Ia="true"==this.A.Ia);this.A.zb=!1;this.Qb=this.Bb=0;this.Rb=+a.csStart;this.Ab=+a.csInterval;this.Cb=+a.csStop;this.Da=[];this.Tc=this.gf.bind(this);this.$a=this.Ha=this.Ya=this.b=this.da=this.Ga=this.Pb=this.Xa=this.Db=
|
|
|
|
|
this.xc=this.mb=0;this.pa=null;H(this)}p(Qd,A);h=Qd.prototype;h.ra=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.pa=a.i;for(a=0;a<Rd.length;a++)(b=this.B[Rd[a]])&&this.J.oa(null,Rd[a],b);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
|
|
|
|
h.sa=function(a,b){var c=Sd(this.J,"autoStart");null!=c?this.A.Ia="true"==c?!0:"false"==c?!1:!!c:null==this.A.Ia&&(this.A.Ia=!this.F&&void 0===this.B.run);if(!b){if(a&&this.restore){Td(this);if(!this.restore(a))return!1;Ud(this)}else this.reset();this.F?(a=this.F,b=this.A.Ia,a.Da=!0,a.u("Type ? for help with PDPjs Debugger commands"),Vd(a),b||Wd(a),a.ua&&(b=a.ua,a.ua=null,Xd(a,b))):this.u("No debugger detected");this.A.Ia||this.u("CPU will not be auto-started "+(this.pa?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
|
|
|
|
function Qd(a,b){A.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.oc=0;this.ic=b;this.Za=c;this.vc=Math.round(this.ic/1E4)/100;this.nb=this.vc*this.Za;this.wc=this.Sb=this.hb=this.jc=0;this.A.U=!1;this.A.fc=!1;this.A.Ia=a.autoStart;"string"==typeof this.A.Ia&&(this.A.Ia="true"==this.A.Ia);this.A.zb=!1;this.Qb=this.Bb=0;this.Rb=+a.csStart;this.Ab=+a.csInterval;this.Cb=+a.csStop;this.Da=[];this.Tc=this.gf.bind(this);this.$a=this.Ha=this.Ya=this.b=this.ga=this.Ga=this.Pb=this.Xa=this.Db=
|
|
|
|
|
this.xc=this.mb=0;this.qa=null;H(this)}p(Qd,A);h=Qd.prototype;h.sa=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.qa=a.i;for(a=0;a<Rd.length;a++)(b=this.B[Rd[a]])&&this.J.pa(null,Rd[a],b);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
|
|
|
|
h.ta=function(a,b){var c=Sd(this.J,"autoStart");null!=c?this.A.Ia="true"==c?!0:"false"==c?!1:!!c:null==this.A.Ia&&(this.A.Ia=!this.F&&void 0===this.B.run);if(!b){if(a&&this.restore){Td(this);if(!this.restore(a))return!1;Ud(this)}else this.reset();this.F?(a=this.F,b=this.A.Ia,a.Da=!0,a.u("Type ? for help with PDPjs Debugger commands"),Vd(a),b||Wd(a),a.va&&(b=a.va,a.va=null,Xd(a,b))):this.u("No debugger detected");this.A.Ia||this.u("CPU will not be auto-started "+(this.qa?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
|
|
|
|
h.Ca=function(a){return a?this.save():!0};h.Ia=function(){return this.A.U?!0:this.A.Ia?(cc(this),!0):!1};h.gd=function(){return 0};function Ud(a){void 0===a.Rb&&(a.Rb=0);void 0===a.Ab&&(a.Ab=-1);void 0===a.Cb&&(a.Cb=-1);a.A.zb=0<=a.Rb&&0<a.Ab;a.A.zb&&(a.Qb=0,a.Bb=a.Rb-a.$a)}function gc(a,b){if(a.A.zb){var c=!1;a.Qb=a.Qb+a.gd()|0;a.Bb-=b;0>=a.Bb&&(a.Bb+=a.Ab,c=!0);0<=a.Cb&&a.Cb<=Yd(a)&&(a.Ab=a.Cb=-1,Ud(a),a.Z(),c=!0);c&&a.u(Yd(a)+" cycles: checksum="+v(a.Qb))}}
|
|
|
|
|
h.oa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.B[b]=c,!0;case "run":return this.B[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=nb(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);Da("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():cc(d))},!0;
|
|
|
|
|
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){Zd(d,d.Za<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};function fc(a,b,c){a.$a+=b;c&&(a.Ya=a.b=a.da=0)}function $d(a,b){var c=1;b&&1<a.Za&&a.mb&&(c=a.mb/a.vc);a.wc=Math.round(1E3/ae);a.Sb=Math.floor(a.ic/ae*c);b||(a.hb=a.Sb);a.jc=0}function Yd(a){return a.$a+a.Ha+a.Ya-a.b}function Td(a){a.mb=0;a.xc=0;a.$a=a.Ha=a.Ya=a.b=a.da=0;Ud(a);Zd(a,1)}
|
|
|
|
|
h.pa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.B[b]=c,!0;case "run":return this.B[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=nb(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);Da("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():cc(d))},!0;
|
|
|
|
|
case "speed":return this.B[b]=c,!0;case "setSpeed":return this.B[b]=c,c.onclick=function(){Zd(d,d.Za<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};function fc(a,b,c){a.$a+=b;c&&(a.Ya=a.b=a.ga=0)}function $d(a,b){var c=1;b&&1<a.Za&&a.mb&&(c=a.mb/a.vc);a.wc=Math.round(1E3/ae);a.Sb=Math.floor(a.ic/ae*c);b||(a.hb=a.Sb);a.jc=0}function Yd(a){return a.$a+a.Ha+a.Ya-a.b}function Td(a){a.mb=0;a.xc=0;a.$a=a.Ha=a.Ya=a.b=a.ga=0;Ud(a);Zd(a,1)}
|
|
|
|
|
function Zd(a,b,c){var d=!1;if(void 0!==b){.8>a.mb/a.nb?b=1:d=!0;a.Za=b;b=a.vc*a.Za;if(a.nb!=b){a.nb=b;b=a.nb.toFixed(2)+"Mhz";var e=a.B.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.J&&be(a.J)}fc(a,a.Ha);a.Ha=0;a.Ga=ya();a.Xa=0;$d(a);return d}function $c(a,b){var c=a.Da.length;a.Da.push([-1,b]);return c}function bd(a,b,c,d){0<=b&&b<a.Da.length&&(d||0>a.Da[b][0])&&(c=a.ic*a.Za/1E3*c|0,a.A.U&&(c+=ce(a)),a.Da[b][0]=c)}
|
|
|
|
|
function de(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ec(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ce(a,b){var c=a.Ya-=a.b;a.b=a.da=0;b&&(a.Ya=0);return c}
|
|
|
|
|
function de(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ec(a,b){for(var c=a.Da.length-1;0<=c;c--){var d=a.Da[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ce(a,b){var c=a.Ya-=a.b;a.b=a.ga=0;b&&(a.Ya=0);return c}
|
|
|
|
|
h.gf=function(){if(this.A.U){this.jc>=this.ic&&$d(this,!0);this.Db=0;this.Pb=ya();if(this.Xa){var a=this.Pb-this.Xa;a>this.wc&&(this.Ga+=a,this.Ga>this.Pb&&(this.Ga=this.Pb))}try{do{var b=de(this,this.A.zb?1:this.Sb);try{this.$b(b)}catch(e){if("number"!=typeof e)throw e;}b=ce(this,!0);this.Db+=b;this.Ha+=b;gc(this,b);ec(this,b);this.hb-=b;if(0>=this.hb){this.hb+=this.Sb;++this.xc>=ee&&(this.J&&L(this.J,void 0),this.xc=0);break}}while(this.A.U)}catch(e){this.Z();this.J&&this.J.stop(ya(),Yd(this));
|
|
|
|
|
rb(this,e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Tc;this.Xa=ya();var c=this.wc;this.Db&&(c=Math.round(c*this.Db/this.Sb));var c=c-(this.Xa-this.Pb),d=this.Xa-this.Ga;d&&(this.mb=Math.round(this.Ha/(10*d))/100,864E5<=d&&(this.$a=0,Zd(this)));if(0>c||this.mb<this.nb)-1E3>c&&(this.Ga-=c),c=0;this.jc+=this.Db;this.Xa+=c;a(b,c)}}};
|
|
|
|
|
function cc(a,b){if(!sb(a))if(a.A.U)a.u(a.toString()+" busy");else{Zd(a);a.A.U=!0;a.A.fc=!0;var c=a.B.run;c&&(c.textContent="Halt");a.J&&(b&&be(a.J,!0),a.J.start(a.Ga,Yd(a)));a.F||a.status("Started");setTimeout(a.Tc,0)}}h.$b=function(){return 0};h.Z=function(a){var b=!1;if(this.A.U){ce(this);fc(this,this.Ha);this.Ha=0;this.A.U=!1;if(b=this.B.run)b.textContent="Run";this.J&&this.J.stop(ya(),Yd(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var ae=30,ee=15,Rd=["power","reset"];
|
|
|
|
|
function fe(a){var b=+a.model||1170;Qd.call(this,a,6666667);this.Aa=b;this.Qc=+a.addrReset||0;this.w=this.G=this.H=this.L=this.I=0;this.g=this.qa=this.X=[];this.O=0;this.uc=[];this.C=this.N=this.Sa=this.nc=[];this.lc=this.jb=this.P=this.Pc=this.Wa=this.xb=this.yb=this.Fa=this.R=this.bb=this.Ba=this.S=this.Wb=this.Xb=this.T=this.ab=this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.Sc=255;1120>=this.Aa?(this.Oc=ge.bind(this),this.wb=this.Ld,this.lc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
|
|
|
|
|
he.bind(this),this.wb=this.Md,this.Xc=~(1792|(1145>this.Aa?2048:0))&65535,this.Uc=1145<=this.Aa?2048:0);this.ma=0;this.la=null;this.tc=[];this.A.complete=!1;this.Mb=this.pc=this.fd;this.Nb=this.qc=this.ld;this.gc=this.rc=this.pd;this.Ob=this.sc=this.qd;this.Ea=this.ib=this.Tb=this.Vb=0;this.ua=this.kd;this.ja=this.Ec;this.vb=this.Hc;this.Zc=this.Yc=0}p(fe,Qd);h=fe.prototype;
|
|
|
|
|
h.ra=function(a,b,c,d){Qd.prototype.ra.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.Zb.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Lb.bind(b)};h.sa=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.Yb&&(e.Yb=c,c+=4)}return Qd.prototype.sa.call(this,a,b)};
|
|
|
|
|
h.reset=function(){this.status("Model "+this.Aa);this.A.U&&this.Z();this.G=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.qa=[0,0,0,0,0,0];this.X=[0,0,0,0];this.O=0;this.uc=[4,2,0,1];this.C=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.N=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
|
|
|
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Sa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.nc=[0,0,0,0,0,0,0,0];this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.ab=-1;ac(this);Td(this);this.A.error=!1;Qd.prototype.reset.call(this)};function ac(a){a.S=0;a.Wb=0;a.Xb=0;a.T=0;a.R=0;a.bb=0;a.Ba=255;a.Wa=0;a.xb=0;a.yb=0;a.Fa=262143;a.jb=a.g[7];a.P=0;a.la=null;a.D&&(ie(a),a.Pc=Vc(a.D))}
|
|
|
|
|
function ie(a){a.Mb=a.pc;a.Nb=a.qc;a.gc=a.rc;a.Ob=a.sc;a.Tb&&(a.Mb=a.fd,a.Nb=a.ld);a.Vb&&(a.gc=a.pd,a.Ob=a.qd);a.Wa?(a.Ea=65536,a.ib=a.T&16?4186112:253952,a.ua=a.kd,a.ja=a.Tb?a.af:a.Ec,a.vb=a.Vb?a.mg:a.Hc,Nc(a.D,a.T&16?22:18)):(a.Ea=0,a.ib=57344,a.ua=a.Od,a.ja=a.Tb?a.$e:a.od,a.vb=a.Vb?a.lg:a.td,Nc(a.D,16))}function hd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.yb<<1);return b}
|
|
|
|
|
function id(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Wb=a.P>>16&65535,a.Xb=a.P&65535);a.S=b;a.xb=(b&96)>>5;a.yb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Wa!=c&&(a.Wa=c,ie(a))}}function jd(a){a.S&57344||(a.Wb=a.P>>16&65535);a=a.Wb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function kd(a){a.S&57344||(a.Xb=a.P&65535);return a.Xb}function ld(a,b){1170>a.Aa&&(b&=-49);a.T!=b&&(a.T=b,a.Fa=b&16?4194303:262143,ie(a))}
|
|
|
|
|
function je(a,b,c){a.Qc=b;a.D.reset();ac(a);ke(a,b);od(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||cc(a)}else a.F?a.Z()||Vd(a.F):!1===c&&a.Z();!a.A.U&&a.pa&&a.pa.stop()}h.gd=function(){return 0};h.save=function(){var a=new le(this);a.set(0,[this.g,this.qa,this.X,this.Sa,this.nc,this.R,this.mc,this.bb,this.Ba,nd(this),this.ab,this.O,this.i,this.S,this.Wb,this.Xb,this.T,this.xb,this.yb,this.C,this.N,this.Wa,this.Fa,this.jb,this.P]);a.set(1,[this.$a,this.Za]);a.set(2,Uc(this.D));return a.data()};
|
|
|
|
|
function fe(a){var b=+a.model||1170;Qd.call(this,a,6666667);this.ba=b;this.Qc=+a.addrReset||0;this.w=this.G=this.H=this.L=this.I=0;this.g=this.ra=this.X=[];this.O=0;this.uc=[];this.C=this.N=this.Sa=this.nc=[];this.lc=this.jb=this.P=this.Pc=this.Wa=this.xb=this.yb=this.Fa=this.R=this.bb=this.Ba=this.S=this.Wb=this.Xb=this.T=this.ab=this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.Sc=255;1120>=this.ba?(this.Oc=ge.bind(this),this.wb=this.Ld,this.lc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
|
|
|
|
|
he.bind(this),this.wb=this.Md,this.Xc=~(1792|(1140>=this.ba?2048:0))&65535,this.Uc=1140<this.ba?2048:0);this.na=0;this.ma=null;this.tc=[];this.A.complete=!1;this.Mb=this.pc=this.fd;this.Nb=this.qc=this.ld;this.gc=this.rc=this.pd;this.Ob=this.sc=this.qd;this.Ea=this.ib=this.Tb=this.Vb=0;this.va=this.kd;this.ka=this.Ec;this.vb=this.Hc;this.Zc=this.Yc=0}p(fe,Qd);h=fe.prototype;
|
|
|
|
|
h.sa=function(a,b,c,d){Qd.prototype.sa.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.Zb.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Lb.bind(b)};h.ta=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.Yb&&(e.Yb=c,c+=4)}return Qd.prototype.ta.call(this,a,b)};
|
|
|
|
|
h.reset=function(){this.status("Model "+this.ba);this.A.U&&this.Z();this.G=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.ra=[0,0,0,0,0,0];this.X=[0,0,0,0];this.O=0;this.uc=[4,2,0,1];this.C=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.N=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
|
|
|
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Sa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.nc=[0,0,0,0,0,0,0,0];this.v=this.j=this.hc=this.V=this.Y=this.i=this.mc=0;this.ab=-1;ac(this);Td(this);this.A.error=!1;Qd.prototype.reset.call(this)};function ac(a){a.S=0;a.Wb=0;a.Xb=0;a.T=0;a.R=0;a.bb=0;a.Ba=255;a.Wa=0;a.xb=0;a.yb=0;a.Fa=262143;a.jb=a.g[7];a.P=0;a.ma=null;a.D&&(ie(a),a.Pc=Vc(a.D))}
|
|
|
|
|
function ie(a){a.Mb=a.pc;a.Nb=a.qc;a.gc=a.rc;a.Ob=a.sc;a.Tb&&(a.Mb=a.fd,a.Nb=a.ld);a.Vb&&(a.gc=a.pd,a.Ob=a.qd);a.Wa?(a.Ea=65536,a.ib=a.T&16?4186112:253952,a.va=a.kd,a.ka=a.Tb?a.af:a.Ec,a.vb=a.Vb?a.mg:a.Hc,Nc(a.D,a.T&16?22:18)):(a.Ea=0,a.ib=57344,a.va=a.Od,a.ka=a.Tb?a.$e:a.od,a.vb=a.Vb?a.lg:a.td,Nc(a.D,16))}function hd(a){var b=a.S;b&57344||(b=b&-3199|a.xb<<5|a.yb<<1);return b}
|
|
|
|
|
function id(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Wb=a.P>>16&65535,a.Xb=a.P&65535);a.S=b;a.xb=(b&96)>>5;a.yb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Wa!=c&&(a.Wa=c,ie(a))}}function jd(a){a.S&57344||(a.Wb=a.P>>16&65535);a=a.Wb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function kd(a){a.S&57344||(a.Xb=a.P&65535);return a.Xb}function ld(a,b){1170>a.ba&&(b&=-49);a.T!=b&&(a.T=b,a.Fa=b&16?4194303:262143,ie(a))}
|
|
|
|
|
function je(a,b,c){a.Qc=b;a.D.reset();ac(a);ke(a,b);od(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||cc(a)}else a.F?a.Z()||Vd(a.F):!1===c&&a.Z();!a.A.U&&a.qa&&a.qa.stop()}h.gd=function(){return 0};h.save=function(){var a=new le(this);a.set(0,[this.g,this.ra,this.X,this.Sa,this.nc,this.R,this.mc,this.bb,this.Ba,nd(this),this.ab,this.O,this.i,this.S,this.Wb,this.Xb,this.T,this.xb,this.yb,this.C,this.N,this.Wa,this.Fa,this.jb,this.P]);a.set(1,[this.$a,this.Za]);a.set(2,Uc(this.D));return a.data()};
|
|
|
|
|
h.restore=function(a){var b=a[1];this.$a=b[1];Zd(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.S){for(var f=0,g=Array(b.S),k=0;k<e.length-1;)for(var l=e[k++],m=e[k++];l--;)g[f++]=m;e=g}f=b.b[d];if(!f||!f.restore(e)){y("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function me(a){return a.G&65536?1:0}function ne(a){return a.H&32768?2:0}function oe(a){return a.L&65535?0:4}function pe(a){return a.I&32768?8:0}
|
|
|
|
|
function qe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(ke(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function ke(a,b){a.g[7]=b&65535}function cd(a,b,c,d){c={Yb:b,fb:c,message:d||0,next:null};c.name=Db[b];a.tc.push(c);return c}function re(a,b){var c=a.la;if(c==b)a.la=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.la&&(a.i|=1)}
|
|
|
|
|
function ad(a,b){if(b){if(b!=a.la){var c=a.la;if(!c||c.fb<=b.fb)b.next=c,a.la=b;else{do{var d=c.next;if(!d||d.fb<=b.fb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&I(a,b.message|8)&&J(a,"setIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0)}}function gd(a,b){b&&(re(a,b),b.message&&I(a,b.message|8)&&J(a,"clearIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0))}function se(a){return a.i&64?(a.ka(168,64,-6),!0):a.i&32?(a.ka(4,32,-5),!0):a.i&16?(a.ka(12,16,-7),!0):!1}
|
|
|
|
|
function nd(a){return a.w=a.w&63728|pe(a)|oe(a)|ne(a)|me(a)}function od(a,b){b&=a.Xc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.qa.length;0<=--c;){var d=a.g[c];a.g[c]=a.qa[c];a.qa[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.O]);a.w=b;a.i&=-3;a.i|=a.la?2:1}function md(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.bb=b}h.za=function(a){this.I=this.L=a;this.H=0};h.gb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};
|
|
|
|
|
function qe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(ke(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function ke(a,b){a.g[7]=b&65535}function cd(a,b,c,d){c={Yb:b,fb:c,message:d||0,next:null};c.name=Db[b];a.tc.push(c);return c}function re(a,b){var c=a.ma;if(c==b)a.ma=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.ma&&(a.i|=1)}
|
|
|
|
|
function ad(a,b){if(b){if(b!=a.ma){var c=a.ma;if(!c||c.fb<=b.fb)b.next=c,a.ma=b;else{do{var d=c.next;if(!d||d.fb<=b.fb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&I(a,b.message|8)&&J(a,"setIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0)}}function gd(a,b){b&&(re(a,b),b.message&&I(a,b.message|8)&&J(a,"clearIRQ(vector="+q(b.Yb)+",priority="+b.fb+")",!0,!0))}function se(a){return a.i&64?(a.la(168,64,-6),!0):a.i&32?(a.la(4,32,-5),!0):a.i&16?(a.la(12,16,-7),!0):!1}
|
|
|
|
|
function nd(a){return a.w=a.w&63728|pe(a)|oe(a)|ne(a)|me(a)}function od(a,b){b&=a.Xc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.ra.length;0<=--c;){var d=a.g[c];a.g[c]=a.ra[c];a.ra[c]=d}a.O=b>>14&3;c=a.w>>14&3;a.O!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.O]);a.w=b;a.i&=-3;a.i|=a.ma?2:1}function md(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.bb=b}h.Aa=function(a){this.I=this.L=a;this.H=0};h.gb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};
|
|
|
|
|
function te(a,b){a.I=a.L=a.G=b;a.H=a.I^a.G>>1}function ue(a,b,c,d){a.I=a.L=a.G=b;a.H=(c^d)&(d^b)}
|
|
|
|
|
h.ka=function(a,b,c){if(!this.ma){0>this.ab?this.ab=nd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.ja(a|this.Ea),e=this.ja(a+2&65535|this.Ea);od(this,e&-12289|this.ab>>2&12288);ve(this,this.ab);ve(this,this.g[7]);ke(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.ab=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
|
|
|
|
|
h.la=function(a,b,c){if(!this.na){0>this.ab?this.ab=nd(this):this.O||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.O=0;var d=this.ka(a|this.Ea),e=this.ka(a+2&65535|this.Ea);od(this,e&-12289|this.ab>>2&12288);ve(this,this.ab);ve(this,this.g[7]);ke(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.ab=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
|
|
|
|
|
function we(a){var b=xe(a),c=xe(a);a.w&49152&&(c=c&-225|a.w&63712);ke(a,b);od(a,c);a.i&=-17}function ye(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Sa[c]+(b&8191)&4194303:b&-3932161);return b}
|
|
|
|
|
function ze(a,b,c){var d=[];if(c){c=ye(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Sa[e]),d.push(b&8191))}else if(a.Wa){var e=a.O<<1,f=b>>13;7<f&&(e|=1);a.T&a.uc[a.O]||(f&=7);b&=8191;var g=a.N[a.O][f]<<6;c=g+b&a.Fa;3932160<=c&&(c=ye(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.Fa)}else c=b&65535,57344<=c&&(c|=a.ib),d.push(c);return d}
|
|
|
|
|
function kc(a,b,c){var d,e,f;if(!(c&a.Wa))return f=b&65535,57344<=f&&(f|=a.ib),f;d=b>>13;a.T&a.uc[a.O]||(d&=7);e=a.C[a.O][d];f=(a.N[a.O][d]<<6)+(b&8191)&a.Fa;3932160<=f&&(f=ye(a,f));if(a.ma)return f;f>=a.Pc&&f<a.ib?(a.R|=32,a.ka(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.ka(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
|
|
|
|
|
(g|=16384));a.C[a.O][d]=e;if(f!=(4194170&a.Fa)||a.O)a.xb=a.O,a.yb=d;g&&(g&57344&&(0<=a.ab&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.yb<<1,id(a,a.S&-61695|g&61694)),a.ka(168,64,-2)),a.S&61440||!(f<(4191360&a.Fa)||f>(4194239&a.Fa))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function xe(a){var b=a.ja(a.g[6]|a.Ea);a.g[6]=a.g[6]+2&65535;return b}function ve(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.wb(4,-2,c);a.vb(c,b)}
|
|
|
|
|
function Ae(a,b,c,d){var e,f,g=d&8?0:a.Ea;switch(b){case 0:return a.ka(4,0,-3),0;case 1:return 6==c&&a.wb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.wb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ja(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.wb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ja(e)|g;a.b-=8;break;case 6:return e=a.ja(qe(a,2)),e=e+a.g[c]&65535,6==c&&a.wb(d,
|
|
|
|
|
0,e),a.b-=6,e|g;case 7:return e=a.ja(qe(a,2)),e=e+a.g[c]&65535,e=a.ja(e|a.Ea),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.O&&0>=b&&c<=this.Ba&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.Ba&&(c<=this.Ba-32?this.ka(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Md(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Md(this.F,a,2);return this.qc(a)};
|
|
|
|
|
h.pd=function(a,b){this.F&&Nd(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Nd(this.F,a,2);this.sc(a,b)};function mc(a,b){a.ma++;b=a.D.Zb(kc(a,b,2));a.ma--;return b}function Be(a,b){(b?--a.Vb:--a.Tb)||ie(a)}h.Od=function(a,b,c){return Ae(this,a,b,c)};h.kd=function(a,b,c){return kc(this,Ae(this,a,b,c),c)};h.od=function(a){return this.D.Zb(this.jb=a)};h.$e=function(a){this.F&&Md(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.Zb(this.jb=kc(this,a,2))};
|
|
|
|
|
h.af=function(a){this.F&&Md(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Lb(this.jb=a,b)};h.lg=function(a,b){this.F&&Nd(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Lb(this.jb=kc(this,a,4),b)};h.mg=function(a,b){this.F&&Nd(this.F,a,2);this.Hc(a,b)};function Ce(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Ae(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ja(d|c&a.Ea),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
|
|
|
|
|
function De(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Ae(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=kc(a,e|c&65536,4),a.O=a.w>>14&3,a.Ob(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ee(a,b){b>>=6;var c=a.Y=b&7;return(b=a.V=(b&56)>>3)?a.Mb(a.ua(b,c,3)):a.g[c+a.lc]&a.Sc}function Fe(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.V=(b&56)>>3)?c=a.Nb(a.ua(b,d,2)):c=a.g[d+a.lc];return c}function Ge(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Ae(a,b,c,8)}
|
|
|
|
|
function He(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Mb(a.ua(b,c,3)):a.g[c]&255}function Ie(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Nb(a.ua(b,d,2)):c=a.g[d];return c}function Je(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.hc=a.ua(b,e,7),c=0>c?a.g[-c-1]&255:c,a.gc(e,d.call(a,c,a.Mb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
|
|
|
|
|
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ua(b,e,6),a.Ob(e,d.call(a,0>c?a.g[-c-1]:c,a.Nb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function Ke(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.ua(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.gc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
|
|
|
|
|
function ff(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.ua(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Ob(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
|
|
|
|
|
h.$b=function(a){this.A.complete=!0;var b=this.F?gf(this.F)?1:this.A.fc?-1:0:0,c=a?this.A.fc?0:1:-1;this.A.fc=!1;this.Ya=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(hf(this.F,this.g[7],c)){this.Z();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.bb&224)>>5,f=this.la&&this.la.fb>e?this.la:null;f&&(d=f.Yb,e=f.fb);e>(this.w&224)>>5?(this.i&8&&(qe(this,2),this.i&=-9),this.ka(d,0,-10),e=!0):e=!1;e&&(f&&re(this,f),a=!0);this.la||this.bb||(this.i&=-3)}else this.i&
|
|
|
|
|
1&&this.i++;if(a){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&se(this)){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ja(a);this.g[7]=a+2&65535;this.Oc(f)}while(0<this.b);return this.A.complete?this.Ya-this.b:void 0===this.A.complete?0:-1};Xa(function(){for(var a=G(document,E,"cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fe(d);qb(d,c)}});
|
|
|
|
|
function jf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function kf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function lf(a,b){a=b<<1;te(this,a);return a&65535}function mf(a,b){a=b<<1;te(this,a<<8);return a&255}function nf(a,b){a=b&32768|b>>1|b<<16;te(this,a);return a&65535}function of(a,b){a=b&128|b>>1|b<<8;te(this,a<<8);return a&255}function pf(a,b){a=b&~a;this.za(a);return a}function qf(a,b){a=b&~a;this.za(a<<8);return a}
|
|
|
|
|
function rf(a,b){a|=b;this.za(a);return a}function sf(a,b){a|=b;this.za(a<<8);return a}function tf(a,b){a=~b|65536;this.gb(a);return a&65535}function uf(a,b){a=~b|256;this.gb(a<<8);return a&255}function vf(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function wf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function xf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function yf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
|
|
|
|
|
function kc(a,b,c){var d,e,f;if(!(c&a.Wa))return f=b&65535,57344<=f&&(f|=a.ib),f;d=b>>13;a.T&a.uc[a.O]||(d&=7);e=a.C[a.O][d];f=(a.N[a.O][d]<<6)+(b&8191)&a.Fa;3932160<=f&&(f=ye(a,f));if(a.na)return f;f>=a.Pc&&f<a.ib?(a.R|=32,a.la(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.la(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
|
|
|
|
|
(g|=16384));a.C[a.O][d]=e;if(f!=(4194170&a.Fa)||a.O)a.xb=a.O,a.yb=d;g&&(g&57344&&(0<=a.ab&&(g|=128),a.S&57344||(g|=a.S&4096|a.xb<<5|a.yb<<1,id(a,a.S&-61695|g&61694)),a.la(168,64,-2)),a.S&61440||!(f<(4191360&a.Fa)||f>(4194239&a.Fa))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function xe(a){var b=a.ka(a.g[6]|a.Ea);a.g[6]=a.g[6]+2&65535;return b}function ve(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.wb(4,-2,c);a.vb(c,b)}
|
|
|
|
|
function Ae(a,b,c,d){var e,f,g=d&8?0:a.Ea;switch(b){case 0:return a.la(4,0,-3),0;case 1:return 6==c&&a.wb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.wb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ka(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.wb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ka(e)|g;a.b-=8;break;case 6:return e=a.ka(qe(a,2)),e=e+a.g[c]&65535,6==c&&a.wb(d,
|
|
|
|
|
0,e),a.b-=6,e|g;case 7:return e=a.ka(qe(a,2)),e=e+a.g[c]&65535,e=a.ka(e|a.Ea),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.O&&0>=b&&c<=this.Ba&&(this.i|=32)};h.Md=function(a,b,c){this.O||(65534<=c&&(c|=-65536),a&4&&c<=this.Ba&&(c<=this.Ba-32?this.la(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Md(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Md(this.F,a,2);return this.qc(a)};
|
|
|
|
|
h.pd=function(a,b){this.F&&Nd(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Nd(this.F,a,2);this.sc(a,b)};function mc(a,b){a.na++;b=a.D.Zb(kc(a,b,2));a.na--;return b}function Be(a,b){(b?--a.Vb:--a.Tb)||ie(a)}h.Od=function(a,b,c){return Ae(this,a,b,c)};h.kd=function(a,b,c){return kc(this,Ae(this,a,b,c),c)};h.od=function(a){return this.D.Zb(this.jb=a)};h.$e=function(a){this.F&&Md(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.Zb(this.jb=kc(this,a,2))};
|
|
|
|
|
h.af=function(a){this.F&&Md(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Lb(this.jb=a,b)};h.lg=function(a,b){this.F&&Nd(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Lb(this.jb=kc(this,a,4),b)};h.mg=function(a,b){this.F&&Nd(this.F,a,2);this.Hc(a,b)};function Ce(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=Ae(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.O=a.w>>12&3,c=a.ka(d|c&a.Ea),a.O=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c}
|
|
|
|
|
function De(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=Ae(a,b,e,4),c&65536||(e&=65535),a.O=a.w>>12&3,e=kc(a,e|c&65536,4),a.O=a.w>>14&3,a.Ob(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ee(a,b){b>>=6;var c=a.Y=b&7;return(b=a.V=(b&56)>>3)?a.Mb(a.va(b,c,3)):a.g[c+a.lc]&a.Sc}function Fe(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.V=(b&56)>>3)?c=a.Nb(a.va(b,d,2)):c=a.g[d+a.lc];return c}function Ge(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return Ae(a,b,c,8)}
|
|
|
|
|
function He(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Mb(a.va(b,c,3)):a.g[c]&255}function Ie(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Nb(a.va(b,d,2)):c=a.g[d];return c}function Je(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.hc=a.va(b,e,7),c=0>c?a.g[-c-1]&255:c,a.gc(e,d.call(a,c,a.Mb(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
|
|
|
|
|
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.va(b,e,6),a.Ob(e,d.call(a,0>c?a.g[-c-1]:c,a.Nb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function Ke(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.va(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.gc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
|
|
|
|
|
function ff(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.va(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Ob(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
|
|
|
|
|
h.$b=function(a){this.A.complete=!0;var b=this.F?gf(this.F)?1:this.A.fc?-1:0:0,c=a?this.A.fc?0:1:-1;this.A.fc=!1;this.Ya=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(hf(this.F,this.g[7],c)){this.Z();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.bb&224)>>5,f=this.ma&&this.ma.fb>e?this.ma:null;f&&(d=f.Yb,e=f.fb);e>(this.w&224)>>5?(this.i&8&&(qe(this,2),this.i&=-9),this.la(d,0,-10),e=!0):e=!1;e&&(f&&re(this,f),a=!0);this.ma||this.bb||(this.i&=-3)}else this.i&
|
|
|
|
|
1&&this.i++;if(a){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&se(this)){if(this.i&4&&hf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ka(a);this.g[7]=a+2&65535;this.Oc(f)}while(0<this.b);return this.A.complete?this.Ya-this.b:void 0===this.A.complete?0:-1};Xa(function(){for(var a=G(document,E,"cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fe(d);qb(d,c)}});
|
|
|
|
|
function jf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function kf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function lf(a,b){a=b<<1;te(this,a);return a&65535}function mf(a,b){a=b<<1;te(this,a<<8);return a&255}function nf(a,b){a=b&32768|b>>1|b<<16;te(this,a);return a&65535}function of(a,b){a=b&128|b>>1|b<<8;te(this,a<<8);return a&255}function pf(a,b){a=b&~a;this.Aa(a);return a}function qf(a,b){a=b&~a;this.Aa(a<<8);return a}
|
|
|
|
|
function rf(a,b){a|=b;this.Aa(a);return a}function sf(a,b){a|=b;this.Aa(a<<8);return a}function tf(a,b){a=~b|65536;this.gb(a);return a&65535}function uf(a,b){a=~b|256;this.gb(a<<8);return a&255}function vf(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function wf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function xf(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function yf(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
|
|
|
|
|
function zf(a,b){a=-b;this.gb(a,a&b&32768);return a&65535}function Af(a,b){a=-b;this.gb(a<<8,(a&b&128)<<8);return a&255}function Bf(a,b){a=b<<1|this.G>>16&1;te(this,a);return a&65535}function Cf(a,b){a=b<<1|this.G>>16&1;te(this,a<<8);return a&255}function Df(a,b){a=(this.G&65536|b)>>1|b<<16;te(this,a);return a&65535}function Ef(a,b){a=((this.G&65536)>>8|b)>>1|b<<8;te(this,a<<8);return a&255}function Ff(a,b){var c=b-a;ue(this,c,a,b);return c&65535}
|
|
|
|
|
function Gf(a,b){var c=b-a;ue(this,c<<8,a<<8,b<<8);return c&255}function Hf(a,b){this.I=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function If(a,b){a^=b;this.za(a);return a&65535}function Jf(a){T(this,a,Fe(this,a),jf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
|
|
|
|
|
function Gf(a,b){var c=b-a;ue(this,c<<8,a<<8,b<<8);return c&255}function Hf(a,b){this.I=this.L=b&65280;this.H=this.G=0;return(b<<8|b>>8)&65535}function If(a,b){a^=b;this.Aa(a);return a&65535}function Jf(a){T(this,a,Fe(this,a),jf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
|
|
|
|
|
function Kf(a){var b=Ie(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.G=this.H=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.G=c<<17-b,c>>=b;else if(b)if(16<b)this.H=c,c=0;else{this.G=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.H=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.v?6:7)+b}
|
|
|
|
|
function Lf(a){var b=Ie(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.G=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.G=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.v?6:7)+b}function Mf(a){S(this,a,!me(this))}function Nf(a){S(this,a,me(this))}
|
|
|
|
|
function Of(a){T(this,a,Fe(this,a),pf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Pf(a){Je(this,a,Ee(this,a),qf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Qf(a){T(this,a,Fe(this,a),rf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Rf(a){Je(this,a,Ee(this,a),sf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}
|
|
|
|
|
function Sf(a){var b=Fe(this,a);a=Ie(this,a);this.za((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Tf(a){var b=Ee(this,a);a=He(this,a);this.za(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Uf(a){S(this,a,oe(this))}function Vf(a){S(this,a,!pe(this)==!ne(this))}function Wf(a){S(this,a,!oe(this)&&!pe(this)==!ne(this))}function Xf(a){S(this,a,!me(this)&&!oe(this))}
|
|
|
|
|
function Yf(a){S(this,a,oe(this)||!pe(this)!=!ne(this))}function Zf(a){S(this,a,me(this)||oe(this))}function $f(a){S(this,a,!pe(this)!=!ne(this))}function ag(a){S(this,a,pe(this))}function bg(a){S(this,a,!oe(this))}function cg(a){S(this,a,!pe(this))}function dg(){this.ka(12,0,-9)}function eg(a){S(this,a,!0)}function fg(a){S(this,a,!ne(this))}function gg(a){S(this,a,ne(this))}function hg(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
|
|
|
|
|
function Sf(a){var b=Fe(this,a);a=Ie(this,a);this.Aa((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Tf(a){var b=Ee(this,a);a=He(this,a);this.Aa(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function Uf(a){S(this,a,oe(this))}function Vf(a){S(this,a,!pe(this)==!ne(this))}function Wf(a){S(this,a,!oe(this)&&!pe(this)==!ne(this))}function Xf(a){S(this,a,!me(this)&&!oe(this))}
|
|
|
|
|
function Yf(a){S(this,a,oe(this)||!pe(this)!=!ne(this))}function Zf(a){S(this,a,me(this)||oe(this))}function $f(a){S(this,a,!pe(this)!=!ne(this))}function ag(a){S(this,a,pe(this))}function bg(a){S(this,a,!oe(this))}function cg(a){S(this,a,!pe(this))}function dg(){this.la(12,0,-9)}function eg(a){S(this,a,!0)}function fg(a){S(this,a,!ne(this))}function gg(a){S(this,a,ne(this))}function hg(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
|
|
|
|
|
function ig(a){var b=Fe(this,a);a=Ie(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;ue(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}function jg(a){var b=Ee(this,a);a=He(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);ue(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.V?4:3)+(7==this.j?2:0)}
|
|
|
|
|
function kg(a){var b=Ie(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.G=65536,this.b-=7}function lg(){this.ka(24,0,-9);this.b-=20}
|
|
|
|
|
function mg(){this.w&49152?(this.R|=128,this.ka(4,0,-8)):(this.pa&&1120==this.Aa&&this.pa.setData(this.g[0],!0),this.F?ng(this.F):this.Z());this.b-=7}function og(){this.ka(16,0,-9);this.b-=20}var pg=[0,7,7,10,7,11,9,13];function qg(a){this.da=this.b;ke(this,Ge(this,a));this.b=this.da-pg[this.v]}var rg=[0,14,14,17,14,18,16,20];function sg(a){this.da=this.b;var b=Ge(this,a);a=a>>6&7;ve(this,this.g[a]);this.g[a]=this.g[7];ke(this,b);this.b=this.da-rg[this.v]}
|
|
|
|
|
var tg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function ug(a){var b=Fe(this,a);this.da=this.b;ff(this,a,b,this.za);this.b=this.da-tg[(this.V?8:0)+this.v]+(7!=this.j||this.v?0:2)}function vg(a){var b=Ee(this,a);Ke(this,a,b,65535,this.za);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}var wg=[7,13,13,17,14,18,17,21];
|
|
|
|
|
function xg(a){var b=Ie(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function yg(){this.b-=5}function zg(){this.w&49152||(this.D.reset(),ac(this),this.pa&&this.pa.setData(this.g[0],!0));this.b-=667}function Ag(a){if(a&8)U.call(this,a);else{var b=xe(this);a&=7;7==a?ke(this,b):(ke(this,this.g[a]),this.g[a]=b);this.b-=9}}
|
|
|
|
|
function Bg(){we(this);this.b-=13}function Cg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Dg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)ke(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Eg(a){T(this,a,Fe(this,a),Ff);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Fg(a){T(this,a,0,Hf);this.b-=this.v?9:3+(7==this.j?2:0)}function Gg(){this.ka(28,0,-9)}
|
|
|
|
|
function Hg(){this.pa&&(this.pa.Fc(this.g[7],!0),this.pa.setData(this.g[0],!0));this.i|=8;qe(this,-2);this.b-=3}function Ig(a){T(this,a,this.g[(a>>6&7)+this.lc],If);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,I(b,1)?(J(b,"undefined opcode "+O(b,a),!0,!0),b=ng(b)):b=!1;b||this.ka(8,0,-9)}function ge(a){Jg[a>>12].call(this,a)}function Kg(a){Lg[a>>6&3].call(this,a)}function Mg(a){Ng[a>>6&3].call(this,a)}function Og(a){Pg[a>>6&3].call(this,a)}
|
|
|
|
|
function kg(a){var b=Ie(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.G=65536,this.b-=7}function lg(){this.la(24,0,-9);this.b-=20}
|
|
|
|
|
function mg(){this.w&49152?(this.R|=128,this.la(4,0,-8)):(this.qa&&1120==this.ba&&this.qa.setData(this.g[0],!0),this.F?ng(this.F):this.Z());this.b-=7}function og(){this.la(16,0,-9);this.b-=20}var pg=[0,7,7,10,7,11,9,13];function qg(a){this.ga=this.b;ke(this,Ge(this,a));this.b=this.ga-pg[this.v]}var rg=[0,14,14,17,14,18,16,20];function sg(a){this.ga=this.b;var b=Ge(this,a);a=a>>6&7;ve(this,this.g[a]);this.g[a]=this.g[7];ke(this,b);this.b=this.ga-rg[this.v]}
|
|
|
|
|
var tg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function ug(a){var b=Fe(this,a);this.ga=this.b;ff(this,a,b,this.Aa);this.b=this.ga-tg[(this.V?8:0)+this.v]+(7!=this.j||this.v?0:2)}function vg(a){var b=Ee(this,a);Ke(this,a,b,65535,this.Aa);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}var wg=[7,13,13,17,14,18,17,21];
|
|
|
|
|
function xg(a){var b=Ie(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function yg(){this.b-=5}function zg(){this.w&49152||(this.D.reset(),ac(this),this.qa&&this.qa.setData(this.g[0],!0));this.b-=667}function Ag(a){if(a&8)U.call(this,a);else{var b=xe(this);a&=7;7==a?ke(this,b):(ke(this,this.g[a]),this.g[a]=b);this.b-=9}}
|
|
|
|
|
function Bg(){we(this);this.b-=13}function Cg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Dg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)ke(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Eg(a){T(this,a,Fe(this,a),Ff);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.V?5:3)+(7==this.j?2:0)}function Fg(a){T(this,a,0,Hf);this.b-=this.v?9:3+(7==this.j?2:0)}function Gg(){this.la(28,0,-9)}
|
|
|
|
|
function Hg(){this.qa&&(this.qa.Fc(this.g[7],!0),this.qa.setData(this.g[0],!0));this.i|=8;qe(this,-2);this.b-=3}function Ig(a){T(this,a,this.g[(a>>6&7)+this.lc],If);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,I(b,1)?(J(b,"undefined opcode "+O(b,a),!0,!0),b=ng(b)):b=!1;b||this.la(8,0,-9)}function ge(a){Jg[a>>12].call(this,a)}function Kg(a){Lg[a>>6&3].call(this,a)}function Mg(a){Ng[a>>6&3].call(this,a)}function Og(a){Pg[a>>6&3].call(this,a)}
|
|
|
|
|
function Qg(a){Rg[a&15].call(this,a)}function Sg(a){Tg[a&15].call(this,a)}function Ug(a){Vg[a>>6&3].call(this,a)}function Wg(a){Xg[a>>6&3].call(this,a)}function Yg(a){Zg[a>>6&3].call(this,a)}
|
|
|
|
|
var Jg=[function(a){$g[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,U,function(a){ah[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],$g=[function(a){bh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,U,U,U],Lg=[function(a){ff(this,a,0,this.gb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,tf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,xf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,vf);this.b-=this.v?9:3+(7==this.j?2:0)}],Ng=[function(a){T(this,a,0,zf);
|
|
|
|
|
this.b-=this.v?11:6},function(a){T(this,a,me(this)?1:0,jf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,me(this)?1:0,Ff);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=Ie(this,a);this.gb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Pg=[function(a){T(this,a,0,Df);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Bf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,nf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,lf);this.b-=this.v?9:3+(7==this.j?2:0)}],bh=
|
|
|
|
|
[function(a){ch[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,U,Qg,Sg,Fg,Fg,Fg,Fg],ch=[mg,Hg,Bg,dg,og,zg,U,U,U,U,U,U,U,U,U,U],Rg=[yg,function(){this.G=0;this.b-=5},function(){this.H=0;this.b-=5},hg,function(){this.L=1;this.b-=5},hg,hg,hg,function(){this.I=0;this.b-=5},hg,hg,hg,hg,hg,hg,hg],Tg=[yg,function(){this.G=65536;this.b-=5},function(){this.H=32768;this.b-=5},Cg,function(){this.L=0;this.b-=5},Cg,Cg,Cg,function(){this.I=32768;this.b-=5},Cg,Cg,Cg,Cg,Cg,Cg,Cg],ah=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,
|
|
|
|
|
Yg,U,U,U],Vg=[function(a){Ke(this,a,0,255,this.gb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,0,uf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,1,yf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,1,wf);this.b-=this.v?9:3+(7==this.j?2:0)}],Xg=[function(a){Je(this,a,0,Af);this.b-=this.v?11:6},function(a){Je(this,a,me(this)?1:0,kf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,me(this)?1:0,Gf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=He(this,
|
|
|
|
|
a);this.gb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],Zg=[function(a){Je(this,a,0,Ef);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Je(this,a,0,Cf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){Je(this,a,0,of);this.b-=this.v?9+(this.hc&1):3+(7==this.j?2:0)},function(a){Je(this,a,0,mf);this.b-=this.v?9:3+(7==this.j?2:0)}];function he(a){dh[a>>12].call(this,a)}
|
|
|
|
|
var dh=[function(a){eh[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,function(a){fh[a>>8&15].call(this,a)},function(a){gh[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],eh=[function(a){hh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,function(a){ih[a>>6&3].call(this,a)},U,U],ih=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ja(a|this.Ea);ke(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Ce(this,a,0);this.za(a);ve(this,a);this.b-=11},function(a){var b=xe(this);
|
|
|
|
|
this.da=this.b;this.za(b);De(this,a,0,b);this.b=this.da-wg[this.v]},function(a){ff(this,a,pe(this)?65535:0,this.za);this.b-=this.v?9:3+(7==this.j?2:0)}],hh=[function(a){jh[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,function(a){a&8?(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5):U.call(this,a)},Qg,Sg,Fg,Fg,Fg,Fg],jh=[mg,Hg,function(){we(this);this.i|=this.w&16;this.b-=13},dg,og,zg,Bg,function(){this.ka(8,0,-9)},U,U,U,U,U,U,U,U],fh=[xg,xg,kg,kg,Kf,Kf,Lf,Lf,Ig,Ig,U,U,U,U,Dg,
|
|
|
|
|
Dg],gh=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,Yg,function(a){kh[a>>6&3].call(this,a)},U,U],kh=[U,function(a){a=Ce(this,a,65536);this.za(a);ve(this,a);this.b-=11},function(a){var b=xe(this);this.da=this.b;this.za(b);De(this,a,65536,b);this.b=this.da-wg[this.v]},U];
|
|
|
|
|
function lh(a){A.call(this,"ROM",a,0,128);this.ea=this.g=null;this.v=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.C=x(this.j);if(this.j){a=this.j;var b=oa(this.C);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.ea=a.ea):c.j=null);mh(c)})}}p(lh,A);
|
|
|
|
|
h=lh.prototype;h.ra=function(a,b,c,d){this.D=b;this.f=c;this.F=d;mh(this)};h.sa=function(){this.ea&&(this.F&&nh(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.Ca=function(){return!0};
|
|
|
|
|
var dh=[function(a){eh[a>>8&15].call(this,a)},ug,ig,Sf,Of,Qf,Jf,function(a){fh[a>>8&15].call(this,a)},function(a){gh[a>>8&15].call(this,a)},vg,jg,Tf,Pf,Rf,Eg,U],eh=[function(a){hh[a>>4&15].call(this,a)},eg,bg,Uf,Vf,$f,Wf,Yf,sg,sg,Kg,Mg,Og,function(a){ih[a>>6&3].call(this,a)},U,U],ih=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ka(a|this.Ea);ke(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Ce(this,a,0);this.Aa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);
|
|
|
|
|
this.ga=this.b;this.Aa(b);De(this,a,0,b);this.b=this.ga-wg[this.v]},function(a){ff(this,a,pe(this)?65535:0,this.Aa);this.b-=this.v?9:3+(7==this.j?2:0)}],hh=[function(a){jh[a&15].call(this,a)},U,U,U,qg,qg,qg,qg,Ag,function(a){!(a&8)||1145>this.ba?U.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},Qg,Sg,Fg,Fg,Fg,Fg],jh=[mg,Hg,function(){we(this);this.i|=this.w&16;this.b-=13},dg,og,zg,Bg,function(){this.la(8,0,-9)},U,U,U,U,U,U,U,U],fh=[xg,xg,kg,kg,Kf,Kf,Lf,Lf,
|
|
|
|
|
Ig,Ig,U,U,U,U,Dg,Dg],gh=[cg,ag,Xf,Zf,fg,gg,Mf,Nf,lg,Gg,Ug,Wg,Yg,function(a){1145>this.ba?U.call(this,a):kh[a>>6&3].call(this,a)},U,U],kh=[U,function(a){a=Ce(this,a,65536);this.Aa(a);ve(this,a);this.b-=11},function(a){var b=xe(this);this.ga=this.b;this.Aa(b);De(this,a,65536,b);this.b=this.ga-wg[this.v]},U];
|
|
|
|
|
function lh(a){A.call(this,"ROM",a,0,128);this.ea=this.g=null;this.v=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.C=x(this.j);if(this.j){a=this.j;var b=oa(this.C);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ca,c.ea=a.ea):c.j=null);mh(c)})}}p(lh,A);
|
|
|
|
|
h=lh.prototype;h.sa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;mh(this)};h.ta=function(){this.ea&&(this.F&&nh(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.Ca=function(){return!0};
|
|
|
|
|
function mh(a){if(!tb(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)rb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.v;a.status(a.b+"-byte ROM at "+q(b));if(57344<=b&&b<57344+Fc){var c={};b=(c[b]=[lh.prototype.Me,lh.prototype.Wf,null,null,null,a.b>>1],c);if(Pb(a.D,a,b)){b=a.w=!0;break a}}else if(Lc(a.D,b,a.b,td)){for(c=0;c<a.g.length;c++)Tc(a.D,b+c,a.g[c]);b=!0;break a}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.D,g=d.b,k=[],l=d.v>>>f.g;0<g&&l<f.b.length;)k.push(f.b[l++]),g-=f.j;f=d.D;d=d.b;g=0;for(e>>>=f.g;0<d&&e<f.b.length;){l=k[g++];if(!l)break;f.b[e++]=l;d-=f.j}}a.w||delete a.g}}}H(a)}}h.Me=function(a){return this.g[a-this.v]};h.Wf=function(){};Xa(function(){for(var a=G(document,E,"rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new lh(d);qb(d,c)}});
|
|
|
|
|
function oh(a){A.call(this,"RAM",a);this.ea=this.g=null;this.i=+a.addr;this.j=+a.size;this.wa=a.load;this.va=a.exec;null!=this.wa&&(this.wa=+this.wa);null!=this.va&&(this.va=+this.va);this.v=!1;this.b=a.file;this.w=x(this.b);if(this.b){a=this.b;var b=oa(this.w);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ba,c.ea=a.ea,
|
|
|
|
|
null==c.wa&&(c.wa=a.wa),null==c.va&&(c.va=a.va)):c.b=null);ph(c)})}}p(oh,A);oh.prototype.ra=function(a,b,c,d){this.D=b;this.f=c;this.F=d;ph(this)};oh.prototype.sa=function(){this.ea&&(this.F&&nh(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};oh.prototype.Ca=function(){return!0};
|
|
|
|
|
function ph(a){if(a.D&&(!a.v&&a.j&&(Lc(a.D,a.i,a.j,Wc)?a.v=!0:a.j=0),!tb(a))){if(!a.v)y("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;qh(a,a.g,a.wa,a.va,a.i)?a.status('Loaded image "'+a.w+'"'):a.M('Error loading image "'+a.w+'"')}H(a)}}
|
|
|
|
|
oh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(wb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&qh(this,this.g,this.wa,this.va,this.i,!0)}};
|
|
|
|
|
function oh(a){A.call(this,"RAM",a);this.ea=this.g=null;this.i=+a.addr;this.j=+a.size;this.xa=a.load;this.wa=a.exec;null!=this.xa&&(this.xa=+this.xa);null!=this.wa&&(this.wa=+this.wa);this.v=!1;this.b=a.file;this.w=x(this.b);if(this.b){a=this.b;var b=oa(this.w);"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Aa(a,null,!0,function(a,b,f){f?(c.M("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(gb(c.lb,a,b),(a=Ba(a,b))?(c.g=a.ca,c.ea=a.ea,
|
|
|
|
|
null==c.xa&&(c.xa=a.xa),null==c.wa&&(c.wa=a.wa)):c.b=null);ph(c)})}}p(oh,A);oh.prototype.sa=function(a,b,c,d){this.D=b;this.f=c;this.F=d;ph(this)};oh.prototype.ta=function(){this.ea&&(this.F&&nh(this.F,this.id,this.i,this.j,this.ea),delete this.ea);return!0};oh.prototype.Ca=function(){return!0};
|
|
|
|
|
function ph(a){if(a.D&&(!a.v&&a.j&&(Lc(a.D,a.i,a.j,Wc)?a.v=!0:a.j=0),!tb(a))){if(!a.v)y("No RAM allocated");else if(a.b){if(!a.g||!a.D)return;qh(a,a.g,a.xa,a.wa,a.i)?a.status('Loaded image "'+a.w+'"'):a.M('Error loading image "'+a.w+'"')}H(a)}}
|
|
|
|
|
oh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(wb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&qh(this,this.g,this.xa,this.wa,this.i,!0)}};
|
|
|
|
|
function qh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){J(a,"invalid signature ("+w(m)+") at offset "+w(n),4096);break}if(l+6>=b.length){J(a,"invalid block at offset "+w(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,D=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){J(a,"insufficient data for block at offset "+w(n),4096);break}m+=
|
|
|
|
|
b[l++]&255;if(m&255){J(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+w(n),4096);break}if(D)for(J(a,"loading "+w(D)+" bytes at "+w(u)+"-"+w(u+D),4096);D--;)Tc(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&J(a,"starting address: "+w(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)Tc(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.Z(),f=!1;null!=d&&je(a.f,d,f)}return k}
|
|
|
|
|
Xa(function(){for(var a=G(document,E,"ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new oh(d);qb(d,c)}});function rh(a){A.call(this,"Keyboard",a,0,1024);H(this)}p(rh,A);rh.prototype.oa=function(){return!1};rh.prototype.ra=function(a,b,c,d){this.J=a;this.f=c;this.F=d};Xa(function(){for(var a=G(document,E,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new rh(d);qb(d,c)}});
|
|
|
|
|
function sh(a){A.call(this,"SerialPort",a,0,262144);this.N=+a.adapter;this.T=+a.baudReceive||9600;this.da=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.X=+a.tabSize;this.V=+a.charBOL;this.C=0;this.I=!0;this.R=this.O=null;this.S=this.Y=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=th;b&&(void 0===c&&(c="Panel"),(c=pb(c,this.id))&&(b=c.B[b])&&this.oa(null,a,b))}this.i=this.H=this.P=null;
|
|
|
|
|
Xa(function(){for(var a=G(document,E,"ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new oh(d);qb(d,c)}});function rh(a){A.call(this,"Keyboard",a,0,1024);H(this)}p(rh,A);rh.prototype.pa=function(){return!1};rh.prototype.sa=function(a,b,c,d){this.J=a;this.f=c;this.F=d};Xa(function(){for(var a=G(document,E,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new rh(d);qb(d,c)}});
|
|
|
|
|
function sh(a){A.call(this,"SerialPort",a,0,262144);this.N=+a.adapter;this.T=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.X=+a.tabSize;this.V=+a.charBOL;this.C=0;this.I=!0;this.R=this.O=null;this.S=this.Y=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=th;b&&(void 0===c&&(c="Panel"),(c=pb(c,this.id))&&(b=c.B[b])&&this.pa(null,a,b))}this.i=this.H=this.P=null;
|
|
|
|
|
this.exports={connect:this.md,receiveData:this.cc,receiveStatus:this.ff,setConnection:this.jf}}p(sh,A);h=sh.prototype;
|
|
|
|
|
h.oa=function(a,b,c){var d=this;switch(b){case th:return this.B[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ka.Lc:ka.xd:46==c?b=ka.Lc:a.ctrlKey&&c>=ka.Ic&&c<=ka.Gd&&(b=c-(ka.Ic-ka.ud));b&&(a.preventDefault&&a.preventDefault(),d.cc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ka.wd&&(b=ka.vd);d.cc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
|
|
|
|
h.pa=function(a,b,c){var d=this;switch(b){case th:return this.B[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ka.Lc:ka.xd:46==c?b=ka.Lc:a.ctrlKey&&c>=ka.Ic&&c<=ka.Gd&&(b=c-(ka.Ic-ka.ud));b&&(a.preventDefault&&a.preventDefault(),d.cc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ka.wd&&(b=ka.vd);d.cc(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.cc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
|
|
|
|
|
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=cd(this.f,this.N?-1:48,4,262144);this.S=$c(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,J(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),bd(e.f,e.S,1E3/Math.round(e.T/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&ad(c,e.R))});this.O=cd(this.f,this.N?-1:52,4,262144);this.Y=$c(this.f,function(){e.g|=128;e.g&64&&ad(c,e.O)});Pb(b,this,uh,this.N?64832+8*(this.N-1)-65392:0);Rb(b,this.reset.bind(this));
|
|
|
|
|
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=cd(this.f,this.N?-1:48,4,262144);this.S=$c(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,J(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),bd(e.f,e.S,1E3/Math.round(e.T/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&ad(c,e.R))});this.O=cd(this.f,this.N?-1:52,4,262144);this.Y=$c(this.f,function(){e.g|=128;e.g&64&&ad(c,e.O)});Pb(b,this,uh,this.N?64832+8*(this.N-1)-65392:0);Rb(b,this.reset.bind(this));
|
|
|
|
|
H(this)};h.md=function(a){if(!this.i){var b=Sd(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.kb)return;c=ua(c[1]);if(this.i=ob(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status(this.lb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
|
|
|
|
|
h.sa=function(a,b){if(!b)if(this.md(this.I),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){vh(this)};h.save=function(){var a=new le(this);a.set(0,[]);return a.data()};h.restore=function(){return vh(this)};function vh(a){a.G=0;a.b=8192;a.g=128;a.v=[];return!0}
|
|
|
|
|
h.ta=function(a,b){if(!b)if(this.md(this.I),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){vh(this)};h.save=function(){var a=new le(this);a.set(0,[]);return a.data()};h.restore=function(){return vh(this)};function vh(a){a.G=0;a.b=8192;a.g=128;a.v=[];return!0}
|
|
|
|
|
h.cc=function(a){if("number"==typeof a)this.v.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.v.push(b)}else this.v=this.v.concat(a);bd(this.f,this.S,1E3/Math.round(this.T/10));return!0};h.ff=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&ad(this.f,this.R))};h.jf=function(a,b){return this.i?!1:(this.i=a,this.H=b,!0)};
|
|
|
|
|
h.ze=function(){var a=this.b&65534;this.b&=-32769;return a};h.Jf=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.P&&b&6&&(b=0,b=this.I?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.P.call(this.i,b))};h.ye=function(){this.b&=-129;return this.G};h.If=function(){};h.ef=function(){return this.g};h.og=function(a){this.g&128&&(a&64?ad(this.f,this.O):gd(this.f,this.O));this.g=this.g&-70|a&69};h.df=function(){return 0};
|
|
|
|
|
h.ng=function(a){a&=255;J(this,"transmitByte("+v(a,2,!0)+")");this.H&&this.H.call(this.i,a);a&=127;if(this.j)if(13==a)this.C=0;else if(8==a)this.j.value=this.j.value.slice(0,-1),0<this.C&&this.C--;else{if(a){var b;13!=a&&10!=a&&(b=va[a]);b=b?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.X||8,c=a-this.C%a,this.X&&(b=ta("",c)));this.V&&!this.C&&c&&(b=String.fromCharCode(this.V)+b);this.j.value+=b;this.j.scrollTop=this.j.scrollHeight;this.C+=c}}else if(null!=this.w){if(10==
|
|
|
|
|
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}bd(this.f,this.Y,1E3/Math.round(this.da/10));this.g&=-129};var th="buffer",wh={},uh=(wh[65392]=[null,null,sh.prototype.ze,sh.prototype.Jf,"RCSR"],wh[65394]=[null,null,sh.prototype.ye,sh.prototype.If,"RBUF"],wh[65396]=[null,null,sh.prototype.ef,sh.prototype.og,"XCSR"],wh[65398]=[null,null,sh.prototype.df,sh.prototype.ng,"XBUF"],wh);
|
|
|
|
|
Xa(function(){for(var a=G(document,E,"serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new sh(d);qb(d,c)}});function pd(a){A.call(this,"PC11",a);this.N=xh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=yh;this.i=zh;this.L=this.j="";this.ba=this.wa=this.va=null;this.P=-1;this.O=!Na("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(pd,A);
|
|
|
|
|
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}bd(this.f,this.Y,1E3/Math.round(this.ba/10));this.g&=-129};var th="buffer",wh={},uh=(wh[65392]=[null,null,sh.prototype.ze,sh.prototype.Jf,"RCSR"],wh[65394]=[null,null,sh.prototype.ye,sh.prototype.If,"RBUF"],wh[65396]=[null,null,sh.prototype.ef,sh.prototype.og,"XCSR"],wh[65398]=[null,null,sh.prototype.df,sh.prototype.ng,"XBUF"],wh);
|
|
|
|
|
Xa(function(){for(var a=G(document,E,"serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new sh(d);qb(d,c)}});function pd(a){A.call(this,"PC11",a);this.N=xh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.C=this.G=this.b=0;this.w=[];this.v=yh;this.i=zh;this.L=this.j="";this.ca=this.xa=this.wa=null;this.P=-1;this.O=!Na("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(pd,A);
|
|
|
|
|
function xh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=pd.prototype;
|
|
|
|
|
h.oa=function(a,b,c){var d=this,e=zh;switch(b){case "listTapes":return this.B[b]=c,c.onchange=function(){var a=d.B.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.B[b]=c,!0;case "readTape":e=Ah;case "loadTape":return e||(e=Bh),this.B[b]=c,c.onclick=
|
|
|
|
|
h.pa=function(a,b,c){var d=this,e=zh;switch(b){case "listTapes":return this.B[b]=c,c.onchange=function(){var a=d.B.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.B[b]=c,!0;case "readTape":e=Ah;case "loadTape":return e||(e=Bh),this.B[b]=c,c.onclick=
|
|
|
|
|
function(){var a=d.B.listTapes;a&&Ch(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.B[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ch(d,x(b,!0),b,Bh,a)}return!1};return!0;case Dh:return this.B[b]=c,!0}return!1};
|
|
|
|
|
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Eh(a);var e=this;if(a=xh(this,Sd(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.H=cd(this.f,56,4,4096);this.R=$c(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Fh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&ad(e.f,e.H))});Pb(b,this,Gh);Rb(b,this.reset.bind(this));Hh(this,"None",yh,!0);this.O&&Hh(this,"Local Tape",Ih);Hh(this,"Remote Tape",Jh);Kh(this)||H(this)};
|
|
|
|
|
h.sa=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Kh(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.B.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=x(c,!0)}c&&b?Lh(a,b,c,Bh,!0):Mh(a)}return!!a.g}
|
|
|
|
|
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Eh(a);var e=this;if(a=xh(this,Sd(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.H=cd(this.f,56,4,4096);this.R=$c(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.C<e.w.length&&(e.G=e.w[e.C++]&255,Fh(e,e.C/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&ad(e.f,e.H))});Pb(b,this,Gh);Rb(b,this.reset.bind(this));Hh(this,"None",yh,!0);this.O&&Hh(this,"Local Tape",Ih);Hh(this,"Remote Tape",Jh);Kh(this)||H(this)};
|
|
|
|
|
h.ta=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Kh(a){a.g=0;var b=a.N.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.B.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=x(c,!0)}c&&b?Lh(a,b,c,Bh,!0):Mh(a)}return!!a.g}
|
|
|
|
|
function Ch(a,b,c,d,e){if(c)if(c==Ih)a.M('Use "Choose File" and "Mount" to select and load a local tape.');else{if(c==Jh){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"');a.v=Jh}else a.v=c;Lh(a,b,c,d,!1,e)}else Nh(a,!1)}
|
|
|
|
|
function Lh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Nh(a,!0),a.A.cb?a.M("PC11 busy"):(e&&(a.g++,I(a)&&J(a,"auto-loading tape: "+b)),Oh(a,b,c,d,f)?g++:a.A.cb=!0);g&&Ph(a,a.L,a.j,a.i,a.ba,a.wa,a.va)}
|
|
|
|
|
function Oh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Ph(a,b,c,d,e),a.v=Ih);Mh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Ca()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Aa(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.M('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(gb(a.lb,e,f),(e=Ba(e,f))&&Ph(a,b,c,d,e.ba,e.wa,
|
|
|
|
|
e.va));a.A.cb=!1;a.g&&(a.g--,a.g||H(a));Mh(a)})}function Hh(a,b,c,d){if((a=a.B.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
|
|
|
|
function Lh(a,b,c,d,e,f){var g=-1;if(a.j.toLowerCase()!=c.toLowerCase()||a.i!=d)g++,Nh(a,!0),a.A.cb?a.M("PC11 busy"):(e&&(a.g++,I(a)&&J(a,"auto-loading tape: "+b)),Oh(a,b,c,d,f)?g++:a.A.cb=!0);g&&Ph(a,a.L,a.j,a.i,a.ca,a.xa,a.wa)}
|
|
|
|
|
function Oh(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Ph(a,b,c,d,e),a.v=Ih);Mh(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=oa(c),f="json"==e||"gz"==e?encodeURI(c):Ca()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Aa(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.fa;g?a.M('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(gb(a.lb,e,f),(e=Ba(e,f))&&Ph(a,b,c,d,e.ca,e.xa,
|
|
|
|
|
e.wa));a.A.cb=!1;a.g&&(a.g--,a.g||H(a));Mh(a)})}function Hh(a,b,c,d){if((a=a.B.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
|
|
|
|
function Mh(a){var b=a.B.listTapes;if(b&&b.options){a=a.v||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Fh(a,b){b|=0;if(b!==a.P){var c=a.B[Dh];c&&(c=(c=G(c,Qh))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
|
|
|
|
|
function Ph(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ba=e;a.wa=f;a.va=g;d==Ah?a.I&&qh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.M('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Fh(a,0))}function Nh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Bh?"tape detached":"tape unloaded"),a.v=yh,a.i=zh,Mh(a))}h.save=function(){return(new le(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
|
|
|
|
|
function Ph(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.xa=f;a.wa=g;d==Ah?a.I&&qh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.M('No valid memory address for tape "'+b+'"'):(a.C=0,a.w=e,a.status('Loaded tape "'+b+'"'),Fh(a,0))}function Nh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Bh?"tape detached":"tape unloaded"),a.v=yh,a.i=zh,Mh(a))}h.save=function(){return(new le(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
|
|
|
|
|
h.Cf=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&ad(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,bd(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.re=function(){this.b&=-129;this.b|=2048;return this.G};h.Bf=function(){};var yh="",Ih="?",Jh="??",zh=0,Bh=1,Ah=2,Dh="readProgress",Qh="pcjs-progress-bar",Rh={},Gh=(Rh[65384]=[null,null,pd.prototype.se,pd.prototype.Cf,"PRS"],Rh[65386]=[null,null,pd.prototype.re,pd.prototype.Bf,"PRB"],Rh);
|
|
|
|
|
function Sh(a,b,c){A.call(this,"Disk",{id:a.lb+".disk"+v(++Th,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.ya=this.ec="";this.ac=b.ac;this.W=this.ca=this.aa=this.na=this.mode=0;this.b=[];this.i=null;this.j=!1;Uh(this,c,b.W,b.ca,b.aa,b.na);this.g=this.w=null;H(this)}p(Sh,A);h=Sh.prototype;h.ra=function(a,b,c,d){this.F=d};
|
|
|
|
|
function Uh(a,b,c,d,e,f){a.mode=b;a.W=c;a.ca=d;a.aa=e;a.na=f;a.b=[];if("preload"!=a.mode){b=Array(a.W);for(c=0;c<b.length;c++){d=Array(a.ca);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=Vh(null,c,e,g,a.na,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
|
|
|
|
|
function Wh(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.ya=c;a.ec=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ja[d];if(e){a.W=e[0];a.ca=e[1];a.aa=e[2];a.na=e[3]||512;c=a.na>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.W);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.ca),t=0;t<u.length;t++)for(var D=u[t]=Array(a.aa),z=0;z<D.length;z++){for(var C=Vh(null,d,t,z+1,a.na,0),F=C.data,fb=0;fb<c;fb++,f+=4)var V=F[fb]=b.getInt32(f,!0),
|
|
|
|
|
e=e+V&-1;C.Ja=c;D[z]=C}a.i=e;c=a}else a.M("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.ya),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Ca()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ac?"":e)+"&format=json"));return!!Aa(f,null,
|
|
|
|
|
function Sh(a,b,c){A.call(this,"Disk",{id:a.lb+".disk"+v(++Th,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.za=this.ec="";this.ac=b.ac;this.W=this.da=this.aa=this.oa=this.mode=0;this.b=[];this.i=null;this.j=!1;Uh(this,c,b.W,b.da,b.aa,b.oa);this.g=this.w=null;H(this)}p(Sh,A);h=Sh.prototype;h.sa=function(a,b,c,d){this.F=d};
|
|
|
|
|
function Uh(a,b,c,d,e,f){a.mode=b;a.W=c;a.da=d;a.aa=e;a.oa=f;a.b=[];if("preload"!=a.mode){b=Array(a.W);for(c=0;c<b.length;c++){d=Array(a.da);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=Vh(null,c,e,g,a.oa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
|
|
|
|
|
function Wh(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.za=c;a.ec=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ja[d];if(e){a.W=e[0];a.da=e[1];a.aa=e[2];a.oa=e[3]||512;c=a.oa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.W);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.da),t=0;t<u.length;t++)for(var D=u[t]=Array(a.aa),z=0;z<D.length;z++){for(var C=Vh(null,d,t,z+1,a.oa,0),F=C.data,fb=0;fb<c;fb++,f+=4)var V=F[fb]=b.getInt32(f,!0),
|
|
|
|
|
e=e+V&-1;C.Ja=c;D[z]=C}a.i=e;c=a}else a.M("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.za),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=oa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):pa(c,"/")&&(d="dir"),f=Ca()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ac?"":e)+"&format=json"));return!!Aa(f,null,
|
|
|
|
|
!0,function(b,c,d){Xh(a,b,c,d)})}
|
|
|
|
|
function Xh(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.M('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{gb(a.controller.lb,b,c);try{if(0<x(a.ec,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
|
|
|
|
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.W=k.length;a.ca=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.na=l&&l.length||512;for(d=c=0;d<a.W;d++)for(f=0;f<a.ca;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,D=u.length;D<t;D++)u[D]=n;Yh(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Vh(l,d,f);for(t=
|
|
|
|
|
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else y("Empty disk image: "+a.Na)}catch(z){y("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.ya),a.g=null)}function Vh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Ta=!1;return a}
|
|
|
|
|
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.ca)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=Vh(null,a,b,g+1,f.Bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.yc&&(d=k[g]=Vh(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function Yh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
|
|
|
|
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.W=k.length;a.da=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.oa=l&&l.length||512;for(d=c=0;d<a.W;d++)for(f=0;f<a.da;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,D=u.length;D<t;D++)u[D]=n;Yh(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}Vh(l,d,f);for(t=
|
|
|
|
|
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else y("Empty disk image: "+a.Na)}catch(z){y("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.za),a.g=null)}function Vh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Ta=!1;return a}
|
|
|
|
|
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.da)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=Vh(null,a,b,g+1,f.Bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.yc&&(d=k[g]=Vh(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function Yh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
|
|
|
|
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ja?f<a.Ra?(a.Ja+=a.Ra-f,a.Ra=f):f>=a.Ra+a.Ja&&(a.Ja+=f-(a.Ra+a.Ja)+1):(a.Ra=f,a.Ja=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
|
|
|
|
function Zh(a,b){var c=a.ca*a.aa,d=b/c|0;return d<a.W?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function $h(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ai(a){for(var b="",c=0,d;d=Zh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode($h(a,d,e));return btoa(b)}
|
|
|
|
|
h.save=function(){var a=0,b=[];b[a++]=[this.ya,this.i,this.W,this.ca,this.aa,this.na];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
|
|
|
|
|
function Zh(a,b){var c=a.da*a.aa,d=b/c|0;return d<a.W?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function $h(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function ai(a){for(var b="",c=0,d;d=Zh(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode($h(a,d,e));return btoa(b)}
|
|
|
|
|
h.save=function(){var a=0,b=[];b[a++]=[this.za,this.i,this.W,this.da,this.aa,this.oa];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
|
|
|
|
|
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?Uh(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
|
|
|
|
|
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.M("Unable to restore disk '"+this.Na+": "+c);return b};
|
|
|
|
|
h.toJSON=function(){var a;a=0;for(var b;b=Zh(this,a++);)bi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
|
|
|
|
function bi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Th=0;function R(a){A.call(this,"RK11",a,0,65536);this.G=ci(this,a.autoMount);this.C=0;this.i=Array(8);this.H=!Na("Mobi")&&window&&"FileReader"in window;this.eb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.I=0}p(R,A);
|
|
|
|
|
function ci(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
|
|
|
|
|
h.oa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&di(d,
|
|
|
|
|
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&ei(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.M("Unable to boot the selected drive"):a.ha?(je(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
|
|
|
|
|
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.i&&((a=d.i[la(a.value,10)||0])?(a=a.ha)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ei(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
|
|
|
|
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ci(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);yi(this);this.eb=cd(this.f,144,5,65536);Pb(b,this,Ai);Rb(b,this.reset.bind(this));Bi(this,"None",Ci,!0);this.H&&Bi(this,"Local Disk",Di);Bi(this,"Remote Disk",Ei);Fi(this)||H(this)};
|
|
|
|
|
h.sa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.i.length;a++)Gi(this,a,!0);Fi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";di(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){yi(this)};h.save=function(){return(new le(this)).data()};
|
|
|
|
|
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&di(d,
|
|
|
|
|
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&ei(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.M("Unable to boot the selected drive"):a.ia?(je(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
|
|
|
|
|
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.i&&((a=d.i[la(a.value,10)||0])?(a=a.ia)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ei(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
|
|
|
|
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ci(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);yi(this);this.eb=cd(this.f,144,5,65536);Pb(b,this,Ai);Rb(b,this.reset.bind(this));Bi(this,"None",Ci,!0);this.H&&Bi(this,"Local Disk",Di);Bi(this,"Remote Disk",Ei);Fi(this)||H(this)};
|
|
|
|
|
h.ta=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.i.length;a++)Gi(this,a,!0);Fi(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;8>b;b++){var c=document.createElement("option");c.value=b;c.text="RK"+b;a.appendChild(c)}a.value="0";di(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){yi(this)};h.save=function(){return(new le(this)).data()};
|
|
|
|
|
h.restore=function(a){return yi(this,a[0])};function Fi(a,b){b||(a.C=0);for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.i.length)){!Hi(a,g,f,e,!0)&&b&&H(a,!1);continue}a.M("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.C}
|
|
|
|
|
function ei(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.i.length)a.M("Unable to load the selected drive");else if(c)if(c==Di)a.M('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Ei){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Hi(a,e,b,c,!1,d)}else Gi(a,e)}
|
|
|
|
|
function Hi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.ya.toLowerCase()!=d.toLowerCase()&&(g++,Gi(a,b,!0),k.qb?a.M("RK11 busy"):(k.qb=!0,e&&(k.pb=!0,a.C++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
|
|
|
|
|
h.Ad=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.M('Disk "'+c+'" too large for drive '+("RK"+a.rb)),b=null);b?(a.ha=b,a.Na=c,a.ya=d,this.M('Loaded disk "'+c+'" in drive '+("RK"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.C||H(this));di(this,a.rb)};
|
|
|
|
|
function Hi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.za.toLowerCase()!=d.toLowerCase()&&(g++,Gi(a,b,!0),k.qb?a.M("RK11 busy"):(k.qb=!0,e&&(k.pb=!0,a.C++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Ad)&&g++));return g}
|
|
|
|
|
h.Ad=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.da>a.da)&&(this.M('Disk "'+c+'" too large for drive '+("RK"+a.rb)),b=null);b?(a.ia=b,a.Na=c,a.za=d,this.M('Loaded disk "'+c+'" in drive '+("RK"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.C||H(this));di(this,a.rb)};
|
|
|
|
|
function Bi(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
|
|
|
|
function di(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Di:c.ya,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Gi(a,b,c){var d=a.i[b];if(d.ha||!1===c)d.Na="",d.ya="",d.ha=null,d.Ua=!1,c||(a.M("Drive RK"+b+" unloaded",c),di(a,b))}
|
|
|
|
|
function yi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.I=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=203;d.ca=2;d.aa=12;d.na=512;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.na;d.Pd=0;d.hf=null;d.ha||(d.ya="");d.status=2368}return!0}
|
|
|
|
|
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ha;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(jc(this.D,ye(this.f,f),u|t<<8),Zc(this.D))){m=1024;break}r>=a.na&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
|
|
|
|
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ha;var n=null,r;a||(m=128,e=0);for(;e;){var u=lc(this.D,ye(this.f,f));if(Zc(this.D)){m=1024;break}if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b))}if(k){var t,D;if(0>(t=a.read(n,r++))||0>(D=a.read(n,r++))){m=32;break}if(u!=(t|D<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.na&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
|
|
|
|
function di(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Di:c.za,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Gi(a,b,c){var d=a.i[b];if(d.ia||!1===c)d.Na="",d.za="",d.ia=null,d.Ua=!1,c||(a.M("Drive RK"+b+" unloaded",c),di(a,b))}
|
|
|
|
|
function yi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.I=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=203;d.da=2;d.aa=12;d.oa=512;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.za="");d.status=2368}return!0}
|
|
|
|
|
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(jc(this.D,ye(this.f,f),u|t<<8),Zc(this.D))){m=1024;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
|
|
|
|
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){var u=lc(this.D,ye(this.f,f));if(Zc(this.D)){m=1024;break}if(!n){if(b>=a.W){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}if(k){var t,D;if(0>(t=a.read(n,r++))||0>(D=a.read(n,r++))){m=32;break}if(u!=(t|D<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
|
|
|
|
|
h.zd=function(a,b,c,d,e,f){this.v=f&65535;this.b=this.b&-49|f>>12&48;this.w=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Ii(this);return!0};function Ii(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),I(a)&&J(a,a.type+": ERROR: "+q(a.g)))}h.Ee=function(){return this.L};h.Of=function(){};h.Fe=function(){return this.g};h.Pf=function(){};h.Be=function(){return this.b&61438};
|
|
|
|
|
h.Lf=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:I(this)&&J(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Vc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.Bd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.w&65535;n=(this.b&48)<<12|this.v;r=this.b&2048?0:2;I(this)&&J(this,this.type+": "+
|
|
|
|
|
d+"("+g+":"+k+":"+l+") "+q(n)+"--"+q(n+(m<<1)),!0,!0);if(g>=f.W){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;I(this)&&J(this,this.type+": SEEK("+g+")",!0);g<f.W?this.b|=8192:this.g|=64;break;case 12:I(this)&&J(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:I(this)&&J(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ha?128:0)|e<<13|this.j&15;Ii(this);a&&(this.b&=-2,this.b|=128,
|
|
|
|
|
d+"("+g+":"+k+":"+l+") "+q(n)+"--"+q(n+(m<<1)),!0,!0);if(g>=f.W){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;I(this)&&J(this,this.type+": SEEK("+g+")",!0);g<f.W?this.b|=8192:this.g|=64;break;case 12:I(this)&&J(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:I(this)&&J(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ia?128:0)|e<<13|this.j&15;Ii(this);a&&(this.b&=-2,this.b|=128,
|
|
|
|
|
this.b&64&&ad(this.f,this.eb))}};h.Ge=function(){return this.w};h.Qf=function(a){this.w=a};h.Ae=function(){return this.v};h.Kf=function(a){this.v=a};h.Ce=function(){return this.j};h.Mf=function(a){this.j=a};h.De=function(){return this.I};h.Nf=function(a){this.I=a};
|
|
|
|
|
var Ci="",Di="?",Ei="??",Ji={},Ai=(Ji[65280]=[null,null,R.prototype.Ee,R.prototype.Of,"RKDS"],Ji[65282]=[null,null,R.prototype.Fe,R.prototype.Pf,"RKER"],Ji[65284]=[null,null,R.prototype.Be,R.prototype.Lf,"RKCS"],Ji[65286]=[null,null,R.prototype.Ge,R.prototype.Qf,"RKWC"],Ji[65288]=[null,null,R.prototype.Ae,R.prototype.Kf,"RKBA"],Ji[65290]=[null,null,R.prototype.Ce,R.prototype.Mf,"RKDA"],Ji[65294]=[null,null,R.prototype.De,R.prototype.Nf,"RKDB"],Ji);
|
|
|
|
|
function qd(a){A.call(this,"RL11",a,0,131072);this.H=Ki(this,a.autoMount);this.G=0;this.g=Array(4);this.I=!Na("Mobi")&&window&&"FileReader"in window;this.eb=null;this.b=this.C=this.i=this.j=this.w=this.v=0}p(qd,A);function Ki(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=qd.prototype;
|
|
|
|
|
h.oa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Li(d,
|
|
|
|
|
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Mi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.M("Unable to boot the selected drive"):a.ha?(je(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
|
|
|
|
|
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ha)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mi(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
|
|
|
|
h.ra=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Ki(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ni(this);this.eb=cd(this.f,112,5,131072);Pb(b,this,Oi);Rb(b,this.reset.bind(this));Pi(this,"None",Qi,!0);this.I&&Pi(this,"Local Disk",Ri);Pi(this,"Remote Disk",Si);Ti(this)||H(this)};
|
|
|
|
|
h.sa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Li(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){Ni(this)};h.save=function(){return(new le(this)).data()};
|
|
|
|
|
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.B[b]=c,c.onchange=function(){var a=d.B.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.B[b]=c,c.onchange=function(){var a=la(c.value,10);null!=a&&Li(d,
|
|
|
|
|
a)},!0;case "loadDisk":return this.B[b]=c,c.onclick=function(){var a=d.B.listDisks;a&&a.options&&Mi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.B[b]=c,c.onclick=function(){var a,b=d.B.listDrives,b=b&&la(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.M("Unable to boot the selected drive"):a.ia?(je(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.M("Unable to read the boot sector ("+a+")")):d.M("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
|
|
|
|
|
break}this.B[b]=c;c.onclick=function(){var a=d.B.listDrives;a&&a.options&&d.g&&((a=d.g[la(a.value,10)||0])?(a=a.ia)?(a=Qa(ai(a),a.ec.replace(".json",".img")),Da(a)):d.M("No disk loaded in drive."):d.M("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.B[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Mi(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
|
|
|
|
h.sa=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Ki(this,Sd(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ni(this);this.eb=cd(this.f,112,5,131072);Pb(b,this,Oi);Rb(b,this.reset.bind(this));Pi(this,"None",Qi,!0);this.I&&Pi(this,"Local Disk",Ri);Pi(this,"Remote Disk",Si);Ti(this)||H(this)};
|
|
|
|
|
h.ta=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.J.w){for(a=0;a<this.g.length;a++)Ui(this,a,!0);Ti(this,!0)}}else if(!this.restore(a))return!1;if(a=this.B.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Li(this,0)}}return!0};h.Ca=function(a){return a?this.save():!0};h.reset=function(){Ni(this)};h.save=function(){return(new le(this)).data()};
|
|
|
|
|
h.restore=function(a){return Ni(this,a[0])};function Ti(a,b){b||(a.G=0);for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.B.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=x(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.g.length)){!Vi(a,g,f,e,!0)&&b&&H(a,!1);continue}a.M("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.G}
|
|
|
|
|
function Mi(a,b,c,d){var e=a.B.listDrives,e=e&&la(e.value,10);if(void 0===e||0>e||e>=a.g.length)a.M("Unable to load the selected drive");else if(c)if(c==Ri)a.M('Use "Choose File" and "Mount" to select and load a local disk.');else{if(c==Si){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=x(c);a.status("Attempting to load "+c+' as "'+b+'"')}Vi(a,e,b,c,!1,d)}else Ui(a,e)}
|
|
|
|
|
function Vi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.ya.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.qb?a.M("RL11 busy"):(k.qb=!0,e&&(k.pb=!0,a.G++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
|
|
|
|
|
h.Dd=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.ca>a.ca)&&(this.M('Disk "'+c+'" too large for drive '+("RL"+a.rb)),b=null);b?(a.ha=b,a.Na=c,a.ya=d,this.M('Loaded disk "'+c+'" in drive '+("RL"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.G||H(this));Li(this,a.rb)};
|
|
|
|
|
function Vi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.za.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.qb?a.M("RL11 busy"):(k.qb=!0,e&&(k.pb=!0,a.G++,I(a)&&J(a,"auto-loading disk: "+c)),k.Ua=!!f,Wh(new Sh(a,k,"preload"),c,d,f,a.Dd)&&g++));return g}
|
|
|
|
|
h.Dd=function(a,b,c,d,e){a.qb=!1;b&&(b.W>a.W||b.da>a.da)&&(this.M('Disk "'+c+'" too large for drive '+("RL"+a.rb)),b=null);b?(a.ia=b,a.Na=c,a.za=d,this.M('Loaded disk "'+c+'" in drive '+("RL"+a.rb),a.pb||e),this.J&&be(this.J)):a.Ua=!1;a.pb&&(a.pb=!1,--this.G||H(this));Li(this,a.rb)};
|
|
|
|
|
function Pi(a,b,c,d){if((a=a.B.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
|
|
|
|
function Li(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Ri:c.ya,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Ui(a,b,c){var d=a.g[b];if(d.ha||!1===c)d.Na="",d.ya="",d.ha=null,d.Ua=!1,c||(a.M("Drive RL"+b+" unloaded",c),Li(a,b))}
|
|
|
|
|
function Ni(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.C=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=512;d.ca=2;d.aa=40;d.na=256;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.na;d.Pd=0;d.hf=null;d.ha||(d.ya="");d.status=29}return!0}
|
|
|
|
|
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ha;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}jc(this.D,ye(this.f,f),n|r<<8);if(Zc(this.D)){k=8192;break}f+=2;e--;if(m>=a.na&&(l=null,++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
|
|
|
|
|
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ha;var l=null,m;a||(k=5120,e=0);for(;e;){var n=lc(this.D,ye(this.f,f));if(Zc(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.na&&(l=null,++d>=a.aa&&(d=0,++c>=a.ca&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
|
|
|
|
|
function Li(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.B.listDisks;a=a.B.listDrives;if(d&&a&&d.options&&a.options&&(a=la(a.value,10),c=c.Ua?Ri:c.za,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Ui(a,b,c){var d=a.g[b];if(d.ia||!1===c)d.Na="",d.za="",d.ia=null,d.Ua=!1,c||(a.M("Drive RL"+b+" unloaded",c),Li(a,b))}
|
|
|
|
|
function Ni(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.C=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.rb=b;d.name=c.kb;d.qb=d.Ua=!1;d.W=512;d.da=2;d.aa=40;d.oa=256;d.ac=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.za="");d.status=29}return!0}
|
|
|
|
|
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}jc(this.D,ye(this.f,f),n|r<<8);if(Zc(this.D)){k=8192;break}f+=2;e--;if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
|
|
|
|
|
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){var n=lc(this.D,ye(this.f,f));if(Zc(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.W)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
|
|
|
|
|
h.Cd=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&-49|f>>12&48;this.v=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Je=function(){return this.b&65535};
|
|
|
|
|
h.Tf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ha,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.W?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
|
|
|
|
|
h.Tf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ia,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.W?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
|
|
|
|
|
this.i&63,!e||f>=e.W||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.C,I(this)&&J(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+q(e)+"--"+q(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Cd.bind(this)))}a&&(this.b|=129,this.b&64&&ad(this.f,this.eb))}};h.He=function(){return this.C};h.Rf=function(a){this.C=a&65534};h.Ke=function(){return this.i};h.Uf=function(a){this.i=a};h.Le=function(){return this.w};h.Vf=function(a){this.w=a};h.Ie=function(){return this.v};
|
|
|
|
|
h.Sf=function(a){this.v=a&63;this.b=this.b&-49|(this.v&3)<<4};var Qi="",Ri="?",Si="??",Wi={},Oi=(Wi[63744]=[null,null,qd.prototype.Je,qd.prototype.Tf,"RLCS"],Wi[63746]=[null,null,qd.prototype.He,qd.prototype.Rf,"RLBA"],Wi[63748]=[null,null,qd.prototype.Ke,qd.prototype.Uf,"RLDA"],Wi[63750]=[null,null,qd.prototype.Le,qd.prototype.Vf,"RLMP"],Wi[63752]=[null,null,qd.prototype.Ie,qd.prototype.Sf,"RLBE"],Wi);
|
|
|
|
|
function Xi(a){A.call(this,"Debugger",a);this.xa=+a.base||16;this.da=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(Xi,A);Xi.prototype.hd=function(){return-1};Xi.prototype.jd=function(){};
|
|
|
|
|
function Xi(a){A.call(this,"Debugger",a);this.ya=+a.base||16;this.ga=!1;this.w=0;this.P=!1;this.v=-1;this.j=[];this.T={}}p(Xi,A);Xi.prototype.hd=function(){return-1};Xi.prototype.jd=function(){};
|
|
|
|
|
function Yi(a,b,c,d){if(c)if(b){0>a.v&&a.j.length&&(a.v=0);if(0>a.v||b!=a.j[a.v])a.j.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.j[a.v+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(ua(b.substring(c,f))),c=f+1}}return a}
|
|
|
|
|
function Zi(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
|
|
|
|
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
|
|
|
|
function $i(a,b,c){var d;if(b){b=aj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ua(n);if(!n){f=!0;break}n=bj(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}k.push(n);if(e==m.length)break;var n=m[e++],u=n.length;l.length&&cj[n]<cj[l[l.length-1]]&&Zi(k,l,1);l.push(n);b=b.substr(r+u)}Zi(k,l)&&1==k.length||(f=!0);f?c&&a.u("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&dj(a,null,
|
|
|
|
|
d))}return d}function aj(a,b){for(var c,d=a.da?"(":"{",e=a.da?")":"}",f=new RegExp(a.da?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=$i(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
|
|
|
|
function bj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.T[b],null==e&&(e=la(b,a.xa))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=ma(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
|
|
|
|
|
function ej(a,b){if(b)return dj(a,b,a.T[b]);var c=0;for(b in a.T)dj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.xa){case 8:a=q(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=v(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
|
|
|
|
function fj(a){Xi.call(this,a);this.Da=!1;this.da=!0;this.H=W();this.Ba=W();this.O=W();this.C=[];this.g=this.L=this.G=[];gj(this);this.R=this.Y=0;this.i=[];this.pa=void 0;hj(this);this.F=this;this.la={};this.ga=this.cd=0;this.S=null;this.N=[];ij(this,a.messages);this.ua=a.commands;this.Ga=jj;this.Aa=[];this.I=0;this.Ha=this.qa=null;this.w=this.Fa=this.Ea=this.X=this.ma=0;this.b=this.V=null;var b=this;window?void 0===window[E]&&(window[E]=function(a){return Xd(b,a)}):void 0===global[E]&&(global[E]=
|
|
|
|
|
function(a){return Xd(b,a)})}p(fj,Xi);function kj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,xa:c}}h=fj.prototype;h.Fc=function(a,b){a.K=b;a.Qa=!1;a.xa=void 0;return a};function lj(a){return[a.K,a.Ka,a.xa,a.Qa,a.dc]}function mj(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=Yi(a,c.dc=b[4]));return c}
|
|
|
|
|
h.ra=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=Sd(a,"messages"))&&ij(this,a);1145>this.f.Aa&&(this.Aa=nj);ed(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=kj(oj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):(c=n.type,m=Qc[c],n&&d.u(v(n.id,8)+" %"+v(e<<d.D.g,8)+
|
|
|
|
|
" %"+v(n.K,8)+" "+w(n.Hb)+" "+w(n.size)+" "+m),c!=sd&&(c=-1),m=0);a+=d.D.j;e++}}});H(this)};
|
|
|
|
|
h.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.B[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Xd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-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.B[b]=c,Sa(c,function(){if(d.V){var a=d.V.value;d.V.value=
|
|
|
|
|
"";Xd(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,Sa(c,function(a){var b=!1;ub(d,!0)||(vb(d,!0),b=dc(d,a?1:0,null),vb(d,!1));return b}),!0}return!1};function Wd(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=kj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=ye(this.f,d),c.G=!1,c.ia++,d=Sc(c,d).j(d&c.i,d),c.ia--):(c=this.f,c.ma++,d=c.D.Jc(kc(c,d,3)),c.ma--),c=d,b&&pj(a,b));return c};
|
|
|
|
|
h.Oa=function(a,b){var c=65535,d=kj(a);-1!==d&&(c=a.Ka||65535<d?lc(this.D,ye(this.f,d)):mc(this.f,d),b&&pj(a,b));return c};h.Nc=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)Tc(this.D,ye(this.f,d),b);else{var e=this.f;e.ma++;e.D.Kc(kc(e,d,5),b);e.ma--}c&&pj(a,c);L(this.J,-1)}};h.yd=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)jc(this.D,ye(this.f,d),b);else{var e=this.f;e.ma++;e.D.Lb(kc(e,d,4),b);e.ma--}c&&pj(a,c);L(this.J,-1)}};
|
|
|
|
|
function oj(a,b,c){var d;c=(c?a.H:a.Ba).K;var e,f;if(void 0!==b){b=aj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.C+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.C.length;c++)if(l=a.C[c].ea[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=$i(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
|
|
|
|
|
function qj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=Yi(a,b.dc=c[2]))}function pj(a,b){null!=a.K&&(a.K+=b||1)}function rj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
|
|
|
|
|
function ij(a,b){a.F=a;a.ga=a.cd=536870912;a.S=null;a.N=[];b=Yi(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Eb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ga|=Eb[c],a.u(c+" messages enabled"))}}function ed(a,b,c){for(var d in Eb)if(b==Eb[d]){a.la[d]=c;break}}
|
|
|
|
|
h.hd=function(a){a=a.toUpperCase();var b=sj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function tj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
|
|
|
|
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.qa[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.b;switch(a){case uj:b=nd(this.f);break;case vj:b=c.bb;break;case wj:b=c.R;break;case xj:b=c.Ba&65280;break;case yj:b=hd(c);break;case zj:b=jd(c);break;case Aj:b=kd(c);break;case Bj:b=c.T;break;case Cj:d&&(b=d.ta);break;case Dj:d&&(b=d.tb);break;case Ej:d&&qc(d)&&(b=d.Va)}}return b};
|
|
|
|
|
h.message=function(a,b){b&&(a+=" @"+rj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ga&1073741824)this.N.push(a);else{var c;if(this.ga&-2147483648&&this.f&&(c=this.f.A.U)||ub(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,ce(a),a.hb=0,a.J&&L(a.J,void 0))}};
|
|
|
|
|
function hj(a){var b;if(!gf(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Fj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.u("instruction history buffer allocated")}}function Gj(a,b,c){if(!Hj(a,c))return!1;cc(a.f,b);return!0}
|
|
|
|
|
function dc(a,b,c,d){if(!Hj(a))return!1;null===c&&(c=!a.qa||"tr"==a.qa);a.w=0;b||gf(a)&&hf(a,a.f.g[7],0);try{b=de(a.f,b);var e=a.f.$b(b);0<e&&(ec(a.f,e),a.w+=e,fc(a.f,e,!0),gc(a.f,e),a.X++)}catch(f){"number"!=typeof f&&(a.w=0,rb(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),L(a.J,-1));Vd(a,c||!1);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
|
|
|
|
|
function Vd(a,b){if(a.Da){void 0===b&&(b=!0);var c;c=a.f;if(c=c.i&128?c.Zc|c.Yc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Cb[-d]:O(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?Ij(a):Jj(a)}}function Hj(a,b){var c;(c=!a.f||!tb(a.f))||(c=a.f,c.A.fa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.U?(b||a.u("cpu busy or unavailable, command ignored"),!1):!sb(a.f)}h.sa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
|
|
|
|
|
h.Ca=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){hj(this);this.X=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.U=!1;Kj(this);a||Vd(this)};h.save=function(){var a=new le(this);a.set(0,lj(this.H));a.set(1,lj(this.O));a.set(2,[this.j,this.P,this.ga]);a.set(3,this.C);return a.data()};
|
|
|
|
|
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=mj(this,a[b++]),this.O=mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ga|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.I||this.u("running");this.A.U=!0;this.Ea=a;this.Fa=b};
|
|
|
|
|
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Fa;if(!this.I){b="stopped";if(this.w){a-=this.Ea;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";gf(this)&&(b+=this.X+" instructions, ",this.X=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else I(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}Vd(this,!0);Wd(this);Kj(this,this.f.g[7]);this.S=null}};function gf(a){return 1<a.g.length||!!a.Y}
|
|
|
|
|
function hf(a,b,c){var d=-1;c||(d=mc(a.f,b))||(a.f.P&65535)!=b||(b=qe(a.f,2));if(0<c&&(a.Y&&!--a.Y||Lj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.X++,0>d&&(d=mc(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function ng(a){var b=a.f;if(b.A.U)throw ke(b,a.f.P&65535),a.Z(),-1;return!1}function Md(a,b,c){Lj(a,b,c||1,a.L)&&a.Z(!0)}function Nd(a,b,c){Lj(a,b,c||1,a.G)&&a.Z(!0)}
|
|
|
|
|
function gj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!1)):Be(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!0)):Be(a.f,!0);a.G=["bw"];a.ma=0}
|
|
|
|
|
h.ob=function(a,b,c){var d=!0;c||Mj(this,a,b,!1,!0);if(a!=this.g){var e=kj(b);if(-1===e)this.u("invalid address: "+rj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].ob(e&g.i,f)}else e=this.f,(f?e.Vb++:e.Tb++)||ie(e)}}d&&(a.push(b),c?b.Qa=!0:(Nj(this,a,a.length-1,"set"),hj(this)));return d};
|
|
|
|
|
function Mj(a,b,c,d,e){var f=!1;c=kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==kj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Nj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Ld(d.b[c>>>d.g],b)):Be(a.f,b));k.Qa||hj(a);break}}return f}function Oj(a,b){for(var c=1;c<b.length;c++)Nj(a,b,c);return b.length-1}function Nj(a,b,c,d){c=b[c];a.u(b[0]+" "+rj(a,c)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}
|
|
|
|
|
function Kj(a,b){if(void 0!==b)Lj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!Mj(a,a.g,c,!0))break;b=0}}}
|
|
|
|
|
function Lj(a,b,c,d,e){var f=!1;if(!a.ma++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=kj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Mj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Pj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Nj(a,d,g,"hit");break}}}a.ma--;return f}
|
|
|
|
|
function Qj(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ga)if(g=a.Ga[k][f&k])break;g||(g=Rj);var l=g[0];0<=a.Aa.indexOf(l)&&(g=Rj,l=g[0]);var m=k="",n=Sj[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var D=u,u=b,z="",C=D&Tj;if(C==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(C==Uj)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(C==Vj)z=O(t,f&7,1);else if(C==Wj)z=O(t,f&63,1);else if(C==Xj)z=O(t,f&255,1);else if(C=f&D,D&Yj&&(C>>=6,D>>=6),D&Y){var D=null,F=C&
|
|
|
|
|
Zj;switch(C&ak){case 0:z=tj(F);break;case 8:z="@"+tj(F);D=bk(t,t.f.g[F]);break;case 16:7>F?z="("+tj(F)+")+":(C=t.Oa(u,2),z="#"+O(t,C,0,!0));break;case 24:7>F?z="@("+tj(F)+")+":(C=t.Oa(u,2),z="@#"+O(t,C,0,!0),D=bk(t,C));break;case 32:z="-("+tj(F)+")";break;case 40:z="@-("+tj(F)+")";break;case 48:C=t.Oa(u,2);z=O(t,C,0,!0)+"("+tj(F)+")";7==F&&(z=O(t,C=C+u.K&65535),D=bk(t,C));break;case 56:C=t.Oa(u,2),z="@"+O(t,C)+"("+tj(F)+")",7==F&&(z="@"+O(t,C=C+u.K&65535),D=bk(t,mc(t.f,C)))}D&&(z=[z,D])}t=z;if(!t||
|
|
|
|
|
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=rj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ta(f,24);g+=ta(n,5);k&&(g+=" "+k);if(c||m)g=ta(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+Yd(a.f).toString()+" cs="+v(a.f.Qb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
|
|
|
|
|
function bk(a,b){b=ze(a.f,b)[0];b>=a.f.ib&&b<a.D.C&&(b=b-a.f.ib+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ma[b&Yc])&&(a=b[4]);return a}function ck(a,b){switch(b){case "N":a=pe(a.f);break;case "Z":a=oe(a.f);break;case "V":a=ne(a.f);break;case "C":a=me(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
|
|
|
|
function Z(a,b){var c="",d=a.f;if(8>b)c=tj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.qa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.X[b-16]);else switch(b){case uj:c="PS="+O(a,nd(d));break;case vj:c="PI="+O(a,d.bb);break;case wj:c="ER="+O(a,d.R);break;case xj:c="SL="+O(a,d.Ba&65280);break;case yj:c="M0="+O(a,hd(d));break;case zj:c="M1="+O(a,jd(d));break;case Aj:c="M2="+O(a,kd(d));break;case Bj:c="M3="+O(a,d.T);break;case Cj:a.b&&(c="AR="+O(a,a.b.ta,3));break;case Dj:a.b&&(c="DR="+
|
|
|
|
|
O(a,a.b.tb));break;case Ej:a.b&&qc(a.b)&&(c="SR="+O(a,a.b.Va,3))}c&&(c+=" ");return c}function dk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,uj)+Z(a,vj)+Z(a,xj);d+=ck(a,"T")+ck(a,"N")+ck(a,"Z")+ck(a,"V")+ck(a,"C");b&&(b=d,c=""+(Z(a,yj)+Z(a,zj)),c+=Z(a,Aj)+Z(a,Bj)+Z(a,wj),c=c+"\n"+(Z(a,Ej)+Z(a,Cj)+Z(a,Dj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
function nh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=xa(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({xh:b,K:c,Qd:d,ea:e,ad:f})}function ek(a,b,c){var d=[],e=kj(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=xa(f.ad,[e-g],a.dd);0<=e?fk(a,b,e,d):c&&(e=~e,fk(a,b,e-1,d),fk(a,b,e,d));break}}return d}
|
|
|
|
|
function fk(a,b,c,d){var e={},f=a.C[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ea[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function gk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ej(a)||a.u("no variables"),!0;if(!c[2])return ej(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=$i(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
|
|
|
|
|
function hk(a,b,c){var d=null;if(b=oj(a,b,!0)){var e=ek(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+w(f)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+w(f)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
|
|
|
|
|
function Ij(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=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!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=$i(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":ke(e,
|
|
|
|
|
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.G=g?65536:0;break;case "PS":od(e,g);break;case "PI":md(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.Ba=g|255;break;case "M0":id(e,g);d=!0;break;case "M3":ld(e,g);d=!0;break;case "AR":a.b&&(d=a.b,nc(d,d.ta=g));d=!0;break;case "DR":a.b&&(d=a.b,ic(d,d.tb=g));d=!0;break;case "SR":if(a.b&&qc(a.b)){oc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
|
|
|
|
|
g&65535;break}a.u("unknown register: "+f);return}L(a.J);a.u("updated registers:")}}a.u(dk(a,d));c&&(a.H=W(e.g[7]),Jj(a,rj(a,a.H)))}}function ik(a,b){b=ua(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):dj(a,null,c[2].charCodeAt(0)):$i(a,b,!0)}
|
|
|
|
|
function jk(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=bj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.qa=b;Ra(c,function(){return vb(a,!0)&&dc(a,e,d,!1)},function(){a.b&&a.b.stop();L(a.J,-1);vb(a,!1)})}}
|
|
|
|
|
function Jj(a,b,c,d){if(b=oj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=bj(a,c.substr(1)),null!=c&&(d=c);else{d=oj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ub(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=ek(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Qj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
|
|
|
|
|
function Pj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+rj(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(tb(a)&&0<b.length){a.P&&(b="a "+rj(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
|
|
|
|
|
oj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.u("begin assemble at "+rj(a,r)),a.P=!0,L(a.J);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Nc(r,u[t],1);a.u(Qj(a,a.O))}}break;case "b":a:{var D=g[0],z=g[1],C=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
|
|
|
|
|
else{var F=D.charAt(1);if("l"==F){var fb;fb=0+Oj(a,a.g);fb+=Oj(a,a.L);(fb+=Oj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.Y=bj(a,z),a.u("break after "+a.Y+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var V=W();if("*"!=z&&(V=oj(a,z,!0),!V))break a;"c"==F?null==V.K?(gj(a),a.u("all breakpoints cleared")):Mj(a,a.g,V)||Mj(a,a.L,V)||Mj(a,a.G,V)||a.u("breakpoint missing: "+rj(a,V)):null!=V.K&&(qj(a,V,C),"p"==F?a.ob(a.g,V):"r"==F?a.ob(a.L,V):"w"==F?a.ob(a.G,V):a.u("unknown breakpoint command: "+
|
|
|
|
|
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Gb,Ua=g[0],Ga=g[1],Va=g[2],Jk=g[3];if("?"==Ga){var Hb="";for(Gb in Eb)a.la[Gb]&&(Hb&&(Hb+=","),Hb+=Gb);Hb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords 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");
|
|
|
|
|
Hb.length&&a.u("dump extension commands:\n\t"+Hb)}else if("state"==Ga){var Le=kk(a.J,!0);"console"==Va?console.log(Le):(a.Pa&&(a.Pa.value=""),Le&&a.u(Le))}else if("symbols"==Ga)for(var Me=0;Me<a.C.length;Me++){var Ne=a.C[Me],Ib;for(Ib in Ne.ea)if("."!=Ib.charAt(0)){var fi=Ne.ea[Ib].o;if(void 0!==fi){var gi=Ne.ea[Ib].l;gi&&(Ib=gi);a.u(O(a,fi)+" "+Ib)}}}else{if("d"==Ua){for(Gb in Eb)if(g[1]==Gb){var hi=a.la[Gb];hi?(g.shift(),g.shift(),hi(g)):a.u("no dump registered for "+Ga);break a}Ga||(Ua=a.Ha||"dw")}else a.Ha=
|
|
|
|
|
Ua;if("dh"==Ua){var ii=Ga,ji=Va,ki="",li=0,wa=a.R,Ha=a.i;if(Ha.length){var ra=+ii||a.pa,rc=+ji||10;isNaN(ra)?ra=rc:ki="more ";ra>Ha.length&&(a.u("note: only "+Ha.length+" available"),ra=Ha.length);wa-=ra;0>wa&&(null==Ha[Ha.length-1].K?(ra=wa+ra,wa=0):wa+=Ha.length);var Oe=[];"call"==ji&&(rc=1E5,Oe=["CALL"]);for(void 0!==ii&&a.u(ra+" instructions earlier:");0<rc&&wa!=a.R;){var mi=Ha[wa++];if(null==mi.K)break;var sc=W(mi.K),Kk=ra--,ni=Qj(a,sc,"history",Kk);(!Oe.length||0<=ni.indexOf(Oe[0]))&&a.u(ni);
|
|
|
|
|
sc.Ac&&(wa+=sc.Ac,rc-=sc.Ac,ra-=sc.Ac);wa>=Ha.length&&(wa=0);a.pa=ra;li++;rc--}}li||(a.u("no "+ki+"history available"),a.pa=void 0)}else{var fa=oj(a,Ga);if(fa)if("da"==Ua){var Pe=fa.Ka||65535<fa.K,K=ze(a.f,fa.K||0,Pe);a.u(ta("",Pe?12:19)+ma(fa.K,Pe?22:17,3)+" "+q(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ma(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+na(K[1])+"]: "+ma(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
|
|
|
|
|
ma(K[1],13,3)+" "+q(K[1],8)),a.u("+ "+lk[K[2]]+"PAR"+K[3]+": "+ma(K[4],22,3)+" "+q(K[4],8)),a.u("& MMUMASK: "+ma(K[5],22,3)+" "+q(K[5],8)),a.u("= PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8)))}else{var hb=0,Qe="ds"==Ua;if(Va){if("l"==Va.charAt(0))Va=Va.substr(1)||Jk,hb=bj(a,Va);else{var oi=oj(a,Va);oi&&(hb=oi.K-fa.K)}0>hb&&(hb=0);65536<hb&&(hb=65536)}var Mk=a.xa;fa.xa&&(a.xa=fa.xa);for(var ib="dd"==Ua?4:"db"==Ua?1:2,vd=ib*hb||128,Re=Qe?16:a.xa,Nk=(vd+Re-1)/Re|0||1,jb="";Nk--&&0<vd;){for(var kb=
|
|
|
|
|
"",Se="",Ga=rj(a,fa),wd=Re,tc=0,uc=0;0<wd&&0<vd;){var Jb=1,xd=1==ib?a.Mc(fa,Jb):a.Oa(fa,Jb=2),tc=tc|xd<<(uc<<3),uc=uc+Jb;uc==ib&&(Qe?(kb&&(kb+=","),kb+="0x"+v(tc,2*ib)):(kb+=O(a,tc,ib),kb+=1==ib?9==wd?"-":" ":" "),tc=uc=0);wd-=Jb;for(vd-=Jb;1==ib&&Jb--;)var Te=xd&255,Se=Se+(32<=Te&&128>Te?String.fromCharCode(Te):"."),xd=xd>>8}jb&&(jb+="\n");jb=Qe?jb+(kb+","):jb+(Ga+": "+kb+(wd?"":" "+Se))}jb&&a.u(jb);a.Ba=fa;a.xa=Mk}}}}break;case "e":if("else"==g[0])break;var Kb,Ue,Ve,We,Xe=g[0],Ye=g[1];"eb"==Xe?
|
|
|
|
|
(Kb=1,Ue=255,Ve=a.Mc,We=a.Nc):"e"==Xe||"ew"==Xe?(Kb=2,Ue=65535,Ve=a.Oa,We=a.yd):Ye=null;if(null==Ye)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var yd=oj(a,Ye);if(yd)for(var zd=2;zd<g.length;zd++){var vc=$i(a,g[zd]);if(void 0===vc){a.u("unrecognized value: "+g[zd]);break}vc&~Ue&&a.u("warning: "+v(vc)+" exceeds "+Kb+"-byte value");a.u("changing "+rj(a,yd)+(I(a,16)?"":" from "+O(a,Ve.call(a,yd),Kb))+" to "+O(a,vc,Kb));
|
|
|
|
|
We.call(a,yd,vc,Kb)}}break;case "g":a:{var pi=g[1],Ok=b;if(void 0!==pi){var Ze=oj(a,pi,!0);if(!Ze)break a;qj(a,Ze,Ok);a.ob(a.g,Ze,!0)}Gj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Z()):ub(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var $e;var wc=b.substr(2),wc=ua(wc);$i(a,wc)?(c||a.u("true: "+wc),$e=!0):(c||a.u("false: "+wc),$e=!1);$e||(d=!1);break}f=!0;break;case "k":var Pk=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
|
|
|
|
|
else{var af=0,bf=W(),xc=W(a.f.g[6]);for(a.u("stack trace for "+rj(a,xc));10>af;){for(var lb=null,Qk=256;65536>xc.K>>>0;){bf.K=a.Oa(xc,2);if(null==xc.K||!Qk--)break;if(!(bf.K&1)){for(var Rk=a,Ad=bf,qi=null,yc=Ad.K,ri=yc,cf=1;6>=cf&&yc;cf++){if(2<cf){Ad.K=yc;var Bd=Qj(Rk,Ad);if(0<=Bd.indexOf("JSR")){var si=Bd.indexOf(" ");if(yc+(Bd.indexOf(" ",si+1)-si-1)/2==ri){qi=Bd;break}}}yc-=2}Ad.K=ri;if(lb=qi)break}}if(!lb||null==lb)break;var ti=null;if("ks"==Pk){var ui=lb.match(/[0-9A-F]+$/);ui&&(ti=hk(a,ui[0]))}lb=
|
|
|
|
|
ta(lb,50)+" ;"+(ti||"stack="+rj(a,xc));a.u(lb);af++}af||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){hk(a,g[1],!0);break}f=!0;break;case "m":a:{var Ia,Ja=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Wa=0;if("all"==N)Wa=1879046143,N=null;else if("on"==N)Ja=!0,N=null;else if("off"==N)Ja=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ia in Eb)if(N==Ia){Wa=Eb[Ia];Ja=!!(a.ga&Wa);break}if(!Wa){a.u("unknown message category: "+N);break a}}if(Wa)if("on"==g[2])a.ga|=
|
|
|
|
|
Wa,Ja=!0;else if("off"==g[2]&&(a.ga&=~Wa,Ja=!1,1073741824==Wa)){for(var vi=1E3<=a.N.length?a.N.length-1E3:0;vi<a.N.length;)a.u(a.N[vi++]);a.N=[]}}var Sk=0,zc="";for(Ia in Eb)if(!N||N==Ia){var Tk=!!(a.ga&Eb[Ia]);if(null===Ja||Ja==Tk)zc&&(zc+=","),++Sk%10||(zc+="\n\t"),"key"==Ia&&(Ia="keys"),zc+=Ia}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(zc||"none"));hj(a)}break;case "p":if("print"==
|
|
|
|
|
g[0]){ik(a,b.substr(5));break}var Uk=g[0];if("?"==g[1])a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else{var wi="pr"==Uk?1:0,xi=1+wi;if(a.I)a.u("step in progress");else{var Cd=W(a.f.g[7]),Lb=a.Oa(Cd);3==Lb||4==Lb||34816==(Lb&65280)||32256==(Lb&65024)||35072==(Lb&65280)?(a.I=xi,pj(Cd,2)):2048==(Lb&65024)&&(Qj(a,Cd),a.I=xi);a.I?(a.ob(a.g,Cd,!0),Gj(a)||(a.J&&be(a.J),a.I=0)):jk(a,wi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();
|
|
|
|
|
break}Ij(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ac=+g[2];if(8==Ac||10==Ac||16==Ac)a.xa=Ac;else{a.u("invalid base: "+Ac);break}}a.u("default base: "+a.xa);break;case "cs":var Bc;void 0!==g[3]&&(Bc=+g[3]);switch(g[2]){case "int":a.f.Ab=Bc;break;case "start":a.f.Rb=Bc;break;case "stop":a.f.Cb=Bc;break;default:a.u("unknown cs option");break a}void 0!==Bc&&Ud(a.f);a.u("checksums "+(a.f.A.zb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zd(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
|
|
|
|
|
a.u("target speed: "+(a.f.nb.toFixed(2)+"Mhz")+" ("+a.f.Za+"x)");break;default:if(g[1]){a.u("unknown option: "+g[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":jk(a,g[0],g[1]);break;case "u":Jj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){gk(a,
|
|
|
|
|
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((xb||"PDP11")+" version 1.32.0 ("+a.f.Aa+",RELEASE"+(zb?",TYPEDARRAYS":yb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ik(a,b.substr(1));break}var df="commands:",ef;for(ef in mk)df+="\n"+ta(ef,9)+mk[ef];gf(a)||(df+="\nnote: history disabled if no exec breakpoints");a.u(df);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(zi){a.u("debugger error: "+(zi.stack||zi.message)),
|
|
|
|
|
d=!1}return d}function Xd(a,b,c){b=Yi(a,b,c);for(var d in b)if(!Pj(a,b[+d]))return!1;return!0}
|
|
|
|
|
var mk={"?":"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"},Sj=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
|
|
|
|
uj=20,vj=21,wj=22,xj=23,yj=24,zj=25,Aj=26,Bj=27,Cj=28,Dj=29,Ej=30,sj={SP:6,PC:7,PS:uj,PI:vj,ER:wj,SL:xj,M0:yj,M1:zj,M2:Aj,M3:Bj,AR:Cj,DR:Dj,SR:Ej},lk="KI KD SI SD ?? ?? UI UD".split(" "),Zj=7,ak=56,Y=ak|Zj,Yj=4032,X=4096,Uj=8192,Vj=12288,Wj=24576,Xj=32768,Tj=61440,jj={61440:{4096:[62,Yj,Y],8192:[47,Yj,Y],12288:[18,Yj,Y],16384:[14,Yj,Y],20480:[16,Yj,Y],24576:[3,Yj,Y],36864:[63,Yj,Y],40960:[48,Yj,Y],45056:[19,Yj,Y],49152:[15,Yj,Y],53248:[17,Yj,Y],57344:[94,Yj,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
|
|
|
|
|
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,Uj]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,Xj],35072:[107,Xj]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,Wj],3392:[60,
|
|
|
|
|
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,Zj],152:[108,Vj]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
|
|
|
|
|
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Rj=[0],nj=[58,60,65,96,108,110,100,101,102,103,104,105,59,64],Fj=1E3;Xa(function(){for(var a=G(document,E,"debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fj(d);qb(d,c)}});
|
|
|
|
|
function nk(a,b,c){A.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.O=null;ok(this,b);this.L=Sd(this,"autoPower",a,6);this.j=0;this.T=+a.busWidth||+a.buswidth;this.b=pk;this.H=null;this.R=this.w=this.N=this.C=this.S=!1;this.v=null;this.V=Sd(this,"url")||"";(Math.random()+.1).toString(36);this.g=qk(this);if(this.f=pb("CPU",this.id)){this.F=pb("Debugger",this.id);this.D=new Ec({id:this.lb+".bus",busWidth:this.T},this.f,this.F);var d,e=nb(this.id);if((this.i=pb("Panel",this.id))&&this.i.Pa)for(b=
|
|
|
|
|
0;b<e.length;b++)d=e[b],d.M=this.i.M,d.u=this.i.u,d.Pa=this.i.Pa;this.u(xb+" v1.32.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ra&&d.ra(this,this.D,this.f,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var f;if(a=Sd(this,"state")||(f=!0,a.state))b=
|
|
|
|
|
this.P=a,f||(this.C=!0,this.b=pk),this.b&&(this.I=new le(this,"1.32.0"),rk(this.I)?b=null:delete this.I);!b&&this.b&&(b=sk(this))&&(this.C=!0);if(b){var g=this;Aa(b,null,!0,function(a,b,c){c?(g.G=null,g.C=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.H=b,g.S=!0);H(g)})}else H(this);this.B.power||(this.L=!0);!c&&this.L&&tk(this,this.Ub)}else y("Unable to find CPU component")}p(nk,A);
|
|
|
|
|
function ok(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){y(d.message+" ("+c+")")}}a.O=b}function Sd(a,b,c,d){var e=b.toLowerCase(),e=Oa(b)||Oa(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);if("string"==typeof e&&d)switch(d){case 4:e=+e;break;case 6:e="true"==e}return e}
|
|
|
|
|
function tk(a,b,c){for(var d=nb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){tk(a,b,c)});return}}b.call(a,c)}function uk(a,b){var c=new le(a,"1.32.0",vk);if(rk(c)&&wk(c)){var d=c.get(xk),e=b?b.get(xk):"unknown";d!=e&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=nk.prototype;
|
|
|
|
|
h.Ub=function(a){void 0===a&&(a=this.b||(this.H?yk:pk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.I||new le(this,"1.32.0");if(a==zk)b=!0;else if(a>pk){if(rk(d,this.H)){this.v=new le(this,"1.32.0",Ak);rk(this.v)&&(Bk(this,d),a=Ck,Dk(this.v));this.v.set(xk,za());Ek(this.v);var e=this.b&&!this.C;if(a==yk||Ea("Click OK to restore the previous "+xb+" machine state, or CANCEL to reset the machine.")){if(c=wk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?rk(d,g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.M("Error: "+g),"unable to verify user"==g&&(Ma(Fk,""),this.g=null)):this.u(f+": "+g),Dk(d),rk(d)?(c=wk(d),e=!0):c=!1))}e&&uk(this,c?d:null)}else a==Ck&&d.clear()}else uk(this);delete this.H;delete this.I}e=nb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Gk(this,g,d,b,c));b=[d,a,c];a!=zk?tk(this,this.ed,b):this.ed(b)}};
|
|
|
|
|
function Gk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;if(b.sa){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.sa(f,d)&&f&&(y("Unable to restore state for "+b.type),a.P&&!a.S?(c.clear(),a.b=pk,window&&window.location.reload()):a.N=!0,b.sa(null),e=!1)}if(!d&&b.Rc)for(a=b.Rc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
|
|
|
|
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.f&&(Gk(this,this.f,b,c,a),L(this),this.f.Ia());this.N&&(Bk(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
|
|
|
|
|
function Bk(a,b){if(Ea("There may be a problem with your "+xb+" machine.\n\nTo help us diagnose it, click OK to send this "+xb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=xb;d.ver="1.32.0";d.url=c;d.user=a;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function kk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new le(a,"1.32.0"),g=new le(a,"1.32.0",vk),k=za();g.set(xk,k);f.set(xk,k);f.set(Hk,"1.32.0");f.set(Ik,window?window.location.href:null);f.set(Lk,window?window.navigator.userAgent:"");a.f&&a.f.Ca&&(c&&a.f.Z(),d=a.f.Ca(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=nb(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.Ca&&(d=m.Ca(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=!1,!1===d&&(e=null)))}e&&
|
|
|
|
|
(c?(k=d=!1,b?(a.g&&Vk(a,a.g,f.toString()),Ek(g)&&Ek(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Wk),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.B.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(J(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(J(this,"Resetting "+this.f.type),this.f.reset());for(var a=nb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(J(this,"Resetting "+c.type),c.reset())}L(this,-1)};
|
|
|
|
|
d))}return d}function aj(a,b){for(var c,d=a.ga?"(":"{",e=a.ga?")":"}",f=new RegExp(a.ga?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=$i(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
|
|
|
|
function bj(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.T[b],null==e&&(e=la(b,a.ya))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function dj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=ma(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
|
|
|
|
|
function ej(a,b){if(b)return dj(a,b,a.T[b]);var c=0;for(b in a.T)dj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.ya){case 8:a=q(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=v(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var cj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
|
|
|
|
function fj(a){Xi.call(this,a);this.Da=!1;this.ga=!0;this.H=W();this.Ba=W();this.O=W();this.C=[];this.g=this.L=this.G=[];gj(this);this.R=this.ba=0;this.i=[];this.qa=void 0;hj(this);this.F=this;this.ma={};this.ha=this.cd=0;this.S=null;this.N=[];ij(this,a.messages);this.va=a.commands;this.Ga=jj;this.X=[];this.I=0;this.Ha=this.ra=null;this.w=this.Fa=this.Ea=this.Y=this.na=0;this.b=this.V=null;var b=this;window?void 0===window[E]&&(window[E]=function(a){return Xd(b,a)}):void 0===global[E]&&(global[E]=
|
|
|
|
|
function(a){return Xd(b,a)})}p(fj,Xi);function kj(a){a=a&&a.K;null==a&&(a=-1);return a}function W(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,ya:c}}h=fj.prototype;h.Fc=function(a,b){a.K=b;a.Qa=!1;a.ya=void 0;return a};function lj(a){return[a.K,a.Ka,a.ya,a.Qa,a.dc]}function mj(a,b){var c=W(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=Yi(a,c.dc=b[4]));return c}
|
|
|
|
|
h.sa=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=Sd(a,"messages"))&&ij(this,a);1140>this.f.ba&&(this.X=this.X.concat(nj));1145>this.f.ba&&(this.X=this.X.concat(oj));ed(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=kj(pj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):
|
|
|
|
|
(c=n.type,m=Qc[c],n&&d.u(v(n.id,8)+" %"+v(e<<d.D.g,8)+" %"+v(n.K,8)+" "+w(n.Hb)+" "+w(n.size)+" "+m),c!=sd&&(c=-1),m=0);a+=d.D.j;e++}}});H(this)};
|
|
|
|
|
h.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.B[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Xd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-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.B[b]=c,Sa(c,function(){if(d.V){var a=d.V.value;d.V.value=
|
|
|
|
|
"";Xd(d,a,!0);return!0}return!1}),!0;case "step":return this.B[b]=c,Sa(c,function(a){var b=!1;ub(d,!0)||(vb(d,!0),b=dc(d,a?1:0,null),vb(d,!1));return b}),!0}return!1};function Wd(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=kj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=ye(this.f,d),c.G=!1,c.ja++,d=Sc(c,d).j(d&c.i,d),c.ja--):(c=this.f,c.na++,d=c.D.Jc(kc(c,d,3)),c.na--),c=d,b&&qj(a,b));return c};
|
|
|
|
|
h.Oa=function(a,b){var c=65535,d=kj(a);-1!==d&&(c=a.Ka||65535<d?lc(this.D,ye(this.f,d)):mc(this.f,d),b&&qj(a,b));return c};h.Nc=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)Tc(this.D,ye(this.f,d),b);else{var e=this.f;e.na++;e.D.Kc(kc(e,d,5),b);e.na--}c&&qj(a,c);L(this.J,-1)}};h.yd=function(a,b,c){var d=kj(a);if(-1!==d){if(a.Ka||65535<d)jc(this.D,ye(this.f,d),b);else{var e=this.f;e.na++;e.D.Lb(kc(e,d,4),b);e.na--}c&&qj(a,c);L(this.J,-1)}};
|
|
|
|
|
function pj(a,b,c){var d;c=(c?a.H:a.Ba).K;var e,f;if(void 0!==b){b=aj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.C+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.C.length;c++)if(l=a.C[c].ea[d],null!=l){k=l.o;break}null!=k&&(g=W(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=$i(a,b,void 0)}null!=c&&(d=W(c,e,f));return d}
|
|
|
|
|
function rj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=Yi(a,b.dc=c[2]))}function qj(a,b){null!=a.K&&(a.K+=b||1)}function sj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
|
|
|
|
|
function ij(a,b){a.F=a;a.ha=a.cd=536870912;a.S=null;a.N=[];b=Yi(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Eb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ha|=Eb[c],a.u(c+" messages enabled"))}}function ed(a,b,c){for(var d in Eb)if(b==Eb[d]){a.ma[d]=c;break}}
|
|
|
|
|
h.hd=function(a){a=a.toUpperCase();var b=tj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function uj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
|
|
|
|
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.ra[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.b;switch(a){case vj:b=nd(this.f);break;case wj:b=c.bb;break;case xj:b=c.R;break;case yj:b=c.Ba&65280;break;case zj:b=hd(c);break;case Aj:b=jd(c);break;case Bj:b=kd(c);break;case Cj:b=c.T;break;case Dj:d&&(b=d.ua);break;case Ej:d&&(b=d.tb);break;case Fj:d&&qc(d)&&(b=d.Va)}}return b};
|
|
|
|
|
h.message=function(a,b){b&&(a+=" @"+sj(this,W(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ha&1073741824)this.N.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.U)||ub(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,ce(a),a.hb=0,a.J&&L(a.J,void 0))}};
|
|
|
|
|
function hj(a){var b;if(!gf(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Gj);for(b=0;b<a.i.length;b++)a.i[b]=W();a.R=0;a.u("instruction history buffer allocated")}}function Hj(a,b,c){if(!Ij(a,c))return!1;cc(a.f,b);return!0}
|
|
|
|
|
function dc(a,b,c,d){if(!Ij(a))return!1;null===c&&(c=!a.ra||"tr"==a.ra);a.w=0;b||gf(a)&&hf(a,a.f.g[7],0);try{b=de(a.f,b);var e=a.f.$b(b);0<e&&(ec(a.f,e),a.w+=e,fc(a.f,e,!0),gc(a.f,e),a.Y++)}catch(f){"number"!=typeof f&&(a.w=0,rb(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),L(a.J,-1));Vd(a,c||!1);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
|
|
|
|
|
function Vd(a,b){if(a.Da){void 0===b&&(b=!0);var c;c=a.f;if(c=c.i&128?c.Zc|c.Yc<<8:0){var d=c>>8;a.u("trapped to "+O(a,c&255,1)+" ("+(0>d?Cb[-d]:O(a,d))+")")}a.H=W(a.f.g[7]);b&&1!=a.I?Jj(a):Kj(a)}}function Ij(a,b){var c;(c=!a.f||!tb(a.f))||(c=a.f,c.A.fa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.U?(b||a.u("cpu busy or unavailable, command ignored"),!1):!sb(a.f)}h.ta=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
|
|
|
|
|
h.Ca=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){hj(this);this.Y=0;this.S=null;this.w=0;this.H=W(this.f.g[7]);this.A.U=!1;Lj(this);a||Vd(this)};h.save=function(){var a=new le(this);a.set(0,lj(this.H));a.set(1,lj(this.O));a.set(2,[this.j,this.P,this.ha]);a.set(3,this.C);return a.data()};
|
|
|
|
|
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=mj(this,a[b++]),this.O=mj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ha|=a[b][2]);a[3]&&(this.C=a[3]);return!0};h.start=function(a,b){this.I||this.u("running");this.A.U=!0;this.Ea=a;this.Fa=b};
|
|
|
|
|
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Fa;if(!this.I){b="stopped";if(this.w){a-=this.Ea;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";gf(this)&&(b+=this.Y+" instructions, ",this.Y=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else I(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}Vd(this,!0);Wd(this);Lj(this,this.f.g[7]);this.S=null}};function gf(a){return 1<a.g.length||!!a.ba}
|
|
|
|
|
function hf(a,b,c){var d=-1;c||(d=mc(a.f,b))||(a.f.P&65535)!=b||(b=qe(a.f,2));if(0<c&&(a.ba&&!--a.ba||Mj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.Y++,0>d&&(d=mc(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function ng(a){var b=a.f;if(b.A.U)throw ke(b,a.f.P&65535),a.Z(),-1;return!1}function Md(a,b,c){Mj(a,b,c||1,a.L)&&a.Z(!0)}function Nd(a,b,c){Mj(a,b,c||1,a.G)&&a.Z(!0)}
|
|
|
|
|
function gj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!1)):Be(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=kj(c),c.Ka?(c=a.D,Ld(c.b[d>>>c.g],!0)):Be(a.f,!0);a.G=["bw"];a.na=0}
|
|
|
|
|
h.ob=function(a,b,c){var d=!0;c||Nj(this,a,b,!1,!0);if(a!=this.g){var e=kj(b);if(-1===e)this.u("invalid address: "+sj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].ob(e&g.i,f)}else e=this.f,(f?e.Vb++:e.Tb++)||ie(e)}}d&&(a.push(b),c?b.Qa=!0:(Oj(this,a,a.length-1,"set"),hj(this)));return d};
|
|
|
|
|
function Nj(a,b,c,d,e){var f=!1;c=kj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==kj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Oj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Ld(d.b[c>>>d.g],b)):Be(a.f,b));k.Qa||hj(a);break}}return f}function Pj(a,b){for(var c=1;c<b.length;c++)Oj(a,b,c);return b.length-1}function Oj(a,b,c,d){c=b[c];a.u(b[0]+" "+sj(a,c)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}
|
|
|
|
|
function Lj(a,b){if(void 0!==b)Mj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!Nj(a,a.g,c,!0))break;b=0}}}
|
|
|
|
|
function Mj(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=kj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Nj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Qj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Oj(a,d,g,"hit");break}}}a.na--;return f}
|
|
|
|
|
function Rj(a,b,c,d){var e=W(b.K),f=a.Oa(b,2),g,k;for(k in a.Ga)if(g=a.Ga[k][f&k])break;g||(g=Sj);var l=g[0];0<=a.X.indexOf(l)&&(g=Sj,l=g[0]);var m=k="",n=Tj[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var D=u,u=b,z="",C=D&Uj;if(C==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(C==Vj)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(C==Wj)z=O(t,f&7,1);else if(C==Xj)z=O(t,f&63,1);else if(C==Yj)z=O(t,f&255,1);else if(C=f&D,D&Zj&&(C>>=6,D>>=6),D&Y){var D=null,F=C&
|
|
|
|
|
ak;switch(C&bk){case 0:z=uj(F);break;case 8:z="@"+uj(F);D=ck(t,t.f.g[F]);break;case 16:7>F?z="("+uj(F)+")+":(C=t.Oa(u,2),z="#"+O(t,C,0,!0));break;case 24:7>F?z="@("+uj(F)+")+":(C=t.Oa(u,2),z="@#"+O(t,C,0,!0),D=ck(t,C));break;case 32:z="-("+uj(F)+")";break;case 40:z="@-("+uj(F)+")";break;case 48:C=t.Oa(u,2);z=O(t,C,0,!0)+"("+uj(F)+")";7==F&&(z=O(t,C=C+u.K&65535),D=ck(t,C));break;case 56:C=t.Oa(u,2),z="@"+O(t,C)+"("+uj(F)+")",7==F&&(z="@"+O(t,C=C+u.K&65535),D=ck(t,mc(t.f,C)))}D&&(z=[z,D])}t=z;if(!t||
|
|
|
|
|
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=sj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=ta(f,24);g+=ta(n,5);k&&(g+=" "+k);if(c||m)g=ta(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+Yd(a.f).toString()+" cs="+v(a.f.Qb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
|
|
|
|
|
function ck(a,b){b=ze(a.f,b)[0];b>=a.f.ib&&b<a.D.C&&(b=b-a.f.ib+a.D.C);var c=a.D;a=null;b>=c.C&&(b=c.Ma[b&Yc])&&(a=b[4]);return a}function dk(a,b){switch(b){case "N":a=pe(a.f);break;case "Z":a=oe(a.f);break;case "V":a=ne(a.f);break;case "C":a=me(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
|
|
|
|
function Z(a,b){var c="",d=a.f;if(8>b)c=uj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.ra[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.X[b-16]);else switch(b){case vj:c="PS="+O(a,nd(d));break;case wj:c="PI="+O(a,d.bb);break;case xj:c="ER="+O(a,d.R);break;case yj:c="SL="+O(a,d.Ba&65280);break;case zj:c="M0="+O(a,hd(d));break;case Aj:c="M1="+O(a,jd(d));break;case Bj:c="M2="+O(a,kd(d));break;case Cj:c="M3="+O(a,d.T);break;case Dj:a.b&&(c="AR="+O(a,a.b.ua,3));break;case Ej:a.b&&(c="DR="+
|
|
|
|
|
O(a,a.b.tb));break;case Fj:a.b&&qc(a.b)&&(c="SR="+O(a,a.b.Va,3))}c&&(c+=" ");return c}function ek(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,vj)+Z(a,wj)+Z(a,yj);d+=dk(a,"T")+dk(a,"N")+dk(a,"Z")+dk(a,"V")+dk(a,"C");b&&(b=d,c=""+(Z(a,zj)+Z(a,Aj)),c+=Z(a,Bj)+Z(a,Cj)+Z(a,xj),c=c+"\n"+(Z(a,Fj)+Z(a,Dj)+Z(a,Ej)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
|
|
|
|
function nh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=xa(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.C.push({xh:b,K:c,Qd:d,ea:e,ad:f})}function fk(a,b,c){var d=[],e=kj(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=xa(f.ad,[e-g],a.dd);0<=e?gk(a,b,e,d):c&&(e=~e,gk(a,b,e-1,d),gk(a,b,e,d));break}}return d}
|
|
|
|
|
function gk(a,b,c,d){var e={},f=a.C[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].ea[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function hk(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ej(a)||a.u("no variables"),!0;if(!c[2])return ej(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=$i(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
|
|
|
|
|
function ik(a,b,c){var d=null;if(b=pj(a,b,!0)){var e=fk(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.K-e[1])&&(g=" + "+w(f)),f=e[0]+" ("+O(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.K)&&(g=" - "+w(f)),f=e[4]+" ("+O(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
|
|
|
|
|
function Jj(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=!1,e=a.f;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)d=!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=$i(a,b);if(void 0===g)return;b=f.toUpperCase();switch(b){case "SP":case "R6":e.g[6]=g&65535;break;case "PC":case "R7":ke(e,
|
|
|
|
|
g);a.H=W(e.g[7]);break;case "N":e.I=g?32768:0;break;case "Z":e.L=g?0:1;break;case "V":e.H=g?32768:0;break;case "C":e.G=g?65536:0;break;case "PS":od(e,g);break;case "PI":md(e,g);break;case "ER":e.R=g;d=!0;break;case "SL":e.Ba=g|255;break;case "M0":id(e,g);d=!0;break;case "M3":ld(e,g);d=!0;break;case "AR":a.b&&(d=a.b,nc(d,d.ua=g));d=!0;break;case "DR":a.b&&(d=a.b,ic(d,d.tb=g));d=!0;break;case "SR":if(a.b&&qc(a.b)){oc(a.b,g);d=!0;break}default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){e.g[b]=
|
|
|
|
|
g&65535;break}a.u("unknown register: "+f);return}L(a.J);a.u("updated registers:")}}a.u(ek(a,d));c&&(a.H=W(e.g[7]),Kj(a,sj(a,a.H)))}}function jk(a,b){b=ua(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):dj(a,null,c[2].charCodeAt(0)):$i(a,b,!0)}
|
|
|
|
|
function kk(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=bj(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.ra=b;Ra(c,function(){return vb(a,!0)&&dc(a,e,d,!1)},function(){a.b&&a.b.stop();L(a.J,-1);vb(a,!1)})}}
|
|
|
|
|
function Kj(a,b,c,d){if(b=pj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=bj(a,c.substr(1)),null!=c&&(d=c);else{d=pj(a,c,!0);if(!d||d.K<b.K)return;e=d.K-b.K;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ub(a,!1)||a.I?a.w:null;var g=null!=f?"cycles":null,k=fk(a,b),l=b.K;if(k[0]&&d&&(!c&&d||0>k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.u(m)}k[3]&&(g=k[3],f=null);f=Rj(a,b,g,f);a.u(f);a.H=b;e-=b.K-l;c++}}}
|
|
|
|
|
function Qj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+sj(a,a.O)),a.H=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(tb(a)&&0<b.length){a.P&&(b="a "+sj(a,a.O)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
|
|
|
|
|
pj(a,g[1],!0);if(r)if(a.O=r,void 0===g[2])a.u("begin assemble at "+sj(a,r)),a.P=!0,L(a.J);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Nc(r,u[t],1);a.u(Rj(a,a.O))}}break;case "b":a:{var D=g[0],z=g[1],C=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
|
|
|
|
|
else{var F=D.charAt(1);if("l"==F){var fb;fb=0+Pj(a,a.g);fb+=Pj(a,a.L);(fb+=Pj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.ba=bj(a,z),a.u("break after "+a.ba+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var V=W();if("*"!=z&&(V=pj(a,z,!0),!V))break a;"c"==F?null==V.K?(gj(a),a.u("all breakpoints cleared")):Nj(a,a.g,V)||Nj(a,a.L,V)||Nj(a,a.G,V)||a.u("breakpoint missing: "+sj(a,V)):null!=V.K&&(rj(a,V,C),"p"==F?a.ob(a.g,V):"r"==F?a.ob(a.L,V):"w"==F?a.ob(a.G,V):a.u("unknown breakpoint command: "+
|
|
|
|
|
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Gb,Ua=g[0],Ga=g[1],Va=g[2],Kk=g[3];if("?"==Ga){var Hb="";for(Gb in Eb)a.ma[Gb]&&(Hb&&(Hb+=","),Hb+=Gb);Hb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords 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");
|
|
|
|
|
Hb.length&&a.u("dump extension commands:\n\t"+Hb)}else if("state"==Ga){var Le=lk(a.J,!0);"console"==Va?console.log(Le):(a.Pa&&(a.Pa.value=""),Le&&a.u(Le))}else if("symbols"==Ga)for(var Me=0;Me<a.C.length;Me++){var Ne=a.C[Me],Ib;for(Ib in Ne.ea)if("."!=Ib.charAt(0)){var fi=Ne.ea[Ib].o;if(void 0!==fi){var gi=Ne.ea[Ib].l;gi&&(Ib=gi);a.u(O(a,fi)+" "+Ib)}}}else{if("d"==Ua){for(Gb in Eb)if(g[1]==Gb){var hi=a.ma[Gb];hi?(g.shift(),g.shift(),hi(g)):a.u("no dump registered for "+Ga);break a}Ga||(Ua=a.Ha||"dw")}else a.Ha=
|
|
|
|
|
Ua;if("dh"==Ua){var ii=Ga,ji=Va,ki="",li=0,wa=a.R,Ha=a.i;if(Ha.length){var ra=+ii||a.qa,rc=+ji||10;isNaN(ra)?ra=rc:ki="more ";ra>Ha.length&&(a.u("note: only "+Ha.length+" available"),ra=Ha.length);wa-=ra;0>wa&&(null==Ha[Ha.length-1].K?(ra=wa+ra,wa=0):wa+=Ha.length);var Oe=[];"call"==ji&&(rc=1E5,Oe=["CALL"]);for(void 0!==ii&&a.u(ra+" instructions earlier:");0<rc&&wa!=a.R;){var mi=Ha[wa++];if(null==mi.K)break;var sc=W(mi.K),Lk=ra--,ni=Rj(a,sc,"history",Lk);(!Oe.length||0<=ni.indexOf(Oe[0]))&&a.u(ni);
|
|
|
|
|
sc.Ac&&(wa+=sc.Ac,rc-=sc.Ac,ra-=sc.Ac);wa>=Ha.length&&(wa=0);a.qa=ra;li++;rc--}}li||(a.u("no "+ki+"history available"),a.qa=void 0)}else{var fa=pj(a,Ga);if(fa)if("da"==Ua){var Pe=fa.Ka||65535<fa.K,K=ze(a.f,fa.K||0,Pe);a.u(ta("",Pe?12:19)+ma(fa.K,Pe?22:17,3)+" "+q(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ma(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+na(K[1])+"]: "+ma(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
|
|
|
|
|
ma(K[1],13,3)+" "+q(K[1],8)),a.u("+ "+mk[K[2]]+"PAR"+K[3]+": "+ma(K[4],22,3)+" "+q(K[4],8)),a.u("& MMUMASK: "+ma(K[5],22,3)+" "+q(K[5],8)),a.u("= PHYSICAL: "+ma(K[0],22,3)+" "+q(K[0],8)))}else{var hb=0,Qe="ds"==Ua;if(Va){if("l"==Va.charAt(0))Va=Va.substr(1)||Kk,hb=bj(a,Va);else{var oi=pj(a,Va);oi&&(hb=oi.K-fa.K)}0>hb&&(hb=0);65536<hb&&(hb=65536)}var Nk=a.ya;fa.ya&&(a.ya=fa.ya);for(var ib="dd"==Ua?4:"db"==Ua?1:2,vd=ib*hb||128,Re=Qe?16:a.ya,Ok=(vd+Re-1)/Re|0||1,jb="";Ok--&&0<vd;){for(var kb=
|
|
|
|
|
"",Se="",Ga=sj(a,fa),wd=Re,tc=0,uc=0;0<wd&&0<vd;){var Jb=1,xd=1==ib?a.Mc(fa,Jb):a.Oa(fa,Jb=2),tc=tc|xd<<(uc<<3),uc=uc+Jb;uc==ib&&(Qe?(kb&&(kb+=","),kb+="0x"+v(tc,2*ib)):(kb+=O(a,tc,ib),kb+=1==ib?9==wd?"-":" ":" "),tc=uc=0);wd-=Jb;for(vd-=Jb;1==ib&&Jb--;)var Te=xd&255,Se=Se+(32<=Te&&128>Te?String.fromCharCode(Te):"."),xd=xd>>8}jb&&(jb+="\n");jb=Qe?jb+(kb+","):jb+(Ga+": "+kb+(wd?"":" "+Se))}jb&&a.u(jb);a.Ba=fa;a.ya=Nk}}}}break;case "e":if("else"==g[0])break;var Kb,Ue,Ve,We,Xe=g[0],Ye=g[1];"eb"==Xe?
|
|
|
|
|
(Kb=1,Ue=255,Ve=a.Mc,We=a.Nc):"e"==Xe||"ew"==Xe?(Kb=2,Ue=65535,Ve=a.Oa,We=a.yd):Ye=null;if(null==Ye)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var yd=pj(a,Ye);if(yd)for(var zd=2;zd<g.length;zd++){var vc=$i(a,g[zd]);if(void 0===vc){a.u("unrecognized value: "+g[zd]);break}vc&~Ue&&a.u("warning: "+v(vc)+" exceeds "+Kb+"-byte value");a.u("changing "+sj(a,yd)+(I(a,16)?"":" from "+O(a,Ve.call(a,yd),Kb))+" to "+O(a,vc,Kb));
|
|
|
|
|
We.call(a,yd,vc,Kb)}}break;case "g":a:{var pi=g[1],Pk=b;if(void 0!==pi){var Ze=pj(a,pi,!0);if(!Ze)break a;rj(a,Ze,Pk);a.ob(a.g,Ze,!0)}Hj(a,!0,c)}break;case "h":a.A.U?(c||a.u("halting"),a.Z()):ub(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var $e;var wc=b.substr(2),wc=ua(wc);$i(a,wc)?(c||a.u("true: "+wc),$e=!0):(c||a.u("false: "+wc),$e=!1);$e||(d=!1);break}f=!0;break;case "k":var Qk=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");
|
|
|
|
|
else{var af=0,bf=W(),xc=W(a.f.g[6]);for(a.u("stack trace for "+sj(a,xc));10>af;){for(var lb=null,Rk=256;65536>xc.K>>>0;){bf.K=a.Oa(xc,2);if(null==xc.K||!Rk--)break;if(!(bf.K&1)){for(var Sk=a,Ad=bf,qi=null,yc=Ad.K,ri=yc,cf=1;6>=cf&&yc;cf++){if(2<cf){Ad.K=yc;var Bd=Rj(Sk,Ad);if(0<=Bd.indexOf("JSR")){var si=Bd.indexOf(" ");if(yc+(Bd.indexOf(" ",si+1)-si-1)/2==ri){qi=Bd;break}}}yc-=2}Ad.K=ri;if(lb=qi)break}}if(!lb||null==lb)break;var ti=null;if("ks"==Qk){var ui=lb.match(/[0-9A-F]+$/);ui&&(ti=ik(a,ui[0]))}lb=
|
|
|
|
|
ta(lb,50)+" ;"+(ti||"stack="+sj(a,xc));a.u(lb);af++}af||a.u("no return addresses found")}break;case "l":if("ln"==g[0]){ik(a,g[1],!0);break}f=!0;break;case "m":a:{var Ia,Ja=null,N=g[1];"?"==N&&(N=void 0);if(void 0!==N){var Wa=0;if("all"==N)Wa=1879046143,N=null;else if("on"==N)Ja=!0,N=null;else if("off"==N)Ja=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ia in Eb)if(N==Ia){Wa=Eb[Ia];Ja=!!(a.ha&Wa);break}if(!Wa){a.u("unknown message category: "+N);break a}}if(Wa)if("on"==g[2])a.ha|=
|
|
|
|
|
Wa,Ja=!0;else if("off"==g[2]&&(a.ha&=~Wa,Ja=!1,1073741824==Wa)){for(var vi=1E3<=a.N.length?a.N.length-1E3:0;vi<a.N.length;)a.u(a.N[vi++]);a.N=[]}}var Tk=0,zc="";for(Ia in Eb)if(!N||N==Ia){var Uk=!!(a.ha&Eb[Ia]);if(null===Ja||Ja==Uk)zc&&(zc+=","),++Tk%10||(zc+="\n\t"),"key"==Ia&&(Ia="keys"),zc+=Ia}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==Ja?Ja?"messages on: ":"messages off: ":"message categories:\n\t")+(zc||"none"));hj(a)}break;case "p":if("print"==
|
|
|
|
|
g[0]){jk(a,b.substr(5));break}var Vk=g[0];if("?"==g[1])a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else{var wi="pr"==Vk?1:0,xi=1+wi;if(a.I)a.u("step in progress");else{var Cd=W(a.f.g[7]),Lb=a.Oa(Cd);3==Lb||4==Lb||34816==(Lb&65280)||32256==(Lb&65024)||35072==(Lb&65280)?(a.I=xi,qj(Cd,2)):2048==(Lb&65024)&&(Rj(a,Cd),a.I=xi);a.I?(a.ob(a.g,Cd,!0),Hj(a)||(a.J&&be(a.J),a.I=0)):kk(a,wi?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();
|
|
|
|
|
break}Jj(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ac=+g[2];if(8==Ac||10==Ac||16==Ac)a.ya=Ac;else{a.u("invalid base: "+Ac);break}}a.u("default base: "+a.ya);break;case "cs":var Bc;void 0!==g[3]&&(Bc=+g[3]);switch(g[2]){case "int":a.f.Ab=Bc;break;case "start":a.f.Rb=Bc;break;case "stop":a.f.Cb=Bc;break;default:a.u("unknown cs option");break a}void 0!==Bc&&Ud(a.f);a.u("checksums "+(a.f.A.zb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zd(a.f,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));
|
|
|
|
|
a.u("target speed: "+(a.f.nb.toFixed(2)+"Mhz")+" ("+a.f.Za+"x)");break;default:if(g[1]){a.u("unknown option: "+g[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":kk(a,g[0],g[1]);break;case "u":Kj(a,g[1],g[2],8);break;case "v":if("var"==g[0]){hk(a,
|
|
|
|
|
b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((xb||"PDP11")+" version 1.32.0 ("+a.f.ba+",RELEASE"+(zb?",TYPEDARRAYS":yb?",BYTEARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){jk(a,b.substr(1));break}var df="commands:",ef;for(ef in nk)df+="\n"+ta(ef,9)+nk[ef];gf(a)||(df+="\nnote: history disabled if no exec breakpoints");a.u(df);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(zi){a.u("debugger error: "+(zi.stack||zi.message)),
|
|
|
|
|
d=!1}return d}function Xd(a,b,c){b=Yi(a,b,c);for(var d in b)if(!Qj(a,b[+d]))return!1;return!0}
|
|
|
|
|
var nk={"?":"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"},Tj=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
|
|
|
|
vj=20,wj=21,xj=22,yj=23,zj=24,Aj=25,Bj=26,Cj=27,Dj=28,Ej=29,Fj=30,tj={SP:6,PC:7,PS:vj,PI:wj,ER:xj,SL:yj,M0:zj,M1:Aj,M2:Bj,M3:Cj,AR:Dj,DR:Ej,SR:Fj},mk="KI KD SI SD ?? ?? UI UD".split(" "),ak=7,bk=56,Y=bk|ak,Zj=4032,X=4096,Vj=8192,Wj=12288,Xj=24576,Yj=32768,Uj=61440,jj={61440:{4096:[62,Zj,Y],8192:[47,Zj,Y],12288:[18,Zj,Y],16384:[14,Zj,Y],20480:[16,Zj,Y],24576:[3,Zj,Y],36864:[63,Zj,Y],40960:[48,Zj,Y],45056:[19,Zj,Y],49152:[15,Zj,Y],53248:[17,Zj,Y],57344:[94,Zj,Y]},65024:{2048:[57,448,Y],28672:[100,Y,
|
|
|
|
|
448],29184:[101,Y,448],29696:[102,Y,448],30208:[103,Y,448],30720:[104,448,Y],32256:[105,448,Vj]},65280:{256:[27,X],512:[24,X],768:[10,X],1024:[11,X],1280:[22,X],1536:[12,X],1792:[20,X],32768:[25,X],33024:[23,X],33280:[13,X],33536:[21,X],33792:[28,X],34048:[29,X],34304:[8,X],34560:[9,X],34816:[106,Yj],35072:[107,Yj]},65472:{64:[56,Y],192:[95,Y],2560:[39,Y],2624:[49,Y],2688:[53,Y],2752:[51,Y],2816:[67,Y],2880:[1,Y],2944:[77,Y],3008:[97,Y],3072:[73,Y],3136:[71,Y],3200:[6,Y],3264:[4,Y],3328:[58,Xj],3392:[60,
|
|
|
|
|
Y],3456:[65,Y],3520:[96,Y],35328:[40,Y],35392:[50,Y],35456:[54,Y],35520:[52,Y],35584:[68,Y],35648:[2,Y],35712:[78,Y],35776:[98,Y],35840:[74,Y],35904:[72,Y],35968:[7,Y],36032:[5,Y],36096:[66,Y],36160:[59,Y],36224:[64,Y],36288:[61,Y]},65528:{128:[76,ak],152:[108,Wj]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],
|
|
|
|
|
179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Sj=[0],nj=[58,60,65,96,110,100,101,102,103,104,105],oj=[108,59,64],Gj=1E3;Xa(function(){for(var a=G(document,E,"debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new fj(d);qb(d,c)}});
|
|
|
|
|
function ok(a,b,c){A.call(this,"Computer",a,0,33554432);this.A.fa=!1;this.O=null;pk(this,b);this.L=Sd(this,"autoPower",a,6);this.j=0;this.T=+a.busWidth||+a.buswidth;this.b=qk;this.H=null;this.R=this.w=this.N=this.C=this.S=!1;this.v=null;this.V=Sd(this,"url")||"";(Math.random()+.1).toString(36);this.g=rk(this);if(this.f=pb("CPU",this.id)){this.F=pb("Debugger",this.id);this.D=new Ec({id:this.lb+".bus",busWidth:this.T},this.f,this.F);var d,e=nb(this.id);if((this.i=pb("Panel",this.id))&&this.i.Pa)for(b=
|
|
|
|
|
0;b<e.length;b++)d=e[b],d.M=this.i.M,d.u=this.i.u,d.Pa=this.i.Pa;this.u(xb+" v1.32.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.sa&&d.sa(this,this.D,this.f,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var f;if(a=Sd(this,"state")||(f=!0,a.state))b=
|
|
|
|
|
this.P=a,f||(this.C=!0,this.b=qk),this.b&&(this.I=new le(this,"1.32.0"),sk(this.I)?b=null:delete this.I);!b&&this.b&&(b=tk(this))&&(this.C=!0);if(b){var g=this;Aa(b,null,!0,function(a,b,c){c?(g.G=null,g.C=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.H=b,g.S=!0);H(g)})}else H(this);this.B.power||(this.L=!0);!c&&this.L&&uk(this,this.Ub)}else y("Unable to find CPU component")}p(ok,A);
|
|
|
|
|
function pk(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){y(d.message+" ("+c+")")}}a.O=b}function Sd(a,b,c,d){var e=b.toLowerCase(),e=Oa(b)||Oa(e);void 0===e&&a.O&&(e=a.O[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);if("string"==typeof e&&d)switch(d){case 4:e=+e;break;case 6:e="true"==e}return e}
|
|
|
|
|
function uk(a,b,c){for(var d=nb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){uk(a,b,c)});return}}b.call(a,c)}function vk(a,b){var c=new le(a,"1.32.0",wk);if(sk(c)&&xk(c)){var d=c.get(yk),e=b?b.get(yk):"unknown";d!=e&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=ok.prototype;
|
|
|
|
|
h.Ub=function(a){void 0===a&&(a=this.b||(this.H?zk:qk));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.I||new le(this,"1.32.0");if(a==Ak)b=!0;else if(a>qk){if(sk(d,this.H)){this.v=new le(this,"1.32.0",Bk);sk(this.v)&&(Ck(this,d),a=Dk,Ek(this.v));this.v.set(yk,za());Fk(this.v);var e=this.b&&!this.C;if(a==zk||Ea("Click OK to restore the previous "+xb+" machine state, or CANCEL to reset the machine.")){if(c=xk(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?sk(d,g):("error"==f&&"no machine state"!=
|
|
|
|
|
g?(this.M("Error: "+g),"unable to verify user"==g&&(Ma(Gk,""),this.g=null)):this.u(f+": "+g),Ek(d),sk(d)?(c=xk(d),e=!0):c=!1))}e&&vk(this,c?d:null)}else a==Dk&&d.clear()}else vk(this);delete this.H;delete this.I}e=nb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Hk(this,g,d,b,c));b=[d,a,c];a!=Ak?uk(this,this.ed,b):this.ed(b)}};
|
|
|
|
|
function Hk(a,b,c,d,e){if(!b.A.fa){b.A.fa=!0;if(b.ta){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ta(f,d)&&f&&(y("Unable to restore state for "+b.type),a.P&&!a.S?(c.clear(),a.b=qk,window&&window.location.reload()):a.N=!0,b.ta(null),e=!1)}if(!d&&b.Rc)for(a=b.Rc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
|
|
|
|
h.ed=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.A.fa=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.f&&(Hk(this,this.f,b,c,a),L(this),this.f.Ia());this.N&&(Ck(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.j=0};
|
|
|
|
|
function Ck(a,b){if(Ea("There may be a problem with your "+xb+" machine.\n\nTo help us diagnose it, click OK to send this "+xb+" machine state to http://www.pcjs.org.")){var c=a.V;a=a.g||"";b=b.toString();var d={};d.app=xb;d.ver="1.32.0";d.url=c;d.user=a;d.type="bug";d.data=b;Aa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
|
|
|
|
function lk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new le(a,"1.32.0"),g=new le(a,"1.32.0",wk),k=za();g.set(yk,k);f.set(yk,k);f.set(Ik,"1.32.0");f.set(Jk,window?window.location.href:null);f.set(Mk,window?window.navigator.userAgent:"");a.f&&a.f.Ca&&(c&&a.f.Z(),d=a.f.Ca(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.fa=!1,!1===d&&(e=null)));for(var k=nb(a.id),l=0;l<k.length;l++){var m=k[l];m.A.fa&&(m.Ca&&(d=m.Ca(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.fa=!1,!1===d&&(e=null)))}e&&
|
|
|
|
|
(c?(k=d=!1,b?(a.g&&Wk(a,a.g,f.toString()),Fk(g)&&Fk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==Xk),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.B.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(J(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(J(this,"Resetting "+this.f.type),this.f.reset());for(var a=nb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(J(this,"Resetting "+c.type),c.reset())}L(this,-1)};
|
|
|
|
|
h.start=function(a,b){for(var c=nb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}L(this,-1)};h.stop=function(a,b){for(var c=nb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}L(this,-1)};
|
|
|
|
|
function L(a,b){if(a.f){var c=a.f,d=b||0,e=c.B.speed;e&&(0>=d||30<=(c.oc+=d))&&(e.textContent=c.A.U?c.mb.toFixed(2)+"Mhz":"Stopped",c.oc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)Xb(a,"R"+e,a.f.g[e]);e=nd(a.f);Xb(a,"PS",e);Xb(a,"NF",e&8?1:0,1);Xb(a,"ZF",e&4?1:0,1);Xb(a,"VF",e&2?1:0,1);Xb(a,"CF",e&1?1:0,1);a.j=0}nc(a,0<b&&c&&!d?a.f.jb:a.ta);ic(a,a.tb);b=a.f;b=b.Wa?b.T&16?1:2:4;pc(a,"B22",b&1);pc(a,"B18",b&2);pc(a,"B16",b&4)}}
|
|
|
|
|
h.oa=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.j||(d.A.fa?kk(d,!1,!0):tk(d,d.Ub))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.G){var a=Ea("Click OK to save changes to this "+xb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kk(d,a,!0);!a&&d.P?window&&window.location.reload():(a||(d.w=!0),d.Ub(pk),d.w=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(pa(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.B[b]=c,c.onclick=function(){var a=qk(d,!0);if(a){var b=!!(d.b&&!d.G||d.P),c=kk(d,b);b?Vk(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function qk(a,b){var c=a.g;c||((c=La(Fk),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=Xk(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
|
|
|
|
|
function Xk(a,b){a.g=null;b=Aa(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ma(Fk,b.data),a.g=b.data)}catch(d){y(d.message+" ("+c+")")}return a.g}function sk(a){var b=null;a.g&&(b=Ca()+"/api/v1/user?req=load&user="+a.g+"&state="+Yk(a,"1.32.0"));return b}
|
|
|
|
|
function Vk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Yk(a,"1.32.0");d.data=c;b=Aa(Ca()+"/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.M("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.M(c),Ma(Fk,""),a.g=null)}}
|
|
|
|
|
function Eh(a){var b;a=nb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function be(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Ak="failsafe",vk="validate",xk="timestamp",Hk="version",Ik="url",Lk="browser",Fk="user",zk=-1,pk=0,yk=1,Ck=2,Wk=3;
|
|
|
|
|
Xa(function(){for(var a=G(document,E+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=G(c,E,"computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new nk(g,d,!0);qb(g,f);g.L&&tk(g,g.Ub)}});Ya.show.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.R&&!c.A.fa&&c.Ub(zk)}});Ya.exit.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.A.fa&&kk(c,!(!c.b||c.G),!0)}});
|
|
|
|
|
function le(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=Yk(a,b,c);Dk(this,a.Fd)}h=le.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function rk(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:Fa()&&(b=La(a.key))?(a.b=b,a.g=!0):!1}function wk(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){y(c.message||c),b=!1}return b}
|
|
|
|
|
function Ek(a){var b=!0;if(Fa()){var c=JSON.stringify(a.f);Ma(a.key,c)||(y("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Dk(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
|
|
|
|
|
h.clear=function(a){Dk(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 Yk(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 Zk=0;
|
|
|
|
|
function $k(a,b,c,d,e,f){e("Loading "+a+"...");Aa(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):al(k,a,b,c,d,e,f)})}
|
|
|
|
|
function al(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(gb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
|
|
|
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?bl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function bl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
|
|
|
|
"");a=a.replace(d[0],g);bl(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function cl(a,b,c,d){function e(a){if(void 0===k){var b=g&&G(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=qa(a))}function f(a){e("Error: "+a);l&&(--Zk||ab(!0));l=!1}var g,k,l=!0;Zk++;mb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
|
|
|
|
|
(c="/versions/pdpjs/1.32.0/components.xsl");m=function(d,k){k?$k(c,null,null,!1,e,function(d,l){l?(gb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Zk||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Zk||ab(!0)):f("invalid machine element: "+
|
|
|
|
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?$k(b,a,d,!0,e,m):al(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){ab(!1);return cl(a,b,c,d)};window.enableEvents=ab;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.0/pdp11-dbg.map
|
|
|
|
|
function L(a,b){if(a.f){var c=a.f,d=b||0,e=c.B.speed;e&&(0>=d||30<=(c.oc+=d))&&(e.textContent=c.A.U?c.mb.toFixed(2)+"Mhz":"Stopped",c.oc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)Xb(a,"R"+e,a.f.g[e]);e=nd(a.f);Xb(a,"PS",e);Xb(a,"NF",e&8?1:0,1);Xb(a,"ZF",e&4?1:0,1);Xb(a,"VF",e&2?1:0,1);Xb(a,"CF",e&1?1:0,1);a.j=0}nc(a,0<b&&c&&!d?a.f.jb:a.ua);ic(a,a.tb);b=a.f;b=b.Wa?b.T&16?1:2:4;pc(a,"B22",b&1);pc(a,"B18",b&2);pc(a,"B16",b&4)}}
|
|
|
|
|
h.pa=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.j||(d.A.fa?lk(d,!1,!0):uk(d,d.Ub))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.G){var a=Ea("Click OK to save changes to this "+xb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lk(d,a,!0);!a&&d.P?window&&window.location.reload():(a||(d.w=!0),d.Ub(qk),d.w=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(pa(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
|
|
|
|
|
else return this.B[b]=c,c.onclick=function(){var a=rk(d,!0);if(a){var b=!!(d.b&&!d.G||d.P),c=lk(d,b);b?Wk(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
|
|
|
|
|
function rk(a,b){var c=a.g;c||((c=La(Gk),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=Yk(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
|
|
|
|
|
function Yk(a,b){a.g=null;b=Aa(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ma(Gk,b.data),a.g=b.data)}catch(d){y(d.message+" ("+c+")")}return a.g}function tk(a){var b=null;a.g&&(b=Ca()+"/api/v1/user?req=load&user="+a.g+"&state="+Zk(a,"1.32.0"));return b}
|
|
|
|
|
function Wk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Zk(a,"1.32.0");d.data=c;b=Aa(Ca()+"/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.M("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.M(c),Ma(Gk,""),a.g=null)}}
|
|
|
|
|
function Eh(a){var b;a=nb(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function be(a,b){if(a.Pa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.Pa.focus();!b&&window&&window.scrollTo(c,d)}}var Bk="failsafe",wk="validate",yk="timestamp",Ik="version",Jk="url",Mk="browser",Gk="user",Ak=-1,qk=0,zk=1,Dk=2,Xk=3;
|
|
|
|
|
Xa(function(){for(var a=G(document,E+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=G(c,E,"computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new ok(g,d,!0);qb(g,f);g.L&&uk(g,g.Ub)}});Ya.show.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.R&&!c.A.fa&&c.Ub(Ak)}});Ya.exit.push(function(){for(var a=G(document,E,"computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=pb("Computer",c.id))&&c.A.fa&&lk(c,!(!c.b||c.G),!0)}});
|
|
|
|
|
function le(a,b,c){this.id=a.id;this.b="";this.f={};this.g=this.B=!1;this.key=Zk(a,b,c);Ek(this,a.Fd)}h=le.prototype;h.set=function(a,b){try{this.f[a]=b}catch(c){}};h.get=function(a){return this.f[a]||null};h.data=function(){return this.f};function sk(a,b){return b?(a.b=b,a.g=!0,a.B=!1,!0):a.g?!0:Fa()&&(b=La(a.key))?(a.b=b,a.g=!0):!1}function xk(a){var b=!0;if(!a.B)try{a.f=JSON.parse(a.b),a.B=!0}catch(c){y(c.message||c),b=!1}return b}
|
|
|
|
|
function Fk(a){var b=!0;if(Fa()){var c=JSON.stringify(a.f);Ma(a.key,c)||(y("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}h.toString=function(){return this.f?JSON.stringify(this.f):this.b};function Ek(a,b){a.b="";a.f={};a.g=a.B=!1;b&&a.set("parms",b)}
|
|
|
|
|
h.clear=function(a){Ek(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 Zk(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 $k=0;
|
|
|
|
|
function al(a,b,c,d,e,f){e("Loading "+a+"...");Aa(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):bl(k,a,b,c,d,e,f)})}
|
|
|
|
|
function bl(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(gb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
|
|
|
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?cl(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
|
|
|
|
function cl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Aa(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
|
|
|
|
"");a=a.replace(d[0],g);cl(a,b,c)}})}else c(a,null)}
|
|
|
|
|
function dl(a,b,c,d){function e(a){if(void 0===k){var b=g&&G(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=qa(a))}function f(a){e("Error: "+a);l&&(--$k||ab(!0));l=!1}var g,k,l=!0;$k++;mb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
|
|
|
|
|
(c="/versions/pdpjs/1.32.0/components.xsl");m=function(d,k){k?al(c,null,null,!1,e,function(d,l){l?(gb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--$k||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--$k||ab(!0)):f("invalid machine element: "+
|
|
|
|
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?al(b,a,d,!0,e,m):bl(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return l}window.embedPDP11=function(a,b,c,d){ab(!1);return dl(a,b,c,d)};window.enableEvents=ab;window.sendEvent=cb;})();//# sourceMappingURL=/tmp/pdpjs/1.32.0/pdp11-dbg.map
|
|
|
|
|
|