PDP-10 multiply diagnostic testing finally underway; fixed one bug related to the KA10 (not that anyone really cares anymore)
This commit is contained in:
parent
90ae3f1db8
commit
307517fd76
9 changed files with 20151 additions and 45 deletions
|
|
@ -48,7 +48,7 @@ function Qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return
|
|||
function Sa(a){if(!Ta){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," "))}Ta=c}return Ta[a]}function Ua(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Va(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 Wa(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){q(""+("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 Ta=null,Ya={init:[],show:[],exit:[]},bb=!1,db=!1,$a=!0,La=null;Wa("onload",function(){bb=!0;Za(Ya.init)});Wa("onpageshow",function(){db=!0;Za(Ya.show)});Wa(Ra("Opera")||Ra("iOS")?"onunload":"onbeforeunload",function(){Za(Ya.exit)});
|
||||
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Cb=b.comment;this.Sb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.ab=this.id:(this.bb=this.id.substr(0,a),this.ab=this.id.substr(a+1));this.A={ready:!1,Wa:!1,pb:!1,aa:!1,error:!1};this.fb=null;this.A.error=!1;this.ca=c||0;this.D=this.v=this.G=this.H=this.za=null;eb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date}
|
||||
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Db=b.comment;this.Sb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.ab=this.id:(this.bb=this.id.substr(0,a),this.ab=this.id.substr(a+1));this.A={ready:!1,Wa:!1,qb:!1,aa:!1,error:!1};this.fb=null;this.A.error=!1;this.ca=c||0;this.D=this.v=this.G=this.H=this.za=null;eb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date}
|
||||
function q(a){window&&window.alert(a)}function ob(a){var b=!1;window&&(b=window.confirm(a));return b}function pb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<eb.length;b++){var d=eb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function qb(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 rb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<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 t(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
||||
function sb(a,b){var c=v;b=w(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),l=0;l<k.length;l++)switch(h=k[l],h){case c+"-binding":(h=t(g))&&h.binding&&a.ta(h.type,h.binding,g,h.value),l=k.length}}}}
|
||||
|
|
@ -56,8 +56,8 @@ function w(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.g
|
|||
function tb(a){for(var b=!0,c=ub[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=vb.indexOf(e)&&(f=function(){return function(){tb(a)}}());var g=wb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=rb(d[1],a);if(h)if(g=xb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete ub[a];return b}m=r.prototype;
|
||||
m.toString=function(){return this.name?this.name:this.id||this.type};
|
||||
m.ta=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.za=this.J[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.ha=function(a){this.u(a,this.ab)}),!0;default:return!1}};m.log=function(){};m.u=function(){};
|
||||
m.status=function(a){this.u(this.ab+": "+a)};m.ha=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function yb(a,b){a.A.error=!0;a.ha(b)}function zb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Bb(a,b){b&&(a.A.ready?b():a.fb=b);return a.A.ready}function Mb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.fb;a.fb=null;b&&b()}}function Nb(a,b){a.A.Wa&&(b?a.A.pb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Wa}
|
||||
function Ob(a,b){if(a.A.pb)return a.A.Wa=!1,a.A.pb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Wa=b;return a.A.Wa}m.Ba=function(){return this.A.aa=!0};m.sa=function(a,b){b&&(this.A.aa=!1);return!0};function Pb(a,b){if(a.D){a===a.D?b|=0:b=b||a.ca;var c=a.D.ca&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function Qb(a,b,c,d){a.D&&(!0===c||Pb(a,c|0))&&a.D.message(b,d)}
|
||||
m.status=function(a){this.u(this.ab+": "+a)};m.ha=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function yb(a,b){a.A.error=!0;a.ha(b)}function zb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Bb(a,b){b&&(a.A.ready?b():a.fb=b);return a.A.ready}function Mb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.fb;a.fb=null;b&&b()}}function Nb(a,b){a.A.Wa&&(b?a.A.qb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Wa}
|
||||
function Ob(a,b){if(a.A.qb)return a.A.Wa=!1,a.A.qb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Wa=b;return a.A.Wa}m.Ba=function(){return this.A.aa=!0};m.sa=function(a,b){b&&(this.A.aa=!1);return!0};function Pb(a,b){if(a.D){a===a.D?b|=0:b=b||a.ca;var c=a.D.ca&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function Qb(a,b,c,d){a.D&&(!0===c||Pb(a,c|0))&&a.D.message(b,d)}
|
||||
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
||||
var mb=window?window.PCjs.Machines:{},eb=window?window.PCjs.Components:[],ub=window?window.PCjs.Commands:{},vb=["hold","sleep","wait"],wb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},xb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||
|
|
@ -77,28 +77,28 @@ function kc(a,b){a.i=b&a.G.j;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){v
|
|||
function jc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=t(c),e=qb(d.id);e||(e=new cc(d,!0));sb(e,c)}}var dc=7,pc="DEP",rc="ENABLE",qc="EXAM",oc="STEP";Xa(jc);function Ac(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Bc(this);Cc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Mb(this)}ka(Ac,r);m=Ac.prototype;m.reset=function(){};
|
||||
m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,Dc(this));return a.data()};m.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function Ec(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ya+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ya){l=h.size-(e-k);l>f&&(l=f);h.Ya=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Fc(Gc,e,f)}e=new Bc(a,e,l,16384,d);Cc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Hc[d]+" at "+ua(b)),!0):Fc(Lc,b,c)}
|
||||
function zc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function yc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Dc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.rb||e.Rb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||
function zc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function yc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Dc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.sb||e.Rb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||
m.Ib=function(a){if(!this.w)throw this.D&&Pb(this.D,4)&&Qb(this.D,"memory fault on "+K(this.D,a),!0,!0),this.v.W(),-1;};function Fc(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Gc=1,Lc=2;function Mc(a){r.call(this,"Device",a,256)}ka(Mc,r);m=Mc.prototype;m.La=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Mb(this)};m.Ba=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.sa=function(a){return a?this.save():!0};m.reset=function(){};
|
||||
m.save=function(){return(new F(this)).data()};m.restore=function(){return!0};Xa(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=t(d);switch(c.type){case "default":c=new Mc(c),sb(c,d)}}});
|
||||
function Bc(a,b,c,d,e){this.H=a;this.id=Nc+=2;this.B=b;this.Ya=c;this.size=d||0;this.type=e||Oc;this.G=e==Pc;this.b=null;this.f=this.w=this.ub;this.g=this.D=this.Za;this.i=this.v=0;Cc(this);this.rb=this.Rb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Qc(this,Rc)}else Qc(this)}m=Bc.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.rb=!0):!1};function Qc(a,b){b||(b=Sc);Tc(a,b,void 0);Uc(a,b,void 0)}
|
||||
function Tc(a,b,c){c&&a.i||(a.f=b[0]||a.ub);if(c||void 0===c)a.w=b[0]||a.ub}function Uc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Za);if(c||void 0===c)a.D=b[1]||a.Za}m.Ra=function(a,b){b?this.v++||Uc(this,Vc,!1):this.i++||Tc(this,Vc,!1)};function Wc(a,b){b?--a.v||(a.g=a.G?a.Za:a.D):--a.i||(a.f=a.w)}function Cc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Tc(a,Vc,!1),(a.v=c.v)&&Uc(a,Vc,!1))}m.ub=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+K(this.b,b),!0);this.H.Ib(b);return-1};
|
||||
m.Za=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+K(this.b,a)+" to invalid addresses "+K(this.b,c),!0);this.H.Ib(c)};m.gc=function(a){return this.j[a]};m.pc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.rb=!0)};m.ec=function(a,b){if(this.b&&null!=this.B){var c=this.b;Xc(c,this.B+a,2,c.N)&&c.W(!1)}return this.w(a,b)};m.oc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Xc(d,this.B+b,2,d.K)&&d.W(!1)}this.G?this.Za(a,0,c):this.D(a,b,c)};
|
||||
function Bc(a,b,c,d,e){this.H=a;this.id=Nc+=2;this.B=b;this.Ya=c;this.size=d||0;this.type=e||Oc;this.G=e==Pc;this.b=null;this.f=this.w=this.vb;this.g=this.D=this.Za;this.i=this.v=0;Cc(this);this.sb=this.Rb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Qc(this,Rc)}else Qc(this)}m=Bc.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.sb=!0):!1};function Qc(a,b){b||(b=Sc);Tc(a,b,void 0);Uc(a,b,void 0)}
|
||||
function Tc(a,b,c){c&&a.i||(a.f=b[0]||a.vb);if(c||void 0===c)a.w=b[0]||a.vb}function Uc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Za);if(c||void 0===c)a.D=b[1]||a.Za}m.Ra=function(a,b){b?this.v++||Uc(this,Vc,!1):this.i++||Tc(this,Vc,!1)};function Wc(a,b){b?--a.v||(a.g=a.G?a.Za:a.D):--a.i||(a.f=a.w)}function Cc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Tc(a,Vc,!1),(a.v=c.v)&&Uc(a,Vc,!1))}m.vb=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+K(this.b,b),!0);this.H.Ib(b);return-1};
|
||||
m.Za=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+K(this.b,a)+" to invalid addresses "+K(this.b,c),!0);this.H.Ib(c)};m.gc=function(a){return this.j[a]};m.pc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.sb=!0)};m.ec=function(a,b){if(this.b&&null!=this.B){var c=this.b;Xc(c,this.B+a,2,c.N)&&c.W(!1)}return this.w(a,b)};m.oc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Xc(d,this.B+b,2,d.K)&&d.W(!1)}this.G?this.Za(a,0,c):this.D(a,b,c)};
|
||||
var Oc=0,Pc=2,Hc=["NONE","RAM","ROM"],Nc=0,Sc=[],Rc=[Bc.prototype.gc,Bc.prototype.pc],Vc=[Bc.prototype.ec,Bc.prototype.oc];
|
||||
function Yc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.jb=0;this.mb=b;this.ja=c;this.kb=Math.round(this.mb/1E4)/100;this.ia=this.kb*this.ja;this.lb=this.Ia=this.ka=this.cb=0;this.A.O=this.A.ib=!1;this.A.ga=a.autoStart;"string"==typeof this.A.ga&&(this.A.ga="true"==this.A.ga);this.A.Va=!1;this.Ga=this.pa=0;this.Ha=+a.csStart;this.oa=+a.csInterval;this.qa=+a.csStop;this.S=[];this.Fb=this.jc.bind(this);this.X=this.M=this.V=this.N=this.L=this.Fa=this.U=this.ua=this.nb=this.ba=
|
||||
function Yc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.kb=0;this.ob=b;this.ja=c;this.lb=Math.round(this.ob/1E4)/100;this.ia=this.lb*this.ja;this.nb=this.Ia=this.ka=this.cb=0;this.A.O=this.A.ib=!1;this.A.ga=a.autoStart;"string"==typeof this.A.ga&&(this.A.ga="true"==this.A.ga);this.A.Va=!1;this.Ga=this.pa=0;this.Ha=+a.csStart;this.oa=+a.csInterval;this.qa=+a.csStop;this.S=[];this.Fb=this.jc.bind(this);this.X=this.M=this.V=this.N=this.L=this.Fa=this.U=this.ua=this.pb=this.ba=
|
||||
0;this.Na=null;Mb(this)}ka(Yc,r);m=Yc.prototype;m.La=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Na=a.j;for(a=0;a<Zc.length;a++)(b=this.J[Zc[a]])&&this.H.ta(null,Zc[a],b);Mb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.Ba=function(a,b){var c=$c(this.H,"autoStart");null!=c?this.A.ga="true"==c?!0:"false"==c?!1:!!c:null==this.A.ga&&(this.A.ga=!this.D&&void 0===this.J.run);if(!b){if(a){ad(this);if(!this.restore(a))return!1;bd(this)}else this.reset();this.D?(a=this.D,b=this.A.ga,a.Ja=!0,a.u("Type ? for help with PDPjs Debugger commands"),cd(a),b||dd(a),a.va&&(b=a.va,a.va=null,ed(a,b,!0))):this.status("No debugger detected");this.A.ga||this.u("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
||||
m.sa=function(a){return a?this.save():!0};m.ga=function(){return this.A.O?!0:this.A.ga?(sc(this),!0):!1};m.Jb=function(){return 0};function bd(a){void 0===a.Ha&&(a.Ha=0);void 0===a.oa&&(a.oa=-1);void 0===a.qa&&(a.qa=-1);a.A.Va=0<=a.Ha&&0<a.oa;a.A.Va&&(a.Ga=0,a.pa=a.Ha-a.X)}function wc(a,b){if(a.A.Va){var c=!1;a.Ga=a.Ga+a.Jb()|0;a.pa-=b;0>=a.pa&&(a.pa+=a.oa,c=!0);0<=a.qa&&a.qa<=fd(a)&&(a.oa=a.qa=-1,bd(a),a.W(),c=!0);c&&a.u(fd(a)+" cycles: checksum="+n(a.Ga))}}
|
||||
m.ta=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.A.aa)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.aa);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.fb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.O?d.W():sc(d))},!0;
|
||||
case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){gd(d,d.ja<<1,!0)},c.textContent=this.ia.toFixed(2)+"Mhz",!0}return!1};function vc(a,b,c){a.X+=b;c&&(a.V=a.N=0)}function hd(a,b){var c=1;b&&1<a.ja&&a.ba&&(c=a.ba/a.kb);a.lb=Math.round(1E3/id);a.Ia=Math.floor(a.mb/id*c);b||(a.ka=a.Ia);a.cb=0}function fd(a){return a.X+a.M+a.V-a.N}function ad(a){a.ba=0;a.nb=0;a.X=a.M=a.V=a.N=0;bd(a);gd(a,1)}
|
||||
function gd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.ia?b=1:d=!0;a.ja=b;b=a.kb*a.ja;if(a.ia!=b){a.ia=b;b=a.ia.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.H&&jd(a.H)}vc(a,a.M);a.M=0;a.L=nb();a.U=0;hd(a);return d}function kd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ld(a){for(var b=[],c=0;c<a.S.length;c++)b.push(a.S[c][0]);return b}
|
||||
case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){gd(d,d.ja<<1,!0)},c.textContent=this.ia.toFixed(2)+"Mhz",!0}return!1};function vc(a,b,c){a.X+=b;c&&(a.V=a.N=0)}function hd(a,b){var c=1;b&&1<a.ja&&a.ba&&(c=a.ba/a.lb);a.nb=Math.round(1E3/id);a.Ia=Math.floor(a.ob/id*c);b||(a.ka=a.Ia);a.cb=0}function fd(a){return a.X+a.M+a.V-a.N}function ad(a){a.ba=0;a.pb=0;a.X=a.M=a.V=a.N=0;bd(a);gd(a,1)}
|
||||
function gd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.ia?b=1:d=!0;a.ja=b;b=a.lb*a.ja;if(a.ia!=b){a.ia=b;b=a.ia.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.H&&jd(a.H)}vc(a,a.M);a.M=0;a.L=nb();a.U=0;hd(a);return d}function kd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ld(a){for(var b=[],c=0;c<a.S.length;c++)b.push(a.S[c][0]);return b}
|
||||
function uc(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function md(a,b){var c=a.V-=a.N;a.N=0;b&&(a.V=0);return c}
|
||||
m.jc=function(){if(this.A.O){this.cb>=this.mb&&hd(this,!0);this.ua=0;this.Fa=nb();if(this.U){var a=this.Fa-this.U;a>this.lb&&(this.L+=a,this.L>this.Fa&&(this.L=this.Fa))}try{do{var b=kd(this,this.A.Va?1:this.Ia);try{this.$a(b)}catch(e){if("number"!=typeof e)throw e;}b=md(this,!0);this.ua+=b;this.M+=b;wc(this,b);uc(this,b);this.ka-=b;if(0>=this.ka){this.ka+=this.Ia;++this.nb>=nd&&(this.H&&J(this.H,void 0),this.nb=0);break}}while(this.A.O)}catch(e){this.W();this.H&&this.H.stop(nb(),fd(this));yb(this,
|
||||
e.stack||e.message);return}if(this.A.O){a=setTimeout;b=this.Fb;this.U=nb();var c=this.lb;this.ua&&(c=Math.round(c*this.ua/this.Ia));var c=c-(this.U-this.Fa),d=this.U-this.L;d&&(this.ba=Math.round(this.M/(10*d))/100,864E5<=d&&(this.X=0,gd(this)));if(0>c||this.ba<this.ia)-1E3>c&&(this.L-=c),c=0;this.cb+=this.ua;this.U+=c;a(b,c)}}};
|
||||
m.jc=function(){if(this.A.O){this.cb>=this.ob&&hd(this,!0);this.ua=0;this.Fa=nb();if(this.U){var a=this.Fa-this.U;a>this.nb&&(this.L+=a,this.L>this.Fa&&(this.L=this.Fa))}try{do{var b=kd(this,this.A.Va?1:this.Ia);try{this.$a(b)}catch(e){if("number"!=typeof e)throw e;}b=md(this,!0);this.ua+=b;this.M+=b;wc(this,b);uc(this,b);this.ka-=b;if(0>=this.ka){this.ka+=this.Ia;++this.pb>=nd&&(this.H&&J(this.H,void 0),this.pb=0);break}}while(this.A.O)}catch(e){this.W();this.H&&this.H.stop(nb(),fd(this));yb(this,
|
||||
e.stack||e.message);return}if(this.A.O){a=setTimeout;b=this.Fb;this.U=nb();var c=this.nb;this.ua&&(c=Math.round(c*this.ua/this.Ia));var c=c-(this.U-this.Fa),d=this.U-this.L;d&&(this.ba=Math.round(this.M/(10*d))/100,864E5<=d&&(this.X=0,gd(this)));if(0>c||this.ba<this.ia)-1E3>c&&(this.L-=c),c=0;this.cb+=this.ua;this.U+=c;a(b,c)}}};
|
||||
function sc(a,b){if(!zb(a))if(a.A.O)a.u(a.toString()+" busy");else{gd(a);a.A.O=!0;a.A.ib=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&jd(a.H,!0),a.H.start(a.L,fd(a)));a.D||a.status("Started");setTimeout(a.Fb,0)}}m.$a=function(){return 0};m.W=function(a){var b=!1;if(this.A.O){md(this);vc(this,this.M);this.M=0;this.A.O=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(nb(),fd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var id=30,nd=15,Zc=["power","reset"];
|
||||
function od(a){var b=+a.model||1001;Yc.call(this,a,1E6);this.Db=b;this.Oa=+a.addrReset||0;this.Qb=pd.bind(this);this.w=L.bind(this);this.Da=null;this.vb=[];this.A.complete=!1}ka(od,Yc);m=od.prototype;
|
||||
m.reset=function(){this.status("Model "+this.Db);this.A.O&&this.W();this.Ja=this.Ka=this.b=this.I=0;this.i=this.Ea=this.Oa;this.K=this.P=-1;this.F=this.j=0;this.ob=[0,0];this.va=[0,0];this.na=[0,0];this.xa=[0,0];this.Ca=this.i;this.C=0;this.f=this.fc;this.g=this.qc;this.Da=null;ad(this);this.A.error=!1;Yc.prototype.reset.call(this)};m.Jb=function(){return 0};
|
||||
function od(a){var b=+a.model||1001;Yc.call(this,a,1E6);this.mb=b;this.Oa=+a.addrReset||0;this.Qb=pd.bind(this);this.w=L.bind(this);this.Da=null;this.Cb=[];this.A.complete=!1}ka(od,Yc);m=od.prototype;
|
||||
m.reset=function(){this.status("Model "+this.mb);this.A.O&&this.W();this.Ja=this.Ka=this.b=this.I=0;this.i=this.Ea=this.Oa;this.K=this.P=-1;this.F=this.j=0;this.jb=[0,0];this.va=[0,0];this.na=[0,0];this.xa=[0,0];this.Ca=this.i;this.C=0;this.f=this.fc;this.g=this.qc;this.Da=null;ad(this);this.A.error=!1;Yc.prototype.reset.call(this)};m.Jb=function(){return 0};
|
||||
m.save=function(){var a=new F(this);a.set(0,[this.b,this.I,this.Ja,this.Ka,this.i,this.P,this.K,this.j,this.C,this.Ea,this.Ca,this.Oa]);a.set(1,[]);a.set(2,[this.X,this.ja,this.A.ga]);a.set(3,qd(this));a.set(4,ld(this));return a.data()};
|
||||
m.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.I=b.next().value;this.Ja=b.next().value;this.Ka=b.next().value;this.i=b.next().value;this.P=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Ca=b.next().value;this.Oa=b.next().value;b=a[2];this.X=b[0];gd(this,b[1]);this.A.ga=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.vb.length;d++){var e=this.vb[d];
|
||||
m.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.I=b.next().value;this.Ja=b.next().value;this.Ka=b.next().value;this.i=b.next().value;this.P=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Ca=b.next().value;this.Oa=b.next().value;b=a[2];this.X=b[0];gd(this,b[1]);this.A.ga=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Cb.length;d++){var e=this.Cb[d];
|
||||
if(e.nc===b[c]){d=e;break a}}d=null}d&&(d.next=this.Da,this.Da=d)}a=a[4];for(b=0;b<this.S.length&&b<a.length;b++)this.S[b][0]=a[b];return!0};function rd(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function sd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function G(a,b){a.i=b%Tb;a.P=-1}function qd(a){var b=[];for(a=a.Da;a;)b.push(a.nc),a=a.next;return b}m.fc=function(a){var b=this.G;a=this.Ca=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};
|
||||
m.qc=function(a,b){var c=this.G;a=this.Ca=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
|
||||
m.$a=function(a){this.A.complete=!0;var b=this.D?td(this.D)?1:this.A.ib?-1:0:0,c=a?this.A.ib?0:1:-1;this.A.ib=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(ud(this.D,this.i,c)){this.W();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Da||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&ud(this.D,this.i,c)){this.W();break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ja=this.f(this.b):0<=this.P?(this.I=this.Ka=this.f(this.P),this.P=-1):(this.I=this.Ka=
|
||||
|
|
@ -109,9 +109,9 @@ function Fd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Gd(a,d,c)+(c-(c&x)))}
|
|||
function be(a,b){var c=this.b*y,d=this.f(b);this.g(b,Gd(a,d,c)+c)}function ce(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Gd(a,c,b)+b)}function de(a,b){var c=this.f(this.b),d=(c&x)*y,c=Gd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,fe(a,c,this.b)+this.b)}function he(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}
|
||||
function ie(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Ub?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function je(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ke(a,b){var c=this.f(b);this.g(b,fe(a,c,0))}function le(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}function me(a,b){var c=this.f(this.b),d=c/y|0,c=fe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function O(a){ne[a&7].call(this,a,a>>3&127)}
|
||||
function oe(){}function pe(){}function L(a){this.u("undefined opcode: "+ua(a));sd(this,-1);this.W()}function qe(a){a>z&&(a!=A?a=Xb-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%C;re.call(this,a,b,c);return c}
|
||||
function se(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.ob;f[0]=0;f[1]=0;f=this.va;f[0]=1;f[1]=0;f=this.na;f[0]=c;f[1]=0;c=this.xa;c[0]=a;for(c[1]=b;0<te(this.xa,this.na);)ue(this.na,this.na),ue(this.va,this.va);do{if(0<=te(this.xa,this.na)&&(b=this.xa,a=this.na,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=C,b[1]--),ue(this.ob,this.va),ve(this.xa)))break;we(this.na);we(this.va)}while(!ve(this.va));
|
||||
a=this.ob[0];this.F=this.xa[0];d&&a&&(a=C-a);e&&this.F&&(this.F=C-this.F);return a}
|
||||
function xe(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=B-f,a=C-a):f&&(f=C-f));if(c)return(f||a>z)&&(f!=B||a<=z)&&(this.j|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b}
|
||||
function se(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%C;b=this.F=f+Math.trunc(b/2);c>z&&(c=C-c,d=!d);b>z&&(a?(b=B-b,a=C-a):b&&(b=C-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.jb;f[0]=0;f[1]=0;f=this.va;f[0]=1;f[1]=0;f=this.na;f[0]=c;f[1]=0;c=this.xa;c[0]=a;for(c[1]=b;0<te(this.xa,this.na);)ue(this.na,this.na),ue(this.va,this.va);do{if(0<=te(this.xa,this.na)&&(b=this.xa,a=this.na,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=C,b[1]--),ue(this.jb,this.va),ve(this.xa)))break;we(this.na);we(this.va)}while(!ve(this.va));
|
||||
a=this.jb[0];this.F=this.xa[0];d&&a&&(a=C-a);e&&this.F&&(this.F=C-this.F);return a}
|
||||
function xe(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(1001!=this.mb||d!=A)&&(d=C-d,b=!b);e>z&&(e=C-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=B-f,a=C-a):f&&(f=C-f));if(c)return(f||a>z)&&(f!=B||a<=z)&&(this.j|=131072),a;c=a;b=f;a=b-b%A;b=2*b%C+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b}
|
||||
function ye(a){a?a==A?this.j|=163840:a=Xb-a:this.j|=98304;return a}function ze(a,b){var c=a-b;0>c&&(c+=C);re.call(this,c,b,a);return c}function re(a,b,c){a=Math.trunc(a/Wb);b=Math.trunc(b/Wb);c=Math.trunc(c/Wb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function T(a,b){return(a<A?a:a-C)-(b<A?b:b-C)}
|
||||
function Ae(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function U(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function V(a){return a<A?a:a-C}function W(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function X(a){return(a/y|0)+(a&x)*y}function fe(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Ub?x*y:0}return b}function Gd(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
|
||||
function ue(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=C&&(a[0]%=C,a[1]++)}function te(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function we(a){a[1]%2&&(a[0]+=C);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ve(a){return!a[0]&&!a[1]}
|
||||
|
|
@ -168,7 +168,7 @@ m.ta=function(a,b,c){var d=this;switch(b){case Ie:return this.J[b]=c,c.onkeydown
|
|||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.gb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.La=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Mb(this)};
|
||||
m.Kb=function(a){if(!this.b){var b=$c(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.ab)return;c=Ca(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.bb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.Ba=function(a,b){if(!b)if(this.Kb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
m.sa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.gb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};m.hc=function(){};m.kc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ie="buffer";
|
||||
Xa(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new He(d);sb(d,c)}});function Je(a){r.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.ka=null;this.U=["{","}"];this.ua=["[","]"];this.C=0;this.V=!1;this.w=-1;this.j=[];this.I={}}ka(Je,r);Je.prototype.sb=function(){return-1};Je.prototype.tb=function(){};
|
||||
Xa(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=t(c),d=new He(d);sb(d,c)}});function Je(a){r.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.ka=null;this.U=["{","}"];this.ua=["[","]"];this.C=0;this.V=!1;this.w=-1;this.j=[];this.I={}}ka(Je,r);Je.prototype.tb=function(){return-1};Je.prototype.ub=function(){};
|
||||
function Ke(a,b,c,d){if(c)if(b){0>a.w&&a.j.length&&(a.w=0);if(0>a.w||b!=a.j[a.w])a.j.splice(0,0,b),a.w=0;a.w--}else a.V?b="end":b=a.j[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ca(b.substring(c,f))),c=f+1}}return a}function Le(a,b,c){if(32>=a.L)return b&c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)&(c/Me|0))*Me+((b&c)>>>0)}
|
||||
function Ne(a,b,c){if(32>=a.L)return b|c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Me|0)^(c/Me|0))*Me+((b^c)>>>0)}function Y(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b|0:(a=Math.pow(2,c-1),b<-a?(b<2*-a&&(e=b%(2*a)),e+=2*a):e>=a&&(b>=2*a&&(e=b%(2*a)),e-=2*a));b!=e&&(b=e);return b}
|
||||
function Oe(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f*=g;break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "%":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:0;break;
|
||||
|
|
@ -177,7 +177,7 @@ function Pe(a,b,c,d,e,f){var g,h,k,l=!1,p=0,u=[],D=[],H=a.T;for(a.T=e;c<d;){h=b[
|
|||
k){p=p<<2|3;continue}}l=!0;break}if(void 0===p)if(null==a.ka&&f)a.ka=h,p=0;else{l=!0;f=!f;break}u.push(Y(a,p));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{l=!0;break}if(!k)break;p="<"==a.U[0]?Re:Se;if(!p[k]){l=!0;break}D.length&&p[k]<=p[D[D.length-1]]&&Oe(a,u,D,1);D.push(k);a.T="^_"==k?10:e;p=0}if(l||!Oe(a,u,D)||1!=u.length)l=!0;l?!1===f&&a.u("parse error ("+(h||k)+")"):g=u.pop();a.T=H;return g}
|
||||
function Te(a,b,c,d,e,f){for(var g;0<=(g=b.indexOf(c));){for(var h=0,k=g+1,l=e;k<b.length;){var p=b[k++];if(p==c){l=-1;break}if(!l)break;l--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;h=Y(a,h*Math.pow(2,d)+p,d*e,!0)}if(0<=l){!1===f&&a.u("parse error ("+b+")");break}else b=b.substr(0,g)+K(a,h,-1)+b.substr(k)}return b}
|
||||
function Ue(a,b,c){var d=void 0;a.ka=null;if(b){"{"!=a.U[0]&&(b=b.split(a.U[0]).join("{").split(a.U[1]).join("}"));b=Te(a,b,'"',7,5,c);if(!b)return d;b=Te(a,b,"'",6,6,c);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*| )/);d=Pe(a,b,0,b.length,a.T,c);void 0!==d&&!1===c&&Ve(a,null,d)}return d}
|
||||
function Qe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.sb(b),0<=f?f=a.tb(f):(f=a.I[b],null==f&&(f=na(b,1<b.length?a.T:10))),null!=f){for(;e;){switch(e&3){case 1:f=-Y(a,f);break;case 2:f=Ne(a,f,-1);break;case 3:for(b=35;0<=b&&!Le(a,f,Math.pow(2,b));)b--;f=35-b}e>>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f}
|
||||
function Qe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.tb(b),0<=f?f=a.ub(f):(f=a.I[b],null==f&&(f=na(b,1<b.length?a.T:10))),null!=f){for(;e;){switch(e&3){case 1:f=-Y(a,f);break;case 2:f=Ne(a,f,-1);break;case 3:for(b=35;0<=b&&!Le(a,f,Math.pow(2,b));)b--;f=35-b}e>>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f}
|
||||
function Ve(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.T?K(a,c,a.L,8,1)+" "+c+".":K(a,c,a.L,16,1)+" "+K(a,c,a.L,8,1)+" "+K(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function We(a){var b=a.I;a.I={};return b}function Xe(a,b){if(b)return Ve(a,b,a.I[b]);var c=0;for(b in a.I)Ve(a,b,a.I[b]),c++;return 0<c}
|
||||
function K(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.T){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=ta(b,2,a,"",e);break;case 8:b=ua(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=va(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var Se={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"%":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Re={"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"%":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},Me=Math.pow(2,32);
|
||||
|
|
@ -190,8 +190,8 @@ d.ia.value="";ed(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,V
|
|||
function gf(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.U[0],h=a.U[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var l=Ue(a,g[1]);if(void 0===l){b=void 0;break a}b=b.replace(f+g[1]+h,null!=l?K(a,l):"undefined")}if(a.ua.length)for(f=a.ua[0],h=a.ua[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
|
||||
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.F.length;h++)if(g=a.F[h].Y[f],null!=g){u=g.o;break}null!=u&&(p=Z(u));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Ue(a,b)}null!=f&&(f=hf(f,a.Ga),cf(c,f,d,e));return c}function jf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Ke(a,b.hb=c[2]))}
|
||||
function hf(a,b){0>a&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function kf(a,b){return K(a,b/Tb,18)+" "+K(a,b%Tb,18)}
|
||||
function af(a,b){a.D=a;a.ca=a.Eb=536870916;a.ba=null;a.S=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in bc){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.ca|=bc[c],a.u(c+" messages enabled"))}}function ff(a,b){for(var c in bc)if(16==bc[c]){a.xa[c]=b;break}}m.sb=function(a){return lf.indexOf(a.toUpperCase())};
|
||||
m.tb=function(a){var b,c=this.v;switch(a){case mf:b=c.i;break;case nf:b=c.I;break;case of:b=c.b;break;case pf:b=c.j&x;break;case qf:b=c.j&131072?1:0;break;case rf:b=c.j&65536?1:0;break;case sf:b=c.j&32768?1:0;break;case tf:b=c.j&32?1:0;break;case uf:b=c.j&262144?1:0}return b};
|
||||
function af(a,b){a.D=a;a.ca=a.Eb=536870916;a.ba=null;a.S=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in bc){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.ca|=bc[c],a.u(c+" messages enabled"))}}function ff(a,b){for(var c in bc)if(16==bc[c]){a.xa[c]=b;break}}m.tb=function(a){return lf.indexOf(a.toUpperCase())};
|
||||
m.ub=function(a){var b,c=this.v;switch(a){case mf:b=c.i;break;case nf:b=c.I;break;case of:b=c.b;break;case pf:b=c.j&x;break;case qf:b=c.j&131072?1:0;break;case rf:b=c.j&65536?1:0;break;case sf:b=c.j&32768?1:0;break;case tf:b=c.j&32?1:0;break;case uf:b=c.j&262144?1:0}return b};
|
||||
m.message=function(a,b){b&&(a+=" @"+K(this,Z(this.v.Ea).B,18));if(!this.ba||a!=this.ba)if(this.ba=a,this.ca&1073741824)this.S.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.O)||Nb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,md(a),a.ka=0,a.H&&J(a.H,void 0))}};
|
||||
function $e(a){var b;if(!td(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.X=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(vf);for(b=0;b<a.i.length;b++)a.i[b]=Z();a.X=0;a.u("instruction history buffer allocated")}}function wf(a,b,c){if(!xf(a,c))return!1;sc(a.v,b);return!0}
|
||||
function tc(a,b,c,d){if(!xf(a))return!1;var e="";null===c&&(e=(c=!a.Fa||"tr"==a.Fa)?"tr":"t");a.C=0;b||td(a)&&ud(a,a.v.i,0);try{b=kd(a.v,b);var f=a.v.$a(b);0<f&&(uc(a.v,f),a.C+=f,vc(a.v,f,!0),wc(a.v,f),a.oa++)}catch(g){"number"!=typeof g&&(a.C=0,yb(a.v,g.stack||g.message))}!1!==d&&(a.na&&a.na.stop(),J(a.H,-1));cd(a,c||!1,e);return 0<a.C}m.W=function(a){this.v&&this.v.W(a)};function cd(a,b,c){b=void 0===b?!0:b;a.Ja&&(c&&a.u(yf+c),cf(a.M,a.v.i),b&&1!=a.P?zf(a):Af(a))}
|
||||
|
|
@ -207,13 +207,13 @@ h||15<h)h&=15;f+=h<<23}else{if(b||u)if(0>h||262143<h)h&=Sb;f+=h}}0>f&&!e&&a.u("u
|
|||
m.Ra=function(a,b,c){var d=!0;c||Lf(this,a,b,!1,!0);if(a!=this.b){var e=bf(b);if(-1===e)this.u("invalid address: "+K(this,b.B,18)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ra(e&16383,a==this.K)}}d&&(a.push(b),c?b.ra=!0:(Mf(this,a,a.length-1,"set"),$e(this)));return d};function Lf(a,b,c,d,e){var f=!1;c=bf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==bf(h)&&(!d||h.ra)){f=!0;h.ra||e||Mf(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Wc(d.b[c>>>d.i],b==a.K));h.ra||$e(a);break}}return f}
|
||||
function mg(a,b){for(var c=1;c<b.length;c++)Mf(a,b,c);return b.length-1}function Mf(a,b,c,d){c=b[c];a.u(b[0]+" "+K(a,c.B,18)+(d?" "+d:c.hb?' "'+c.hb+'"':""))}function Bf(a,b){if(void 0!==b)Xc(a,b,1,a.b,!0),a.P=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ra){if(!Lf(a,a.b,c,!0))break;b=0}}}
|
||||
function Xc(a,b,c,d,e){var f=!1;if(!a.Da++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ra)for(var k=bf(h)&(d==a.b?65535:-1),l=0;l<c;l++)if(b+l==k){var p,f=!0;h.ra&&(Lf(a,d,h,!0),e=!0);if(p=h.zb){for(var f=!1,u=0;u<p.length;u++)if(!og(a,p[u],!0)){if(p[u].indexOf("if")){f=!0;break}for(var D=u+1;D<p.length&&p[D].indexOf("else");D++)u++;if(D==p.length){f=!0;break}}a.v.A.O||(f=!0)}if(f){e||Mf(a,d,g,"hit");break}}}a.Da--;return f}
|
||||
function pg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);cf(e.Ia,d);f+="="+K(e,e.Ma(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d<lf.length;d++)(e=lf[d]||"")&&(e+="="+K(a,a.tb(d),d>=qf?1:d==nf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function pg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);cf(e.Ia,d);f+="="+K(e,e.Ma(e.Ia),36)+" ";c+=f}if(b){b="";for(d=0;d<lf.length;d++)(e=lf[d]||"")&&(e+="="+K(a,a.ub(d),d>=qf?1:d==nf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function De(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,l=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],u=Fa(p,k,a.Gb);0>u&&p.splice(-(u+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.F.push({wd:b,B:c,Ub:d,Y:e,Bb:f})}function qg(a,b,c){var d=[],e=bf(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Ub;if(e>=g&&e<g+h){e=Fa(f.Bb,[e-g],a.Gb);0<=e?rg(a,b,e,d):c&&(e=~e,rg(a,b,e-1,d),rg(a,b,e,d));break}}return d}
|
||||
function sg(a,b,c){var d=a.G,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(a.u(e+" words loaded at "+K(a,f)+"-"+K(a,g)),null!=c&&G(a.v,c),cd(a)):a.u("no data")}function rg(a,b,c,d){var e={},f=a.F[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Y[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function tg(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=gf(a,d,a.ja);if(!e)return a.u("begin assemble at "+K(a,f.B,18)),a.V=!0,J(a.H),!0;var g=e.match(/^(['"]?)(.*\.mac|.*\.html|.*\.txt)\1$/i);if(g){f=gf(a,d);if(a.Ca)a.u("assembly already in progress");else var h=g[2],k=f.B,l=a.Ca=new ug(h,k,c,a,function(b,c){if(!b)try{var d=l.G;null==d&&(d=k);sg(a,l.R,d)}catch(H){"number"==typeof H?b=H||-1:(a.u(H.message),b=-1)}b&&a.u("error ("+b+") processing "+(c||h));
|
||||
a.Ca=null;b||ed(a)});return!1}b.shift();b.shift();b.shift();b=Kf(a,e,b.join(""),f.B||0);0<=b&&(a.yb(f,b),a.u(Cf(a,f)));return!0}function vg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Xe(a)||a.u("no variables"),!0;if(!c[2])return Xe(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=Ue(a,c[3]);return void 0!==b?(a.I[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||
function wg(a,b,c){var d=null;b=gf(a,b);var e=qg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+n(f,4,!0)),f=e[0]+" ("+K(a,e[1],18)+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+K(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
|
||||
function zf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Ue(a,b);if(void 0===g)return;b=a.sb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case mf:G(h,
|
||||
function zf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Ue(a,b);if(void 0===g)return;b=a.tb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case mf:G(h,
|
||||
g);cf(a.M,h.i);break;case pf:rd(h,g);break;case qf:f=131072;break;case rf:f=65536;break;case sf:f=32768;break;case tf:f=32;break;case uf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);J(a.H);a.u("updated registers:")}}a.u(pg(a,e));c&&(cf(a.M,0<=d.P?d.P:d.i),Af(a,K(a,a.M.B,18)))}}function xg(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Ve(a,null,c[2].charCodeAt(0)):Ue(a,b,!1)}
|
||||
function yg(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=Qe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Fa=b;Ua(c,function(){return Ob(a,!0)&&tc(a,e,d,!1)},function(){a.na&&a.na.stop();J(a.H,-1);Ob(a,!1)})}}
|
||||
function Af(a,b,c,d){b=gf(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Qe(a,c.substr(1)),null!=c&&(d=c);else{d=gf(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.P?a.C:null,g=null!=f?"cycles":null,h=qg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ja;l=b;h.B=l.B;h.eb=l.eb;h.ra=l.ra;h.T=l.T;a.u(Cf(a,b,g,f));e-=b.B-k;c++}}
|
||||
|
|
@ -222,7 +222,7 @@ tg(a,g);break;case "b":var u=g[0],D=g[1],H=b;if("?"==D)a.u("breakpoint commands:
|
|||
D)a.u("missing breakpoint address");else{var I="*"==D?Z():gf(a,D,a.M);"c"==P?null==I.B?(Ze(a),a.u("all breakpoints cleared")):Lf(a,a.b,I)||Lf(a,a.N,I)||Lf(a,a.K,I)||a.u("breakpoint missing: "+K(a,I.B,18)):null!=I.B&&(jf(a,I,H),"p"==P?a.Ra(a.b,I):"r"==P?a.Ra(a.N,I):"w"==P?a.Ra(a.K,I):a.u("unknown breakpoint command: "+P))}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var gb,hb=g[0],oa=g[1],Da=g[2],Fh=g[3];if("?"==oa){var ib="";for(gb in bc)a.xa[gb]&&(ib&&(ib+=","),ib+=gb);ib+=",state,symbols";
|
||||
a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");ib.length&&a.u("dump extension commands:\n\t"+ib)}else if("state"==oa){var Ld=zg(a.H,!0);"console"==Da?console.log(Ld):(a.za&&(a.za.value=""),Ld&&a.u(Ld))}else if("symbols"==oa)for(var Md=0;Md<a.F.length;Md++){var Nd=a.F[Md],jb;for(jb in Nd.Y)if("."!=jb.charAt(0)){var Nf=Nd.Y[jb].o;if(void 0!==Nf){var Of=
|
||||
Nd.Y[jb].l;Of&&(jb=Of);a.u(K(a,Nf,18)+" "+jb)}}}else{if("d"==hb){for(gb in bc)if(g[1]==gb){var Pf=a.xa[gb];Pf?(g.shift(),g.shift(),Pf(g)):a.u("no dump registered for "+oa);break a}oa||(hb=a.Oa||"dw")}else a.Oa=hb;if("dh"==hb){var Qf=oa,Rf=Da,Sf="",Tf=0,ja=a.X,pa=a.i;if(pa.length){var ea=+Qf||a.Ea,Cb=+Rf||10;isNaN(ea)?ea=Cb:Sf="more ";ea>pa.length&&(a.u("note: only "+pa.length+" available"),ea=pa.length);ja-=ea;0>ja&&(null==pa[pa.length-1].B?(ea=ja+ea,ja=0):ja+=pa.length);var Od=[];"call"==Rf&&(Cb=
|
||||
1E5,Od=["CALL"]);for(void 0!==Qf&&a.u(ea+" instructions earlier:");0<Cb&&ja!=a.X;){var Uf=pa[ja++];if(null==Uf.B)break;var Db=Z(Uf.B),Gh=ea--,Vf=Cf(a,Db,"history",Gh);(!Od.length||0<=Vf.indexOf(Od[0]))&&a.u(Vf);Db.qb&&(ja+=Db.qb,Cb-=Db.qb,ea-=Db.qb);ja>=pa.length&&(ja=0);a.Ea=ea;Tf++;Cb--}}Tf||(a.u("no "+Sf+"history available"),a.Ea=void 0)}else{var Ma=0,Wf="ds"==hb,Eb=gf(a,oa,a.pa);Da&&("l"==Da.charAt(0)?(Da=Da.substr(1)||Fh,Ma=Qe(a,Da)):Ma=gf(a,Da).B-Eb.B,0>Ma&&(Ma=0),65536<Ma&&(Ma=65536));var Hh=
|
||||
1E5,Od=["CALL"]);for(void 0!==Qf&&a.u(ea+" instructions earlier:");0<Cb&&ja!=a.X;){var Uf=pa[ja++];if(null==Uf.B)break;var Db=Z(Uf.B),Gh=ea--,Vf=Cf(a,Db,"history",Gh);(!Od.length||0<=Vf.indexOf(Od[0]))&&a.u(Vf);Db.rb&&(ja+=Db.rb,Cb-=Db.rb,ea-=Db.rb);ja>=pa.length&&(ja=0);a.Ea=ea;Tf++;Cb--}}Tf||(a.u("no "+Sf+"history available"),a.Ea=void 0)}else{var Ma=0,Wf="ds"==hb,Eb=gf(a,oa,a.pa);Da&&("l"==Da.charAt(0)?(Da=Da.substr(1)||Fh,Ma=Qe(a,Da)):Ma=gf(a,Da).B-Eb.B,0>Ma&&(Ma=0),65536<Ma&&(Ma=65536));var Hh=
|
||||
a.T;Eb.T&&(a.T=Eb.T);for(var Xf="db"==hb?1:2,Pd=Ma||32,Qd=1==Xf?1:4,Ih=(Pd+Qd-1)/Qd|0||1,Na="";Ih--&&0<Pd;){for(var qa="",Rd="",oa=K(a,Eb.B,18),Yf=Qd;0<Yf--&&0<Pd--;){var Sd=a.Ma(Eb,1);Wf?(qa&&(qa+=","),qa+=Sd):(qa+=kf(a,Sd),qa+=" ");for(var Ic=29,Jh=0;1==Xf&&0<=Ic;Jh++)var Fb=Sd/Math.pow(2,Ic)%Math.pow(2,7),qa=qa+(K(a,Fb,7)+" "),Fb=Fb+0,Rd=Rd+(32>Fb?".":String.fromCharCode(Fb)),Ic=Ic-7}Na&&(Na+="\n");Na=Wf?Na+(qa+","):Na+(oa+": "+qa+(0>Yf?" "+Rd:""))}Na&&a.u(Na);a.T=Hh}}}break;case "e":if("else"==
|
||||
g[0])break;var Zf,$f,ag=g[0],Td=g[1];"e"==ag||"ew"==ag?(Zf=a.Ma,$f=a.yb):Td=null;if(null==Td)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var Ud=gf(a,Td,a.pa),Vd=2;Vd<g.length;Vd++){var Gb=Ue(a,g[Vd]);if(void 0===Gb)break;Gb=hf(Gb);a.u("changing "+K(a,Ud.B,18)+" from "+kf(a,Zf.call(a,Ud))+" to "+kf(a,Gb));$f.call(a,Ud,Gb,1)}break;case "g":var bg=g[1],Kh=b;if(void 0!==bg){var cg=gf(a,bg);jf(a,cg,Kh);a.Ra(a.b,cg,!0)}wf(a,!0,c);break;case "h":a.A.O?(c||a.u("halting"),
|
||||
a.W()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Wd;var Hb=b.substr(2),Hb=Ca(Hb);Ue(a,Hb)?(c||a.u("true: "+Hb),Wd=!0):(c||a.u("false: "+Hb),Wd=!1);Wd||(d=!1);break}f=!0;break;case "k":var Lh=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Xd=0,Yd=Z(),Ib=Z();for(a.u("stack trace for "+K(a,Ib.B,18));10>Xd;){for(var Oa=null,Mh=256;65536>Ib.B>>>0;){Yd.B=a.Ma(Ib,2);if(null==Ib.B||!Mh--)break;if(!(Yd.B&
|
||||
|
|
@ -231,7 +231,7 @@ sa=null,M=g[1];"?"==M&&(M=void 0);if(void 0!==M){var Ea=0;if("all"==M)Ea=1879046
|
|||
M==ra){var Ph=!!(a.ca&bc[ra]);if(null===sa||sa==Ph)Kb&&(Kb+=","),++Oh%10||(Kb+="\n\t"),"key"==ra&&(ra="keys"),Kb+=ra}void 0===M&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==sa?sa?"messages on: ":"messages off: ":"message categories:\n\t")+(Kb||"none"));$e(a)}break;case "p":if("print"==g[0]){xg(a,b.substr(5));break}var jg=g[0],kg="p"==jg?0:"pr"==jg?1:-1;if("?"==g[1]||0>kg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");
|
||||
else if(a.P)a.u("step in progress");else{var lg=Z(a.v.i);a.Ma(lg);a.P?(a.Ra(a.b,lg,!0),wf(a)||(a.H&&jd(a.H),a.P=0)):yg(a,kg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}zf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var kb=+g[2];if(2==kb||8==kb||10==kb||16==kb)a.T=kb;else{a.u("invalid base: "+kb);break}}a.u("default base: "+a.T);break;case "cs":var Lb;void 0!==g[3]&&(Lb=+g[3]);switch(g[2]){case "int":a.v.oa=Lb;break;case "start":a.v.Ha=Lb;break;case "stop":a.v.qa=Lb;
|
||||
break;default:a.u("unknown cs option");break a}void 0!==Lb&&bd(a.v);a.u("checksums "+(a.v.A.Va?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(gd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ia.toFixed(2)+"Mhz")+" ("+a.v.ja+"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":yg(a,g[0],g[1]);break;case "u":Af(a,g[1],g[2],8);break;case "v":if("var"==g[0]){vg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.Db+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){xg(a,b.substr(1));break}var $d="commands:",ae;for(ae in Ag)$d+="\n"+Ba(ae,9)+Ag[ae];td(a)||($d+="\nnote: history disabled if no exec breakpoints");
|
||||
a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":yg(a,g[0],g[1]);break;case "u":Af(a,g[1],g[2],8);break;case "v":if("var"==g[0]){vg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.mb+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){xg(a,b.substr(1));break}var $d="commands:",ae;for(ae in Ag)$d+="\n"+Ba(ae,9)+Ag[ae];td(a)||($d+="\nnote: history disabled if no exec breakpoints");
|
||||
a.u($d);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(ng){a.u("Debugger "+(ng.stack||ng.message)),d=!1}return d}function ed(a,b,c){null!=b&&(a.Ha=Ke(a,b,c));for(;b=a.Ha.shift();)if(!og(a,b))return!1;return!0}
|
||||
var Ag={"?":"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"},Hf=20,If=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
||||
mf=0,nf=1,of=2,pf=3,qf=4,rf=5,sf=6,tf=7,uf=8,lf="PC RA EA PS OV C0 C1 ND PD".split(" "),Bg={},Df=(Bg[28672]={0:101},Bg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Bg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Hf,9216:53,
|
||||
|
|
@ -267,14 +267,14 @@ function $c(a,b,c,d){var e=b.toLowerCase(),e=Sa(b)||Sa(e);void 0===e&&a.S&&(e=a.
|
|||
function Sh(a,b){var c=new F(a,"1.34.3",Th);if(Eh(c)&&Uh(c)){var d=c.get(Vh),e=b?b.get(Vh):"unknown";d!=e&&(a.ha("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Ah.prototype;
|
||||
m.Xa=function(a){void 0===a&&(a=this.b||(this.L?Wh:Dh));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.3");if(a==Xh)b=!0;else if(a>Dh){if(Eh(d,this.L)){this.C=new F(this,"1.34.3",Yh);Eh(this.C)&&(Zh(this,d),a=$h,ai(this.C));this.C.set(Vh,Ga());bi(this.C);var e=this.b&&!this.K;if(a==Wh||ob("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Uh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Eh(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.ha("Error: "+g),"unable to verify user"==g&&(Qa(ci,""),this.i=null)):this.u(f+": "+g),ai(d),Eh(d)?(c=Uh(d),e=!0):c=!1))}e&&Sh(this,c?d:null)}else a==$h&&d.clear()}else Sh(this);delete this.L;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=di(this,g,d,b,c));b=[d,a,c];a!=Xh?Rh(this,this.Hb,b):this.Hb(b)}};
|
||||
function di(a,b,c,d,e){if(!b.A.aa){b.A.aa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Ba(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=Dh,window&&window.location.reload()):a.P=!0,b.Ba(null),e=!1),!d&&b.Cb){var g=b.Cb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
function di(a,b,c,d,e){if(!b.A.aa){b.A.aa=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.Ba(f,d)&&f&&(q("Unable to restore state for "+b.type),a.M&&!a.V?(c.clear(),a.b=Dh,window&&window.location.reload()):a.P=!0,b.Ba(null),e=!1),!d&&b.Db){var g=b.Db.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.U=!0;this.A.aa=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(di(this,this.v,b,c,a),J(this,-2),this.v.ga());this.P&&(Zh(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||
function Zh(a,b){if(ob("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function zg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.3"),g=new F(a,"1.34.3",Th),h=Ga();g.set(Vh,h);f.set(Vh,h);f.set(ei,"1.34.3");f.set(fi,window?window.location.href:null);f.set(gi,window?window.navigator.userAgent:"");a.v&&a.v.sa&&(c&&(b&&(a.v.A.ga=a.v.A.O),a.v.W()),d=a.v.sa(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.aa=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var l=h[k];l.A.aa&&(l.sa&&(d=l.sa(b,c),"object"===typeof d&&f.set(l.id,d)),c&&(l.A.aa=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&hi(a,a.i,f.toString()),bi(g)&&bi(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==ii),d&&f.clear(h)):e=f.toString());c&&(a.A.aa=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
||||
m.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Qb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;J(this,-1)};m.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};
|
||||
m.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
|
||||
function J(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.jb+=d))&&(e.textContent=c.A.O?c.ba.toFixed(2)+"Mhz":"Stopped",c.jb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.O;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.T||8,e=e||0,e=8==f?ua(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Ca);kc(a,a.i);ec(a,a.w)}}
|
||||
function J(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.kb+=d))&&(e.textContent=c.A.O?c.ba.toFixed(2)+"Mhz":"Stopped",c.kb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.O;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.T||8,e=e||0,e=8==f?ua(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Ca);kc(a,a.i);ec(a,a.w)}}
|
||||
m.ta=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.aa?zg(d,!1,!0):Rh(d,d.Xa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.aa&&!d.w)if(d.b&&!d.F){var a=ob("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");zg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Xa(Dh)}else d.reset(),d.v&&!d.D&&d.v.ga()},!0;case "save":if(ya(Ja(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||
else return this.J[b]=c,c.onclick=function(){var a=Ch(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=zg(d,b);b?hi(d,a,c):d.ha("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Ch(a,b){var c=a.i;c||((c=Pa(ci),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=ji(a,c))||a.ha("The user ID is invalid.")):b&&a.ha("Browser local storage is not available"));return c}
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
|
|||
function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){fa();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
||||
function l(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ia(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
|
||||
ia("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ia("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
||||
var n={Hb:0,$a:1,Jb:2,Kb:3,Lb:4,Mb:5,Nb:6,Ob:7,Ua:8,Pb:9,ab:10,Qb:11,Rb:12,bb:13,Sb:14,Tb:15,Ub:16,Vb:17,Wb:18,Xb:19,Yb:20,Zb:21,$b:22,ac:23,bc:24,cc:25,dc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ta:65,Gb:66,Ib:67,ec:68,E:69,fc:70,gc:71,hc:72,ic:73,jc:74,kc:75,lc:76,mc:77,nc:78,oc:79,pc:80,Q:81,qc:82,rc:83,sc:84,tc:85,uc:86,vc:87,
|
||||
wc:88,xc:89,eb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yc:97,zc:98,Ac:99,d:100,e:101,Bc:102,Cc:103,Dc:104,Ec:105,Fc:106,k:107,Gc:108,Hc:109,n:110,Ic:111,p:112,q:113,r:114,Jc:115,t:116,Kc:117,Lc:118,Mc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,cb:127};
|
||||
var n={Hb:0,ab:1,Jb:2,Kb:3,Lb:4,Mb:5,Nb:6,Ob:7,Ua:8,Pb:9,bb:10,Qb:11,Rb:12,cb:13,Sb:14,Tb:15,Ub:16,Vb:17,Wb:18,Xb:19,Yb:20,Zb:21,$b:22,ac:23,bc:24,cc:25,dc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ta:65,Gb:66,Ib:67,ec:68,E:69,fc:70,gc:71,hc:72,ic:73,jc:74,kc:75,lc:76,mc:77,nc:78,oc:79,pc:80,Q:81,qc:82,rc:83,sc:84,tc:85,uc:86,vc:87,
|
||||
wc:88,xc:89,fb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yc:97,zc:98,Ac:99,d:100,e:101,Bc:102,Cc:103,Dc:104,Ec:105,Fc:106,k:107,Gc:108,Hc:109,n:110,Ic:111,p:112,q:113,r:114,Jc:115,t:116,Kc:117,Lc:118,Mc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,eb:127};
|
||||
function ja(a,b,c,d){var e;e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b,h=h+(0<=h&&9>=h?48:55),f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function ka(a,b){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return ja(a,8,b,"")}
|
||||
function la(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return ja(a,16,b,c?"0x":"")}function ma(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function na(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function oa(){var a=pa();return-1!==a.indexOf("pcjs.org",a.length-8)}function qa(a){return a.replace(/[&<>"']/g,function(a){return ra[a]})}
|
||||
function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"};function ta(){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())}
|
||||
|
|
@ -78,19 +78,19 @@ k.Z=function(a,b,c,d){this.s=b;this.u=a;this.j=c;this.w=d;B(this)};k.V=function(
|
|||
function Eb(a,b,c,d,e){this.m=a;this.id=Nb+=2;this.fa=b;this.Ea=c;this.size=d||0;this.type=e||Ob;this.s=e==Pb;this.b=this.i=this.Qa;this.c=this.j=this.Fa;this.f=this.g=0;Fb(this);this.Pa=this.hb=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Qb(this,Rb)}else Qb(this)}k=Eb.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Pa=!0):!1};function Qb(a,b){b||(b=Sb);Tb(a,b,void 0);Ub(a,b,void 0)}
|
||||
function Tb(a,b,c){c&&a.f||(a.b=b[0]||a.Qa);if(c||void 0===c)a.i=b[0]||a.Qa}function Ub(a,b,c){c&&a.g||(a.c=!a.s&&b[1]||a.Fa);if(c||void 0===c)a.j=b[1]||a.Fa}function Fb(a,b){a.f=a.g=0;b&&((a.f=b.f)&&Tb(a,Vb,!1),(a.g=b.g)&&Ub(a,Vb,!1))}k.Qa=function(){var a=this.m;if(!a.i)throw N(a.j),-1;return-1};k.Fa=function(){var a=this.m;if(!a.i)throw N(a.j),-1;};k.vb=function(a){return this.a[a]};k.Eb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Pa=!0)};k.tb=function(a,b){return this.i(a,b)};
|
||||
k.Db=function(a,b,c){this.s?this.Fa():this.j(a,b,c)};var Ob=0,Pb=2,Kb=["NONE","RAM","ROM"],Nb=0,Sb=[],Rb=[Eb.prototype.vb,Eb.prototype.Eb],Vb=[Eb.prototype.tb,Eb.prototype.Db];
|
||||
function Wb(a,b){t.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Ha=0;this.La=b;this.ja=c;this.Ja=Math.round(this.La/1E4)/100;this.ha=this.Ja*this.ja;this.Ka=this.pa=this.ba=this.za=0;this.h.B=this.h.Ra=!1;this.h.J=a.autoStart;"string"==typeof this.h.J&&(this.h.J="true"==this.h.J);this.h.Ba=!1;this.xa=this.ia=0;this.ya=+a.csStart;this.na=+a.csInterval;this.oa=+a.csStop;this.K=[];this.Wa=this.yb.bind(this);this.P=this.D=this.N=this.H=this.C=this.ma=this.L=this.ca=this.Ma=this.W=0;this.ta=
|
||||
function Wb(a,b){t.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Ha=0;this.La=b;this.ja=c;this.Ja=Math.round(this.La/1E4)/100;this.ha=this.Ja*this.ja;this.Ka=this.pa=this.ba=this.za=0;this.h.B=this.h.Ra=!1;this.h.J=a.autoStart;"string"==typeof this.h.J&&(this.h.J="true"==this.h.J);this.h.Ba=!1;this.xa=this.ia=0;this.ya=+a.csStart;this.na=+a.csInterval;this.oa=+a.csStop;this.K=[];this.Xa=this.yb.bind(this);this.P=this.D=this.N=this.H=this.C=this.ma=this.L=this.ca=this.Ma=this.W=0;this.ta=
|
||||
null;B(this)}l(Wb,t);k=Wb.prototype;k.Z=function(a,b,c,d){this.u=a;this.s=b;this.w=d;this.ta=a.g;for(a=0;a<Xb.length;a++)(b=this.m[Xb[a]])&&this.u.U(null,Xb[a],b);B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
||||
k.V=function(a,b){var c=Yb(this.u,"autoStart");null!=c?this.h.J="true"==c?!0:"false"==c?!1:!!c:null==this.h.J&&(this.h.J=void 0===this.m.run);if(!b){if(a){Zb(this);if(!this.restore(a))return!1;$b(this)}else this.reset();this.status("No debugger detected");this.h.J||this.M("CPU will not be auto-started "+(this.ta?"(click Run to start)":"(type 'go' to start)"))}return!0};k.R=function(a){return a?this.save():!0};k.J=function(){return this.h.B?!0:this.h.J?(wb(this),!0):!1};k.Ya=function(){return 0};
|
||||
function $b(a){void 0===a.ya&&(a.ya=0);void 0===a.na&&(a.na=-1);void 0===a.oa&&(a.oa=-1);a.h.Ba=0<=a.ya&&0<a.na;a.h.Ba&&(a.xa=0,a.ia=a.ya-a.P)}function zb(a,b){if(a.h.Ba){var c=!1;a.xa=a.xa+a.Ya()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.na,c=!0);0<=a.oa&&a.oa<=ac(a)&&(a.na=a.oa=-1,$b(a),N(a),c=!0);c&&a.M(ac(a)+" cycles: checksum="+la(a.xa))}}
|
||||
k.V=function(a,b){var c=Yb(this.u,"autoStart");null!=c?this.h.J="true"==c?!0:"false"==c?!1:!!c:null==this.h.J&&(this.h.J=void 0===this.m.run);if(!b){if(a){Zb(this);if(!this.restore(a))return!1;$b(this)}else this.reset();this.status("No debugger detected");this.h.J||this.M("CPU will not be auto-started "+(this.ta?"(click Run to start)":"(type 'go' to start)"))}return!0};k.R=function(a){return a?this.save():!0};k.J=function(){return this.h.B?!0:this.h.J?(wb(this),!0):!1};k.Za=function(){return 0};
|
||||
function $b(a){void 0===a.ya&&(a.ya=0);void 0===a.na&&(a.na=-1);void 0===a.oa&&(a.oa=-1);a.h.Ba=0<=a.ya&&0<a.na;a.h.Ba&&(a.xa=0,a.ia=a.ya-a.P)}function zb(a,b){if(a.h.Ba){var c=!1;a.xa=a.xa+a.Za()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.na,c=!0);0<=a.oa&&a.oa<=ac(a)&&(a.na=a.oa=-1,$b(a),N(a),c=!0);c&&a.M(ac(a)+" cycles: checksum="+la(a.xa))}}
|
||||
k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.F)a=!0;else{var b=null,c,h=w(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.F);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.Ca?" (waiting for notification)":""))+".");a=!1}a&&(d.h.B?N(d):wb(d))},!0;case "speed":return this.m[b]=
|
||||
c,!0;case "setSpeed":return this.m[b]=c,c.onclick=function(){bc(d,d.ja<<1,!0)},c.textContent=this.ha.toFixed(2)+"Mhz",!0}return!1};function yb(a,b,c){a.P+=b;c&&(a.N=a.H=0)}function cc(a,b){var c=1;b&&1<a.ja&&a.W&&(c=a.W/a.Ja);a.Ka=Math.round(1E3/dc);a.pa=Math.floor(a.La/dc*c);b||(a.ba=a.pa);a.za=0}function ac(a){return a.P+a.D+a.N-a.H}function Zb(a){a.W=0;a.Ma=0;a.P=a.D=a.N=a.H=0;$b(a);bc(a,1)}
|
||||
function bc(a,b,c){if(void 0!==b){.8>a.W/a.ha&&(b=1);a.ja=b;b=a.Ja*a.ja;if(a.ha!=b){a.ha=b;b=a.ha.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ga&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ga.focus(),window&&window.scrollTo(b,d)))}yb(a,a.D);a.D=0;a.C=Na();a.L=0;cc(a)}function ec(a){for(var b=[],c=0;c<a.K.length;c++)b.push(a.K[c][0]);return b}
|
||||
function xb(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function fc(a,b){var c=a.N-=a.H;a.H=0;b&&(a.N=0);return c}
|
||||
k.yb=function(){if(this.h.B){this.za>=this.La&&cc(this,!0);this.ca=0;this.ma=Na();if(this.L){var a=this.ma-this.L;a>this.Ka&&(this.C+=a,this.C>this.ma&&(this.C=this.ma))}try{do{for(var b,c=this.h.Ba?1:this.pa,d=this.K.length-1;0<=d;d--){var e=this.K[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ga(b)}catch(f){if("number"!=typeof f)throw f;}b=fc(this,!0);this.ca+=b;this.D+=b;zb(this,b);xb(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.pa;++this.Ma>=gc&&(this.u&&Ab(this.u,void 0),this.Ma=0);break}}while(this.h.B)}catch(f){N(this);
|
||||
this.u&&this.u.stop(Na(),ac(this));a=f.stack||f.message;this.h.error=!0;this.G(a);return}if(this.h.B){a=setTimeout;b=this.Wa;this.L=Na();c=this.Ka;this.ca&&(c=Math.round(c*this.ca/this.pa));c-=this.L-this.ma;if(d=this.L-this.C)this.W=Math.round(this.D/(10*d))/100,864E5<=d&&(this.P=0,bc(this));if(0>c||this.W<this.ha)-1E3>c&&(this.C-=c),c=0;this.za+=this.ca;this.L+=c;a(b,c)}}};
|
||||
function wb(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.B)a.M(a.toString()+" busy");else{bc(a);a.h.B=!0;a.h.Ra=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.C,ac(a));a.w||a.status("Started");setTimeout(a.Wa,0)}}k.Ga=function(){return 0};function N(a){var b=!1;if(a.h.B){fc(a);yb(a,a.D);a.D=0;a.h.B=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),ac(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var dc=30,gc=15,Xb=["power","reset"];
|
||||
function hc(a){var b=+a.model||1001;Wb.call(this,a,1E6);this.fb=b;this.ua=+a.addrReset||0;this.gb=ic.bind(this);this.i=O.bind(this);this.la=null;this.Sa=[];this.h.complete=!1}l(hc,Wb);k=hc.prototype;
|
||||
k.reset=function(){this.status("Model "+this.fb);this.h.B&&N(this);this.qa=this.ra=this.a=this.v=0;this.f=this.Ia=this.ua;this.A=this.aa=-1;this.o=this.g=0;this.Na=[0,0];this.da=[0,0];this.X=[0,0];this.ea=[0,0];this.ka=this.f;this.l=0;this.b=this.ub;this.c=this.Fb;this.la=null;Zb(this);this.h.error=!1;Wb.prototype.reset.call(this)};k.Ya=function(){return 0};
|
||||
this.u&&this.u.stop(Na(),ac(this));a=f.stack||f.message;this.h.error=!0;this.G(a);return}if(this.h.B){a=setTimeout;b=this.Xa;this.L=Na();c=this.Ka;this.ca&&(c=Math.round(c*this.ca/this.pa));c-=this.L-this.ma;if(d=this.L-this.C)this.W=Math.round(this.D/(10*d))/100,864E5<=d&&(this.P=0,bc(this));if(0>c||this.W<this.ha)-1E3>c&&(this.C-=c),c=0;this.za+=this.ca;this.L+=c;a(b,c)}}};
|
||||
function wb(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.B)a.M(a.toString()+" busy");else{bc(a);a.h.B=!0;a.h.Ra=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.C,ac(a));a.w||a.status("Started");setTimeout(a.Xa,0)}}k.Ga=function(){return 0};function N(a){var b=!1;if(a.h.B){fc(a);yb(a,a.D);a.D=0;a.h.B=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),ac(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var dc=30,gc=15,Xb=["power","reset"];
|
||||
function hc(a){var b=+a.model||1001;Wb.call(this,a,1E6);this.Wa=b;this.ua=+a.addrReset||0;this.gb=ic.bind(this);this.i=O.bind(this);this.la=null;this.Sa=[];this.h.complete=!1}l(hc,Wb);k=hc.prototype;
|
||||
k.reset=function(){this.status("Model "+this.Wa);this.h.B&&N(this);this.qa=this.ra=this.a=this.v=0;this.f=this.Ia=this.ua;this.A=this.aa=-1;this.o=this.g=0;this.Na=[0,0];this.da=[0,0];this.X=[0,0];this.ea=[0,0];this.ka=this.f;this.l=0;this.b=this.ub;this.c=this.Fb;this.la=null;Zb(this);this.h.error=!1;Wb.prototype.reset.call(this)};k.Za=function(){return 0};
|
||||
k.save=function(){var a=new L(this);a.set(0,[this.a,this.v,this.qa,this.ra,this.f,this.aa,this.A,this.g,this.l,this.Ia,this.ka,this.ua]);a.set(1,[]);a.set(2,[this.P,this.ja,this.h.J]);a.set(3,jc(this));a.set(4,ec(this));return a.data()};
|
||||
k.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.a=b.next().value;this.v=b.next().value;this.qa=b.next().value;this.ra=b.next().value;this.f=b.next().value;this.aa=b.next().value;this.A=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Ia=b.next().value;this.ka=b.next().value;this.ua=b.next().value;b=a[2];this.P=b[0];bc(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Sa.length;d++){var e=this.Sa[d];
|
||||
if(e.Cb===b[c]){d=e;break a}}d=null}d&&(d.next=this.la,this.la=d)}a=a[4];for(b=0;b<this.K.length&&b<a.length;b++)this.K[b][0]=a[b];return!0};function M(a,b){a.f=b%$a;a.aa=-1}function jc(a){var b=[];for(a=a.la;a;)b.push(a.Cb),a=a.next;return b}k.ub=function(a){var b=this.s;a=this.ka=a;return b.a[(a&b.g)>>>b.f].b(a&16383,a)};k.Fb=function(a,b){var c=this.s;a=this.ka=a;c.a[(a&c.g)>>>c.f].c(b,a&16383,a);return b};
|
||||
|
|
@ -103,7 +103,7 @@ function Dc(a,b){var c=this.b(this.a)&C,d=this.b(b);this.c(b,Ec(a,d,c)+c)}functi
|
|||
function Kc(a,b){b=this.b(b)/E|0;var c=this.b(this.a);this.c(this.a,Ec(a,c,b)+b)}function Lc(a,b){var c=this.b(this.a),d=c/E|0,c=Ec(a,c,d)+d;this.c(this.a,c);b&&this.c(b,c)}function Q(a){Mc[a&7].call(this,a,a>>3&127)}function Nc(){}function Oc(){}function O(a){this.M("undefined opcode: "+ka(a));this.f=(this.f+-1)%$a;N(this)}function Pc(a){a>F&&(a!=G?a=db-a:this.g|=163840);return a}function R(a,b){var c=(a+b)%J;Qc.call(this,a,b,c);return c}
|
||||
function S(a,b,c){var d=!1,e=!1,f=b-b%G;a=a%G+b*G%J;b=this.o=f+Math.trunc(b/2);c>F&&(c=J-c,d=!d);b>F&&(a?(b=I-b,a=J-a):b&&(b=J-b),e=!0,d=!d);if(b>=c)return this.g|=131104,-1;f=this.Na;f[0]=0;f[1]=0;f=this.da;f[0]=1;f[1]=0;f=this.X;f[0]=c;f[1]=0;c=this.ea;c[0]=a;for(c[1]=b;0<Rc(this.ea,this.X);)Sc(this.X,this.X),Sc(this.da,this.da);do{if(0<=Rc(this.ea,this.X)&&(b=this.ea,a=this.X,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=J,b[1]--),Sc(this.Na,this.da),Tc(this.ea)))break;Uc(this.X);Uc(this.da)}while(!Tc(this.da));
|
||||
a=this.Na[0];this.o=this.ea[0];d&&a&&(a=J-a);e&&this.o&&(this.o=J-this.o);return a}
|
||||
function Vc(a,b,c){var d=a,e=b;b=!1;var f;d>F&&(d=J-d,b=!b);e>F&&(e=J-e,b=!b);if(d<E&&e<E)a=d*e,f=0;else{a=d&C;d=Math.trunc(d/E);f=e&C;var e=Math.trunc(e/E),g=a*f,h=d*f+Math.trunc(g/E);f=Math.trunc(h/E);h=(h&C)+a*e;a=h*E+(g&C);f+=Math.trunc(h/E)+d*e}b&&(a?(f=I-f,a=J-a):f&&(f=J-f));if(c)return(f||a>F)&&(f!=I||a<=F)&&(this.g|=131072),a;c=a;b=f;a=b-b%G;b=2*b%J+Math.trunc(c/G);c=a+c%G;d=b-b%G;a!=d&&(b=a+(b-d),this.g|=131072);this.o=c;return b}
|
||||
function Vc(a,b,c){var d=a,e=b;b=!1;var f;d>F&&(1001!=this.Wa||d!=G)&&(d=J-d,b=!b);e>F&&(e=J-e,b=!b);if(d<E&&e<E)a=d*e,f=0;else{a=d&C;d=Math.trunc(d/E);f=e&C;var e=Math.trunc(e/E),g=a*f,h=d*f+Math.trunc(g/E);f=Math.trunc(h/E);h=(h&C)+a*e;a=h*E+(g&C);f+=Math.trunc(h/E)+d*e}b&&(a?(f=I-f,a=J-a):f&&(f=J-f));if(c)return(f||a>F)&&(f!=I||a<=F)&&(this.g|=131072),a;c=a;b=f;a=b-b%G;b=2*b%J+Math.trunc(c/G);c=a+c%G;d=b-b%G;a!=d&&(b=a+(b-d),this.g|=131072);this.o=c;return b}
|
||||
function Wc(a){a?a==G?this.g|=163840:a=db-a:this.g|=98304;return a}function Xc(a,b){var c=a-b;0>c&&(c+=J);Qc.call(this,c,b,a);return c}function Qc(a,b,c){a=Math.trunc(a/cb);b=Math.trunc(b/cb);c=Math.trunc(c/cb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function T(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}function U(a,b){return T(a,(~(b/K|0)&15)*K+(~b>>>0))}function V(a,b){return(a<G?a:a-J)-(b<G?b:b-J)}
|
||||
function Yc(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)}function X(a){return a<G?a:a-J}function Y(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function Z(a){return(a/E|0)+(a&C)*E}function Ec(a,b,c){switch(a&384){case 0:b-=b&C;break;case 128:b=0;break;case 256:b=C*E;break;case 384:b=c>ab?C*E:0}return b}function vc(a,b,c){switch(a&384){case 0:b&=C;break;case 128:b=0;break;case 256:b=C;break;case 384:b=c>F?C:0}return b}
|
||||
function Sc(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=J&&(a[0]%=J,a[1]++)}function Rc(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Uc(a){a[1]%2&&(a[0]+=J);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Tc(a){return!a[0]&&!a[1]}
|
||||
|
|
@ -155,10 +155,10 @@ c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);bd(c)})}}l(ad,t);ad.prototype.Z=f
|
|||
function bd(a){if(a.s&&(!a.i&&a.g&&(Hb(a.s,a.f,a.g,1)?a.i=!0:a.g=0),!Wa(a))){if(!a.i)q("No RAM allocated");else if(a.a){if(!a.Y)return;cd(a,a.Y,a.T,a.S,a.f)?a.status('Loaded image "'+a.l+'"'):a.G('Error loading image "'+a.l+'"')}a.o=!0;B(a)}}
|
||||
ad.prototype.reset=function(){if(this.i&&!this.o){for(var a=this.s,b=this.f,c=this.g,d=b&16383,b=b>>>a.f;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-G&&(g+=J);for(var g=Math.trunc(Math.abs(g))%J,h=d;f--&&h<e.size;h++)e.j(g,d,e.fa+d);c-=16384;b++;d=0}this.Y&&cd(this,this.Y,this.T,this.S,this.f,!this.w)}this.o=!1};
|
||||
function cd(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Cb(a.s,c+g,b[g]);g=!0}g&&(null==d&&(N(a.j),f=!1),null!=d&&(a=a.j,a.ua=d,M(a,d),f?a.h.F?a.h.B||wb(a):a.h.J=!0:a.w&&a.h.F?N(a)||a.u.h.reset||(a.w.g(),Ab(a.u,-1)):!1===f&&N(a),!a.h.B&&a.ta&&a.ta.stop()));return g}Da(function(){for(var a=A(document,z,"ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new ad(d);Qa(d,c)}});
|
||||
function dd(a){t.call(this,"SerialPort",a);this.i=a.upperCase;"string"==typeof this.i&&(this.i="true"==this.i);this.g=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=ed;b&&(void 0===c&&(c="Panel"),(c=x(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.Za,receiveData:this.Da,receiveStatus:this.wb,setConnection:this.zb}}l(dd,t);k=dd.prototype;
|
||||
k.U=function(a,b,c){var d=this;switch(b){case ed:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?n.Ua:n.cb:46==c?b=n.Ua:a.ctrlKey&&c>=n.Ta&&c<=n.eb&&(b=c-(n.Ta-n.$a));b&&(a.preventDefault&&a.preventDefault(),d.Da(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==n.bb&&(b=n.ab);d.Da(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||
function dd(a){t.call(this,"SerialPort",a);this.i=a.upperCase;"string"==typeof this.i&&(this.i="true"==this.i);this.g=!0;this.f=[];var b=a.binding;if("console"!=b){var c;a=ed;b&&(void 0===c&&(c="Panel"),(c=x(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.$a,receiveData:this.Da,receiveStatus:this.wb,setConnection:this.zb}}l(dd,t);k=dd.prototype;
|
||||
k.U=function(a,b,c){var d=this;switch(b){case ed:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?n.Ua:n.eb:46==c?b=n.Ua:a.ctrlKey&&c>=n.Ta&&c<=n.fb&&(b=c-(n.Ta-n.ab));b&&(a.preventDefault&&a.preventDefault(),d.Da(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==n.cb&&(b=n.bb);d.Da(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.Da(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.j=c;this.w=d;B(this)};
|
||||
k.Za=function(a){if(!this.a){var b=Yb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.va)return;c=sa(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.wa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Za(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
k.$a=function(a){if(!this.a){var b=Yb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.va)return;c=sa(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.wa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.$a(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new L(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.Da=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.f.push(b)}else this.f=this.f.concat(a);return!0};k.wb=function(){};k.zb=function(a,b){return this.a?!1:(this.a=a,this.l=b,!0)};var ed="buffer";
|
||||
Da(function(){for(var a=A(document,z,"serial"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new dd(d);Qa(d,c)}});
|
||||
function fd(a,b,c){t.call(this,"Computer",a);this.h.F=!1;this.L=null;gd(this,b);this.H=Yb(this,"autoPower",a,6);this.i=0;this.W=+a.busWidth||+a.buswidth;this.C=this.o=this.D=null;this.A=this.P=!1;this.v=this.l=null;this.N=this.K=!1;this.X=Yb(this,"url")||"";(Math.random()+.1).toString(36);this.f=hd(this);if(this.j=x("CPU",this.id)){this.w=x("Debugger",this.id);this.s=new Db({id:this.wa+".bus",busWidth:this.W},this.j,this.w);var d,e=w(this.id);if((this.g=x("Panel",this.id))&&this.g.ga)for(b=0;b<e.length;b++)d=
|
||||
|
|
@ -167,9 +167,9 @@ e[b],d.G=this.g.G,d.M=this.g.M,d.ga=this.g.ga;this.M(Ya+" v1.34.3\nCopyright \u0
|
|||
function Yb(a,b,c,d){var e=b.toLowerCase(),e=Aa(b)||Aa(e);void 0===e&&a.L&&(e=a.L[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function ld(a,b,c){for(var d=w(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Wa(f)){Wa(f,function(){ld(a,b,c)});return}}b.call(a,c)}
|
||||
function md(a,b){var c=new L(a,"1.34.3",nd);if(jd(c)&&od(c)){var d=c.get(pd),e=b?b.get(pd):"unknown";d!=e&&(a.G("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=fd.prototype;
|
||||
k.sa=function(a){void 0===a&&(a=this.a||(this.C?qd:id));if(!this.i){this.i++;var b=!1,c=!1;this.K=!1;var d=this.v||new L(this,"1.34.3");if(a==rd)b=!0;else if(a>id){if(jd(d,this.C)){this.l=new L(this,"1.34.3",sd);jd(this.l)&&(td(this,d),a=ud,vd(this.l));this.l.set(pd,ta());wd(this.l);var e=this.a&&!this.A;if(a==qd||Oa("Click OK to restore the previous "+Ya+" machine state, or CANCEL to reset the machine.")){if(c=od(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?jd(d,g):("error"==f&&"no machine state"!=
|
||||
g?(this.G("Error: "+g),"unable to verify user"==g&&(ya(xd,""),this.f=null)):this.M(f+": "+g),vd(d),jd(d)?(c=od(d),e=!0):c=!1))}e&&md(this,c?d:null)}else a==ud&&d.clear()}else md(this);delete this.C;delete this.v}e=w(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.j&&(c=yd(this,g,d,b,c));b=[d,a,c];a!=rd?ld(this,this.Xa,b):this.Xa(b)}};
|
||||
g?(this.G("Error: "+g),"unable to verify user"==g&&(ya(xd,""),this.f=null)):this.M(f+": "+g),vd(d),jd(d)?(c=od(d),e=!0):c=!1))}e&&md(this,c?d:null)}else a==ud&&d.clear()}else md(this);delete this.C;delete this.v}e=w(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.j&&(c=yd(this,g,d,b,c));b=[d,a,c];a!=rd?ld(this,this.Ya,b):this.Ya(b)}};
|
||||
function yd(a,b,c,d,e){if(!b.h.F){b.h.F=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.V(f,d)&&f&&(q("Unable to restore state for "+b.type),a.D&&!a.P?(c.clear(),a.a=id,window&&window.location.reload()):a.K=!0,b.V(null),e=!1),!d&&b.Va){var g=b.Va.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||
k.Xa=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.h.F=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.j&&(yd(this,this.j,b,c,a),Ab(this,-2),this.j.J());this.K&&(td(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0};
|
||||
k.Ya=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.h.F=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.j&&(yd(this,this.j,b,c,a),Ab(this,-2),this.j.J());this.K&&(td(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0};
|
||||
function td(a,b){if(Oa("There may be a problem with your "+Ya+" machine.\n\nTo help us diagnose it, click OK to send this "+Ya+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.f||"";b=b.toString();var d={};d.app=Ya;d.ver="1.34.3";d.url=c;d.user=a;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function zd(a,b,c){var d,e="none";if(a.i)return null;a.i--;var f=new L(a,"1.34.3"),g=new L(a,"1.34.3",nd),h=ta();g.set(pd,h);f.set(pd,h);f.set(Ad,"1.34.3");f.set(Bd,window?window.location.href:null);f.set(Cd,window?window.navigator.userAgent:"");a.j&&a.j.R&&(c&&(b&&(a.j.h.J=a.j.h.B),N(a.j)),d=a.j.R(b,c),"object"===typeof d&&f.set(a.j.id,d),c&&(a.j.h.F=!1,!1===d&&(e=null)));for(var h=w(a.id),m=0;m<h.length;m++){var u=h[m];u.h.F&&(u.R&&(d=u.R(b,c),"object"===typeof d&&f.set(u.id,d)),c&&(u.h.F=!1,!1===
|
||||
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&Dd(a,a.f,f.toString()),wd(g)&&wd(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==Ed),d&&f.clear(h)):e=f.toString());c&&(a.h.F=!1,b=a.m.power)&&(b.textContent="Power");a.i=0;return e}k.reset=function(){this.h.reset=!0;this.s&&this.s.reset&&this.s.reset();this.j&&this.j.reset&&this.j.reset();for(var a=w(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.s&&c!==this.j&&c.reset&&c.reset()}this.h.reset=!1;Ab(this,-1)};
|
||||
|
|
|
|||
Loading…
Reference in a new issue