Optimized branch()
This commit is contained in:
parent
b2c66b5374
commit
ed189527d0
4 changed files with 268 additions and 260 deletions
|
|
@ -587,7 +587,7 @@ PDP11.opASRB = function(opCode)
|
|||
*/
|
||||
PDP11.opBCC = function(opCode)
|
||||
{
|
||||
if (!this.getCF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getCF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -599,7 +599,7 @@ PDP11.opBCC = function(opCode)
|
|||
*/
|
||||
PDP11.opBCS = function(opCode)
|
||||
{
|
||||
if (this.getCF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (this.getCF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -683,7 +683,7 @@ PDP11.opBITB = function(opCode)
|
|||
*/
|
||||
PDP11.opBEQ = function(opCode)
|
||||
{
|
||||
if (this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (this.getZF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -695,7 +695,7 @@ PDP11.opBEQ = function(opCode)
|
|||
*/
|
||||
PDP11.opBGE = function(opCode)
|
||||
{
|
||||
if (!this.getNF() == !this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getNF() == !this.getVF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -707,7 +707,7 @@ PDP11.opBGE = function(opCode)
|
|||
*/
|
||||
PDP11.opBGT = function(opCode)
|
||||
{
|
||||
if (!this.getZF() && (!this.getNF() == !this.getVF())) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getZF() && (!this.getNF() == !this.getVF())) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -719,7 +719,7 @@ PDP11.opBGT = function(opCode)
|
|||
*/
|
||||
PDP11.opBHI = function(opCode)
|
||||
{
|
||||
if (!this.getCF() && !this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getCF() && !this.getZF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -731,7 +731,7 @@ PDP11.opBHI = function(opCode)
|
|||
*/
|
||||
PDP11.opBLE = function(opCode)
|
||||
{
|
||||
if (this.getZF() || (!this.getNF() != !this.getVF())) this.regsGen[7] = this.branch(opCode);
|
||||
if (this.getZF() || (!this.getNF() != !this.getVF())) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -743,7 +743,7 @@ PDP11.opBLE = function(opCode)
|
|||
*/
|
||||
PDP11.opBLOS = function(opCode)
|
||||
{
|
||||
if (this.getCF() || this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (this.getCF() || this.getZF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -755,7 +755,7 @@ PDP11.opBLOS = function(opCode)
|
|||
*/
|
||||
PDP11.opBLT = function(opCode)
|
||||
{
|
||||
if (!this.getNF() != !this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getNF() != !this.getVF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -767,7 +767,7 @@ PDP11.opBLT = function(opCode)
|
|||
*/
|
||||
PDP11.opBMI = function(opCode)
|
||||
{
|
||||
if (this.getNF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (this.getNF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -779,7 +779,7 @@ PDP11.opBMI = function(opCode)
|
|||
*/
|
||||
PDP11.opBNE = function(opCode)
|
||||
{
|
||||
if (!this.getZF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getZF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -791,7 +791,7 @@ PDP11.opBNE = function(opCode)
|
|||
*/
|
||||
PDP11.opBPL = function(opCode)
|
||||
{
|
||||
if (!this.getNF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getNF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -803,10 +803,7 @@ PDP11.opBPL = function(opCode)
|
|||
*/
|
||||
PDP11.opBPT = function(opCode)
|
||||
{
|
||||
/*
|
||||
* TODO: Implement
|
||||
*/
|
||||
this.regOp = -1;
|
||||
this.trap(PDP11.TRAP.BREAKPOINT, 6);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -818,7 +815,7 @@ PDP11.opBPT = function(opCode)
|
|||
*/
|
||||
PDP11.opBR = function(opCode)
|
||||
{
|
||||
this.regsGen[7] = this.branch(opCode);
|
||||
this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -830,7 +827,7 @@ PDP11.opBR = function(opCode)
|
|||
*/
|
||||
PDP11.opBVC = function(opCode)
|
||||
{
|
||||
if (!this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (!this.getVF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -842,7 +839,7 @@ PDP11.opBVC = function(opCode)
|
|||
*/
|
||||
PDP11.opBVS = function(opCode)
|
||||
{
|
||||
if (this.getVF()) this.regsGen[7] = this.branch(opCode);
|
||||
if (this.getVF()) this.branch(opCode);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -1118,10 +1115,7 @@ PDP11.opINCB = function(opCode)
|
|||
*/
|
||||
PDP11.opIOT = function(opCode)
|
||||
{
|
||||
/*
|
||||
* TODO: Implement
|
||||
*/
|
||||
this.regOp = -1;
|
||||
this.trap(PDP11.TRAP.IOT, 8);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -1149,10 +1143,11 @@ PDP11.opJSR = function(opCode)
|
|||
*/
|
||||
PDP11.opMARK = function(opCode)
|
||||
{
|
||||
/*
|
||||
* TODO: Implement
|
||||
*/
|
||||
this.regOp = -1;
|
||||
var addr = (this.regsGen[7] + ((opCode & 0x3F) << 1)) & 0xffff;
|
||||
var src = this.readWordFromVirtual(addr | 0x10000);
|
||||
this.setPC(this.regsGen[5]);
|
||||
this.setSP(addr + 2);
|
||||
this.regsGen[5] = src;
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -1164,10 +1159,22 @@ PDP11.opMARK = function(opCode)
|
|||
*/
|
||||
PDP11.opMFPD = function(opCode)
|
||||
{
|
||||
/*
|
||||
* TODO: Implement
|
||||
*/
|
||||
this.regOp = -1;
|
||||
var src;
|
||||
if (!(opCode & PDP11.OPMODE.MASK)) {
|
||||
var reg = opCode & 7;
|
||||
if (reg != 6 || ((this.regPSW >> 2) & PDP11.PSW.PMODE) === (this.regPSW & PDP11.PSW.PMODE)) {
|
||||
src = this.regsGen[reg];
|
||||
} else {
|
||||
src = this.regsAltStack[(this.regPSW >> 12) & 3];
|
||||
}
|
||||
} else {
|
||||
var addr = this.getVirtualByMode(opCode, PDP11.ACCESS.WORD);
|
||||
this.mmuMode = (this.regPSW >> 12) & 3;
|
||||
src = this.readWordFromVirtual(addr | 0x10000);
|
||||
this.mmuMode = (this.regPSW >> 14) & 3;
|
||||
}
|
||||
this.pushWord(src);
|
||||
this.updateNZFlags(src);
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
@ -1543,14 +1550,14 @@ PDP11.opSEx = function(opCode)
|
|||
* opSOB(opCode)
|
||||
*
|
||||
* @this {CPUStatePDP11}
|
||||
* @param {number} opCode
|
||||
* @param {number} opCode (077Rnn)
|
||||
*/
|
||||
PDP11.opSOB = function(opCode)
|
||||
{
|
||||
/*
|
||||
* TODO: Implement
|
||||
*/
|
||||
this.regOp = -1;
|
||||
var reg = (opCode & PDP11.SRCMODE.REG) >> PDP11.SRCMODE.SHIFT;
|
||||
if ((this.regsGen[reg] = ((this.regsGen[reg] - 1) & 0xffff))) {
|
||||
this.setPC(this.regsGen[7] - ((opCode & 0x3F) << 1));
|
||||
}
|
||||
this.nStepCycles -= 1;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1546,11 +1546,10 @@ CPUStatePDP11.prototype.writeByteByMode = function(addressMode, data, writeFlags
|
|||
*
|
||||
* @this {CPUStatePDP11}
|
||||
* @param {number} opCode
|
||||
* @return {number} (PC +/- the word delta specified in the opCode)
|
||||
*/
|
||||
CPUStatePDP11.prototype.branch = function(opCode)
|
||||
{
|
||||
return (this.regsGen[PDP11.REG.PC] + ((opCode << 24) >> 23)) & 0xffff;
|
||||
this.setPC(this.regsGen[PDP11.REG.PC] + ((opCode << 24) >> 23));
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,186 +16,187 @@ function ab(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(
|
|||
function bb(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=y(e))&&g.binding&&a.ta(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ta:function(a,b,c){switch(b){case "clear":return this.I[b]||(this.I[b]=c,c.onclick=function(a){return function(){a.I.print&&(a.I.print.value="")}}(this)),!0;case "print":return this.I[b]||(this.kb=this.I[b]=c,c.value="",this.f=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.oa=function(a){this.f(a,this.Db)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Db+": "+a)},oa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Na:function(){return this.u.ga=!0},Ma:function(a,b){b&&(this.u.ga=!1);return!0}};function cb(a,b){if(a.C){a===a.C?b|=0:b=b||a.ia;var c=a.C.ia&b;return!!b&&c===b||!!(c&a.C.Jc)}return!1}
|
||||
function pb(a,b){if(a.u.fc)return a.u.pb&&(a.u.pb=!1),a.u.fc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.pb=b;return a.u.pb}function qb(a,b){a.u.pb&&(b?a.u.fc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.pb}function D(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Zb;a.Zb=null;b&&b()}}function rb(a,b){b&&(a.u.ready?b():a.Zb=b);return a.u.ready}function sb(a,b){a.u.error=!0;a.oa(b)}
|
||||
this.oa=function(a){this.f(a,this.Db)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Db+": "+a)},oa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Oa:function(){return this.u.ga=!0},Na:function(a,b){b&&(this.u.ga=!1);return!0}};function cb(a,b){if(a.C){a===a.C?b|=0:b=b||a.ia;var c=a.C.ia&b;return!!b&&c===b||!!(c&a.C.Jc)}return!1}
|
||||
function db(a,b){if(a.u.fc)return a.u.pb&&(a.u.pb=!1),a.u.fc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.pb=b;return a.u.pb}function qb(a,b){a.u.pb&&(b?a.u.fc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.pb}function D(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Zb;a.Zb=null;b&&b()}}function rb(a,b){b&&(a.u.ready?b():a.Zb=b);return a.u.ready}function sb(a,b){a.u.error=!0;a.oa(b)}
|
||||
var tb="undefined"!==typeof ArrayBuffer,E={cpu:1,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function ub(a){u.call(this,"Panel",a,ub)}w(ub);l=ub.prototype;l.ta=function(a,b,c,d){return this.i&&this.i.ta(a,b,c,d)||this.b&&this.b.ta(a,b,c,d)||this.C&&this.C.ta(a,b,c,d)?!0:this.parent.ta.call(this,a,b,c,d)};l.Xa=function(a,b,c,d){this.i=a;this.F=b;this.b=c;this.C=d};
|
||||
l.Na=function(a,b){b||vb();return!0};l.Ma=function(){return!0};l.ya=function(){};function vb(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=y(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<v.length;g++)if(v[g].id===e){e=v[g];break a}}e=null}e||(a=!0,e=new ub(f));bb(e,d);a&&D(e)}}Oa(vb);
|
||||
function wb(a,b,c){u.call(this,"Bus",a,wb);this.b=b;this.C=c;this.J=a.busWidth||16;this.D=Math.pow(2,this.J);this.j=this.D-1|0;this.W=(this.J>>1)+2;10>this.W&&(this.W=10);15<this.W&&(this.W=15);this.za=1<<this.W;this.O=this.za>>2;this.i=this.za-1;this.B=this.D/this.za|0;this.A=this.B-1;this.Sa=[];this.G=null;this.Lb=this.Fc;a=new F;xb(a,this.C);this.L=Array(this.B);for(b=0;b<this.B;b++)this.L[b]=a;this.Gb=Array(4);this.Gb[0]=yb;this.Gb[1]=zb;this.Gb[2]=Ab;this.Gb[3]=Bb;Cb(this,this.D-8192,8192,Db,
|
||||
l.Oa=function(a,b){b||vb();return!0};l.Na=function(){return!0};l.za=function(){};function vb(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=y(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<v.length;g++)if(v[g].id===e){e=v[g];break a}}e=null}e||(a=!0,e=new ub(f));bb(e,d);a&&D(e)}}Oa(vb);
|
||||
function wb(a,b,c){u.call(this,"Bus",a,wb);this.b=b;this.C=c;this.J=a.busWidth||16;this.D=Math.pow(2,this.J);this.j=this.D-1|0;this.X=(this.J>>1)+2;10>this.X&&(this.X=10);15<this.X&&(this.X=15);this.Aa=1<<this.X;this.O=this.Aa>>2;this.i=this.Aa-1;this.B=this.D/this.Aa|0;this.A=this.B-1;this.Sa=[];this.G=null;this.Lb=this.Fc;a=new F;xb(a,this.C);this.L=Array(this.B);for(b=0;b<this.B;b++)this.L[b]=a;this.Gb=Array(4);this.Gb[0]=yb;this.Gb[1]=zb;this.Gb[2]=Ab;this.Gb[3]=Bb;Cb(this,this.D-8192,8192,Db,
|
||||
this);Cb(this,57344,8192,Db,this);D(this)}w(wb);function yb(a,b){var c=this.controller,d=c.Sa[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.Sa[a&-2],d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+ba(b));return c.Lb(b,-1,1)}
|
||||
function zb(a,b,c){var d=this.controller,f=d.Sa[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.Sa[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.f("warning: unconverted write access to byte @"+ba(c));d.Lb(c,b,1)}
|
||||
function Ab(a,b){var c=this.controller;if(a=c.Sa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+ba(b));return c.Lb(b,-1,0)}function Bb(a,b,c){var d=this.controller;if(a=d.Sa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+ba(c));d.Lb(c,b,0)}l=wb.prototype;l.reset=function(){this.G&&this.G()};l.Fc=function(){return 0};l.Na=function(a,b){b||this.reset();return!0};
|
||||
function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.W;0<g&&h<a.L.length;){var k=a.L[h],m=h*a.za,n=a.za-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.za;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.za,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.za;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Fb[d]+" at "+r(b,8,!0)),!0):Eb(2,b,c)}
|
||||
l.rb=function(a){return this.L[(a&this.j)>>>this.W].vb(a&this.i,a)};l.Fa=function(a){var b=a&this.i,c=(a&this.j)>>>this.W;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].vb(b,a)|this.L[c&this.A].vb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.W;return c!=a.i?a.L[d].lc(c,b):a.L[d++].Pb(c,b)|a.L[d&a.A].Pb(0,b+1)<<8}l.Ub=function(a,b){this.L[(a&this.j)>>>this.W].Bb(a&this.i,b&255,a)};
|
||||
l.zb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.W;c!=this.i?this.L[d].Ec(c,b&65535,a):(this.L[d++].Bb(c,b&255,a),this.L[d&this.A].Bb(0,b>>8&255,a+1))};function Hb(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.L[d];if(f.Wa||f.Nc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Ab(a,b){var c=this.controller;if(a=c.Sa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.f("warning: unconverted read access to word @"+ba(b));return c.Lb(b,-1,0)}function Bb(a,b,c){var d=this.controller;if(a=d.Sa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.f("warning: unconverted write access to word @"+ba(c));d.Lb(c,b,0)}l=wb.prototype;l.reset=function(){this.G&&this.G()};l.Fc=function(){return 0};l.Oa=function(a,b){b||this.reset();return!0};
|
||||
function Cb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.X;0<g&&h<a.L.length;){var k=a.L[h],m=h*a.Aa,n=a.Aa-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Xb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Xb){n=k.size-(e-m);n>g&&(n=g);k.Xb=e-k.w+n;e=m+a.Aa;g-=n;h++;continue}}return Eb(1,e,g)}e=new F(e,n,a.Aa,d,f);xb(e,a.C,k);a.L[h++]=e;e=m+a.Aa;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Fb[d]+" at "+r(b,8,!0)),!0):Eb(2,b,c)}
|
||||
l.rb=function(a){return this.L[(a&this.j)>>>this.X].vb(a&this.i,a)};l.Ga=function(a){var b=a&this.i,c=(a&this.j)>>>this.X;return b!=this.i?this.L[c].Qb(b,a):this.L[c++].vb(b,a)|this.L[c&this.A].vb(0,a+1)<<8};function Gb(a,b){var c=b&a.i,d=(b&a.j)>>>a.X;return c!=a.i?a.L[d].lc(c,b):a.L[d++].Pb(c,b)|a.L[d&a.A].Pb(0,b+1)<<8}l.Ub=function(a,b){this.L[(a&this.j)>>>this.X].Bb(a&this.i,b&255,a)};
|
||||
l.zb=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.X;c!=this.i?this.L[d].Ec(c,b&65535,a):(this.L[d++].Bb(c,b&255,a),this.L[d&this.A].Bb(0,b>>8&255,a+1))};function Hb(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.L[d];if(f.Wa||f.Nc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Ib(a,b){var c=Jb,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,f=f[3]?f[3].bind(b):null,n=+d;n<=g;n+=2){var p=n&8191;void 0!==e.Sa[p]?t("I/O address already registered: "+r(n,8,!0)):e.Sa[p]=[h,k,m,f,!1]}}function Kb(a,b,c){a.G=b;a.Lb=c}function Eb(a,b,c){t("Memory block error ("+a+": "+r(b)+","+r(c)+")");return!1}
|
||||
function G(a){u.call(this,"Device",a,G);this.j={kc:[],Ga:0,ua:128,C:127,Lc:0};this.A={data:0,qd:0,sb:20,kd:0};this.i={K:0,pc:-1};this.B={Sb:2496,la:0,N:128,Tb:0,Rb:0,sa:0,zc:0,na:[],ib:[406,406,406,406],Z:[12,12,12,12]};this.D={K:129,Jb:0,ea:0,Za:0,Ta:0,eb:0,na:[],Z:[40,40,40,40],ib:[1024,1024,512,512],Hc:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],Z:[22,22,22,50],hb:[19,19,19,32],ec:[815,411,815,630],na:[],P:2176,yb:0,wb:0,Ba:[0,0,0,0,0,0,0,0],Aa:0,pa:[4544,4544,4544,4544,4544,4544,4544,4544],
|
||||
function G(a){u.call(this,"Device",a,G);this.j={kc:[],Ha:0,ua:128,C:127,Lc:0};this.A={data:0,qd:0,sb:20,kd:0};this.i={K:0,pc:-1};this.B={Sb:2496,la:0,N:128,Tb:0,Rb:0,sa:0,zc:0,na:[],ib:[406,406,406,406],$:[12,12,12,12]};this.D={K:129,Jb:0,ea:0,Za:0,Ta:0,eb:0,na:[],$:[40,40,40,40],ib:[1024,1024,512,512],Hc:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],$:[22,22,22,50],hb:[19,19,19,32],ec:[815,411,815,630],na:[],P:2176,yb:0,wb:0,Ca:[0,0,0,0,0,0,0,0],Ba:0,pa:[4544,4544,4544,4544,4544,4544,4544,4544],
|
||||
xb:[0,0,0,0,0,0,0,0],nb:0,hd:[0,0,0,0,0,0,0,0],Ac:0,Bc:[0,0,0,0,0,0,0,0],I:[0,0,0,0,0,0,0,0],jd:[1,2,3,4,5,6,7,8],Cc:[0,0,0,0,0,0,0,0],Qa:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],fd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],dd:[0,0,0,0,0,0,0,0],ed:[0,0,0,0,0,0,0,0],cb:0,nc:0}}w(G);
|
||||
var Ub=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||
var Lb=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=G.prototype;l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;var f=this;this.i.pc=Vb(this.b,function(){f.i.Ya|=128;f.i.Ya&64&&(H(f.b,0,6,64),Wb(f.b,f.i.pc))});Ib(b,this);Kb(b,this.reset.bind(this),this.Gc.bind(this));D(this)};l.Xc=function(){var a=this.i.Ya;this.i.Ya&=-129;return a};
|
||||
l.md=function(a){this.i.Ya=a;a&64&&Wb(this.b,this.i.pc);this.i.Ya=a&-129};l.Yc=function(){var a=this.b;return a.A&62337|a.qa<<5|a.ra<<1};l.nd=function(a){var b=4,c=this.b;c.A=a&=62337;c.qa=a>>5&3;c.ra=a>>1&15;c.$b=a&257?a&1?6:4:0;Xb(c);a=c.A;a&1|256&&(b=this.b.gb&16?1:2);this.A.sb=this.A.sb&-8|b};l.$c=function(){return this.j.ua};l.pd=function(a){if(128==(this.j.ua&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.j.ua|=128;return!!(b.j.ua&64)})}this.j.ua=this.j.ua&128|a&-129};l.Zc=function(){return Yb(this.b)};
|
||||
l.md=function(a){this.i.Ya=a;a&64&&Wb(this.b,this.i.pc);this.i.Ya=a&-129};l.Yc=function(){var a=this.b;return a.B&62337|a.qa<<5|a.ra<<1};l.nd=function(a){var b=4,c=this.b;c.B=a&=62337;c.qa=a>>5&3;c.ra=a>>1&15;c.$b=a&257?a&1?6:4:0;Xb(c);a=c.B;a&1|256&&(b=this.b.gb&16?1:2);this.A.sb=this.A.sb&-8|b};l.$c=function(){return this.j.ua};l.pd=function(a){if(128==(this.j.ua&192)&&a&64){var b=this;H(this.b,8,4,52,function(){b.j.ua|=128;return!!(b.j.ua&64)})}this.j.ua=this.j.ua&128|a&-129};l.Zc=function(){return Yb(this.b)};
|
||||
l.od=function(a){Zb(this.b,a&-1809|Yb(this.b)&1808);this.b.M|=128};
|
||||
function $b(a){var b=a.B,c,d,f,e=b.sa>>13&7;"undefined"===typeof b.na[e]&&(b.na[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.Z[e],url:"rk"+e+".dsk"});b.N&=-129;switch(b.N>>1&7){case 0:b.Sb=2496;b.la=0;b.N=128;b.sa=0;break;case 1:if((b.sa>>4&511)>=b.ib[e]){b.la|=32832;b.N|=49152;break}if((b.sa&15)>=b.Z[e]){b.la|=32800;b.N|=49152;break}c=(b.sa>>4&511)*b.Z[e]+(b.sa&15);d=(b.N&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.na[e],c,d,f);return;case 2:if((b.sa>>4&511)>=b.ib[e])b.la|=
|
||||
32832,b.N|=49152;else if((b.sa&15)>=b.Z[e])b.la|=32800,b.N|=49152;else{c=(b.sa>>4&511)*b.Z[e]+(b.sa&15);d=(b.N&48)<<12|b.Rb;f=65536-b.Tb&65535;a.bc(b.na[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.sa%9&15;H(a.b,20,5,144,function(){b.N=b.N&65534|128;return!!(b.N&64)})}l.ad=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.N=e.N&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.N|=49152;break;case 2:e.la|=33792,e.N|=49152}H(this.b,20,5,144,function(){e.N=e.N&65534|128;return!!(e.N&64)})};
|
||||
function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.na[e]&&(b.na[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.Z[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.Za&8&&(b.K&=63);b.Za=b.Hc[e]|b.eb&64;break;case 3:1==(b.ea&3)&&(b.eb=b.ea&4?b.eb+(b.ea&65408)&65408|b.ea<<2&64:b.eb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.eb);break;case 4:b.Za=b.eb;break;case 5:if(b.ea>>6>=b.ib[e]){b.K|=37888;break}if((b.ea&63)>=b.Z[e]){b.K|=37888;break}c=(b.ea>>6)*b.Z[e]+
|
||||
(b.ea&63);d=(b.Ta&63)<<16|b.Jb;f=65536-b.Za&65535;ac(a,b.na[e],c,d,f);return;case 6:if(b.ea>>6>=b.ib[e])b.K|=37888;else if((b.ea&63)>=b.Z[e])b.K|=37888;else{c=(b.ea>>6)*b.Z[e]+(b.ea&63);d=(b.Ta&63)<<16|b.Jb;f=65536-b.Za&65535;a.bc(b.na[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})}
|
||||
l.bd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Ta=d>>16&63;e.ea=~~(c/e.Z[b.Ka])<<6|c%e.Z[b.Ka];e.eb=e.ea;e.Za=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}H(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function cc(a){a=a.G;a.P=2176;a.Aa=0;a.pa=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.nb=a.yb=a.wb=a.cb=a.nc=0}
|
||||
function dc(a,b){var c=a.G,d,f,e;c.P&=-16513;c.Aa&=-2049;c.pa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.na[b]&&(c.na[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.hb[0]*c.Z[0],url:"rp"+b+".dsk"});switch(c.P&63){case 5:c.dc[b]=c.Qa[b];c.P|=32896;c.pa[b]|=32896;c.nb|=1<<b;break;case 9:cc(a);break;case 19:c.pa[b]|=64;break;case 49:if(c.Qa[b]>=c.ec[0]||c.Ba[b]>>8>=c.hb[0]||(c.Ba[b]&255)>=c.Z[0]){c.xb[b]|=1024;c.P|=49152;break}d=(c.Qa[b]*c.hb[0]+(c.Ba[b]>>8))*c.Z[0]+
|
||||
(c.Ba[b]&255);f=(c.cb&63)<<16|c.wb;e=65536-c.yb&65535;ac(a,c.na[b],d,f,e);return;case 57:if(c.Qa[b]>=c.ec[0]||c.Ba[b]>>8>=c.hb[0]||(c.Ba[b]&255)>=c.Z[0])c.xb[b]|=1024,c.P|=49152;else{d=(c.Qa[b]*c.hb[0]+(c.Ba[b]>>8))*c.Z[0]+(c.Ba[b]&255);f=(c.cb&63)<<16|c.wb;e=65536-c.yb&65535;a.bc(c.na[b],d,f,e);return}}H(a.b,3,5,172,function(){c.P=c.P&65534|128;c.pa[b]|=128;return!!(c.P&64)})}
|
||||
l.cd=function(a,b,c,d,f){var e=this.G;e.yb=65536-f&65535;e.wb=d&65535;e.P=e.P&-769|d>>8&768;e.cb=d>>16&63;f=~~(c/e.Z[0]);d=~~(f/e.hb[0]);e.Ba[b.Ka]=f%e.hb[0]<<8|c%e.Z[0];e.dc[b.Ka]=e.Qa[b.Ka]=d;e.nb|=1<<b.Ka;c>=b.Uc-1&&(e.pa[b.Ka]|=1024);switch(a){case 1:e.Aa|=512;e.P|=49152;break;case 2:e.Aa|=2048,e.P|=49152}H(this.b,20,5,172,function(){e.pa[b.Ka]|=128;e.P=e.P&65534|128;return!!(e.P&64)})};
|
||||
function $b(a){var b=a.B,c,d,f,e=b.sa>>13&7;"undefined"===typeof b.na[e]&&(b.na[e]={cache:[],postProcess:a.ad,drive:e,blocksize:256,mapped:0,maxblock:b.ib[e]*b.$[e],url:"rk"+e+".dsk"});b.N&=-129;switch(b.N>>1&7){case 0:b.Sb=2496;b.la=0;b.N=128;b.sa=0;break;case 1:if((b.sa>>4&511)>=b.ib[e]){b.la|=32832;b.N|=49152;break}if((b.sa&15)>=b.$[e]){b.la|=32800;b.N|=49152;break}c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.N&48)<<12|b.Rb;f=65536-b.Tb&65535;ac(a,b.na[e],c,d,f);return;case 2:if((b.sa>>4&511)>=b.ib[e])b.la|=
|
||||
32832,b.N|=49152;else if((b.sa&15)>=b.$[e])b.la|=32800,b.N|=49152;else{c=(b.sa>>4&511)*b.$[e]+(b.sa&15);d=(b.N&48)<<12|b.Rb;f=65536-b.Tb&65535;a.bc(b.na[e],c,d,f);return}}b.Sb=e<<13|b.Sb&8176|b.sa%9&15;H(a.b,20,5,144,function(){b.N=b.N&65534|128;return!!(b.N&64)})}l.ad=function(a,b,c,d,f){var e=this.B;e.Rb=d&65535;e.N=e.N&-49|d>>12&48;e.Tb=65536-f&65535;switch(a){case 1:e.la|=33024;e.N|=49152;break;case 2:e.la|=33792,e.N|=49152}H(this.b,20,5,144,function(){e.N=e.N&65534|128;return!!(e.N&64)})};
|
||||
function bc(a){var b=a.D,c,d,f,e=b.K>>8&3;b.K&=-2;"undefined"===typeof b.na[e]&&(b.na[e]={cache:[],postProcess:a.bd,drive:e,blocksize:128,mapped:1,maxblock:b.ib[e]*b.$[e],url:"rl"+e+".dsk"});switch(b.K>>1&7){case 2:b.Za&8&&(b.K&=63);b.Za=b.Hc[e]|b.eb&64;break;case 3:1==(b.ea&3)&&(b.eb=b.ea&4?b.eb+(b.ea&65408)&65408|b.ea<<2&64:b.eb-(b.ea&65408)&65408|b.ea<<2&64,b.ea=b.eb);break;case 4:b.Za=b.eb;break;case 5:if(b.ea>>6>=b.ib[e]){b.K|=37888;break}if((b.ea&63)>=b.$[e]){b.K|=37888;break}c=(b.ea>>6)*b.$[e]+
|
||||
(b.ea&63);d=(b.Ta&63)<<16|b.Jb;f=65536-b.Za&65535;ac(a,b.na[e],c,d,f);return;case 6:if(b.ea>>6>=b.ib[e])b.K|=37888;else if((b.ea&63)>=b.$[e])b.K|=37888;else{c=(b.ea>>6)*b.$[e]+(b.ea&63);d=(b.Ta&63)<<16|b.Jb;f=65536-b.Za&65535;a.bc(b.na[e],c,d,f);return}}H(a.b,20,5,112,function(){b.K|=129;return!!(b.K&64)})}
|
||||
l.bd=function(a,b,c,d,f){var e=this.D;e.Jb=d&65535;e.K=e.K&-49|d>>12&48;e.Ta=d>>16&63;e.ea=~~(c/e.$[b.La])<<6|c%e.$[b.La];e.eb=e.ea;e.Za=65536-f&65535;switch(a){case 1:e.K|=33792;break;case 2:e.K|=40960}H(this.b,20,5,112,function(){e.K|=129;return!!(e.K&64)})};function cc(a){a=a.G;a.P=2176;a.Ba=0;a.pa=[4544,4544,4544,4544,4544,4544,4544,4544];a.xb=[0,0,0,0,0,0,0,0];a.nb=a.yb=a.wb=a.cb=a.nc=0}
|
||||
function dc(a,b){var c=a.G,d,f,e;c.P&=-16513;c.Ba&=-2049;c.pa[b]&=-1153;H(a.b,-1,0,172);"undefined"===typeof c.na[b]&&(c.na[b]={cache:[],postProcess:a.cd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.hb[0]*c.$[0],url:"rp"+b+".dsk"});switch(c.P&63){case 5:c.dc[b]=c.Qa[b];c.P|=32896;c.pa[b]|=32896;c.nb|=1<<b;break;case 9:cc(a);break;case 19:c.pa[b]|=64;break;case 49:if(c.Qa[b]>=c.ec[0]||c.Ca[b]>>8>=c.hb[0]||(c.Ca[b]&255)>=c.$[0]){c.xb[b]|=1024;c.P|=49152;break}d=(c.Qa[b]*c.hb[0]+(c.Ca[b]>>8))*c.$[0]+
|
||||
(c.Ca[b]&255);f=(c.cb&63)<<16|c.wb;e=65536-c.yb&65535;ac(a,c.na[b],d,f,e);return;case 57:if(c.Qa[b]>=c.ec[0]||c.Ca[b]>>8>=c.hb[0]||(c.Ca[b]&255)>=c.$[0])c.xb[b]|=1024,c.P|=49152;else{d=(c.Qa[b]*c.hb[0]+(c.Ca[b]>>8))*c.$[0]+(c.Ca[b]&255);f=(c.cb&63)<<16|c.wb;e=65536-c.yb&65535;a.bc(c.na[b],d,f,e);return}}H(a.b,3,5,172,function(){c.P=c.P&65534|128;c.pa[b]|=128;return!!(c.P&64)})}
|
||||
l.cd=function(a,b,c,d,f){var e=this.G;e.yb=65536-f&65535;e.wb=d&65535;e.P=e.P&-769|d>>8&768;e.cb=d>>16&63;f=~~(c/e.$[0]);d=~~(f/e.hb[0]);e.Ca[b.La]=f%e.hb[0]<<8|c%e.$[0];e.dc[b.La]=e.Qa[b.La]=d;e.nb|=1<<b.La;c>=b.Uc-1&&(e.pa[b.La]|=1024);switch(a){case 1:e.Ba|=512;e.P|=49152;break;case 2:e.Ba|=2048,e.P|=49152}H(this.b,20,5,172,function(){e.pa[b.La]|=128;e.P=e.P&65534|128;return!!(e.P&64)})};
|
||||
function ec(a,b,c,d,f,e){var g=~~((e+c.Ua-1)/c.Ua),h=new XMLHttpRequest;2048>g&&d+2048<c.Uc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Ua<<1)+"-"+(((d+g)*c.Ua<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,p,q;m=h.response;if(h.status&&206!=h.status||!m)c.jc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(q=0;q<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],p=0;p<c.Ua;p++)c.cache[n][p]=q<m.length?
|
||||
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Ua<<1;n++}g(c,d,f,e)}}};h.send(null)}function I(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:J(a.b,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ec(this,this.bc,a,b,c,d);return}for(f=0;f<a.Ua&&0<d;f++){var e=a.Tc?fc(this.b,c):c;this.b.F.zb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.jc(0,a,b,c,d)};
|
||||
function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Ua;e++)b.cache[c][e]=0;for(e=0;e<b.Ua&&0<f;e++){g=a.b.cc(b.Tc?fc(a.b,d):d);if(0>g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.j.Ga=0;this.j.ua=128;this.i.Ya=0;this.B.N=128;this.D.K=128;cc(this)};
|
||||
l.Gc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ab&65280:(a&1&&(b<<=8),e.ab=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.Oa=2}break;case 4194294:if(70!==e.lb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return J(e,4);d=1;break;case 4194290:if(70!==e.lb)return J(e,4);d=0;break;case 4194288:if(70!==e.lb)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
|
||||
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return J(e,4);f=a-4194272>>1;0>b?d=e.hc[f]:(d=I(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.aa>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Pa[3]=b),d=e.Pa[3]):e.aa>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Pa[1]=b),d=e.Pa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.aa&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.bb[f]=b),d=e.bb[f]),d;
|
||||
case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.aa>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Pa[0]=b),d=e.Pa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.aa&2048?(0<=b&&(e.bb[f]=b),d=e.bb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ka[3][f],a,b,c);0<=d&&(e.ka[3][f]=d,e.ka[3][f&15]&=65295);break;case 4194112:var g=this.j;switch(a&-2){case 4194174:d=I(this,e.Yb,a,b,c);0<=d&&(e.Yb=d);break;case 4194172:d=e.fb;d&65280&&
|
||||
(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.kd&65535:(d=I(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.ua&=-129,H(e,100,4,52,function(){g.ua|=128;return!!(g.ua&64)}));d=0;break;case 4194162:d=0;0>b&&(g.Ga&=-129,0<g.kc.length&&(d=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.Ga|=128;g.Ga&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.Ga:(d=I(this,g.Ga,a,b,c),0<=d&&(g.Ga=g.Ga&128|d&-129));break;default:return e.H|=16,J(e,4)}break;case 4194048:f=
|
||||
this.B;switch(a&-2){case 4194048:d=I(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194050:d=I(this,f.la,a,b,c);0<=d&&(f.la=d);break;case 4194052:d=I(this,f.N,a,b,c);0<=b&&0<=d&&(f.N=d&-36993|f.N&36992,f.N&1&&$b(this));break;case 4194054:d=I(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194056:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194058:d=I(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4194060:break;case 4194062:d=I(this,f.zc,a,b,c);0<=d&&(f.zc=d);break;default:return e.H|=16,J(e,4)}break;case 4193728:var h=
|
||||
this.G;f=h.Aa&7;switch(a&-2){case 4193728:d=I(this,h.P,a,b,c);0<=b&&0<=d&&(h.cb=h.cb&60|d>>8&3,h.P=d&17279|h.P&34944|2048,d&1&&h.P&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=I(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=I(this,h.Ba[f],a,b,c);0<=d&&(h.Ba[f]=d&7967);break;case 4193736:d=I(this,h.Aa,a,b,c);0<=d&&(h.Aa=d&63|h.Aa&65472,d&128&&cc(this));break;case 4193738:d=h.pa[f];break;case 4193740:d=h.xb[f];break;
|
||||
case 4193742:d=I(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.hd[f];break;case 4193746:d=I(this,h.Ac,a,b,c);0<=d&&(h.Ac=d);break;case 4193748:d=I(this,h.Bc[f],a,b,c);0<=d&&(h.Bc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.jd[f];break;case 4193754:d=I(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d);break;case 4193756:d=I(this,h.Qa[f],a,b,c);0<=d&&(h.Qa[f]=d&511);break;case 4193758:h.dc[f]=h.Qa[f];d=h.dc[f];break;case 4193760:d=h.fd[f];break;case 4193762:d=h.gd[f];break;case 4193764:d=
|
||||
h.dd[f];break;case 4193766:d=h.ed[f];break;case 4193768:d=I(this,h.cb,a,b,c);0<=d&&(h.cb=d&63,h.P=h.P&-769|(d&3)<<8);break;case 4193770:d=I(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.H|=16,J(e,4)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=I(this,f.K,a,b,c);0<=b&&0<=d&&(f.Ta=f.Ta&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||bc(this));break;case 4192514:d=I(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=I(this,f.ea,a,b,c);0<=d&&(f.ea=d);break;case 4192518:d=I(this,f.Za,
|
||||
a,b,c);0<=d&&(f.Za=d);break;case 4192520:d=I(this,f.Ta,a,b,c);0<=d&&(f.Ta=d&63,f.K=f.K&-49|(f.Ta&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.gb:(d=I(this,e.gb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.gb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.gb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ka[0][f],a,b,c);0<=d&&(e.ka[0][f]=d,e.ka[0][f&15]&=65295);break;case 4191360:f=
|
||||
a>>1&31;d=I(this,e.ka[1][f],a,b,c);0<=d&&(e.ka[1][f]=d,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return J(e,4);f=a>>2&31;d=e.Vb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Vb[f]=a&2?d<<16|e.Vb[f]&65535:e.Vb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Ub[a>>1&255];else return e.H|=16,J(e,4);break;default:return e.H|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===
|
||||
function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Ua;e++)b.cache[c][e]=0;for(e=0;e<b.Ua&&0<f;e++){g=a.b.cc(b.Tc?fc(a.b,d):d);if(0>g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.j.Ha=0;this.j.ua=128;this.i.Ya=0;this.B.N=128;this.D.K=128;cc(this)};
|
||||
l.Gc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.ab&65280:(a&1&&(b<<=8),e.ab=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.Pa=2}break;case 4194294:if(70!==e.lb)return J(e,4);0>b?d=e.H:d=e.H=0;break;case 4194292:if(70!==e.lb)return J(e,4);d=1;break;case 4194290:if(70!==e.lb)return J(e,4);d=0;break;case 4194288:if(70!==e.lb)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
|
||||
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return J(e,4);f=a-4194272>>1;0>b?d=e.hc[f]:(d=I(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.U>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ia[3]=b),d=e.Ia[3]):e.U>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ia[1]=b),d=e.Ia[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.U&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.bb[f]=b),d=e.bb[f]),d;case 4194246:return a&
|
||||
1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.U>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Ia[0]=b),d=e.Ia[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.U&2048?(0<=b&&(e.bb[f]=b),d=e.bb[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.H|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.ka[3][f],a,b,c);0<=d&&(e.ka[3][f]=d,e.ka[3][f&15]&=65295);break;case 4194112:var g=this.j;switch(a&-2){case 4194174:d=I(this,e.Yb,a,b,c);0<=d&&(e.Yb=d);break;case 4194172:d=e.fb;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
||||
case 4194168:0>b?d=this.A.kd&65535:(d=I(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Lc=0),g.ua&=-129,H(e,100,4,52,function(){g.ua|=128;return!!(g.ua&64)}));d=0;break;case 4194162:d=0;0>b&&(g.Ha&=-129,0<g.kc.length&&(d=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.Ha|=128;g.Ha&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.Ha:(d=I(this,g.Ha,a,b,c),0<=d&&(g.Ha=g.Ha&128|d&-129));break;default:return e.H|=16,J(e,4)}break;case 4194048:f=this.B;switch(a&
|
||||
-2){case 4194048:d=I(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194050:d=I(this,f.la,a,b,c);0<=d&&(f.la=d);break;case 4194052:d=I(this,f.N,a,b,c);0<=b&&0<=d&&(f.N=d&-36993|f.N&36992,f.N&1&&$b(this));break;case 4194054:d=I(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194056:d=I(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194058:d=I(this,f.sa,a,b,c);0<=d&&(f.sa=d);break;case 4194060:break;case 4194062:d=I(this,f.zc,a,b,c);0<=d&&(f.zc=d);break;default:return e.H|=16,J(e,4)}break;case 4193728:var h=this.G;
|
||||
f=h.Ba&7;switch(a&-2){case 4193728:d=I(this,h.P,a,b,c);0<=b&&0<=d&&(h.cb=h.cb&60|d>>8&3,h.P=d&17279|h.P&34944|2048,d&1&&h.P&128?dc(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=I(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=I(this,h.Ca[f],a,b,c);0<=d&&(h.Ca[f]=d&7967);break;case 4193736:d=I(this,h.Ba,a,b,c);0<=d&&(h.Ba=d&63|h.Ba&65472,d&128&&cc(this));break;case 4193738:d=h.pa[f];break;case 4193740:d=h.xb[f];break;case 4193742:d=
|
||||
I(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.hd[f];break;case 4193746:d=I(this,h.Ac,a,b,c);0<=d&&(h.Ac=d);break;case 4193748:d=I(this,h.Bc[f],a,b,c);0<=d&&(h.Bc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.jd[f];break;case 4193754:d=I(this,h.Cc[f],a,b,c);0<=d&&(h.Cc[f]=d);break;case 4193756:d=I(this,h.Qa[f],a,b,c);0<=d&&(h.Qa[f]=d&511);break;case 4193758:h.dc[f]=h.Qa[f];d=h.dc[f];break;case 4193760:d=h.fd[f];break;case 4193762:d=h.gd[f];break;case 4193764:d=h.dd[f];
|
||||
break;case 4193766:d=h.ed[f];break;case 4193768:d=I(this,h.cb,a,b,c);0<=d&&(h.cb=d&63,h.P=h.P&-769|(d&3)<<8);break;case 4193770:d=I(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.H|=16,J(e,4)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=I(this,f.K,a,b,c);0<=b&&0<=d&&(f.Ta=f.Ta&60|d>>4&3,f.K=f.K&-1023|d&1022,f.K&128||bc(this));break;case 4192514:d=I(this,f.Jb,a,b,c);0<=d&&(f.Jb=d&65534);break;case 4192516:d=I(this,f.ea,a,b,c);0<=d&&(f.ea=d);break;case 4192518:d=I(this,f.Za,a,b,c);
|
||||
0<=d&&(f.Za=d);break;case 4192520:d=I(this,f.Ta,a,b,c);0<=d&&(f.Ta=d&63,f.K=f.K&-49|(f.Ta&3)<<4);break;default:return e.H|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.gb:(d=I(this,e.gb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.gb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.gb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.H|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.ka[0][f],a,b,c);0<=d&&(e.ka[0][f]=d,e.ka[0][f&15]&=65295);break;case 4191360:f=
|
||||
a>>1&31;d=I(this,e.ka[1][f],a,b,c);0<=d&&(e.ka[1][f]=d,e.ka[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return J(e,4);f=a>>2&31;d=e.Vb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.Vb[f]=a&2?d<<16|e.Vb[f]&65535:e.Vb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Lb[a>>1&255];else return e.H|=16,J(e,4);break;default:return e.H|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===
|
||||
typeof d&&console.log("panic(76)");return d};var gc={},Jb=(gc[65382]=[null,null,G.prototype.Xc,G.prototype.md],gc[65402]=[null,null,G.prototype.Yc,G.prototype.nd],gc[65396]=[null,null,G.prototype.$c,G.prototype.pd],gc[65534]=[null,null,G.prototype.Zc,G.prototype.od],gc);Oa(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new G(d);bb(d,c)}});var hc;
|
||||
if(tb){var ic=new ArrayBuffer(2);(new DataView(ic)).setUint16(0,256,!0);hc=256===(new Uint16Array(ic))[0]}else hc=!1;var jc=hc;
|
||||
function F(a,b,c,d,f){this.id=kc+=2;this.b=null;this.w=a;this.Xb=b;this.size=c||0;this.type=d||lc;this.i=d==mc;this.controller=null;xb(this);this.Wa=this.Nc=!1;if(c)if(f)this.controller=f,this.b=null,nc(this,f.Gb);else if(tb)this.D=new ArrayBuffer(c),this.G=new DataView(this.D,0,c),this.I=new Uint8Array(this.D,0,c),this.O=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),nc(this,jc?oc:pc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;nc(this,qc)}else nc(this)}
|
||||
var lc=0,mc=2,Db=4,Fb=["NONE","RAM","ROM","VID","H/W"],kc=0;
|
||||
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(tb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(tb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Wa=!0}return!1},jb:function(a,b){b?this.A++||rc(this,sc,!1):this.j++||tc(this,sc,!1)},R:function(){this.C&&cb(this.C,129)&&this.C.message("attempt to read invalid block %"+
|
||||
r(this.w),!0);return 255},B:function(a,b){this.C&&cb(this.C,129)&&this.C.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.w),!0)},U:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},J:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra:function(a){var 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},Ca:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=
|
||||
!0},Ra:function(a,b){var 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.Wa=!0},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.U)&&c.ma(!0)}return this.Pb(a,b)},ha:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,2,c.U)&&c.ma(!0)}return this.lc(a,b)},wa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,1,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.Cb(a,
|
||||
b,c)},Ia:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,2,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.qc(a,b,c)},Y:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},qa:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.O[a>>1]},va:function(a,b){this.I[a]=b;this.Wa=!0},xa:function(a,b){this.I[a]=b;this.Wa=!0},Da:function(a,b){this.G.setUint16(a,b,!0);this.Wa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.O[a>>
|
||||
1]=b;this.Wa=!0}};function xb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&tc(a,sc,!1),(a.A=c.A)&&rc(a,sc,!1))}function vc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Ec=a.i?a.J:a.qc):--a.j||(a.vb=a.Pb,a.Qb=a.lc)}function rc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Ec=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.qc=b[3]||a.J}function tc(a,b,c){c&&a.j||(a.vb=b[0]||a.R,a.Qb=b[2]||a.U);if(c||void 0===c)a.Pb=b[0]||a.R,a.lc=b[2]||a.U}function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)}
|
||||
var wc=[],qc=[F.prototype.da,F.prototype.Ca,F.prototype.ra,F.prototype.Ra],sc=[F.prototype.ba,F.prototype.wa,F.prototype.ha,F.prototype.Ia];if(tb)var pc=[F.prototype.Y,F.prototype.va,F.prototype.fa,F.prototype.Da],oc=[F.prototype.ca,F.prototype.xa,F.prototype.qa,F.prototype.Db];
|
||||
function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.wa=a.cycles||b;this.$a=c;this.Ca=Math.round(this.wa/1E4)/100;this.mb=this.Ca*this.$a;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.qb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype;
|
||||
r(this.w),!0);return 255},B:function(a,b){this.C&&cb(this.C,129)&&this.C.message("attempt to write "+r(b,4,!0)+" to invalid block %"+r(this.w),!0)},V:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},J:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra:function(a){var 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},Da:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Wa=
|
||||
!0},Ra:function(a,b){var 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.Wa=!0},ba:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,1,c.V)&&c.ma(!0)}return this.Pb(a,b)},ha:function(a,b){if(this.C&&null!=this.w){var c=this.C;uc(c,this.w+a,2,c.V)&&c.ma(!0)}return this.lc(a,b)},wa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,1,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.Cb(a,
|
||||
b,c)},Ja:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;uc(d,this.w+a,2,d.D)&&d.ma(!0)}this.i?this.B(a,b,c):this.qc(a,b,c)},Z:function(a){return this.I[a]},ca:function(a){return this.I[a]},fa:function(a){return this.G.getUint16(a,!0)},qa:function(a){return a&1?this.I[a]|this.I[a+1]<<8:this.O[a>>1]},va:function(a,b){this.I[a]=b;this.Wa=!0},xa:function(a,b){this.I[a]=b;this.Wa=!0},Ea:function(a,b){this.G.setUint16(a,b,!0);this.Wa=!0},Db:function(a,b){a&1?(this.I[a]=b,this.I[a+1]=b>>8):this.O[a>>
|
||||
1]=b;this.Wa=!0}};function xb(a,b,c){a.C=b;a.j=a.A=0;c&&((a.j=c.j)&&tc(a,sc,!1),(a.A=c.A)&&rc(a,sc,!1))}function vc(a,b){b?--a.A||(a.Bb=a.i?a.B:a.Cb,a.Ec=a.i?a.J:a.qc):--a.j||(a.vb=a.Pb,a.Qb=a.lc)}function rc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.B,a.Ec=!a.i&&b[3]||a.J);if(c||void 0===c)a.Cb=b[1]||a.B,a.qc=b[3]||a.J}function tc(a,b,c){c&&a.j||(a.vb=b[0]||a.R,a.Qb=b[2]||a.V);if(c||void 0===c)a.Pb=b[0]||a.R,a.lc=b[2]||a.V}function nc(a,b){b||(b=wc);tc(a,b,void 0);rc(a,b,void 0)}
|
||||
var wc=[],qc=[F.prototype.da,F.prototype.Da,F.prototype.ra,F.prototype.Ra],sc=[F.prototype.ba,F.prototype.wa,F.prototype.ha,F.prototype.Ja];if(tb)var pc=[F.prototype.Z,F.prototype.va,F.prototype.fa,F.prototype.Ea],oc=[F.prototype.ca,F.prototype.xa,F.prototype.qa,F.prototype.Db];
|
||||
function xc(a,b){u.call(this,"CPU",a,xc,1);var c=a.multiplier||1;this.wa=a.cycles||b;this.$a=c;this.Da=Math.round(this.wa/1E4)/100;this.mb=this.Da*this.$a;this.u.ja=!1;this.u.oc=!1;this.u.Hb=a.autoStart;this.u.wc=!1;this.u.qb=!1;this.Mb=this.ba=0;this.Nb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.D=[];this.Kb=this.ob.bind(this);D(this)}w(xc);var yc=["power","reset"];l=xc.prototype;
|
||||
l.Xa=function(a,b,c,d){this.i=a;this.F=b;this.C=d;for(b=0;b<yc.length;b++)(c=this.I[yc[b]])&&this.i.ta(null,yc[b],c);this.fa=null;a=zc(a,"autoStart");null!=a&&(this.u.Hb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||
l.Na=function(a,b){if(!b){if(a&&this.restore){Ac(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.C?(a=this.C,a.f("Type ? for help with PDP11 Debugger commands"),a.ya(),a.Ra&&(b=a.Ra,a.Ra=null,Qc(a,b))):this.f("No debugger detected")}K(this);return!0};l.Ma=function(a){return a?this.save():!0};l.Hb=function(){return this.u.Hb||!this.C&&void 0===this.I.run?(this.ob(!0),!0):!1};l.yc=function(){return 0};
|
||||
function Pc(a){void 0===a.Nb&&(a.Nb=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.u.qb=0<=a.Nb&&0<a.tb;a.u.qb&&(a.Mb=0,a.ba=a.Nb-a.Y)}function Rc(a,b){if(a.u.qb){var c=!1;a.Mb=a.Mb+a.yc()|0;a.ba-=b;0>=a.ba&&(a.ba+=a.tb,c=!0);0<=a.ub&&a.ub<=Sc(a)&&(a.tb=a.ub=-1,Pc(a),a.ma(),c=!0);c&&a.f(Sc(a)+" cycles: checksum="+r(a.Mb))}}
|
||||
l.Oa=function(a,b){if(!b){if(a&&this.restore){Ac(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.C?(a=this.C,a.f("Type ? for help with PDP11 Debugger commands"),a.za(),a.Ra&&(b=a.Ra,a.Ra=null,Qc(a,b))):this.f("No debugger detected")}K(this);return!0};l.Na=function(a){return a?this.save():!0};l.Hb=function(){return this.u.Hb||!this.C&&void 0===this.I.run?(this.ob(!0),!0):!1};l.yc=function(){return 0};
|
||||
function Pc(a){void 0===a.Nb&&(a.Nb=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.u.qb=0<=a.Nb&&0<a.tb;a.u.qb&&(a.Mb=0,a.ba=a.Nb-a.Z)}function Rc(a,b){if(a.u.qb){var c=!1;a.Mb=a.Mb+a.yc()|0;a.ba-=b;0>=a.ba&&(a.ba+=a.tb,c=!0);0<=a.ub&&a.ub<=Sc(a)&&(a.tb=a.ub=-1,Pc(a),a.ma(),c=!0);c&&a.f(Sc(a)+" cycles: checksum="+r(a.Mb))}}
|
||||
function Tc(a,b,c,d){if(a.I[b]){void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.ma());var f=a.C&&a.C.da||8;c=!a.u.ja||a.u.wc?8==f?ba(c,d):r(c,d):"--------".substr(0,d||4);a.I[b].textContent!=c&&(a.I[b].textContent=c)}}
|
||||
l.ta=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.I[b]=c;a=!0;break;case "run":this.I[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ga)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.u.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.u.ga);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Zb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ja?d.ma():d.ob())};
|
||||
a=!0;break;case "speed":this.I[b]=c;a=!0;break;case "setSpeed":this.I[b]=c,c.onclick=function(){Uc(d,d.$a<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",a=!0}return a};function Vc(a,b,c){a.Y+=b;c&&(a.U=a.b=0)}function Wc(a,b){var c=1;b&&1<a.$a&&a.O&&(c=a.O/a.Ca);a.Fb=Math.round(1E3/30);a.xa=Math.floor(a.wa/30*c);b||(a.ca=a.xa);a.Da=0}function Sc(a){return a.Y+a.J+a.U-a.b}function Ac(a){a.O=0;a.Ib=0;a.Y=a.J=a.U=a.b=0;Pc(a);Uc(a,1)}
|
||||
function Uc(a,b,c){var d=!1;if(void 0!==b){.8>a.O/a.mb?b=1:d=!0;a.$a=b;b=a.Ca*a.$a;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Wb()}Vc(a,a.J);a.J=0;a.G=pa();a.R=0;Wc(a);return d}function Vb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Wb(a,b){var c;0<=b&&b<a.D.length&&0>a.D[b][0]&&(c=a.wa*a.$a/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.U-=a.b;a.b=0}
|
||||
l.ob=function(a){if(pb(this,!0)){if(!this.u.ja){Uc(this);this.i&&this.i.start(this.G,Sc(this));this.u.ja=!0;this.u.oc=!0;this.fa&&this.fa.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.ya(!0),a&&this.i.Wb(!0))}this.Da>=this.wa&&Wc(this,!0);this.ha=0;this.va=pa();this.R&&(a=this.va-this.R,a>this.Fb&&(this.G+=a,this.G>this.va&&(this.G=this.va)));try{do{for(var c,d=this.u.qb?1:this.xa,f=this.D.length-1;0<=f;f--){var e=this.D[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.Ab(c)}catch(m){if("number"!=
|
||||
typeof m)throw m;}var g=this.U-this.b;a=g;for(var h=this.D.length-1;0<=h;h--){var k=this.D[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ha+=g;this.J+=g;Vc(this,0,!0);Rc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.xa;15<=++this.Ib&&(this.i&&this.i.ya(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));pb(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.R=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.xa));f-=this.R-
|
||||
this.va;if(e=this.R-this.G)this.O=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Y=0,Uc(this));if(0>f||this.O<this.mb)-1E3>f&&(this.G-=f),f=0;this.Da+=this.ha;this.R+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){qb(this,!0);Xc(this);Vc(this,this.J);this.J=0;if(this.u.ja){this.u.ja=!1;this.fa&&this.fa.stop();var b=this.I.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.i&&a.i.ya(b)}
|
||||
function Yc(a){this.Vc=+a.model||1170;this.ic=a.resetAddr||0;xc.call(this,a,1E6);this.Eb=0;this.decode=Zc.bind(this);this.S=65536;this.T=32768;this.X=65535;this.V=32768;this.aa=15;this.g=[0,0,0,0,0,0,0,this.ic];this.bb=[0,0,0,0,0,0];this.Pa=[0,0,0,0];this.ra=this.B=0;this.ka=[[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],[65535,65535,65535,65535,65535,65535,65535,65535,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.Vb=[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.hc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.M=0;this.lb=70;this.da=-1;this.Ia=0;$c(this);this.u.complete=this.u.Kc=!1}w(Yc,xc);l=Yc.prototype;l.reset=function(){this.u.ja&&this.ma();$c(this);Ac(this);this.u.error=!1;this.parent.reset.call(this)};
|
||||
function $c(a){a.ab=255;a.H=0;a.mc=0;a.A=0;a.fb=0;a.Yb=0;a.gb=0;a.$b=0;a.qa=0;a.ac=[7,7,7,7];a.j=[];a.Oa=2;Xb(a)}function Xb(a){a.$b?(a.Ra=65536,a.$=a.Rc,a.Qb=a.Ha):(a.Ra=0,a.$=a.Qc,a.Qb=a.cc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Y,this.$a]);a.set(2,Hb(this.F));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.Y=b[1];Uc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.O){for(var e=0,g=Array(b.O),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.L[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
a=!0;break;case "speed":this.I[b]=c;a=!0;break;case "setSpeed":this.I[b]=c,c.onclick=function(){Uc(d,d.$a<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",a=!0}return a};function Vc(a,b,c){a.Z+=b;c&&(a.V=a.b=0)}function Wc(a,b){var c=1;b&&1<a.$a&&a.O&&(c=a.O/a.Da);a.Fb=Math.round(1E3/30);a.xa=Math.floor(a.wa/30*c);b||(a.ca=a.xa);a.Ea=0}function Sc(a){return a.Z+a.J+a.V-a.b}function Ac(a){a.O=0;a.Ib=0;a.Z=a.J=a.V=a.b=0;Pc(a);Uc(a,1)}
|
||||
function Uc(a,b,c){var d=!1;if(void 0!==b){.8>a.O/a.mb?b=1:d=!0;a.$a=b;b=a.Da*a.$a;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.I.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Wb()}Vc(a,a.J);a.J=0;a.G=pa();a.R=0;Wc(a);return d}function Vb(a,b){var c=a.D.length;a.D.push([-1,b]);return c}function Wb(a,b){var c;0<=b&&b<a.D.length&&0>a.D[b][0]&&(c=a.wa*a.$a/1E3*(1E3/60),a.D[b][0]=c)}function Xc(a){a.V-=a.b;a.b=0}
|
||||
l.ob=function(a){if(db(this,!0)){if(!this.u.ja){Uc(this);this.i&&this.i.start(this.G,Sc(this));this.u.ja=!0;this.u.oc=!0;this.fa&&this.fa.start();var b=this.I.run;b&&(b.textContent="Halt");this.i&&(this.i.za(!0),a&&this.i.Wb(!0))}this.Ea>=this.wa&&Wc(this,!0);this.ha=0;this.va=pa();this.R&&(a=this.va-this.R,a>this.Fb&&(this.G+=a,this.G>this.va&&(this.G=this.va)));try{do{for(var c,d=this.u.qb?1:this.xa,f=this.D.length-1;0<=f;f--){var e=this.D[f];0>e[0]||d>e[0]&&(d=e[0])}c=d;try{this.Ab(c)}catch(m){if("number"!=
|
||||
typeof m)throw m;}var g=this.V-this.b;a=g;for(var h=this.D.length-1;0<=h;h--){var k=this.D[h];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.ha+=g;this.J+=g;Vc(this,0,!0);Rc(this,g);this.ca-=g;if(0>=this.ca){this.ca+=this.xa;15<=++this.Ib&&(this.i&&this.i.za(),this.Ib=0);break}}while(this.u.ja)}catch(m){this.ma();K(this);this.i&&this.i.stop(pa(),Sc(this));db(this,!1);sb(this,m.stack||m.message);return}c=setTimeout;d=this.Kb;this.R=pa();f=this.Fb;this.ha&&(f=Math.round(f*this.ha/this.xa));f-=this.R-
|
||||
this.va;if(e=this.R-this.G)this.O=Math.round(this.J/(10*e))/100,864E5<=e&&(this.Z=0,Uc(this));if(0>f||this.O<this.mb)-1E3>f&&(this.G-=f),f=0;this.Ea+=this.ha;this.R+=f;c(d,f)}else K(this),this.i&&this.i.stop(pa(),Sc(this))};l.Ab=function(){return 0};l.ma=function(a){qb(this,!0);Xc(this);Vc(this,this.J);this.J=0;if(this.u.ja){this.u.ja=!1;this.fa&&this.fa.stop();var b=this.I.run;b&&(b.textContent="Run")}this.u.complete=a};function K(a,b){a.i&&a.i.za(b)}
|
||||
function Yc(a){this.Vc=+a.model||1170;this.ic=a.resetAddr||0;xc.call(this,a,1E6);this.Eb=0;this.decode=Zc.bind(this);this.S=65536;this.T=32768;this.Y=65535;this.W=32768;this.U=15;this.g=[0,0,0,0,0,0,0,this.ic];this.bb=[0,0,0,0,0,0];this.Ia=[0,0,0,0];this.ra=this.A=0;this.ka=[[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],[65535,65535,65535,65535,65535,65535,65535,65535,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.Vb=[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.hc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.M=0;this.lb=70;this.da=-1;this.Ja=0;$c(this);this.u.complete=this.u.Kc=!1}w(Yc,xc);l=Yc.prototype;l.reset=function(){this.u.ja&&this.ma();$c(this);Ac(this);this.u.error=!1;this.parent.reset.call(this)};
|
||||
function $c(a){a.ab=255;a.H=0;a.mc=0;a.B=0;a.fb=0;a.Yb=0;a.gb=0;a.$b=0;a.qa=0;a.ac=[7,7,7,7];a.j=[];a.Pa=2;Xb(a)}function Xb(a){a.$b?(a.Ra=65536,a.aa=a.Rc,a.Qb=a.ya):(a.Ra=0,a.aa=a.Qc,a.Qb=a.cc)}l.yc=function(){return 0};l.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.Z,this.$a]);a.set(2,Hb(this.F));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.Z=b[1];Uc(this,b[3]);a:{b=this.F;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.O){for(var e=0,g=Array(b.O),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.L[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.ta=function(a,b,c){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":this.I[b]=c;this.Eb++;a=!0;break;default:a=this.parent.ta.call(this,a,b,c)}return a};
|
||||
l.ya=function(a){if(this.Eb&&(a||!this.u.ja||this.u.wc)){for(a=0;a<this.g.length;a++)Tc(this,"R"+a,this.g[a]);a=Yb(this);Tc(this,"PS",a);Tc(this,"NF",a&8?1:0,1);Tc(this,"ZF",a&4?1:0,1);Tc(this,"VF",a&2?1:0,1);Tc(this,"CF",a&1?1:0,1)}if(a=this.I.speed)a.textContent=this.u.ja&&this.O?this.O.toFixed(2)+"Mhz":"Stopped"};function M(a){return a.S&65536?1:0}function ad(a){return a.T&32768?2:0}function bd(a){return a.X&65535?0:4}l.La=function(){return this.V&32768?8:0};
|
||||
function H(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].ld===d){0<e&&(a.j[e-1].Va+=a.j[e].Va);a.j.splice(e,1);break}if(0<=b){2===a.Ia&&(b=0,a.Ia=0,setTimeout(a.Kb,0));for(e=a.j.length;0<e--;){if(a.j[e].Va>b){a.j[e].Va-=b;break}b-=a.j[e].Va}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Oa=2}function Yb(a){return a.aa=a.aa&63728|a.La()|bd(a)|ad(a)|M(a)}
|
||||
function Zb(a,b){a.V=b<<12;a.X=~b&4;a.T=b<<14;a.S=b<<16;if((b^a.aa)&2048)for(var c=a.bb.length;0<=--c;){var d=a.g[c];a.g[c]=a.bb[c];a.bb[c]=d}a.B=b>>14&3;c=a.aa>>14&3;a.B!=c&&(a.Pa[c]=a.g[6],a.g[6]=a.Pa[a.B]);a.Oa=2;a.aa=b}function cd(a,b,c){a.M&128||(a.V=a.X=a.S=b,a.T=c||0)}function N(a,b){a.M&128||(a.V=a.X=b,a.T=0)}function dd(a,b,c,d){a.M&128||(a.V=a.X=a.S=b,a.T=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.V=a.X=a.S=b,a.T=a.V^a.S>>1)}function fd(a,b,c,d){a.M&128||(a.V=a.X=a.S=b,a.T=(c^d)&(d^b))}
|
||||
function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.B||(b=4,c=!0);a.A&57344||(a.fb=63222,a.Yb=b);a.B=0;var d=a.Ha(b|65536),f=a.Ha(b+2&65535|65536);Zb(a,f&53247|a.da>>2&12288);c&&(a.H|=4,a.g[6]=4);gd(a,a.da);gd(a,a.g[7]);a.g[7]=d;a.M&=-113;a.da=-1;throw b;}function hd(a){var b=id(a),c=id(a)&-1793;a.aa&49152&&(c=c&-225|a.aa&63712);a.g[7]=b&65535;Zb(a,c);a.M&=-17}function fc(a,b){var c=b>>13&31;31>c?a.gb&32&&(b=a.Vb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function jd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.B];f=a.ka[a.B][d];e=(a.ka[a.B][d+16]<<6)+(b&8191)&4194303;a.gb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4)),e&1&&!(c&1)&&(a.H|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&
|
||||
(g|=16384));a.ka[a.B][d]=f;if(4194170!==e||a.B)a.qa=a.B,a.ra=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.A&57344||(a.A=a.A|g|a.qa<<5|a.ra<<1),J(a,168)),a.A&61440||!(4191360>e||4194239<e)||(a.A|=4096,a.A&512&&(a.M|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.H|=64,J(a,4));return e}l.cc=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.F.Fa(a):a};l.Ha=function(a){return this.cc(jd(this,a,2))};function id(a){var b=a.Ha(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b}
|
||||
function gd(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.A&57344||(a.fb=a.fb<<8|246);!a.B&&c<=a.ab&&4<c&&(c<=a.ab-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=4));c=jd(a,c|65536,4);a.F.zb(c,b&65535)}
|
||||
function kd(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ra;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.B&&c&4&&(a.g[6]<=a.ab||65534<=a.g[6])&&(a.g[6]<=a.ab-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);if(0>(d=a.Ha(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.Ha(d)))return d;
|
||||
d|=g;break;case 6:if(0>(d=a.Ha(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.Ha(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.Ha(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.A&57344||(a.fb=a.fb<<8|f<<3&248|e);6===e&&!a.B&&c&4&&0>=f&&(a.g[6]<=a.ab||65534<=a.g[6])&&(a.g[6]<=a.ab-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64));return d}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return jd(this,kd(this,a,b),b)};
|
||||
function O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]}function ld(a,b){b&56?(b=a.$(b,3),a=a.F.rb(b)):a=a.g[b&7]&255;return a}function Q(a,b,c,d){b&56?(b=a.$(b,6),c=d.call(a,c,a.cc(b)),a.F.zb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function R(a,b,c,d){b&56?(b=a.$(b,7),c=d.call(a,c,a.F.rb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function md(a,b,c){b&56?(b=a.$(b,4),a.F.zb(b,c&65535)):a.g[b&7]=c&65535;return c}
|
||||
function nd(a,b,c,d){b&56?(d=a.$(b,5),a.F.Ub(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function S(a,b){return a.g[7]+(b<<24>>23)&65535}
|
||||
l.Ab=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&od(this.C),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.U=this.b=a;do{if(b){if(pd(this.C,this.g[7],c)){this.ma();break}c=1}this.M&112&&(this.M&32?J(this,168):this.M&64?J(this,4):this.M&16&&J(this,12),this.M&=-113);if(this.Oa)if(1==this.Oa)this.Oa=2;else{this.Oa=0;a=null;for(var d=this.mc&224,f=this.j.length;0<=--f;){if(0<this.j[f].Va){this.j[f].Va--;this.Oa=2;break}if(this.j[f].uc){if(!this.j[f].uc()){this.j.splice(f,1);continue}this.j[f].uc=null}this.j[f].Wc>
|
||||
d&&(d=this.j[f].Wc,a=this.j[f],this.j.splice(f,1))}d>(this.aa&224)&&(a?J(this,a.ld):J(this,160))}this.A&57344||(this.fb=0,this.Yb=this.g[7]);this.M=this.aa&16;a=this.Ha(this.g[7]);0<=a&&(this.g[7]=this.g[7]+2&65535);this.decode(a)}while(0<this.b);return this.u.complete?this.U-this.b:void 0===this.u.complete?0:-1};Oa(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Yc(d);bb(d,c)}});function qd(a,b){var c=b+a;dd(this,c,a,b);return c&65535}
|
||||
l.za=function(a){if(this.Eb&&(a||!this.u.ja||this.u.wc)){for(a=0;a<this.g.length;a++)Tc(this,"R"+a,this.g[a]);a=Yb(this);Tc(this,"PS",a);Tc(this,"NF",a&8?1:0,1);Tc(this,"ZF",a&4?1:0,1);Tc(this,"VF",a&2?1:0,1);Tc(this,"CF",a&1?1:0,1)}if(a=this.I.speed)a.textContent=this.u.ja&&this.O?this.O.toFixed(2)+"Mhz":"Stopped"};function M(a){return a.S&65536?1:0}function ad(a){return a.T&32768?2:0}function bd(a){return a.Y&65535?0:4}l.Ma=function(){return this.W&32768?8:0};
|
||||
function H(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].ld===d){0<e&&(a.j[e-1].Va+=a.j[e].Va);a.j.splice(e,1);break}if(0<=b){2===a.Ja&&(b=0,a.Ja=0,setTimeout(a.Kb,0));for(e=a.j.length;0<e--;){if(a.j[e].Va>b){a.j[e].Va-=b;break}b-=a.j[e].Va}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.Pa=2}function Yb(a){return a.U=a.U&63728|a.Ma()|bd(a)|ad(a)|M(a)}
|
||||
function Zb(a,b){a.W=b<<12;a.Y=~b&4;a.T=b<<14;a.S=b<<16;if((b^a.U)&2048)for(var c=a.bb.length;0<=--c;){var d=a.g[c];a.g[c]=a.bb[c];a.bb[c]=d}a.A=b>>14&3;c=a.U>>14&3;a.A!=c&&(a.Ia[c]=a.g[6],a.g[6]=a.Ia[a.A]);a.Pa=2;a.U=b}function cd(a,b,c){a.M&128||(a.W=a.Y=a.S=b,a.T=c||0)}function N(a,b){a.M&128||(a.W=a.Y=b,a.T=0)}function dd(a,b,c,d){a.M&128||(a.W=a.Y=a.S=b,a.T=(c^b)&(d^b))}function ed(a,b){a.M&128||(a.W=a.Y=a.S=b,a.T=a.W^a.S>>1)}function fd(a,b,c,d){a.M&128||(a.W=a.Y=a.S=b,a.T=(c^d)&(d^b))}
|
||||
function J(a,b){var c=!1;0>a.da?a.da=Yb(a):a.A||(b=4,c=!0);a.B&57344||(a.fb=63222,a.Yb=b);a.A=0;var d=a.ya(b|65536),f=a.ya(b+2&65535|65536);Zb(a,f&53247|a.da>>2&12288);c&&(a.H|=4,a.g[6]=4);gd(a,a.da);gd(a,a.g[7]);a.g[7]=d;a.M&=-113;a.da=-1;throw b;}function hd(a){var b=id(a),c=id(a)&-1793;a.U&49152&&(c=c&-225|a.U&63712);a.g[7]=b&65535;Zb(a,c);a.M&=-17}function fc(a,b){var c=b>>13&31;31>c?a.gb&32&&(b=a.Vb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function jd(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.A];f=a.ka[a.A][d];e=(a.ka[a.A][d+16]<<6)+(b&8191)&4194303;a.gb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.H|=32,J(a,4)),e&1&&!(c&1)&&(a.H|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&
|
||||
(g|=16384));a.ka[a.A][d]=f;if(4194170!==e||a.A)a.qa=a.A,a.ra=d;g&&(g&57344&&(0<=a.da&&(g|=128),a.B&57344||(a.B=a.B|g|a.qa<<5|a.ra<<1),J(a,168)),a.B&61440||!(4191360>e||4194239<e)||(a.B|=4096,a.B&512&&(a.M|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.H|=64,J(a,4));return e}l.cc=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.F.Ga(a):a};l.ya=function(a){return this.cc(jd(this,a,2))};function id(a){var b=a.ya(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b}
|
||||
function gd(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.B&57344||(a.fb=a.fb<<8|246);!a.A&&c<=a.ab&&4<c&&(c<=a.ab-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=4));c=jd(a,c|65536,4);a.F.zb(c,b&65535)}
|
||||
function kd(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ra;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.ab||65534<=a.g[6])&&(a.g[6]<=a.ab-32||65534<=a.g[6]?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64)),7===e?a.g[e]:a.g[e]|g;case 2:f=2;d=a.g[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.g[e];7!==e&&(d|=g);if(0>(d=a.ya(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.g[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.g[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.ya(d)))return d;
|
||||
d|=g;break;case 6:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return d|g;case 7:if(0>(d=a.ya(a.g[7])))return d;a.g[7]=a.g[7]+2&65535;d=d+a.g[e]&65535;return 0>(d=a.ya(d|65536))?d:d|g}a.g[e]=a.g[e]+f&65535;!g||a.B&57344||(a.fb=a.fb<<8|f<<3&248|e);6===e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.ab||65534<=a.g[6])&&(a.g[6]<=a.ab-32?(a.H|=4,a.g[6]=4,J(a,4)):(a.H|=8,a.M|=64));return d}l.Qc=function(a,b){return kd(this,a,b)};l.Rc=function(a,b){return jd(this,kd(this,a,b),b)};
|
||||
function O(a,b){return b&56?a.Qb(kd(a,b,2)):a.g[b&7]}function ld(a,b){b&56?(b=a.aa(b,3),a=a.F.rb(b)):a=a.g[b&7]&255;return a}function Q(a,b,c,d){b&56?(b=a.aa(b,6),c=d.call(a,c,a.cc(b)),a.F.zb(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function R(a,b,c,d){b&56?(b=a.aa(b,7),c=d.call(a,c,a.F.rb(b)),a.F.Ub(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function md(a,b,c){b&56?(b=a.aa(b,4),a.F.zb(b,c&65535)):a.g[b&7]=c&65535;return c}
|
||||
function nd(a,b,c,d){b&56?(d=a.aa(b,5),a.F.Ub(d,c&255)):(b&=7,a.g[b]=c?d&1?c<<24>>24&65535:a.g[b]&-256|c&255:a.g[b]&-256);return c}function S(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535}
|
||||
l.Ab=function(a){this.u.complete=!0;var b=this.u.Kc=this.C&&od(this.C),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.V=this.b=a;do{if(b){if(pd(this.C,this.g[7],c)){this.ma();break}c=1}this.M&112&&(this.M&32?J(this,168):this.M&64?J(this,4):this.M&16&&J(this,12),this.M&=-113);if(this.Pa)if(1==this.Pa)this.Pa=2;else{this.Pa=0;a=null;for(var d=this.mc&224,f=this.j.length;0<=--f;){if(0<this.j[f].Va){this.j[f].Va--;this.Pa=2;break}if(this.j[f].uc){if(!this.j[f].uc()){this.j.splice(f,1);continue}this.j[f].uc=null}this.j[f].Wc>
|
||||
d&&(d=this.j[f].Wc,a=this.j[f],this.j.splice(f,1))}d>(this.U&224)&&(a?J(this,a.ld):J(this,160))}this.B&57344||(this.fb=0,this.Yb=this.g[7]);this.M=this.U&16;a=this.ya(this.g[7]);0<=a&&(this.g[7]=this.g[7]+2&65535);this.decode(a)}while(0<this.b);return this.u.complete?this.V-this.b:void 0===this.u.complete?0:-1};Oa(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Yc(d);bb(d,c)}});function qd(a,b){var c=b+a;dd(this,c,a,b);return c&65535}
|
||||
function rd(a,b){var c=b+a;dd(this,c<<8,a<<8,b<<8);return c&255}function sd(a,b){a=b<<1;ed(this,a);return a&65535}function td(a,b){a=b<<1;ed(this,a<<8);return a&255}function ud(a,b){a=b&32768|b>>1|b<<16;ed(this,a);return a&65535}function vd(a,b){a=b&2048|b>>1|b<<8;ed(this,a<<8);return a&255}function wd(a,b){a=b&~a;N(this,a);return a}function xd(a,b){a=b&~a;N(this,a<<8);return a}function yd(a,b){a|=b;N(this,a);return a}function zd(a,b){a|=b;N(this,a<<8);return a}
|
||||
function Ad(a,b){a=~b|65536;cd(this,a);return a&65535}function Bd(a,b){a=~b|256;cd(this,a<<8);return a&255}function Cd(a,b){a=b-a;this.M&128||(this.V=this.X=a,this.T=b&(b^a));return a&65535}function Dd(a,b){a=b-a;var c=a<<8;b<<=8;this.M&128||(this.V=this.X=c,this.T=b&(b^c));return a&255}function Ed(a,b){a=b+a;this.M&128||(this.V=this.X=a,this.T=a&(b^a));return a&65535}function Fd(a,b){a=b+a;var c=a<<8;this.M&128||(this.V=this.X=c,this.T=c&(b<<8^c));return a&255}
|
||||
function Ad(a,b){a=~b|65536;cd(this,a);return a&65535}function Bd(a,b){a=~b|256;cd(this,a<<8);return a&255}function Cd(a,b){a=b-a;this.M&128||(this.W=this.Y=a,this.T=b&(b^a));return a&65535}function Dd(a,b){a=b-a;var c=a<<8;b<<=8;this.M&128||(this.W=this.Y=c,this.T=b&(b^c));return a&255}function Ed(a,b){a=b+a;this.M&128||(this.W=this.Y=a,this.T=a&(b^a));return a&65535}function Fd(a,b){a=b+a;var c=a<<8;this.M&128||(this.W=this.Y=c,this.T=c&(b<<8^c));return a&255}
|
||||
function Gd(a,b){a=-b;cd(this,a,a&b&32768);return a&65535}function Hd(a,b){a=-b;cd(this,a<<8,(a&b&128)<<8);return a&255}function Id(a,b){a=b<<1|this.S>>16&1;ed(this,a);return a&65535}function Jd(a,b){a=b<<1|this.S>>16&1;ed(this,a<<8);return a&255}function Kd(a,b){a=(this.S&65536|b)>>1|b<<16;ed(this,a);return a&65535}function Ld(a,b){a=((this.S&65536)>>8|b)>>1|b<<8;ed(this,a<<8);return a&255}function Md(a,b){var c=b-a;fd(this,c,a,b);return c&65535}
|
||||
function Nd(a,b){var c=b-a;fd(this,c<<8,a<<8,b<<8);return c&255}function Od(a,b){a^=b;N(this,a);return a&65535}function Pd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.S=this.T=0;b&=63;b&32?(b=64-b,16<b&&(b=16),this.S=c<<17-b,c>>=b):b&&(16<b?(this.T=c,c=0):(this.S=c<<=b,(b=c>>15&65535)&&65535!==b&&(this.T=32768)));this.g[a]=c&65535;this.V=this.X=c;--this.b}
|
||||
function Qd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.S=this.T=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.S=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.S=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.T=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.V=d>>16;this.X=d>>16|d;--this.b}function U(a){a&1&&(this.S=0);a&2&&(this.T=0);a&4&&(this.X=1);a&8&&(this.V=0);--this.b}
|
||||
function Rd(a){var b=O(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.S=this.T=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.X=d>>16|d,this.V=d>>16):(this.T=32768,this.X=d>>15|d,this.V=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.X=this.V=0,this.T=32768,this.S=65536;--this.b}function Sd(a){var b=kd(this,a,8);a=a>>6&7;gd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b}
|
||||
function Td(a){var b=O(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.V=b>>16;this.X=this.V|b;this.T=0;this.S=-32768>b||32767<b?65536:0;--this.b}function Ud(){--this.b}function V(a){a&1&&(this.S=65536);a&2&&(this.T=32768);a&4&&(this.X=0);a&8&&(this.V=32768);--this.b}function te(){--this.b}function ue(a){Q(this,a,O(this,(a&448)>>6),Od);--this.b}function W(){J(this,8)}function Zc(a){ve[a>>12].call(this,a)}
|
||||
function Nd(a,b){var c=b-a;fd(this,c<<8,a<<8,b<<8);return c&255}function Od(a,b){a^=b;N(this,a);return a&65535}function Pd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.S=this.T=0;b&=63;b&32?(b=64-b,16<b&&(b=16),this.S=c<<17-b,c>>=b):b&&(16<b?(this.T=c,c=0):(this.S=c<<=b,(b=c>>15&65535)&&65535!==b&&(this.T=32768)));this.g[a]=c&65535;this.W=this.Y=c;--this.b}
|
||||
function Qd(a){var b=O(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.S=this.T=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.S=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.S=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.T=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.W=d>>16;this.Y=d>>16|d;--this.b}function T(a){a&1&&(this.S=0);a&2&&(this.T=0);a&4&&(this.Y=1);a&8&&(this.W=0);--this.b}
|
||||
function Rd(a){var b=O(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.S=this.T=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.Y=d>>16|d,this.W=d>>16):(this.T=32768,this.Y=d>>15|d,this.W=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Y=this.W=0,this.T=32768,this.S=65536;--this.b}function Sd(a){var b=kd(this,a,8);a=a>>6&7;gd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b}
|
||||
function Td(a){var b=O(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.W=b>>16;this.Y=this.W|b;this.T=0;this.S=-32768>b||32767<b?65536:0;--this.b}function Ud(){--this.b}function V(a){a&1&&(this.S=65536);a&2&&(this.T=32768);a&4&&(this.Y=0);a&8&&(this.W=32768);--this.b}function te(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)this.g[7]=this.g[7]-((a&63)<<1)&65535;--this.b}
|
||||
function ue(a){Q(this,a,O(this,(a&448)>>6),Od);--this.b}function W(){J(this,8)}function Zc(a){ve[a>>12].call(this,a)}
|
||||
var ve=[function(a){we[a>>8&15].call(this,a)},function(a){N(this,md(this,a,O(this,a>>6)));--this.b},function(a){var b=O(this,a>>6);a=O(this,a);fd(this,b-a,a,b);--this.b},function(a){N(this,O(this,a>>6)&O(this,a));--this.b},function(a){Q(this,a,O(this,a>>6),wd);--this.b},function(a){Q(this,a,O(this,a>>6),yd);--this.b},function(a){Q(this,a,O(this,a>>6),qd);--this.b},function(a){xe[a>>8&15].call(this,a)},function(a){ye[a>>8&15].call(this,a)},function(a){var b=ld(this,a>>6);N(this,nd(this,a,b,1)<<8);
|
||||
--this.b},function(a){var b=ld(this,a>>6)<<8;a=ld(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){N(this,(ld(this,a>>6)&ld(this,a))<<8);--this.b},function(a){R(this,a,ld(this,a>>6),xd);--this.b},function(a){R(this,a,ld(this,a>>6),zd);--this.b},function(a){Q(this,a,O(this,a>>6),Md);--this.b},W],we=[function(a){ze[a>>4&15].call(this,a)},function(a){this.g[7]=S(this,a);--this.b},function(a){bd(this)||(this.g[7]=S(this,a));--this.b},function(a){bd(this)&&(this.g[7]=S(this,a));--this.b},function(a){!this.La()==
|
||||
!ad(this)&&(this.g[7]=S(this,a));--this.b},function(a){!this.La()!=!ad(this)&&(this.g[7]=S(this,a));--this.b},function(a){bd(this)||!this.La()!=!ad(this)||(this.g[7]=S(this,a));--this.b},function(a){if(bd(this)||!this.La()!=!ad(this))this.g[7]=S(this,a);--this.b},Sd,Sd,function(a){Ae[a>>6&3].call(this,a)},function(a){Be[a>>6&3].call(this,a)},function(a){Ce[a>>6&3].call(this,a)},function(a){De[a>>6&3].call(this,a)},W,W],ze=[function(a){Ee[a&15].call(this,a)},W,W,W,W,W,W,W,function(a){var b=id(this);
|
||||
a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.aa&49152||(this.aa=this.aa&-2017|(a&7)<<5,this.Oa=1);--this.b},function(a){Fe[a&15].call(this,a)},function(a){Ge[a&15].call(this,a)},W,W,W,W],Fe=[Ud,function(){this.S=0;--this.b},function(){this.T=0;--this.b},U,function(){this.X=1;--this.b},U,U,U,function(){this.V=0;--this.b},U,U,U,U,U,U,U],Ge=[Ud,function(){this.S=65536;--this.b},function(){this.T=32768;--this.b},V,function(){this.X=0;--this.b},V,V,V,function(){this.V=32768;--this.b},
|
||||
V,V,V,V,V,V,V],Ee=[function(){this.aa&49152?(this.H|=128,J(this,4)):(this.Ia=3,Xc(this));--this.b},function(){--this.b},function(){hd(this);this.M|=this.aa&16;--this.b},function(){--this.b},function(){--this.b},function(){this.aa&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},function(){--this.b},W,W,W,W,W,W,W,W],xe=[Td,Td,Rd,Rd,Pd,Pd,Qd,Qd,ue,ue,W,W,W,W,te,te],ye=[function(a){this.La()||(this.g[7]=S(this,a));--this.b},function(a){this.La()&&(this.g[7]=S(this,a));--this.b},
|
||||
function(a){M(this)||bd(this)||(this.g[7]=S(this,a));--this.b},function(a){if(M(this)||bd(this))this.g[7]=S(this,a);--this.b},function(a){ad(this)||(this.g[7]=S(this,a));--this.b},function(a){ad(this)&&(this.g[7]=S(this,a));--this.b},function(a){M(this)||(this.g[7]=S(this,a));--this.b},function(a){M(this)&&(this.g[7]=S(this,a));--this.b},function(){J(this,24);--this.b},function(){J(this,28);--this.b},function(a){He[a>>6&3].call(this,a)},function(a){Ie[a>>6&3].call(this,a)},function(a){Je[a>>6&3].call(this,
|
||||
a)},function(a){Ke[a>>6&3].call(this,a)},W,W],Ae=[function(a){cd(this,md(this,a,0));--this.b},function(a){Q(this,a,0,Ad);--this.b},function(a){Q(this,a,1,Ed);--this.b},function(a){Q(this,a,1,Cd);--this.b}],Be=[function(a){Q(this,a,0,Gd);--this.b},function(a){Q(this,a,M(this)?1:0,qd);--this.b},function(a){Q(this,a,M(this)?1:0,Md);--this.b},function(a){a=O(this,a);cd(this,a);--this.b}],Ce=[function(a){Q(this,a,0,Kd);--this.b},function(a){Q(this,a,0,Id);--this.b},function(a){Q(this,a,0,ud);--this.b},
|
||||
function(a){Q(this,a,0,sd);--this.b}],De=[function(){--this.b},function(){--this.b},function(){--this.b},function(a){N(this,md(this,a,this.La?65535:0));--this.b}],He=[function(a){cd(this,nd(this,a,0));--this.b},function(a){R(this,a,0,Bd);--this.b},function(a){R(this,a,1,Fd);--this.b},function(a){R(this,a,1,Dd);--this.b}],Ie=[function(a){R(this,a,0,Hd);--this.b},function(a){R(this,a,M(this)?1:0,rd);--this.b},function(a){R(this,a,M(this)?1:0,Nd);--this.b},function(a){a=ld(this,a);cd(this,a<<8);--this.b}],
|
||||
Je=[function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,0,vd);--this.b},function(a){R(this,a,0,td);--this.b}],Ke=[function(){--this.b},function(){--this.b},function(){--this.b},function(){--this.b}];
|
||||
--this.b},function(a){var b=ld(this,a>>6)<<8;a=ld(this,a)<<8;fd(this,b-a,a,b);--this.b},function(a){N(this,(ld(this,a>>6)&ld(this,a))<<8);--this.b},function(a){R(this,a,ld(this,a>>6),xd);--this.b},function(a){R(this,a,ld(this,a>>6),zd);--this.b},function(a){Q(this,a,O(this,a>>6),Md);--this.b},W],we=[function(a){ze[a>>4&15].call(this,a)},function(a){S(this,a);--this.b},function(a){bd(this)||S(this,a);--this.b},function(a){bd(this)&&S(this,a);--this.b},function(a){!this.Ma()==!ad(this)&&S(this,a);--this.b},
|
||||
function(a){!this.Ma()!=!ad(this)&&S(this,a);--this.b},function(a){bd(this)||!this.Ma()!=!ad(this)||S(this,a);--this.b},function(a){(bd(this)||!this.Ma()!=!ad(this))&&S(this,a);--this.b},Sd,Sd,function(a){Ae[a>>6&3].call(this,a)},function(a){Be[a>>6&3].call(this,a)},function(a){Ce[a>>6&3].call(this,a)},function(a){De[a>>6&3].call(this,a)},W,W],ze=[function(a){Ee[a&15].call(this,a)},W,W,W,W,W,W,W,function(a){var b=id(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.U&49152||(this.U=
|
||||
this.U&-2017|(a&7)<<5,this.Pa=1);--this.b},function(a){Fe[a&15].call(this,a)},function(a){Ge[a&15].call(this,a)},W,W,W,W],Fe=[Ud,function(){this.S=0;--this.b},function(){this.T=0;--this.b},T,function(){this.Y=1;--this.b},T,T,T,function(){this.W=0;--this.b},T,T,T,T,T,T,T],Ge=[Ud,function(){this.S=65536;--this.b},function(){this.T=32768;--this.b},V,function(){this.Y=0;--this.b},V,V,V,function(){this.W=32768;--this.b},V,V,V,V,V,V,V],Ee=[function(){this.U&49152?(this.H|=128,J(this,4)):(this.Ja=3,Xc(this));
|
||||
--this.b},function(){--this.b},function(){hd(this);this.M|=this.U&16;--this.b},function(){J(this,12);--this.b},function(){J(this,16);--this.b},function(){this.U&49152||($c(this),this.F.reset());--this.b},function(){hd(this);--this.b},function(){--this.b},W,W,W,W,W,W,W,W],xe=[Td,Td,Rd,Rd,Pd,Pd,Qd,Qd,ue,ue,W,W,W,W,te,te],ye=[function(a){this.Ma()||S(this,a);--this.b},function(a){this.Ma()&&S(this,a);--this.b},function(a){M(this)||bd(this)||S(this,a);--this.b},function(a){(M(this)||bd(this))&&S(this,
|
||||
a);--this.b},function(a){ad(this)||S(this,a);--this.b},function(a){ad(this)&&S(this,a);--this.b},function(a){M(this)||S(this,a);--this.b},function(a){M(this)&&S(this,a);--this.b},function(){J(this,24);--this.b},function(){J(this,28);--this.b},function(a){He[a>>6&3].call(this,a)},function(a){Ie[a>>6&3].call(this,a)},function(a){Je[a>>6&3].call(this,a)},function(a){Ke[a>>6&3].call(this,a)},W,W],Ae=[function(a){cd(this,md(this,a,0));--this.b},function(a){Q(this,a,0,Ad);--this.b},function(a){Q(this,a,
|
||||
1,Ed);--this.b},function(a){Q(this,a,1,Cd);--this.b}],Be=[function(a){Q(this,a,0,Gd);--this.b},function(a){Q(this,a,M(this)?1:0,qd);--this.b},function(a){Q(this,a,M(this)?1:0,Md);--this.b},function(a){a=O(this,a);cd(this,a);--this.b}],Ce=[function(a){Q(this,a,0,Kd);--this.b},function(a){Q(this,a,0,Id);--this.b},function(a){Q(this,a,0,ud);--this.b},function(a){Q(this,a,0,sd);--this.b}],De=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ya(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;
|
||||
this.g[5]=b;--this.b},function(){--this.b},function(){--this.b},function(a){N(this,md(this,a,this.Ma?65535:0));--this.b}],He=[function(a){cd(this,nd(this,a,0));--this.b},function(a){R(this,a,0,Bd);--this.b},function(a){R(this,a,1,Fd);--this.b},function(a){R(this,a,1,Dd);--this.b}],Ie=[function(a){R(this,a,0,Hd);--this.b},function(a){R(this,a,M(this)?1:0,rd);--this.b},function(a){R(this,a,M(this)?1:0,Nd);--this.b},function(a){a=ld(this,a);cd(this,a<<8);--this.b}],Je=[function(a){R(this,a,0,Ld);--this.b},
|
||||
function(a){R(this,a,0,Jd);--this.b},function(a){R(this,a,0,vd);--this.b},function(a){R(this,a,0,td);--this.b}],Ke=[function(){--this.b},function(a){a&56?(a=kd(this,a,0),this.A=this.U>>12&3,a=this.ya(a|65536),this.A=this.U>>14&3):(a&=7,a=6!=a||(this.U>>2&12288)===(this.U&12288)?this.g[a]:this.Ia[this.U>>12&3]);gd(this,a);N(this,a);--this.b},function(){--this.b},function(){--this.b}];
|
||||
function Le(a){u.call(this,"ROM",a,Le);this.i=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.A=a.alias;this.B=a.file;this.J=ga(this.B);if(this.B){a=this.B;var b=ha(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Me(c,a,b,e)})}}w(Le);Le.prototype.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;Ne(this)};
|
||||
Le.prototype.Na=function(){if(this.Ja){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.Ja,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({rd:b,w:c,Sc:d,Ja:f,tc:e})}delete this.Ja}return!0};Le.prototype.Ma=function(){return!0};
|
||||
function Me(a,b,c,d){if(d)a.oa("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.rc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.Ja=h.symbols;if(!a.i.length){t("Empty ROM: "+
|
||||
Le.prototype.Oa=function(){if(this.Ka){if(this.C){var a=this.C,b=this.id,c=this.D,d=this.j,f=this.Ka,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],p=oa(n,k,a.vc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({rd:b,w:c,Sc:d,Ka:f,tc:e})}delete this.Ka}return!0};Le.prototype.Na=function(){return!0};
|
||||
function Me(a,b,c,d){if(d)a.oa("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.rc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.i=e;else if(e=h.words)for(a.i=Array(2*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255;else if(e=h.data)for(a.i=Array(4*e.length),g=f=0;f<e.length;f++)a.i[g++]=e[f]&255,a.i[g++]=e[f]>>8&255,a.i[g++]=e[f]>>16&255,a.i[g++]=e[f]>>24&255;else a.i=h;a.Ka=h.symbols;if(!a.i.length){t("Empty ROM: "+
|
||||
b);return}if(1==a.i.length){t(a.i[0]);return}}catch(k){a.oa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.i=Array(b.length),f=0;f<b.length;f++)a.i[f]=aa(b[f],16);Ne(a)}}
|
||||
function Ne(a){if(!rb(a))if(!a.B)D(a);else if(a.i&&a.F){a.j||(a.j=a.i.length);if(a.i.length!=a.j)sb(a,"ROM size ("+r(a.i.length,8,!0)+") does not match specified size ("+r(a.j,8,!0)+")");else{var b;b=a.D;if(Cb(a.F,b,a.j,a.G?1:mc)){var c;for(c=0;c<a.i.length;c++){var d=a.F,f=b+c;d.L[(f&d.j)>>>d.W].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.F,g=e.j,h=[],k=e.D>>>f.W;0<g&&k<f.L.length;)h.push(f.L[k++]),
|
||||
g-=f.za;f=e.F;e=e.j;g=0;for(d>>>=f.W;0<e&&d<f.L.length;){k=h[g++];if(!k)break;f.L[d++]=k;e-=f.za}}delete a.i}}D(a)}}Oa(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Le(d);bb(d,c)}});function Oe(a){u.call(this,"RAM",a,Oe);this.A=a.addr;this.j=a.size;this.i=!1}w(Oe);l=Oe.prototype;l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;D(this)};l.Na=function(a,b){b||this.reset();return!0};l.Ma=function(a){return a?this.save():!0};
|
||||
function Ne(a){if(!rb(a))if(!a.B)D(a);else if(a.i&&a.F){a.j||(a.j=a.i.length);if(a.i.length!=a.j)sb(a,"ROM size ("+r(a.i.length,8,!0)+") does not match specified size ("+r(a.j,8,!0)+")");else{var b;b=a.D;if(Cb(a.F,b,a.j,a.G?1:mc)){var c;for(c=0;c<a.i.length;c++){var d=a.F,f=b+c;d.L[(f&d.j)>>>d.X].Cb(f&d.i,a.i[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.F,g=e.j,h=[],k=e.D>>>f.X;0<g&&k<f.L.length;)h.push(f.L[k++]),
|
||||
g-=f.Aa;f=e.F;e=e.j;g=0;for(d>>>=f.X;0<e&&d<f.L.length;){k=h[g++];if(!k)break;f.L[d++]=k;e-=f.Aa}}delete a.i}}D(a)}}Oa(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Le(d);bb(d,c)}});function Oe(a){u.call(this,"RAM",a,Oe);this.A=a.addr;this.j=a.size;this.i=!1}w(Oe);l=Oe.prototype;l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.C=d;D(this)};l.Oa=function(a,b){b||this.reset();return!0};l.Na=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.i&&this.j&&Cb(this.F,this.A,this.j,1)&&(this.i=!0);this.i||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Oa(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Oe(d);bb(d,c)}});function Pe(a){u.call(this,"Keyboard",a,Pe,65536);D(this)}w(Pe);Pe.prototype.ta=function(){return!1};Pe.prototype.Xa=function(a,b,c,d){this.i=a;this.b=c;this.C=d;this.fa=null};
|
||||
Oa(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Pe(d);bb(d,c)}});function Qe(a){u.call(this,"Debugger",a,Qe);this.da=a.base||16;this.Y=this.Da=this.J=0;this.ca=!1;this.B=-1;this.A=[];this.ha={}}w(Qe);var Re={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
Oa(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Pe(d);bb(d,c)}});function Qe(a){u.call(this,"Debugger",a,Qe);this.da=a.base||16;this.Z=this.Ea=this.J=0;this.ca=!1;this.B=-1;this.A=[];this.ha={}}w(Qe);var Re={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function Se(a,b,c,d){if(c)if(b){0>a.B&&a.A.length&&(a.B=0);if(0>a.B||b!=a.A[a.B])a.A.splice(0,0,b),a.B=0;a.B--}else a.ca?b="end":b=a.A[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a}
|
||||
function Te(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
|
||||
case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||
function Ue(a,b,c){var d;if(b){b=Ve(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],p=n.length,n=na(n);if(!n){e=!0;break}n=We(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],q=n.length;k.length&&Re[n]<Re[k[k.length-1]]&&Te(h,k,1);k.push(n);b=b.substr(p+q)}Te(h,k)&&1==h.length||(e=!0);e?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Xe(a,null,
|
||||
d))}return d}function Ve(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Ue(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.Y-a.Da}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
d))}return d}function Ve(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Ue(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.Z-a.Ea}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
function We(a,b,c,d){var f;null!=b?(f=a.ha[b],null==f&&(f=aa(b,a.da)),null!=f||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return f}function Xe(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=r(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}
|
||||
function Ye(a,b){if(b)return Xe(a,b,a.ha[b]);var c=0;for(b in a.ha)Xe(a,b,a.ha[b]),c++;return 0<c}function X(a,b,c,d){switch(a.da){case 8:a=ba(b,3*c);break;case 10:a=b.toString();break;default:a=r(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
|
||||
function Ze(a){Qe.call(this,a);this.R=Y();this.Eb=Y();this.ba=Y();this.G=[];this.j=this.U=this.D=[];$e(this);this.wa=0;af(this);this.Ia={};bf(this,a.messages);this.Ra=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Qc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Qc(b,a)})}w(Ze,Qe);
|
||||
function Ze(a){Qe.call(this,a);this.R=Y();this.Eb=Y();this.ba=Y();this.G=[];this.j=this.V=this.D=[];$e(this);this.wa=0;af(this);this.Ja={};bf(this,a.messages);this.Ra=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Qc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Qc(b,a)})}w(Ze,Qe);
|
||||
var cf={"?":"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",v:"print version","var":"assign variable"},df="NONE 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(" "),
|
||||
ef={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
||||
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
|
||||
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},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]}};l=Ze.prototype;
|
||||
l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.i=a;(a=zc(a,"messages"))&&bf(this,a);this.Kb=ef;ff(this,function(a){a:{var b=d.F.L,c=a[0],f=a=0,k=b.length;if(c){a=d.$(gf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.F.W;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Fb[c],n&&d.f(r(n.id,8)+" %"+r(f<<d.F.W,8)+" %%"+r(n.w,8)+" "+r(n.Xb,
|
||||
4,!0)+" "+r(n.size,4,!0)+" "+m),c!=lc&&(c=-1),m=0);a+=d.F.za;f++}}});D(this)};
|
||||
l.Xa=function(a,b,c,d){this.F=b;this.b=c;this.i=a;(a=zc(a,"messages"))&&bf(this,a);this.Kb=ef;ff(this,function(a){a:{var b=d.F.L,c=a[0],f=a=0,k=b.length;if(c){a=d.aa(gf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.F.X;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.f("..."):(c=n.type,m=Fb[c],n&&d.f(r(n.id,8)+" %"+r(f<<d.F.X,8)+" %%"+r(n.w,8)+" "+r(n.Xb,
|
||||
4,!0)+" "+r(n.size,4,!0)+" "+m),c!=lc&&(c=-1),m=0);a+=d.F.Aa;f++}}});D(this)};
|
||||
l.ta=function(a,b,c){var d=this;switch(b){case "debugInput":return this.va=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Qc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.A.length-1&&(b=d.A[++d.B])):40==a.keyCode&&(0<d.B?b=d.A[--d.B]:(b="",d.B=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.I[b]=c,Da(c,function(){if(d.va){var a=d.va.value;
|
||||
d.va.value="";Qc(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Da(c,function(a){var b=!1;qb(d,!0)||(pb(d,!0),b=d.Ab(a?1:0),pb(d,!1));return b}),!0}return!1};l.Wb=function(){this.va&&this.va.focus()};l.$=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.rb=function(a,b){var c=255,d=this.$(a,!1,1);-1!==d&&(c=this.F,c=c.L[(d&c.j)>>>c.W].Pb(d&c.i,d),b&&hf(a,b));return c};l.Fa=function(a,b){var c=65535,d=this.$(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&hf(a,b));return c};
|
||||
l.Ub=function(a,b,c){var d=this.$(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.W].Cb(d&f.i,b&255,d);c&&hf(a,c);K(this.b,!0)}};l.zb=function(a,b,c){var d=this.$(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.W;e!=f.i?f.L[g].qc(e,b&65535,d):(f.L[g++].Cb(e,b&255,d),f.L[g&f.A].Cb(0,b>>8&255,d+1));c&&hf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Ea:!1}}function jf(a){return[a.w,a.Ea]}function kf(a){return{w:a[0],Ea:a[1]}}
|
||||
function gf(a,b,c){var d;c=(c?a.R:a.Eb).w;if(void 0!==b){d=b=Ve(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].Ja[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Y(d));break}}if(d=f)return d;c=Ue(a,b,void 0)}null!=c&&(d=Y(c));return d}function lf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ic=Se(a,b.Dc=c[2]))}function hf(a,b){null!=a.w&&(a.w+=b||1)}
|
||||
function bf(a,b){a.C=a;a.ia=a.Jc=536870912;a.xa=null;a.Ca=[];b=Se(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in E){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 f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=E[c],a.f(c+" messages enabled"))}}function ff(a,b){for(var c in E)if(64==E[c]){a.Ia[c]=b;break}}
|
||||
l.message=function(a,b){b&&(a+=" at "+X(this,Y(this.b.g[7]).w));this.ia&1073741824?this.Ca.push(a):this.xa&&a==this.xa||(this.xa=a,this.ia&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,Xc(a),a.ca=0,K(a)))};
|
||||
d.va.value="";Qc(d,a,!0);return!0}return!1}),!0;case "step":return this.I[b]=c,Da(c,function(a){var b=!1;qb(d,!0)||(db(d,!0),b=d.Ab(a?1:0),db(d,!1));return b}),!0}return!1};l.Wb=function(){this.va&&this.va.focus()};l.aa=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.rb=function(a,b){var c=255,d=this.aa(a,!1,1);-1!==d&&(c=this.F,c=c.L[(d&c.j)>>>c.X].Pb(d&c.i,d),b&&hf(a,b));return c};l.Ga=function(a,b){var c=65535,d=this.aa(a,!1,2);-1!==d&&(c=Gb(this.F,d),b&&hf(a,b));return c};
|
||||
l.Ub=function(a,b,c){var d=this.aa(a,!0,1);if(-1!==d){var f=this.F;f.L[(d&f.j)>>>f.X].Cb(d&f.i,b&255,d);c&&hf(a,c);K(this.b,!0)}};l.zb=function(a,b,c){var d=this.aa(a,!0,2);if(-1!==d){var f=this.F,e=d&f.i,g=(d&f.j)>>>f.X;e!=f.i?f.L[g].qc(e,b&65535,d):(f.L[g++].Cb(e,b&255,d),f.L[g&f.A].Cb(0,b>>8&255,d+1));c&&hf(a,c);K(this.b,!0)}};function Y(a){return{w:a,Fa:!1}}function jf(a){return[a.w,a.Fa]}function kf(a){return{w:a[0],Fa:a[1]}}
|
||||
function gf(a,b,c){var d;c=(c?a.R:a.Eb).w;if(void 0!==b){d=b=Ve(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].Ka[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Y(d));break}}if(d=f)return d;c=Ue(a,b,void 0)}null!=c&&(d=Y(c));return d}function lf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ic=Se(a,b.Dc=c[2]))}function hf(a,b){null!=a.w&&(a.w+=b||1)}
|
||||
function bf(a,b){a.C=a;a.ia=a.Jc=536870912;a.xa=null;a.Da=[];b=Se(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in E){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 f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=E[c],a.f(c+" messages enabled"))}}function ff(a,b){for(var c in E)if(64==E[c]){a.Ja[c]=b;break}}
|
||||
l.message=function(a,b){b&&(a+=" at "+X(this,Y(this.b.g[7]).w));this.ia&1073741824?this.Da.push(a):this.xa&&a==this.xa||(this.xa=a,this.ia&-2147483648&&(this.ma(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,Xc(a),a.ca=0,K(a)))};
|
||||
function af(a){var b;if(od(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=Y();a.ra=0;a.f("instruction history buffer allocated")}if(!a.qa||!a.qa.length)for(a.qa=Array(256),b=0;b<a.qa.length;b++)a.qa[b]=[b,0]}else a.O&&a.O.length&&a.f("instruction history buffer freed"),a.ra=0,a.O=[],a.qa=[]}l.ob=function(a){if(!mf(this))return!1;this.b.ob(a);return!0};
|
||||
l.Ab=function(a,b,c){if(!mf(this))return!1;this.J=0;a||od(this)&&pd(this,this.b.g[7],0);try{var d=this.b.Ab(a);0<d&&(this.J+=d,Vc(this.b,d,!0),Rc(this.b,d),this.Y++)}catch(f){"number"!=typeof f&&(this.J=0,sb(this.b,f.stack||f.message))}!1!==c&&K(this.b);this.ya(b||!1);return 0<this.J};l.ma=function(a){this.b&&this.b.ma(a)};l.ya=function(a){void 0===a&&(a=!0);this.R=Y(this.b.g[7]);a&&1!=this.fa?nf(this):of(this)};
|
||||
function mf(a){var b;if(b=a.b&&rb(a.b))b=a.b,b.u.ga?b=!0:(b.f(b.toString()+" not powered"),b=!1);b&&!qb(a.b)?(a=a.b,a.u.error?(a.f(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Na=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ma=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){af(this);this.Y=this.Da=0;this.xa=null;this.J=0;this.R=Y(this.b.g[7]);this.u.ja=!1;pf(this);a||this.ya()};
|
||||
l.Ab=function(a,b,c){if(!mf(this))return!1;this.J=0;a||od(this)&&pd(this,this.b.g[7],0);try{var d=this.b.Ab(a);0<d&&(this.J+=d,Vc(this.b,d,!0),Rc(this.b,d),this.Z++)}catch(f){"number"!=typeof f&&(this.J=0,sb(this.b,f.stack||f.message))}!1!==c&&K(this.b);this.za(b||!1);return 0<this.J};l.ma=function(a){this.b&&this.b.ma(a)};l.za=function(a){void 0===a&&(a=!0);this.R=Y(this.b.g[7]);a&&1!=this.fa?nf(this):of(this)};
|
||||
function mf(a){var b;if(b=a.b&&rb(a.b))b=a.b,b.u.ga?b=!0:(b.f(b.toString()+" not powered"),b=!1);b&&!qb(a.b)?(a=a.b,a.u.error?(a.f(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Oa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Na=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){af(this);this.Z=this.Ea=0;this.xa=null;this.J=0;this.R=Y(this.b.g[7]);this.u.ja=!1;pf(this);a||this.za()};
|
||||
l.save=function(){var a=new L(this);a.set(0,jf(this.R));a.set(1,jf(this.ba));a.set(2,[this.A,this.ca,this.ia]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.R=kf(a[b++]),this.ba=kf(a[b++]),this.A=a[b][0],"string"==typeof this.A&&(this.A=[this.A]),this.ca=a[b][1],this.ia|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.fa||this.f("running");this.u.ja=!0;this.ic=a;this.Mc=b};
|
||||
l.stop=function(a,b){if(this.u.ja){this.u.ja=!1;this.J=b-this.Mc;if(!this.fa){b="stopped";if(this.J){a-=this.ic;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";od(this)&&(b+=this.Y+" opcodes, ",this.Da-=this.Y,this.Y=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else cb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.ya(!0);this.Wb();pf(this,this.b.g[7])}};function od(a){return 1<a.j.length||!!a.wa}
|
||||
function pd(a,b,c){var d=a.b;if(0<c&&(a.wa&&!--a.wa||uc(a,b,1,a.j)))return!0;0<=c&&a.qa.length&&(a.Y++,null!=Gb(a.F,b)&&(b=a.O[a.ra],b.w=d.g[7],b.Ea=!1,++a.ra==a.O.length&&(a.ra=0)));return!1}function $e(a){var b,c;a.j=["bp"];if(a.U)for(b=1;b<a.U.length;b++){c=a.U[b];var d=a.F;c=a.$(c);vc(d.L[c>>>d.W],!1)}a.U=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.F,c=a.$(c),vc(d.L[c>>>d.W],!0);a.D=["bw"];a.Fb=0}
|
||||
l.jb=function(a,b,c){var d=!0;c||qf(this,a,b,!1,!0);if(a!=this.j){var f=this.$(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.W].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Ea=!0:(rf(this,a,a.length-1,"set"),af(this)));return d};function qf(a,b,c,d,f){var e=!1;c=a.$(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.$(h)&&(!d||h.Ea)){e=!0;h.Ea||f||rf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.F,vc(d.L[c>>>d.W],b==a.D));h.Ea||af(a);break}}return e}
|
||||
function sf(a,b){for(var c=1;c<b.length;c++)rf(a,b,c);return b.length-1}function rf(a,b,c,d){c=b[c];a.f(b[0]+" "+X(a,c.w)+(d?" "+d:c.Dc?' "'+c.Dc+'"':""))}function pf(a,b){if(void 0!==b)uc(a,b,1,a.j,!0),a.fa=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Ea){if(!qf(a,a.j,c,!0))break;b=0}}}
|
||||
function uc(a,b,c,d,f){var e=!1;if(!a.Fb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ea)for(var k=a.$(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ea&&(qf(a,d,h,!0),f=!0);if(n=h.Ic){for(var e=!1,p=0;p<n.length;p++)if(!tf(a,n[p],!0)){if(n[p].indexOf("if")){e=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){e=!0;break}}a.b.u.ja||(e=!0)}if(e){f||rf(a,d,g,"hit");break}}}a.Fb--;return e}
|
||||
function uf(a,b,c,d){var f=Y(b.w),e=a.Fa(b,2),g,h;for(h in a.Kb)if(g=a.Kb[h][e&h])break;g||(g=[0]);h="";for(var k=df[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var z=p,p=b,x="",A=z&61440;if(4096==A)p=p.w+((e&255)<<24>>23)&65535,x=X(q,p);else if(8192==A)p=p.w-((e&63)<<1)&65535,x=X(q,p);else if(12288==A)x=X(q,e&7,1);else if(24576==A)x=X(q,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=vf(z);break;case 8:x="@"+vf(z);break;case 16:7>z?x="("+vf(z)+
|
||||
")+":(A=q.Fa(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+vf(z)+")+":(A=q.Fa(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+vf(z)+")";break;case 40:x="@-("+vf(z)+")";break;case 48:A=q.Fa(p,2);x=X(q,A,0,!0)+"("+vf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Fa(p,2),x="@"+X(q,A)+"("+vf(z)+")",7==z&&(x=[x,X(q,A+p.w&65535)])}q=x;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0<h.length&&(h+=",");h+=q||"???"}}e="";g=X(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=
|
||||
" "+X(a,a.Fa(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(k,5);h&&(g+=" "+h);c&&(g=ma(g,60)+";"+c,g=a.b.u.qb?g+("cycles="+Sc(a.b).toString()+" cs="+r(a.b.Mb)):g+(null!=d?"="+d.toString():""));return g}function wf(a,b){switch(b){case "N":a=a.b.La();break;case "Z":a=bd(a.b);break;case "V":a=ad(a.b);break;case "C":a=M(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function vf(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
||||
function xf(a,b){var c="",d=a.b;8>b?(c=vf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.bb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Pa[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function yf(a){var b,c="";for(b=0;6>b;b++)c+=xf(a,b);c=c+"\n"+(xf(a,6)+xf(a,7)+xf(a,20));return c+=wf(a,"T")+wf(a,"N")+wf(a,"Z")+wf(a,"V")+wf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function zf(a,b,c){var d=[],f=a.$(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.w>>>0,h=e.Sc;if(f>=g&&f<g+h){f=oa(e.tc,[f-g],a.vc);0<=f?Af(a,b,f,d):c&&(f=~f,Af(a,b,f-1,d),Af(a,b,f,d));break}}return d}function Af(a,b,c,d){var f={},e=a.G[b].tc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].Ja[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
||||
l.stop=function(a,b){if(this.u.ja){this.u.ja=!1;this.J=b-this.Mc;if(!this.fa){b="stopped";if(this.J){a-=this.ic;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";od(this)&&(b+=this.Z+" opcodes, ",this.Ea-=this.Z,this.Z=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else cb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.za(!0);this.Wb();pf(this,this.b.g[7])}};function od(a){return 1<a.j.length||!!a.wa}
|
||||
function pd(a,b,c){var d=a.b;if(0<c&&(a.wa&&!--a.wa||uc(a,b,1,a.j)))return!0;0<=c&&a.qa.length&&(a.Z++,null!=Gb(a.F,b)&&(b=a.O[a.ra],b.w=d.g[7],b.Fa=!1,++a.ra==a.O.length&&(a.ra=0)));return!1}function $e(a){var b,c;a.j=["bp"];if(a.V)for(b=1;b<a.V.length;b++){c=a.V[b];var d=a.F;c=a.aa(c);vc(d.L[c>>>d.X],!1)}a.V=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.F,c=a.aa(c),vc(d.L[c>>>d.X],!0);a.D=["bw"];a.Fb=0}
|
||||
l.jb=function(a,b,c){var d=!0;c||qf(this,a,b,!1,!0);if(a!=this.j){var f=this.aa(b);if(-1===f)this.f("invalid address: "+X(this,b.w)),d=!1;else{var e=this.F;e.L[f>>>e.X].jb(f&e.i,a==this.D)}}d&&(a.push(b),c?b.Fa=!0:(rf(this,a,a.length-1,"set"),af(this)));return d};function qf(a,b,c,d,f){var e=!1;c=a.aa(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.aa(h)&&(!d||h.Fa)){e=!0;h.Fa||f||rf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.F,vc(d.L[c>>>d.X],b==a.D));h.Fa||af(a);break}}return e}
|
||||
function sf(a,b){for(var c=1;c<b.length;c++)rf(a,b,c);return b.length-1}function rf(a,b,c,d){c=b[c];a.f(b[0]+" "+X(a,c.w)+(d?" "+d:c.Dc?' "'+c.Dc+'"':""))}function pf(a,b){if(void 0!==b)uc(a,b,1,a.j,!0),a.fa=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Fa){if(!qf(a,a.j,c,!0))break;b=0}}}
|
||||
function uc(a,b,c,d,f){var e=!1;if(!a.Fb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Fa)for(var k=a.aa(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Fa&&(qf(a,d,h,!0),f=!0);if(n=h.Ic){for(var e=!1,p=0;p<n.length;p++)if(!tf(a,n[p],!0)){if(n[p].indexOf("if")){e=!0;break}for(var q=p+1;q<n.length&&n[q].indexOf("else");q++)p++;if(q==n.length){e=!0;break}}a.b.u.ja||(e=!0)}if(e){f||rf(a,d,g,"hit");break}}}a.Fb--;return e}
|
||||
function uf(a,b,c,d){var f=Y(b.w),e=a.Ga(b,2),g,h;for(h in a.Kb)if(g=a.Kb[h][e&h])break;g||(g=[0]);h="";for(var k=df[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var z=p,p=b,x="",A=z&61440;if(4096==A)p=p.w+((e&255)<<24>>23)&65535,x=X(q,p);else if(8192==A)p=p.w-((e&63)<<1)&65535,x=X(q,p);else if(12288==A)x=X(q,e&7,1);else if(24576==A)x=X(q,e&63,1);else if(A=e&z,z&4032&&(A>>=6,z>>=6),z&63)switch(z=A&7,A&56){case 0:x=vf(z);break;case 8:x="@"+vf(z);break;case 16:7>z?x="("+vf(z)+
|
||||
")+":(A=q.Ga(p,2),x="#"+X(q,A,0,!0));break;case 24:7>z?x="@("+vf(z)+")+":(A=q.Ga(p,2),x="@#"+X(q,A,0,!0));break;case 32:x="-("+vf(z)+")";break;case 40:x="@-("+vf(z)+")";break;case 48:A=q.Ga(p,2);x=X(q,A,0,!0)+"("+vf(z)+")";7==z&&(x=[x,X(q,A+p.w&65535)]);break;case 56:A=q.Ga(p,2),x="@"+X(q,A)+"("+vf(z)+")",7==z&&(x=[x,X(q,A+p.w&65535)])}q=x;if(!q||!q.length){h="INVALID";break}"string"!=typeof q&&(c=q[1],d=null,q=q[0]);0<h.length&&(h+=",");h+=q||"???"}}e="";g=X(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=
|
||||
" "+X(a,a.Ga(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(k,5);h&&(g+=" "+h);c&&(g=ma(g,60)+";"+c,g=a.b.u.qb?g+("cycles="+Sc(a.b).toString()+" cs="+r(a.b.Mb)):g+(null!=d?"="+d.toString():""));return g}function wf(a,b){switch(b){case "N":a=a.b.Ma();break;case "Z":a=bd(a.b);break;case "V":a=ad(a.b);break;case "C":a=M(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function vf(a){return 6>a?"R"+a:6==a?"SP":"PC"}
|
||||
function xf(a,b){var c="",d=a.b;8>b?(c=vf(b),c+="="+X(a,d.g[b])):13>b?c="A"+(b-8)+"="+X(a,d.bb[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+X(a,d.Ia[b-16]):20==b&&(c="PS="+X(a,Yb(d)));c&&(c+=" ");return c}function yf(a){var b,c="";for(b=0;6>b;b++)c+=xf(a,b);c=c+"\n"+(xf(a,6)+xf(a,7)+xf(a,20));return c+=wf(a,"T")+wf(a,"N")+wf(a,"Z")+wf(a,"V")+wf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function zf(a,b,c){var d=[],f=a.aa(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.w>>>0,h=e.Sc;if(f>=g&&f<g+h){f=oa(e.tc,[f-g],a.vc);0<=f?Af(a,b,f,d):c&&(f=~f,Af(a,b,f-1,d),Af(a,b,f,d));break}}return d}function Af(a,b,c,d){var f={},e=a.G[b].tc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].Ka[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
||||
function Bf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ye(a)||a.f("no variables"),!0;if(!c[2])return Ye(a,c[1]);if(!c[3])return delete a.ha[c[1]],!0;b=Ue(a,c[3]);return void 0!==b?(a.ha[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
|
||||
function Cf(a,b,c){var d=null;if(b=gf(a,b,!0)){a.$(b);var f=zf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+r(e,4,!0)),e=f[0]+" ("+X(a,f[1])+")"+g,c&&a.f(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+r(e,4,!0)),e=f[4]+" ("+X(a,f[5])+")"+g,c&&a.f(e),d||(d=e))}else c&&a.f("no symbols")}return d}
|
||||
function nf(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}e=Ue(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.g[6]=e&65535;break;case "PC":case "R7":d.g[7]=e&65535;a.R=Y(d.g[7]);break;case "N":d.V=e?32768:0;
|
||||
break;case "Z":d.X=e?0:1;break;case "V":d.T=e?32768:0;break;case "C":d.S=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}K(d);a.f("updated registers:")}a.f(yf(a));c&&(a.R=Y(d.g[7]),of(a,X(a,a.R.w)))}}function Df(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):Ue(a,b,!0)}
|
||||
function Ef(a,b,c){var d="t"!=b;c=We(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return pb(a,!0)&&a.Ab(f,d,!1)},function(){K(a.b);pb(a,!1)})}
|
||||
function Cf(a,b,c){var d=null;if(b=gf(a,b,!0)){a.aa(b);var f=zf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+r(e,4,!0)),e=f[0]+" ("+X(a,f[1])+")"+g,c&&a.f(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+r(e,4,!0)),e=f[4]+" ("+X(a,f[5])+")"+g,c&&a.f(e),d||(d=e))}else c&&a.f("no symbols")}return d}
|
||||
function nf(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}e=Ue(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.g[6]=e&65535;break;case "PC":case "R7":d.g[7]=e&65535;a.R=Y(d.g[7]);break;case "N":d.W=e?32768:0;
|
||||
break;case "Z":d.Y=e?0:1;break;case "V":d.T=e?32768:0;break;case "C":d.S=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.g[b]=e&65535;break}a.f("unknown register: "+f);return}K(d);a.f("updated registers:")}a.f(yf(a));c&&(a.R=Y(d.g[7]),of(a,X(a,a.R.w)))}}function Df(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.f(c[2]):Ue(a,b,!0)}
|
||||
function Ef(a,b,c){var d="t"!=b;c=We(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Ab(f,d,!1)},function(){K(a.b);db(a,!1)})}
|
||||
function of(a,b,c,d){if(b=gf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=gf(a,c,!0);if(!d||d.w<b.w)return;f=d.w-b.w;if(256<f){a.f("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=qb(a,!1)||a.fa?a.J:null;var g=null!=e?"cycles":null,h=zf(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(g=h[3],e=null);e=uf(a,b,g,e);a.f(e);a.R=b;f-=b.w-k;c++}}}
|
||||
function tf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.ca&&(a.f("ended assemble at "+X(a,a.ba.w)),a.R=a.ba,a.ca=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.xa=null;if(rb(a)&&0<b.length){a.ca&&(b="a "+X(a,a.ba.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=gf(a,e[1],!0);
|
||||
if(n)if(a.ba=n,void 0===e[2])a.f("begin assemble at "+X(a,n.w)),a.ca=!0,K(a.b);else{var p;a.f("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.Ub(n,p[q],1);a.f(uf(a,a.ba))}}break;case "b":a:{var z=e[0],x=e[1],A=b;if("?"==x)a.f("breakpoint commands:"),a.f("\tbp [a]\tset exec breakpoint at addr [a]"),a.f("\tbr [a]\tset read breakpoint at addr [a]"),a.f("\tbw [a]\tset write breakpoint at addr [a]"),a.f("\tbc [a]\tclear breakpoint at addr [a]"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [n]\tbreak after [n] instruction(s)");
|
||||
else{var ta=z.charAt(1);if("l"==ta){var Bc;Bc=0+sf(a,a.j);Bc+=sf(a,a.U);(Bc+=sf(a,a.D))||a.f("no breakpoints")}else if("n"==ta)a.wa=We(a,x),a.f("break after "+a.wa+" instruction(s)");else if(void 0===x)a.f("missing breakpoint address");else{var P=Y();if("*"!=x&&(P=gf(a,x,!0),!P))break a;"c"==ta?null==P.w?($e(a),a.f("all breakpoints cleared")):qf(a,a.j,P)||qf(a,a.U,P)||qf(a,a.D,P)||a.f("breakpoint missing: "+X(a,P.w)):null!=P.w&&(lf(a,P,A),"p"==ta?a.jb(a.j,P):"r"==ta?a.jb(a.U,P):"w"==ta?a.jb(a.D,P):
|
||||
a.f("unknown breakpoint command: "+ta))}}}break;case "c":a.kb&&(a.kb.value="");break;case "d":a:{var Ea,Fa=e[0],ca=e[1],ua=e[2],Xf=e[3];if("?"==ca){var Ga="";for(Ea in E)a.Ia[Ea]&&(Ga&&(Ga+=","),Ga+=Ea);Ga+=",state,symbols";a.f("dump memory commands:");a.f("\tdb [a] [#] dump # bytes at address a");a.f("\tdw [a] [#] dump # words at address a");a.f("\tdd [a] [#] dump # dwords at address a");a.f("\tdh [#] [#] dump # instructions from history");Ga.length&&a.f("dump extension commands:\n\t"+
|
||||
Ga)}else if("state"==ca){var Vd=Ff(a.i,!0);"console"==ua?console.log(Vd):(a.kb&&(a.kb.value=""),a.f(Vd))}else if("symbols"==ca)for(var Cc=0;Cc<a.G.length;Cc++){var Dc=a.G[Cc],Ha;for(Ha in Dc.Ja)if("."!=Ha.charAt(0)){var Wd=Dc.Ja[Ha].o;if(void 0!==Wd){var Xd=Dc.Ja[Ha].l;Xd&&(Ha=Xd);a.f(X(a,Wd)+" "+Ha)}}}else{if("d"==Fa){for(Ea in E)if(e[1]==Ea){var Yd=a.Ia[Ea];Yd?(e.shift(),e.shift(),Yd(e)):a.f("no dump registered for "+ca);break a}ca||(Fa=a.Pc||"db")}else a.Pc=Fa;if("dh"==Fa){var Zd=ca,$d=ua,ae="",
|
||||
be=0,Z=a.ra,da=a.O;if(da.length){var T=+Zd||a.Ib,db=+$d||10;isNaN(T)?T=db:ae="more ";T>da.length&&(a.f("note: only "+da.length+" available"),T=da.length);Z-=T;0>Z&&(null==da[da.length-1].w?(T=Z+T,Z=0):Z+=da.length);var Ec=[];"call"==$d&&(db=1E5,Ec=["CALL"]);for(void 0!==Zd&&a.f(T+" instructions earlier:");0<db&&Z!=a.ra;){var ce=da[Z++];if(null==ce.w)break;var eb=Y(ce.w),Yf=T--,de=uf(a,eb,"history",Yf);(!Ec.length||0<=de.indexOf(Ec[0]))&&a.f(de);eb.gc&&(Z+=eb.gc,db-=eb.gc,T-=eb.gc);Z>=da.length&&(Z=
|
||||
0);a.Ib=T;be++;db--}}be||(a.f("no "+ae+"history available"),a.Ib=void 0)}else{var Lb=gf(a,ca);if(Lb){var Mb=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Xf),Mb=We(a,ua)>>>0,65536<Mb&&(Mb=65536));for(var fb="",Ia="dd"==Fa?4:"dw"==Fa?2:1,Nb=Ia*Mb||128,Zf=Nb+15>>4||1;Zf--&&0<Nb;){var gb=0,Fc=0,hb,Gc="",ee="",ca=X(a,Lb.w);for(hb=4==Ia?16:a.da;0<hb&&0<Nb;hb--){var Ob=a.rb(Lb,1),gb=gb|Ob<<(Fc++<<3);Fc==Ia&&(Gc+=8==a.da?ba(gb,3*Ia):r(gb,2*Ia),Gc+=1==Ia?9==hb?"-":" ":" ",gb=Fc=0);ee+=32<=Ob&&128>Ob?String.fromCharCode(Ob):
|
||||
".";Nb--}fb&&(fb+="\n");fb+=ca+" "+Gc+(0==hb?" "+ee:"")}fb&&a.f(fb);a.Eb=Lb}}}}break;case "e":if("else"==e[0])break;var Pb=1,fe=255,ge=a.rb,he=a.Ub;"ew"==e[0]&&(Pb=2,fe=65535,ge=a.Fa,he=a.zb);var ie=Pb<<1,je=e[1];if(null==je)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Qb=gf(a,je);if(Qb)for(var Rb=2;Rb<e.length;Rb++){var ib=Ue(a,e[Rb]);if(void 0===ib){a.f("unrecognized value: "+e[Rb]);break}ib&~fe&&a.f("warning: "+
|
||||
r(ib)+" exceeds "+Pb+"-byte value");var $f=ge.call(a,Qb);a.f("changing "+X(a,Qb.w)+" from "+r($f,ie,!0)+" to "+r(ib,ie,!0));he.call(a,Qb,ib,Pb)}}break;case "g":a:{var ke=e[1],ag=b;if(void 0!==ke){var Hc=gf(a,ke,!0);if(!Hc)break a;lf(a,Hc,ag);a.jb(a.j,Hc,!0)}a.ob(!0)||c||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Ic;if(a.u.ja)Ic="halting",a.ma();else{if(qb(a,!0))break a;Ic="already halted"}c||a.f(Ic)}break;case "i":if("if"==e[0]){var Jc;var jb=b.substr(2),jb=na(jb);Ue(a,
|
||||
jb)?(c||a.f("true: "+jb),Jc=!0):(c||a.f("false: "+jb),Jc=!1);Jc||(d=!1)}break;case "k":var bg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Kc=0,le=Y(),kb=Y(a.b.g[6]);for(a.f("stack trace for "+X(a,kb.w));10>Kc;){for(var va=null,cg=256;65536>kb.w>>>0;){le.w=a.Fa(kb,2);if(null==kb.w||!cg--)break;for(var dg=a,Sb=le,me=null,lb=Sb.w,ne=lb,Lc=1;6>=Lc&&lb;Lc++){if(2<Lc){Sb.w=lb;var Tb=uf(dg,Sb);if(0<=Tb.indexOf("JSR")){var oe=
|
||||
Tb.indexOf(" ");if(lb+(Tb.indexOf(" ",oe+1)-oe-1)/2==ne){me=Tb;break}}}lb--}Sb.w=ne;if(va=me)break}if(!va||null==va)break;var pe=null;if("ks"==bg){var qe=va.match(/[0-9A-F]+$/);qe&&(pe=Cf(a,qe[0]))}va=ma(va,50)+" ;"+(pe||"stack="+X(a,kb.w));a.f(va);Kc++}Kc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&Cf(a,e[1],!0);break;case "m":a:{var ea,fa=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var qa=0;if("all"==B)qa=1878917119,B=null;else if("on"==B)fa=!0,B=null;else if("off"==B)fa=!1,
|
||||
B=null;else{"keys"==B&&(B="key");"kbd"==B&&(B="keyboard");for(ea in E)if(B==ea){qa=E[ea];fa=!!(a.ia&qa);break}if(!qa){a.f("unknown message category: "+B);break a}}if(qa)if("on"==e[2])a.ia|=qa,fa=!0;else if("off"==e[2]&&(a.ia&=~qa,fa=!1,1073741824==qa)){for(var Mc=0;Mc<a.Ca.length;Mc++)a.f(a.Ca[Mc]);a.Ca=[]}}var eg=0,mb="";for(ea in E)if(!B||B==ea){var fg=!!(a.ia&E[ea]);if(null===fa||fa==fg)mb&&(mb+=","),++eg%10||(mb+="\n\t"),"key"==ea&&(ea="keys"),mb+=ea}void 0===B&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.f((null!==fa?fa?"messages on: ":"messages off: ":"message categories:\n\t")+(mb||"none"));af(a)}break;case "p":if("print"==e[0]){Df(a,b.substr(5));break}var gg="pr"==e[0]?1:0;if(a.fa)a.f("step in progress");else{var re=Y(a.b.g[7]);a.rb(re);a.fa?(a.jb(a.j,re,!0),a.ob()||(a.i&&a.i.Wb(),a.fa=0)):Ef(a,gg?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}nf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var nb=+e[2];if(8==nb||10==nb||16==nb)a.da=nb;else{a.f("invalid base: "+nb);
|
||||
break}}a.f("default base: "+a.da);break;case "cs":var ob;void 0!==e[3]&&(ob=+e[3]);switch(e[2]){case "int":a.b.tb=ob;break;case "start":a.b.Nb=ob;break;case "stop":a.b.ub=ob;break;default:a.f("unknown cs option");break a}void 0!==ob&&Pc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Uc(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.mb.toFixed(2)+"Mhz")+" ("+a.b.$a+"x)");break;case "?":a.f("debugger options:");
|
||||
else{var ta=z.charAt(1);if("l"==ta){var Bc;Bc=0+sf(a,a.j);Bc+=sf(a,a.V);(Bc+=sf(a,a.D))||a.f("no breakpoints")}else if("n"==ta)a.wa=We(a,x),a.f("break after "+a.wa+" instruction(s)");else if(void 0===x)a.f("missing breakpoint address");else{var P=Y();if("*"!=x&&(P=gf(a,x,!0),!P))break a;"c"==ta?null==P.w?($e(a),a.f("all breakpoints cleared")):qf(a,a.j,P)||qf(a,a.V,P)||qf(a,a.D,P)||a.f("breakpoint missing: "+X(a,P.w)):null!=P.w&&(lf(a,P,A),"p"==ta?a.jb(a.j,P):"r"==ta?a.jb(a.V,P):"w"==ta?a.jb(a.D,P):
|
||||
a.f("unknown breakpoint command: "+ta))}}}break;case "c":a.kb&&(a.kb.value="");break;case "d":a:{var Ea,Fa=e[0],ca=e[1],ua=e[2],Xf=e[3];if("?"==ca){var Ga="";for(Ea in E)a.Ja[Ea]&&(Ga&&(Ga+=","),Ga+=Ea);Ga+=",state,symbols";a.f("dump memory commands:");a.f("\tdb [a] [#] dump # bytes at address a");a.f("\tdw [a] [#] dump # words at address a");a.f("\tdd [a] [#] dump # dwords at address a");a.f("\tdh [#] [#] dump # instructions from history");Ga.length&&a.f("dump extension commands:\n\t"+
|
||||
Ga)}else if("state"==ca){var Vd=Ff(a.i,!0);"console"==ua?console.log(Vd):(a.kb&&(a.kb.value=""),a.f(Vd))}else if("symbols"==ca)for(var Cc=0;Cc<a.G.length;Cc++){var Dc=a.G[Cc],Ha;for(Ha in Dc.Ka)if("."!=Ha.charAt(0)){var Wd=Dc.Ka[Ha].o;if(void 0!==Wd){var Xd=Dc.Ka[Ha].l;Xd&&(Ha=Xd);a.f(X(a,Wd)+" "+Ha)}}}else{if("d"==Fa){for(Ea in E)if(e[1]==Ea){var Yd=a.Ja[Ea];Yd?(e.shift(),e.shift(),Yd(e)):a.f("no dump registered for "+ca);break a}ca||(Fa=a.Pc||"db")}else a.Pc=Fa;if("dh"==Fa){var Zd=ca,$d=ua,ae="",
|
||||
be=0,Z=a.ra,da=a.O;if(da.length){var U=+Zd||a.Ib,eb=+$d||10;isNaN(U)?U=eb:ae="more ";U>da.length&&(a.f("note: only "+da.length+" available"),U=da.length);Z-=U;0>Z&&(null==da[da.length-1].w?(U=Z+U,Z=0):Z+=da.length);var Ec=[];"call"==$d&&(eb=1E5,Ec=["CALL"]);for(void 0!==Zd&&a.f(U+" instructions earlier:");0<eb&&Z!=a.ra;){var ce=da[Z++];if(null==ce.w)break;var fb=Y(ce.w),Yf=U--,de=uf(a,fb,"history",Yf);(!Ec.length||0<=de.indexOf(Ec[0]))&&a.f(de);fb.gc&&(Z+=fb.gc,eb-=fb.gc,U-=fb.gc);Z>=da.length&&(Z=
|
||||
0);a.Ib=U;be++;eb--}}be||(a.f("no "+ae+"history available"),a.Ib=void 0)}else{var Mb=gf(a,ca);if(Mb){var Nb=0;ua&&("l"==ua.charAt(0)&&(ua=ua.substr(1)||Xf),Nb=We(a,ua)>>>0,65536<Nb&&(Nb=65536));for(var gb="",Ia="dd"==Fa?4:"dw"==Fa?2:1,Ob=Ia*Nb||128,Zf=Ob+15>>4||1;Zf--&&0<Ob;){var hb=0,Fc=0,ib,Gc="",ee="",ca=X(a,Mb.w);for(ib=4==Ia?16:a.da;0<ib&&0<Ob;ib--){var Pb=a.rb(Mb,1),hb=hb|Pb<<(Fc++<<3);Fc==Ia&&(Gc+=8==a.da?ba(hb,3*Ia):r(hb,2*Ia),Gc+=1==Ia?9==ib?"-":" ":" ",hb=Fc=0);ee+=32<=Pb&&128>Pb?String.fromCharCode(Pb):
|
||||
".";Ob--}gb&&(gb+="\n");gb+=ca+" "+Gc+(0==ib?" "+ee:"")}gb&&a.f(gb);a.Eb=Mb}}}}break;case "e":if("else"==e[0])break;var Qb=1,fe=255,ge=a.rb,he=a.Ub;"ew"==e[0]&&(Qb=2,fe=65535,ge=a.Ga,he=a.zb);var ie=Qb<<1,je=e[1];if(null==je)a.f("edit memory commands:"),a.f("\teb [a] [...] edit bytes at address a"),a.f("\tew [a] [...] edit words at address a");else{var Rb=gf(a,je);if(Rb)for(var Sb=2;Sb<e.length;Sb++){var jb=Ue(a,e[Sb]);if(void 0===jb){a.f("unrecognized value: "+e[Sb]);break}jb&~fe&&a.f("warning: "+
|
||||
r(jb)+" exceeds "+Qb+"-byte value");var $f=ge.call(a,Rb);a.f("changing "+X(a,Rb.w)+" from "+r($f,ie,!0)+" to "+r(jb,ie,!0));he.call(a,Rb,jb,Qb)}}break;case "g":a:{var ke=e[1],ag=b;if(void 0!==ke){var Hc=gf(a,ke,!0);if(!Hc)break a;lf(a,Hc,ag);a.jb(a.j,Hc,!0)}a.ob(!0)||c||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Ic;if(a.u.ja)Ic="halting",a.ma();else{if(qb(a,!0))break a;Ic="already halted"}c||a.f(Ic)}break;case "i":if("if"==e[0]){var Jc;var kb=b.substr(2),kb=na(kb);Ue(a,
|
||||
kb)?(c||a.f("true: "+kb),Jc=!0):(c||a.f("false: "+kb),Jc=!1);Jc||(d=!1)}break;case "k":var bg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Kc=0,le=Y(),lb=Y(a.b.g[6]);for(a.f("stack trace for "+X(a,lb.w));10>Kc;){for(var va=null,cg=256;65536>lb.w>>>0;){le.w=a.Ga(lb,2);if(null==lb.w||!cg--)break;for(var dg=a,Tb=le,me=null,mb=Tb.w,ne=mb,Lc=1;6>=Lc&&mb;Lc++){if(2<Lc){Tb.w=mb;var Ub=uf(dg,Tb);if(0<=Ub.indexOf("JSR")){var oe=
|
||||
Ub.indexOf(" ");if(mb+(Ub.indexOf(" ",oe+1)-oe-1)/2==ne){me=Ub;break}}}mb--}Tb.w=ne;if(va=me)break}if(!va||null==va)break;var pe=null;if("ks"==bg){var qe=va.match(/[0-9A-F]+$/);qe&&(pe=Cf(a,qe[0]))}va=ma(va,50)+" ;"+(pe||"stack="+X(a,lb.w));a.f(va);Kc++}Kc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&Cf(a,e[1],!0);break;case "m":a:{var ea,fa=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var qa=0;if("all"==B)qa=1878917119,B=null;else if("on"==B)fa=!0,B=null;else if("off"==B)fa=!1,
|
||||
B=null;else{"keys"==B&&(B="key");"kbd"==B&&(B="keyboard");for(ea in E)if(B==ea){qa=E[ea];fa=!!(a.ia&qa);break}if(!qa){a.f("unknown message category: "+B);break a}}if(qa)if("on"==e[2])a.ia|=qa,fa=!0;else if("off"==e[2]&&(a.ia&=~qa,fa=!1,1073741824==qa)){for(var Mc=0;Mc<a.Da.length;Mc++)a.f(a.Da[Mc]);a.Da=[]}}var eg=0,nb="";for(ea in E)if(!B||B==ea){var fg=!!(a.ia&E[ea]);if(null===fa||fa==fg)nb&&(nb+=","),++eg%10||(nb+="\n\t"),"key"==ea&&(ea="keys"),nb+=ea}void 0===B&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.f((null!==fa?fa?"messages on: ":"messages off: ":"message categories:\n\t")+(nb||"none"));af(a)}break;case "p":if("print"==e[0]){Df(a,b.substr(5));break}var gg="pr"==e[0]?1:0;if(a.fa)a.f("step in progress");else{var re=Y(a.b.g[7]);a.rb(re);a.fa?(a.jb(a.j,re,!0),a.ob()||(a.i&&a.i.Wb(),a.fa=0)):Ef(a,gg?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}nf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var ob=+e[2];if(8==ob||10==ob||16==ob)a.da=ob;else{a.f("invalid base: "+ob);
|
||||
break}}a.f("default base: "+a.da);break;case "cs":var pb;void 0!==e[3]&&(pb=+e[3]);switch(e[2]){case "int":a.b.tb=pb;break;case "start":a.b.Nb=pb;break;case "stop":a.b.ub=pb;break;default:a.f("unknown cs option");break a}void 0!==pb&&Pc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Uc(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.mb.toFixed(2)+"Mhz")+" ("+a.b.$a+"x)");break;case "?":a.f("debugger options:");
|
||||
a.f("\tbase #\t\tset default base to #");a.f("\tcs int #\tset checksum cycle interval to #");a.f("\tcs start #\tset checksum cycle start count to #");a.f("\tcs stop #\tset checksum cycle stop count to #");a.f("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.f("unknown option: "+e[1])}break;case "t":Ef(a,e[0],e[1]);break;case "u":of(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Bf(a,b.substr(3))||(d=!1);break}a.f("PDP11js version 1.30.0 ("+a.b.Vc+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+
|
||||
")");a.f(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Df(a,b.substr(1));break}var Nc="commands:",Oc;for(Oc in cf)Nc+="\n"+ma(Oc,9)+cf[Oc];od(a)||(Nc+="\nnote: history disabled if no exec breakpoints");a.f(Nc);break;default:a.f("unknown command: "+b),d=!1}}}catch(se){a.f("debugger error: "+(se.stack||se.message)),d=!1}return d}function Qc(a,b,c){b=Se(a,b,c);for(var d in b)if(!tf(a,b[+d]))return!1;return!0}
|
||||
Oa(function(){for(var a=C(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Ze(d);bb(d,c)}});
|
||||
function Gf(a,b,c){u.call(this,"Computer",a,Gf,67108864);this.u.ga=!1;Hf(this,b);this.U=zc(this,"autoPower",a);this.A=0;this.fa=a.busWidth||a.buswidth;this.i=If;this.O=null;this.G=this.ca=!1;this.url=zc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Jf(this);if(this.b=ab("CPU",this.id)){this.C=ab("Debugger",this.id);this.F=new wb({id:this.rc+".bus",busWidth:this.fa},this.b,this.C);var d,f=$a(this.id);if((this.B=ab("Panel",this.id))&&this.B.kb)for(b=0;b<f.length;b++)d=f[b],d.oa=this.B.oa,d.f=
|
||||
this.B.f,d.kb=this.B.kb;this.f("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Xa&&d.Xa(this,this.F,this.b,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.i=parseInt(d,10));var e;if(a=zc(this,"state")||(e=!0,a.state))b=this.Y=a,e||(this.G=!0,this.i=If),this.i&&
|
||||
(this.R=new L(this,"1.30.0"),Kf(this.R)?b=null:delete this.R);!b&&this.i&&(b=Lf(this))&&(this.G=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.J=null,g.G=!1,g.oa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.O=b,g.ca=!0);D(g)})}else D(this);this.I.power||(this.U=!0);!c&&this.U&&Mf(this,this.Ob)}else t("Unable to find CPU component")}w(Gf);var If=0;
|
||||
function Gf(a,b,c){u.call(this,"Computer",a,Gf,67108864);this.u.ga=!1;Hf(this,b);this.V=zc(this,"autoPower",a);this.A=0;this.fa=a.busWidth||a.buswidth;this.i=If;this.O=null;this.G=this.ca=!1;this.url=zc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Jf(this);if(this.b=ab("CPU",this.id)){this.C=ab("Debugger",this.id);this.F=new wb({id:this.rc+".bus",busWidth:this.fa},this.b,this.C);var d,f=$a(this.id);if((this.B=ab("Panel",this.id))&&this.B.kb)for(b=0;b<f.length;b++)d=f[b],d.oa=this.B.oa,d.f=
|
||||
this.B.f,d.kb=this.B.kb;this.f("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.f("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Xa&&d.Xa(this,this.F,this.b,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.i=parseInt(d,10));var e;if(a=zc(this,"state")||(e=!0,a.state))b=this.Z=a,e||(this.G=!0,this.i=If),this.i&&
|
||||
(this.R=new L(this,"1.30.0"),Kf(this.R)?b=null:delete this.R);!b&&this.i&&(b=Lf(this))&&(this.G=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.J=null,g.G=!1,g.oa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.O=b,g.ca=!0);D(g)})}else D(this);this.I.power||(this.V=!0);!c&&this.V&&Mf(this,this.Ob)}else t("Unable to find CPU component")}w(Gf);var If=0;
|
||||
function Hf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.da=b}function zc(a,b,c){var d=b.toLowerCase(),d=Ta[b]||Ta[d];void 0===d&&a.da&&(d=a.da[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Mf(a,b,c){for(var d=$a(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!rb(e)){rb(e,function(){Mf(a,b,c)});return}}b.call(a,c)}
|
||||
function Nf(a,b){var c=new L(a,"1.30.0","validate");if(Kf(c)&&Of(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.oa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Gf.prototype;
|
||||
l.Ob=function(a){void 0===a&&(a=this.i||(this.O?1:If));if(!this.A){this.A++;var b=!1,c=!1;this.ba=!1;var d=this.R||new L(this,"1.30.0");if(-1==a)b=!0;else if(a>If){if(Kf(d,this.O)){this.D=new L(this,"1.30.0","failsafe");Kf(this.D)&&(Pf(this,d),a=2,Qf(this.D));this.D.set("timestamp",ra());Rf(this.D);var f=this.i&&!this.G;if(1==a||wa("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Of(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Kf(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.oa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Qf(d),Kf(d)?(c=Of(d),f=!0):c=!1))}f&&Nf(this,c?d:null)}else 2==a&&d.clear()}else Nf(this);delete this.O;delete this.R}f=$a(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=Sf(this,g,d,b,c));b=[d,a,c];-1!=a?Mf(this,this.xc,b):this.xc(b)}};
|
||||
function Sf(a,b,c,d,f){if(!b.u.ga){b.u.ga=!0;if(b.Na){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Na(e,d)&&e&&(t("Unable to restore state for "+b.type),a.Y&&!a.ca?(c.clear(),a.i=If,window&&window.location.reload()):a.ba=!0,b.Na(null),f=!1)}if(!d&&b.sc)for(a=b.sc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
function Sf(a,b,c,d,f){if(!b.u.ga){b.u.ga=!0;if(b.Oa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Oa(e,d)&&e&&(t("Unable to restore state for "+b.type),a.Z&&!a.ca?(c.clear(),a.i=If,window&&window.location.reload()):a.ba=!0,b.Oa(null),f=!1)}if(!d&&b.sc)for(a=b.sc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.xc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ha=!0;this.u.ga=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Sf(this,this.b,b,c,a),this.b.Hb());this.ba&&(Pf(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0};
|
||||
function Pf(a,b){if(wa("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;sa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Ff(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new L(a,"1.30.0"),g=new L(a,"1.30.0","validate"),h=ra();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ma&&(c&&a.b.ma(),d=a.b.Ma(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ga=!1,!1===d&&(f=null)));for(var h=$a(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ga&&(m.Ma&&(d=m.Ma(b,c),"object"===typeof d&&e.set(m.id,
|
||||
function Ff(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new L(a,"1.30.0"),g=new L(a,"1.30.0","validate"),h=ra();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Na&&(c&&a.b.ma(),d=a.b.Na(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ga=!1,!1===d&&(f=null)));for(var h=$a(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ga&&(m.Na&&(d=m.Na(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.u.ga=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&Tf(a,a.j,e.toString()),Rf(g)&&Rf(e)||(f=null,d=h=!0)):a.i&&(d=!0,h=3==a.i),d&&e.clear(h)):f=e.toString());c&&(a.u.ga=!1,b=a.I.power)&&(b.textContent="Power");a.A=0;return f}
|
||||
l.reset=function(){this.F&&this.F.reset&&(this.C&&cb(this,0)&&this.C.message("Resetting "+this.F.type,void 0),this.F.reset());for(var a=$a(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.F&&c.reset&&(this.C&&cb(this,0)&&this.C.message("Resetting "+c.type,void 0),c.reset())}};l.start=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
l.stop=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
l.ta=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.u.ga?Ff(d,!1,!0):Mf(d,d.Ob))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.u.ga&&!d.A)if(d.i&&!d.J){var a=wa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ff(d,a,!0);!a&&d.Y?window&&window.location.reload():d.Ob(If)}else d.reset(),d.b&&d.b.Hb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.I[b]=
|
||||
c,c.onclick=function(){var a=Jf(d,!0);if(a){var b=!!(d.i&&!d.J||d.Y),c=Ff(d,b);b?Tf(d,a,c):d.oa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
l.ta=function(a,b,c){var d=this;switch(b){case "power":return this.I[b]=c,c.onclick=function(){d.A||(d.u.ga?Ff(d,!1,!0):Mf(d,d.Ob))},!0;case "reset":return this.I[b]=c,c.onclick=function(){if(d.u.ga&&!d.A)if(d.i&&!d.J){var a=wa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ff(d,a,!0);!a&&d.Z?window&&window.location.reload():d.Ob(If)}else d.reset(),d.b&&d.b.Hb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.I[b]=
|
||||
c,c.onclick=function(){var a=Jf(d,!0);if(a){var b=!!(d.i&&!d.J||d.Z),c=Ff(d,b);b?Tf(d,a,c):d.oa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Jf(a,b){var c=a.j;c||((c=za("user"),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=Uf(a,c))||a.oa("The user ID is invalid.")):b&&a.oa("Browser local storage is not available"));return c}
|
||||
function Uf(a,b){a.j=null;b=sa(ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.j=b.data)}catch(d){t(d.message+" ("+c+")")}return a.j}function Lf(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+Vf(a,"1.30.0"));return b}
|
||||
function Tf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Vf(a,"1.30.0");d.data=c;b=sa(ja()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.oa("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.oa(c),Aa("user",""),a.j=null)}}l.Wb=function(){};
|
||||
l.ya=function(a){this.b&&this.b.ya(a);this.B&&this.B.ya(a)};Oa(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=y(e),g=new Gf(g,d,!0);bb(g,e);g.U&&Mf(g,g.Ob)}});Ja.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=ab("Computer",c.id))&&c.ha&&!c.u.ga&&c.Ob(-1)}});
|
||||
l.za=function(a){this.b&&this.b.za(a);this.B&&this.B.za(a)};Oa(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=y(e),g=new Gf(g,d,!0);bb(g,e);g.V&&Mf(g,g.Ob)}});Ja.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=ab("Computer",c.id))&&c.ha&&!c.u.ga&&c.Ob(-1)}});
|
||||
Ja.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=ab("Computer",c.id))&&c.u.ga&&Ff(c,!(!c.i||c.J),!0)}});function L(a,b,c){this.id=a.id;this.key=Vf(a,b,c);this.C=a.C;Qf(this,a.Oc)}function Vf(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}
|
||||
L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Qf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}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(f){}b.splice(c,
|
||||
1);c=0}}};function Qf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Rf(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Of(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Kf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.b=!0):!1}var Wf=0;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f
|
|||
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function ba(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
||||
function ca(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 da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ea(){var a=fa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}var ia=Date.now||function(){return+new Date};
|
||||
function ja(){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 q(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||
function p(a,b,c,d){var f=0,e=null,g=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function r(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){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}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(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)?!0:!1}return!1}var t={init:[],show:[],exit:[]},qa=!1,ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
|
||||
|
|
@ -12,134 +12,135 @@ function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=
|
|||
if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||
function x(a,b){b||(b=v);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},w=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function Fa(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
||||
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.ba(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.ca(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ba:function(a,b,c){switch(b){case "clear":return this.u[b]||(this.u[b]=c,c.onclick=function(a){return function(){a.u.print&&(a.u.print.value="")}}(this)),!0;case "print":return this.u[b]||(this.Cb=this.u[b]=c,c.value="",this.N=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.L=function(a){this.N(a,this.xb)}),!0;default:return!1}},log:function(){},N:function(){},status:function(a){this.N(this.xb+": "+a)},L:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},va:function(){return this.g.M=!0},ua:function(a,b){b&&(this.g.M=!1);return!0}};function Ga(a,b){if(a.g.Bb)return a.g.ab&&(a.g.ab=!1),a.g.Bb=!1;if(a.g.error)return a.N(a.toString()+" error"),!1;a.g.ab=b;return a.g.ab}function D(a){if(!a.g.error&&(a.g.ready=!0,a.g.ready)){var b=a.ob;a.ob=null;b&&b()}}
|
||||
function Ha(a,b){b&&(a.g.ready?b():a.ob=b);return a.g.ready}var Ia="undefined"!==typeof ArrayBuffer;function Ja(a){v.call(this,"Panel",a,Ja)}x(Ja);l=Ja.prototype;l.ba=function(a,b,c,d){return this.l&&this.l.ba(a,b,c,d)||this.a&&this.a.ba(a,b,c,d)?!0:this.parent.ba.call(this,a,b,c,d)};l.Ka=function(a,b,c,d){this.l=a;this.w=b;this.a=c;this.I=d};l.va=function(a,b){b||Ka();return!0};l.ua=function(){return!0};l.Na=function(){};
|
||||
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ca:function(a,b,c){switch(b){case "clear":return this.u[b]||(this.u[b]=c,c.onclick=function(a){return function(){a.u.print&&(a.u.print.value="")}}(this)),!0;case "print":return this.u[b]||(this.Cb=this.u[b]=c,c.value="",this.N=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.L=function(a){this.N(a,this.xb)}),!0;default:return!1}},log:function(){},N:function(){},status:function(a){this.N(this.xb+": "+a)},L:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},wa:function(){return this.g.M=!0},va:function(a,b){b&&(this.g.M=!1);return!0}};function Ga(a,b){if(a.g.Bb)return a.g.ab&&(a.g.ab=!1),a.g.Bb=!1;if(a.g.error)return a.N(a.toString()+" error"),!1;a.g.ab=b;return a.g.ab}function D(a){if(!a.g.error&&(a.g.ready=!0,a.g.ready)){var b=a.ob;a.ob=null;b&&b()}}
|
||||
function Ha(a,b){b&&(a.g.ready?b():a.ob=b);return a.g.ready}var Ia="undefined"!==typeof ArrayBuffer;function Ja(a){v.call(this,"Panel",a,Ja)}x(Ja);l=Ja.prototype;l.ca=function(a,b,c,d){return this.l&&this.l.ca(a,b,c,d)||this.a&&this.a.ca(a,b,c,d)?!0:this.parent.ca.call(this,a,b,c,d)};l.Ka=function(a,b,c,d){this.l=a;this.A=b;this.a=c;this.I=d};l.wa=function(a,b){b||Ka();return!0};l.va=function(){return!0};l.Na=function(){};
|
||||
function Ka(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<w.length;g++)if(w[g].id===e){e=w[g];break a}}e=null}e||(a=!0,e=new Ja(f));B(e,d);a&&D(e)}}u(Ka);
|
||||
function E(a,b,c){v.call(this,"Bus",a,E);this.a=b;this.I=c;this.G=a.busWidth||16;this.A=Math.pow(2,this.G);this.j=this.A-1|0;this.f=(this.G>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.h=1<<this.f;this.J=this.h>>2;this.i=this.h-1;this.l=this.A/this.h|0;this.K=this.l-1;this.ma=[];this.B=null;this.bb=this.R;a=new F;La(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=Ma;this.Ya[1]=Na;this.Ya[2]=Oa;this.Ya[3]=Pa;Qa(this,this.A-8192,8192,Ra,this);
|
||||
Qa(this,57344,8192,Ra,this);D(this)}x(E);function Ma(a,b){var c=this.controller,d=c.ma[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.ma[a&-2],d[2]))return d[2](b&-2)>>8;c.N("warning: unconverted read access to byte @"+ba(b));return c.bb(b,-1,1)}
|
||||
function Na(a,b,c){var d=this.controller,f=d.ma[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.ma[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.N("warning: unconverted write access to byte @"+ba(c));d.bb(c,b,1)}
|
||||
function Oa(a,b){var c=this.controller;if(a=c.ma[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.N("warning: unconverted read access to word @"+ba(b));return c.bb(b,-1,0)}function Pa(a,b,c){var d=this.controller;if(a=d.ma[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.N("warning: unconverted write access to word @"+ba(c));d.bb(c,b,0)}E.prototype.reset=function(){this.B&&this.B()};E.prototype.R=function(){return 0};
|
||||
E.prototype.va=function(a,b){b||this.reset();return!0};function Qa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.h,p=a.h-(e-m);p>g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.vb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.vb){p=k.size-(e-m);p>g&&(p=g);k.vb=e-k.Xa+p;e=m+a.h;g-=p;h++;continue}}return Sa(1,e,g)}e=new F(e,p,a.h,d,f);La(e,a.I,k);a.b[h++]=e;e=m+a.h;g-=p}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+n(b,8,!0)),!0):Sa(2,b,c)}
|
||||
function Ua(a,b){return a.b[(b&a.j)>>>a.f].eb(b&a.i,b)}function Va(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Fc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.K].Wa(0,c>>8&255,b+1))}function Wa(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.qa||f.fc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],p=g+1;p<f.length&&f[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Xa(a,b){var c=Ya,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,f=f[3]?f[3].bind(b):null,p=+d;p<=g;p+=2){var y=p&8191;void 0!==e.ma[y]?r("I/O address already registered: "+n(p,8,!0)):e.ma[y]=[h,k,m,f,!1]}}function Za(a,b,c){a.B=b;a.bb=c}function Sa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||
function G(a){v.call(this,"Device",a,G);this.f={Fb:[],ca:0,V:128,b:127,ec:0};this.h={data:0,Hc:0,Sa:20,Ac:0};this.b={o:0,Jb:-1};this.i={gb:2496,P:0,v:128,hb:0,fb:0,U:0,Vb:0,S:[],Ia:[406,406,406,406],D:[12,12,12,12]};this.j={o:129,$a:0,H:0,ta:0,na:0,za:0,S:[],D:[40,40,40,40],Ia:[1024,1024,512,512],cc:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],D:[22,22,22,50],Ha:[19,19,19,32],wb:[815,411,815,630],S:[],C:2176,Va:0,Ta:0,aa:[0,0,0,0,0,0,0,0],$:0,T:[4544,4544,4544,4544,4544,4544,4544,4544],Ua:[0,
|
||||
0,0,0,0,0,0,0],Ma:0,yc:[0,0,0,0,0,0,0,0],Wb:0,Xb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],zc:[1,2,3,4,5,6,7,8],Yb:[0,0,0,0,0,0,0,0],ha:[0,0,0,0,0,0,0,0],ub:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],xc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],ya:0,Hb:0}}x(G);
|
||||
function E(a,b,c){v.call(this,"Bus",a,E);this.a=b;this.I=c;this.G=a.busWidth||16;this.w=Math.pow(2,this.G);this.j=this.w-1|0;this.f=(this.G>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.h=1<<this.f;this.J=this.h>>2;this.i=this.h-1;this.l=this.w/this.h|0;this.K=this.l-1;this.na=[];this.B=null;this.bb=this.R;a=new F;La(a,this.I);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;this.Ya=Array(4);this.Ya[0]=Ma;this.Ya[1]=Na;this.Ya[2]=Oa;this.Ya[3]=Pa;Qa(this,this.w-8192,8192,Ra,this);
|
||||
Qa(this,57344,8192,Ra,this);D(this)}x(E);function Ma(a,b){var c=this.controller,d=c.na[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.na[a&-2],d[2]))return d[2](b&-2)>>8;c.N("warning: unconverted read access to byte @"+ba(b));return c.bb(b,-1,1)}
|
||||
function Na(a,b,c){var d=this.controller,f=d.na[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.na[a&-2],f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.N("warning: unconverted write access to byte @"+ba(c));d.bb(c,b,1)}
|
||||
function Oa(a,b){var c=this.controller;if(a=c.na[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.N("warning: unconverted read access to word @"+ba(b));return c.bb(b,-1,0)}function Pa(a,b,c){var d=this.controller;if(a=d.na[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.N("warning: unconverted write access to word @"+ba(c));d.bb(c,b,0)}E.prototype.reset=function(){this.B&&this.B()};E.prototype.R=function(){return 0};
|
||||
E.prototype.wa=function(a,b){b||this.reset();return!0};function Qa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.h,q=a.h-(e-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Xa)return k.vb+=k.Xa-e,k.Xa=e,!0;if(e>=k.Xa+k.vb){q=k.size-(e-m);q>g&&(q=g);k.vb=e-k.Xa+q;e=m+a.h;g-=q;h++;continue}}return Sa(1,e,g)}e=new F(e,q,a.h,d,f);La(e,a.I,k);a.b[h++]=e;e=m+a.h;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+n(b,8,!0)),!0):Sa(2,b,c)}
|
||||
function Ua(a,b){return a.b[(b&a.j)>>>a.f].eb(b&a.i,b)}function Va(a,b,c){var d=b&a.i,f=(b&a.j)>>>a.f;d!=a.i?a.b[f].Fc(d,c&65535,b):(a.b[f++].Wa(d,c&255,b),a.b[f&a.K].Wa(0,c>>8&255,b+1))}function Wa(a){for(var b=0,c=[],d=0;d<a.l;d++){var f=a.b[d];if(f.ra||f.fc){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;k[h++]=q-g;k[h++]=m;g=q}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Xa(a,b){var c=Ya,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,f=f[3]?f[3].bind(b):null,q=+d;q<=g;q+=2){var y=q&8191;void 0!==e.na[y]?r("I/O address already registered: "+n(q,8,!0)):e.na[y]=[h,k,m,f,!1]}}function Za(a,b,c){a.B=b;a.bb=c}function Sa(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||
function G(a){v.call(this,"Device",a,G);this.f={Fb:[],da:0,V:128,b:127,ec:0};this.h={data:0,Hc:0,Sa:20,Ac:0};this.b={o:0,Jb:-1};this.i={gb:2496,P:0,v:128,hb:0,fb:0,U:0,Vb:0,S:[],Ia:[406,406,406,406],F:[12,12,12,12]};this.j={o:129,$a:0,H:0,ua:0,oa:0,za:0,S:[],F:[40,40,40,40],Ia:[1024,1024,512,512],cc:[157,157,29,29]};this.l={a:[8210,8208,8210,8226],F:[22,22,22,50],Ha:[19,19,19,32],wb:[815,411,815,630],S:[],C:2176,Va:0,Ta:0,ba:[0,0,0,0,0,0,0,0],aa:0,T:[4544,4544,4544,4544,4544,4544,4544,4544],Ua:[0,
|
||||
0,0,0,0,0,0,0],Ma:0,yc:[0,0,0,0,0,0,0,0],Wb:0,Xb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],zc:[1,2,3,4,5,6,7,8],Yb:[0,0,0,0,0,0,0,0],ia:[0,0,0,0,0,0,0,0],ub:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],xc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],ya:0,Hb:0}}x(G);
|
||||
var $a=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=G.prototype;l.Ka=function(a,b,c,d){this.w=b;this.a=c;this.I=d;var f=this;this.b.Jb=ab(this.a,function(){f.b.sa|=128;f.b.sa&64&&(H(f.a,0,6,64),bb(f.a,f.b.Jb))});Xa(b,this);Za(b,this.reset.bind(this),this.bc.bind(this));D(this)};l.nc=function(){var a=this.b.sa;this.b.sa&=-129;return a};
|
||||
l.Cc=function(a){this.b.sa=a;a&64&&bb(this.a,this.b.Jb);this.b.sa=a&-129};l.oc=function(){var a=this.a;return a.A&62337|a.Oa<<5|a.Pa<<1};l.Dc=function(a){var b=4,c=this.a;c.A=a&=62337;c.Oa=a>>5&3;c.Pa=a>>1&15;c.pb=a&257?a&1?6:4:0;cb(c);a=c.A;a&1|256&&(b=this.a.Fa&16?1:2);this.h.Sa=this.h.Sa&-8|b};l.qc=function(){return this.f.V};l.Gc=function(a){if(128==(this.f.V&192)&&a&64){var b=this;H(this.a,8,4,52,function(){b.f.V|=128;return!!(b.f.V&64)})}this.f.V=this.f.V&128|a&-129};l.pc=function(){return db(this.a)};
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=G.prototype;l.Ka=function(a,b,c,d){this.A=b;this.a=c;this.I=d;var f=this;this.b.Jb=ab(this.a,function(){f.b.ta|=128;f.b.ta&64&&(H(f.a,0,6,64),bb(f.a,f.b.Jb))});Xa(b,this);Za(b,this.reset.bind(this),this.bc.bind(this));D(this)};l.nc=function(){var a=this.b.ta;this.b.ta&=-129;return a};
|
||||
l.Cc=function(a){this.b.ta=a;a&64&&bb(this.a,this.b.Jb);this.b.ta=a&-129};l.oc=function(){var a=this.a;return a.B&62337|a.Oa<<5|a.Pa<<1};l.Dc=function(a){var b=4,c=this.a;c.B=a&=62337;c.Oa=a>>5&3;c.Pa=a>>1&15;c.pb=a&257?a&1?6:4:0;cb(c);a=c.B;a&1|256&&(b=this.a.Fa&16?1:2);this.h.Sa=this.h.Sa&-8|b};l.qc=function(){return this.f.V};l.Gc=function(a){if(128==(this.f.V&192)&&a&64){var b=this;H(this.a,8,4,52,function(){b.f.V|=128;return!!(b.f.V&64)})}this.f.V=this.f.V&128|a&-129};l.pc=function(){return db(this.a)};
|
||||
l.Ec=function(a){eb(this.a,a&-1809|db(this.a)&1808);this.a.s|=128};
|
||||
function fb(a){var b=a.i,c,d,f,e=b.U>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.rc,drive:e,blocksize:256,mapped:0,maxblock:b.Ia[e]*b.D[e],url:"rk"+e+".dsk"});b.v&=-129;switch(b.v>>1&7){case 0:b.gb=2496;b.P=0;b.v=128;b.U=0;break;case 1:if((b.U>>4&511)>=b.Ia[e]){b.P|=32832;b.v|=49152;break}if((b.U&15)>=b.D[e]){b.P|=32800;b.v|=49152;break}c=(b.U>>4&511)*b.D[e]+(b.U&15);d=(b.v&48)<<12|b.fb;f=65536-b.hb&65535;gb(a,b.S[e],c,d,f);return;case 2:if((b.U>>4&511)>=b.Ia[e])b.P|=32832,
|
||||
b.v|=49152;else if((b.U&15)>=b.D[e])b.P|=32800,b.v|=49152;else{c=(b.U>>4&511)*b.D[e]+(b.U&15);d=(b.v&48)<<12|b.fb;f=65536-b.hb&65535;a.rb(b.S[e],c,d,f);return}}b.gb=e<<13|b.gb&8176|b.U%9&15;H(a.a,20,5,144,function(){b.v=b.v&65534|128;return!!(b.v&64)})}l.rc=function(a,b,c,d,f){var e=this.i;e.fb=d&65535;e.v=e.v&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.v|=49152;break;case 2:e.P|=33792,e.v|=49152}H(this.a,20,5,144,function(){e.v=e.v&65534|128;return!!(e.v&64)})};
|
||||
function hb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.sc,drive:e,blocksize:128,mapped:1,maxblock:b.Ia[e]*b.D[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.ta&8&&(b.o&=63);b.ta=b.cc[e]|b.za&64;break;case 3:1==(b.H&3)&&(b.za=b.H&4?b.za+(b.H&65408)&65408|b.H<<2&64:b.za-(b.H&65408)&65408|b.H<<2&64,b.H=b.za);break;case 4:b.ta=b.za;break;case 5:if(b.H>>6>=b.Ia[e]){b.o|=37888;break}if((b.H&63)>=b.D[e]){b.o|=37888;break}c=(b.H>>6)*b.D[e]+(b.H&63);
|
||||
d=(b.na&63)<<16|b.$a;f=65536-b.ta&65535;gb(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Ia[e])b.o|=37888;else if((b.H&63)>=b.D[e])b.o|=37888;else{c=(b.H>>6)*b.D[e]+(b.H&63);d=(b.na&63)<<16|b.$a;f=65536-b.ta&65535;a.rb(b.S[e],c,d,f);return}}H(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})}
|
||||
l.sc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.na=d>>16&63;e.H=~~(c/e.D[b.fa])<<6|c%e.D[b.fa];e.za=e.H;e.ta=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}H(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function ib(a){a=a.l;a.C=2176;a.$=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ua=[0,0,0,0,0,0,0,0];a.Ma=a.Va=a.Ta=a.ya=a.Hb=0}
|
||||
function jb(a,b){var c=a.l,d,f,e;c.C&=-16513;c.$&=-2049;c.T[b]&=-1153;H(a.a,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.tc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ha[0]*c.D[0],url:"rp"+b+".dsk"});switch(c.C&63){case 5:c.ub[b]=c.ha[b];c.C|=32896;c.T[b]|=32896;c.Ma|=1<<b;break;case 9:ib(a);break;case 19:c.T[b]|=64;break;case 49:if(c.ha[b]>=c.wb[0]||c.aa[b]>>8>=c.Ha[0]||(c.aa[b]&255)>=c.D[0]){c.Ua[b]|=1024;c.C|=49152;break}d=(c.ha[b]*c.Ha[0]+(c.aa[b]>>8))*c.D[0]+
|
||||
(c.aa[b]&255);f=(c.ya&63)<<16|c.Ta;e=65536-c.Va&65535;gb(a,c.S[b],d,f,e);return;case 57:if(c.ha[b]>=c.wb[0]||c.aa[b]>>8>=c.Ha[0]||(c.aa[b]&255)>=c.D[0])c.Ua[b]|=1024,c.C|=49152;else{d=(c.ha[b]*c.Ha[0]+(c.aa[b]>>8))*c.D[0]+(c.aa[b]&255);f=(c.ya&63)<<16|c.Ta;e=65536-c.Va&65535;a.rb(c.S[b],d,f,e);return}}H(a.a,3,5,172,function(){c.C=c.C&65534|128;c.T[b]|=128;return!!(c.C&64)})}
|
||||
l.tc=function(a,b,c,d,f){var e=this.l;e.Va=65536-f&65535;e.Ta=d&65535;e.C=e.C&-769|d>>8&768;e.ya=d>>16&63;f=~~(c/e.D[0]);d=~~(f/e.Ha[0]);e.aa[b.fa]=f%e.Ha[0]<<8|c%e.D[0];e.ub[b.fa]=e.ha[b.fa]=d;e.Ma|=1<<b.fa;c>=b.lc-1&&(e.T[b.fa]|=1024);switch(a){case 1:e.$|=512;e.C|=49152;break;case 2:e.$|=2048,e.C|=49152}H(this.a,20,5,172,function(){e.T[b.fa]|=128;e.C=e.C&65534|128;return!!(e.C&64)})};
|
||||
function kb(a,b,c,d,f,e){var g=~~((e+c.oa-1)/c.oa),h=new XMLHttpRequest;2048>g&&d+2048<c.lc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.oa<<1)+"-"+(((d+g)*c.oa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,p,y,L;m=h.response;if(h.status&&206!=h.status||!m)c.Eb(1,c,d,f,e);else{m=new Uint8Array(m);p=d;for(L=0;L<m.length;){if("undefined"===typeof c.cache[p])for(c.cache[p]=[],y=0;y<c.oa;y++)c.cache[p][y]=L<m.length?
|
||||
m[L]&255|m[L+1]<<8&65280:0,L+=2;else L+=c.oa<<1;p++}g(c,d,f,e)}}};h.send(null)}function I(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:J(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){kb(this,this.rb,a,b,c,d);return}for(f=0;f<a.oa&&0<d;f++){var e=a.kc?lb(this.a,c):c;Va(this.a.w,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Eb(0,a,b,c,d)};
|
||||
function gb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.oa;e++)b.cache[c][e]=0;for(e=0;e<b.oa&&0<f;e++){g=a.a.tb(b.kc?lb(a.a,d):d);if(0>g){b.Eb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Eb(0,b,c,d,f)}l.reset=function(){this.h.Sa=this.h.Sa&-120|20;this.f.ca=0;this.f.V=128;this.b.sa=0;this.i.v=128;this.j.o=128;ib(this)};
|
||||
l.bc=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.wa&65280:(a&1&&(b<<=8),e.wa=b|255,d=0);break;case 4194298:if(0>b)d=e.Gb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Gb=d;e.ga=2}break;case 4194294:if(70!==e.Ja)return J(e,4);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ja)return J(e,4);d=1;break;case 4194290:if(70!==e.Ja)return J(e,4);d=0;break;case 4194288:if(70!==e.Ja)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
|
||||
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ja)return J(e,4);f=a-4194272>>1;0>b?d=e.Db[f]:(d=I(this,e.Db[f],a,b,c),0<=d&&(e.Db[f]=d));break;case 4194254:return a&1?e.F>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.xa[3]=b),d=e.xa[3]):e.F>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.xa[1]=b),d=e.xa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.F&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.La[f]=b),d=e.La[f]),d;case 4194246:return a&
|
||||
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.F>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.xa[0]=b),d=e.xa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.F&2048?(0<=b&&(e.La[f]=b),d=e.La[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.f;switch(a&-2){case 4194174:d=I(this,e.jb,a,b,c);0<=d&&(e.jb=d);break;case 4194172:d=e.Ea;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
||||
case 4194168:0>b?d=this.h.Ac&65535:(d=I(this,this.h.data,a,b,c),0<=d&&(this.h.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.V&=-129,H(e,100,4,52,function(){g.V|=128;return!!(g.V&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ca&=-129,0<g.Fb.length&&(d=g.Fb.shift(),0<g.Fb.length&&setTimeout(function(){g.ca|=128;g.ca&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.ca:(d=I(this,g.ca,a,b,c),0<=d&&(g.ca=g.ca&128|d&-129));break;default:return e.m|=16,J(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=
|
||||
I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.v,a,b,c);0<=b&&0<=d&&(f.v=d&-36993|f.v&36992,f.v&1&&fb(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.U,a,b,c);0<=d&&(f.U=d);break;case 4194060:break;case 4194062:d=I(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.m|=16,J(e,4)}break;case 4193728:var h=this.l;f=h.$&7;switch(a&
|
||||
-2){case 4193728:d=I(this,h.C,a,b,c);0<=b&&0<=d&&(h.ya=h.ya&60|d>>8&3,h.C=d&17279|h.C&34944|2048,d&1&&h.C&128?jb(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.Va,a,b,c);0<=d&&(h.Va=d);break;case 4193732:d=I(this,h.Ta,a,b,c);0<=d&&(h.Ta=d&65534);break;case 4193734:d=I(this,h.aa[f],a,b,c);0<=d&&(h.aa[f]=d&7967);break;case 4193736:d=I(this,h.$,a,b,c);0<=d&&(h.$=d&63|h.$&65472,d&128&&ib(this));break;case 4193738:d=h.T[f];break;case 4193740:d=h.Ua[f];break;case 4193742:d=I(this,h.Ma,
|
||||
a,b,c);0<=d&&(h.Ma=d&255);break;case 4193744:d=h.yc[f];break;case 4193746:d=I(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=I(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.zc[f];break;case 4193754:d=I(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=I(this,h.ha[f],a,b,c);0<=d&&(h.ha[f]=d&511);break;case 4193758:h.ub[f]=h.ha[f];d=h.ub[f];break;case 4193760:d=h.wc[f];break;case 4193762:d=h.xc[f];break;case 4193764:d=h.uc[f];break;case 4193766:d=
|
||||
h.vc[f];break;case 4193768:d=I(this,h.ya,a,b,c);0<=d&&(h.ya=d&63,h.C=h.C&-769|(d&3)<<8);break;case 4193770:d=I(this,h.Hb,a,b,c);0<=d&&(h.Hb=d);break;default:return e.m|=16,J(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=I(this,f.o,a,b,c);0<=b&&0<=d&&(f.na=f.na&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||hb(this));break;case 4192514:d=I(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=I(this,f.ta,a,b,c);0<=d&&(f.ta=d);break;
|
||||
case 4192520:d=I(this,f.na,a,b,c);0<=d&&(f.na=d&63,f.o=f.o&-49|(f.na&3)<<4);break;default:return e.m|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Fa:(d=I(this,e.Fa,a,b,c),0<=d&&(70!==e.Ja&&(d&=-49),e.Fa=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.Fa&16&&(f=1),this.h.Sa=this.h.Sa&-8|f)));break;default:return e.m|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=I(this,e.O[1][f],
|
||||
function fb(a){var b=a.i,c,d,f,e=b.U>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.rc,drive:e,blocksize:256,mapped:0,maxblock:b.Ia[e]*b.F[e],url:"rk"+e+".dsk"});b.v&=-129;switch(b.v>>1&7){case 0:b.gb=2496;b.P=0;b.v=128;b.U=0;break;case 1:if((b.U>>4&511)>=b.Ia[e]){b.P|=32832;b.v|=49152;break}if((b.U&15)>=b.F[e]){b.P|=32800;b.v|=49152;break}c=(b.U>>4&511)*b.F[e]+(b.U&15);d=(b.v&48)<<12|b.fb;f=65536-b.hb&65535;gb(a,b.S[e],c,d,f);return;case 2:if((b.U>>4&511)>=b.Ia[e])b.P|=32832,
|
||||
b.v|=49152;else if((b.U&15)>=b.F[e])b.P|=32800,b.v|=49152;else{c=(b.U>>4&511)*b.F[e]+(b.U&15);d=(b.v&48)<<12|b.fb;f=65536-b.hb&65535;a.rb(b.S[e],c,d,f);return}}b.gb=e<<13|b.gb&8176|b.U%9&15;H(a.a,20,5,144,function(){b.v=b.v&65534|128;return!!(b.v&64)})}l.rc=function(a,b,c,d,f){var e=this.i;e.fb=d&65535;e.v=e.v&-49|d>>12&48;e.hb=65536-f&65535;switch(a){case 1:e.P|=33024;e.v|=49152;break;case 2:e.P|=33792,e.v|=49152}H(this.a,20,5,144,function(){e.v=e.v&65534|128;return!!(e.v&64)})};
|
||||
function hb(a){var b=a.j,c,d,f,e=b.o>>8&3;b.o&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.sc,drive:e,blocksize:128,mapped:1,maxblock:b.Ia[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.o>>1&7){case 2:b.ua&8&&(b.o&=63);b.ua=b.cc[e]|b.za&64;break;case 3:1==(b.H&3)&&(b.za=b.H&4?b.za+(b.H&65408)&65408|b.H<<2&64:b.za-(b.H&65408)&65408|b.H<<2&64,b.H=b.za);break;case 4:b.ua=b.za;break;case 5:if(b.H>>6>=b.Ia[e]){b.o|=37888;break}if((b.H&63)>=b.F[e]){b.o|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
|
||||
d=(b.oa&63)<<16|b.$a;f=65536-b.ua&65535;gb(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Ia[e])b.o|=37888;else if((b.H&63)>=b.F[e])b.o|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.oa&63)<<16|b.$a;f=65536-b.ua&65535;a.rb(b.S[e],c,d,f);return}}H(a.a,20,5,112,function(){b.o|=129;return!!(b.o&64)})}
|
||||
l.sc=function(a,b,c,d,f){var e=this.j;e.$a=d&65535;e.o=e.o&-49|d>>12&48;e.oa=d>>16&63;e.H=~~(c/e.F[b.fa])<<6|c%e.F[b.fa];e.za=e.H;e.ua=65536-f&65535;switch(a){case 1:e.o|=33792;break;case 2:e.o|=40960}H(this.a,20,5,112,function(){e.o|=129;return!!(e.o&64)})};function ib(a){a=a.l;a.C=2176;a.aa=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ua=[0,0,0,0,0,0,0,0];a.Ma=a.Va=a.Ta=a.ya=a.Hb=0}
|
||||
function jb(a,b){var c=a.l,d,f,e;c.C&=-16513;c.aa&=-2049;c.T[b]&=-1153;H(a.a,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.tc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ha[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.C&63){case 5:c.ub[b]=c.ia[b];c.C|=32896;c.T[b]|=32896;c.Ma|=1<<b;break;case 9:ib(a);break;case 19:c.T[b]|=64;break;case 49:if(c.ia[b]>=c.wb[0]||c.ba[b]>>8>=c.Ha[0]||(c.ba[b]&255)>=c.F[0]){c.Ua[b]|=1024;c.C|=49152;break}d=(c.ia[b]*c.Ha[0]+(c.ba[b]>>8))*c.F[0]+
|
||||
(c.ba[b]&255);f=(c.ya&63)<<16|c.Ta;e=65536-c.Va&65535;gb(a,c.S[b],d,f,e);return;case 57:if(c.ia[b]>=c.wb[0]||c.ba[b]>>8>=c.Ha[0]||(c.ba[b]&255)>=c.F[0])c.Ua[b]|=1024,c.C|=49152;else{d=(c.ia[b]*c.Ha[0]+(c.ba[b]>>8))*c.F[0]+(c.ba[b]&255);f=(c.ya&63)<<16|c.Ta;e=65536-c.Va&65535;a.rb(c.S[b],d,f,e);return}}H(a.a,3,5,172,function(){c.C=c.C&65534|128;c.T[b]|=128;return!!(c.C&64)})}
|
||||
l.tc=function(a,b,c,d,f){var e=this.l;e.Va=65536-f&65535;e.Ta=d&65535;e.C=e.C&-769|d>>8&768;e.ya=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Ha[0]);e.ba[b.fa]=f%e.Ha[0]<<8|c%e.F[0];e.ub[b.fa]=e.ia[b.fa]=d;e.Ma|=1<<b.fa;c>=b.lc-1&&(e.T[b.fa]|=1024);switch(a){case 1:e.aa|=512;e.C|=49152;break;case 2:e.aa|=2048,e.C|=49152}H(this.a,20,5,172,function(){e.T[b.fa]|=128;e.C=e.C&65534|128;return!!(e.C&64)})};
|
||||
function kb(a,b,c,d,f,e){var g=~~((e+c.pa-1)/c.pa),h=new XMLHttpRequest;2048>g&&d+2048<c.lc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.pa<<1)+"-"+(((d+g)*c.pa<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,y,L;m=h.response;if(h.status&&206!=h.status||!m)c.Eb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(L=0;L<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],y=0;y<c.pa;y++)c.cache[q][y]=L<m.length?
|
||||
m[L]&255|m[L+1]<<8&65280:0,L+=2;else L+=c.pa<<1;q++}g(c,d,f,e)}}};h.send(null)}function I(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:J(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){kb(this,this.rb,a,b,c,d);return}for(f=0;f<a.pa&&0<d;f++){var e=a.kc?lb(this.a,c):c;Va(this.a.A,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Eb(0,a,b,c,d)};
|
||||
function gb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.pa;e++)b.cache[c][e]=0;for(e=0;e<b.pa&&0<f;e++){g=a.a.tb(b.kc?lb(a.a,d):d);if(0>g){b.Eb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Eb(0,b,c,d,f)}l.reset=function(){this.h.Sa=this.h.Sa&-120|20;this.f.da=0;this.f.V=128;this.b.ta=0;this.i.v=128;this.j.o=128;ib(this)};
|
||||
l.bc=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.xa&65280:(a&1&&(b<<=8),e.xa=b|255,d=0);break;case 4194298:if(0>b)d=e.Gb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Gb=d;e.ga=2}break;case 4194294:if(70!==e.Ja)return J(e,4);0>b?d=e.m:d=e.m=0;break;case 4194292:if(70!==e.Ja)return J(e,4);d=1;break;case 4194290:if(70!==e.Ja)return J(e,4);d=0;break;case 4194288:if(70!==e.Ja)return J(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
|
||||
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ja)return J(e,4);f=a-4194272>>1;0>b?d=e.Db[f]:(d=I(this,e.Db[f],a,b,c),0<=d&&(e.Db[f]=d));break;case 4194254:return a&1?e.D>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ha[3]=b),d=e.ha[3]):e.D>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ha[1]=b),d=e.ha[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.D&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.La[f]=b),d=e.La[f]),d;case 4194246:return a&
|
||||
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.D>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ha[0]=b),d=e.ha[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.D&2048?(0<=b&&(e.La[f]=b),d=e.La[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.m|=16,J(e,4)}break;case 4194176:f=a>>1&31;d=I(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.f;switch(a&-2){case 4194174:d=I(this,e.jb,a,b,c);0<=d&&(e.jb=d);break;case 4194172:d=e.Ea;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
||||
case 4194168:0>b?d=this.h.Ac&65535:(d=I(this,this.h.data,a,b,c),0<=d&&(this.h.data=d));break;case 4194166:0<=b&&(b&127&&(g.ec=0),g.V&=-129,H(e,100,4,52,function(){g.V|=128;return!!(g.V&64)}));d=0;break;case 4194162:d=0;0>b&&(g.da&=-129,0<g.Fb.length&&(d=g.Fb.shift(),0<g.Fb.length&&setTimeout(function(){g.da|=128;g.da&64&&H(e,40,4,48)},50)));break;case 4194160:0>b?d=g.da:(d=I(this,g.da,a,b,c),0<=d&&(g.da=g.da&128|d&-129));break;default:return e.m|=16,J(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=
|
||||
I(this,f.gb,a,b,c);0<=d&&(f.gb=d);break;case 4194050:d=I(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=I(this,f.v,a,b,c);0<=b&&0<=d&&(f.v=d&-36993|f.v&36992,f.v&1&&fb(this));break;case 4194054:d=I(this,f.hb,a,b,c);0<=d&&(f.hb=d);break;case 4194056:d=I(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194058:d=I(this,f.U,a,b,c);0<=d&&(f.U=d);break;case 4194060:break;case 4194062:d=I(this,f.Vb,a,b,c);0<=d&&(f.Vb=d);break;default:return e.m|=16,J(e,4)}break;case 4193728:var h=this.l;f=h.aa&7;switch(a&
|
||||
-2){case 4193728:d=I(this,h.C,a,b,c);0<=b&&0<=d&&(h.ya=h.ya&60|d>>8&3,h.C=d&17279|h.C&34944|2048,d&1&&h.C&128?jb(this,f):192==(d&192)&&H(e,0,5,172));break;case 4193730:d=I(this,h.Va,a,b,c);0<=d&&(h.Va=d);break;case 4193732:d=I(this,h.Ta,a,b,c);0<=d&&(h.Ta=d&65534);break;case 4193734:d=I(this,h.ba[f],a,b,c);0<=d&&(h.ba[f]=d&7967);break;case 4193736:d=I(this,h.aa,a,b,c);0<=d&&(h.aa=d&63|h.aa&65472,d&128&&ib(this));break;case 4193738:d=h.T[f];break;case 4193740:d=h.Ua[f];break;case 4193742:d=I(this,
|
||||
h.Ma,a,b,c);0<=d&&(h.Ma=d&255);break;case 4193744:d=h.yc[f];break;case 4193746:d=I(this,h.Wb,a,b,c);0<=d&&(h.Wb=d);break;case 4193748:d=I(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.zc[f];break;case 4193754:d=I(this,h.Yb[f],a,b,c);0<=d&&(h.Yb[f]=d);break;case 4193756:d=I(this,h.ia[f],a,b,c);0<=d&&(h.ia[f]=d&511);break;case 4193758:h.ub[f]=h.ia[f];d=h.ub[f];break;case 4193760:d=h.wc[f];break;case 4193762:d=h.xc[f];break;case 4193764:d=h.uc[f];break;case 4193766:d=
|
||||
h.vc[f];break;case 4193768:d=I(this,h.ya,a,b,c);0<=d&&(h.ya=d&63,h.C=h.C&-769|(d&3)<<8);break;case 4193770:d=I(this,h.Hb,a,b,c);0<=d&&(h.Hb=d);break;default:return e.m|=16,J(e,4)}break;case 4192512:f=this.j;switch(a&-2){case 4192512:d=I(this,f.o,a,b,c);0<=b&&0<=d&&(f.oa=f.oa&60|d>>4&3,f.o=f.o&-1023|d&1022,f.o&128||hb(this));break;case 4192514:d=I(this,f.$a,a,b,c);0<=d&&(f.$a=d&65534);break;case 4192516:d=I(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=I(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;
|
||||
case 4192520:d=I(this,f.oa,a,b,c);0<=d&&(f.oa=d&63,f.o=f.o&-49|(f.oa&3)<<4);break;default:return e.m|=16,J(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Fa:(d=I(this,e.Fa,a,b,c),0<=d&&(70!==e.Ja&&(d&=-49),e.Fa=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.Fa&16&&(f=1),this.h.Sa=this.h.Sa&-8|f)));break;default:return e.m|=16,J(e,4)}break;case 4191424:f=a>>1&31;d=I(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=I(this,e.O[1][f],
|
||||
a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ja)return J(e,4);f=a>>2&31;d=e.ib[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=I(this,d,a,b,c),0<=d&&(e.ib[f]=a&2?d<<16|e.ib[f]&65535:e.ib[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=$a[a>>1&255];else return e.m|=16,J(e,4);break;default:return e.m|=16,J(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");
|
||||
return d};var mb={},Ya=(mb[65382]=[null,null,G.prototype.nc,G.prototype.Cc],mb[65402]=[null,null,G.prototype.oc,G.prototype.Dc],mb[65396]=[null,null,G.prototype.qc,G.prototype.Gc],mb[65534]=[null,null,G.prototype.pc,G.prototype.Ec],mb);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new G(d);B(d,c)}});var nb;if(Ia){var ob=new ArrayBuffer(2);(new DataView(ob)).setUint16(0,256,!0);nb=256===(new Uint16Array(ob))[0]}else nb=!1;var pb=nb;
|
||||
function F(a,b,c,d,f){this.id=qb+=2;this.a=null;this.Xa=a;this.vb=b;this.size=c||0;this.type=d||rb;this.h=d==sb;this.controller=null;La(this);this.qa=this.fc=!1;if(c)if(f)this.controller=f,this.a=null,tb(this,f.Ya);else if(Ia)this.f=new ArrayBuffer(c),this.u=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.l=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),tb(this,pb?ub:vb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;tb(this,wb)}else tb(this)}
|
||||
function F(a,b,c,d,f){this.id=qb+=2;this.a=null;this.Xa=a;this.vb=b;this.size=c||0;this.type=d||rb;this.h=d==sb;this.controller=null;La(this);this.ra=this.fc=!1;if(c)if(f)this.controller=f,this.a=null,tb(this,f.Ya);else if(Ia)this.f=new ArrayBuffer(c),this.u=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.l=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),tb(this,pb?ub:vb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;tb(this,wb)}else tb(this)}
|
||||
var rb=0,sb=2,Ra=4,Ta=["NONE","RAM","ROM","VID","H/W"],qb=0;
|
||||
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.u.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ia)for(b=0;b<a.length;b++)this.u.setInt32(b<<2,a[b],!0);else this.a=a;return this.qa=!0}return!1},A:function(){return 255},G:function(){},B:function(a,b){return this.eb(a++,b++)|this.eb(a,b)<<8},J:function(a,b,c){this.Wa(a++,
|
||||
b&255,c++);this.Wa(a,b>>8,c)},Y:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},la:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Da:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.qa=!0},Ra:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.qa=!0},R:function(a,b){return this.W(a,b)},ia:function(a,b){return this.ja(a,
|
||||
b)},Ba:function(a,b,c){this.h||this.ac(a,b,c)},Oa:function(a,b,c){this.h||this.Pa(a,b,c)},K:function(a){return this.b[a]},X:function(a){return this.b[a]},Z:function(a){return this.u.getUint16(a,!0)},ka:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Aa:function(a,b){this.b[a]=b;this.qa=!0},Ca:function(a,b){this.b[a]=b;this.qa=!0},Ga:function(a,b){this.u.setUint16(a,b,!0);this.qa=!0},Qa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.qa=!0}};
|
||||
function La(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&xb(a,yb,!1),(a.j=c.j)&&zb(a,yb,!1))}function zb(a,b,c){c&&a.j||(a.Wa=!a.h&&b[1]||a.G,a.Fc=!a.h&&b[3]||a.J);if(c||void 0===c)a.ac=b[1]||a.G,a.Pa=b[3]||a.J}function xb(a,b,c){c&&a.i||(a.eb=b[0]||a.A,a.sb=b[2]||a.B);if(c||void 0===c)a.W=b[0]||a.A,a.ja=b[2]||a.B}function tb(a,b){b||(b=Ab);xb(a,b,void 0);zb(a,b,void 0)}var Ab=[],wb=[F.prototype.Y,F.prototype.Da,F.prototype.la,F.prototype.Ra],yb=[F.prototype.R,F.prototype.Ba,F.prototype.ia,F.prototype.Oa];
|
||||
if(Ia)var vb=[F.prototype.K,F.prototype.Aa,F.prototype.Z,F.prototype.Ga],ub=[F.prototype.X,F.prototype.Ca,F.prototype.ka,F.prototype.Qa];function Bb(a,b){v.call(this,"CPU",a,Bb);var c=a.multiplier||1;this.lb=a.cycles||b;this.Y=c;this.yb=Math.round(this.lb/1E4)/100;this.ja=this.yb*this.Y;this.g.ea=!1;this.g.Zb=!1;this.g.Za=a.autoStart;this.g.Qb=!1;this.g.nb=!1;this.Ra=this.ka=0;this.kb=a.csStart;this.Ba=a.csInterval;this.Ca=a.csStop;this.G=[];this.Tb=this.Ib.bind(this);D(this)}x(Bb);
|
||||
var Cb=["power","reset"];l=Bb.prototype;l.Ka=function(a,b,c,d){this.l=a;this.w=b;this.I=d;for(b=0;b<Cb.length;b++)(c=this.u[Cb[b]])&&this.l.ba(null,Cb[b],c);this.Aa=null;a=Db(a,"autoStart");null!=a&&(this.g.Za="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.va=function(a,b){if(!b){if(a&&this.restore){Eb(this);if(!this.restore(a))return!1;Fb(this)}else this.reset();this.N("No debugger detected")}Gb(this);return!0};
|
||||
l.ua=function(a){return a?this.save():!0};l.Za=function(){return this.g.Za||void 0===this.u.run?(this.Ib(),!0):!1};l.Ub=function(){return 0};function Fb(a){void 0===a.kb&&(a.kb=0);void 0===a.Ba&&(a.Ba=-1);void 0===a.Ca&&(a.Ca=-1);a.g.nb=0<=a.kb&&0<a.Ba;a.g.nb&&(a.Ra=0,a.ka=a.kb-a.Z)}
|
||||
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ia)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.u.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ia)for(b=0;b<a.length;b++)this.u.setInt32(b<<2,a[b],!0);else this.a=a;return this.ra=!0}return!1},w:function(){return 255},G:function(){},B:function(a,b){return this.eb(a++,b++)|this.eb(a,b)<<8},J:function(a,b,c){this.Wa(a++,
|
||||
b&255,c++);this.Wa(a,b>>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},Da:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ra=!0},Ra:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ra=!0},R:function(a,b){return this.W(a,b)},ja:function(a,b){return this.ka(a,
|
||||
b)},Ba:function(a,b,c){this.h||this.ac(a,b,c)},Oa:function(a,b,c){this.h||this.Pa(a,b,c)},K:function(a){return this.b[a]},X:function(a){return this.b[a]},$:function(a){return this.u.getUint16(a,!0)},la:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},Aa:function(a,b){this.b[a]=b;this.ra=!0},Ca:function(a,b){this.b[a]=b;this.ra=!0},Ga:function(a,b){this.u.setUint16(a,b,!0);this.ra=!0},Qa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.ra=!0}};
|
||||
function La(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&xb(a,yb,!1),(a.j=c.j)&&zb(a,yb,!1))}function zb(a,b,c){c&&a.j||(a.Wa=!a.h&&b[1]||a.G,a.Fc=!a.h&&b[3]||a.J);if(c||void 0===c)a.ac=b[1]||a.G,a.Pa=b[3]||a.J}function xb(a,b,c){c&&a.i||(a.eb=b[0]||a.w,a.sb=b[2]||a.B);if(c||void 0===c)a.W=b[0]||a.w,a.ka=b[2]||a.B}function tb(a,b){b||(b=Ab);xb(a,b,void 0);zb(a,b,void 0)}var Ab=[],wb=[F.prototype.Z,F.prototype.Da,F.prototype.ma,F.prototype.Ra],yb=[F.prototype.R,F.prototype.Ba,F.prototype.ja,F.prototype.Oa];
|
||||
if(Ia)var vb=[F.prototype.K,F.prototype.Aa,F.prototype.$,F.prototype.Ga],ub=[F.prototype.X,F.prototype.Ca,F.prototype.la,F.prototype.Qa];function Bb(a,b){v.call(this,"CPU",a,Bb);var c=a.multiplier||1;this.lb=a.cycles||b;this.Z=c;this.yb=Math.round(this.lb/1E4)/100;this.ka=this.yb*this.Z;this.g.ea=!1;this.g.Zb=!1;this.g.Za=a.autoStart;this.g.Qb=!1;this.g.nb=!1;this.Ra=this.la=0;this.kb=a.csStart;this.Ba=a.csInterval;this.Ca=a.csStop;this.G=[];this.Tb=this.Ib.bind(this);D(this)}x(Bb);
|
||||
var Cb=["power","reset"];l=Bb.prototype;l.Ka=function(a,b,c,d){this.l=a;this.A=b;this.I=d;for(b=0;b<Cb.length;b++)(c=this.u[Cb[b]])&&this.l.ca(null,Cb[b],c);this.Aa=null;a=Db(a,"autoStart");null!=a&&(this.g.Za="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.wa=function(a,b){if(!b){if(a&&this.restore){Eb(this);if(!this.restore(a))return!1;Fb(this)}else this.reset();this.N("No debugger detected")}Gb(this);return!0};
|
||||
l.va=function(a){return a?this.save():!0};l.Za=function(){return this.g.Za||void 0===this.u.run?(this.Ib(),!0):!1};l.Ub=function(){return 0};function Fb(a){void 0===a.kb&&(a.kb=0);void 0===a.Ba&&(a.Ba=-1);void 0===a.Ca&&(a.Ca=-1);a.g.nb=0<=a.kb&&0<a.Ba;a.g.nb&&(a.Ra=0,a.la=a.kb-a.$)}
|
||||
function K(a,b,c,d){if(a.u[b]){void 0===c&&(a.g.error=!0,a.L("Value for "+b+" is invalid"),M(a));var f=a.I&&a.I.b||8;c=!a.g.ea||a.g.Qb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.u[b].textContent!=c&&(a.u[b].textContent=c)}}
|
||||
l.ba=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.u[b]=c;a=!0;break;case "run":this.u[b]=c;c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.g.M)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.g.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.g.M);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.g.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.g.ea?M(d):d.Ib())};a=!0;
|
||||
break;case "speed":this.u[b]=c;a=!0;break;case "setSpeed":this.u[b]=c,c.onclick=function(){Hb(d,d.Y<<1)},c.textContent=this.ja.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.Z+=b;c&&(a.J=a.a=0)}function Jb(a,b){var c=1;b&&1<a.Y&&a.W&&(c=a.W/a.yb);a.Pb=Math.round(1E3/30);a.mb=Math.floor(a.lb/30*c);b||(a.Da=a.mb);a.zb=0}function Kb(a){return a.Z+a.R+a.J-a.a}function Eb(a){a.W=0;a.Sb=0;a.Z=a.R=a.J=a.a=0;Fb(a);Hb(a,1)}
|
||||
function Hb(a,b){if(void 0!==b&&(.8>a.W/a.ja&&(b=1),a.Y=b,b=a.yb*a.Y,a.ja!=b)){a.ja=b;b=a.ja.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.N("target speed: "+b)}Ib(a,a.R);a.R=0;a.K=ia();a.X=0;Jb(a)}function ab(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function bb(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.lb*a.Y/1E3*(1E3/60),a.G[b][0]=c)}
|
||||
l.ca=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.u[b]=c;a=!0;break;case "run":this.u[b]=c;c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.g.M)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.g.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.g.M);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.g.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.g.ea?M(d):d.Ib())};a=!0;
|
||||
break;case "speed":this.u[b]=c;a=!0;break;case "setSpeed":this.u[b]=c,c.onclick=function(){Hb(d,d.Z<<1)},c.textContent=this.ka.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.$+=b;c&&(a.J=a.a=0)}function Jb(a,b){var c=1;b&&1<a.Z&&a.W&&(c=a.W/a.yb);a.Pb=Math.round(1E3/30);a.mb=Math.floor(a.lb/30*c);b||(a.Da=a.mb);a.zb=0}function Kb(a){return a.$+a.R+a.J-a.a}function Eb(a){a.W=0;a.Sb=0;a.$=a.R=a.J=a.a=0;Fb(a);Hb(a,1)}
|
||||
function Hb(a,b){if(void 0!==b&&(.8>a.W/a.ka&&(b=1),a.Z=b,b=a.yb*a.Z,a.ka!=b)){a.ka=b;b=a.ka.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.N("target speed: "+b)}Ib(a,a.R);a.R=0;a.K=ia();a.X=0;Jb(a)}function ab(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function bb(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.lb*a.Z/1E3*(1E3/60),a.G[b][0]=c)}
|
||||
l.Ib=function(){if(Ga(this,!0)){if(!this.g.ea){Hb(this);this.l&&this.l.start(this.K,Kb(this));this.g.ea=!0;this.g.Zb=!0;this.Aa&&this.Aa.start();var a=this.u.run;a&&(a.textContent="Halt");this.l&&this.l.Na(!0)}this.zb>=this.lb&&Jb(this,!0);this.Ga=0;this.Qa=ia();this.X&&(a=this.Qa-this.X,a>this.Pb&&(this.K+=a,this.K>this.Qa&&(this.K=this.Qa)));try{do{for(var b,c=this.g.nb?1:this.mb,d=this.G.length-1;0<=d;d--){var f=this.G[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.$b(b)}catch(m){if("number"!=typeof m)throw m;
|
||||
}for(var e=this.J-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ga+=e;this.R+=e;Ib(this,0,!0);a=e;if(this.g.nb){var k=!1;this.Ra=this.Ra+this.Ub()|0;this.ka-=a;0>=this.ka&&(this.ka+=this.Ba,k=!0);0<=this.Ca&&this.Ca<=Kb(this)&&(this.Ba=this.Ca=-1,Fb(this),M(this),k=!0);k&&this.N(Kb(this)+" cycles: checksum="+n(this.Ra))}this.Da-=e;if(0>=this.Da){this.Da+=this.mb;15<=++this.Sb&&(this.l&&this.l.Na(),this.Sb=0);break}}while(this.g.ea)}catch(m){M(this);
|
||||
Gb(this);this.l&&this.l.stop(ia(),Kb(this));Ga(this,!1);b=m.stack||m.message;this.g.error=!0;this.L(b);return}b=setTimeout;c=this.Tb;this.X=ia();d=this.Pb;this.Ga&&(d=Math.round(d*this.Ga/this.mb));d-=this.X-this.Qa;if(f=this.X-this.K)this.W=Math.round(this.R/(10*f))/100,864E5<=f&&(this.Z=0,Hb(this));if(0>d||this.W<this.ja)-1E3>d&&(this.K-=d),d=0;this.zb+=this.Ga;this.X+=d;b(c,d)}else Gb(this),this.l&&this.l.stop(ia(),Kb(this))};l.$b=function(){return 0};
|
||||
}for(var e=this.J-this.a,a=e,g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ga+=e;this.R+=e;Ib(this,0,!0);a=e;if(this.g.nb){var k=!1;this.Ra=this.Ra+this.Ub()|0;this.la-=a;0>=this.la&&(this.la+=this.Ba,k=!0);0<=this.Ca&&this.Ca<=Kb(this)&&(this.Ba=this.Ca=-1,Fb(this),M(this),k=!0);k&&this.N(Kb(this)+" cycles: checksum="+n(this.Ra))}this.Da-=e;if(0>=this.Da){this.Da+=this.mb;15<=++this.Sb&&(this.l&&this.l.Na(),this.Sb=0);break}}while(this.g.ea)}catch(m){M(this);
|
||||
Gb(this);this.l&&this.l.stop(ia(),Kb(this));Ga(this,!1);b=m.stack||m.message;this.g.error=!0;this.L(b);return}b=setTimeout;c=this.Tb;this.X=ia();d=this.Pb;this.Ga&&(d=Math.round(d*this.Ga/this.mb));d-=this.X-this.Qa;if(f=this.X-this.K)this.W=Math.round(this.R/(10*f))/100,864E5<=f&&(this.$=0,Hb(this));if(0>d||this.W<this.ka)-1E3>d&&(this.K-=d),d=0;this.zb+=this.Ga;this.X+=d;b(c,d)}else Gb(this),this.l&&this.l.stop(ia(),Kb(this))};l.$b=function(){return 0};
|
||||
function M(a){a.g.ab&&(a.g.Bb=!0);a.J-=a.a;a.a=0;Ib(a,a.R);a.R=0;if(a.g.ea){a.g.ea=!1;a.Aa&&a.Aa.stop();var b=a.u.run;b&&(b.textContent="Run")}a.g.complete=void 0}function Gb(a){a.l&&a.l.Na(void 0)}
|
||||
function Lb(a){this.jc=a.resetAddr||0;Bb.call(this,a,1E6);this.Lb=0;this.decode=Mb.bind(this);this.h=65536;this.b=32768;this.f=65535;this.i=32768;this.F=15;this.c=[0,0,0,0,0,0,0,this.jc];this.La=[0,0,0,0,0,0];this.xa=[0,0,0,0];this.Pa=this.B=0;this.O=[[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],[65535,65535,65535,65535,65535,65535,65535,65535,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.ib=[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.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=0;this.Ja=70;this.la=-1;this.Ab=0;Nb(this);this.g.complete=this.g.dc=!1}x(Lb,Bb);l=Lb.prototype;l.reset=function(){this.g.ea&&M(this);Nb(this);Eb(this);this.g.error=!1;this.parent.reset.call(this)};
|
||||
function Nb(a){a.wa=255;a.m=0;a.Gb=0;a.A=0;a.Ea=0;a.jb=0;a.Fa=0;a.pb=0;a.Oa=0;a.qb=[7,7,7,7];a.j=[];a.ga=2;cb(a)}function cb(a){a.pb?(a.Kb=65536,a.ia=a.ic,a.sb=a.da):(a.Kb=0,a.ia=a.hc,a.sb=a.tb)}l.Ub=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.Z,this.Y]);a.set(2,Wa(this.w));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.Z=b[1];Hb(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,g=Array(b.J),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.ba=function(a,b,c){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":this.u[b]=c;this.Lb++;a=!0;break;default:a=this.parent.ba.call(this,a,b,c)}return a};
|
||||
l.Na=function(a){if(this.Lb&&(a||!this.g.ea||this.g.Qb)){for(a=0;a<this.c.length;a++)K(this,"R"+a,this.c[a]);a=db(this);K(this,"PS",a);K(this,"NF",a&8?1:0,1);K(this,"ZF",a&4?1:0,1);K(this,"VF",a&2?1:0,1);K(this,"CF",a&1?1:0,1)}if(a=this.u.speed)a.textContent=this.g.ea&&this.W?this.W.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.h&65536?1:0}l.ra=function(){return this.i&32768?8:0};
|
||||
function H(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].Bc===d){0<e&&(a.j[e-1].pa+=a.j[e].pa);a.j.splice(e,1);break}if(0<=b){2===a.Ab&&(b=0,a.Ab=0,setTimeout(a.Tb,0));for(e=a.j.length;0<e--;){if(a.j[e].pa>b){a.j[e].pa-=b;break}b-=a.j[e].pa}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ga=2}function db(a){return a.F=a.F&63728|a.ra()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)}
|
||||
function eb(a,b){a.i=b<<12;a.f=~b&4;a.b=b<<14;a.h=b<<16;if((b^a.F)&2048)for(var c=a.La.length;0<=--c;){var d=a.c[c];a.c[c]=a.La[c];a.La[c]=d}a.B=b>>14&3;c=a.F>>14&3;a.B!=c&&(a.xa[c]=a.c[6],a.c[6]=a.xa[a.B]);a.ga=2;a.F=b}function P(a,b,c){a.s&128||(a.i=a.f=a.h=b,a.b=c||0)}function Q(a,b){a.s&128||(a.i=a.f=b,a.b=0)}function Ob(a,b,c,d){a.s&128||(a.i=a.f=a.h=b,a.b=(c^b)&(d^b))}function R(a,b){a.s&128||(a.i=a.f=a.h=b,a.b=a.i^a.h>>1)}function Pb(a,b,c,d){a.s&128||(a.i=a.f=a.h=b,a.b=(c^d)&(d^b))}
|
||||
function J(a,b){var c=!1;0>a.la?a.la=db(a):a.B||(b=4,c=!0);a.A&57344||(a.Ea=63222,a.jb=b);a.B=0;var d=a.da(b|65536),f=a.da(b+2&65535|65536);eb(a,f&53247|a.la>>2&12288);c&&(a.m|=4,a.c[6]=4);Qb(a,a.la);Qb(a,a.c[7]);a.c[7]=d;a.s&=-113;a.la=-1;throw b;}function Rb(a){var b=Sb(a),c=Sb(a)&-1793;a.F&49152&&(c=c&-225|a.F&63712);a.c[7]=b&65535;eb(a,c);a.s&=-17}function lb(a,b){var c=b>>13&31;31>c?a.Fa&32&&(b=a.ib[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function Tb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.B];f=a.O[a.B][d];e=(a.O[a.B][d+16]<<6)+(b&8191)&4194303;a.Fa&16?3932160<=e&&4186112>e&&(e=lb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,J(a,4)),e&1&&!(c&1)&&(a.m|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
|
||||
16384));a.O[a.B][d]=f;if(4194170!==e||a.B)a.Oa=a.B,a.Pa=d;g&&(g&57344&&(0<=a.la&&(g|=128),a.A&57344||(a.A=a.A|g|a.Oa<<5|a.Pa<<1),J(a,168)),a.A&61440||!(4191360>e||4194239<e)||(a.A|=4096,a.A&512&&(a.s|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,J(a,4));return e}l.tb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.w,c=a&b.i,d=(a&b.j)>>>b.f;a=c!=b.i?b.b[d].sb(c,a):b.b[d++].eb(c,a)|b.b[d&b.K].eb(0,a+1)<<8}return a};l.da=function(a){return this.tb(Tb(this,a,2))};
|
||||
function Sb(a){var b=a.da(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Qb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.A&57344||(a.Ea=a.Ea<<8|246);!a.B&&c<=a.wa&&4<c&&(c<=a.wa-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.s|=4));c=Tb(a,c|65536,4);Va(a.w,c,b&65535)}
|
||||
function Ub(a,b,c){var d,f,e=b&7,g=c&8?0:a.Kb;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.B&&c&4&&(a.c[6]<=a.wa||65534<=a.c[6])&&(a.c[6]<=a.wa-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.s|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);if(0>(d=a.da(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.da(d)))return d;
|
||||
d|=g;break;case 6:if(0>(d=a.da(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.da(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.da(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.A&57344||(a.Ea=a.Ea<<8|f<<3&248|e);6===e&&!a.B&&c&4&&0>=f&&(a.c[6]<=a.wa||65534<=a.c[6])&&(a.c[6]<=a.wa-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.s|=64));return d}l.hc=function(a,b){return Ub(this,a,b)};l.ic=function(a,b){return Tb(this,Ub(this,a,b),b)};
|
||||
function S(a,b){return b&56?a.sb(Ub(a,b,2)):a.c[b&7]}function T(a,b){b&56?(b=a.ia(b,3),a=Ua(a.w,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ia(b,6),c=d.call(a,c,a.tb(b)),Va(a.w,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ia(b,7),c=d.call(a,c,Ua(a.w,b)),a=a.w,a.b[(b&a.j)>>>a.f].Wa(b&a.i,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Vb(a,b,c){b&56?(b=a.ia(b,4),Va(a.w,b,c&65535)):a.c[b&7]=c&65535;return c}
|
||||
function Wb(a,b,c,d){b&56?(d=a.ia(b,5),a=a.w,a.b[(d&a.j)>>>a.f].Wa(d&a.i,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){return a.c[7]+(b<<24>>23)&65535}
|
||||
l.$b=function(a){this.g.complete=!0;this.g.dc=!1;this.g.Zb=!1;this.J=this.a=a;do{this.s&112&&(this.s&32?J(this,168):this.s&64?J(this,4):this.s&16&&J(this,12),this.s&=-113);if(this.ga)if(1==this.ga)this.ga=2;else{this.ga=0;a=null;for(var b=this.Gb&224,c=this.j.length;0<=--c;){if(0<this.j[c].pa){this.j[c].pa--;this.ga=2;break}if(this.j[c].Ob){if(!this.j[c].Ob()){this.j.splice(c,1);continue}this.j[c].Ob=null}this.j[c].mc>b&&(b=this.j[c].mc,a=this.j[c],this.j.splice(c,1))}b>(this.F&224)&&(a?J(this,a.Bc):
|
||||
J(this,160))}this.A&57344||(this.Ea=0,this.jb=this.c[7]);this.s=this.F&16;a=this.da(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}while(0<this.a);return this.g.complete?this.J-this.a:void 0===this.g.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Lb(d);B(d,c)}});function Xb(a,b){var c=b+a;Ob(this,c,a,b);return c&65535}function Yb(a,b){var c=b+a;Ob(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function Lb(a){this.jc=a.resetAddr||0;Bb.call(this,a,1E6);this.Lb=0;this.decode=Mb.bind(this);this.h=65536;this.b=32768;this.f=65535;this.i=32768;this.D=15;this.c=[0,0,0,0,0,0,0,this.jc];this.La=[0,0,0,0,0,0];this.ha=[0,0,0,0];this.Pa=this.w=0;this.O=[[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],[65535,65535,65535,65535,65535,65535,65535,65535,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.ib=[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.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=0;this.Ja=70;this.ma=-1;this.Ab=0;Nb(this);this.g.complete=this.g.dc=!1}x(Lb,Bb);l=Lb.prototype;l.reset=function(){this.g.ea&&M(this);Nb(this);Eb(this);this.g.error=!1;this.parent.reset.call(this)};
|
||||
function Nb(a){a.xa=255;a.m=0;a.Gb=0;a.B=0;a.Ea=0;a.jb=0;a.Fa=0;a.pb=0;a.Oa=0;a.qb=[7,7,7,7];a.j=[];a.ga=2;cb(a)}function cb(a){a.pb?(a.Kb=65536,a.ja=a.ic,a.sb=a.Y):(a.Kb=0,a.ja=a.hc,a.sb=a.tb)}l.Ub=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.$,this.Z]);a.set(2,Wa(this.A));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.$=b[1];Hb(this,b[3]);a:{b=this.A;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.J){for(var e=0,g=Array(b.J),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.ca=function(a,b,c){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":this.u[b]=c;this.Lb++;a=!0;break;default:a=this.parent.ca.call(this,a,b,c)}return a};
|
||||
l.Na=function(a){if(this.Lb&&(a||!this.g.ea||this.g.Qb)){for(a=0;a<this.c.length;a++)K(this,"R"+a,this.c[a]);a=db(this);K(this,"PS",a);K(this,"NF",a&8?1:0,1);K(this,"ZF",a&4?1:0,1);K(this,"VF",a&2?1:0,1);K(this,"CF",a&1?1:0,1)}if(a=this.u.speed)a.textContent=this.g.ea&&this.W?this.W.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.h&65536?1:0}l.sa=function(){return this.i&32768?8:0};
|
||||
function H(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].Bc===d){0<e&&(a.j[e-1].qa+=a.j[e].qa);a.j.splice(e,1);break}if(0<=b){2===a.Ab&&(b=0,a.Ab=0,setTimeout(a.Tb,0));for(e=a.j.length;0<e--;){if(a.j[e].qa>b){a.j[e].qa-=b;break}b-=a.j[e].qa}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.ga=2}function db(a){return a.D=a.D&63728|a.sa()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)}
|
||||
function eb(a,b){a.i=b<<12;a.f=~b&4;a.b=b<<14;a.h=b<<16;if((b^a.D)&2048)for(var c=a.La.length;0<=--c;){var d=a.c[c];a.c[c]=a.La[c];a.La[c]=d}a.w=b>>14&3;c=a.D>>14&3;a.w!=c&&(a.ha[c]=a.c[6],a.c[6]=a.ha[a.w]);a.ga=2;a.D=b}function P(a,b,c){a.s&128||(a.i=a.f=a.h=b,a.b=c||0)}function Q(a,b){a.s&128||(a.i=a.f=b,a.b=0)}function Ob(a,b,c,d){a.s&128||(a.i=a.f=a.h=b,a.b=(c^b)&(d^b))}function R(a,b){a.s&128||(a.i=a.f=a.h=b,a.b=a.i^a.h>>1)}function Pb(a,b,c,d){a.s&128||(a.i=a.f=a.h=b,a.b=(c^d)&(d^b))}
|
||||
function J(a,b){var c=!1;0>a.ma?a.ma=db(a):a.w||(b=4,c=!0);a.B&57344||(a.Ea=63222,a.jb=b);a.w=0;var d=a.Y(b|65536),f=a.Y(b+2&65535|65536);eb(a,f&53247|a.ma>>2&12288);c&&(a.m|=4,a.c[6]=4);Qb(a,a.ma);Qb(a,a.c[7]);a.c[7]=d;a.s&=-113;a.ma=-1;throw b;}function Rb(a){var b=Sb(a),c=Sb(a)&-1793;a.D&49152&&(c=c&-225|a.D&63712);a.c[7]=b&65535;eb(a,c);a.s&=-17}function lb(a,b){var c=b>>13&31;31>c?a.Fa&32&&(b=a.ib[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function Tb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.w];f=a.O[a.w][d];e=(a.O[a.w][d+16]<<6)+(b&8191)&4194303;a.Fa&16?3932160<=e&&4186112>e&&(e=lb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.m|=32,J(a,4)),e&1&&!(c&1)&&(a.m|=64,J(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
|
||||
16384));a.O[a.w][d]=f;if(4194170!==e||a.w)a.Oa=a.w,a.Pa=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.B&57344||(a.B=a.B|g|a.Oa<<5|a.Pa<<1),J(a,168)),a.B&61440||!(4191360>e||4194239<e)||(a.B|=4096,a.B&512&&(a.s|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.m|=64,J(a,4));return e}l.tb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.A,c=a&b.i,d=(a&b.j)>>>b.f;a=c!=b.i?b.b[d].sb(c,a):b.b[d++].eb(c,a)|b.b[d&b.K].eb(0,a+1)<<8}return a};l.Y=function(a){return this.tb(Tb(this,a,2))};
|
||||
function Sb(a){var b=a.Y(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Qb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.B&57344||(a.Ea=a.Ea<<8|246);!a.w&&c<=a.xa&&4<c&&(c<=a.xa-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.s|=4));c=Tb(a,c|65536,4);Va(a.A,c,b&65535)}
|
||||
function Ub(a,b,c){var d,f,e=b&7,g=c&8?0:a.Kb;switch(b>>3&7){case 0:J(a,4);break;case 1:return 6===e&&!a.w&&c&4&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32||65534<=a.c[6]?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.s|=64)),7===e?a.c[e]:a.c[e]|g;case 2:f=2;d=a.c[e];7!==e&&(d|=g,6>e&&c&1&&(f=1));break;case 3:f=2;d=a.c[e];7!==e&&(d|=g);if(0>(d=a.Y(d)))return d;d|=g;break;case 4:f=-2;6>e&&c&1&&(f=-1);d=a.c[e]+f&65535;7!==e&&(d|=g);break;case 5:f=-2;d=a.c[e]-2&65535;7!==e&&(d|=g);if(0>(d=a.Y(d)))return d;
|
||||
d|=g;break;case 6:if(0>(d=a.Y(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return d|g;case 7:if(0>(d=a.Y(a.c[7])))return d;a.c[7]=a.c[7]+2&65535;d=d+a.c[e]&65535;return 0>(d=a.Y(d|65536))?d:d|g}a.c[e]=a.c[e]+f&65535;!g||a.B&57344||(a.Ea=a.Ea<<8|f<<3&248|e);6===e&&!a.w&&c&4&&0>=f&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32?(a.m|=4,a.c[6]=4,J(a,4)):(a.m|=8,a.s|=64));return d}l.hc=function(a,b){return Ub(this,a,b)};l.ic=function(a,b){return Tb(this,Ub(this,a,b),b)};
|
||||
function S(a,b){return b&56?a.sb(Ub(a,b,2)):a.c[b&7]}function T(a,b){b&56?(b=a.ja(b,3),a=Ua(a.A,b)):a=a.c[b&7]&255;return a}function U(a,b,c,d){b&56?(b=a.ja(b,6),c=d.call(a,c,a.tb(b)),Va(a.A,b,c&65535)):(b&=7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.ja(b,7),c=d.call(a,c,Ua(a.A,b)),a=a.A,a.b[(b&a.j)>>>a.f].Wa(b&a.i,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Vb(a,b,c){b&56?(b=a.ja(b,4),Va(a.A,b,c&65535)):a.c[b&7]=c&65535;return c}
|
||||
function Wb(a,b,c,d){b&56?(d=a.ja(b,5),a=a.A,a.b[(d&a.j)>>>a.f].Wa(d&a.i,c&255,d)):(b&=7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b){a.c[7]=a.c[7]+(b<<24>>23)&65535}
|
||||
l.$b=function(a){this.g.complete=!0;this.g.dc=!1;this.g.Zb=!1;this.J=this.a=a;do{this.s&112&&(this.s&32?J(this,168):this.s&64?J(this,4):this.s&16&&J(this,12),this.s&=-113);if(this.ga)if(1==this.ga)this.ga=2;else{this.ga=0;a=null;for(var b=this.Gb&224,c=this.j.length;0<=--c;){if(0<this.j[c].qa){this.j[c].qa--;this.ga=2;break}if(this.j[c].Ob){if(!this.j[c].Ob()){this.j.splice(c,1);continue}this.j[c].Ob=null}this.j[c].mc>b&&(b=this.j[c].mc,a=this.j[c],this.j.splice(c,1))}b>(this.D&224)&&(a?J(this,a.Bc):
|
||||
J(this,160))}this.B&57344||(this.Ea=0,this.jb=this.c[7]);this.s=this.D&16;a=this.Y(this.c[7]);0<=a&&(this.c[7]=this.c[7]+2&65535);this.decode(a)}while(0<this.a);return this.g.complete?this.J-this.a:void 0===this.g.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Lb(d);B(d,c)}});function Xb(a,b){var c=b+a;Ob(this,c,a,b);return c&65535}function Yb(a,b){var c=b+a;Ob(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function Zb(a,b){a=b<<1;R(this,a);return a&65535}function $b(a,b){a=b<<1;R(this,a<<8);return a&255}function ac(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function bc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function cc(a,b){a=b&~a;Q(this,a);return a}function dc(a,b){a=b&~a;Q(this,a<<8);return a}function ec(a,b){a|=b;Q(this,a);return a}function fc(a,b){a|=b;Q(this,a<<8);return a}function gc(a,b){a=~b|65536;P(this,a);return a&65535}
|
||||
function hc(a,b){a=~b|256;P(this,a<<8);return a&255}function ic(a,b){a=b-a;this.s&128||(this.i=this.f=a,this.b=b&(b^a));return a&65535}function jc(a,b){a=b-a;var c=a<<8;b<<=8;this.s&128||(this.i=this.f=c,this.b=b&(b^c));return a&255}function kc(a,b){a=b+a;this.s&128||(this.i=this.f=a,this.b=a&(b^a));return a&65535}function lc(a,b){a=b+a;var c=a<<8;this.s&128||(this.i=this.f=c,this.b=c&(b<<8^c));return a&255}function mc(a,b){a=-b;P(this,a,a&b&32768);return a&65535}
|
||||
function nc(a,b){a=-b;P(this,a<<8,(a&b&128)<<8);return a&255}function oc(a,b){a=b<<1|this.h>>16&1;R(this,a);return a&65535}function pc(a,b){a=b<<1|this.h>>16&1;R(this,a<<8);return a&255}function qc(a,b){a=(this.h&65536|b)>>1|b<<16;R(this,a);return a&65535}function rc(a,b){a=((this.h&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function sc(a,b){var c=b-a;Pb(this,c,a,b);return c&65535}function tc(a,b){var c=b-a;Pb(this,c<<8,a<<8,b<<8);return c&255}function uc(a,b){a^=b;Q(this,a);return a&65535}
|
||||
function vc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.h=this.b=0;b&=63;b&32?(b=64-b,16<b&&(b=16),this.h=c<<17-b,c>>=b):b&&(16<b?(this.b=c,c=0):(this.h=c<<=b,(b=c>>15&65535)&&65535!==b&&(this.b=32768)));this.c[a]=c&65535;this.i=this.f=c;--this.a}
|
||||
function wc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.h=this.b=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.h=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.h=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.b=32768)):d=c;this.c[a]=d>>16&65535;this.c[a|1]=d&65535;this.i=d>>16;this.f=d>>16|d;--this.a}function X(a){a&1&&(this.h=0);a&2&&(this.b=0);a&4&&(this.f=1);a&8&&(this.i=0);--this.a}
|
||||
function xc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.h=this.b=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.f=d>>16|d,this.i=d>>16):(this.b=32768,this.f=d>>15|d,this.i=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1))}else this.f=this.i=0,this.b=32768,this.h=65536;--this.a}function yc(a){var b=Ub(this,a,8);a=a>>6&7;Qb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a}
|
||||
function zc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.i=b>>16;this.f=this.i|b;this.b=0;this.h=-32768>b||32767<b?65536:0;--this.a}function Ac(){--this.a}function Y(a){a&1&&(this.h=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.i=32768);--this.a}function Bc(){--this.a}function Cc(a){U(this,a,S(this,(a&448)>>6),uc);--this.a}function Z(){J(this,8)}function Mb(a){Dc[a>>12].call(this,a)}
|
||||
function zc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.i=b>>16;this.f=this.i|b;this.b=0;this.h=-32768>b||32767<b?65536:0;--this.a}function Ac(){--this.a}function Y(a){a&1&&(this.h=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.i=32768);--this.a}function Bc(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535;--this.a}
|
||||
function Cc(a){U(this,a,S(this,(a&448)>>6),uc);--this.a}function Z(){J(this,8)}function Mb(a){Dc[a>>12].call(this,a)}
|
||||
var Dc=[function(a){Ec[a>>8&15].call(this,a)},function(a){Q(this,Vb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Pb(this,b-a,a,b);--this.a},function(a){Q(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),cc);--this.a},function(a){U(this,a,S(this,a>>6),ec);--this.a},function(a){U(this,a,S(this,a>>6),Xb);--this.a},function(a){Fc[a>>8&15].call(this,a)},function(a){Gc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);Q(this,Wb(this,a,b,1)<<8);--this.a},
|
||||
function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Pb(this,b-a,a,b);--this.a},function(a){Q(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),dc);--this.a},function(a){V(this,a,T(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),sc);--this.a},Z],Ec=[function(a){Hc[a>>4&15].call(this,a)},function(a){this.c[7]=W(this,a);--this.a},function(a){this.f&65535&&(this.c[7]=W(this,a));--this.a},function(a){this.f&65535||(this.c[7]=W(this,a));--this.a},function(a){!this.ra()==
|
||||
!(this.b&32768)&&(this.c[7]=W(this,a));--this.a},function(a){!this.ra()!=!(this.b&32768)&&(this.c[7]=W(this,a));--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)&&(this.c[7]=W(this,a));--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)||(this.c[7]=W(this,a));--this.a},yc,yc,function(a){Ic[a>>6&3].call(this,a)},function(a){Jc[a>>6&3].call(this,a)},function(a){Kc[a>>6&3].call(this,a)},function(a){Lc[a>>6&3].call(this,a)},Z,Z],Hc=[function(a){Mc[a&15].call(this,a)},Z,Z,Z,Z,
|
||||
Z,Z,Z,function(a){var b=Sb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.F&49152||(this.F=this.F&-2017|(a&7)<<5,this.ga=1);--this.a},function(a){Nc[a&15].call(this,a)},function(a){Oc[a&15].call(this,a)},Z,Z,Z,Z],Nc=[Ac,function(){this.h=0;--this.a},function(){this.b=0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.i=0;--this.a},X,X,X,X,X,X,X],Oc=[Ac,function(){this.h=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.i=
|
||||
32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Mc=[function(){this.F&49152?(this.m|=128,J(this,4)):(this.Ab=3,this.J-=this.a,this.a=0);--this.a},function(){--this.a},function(){Rb(this);this.s|=this.F&16;--this.a},function(){--this.a},function(){--this.a},function(){this.F&49152||(Nb(this),this.w.reset());--this.a},function(){Rb(this);--this.a},function(){--this.a},Z,Z,Z,Z,Z,Z,Z,Z],Fc=[zc,zc,xc,xc,vc,vc,wc,wc,Cc,Cc,Z,Z,Z,Z,Bc,Bc],Gc=[function(a){this.ra()||(this.c[7]=W(this,a));--this.a},function(a){this.ra()&&(this.c[7]=
|
||||
W(this,a));--this.a},function(a){!O(this)&&this.f&65535&&(this.c[7]=W(this,a));--this.a},function(a){!O(this)&&this.f&65535||(this.c[7]=W(this,a));--this.a},function(a){this.b&32768||(this.c[7]=W(this,a));--this.a},function(a){this.b&32768&&(this.c[7]=W(this,a));--this.a},function(a){O(this)||(this.c[7]=W(this,a));--this.a},function(a){O(this)&&(this.c[7]=W(this,a));--this.a},function(){J(this,24);--this.a},function(){J(this,28);--this.a},function(a){Pc[a>>6&3].call(this,a)},function(a){Qc[a>>6&3].call(this,
|
||||
a)},function(a){Rc[a>>6&3].call(this,a)},function(a){Sc[a>>6&3].call(this,a)},Z,Z],Ic=[function(a){P(this,Vb(this,a,0));--this.a},function(a){U(this,a,0,gc);--this.a},function(a){U(this,a,1,kc);--this.a},function(a){U(this,a,1,ic);--this.a}],Jc=[function(a){U(this,a,0,mc);--this.a},function(a){U(this,a,O(this)?1:0,Xb);--this.a},function(a){U(this,a,O(this)?1:0,sc);--this.a},function(a){a=S(this,a);P(this,a);--this.a}],Kc=[function(a){U(this,a,0,qc);--this.a},function(a){U(this,a,0,oc);--this.a},function(a){U(this,
|
||||
a,0,ac);--this.a},function(a){U(this,a,0,Zb);--this.a}],Lc=[function(){--this.a},function(){--this.a},function(){--this.a},function(a){Q(this,Vb(this,a,this.ra?65535:0));--this.a}],Pc=[function(a){P(this,Wb(this,a,0));--this.a},function(a){V(this,a,0,hc);--this.a},function(a){V(this,a,1,lc);--this.a},function(a){V(this,a,1,jc);--this.a}],Qc=[function(a){V(this,a,0,nc);--this.a},function(a){V(this,a,O(this)?1:0,Yb);--this.a},function(a){V(this,a,O(this)?1:0,tc);--this.a},function(a){a=T(this,a);P(this,
|
||||
a<<8);--this.a}],Rc=[function(a){V(this,a,0,rc);--this.a},function(a){V(this,a,0,pc);--this.a},function(a){V(this,a,0,bc);--this.a},function(a){V(this,a,0,$b);--this.a}],Sc=[function(){--this.a},function(){--this.a},function(){--this.a},function(){--this.a}];
|
||||
function Tc(a){v.call(this,"ROM",a,Tc);this.b=null;this.l=a.addr;this.f=a.size;this.A=a.writable;this.h=a.alias;this.i=a.file;this.B=ca(this.i);if(this.i){a=this.i;var b=da(this.B);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;q(a,null,!0,function(a,b,e){Uc(c,a,b,e)})}}x(Tc);Tc.prototype.Ka=function(a,b,c,d){this.w=b;this.a=c;this.I=d;Vc(this)};Tc.prototype.va=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0};
|
||||
Tc.prototype.ua=function(){return!0};
|
||||
function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Pb(this,b-a,a,b);--this.a},function(a){Q(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),dc);--this.a},function(a){V(this,a,T(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),sc);--this.a},Z],Ec=[function(a){Hc[a>>4&15].call(this,a)},function(a){W(this,a);--this.a},function(a){this.f&65535&&W(this,a);--this.a},function(a){this.f&65535||W(this,a);--this.a},function(a){!this.sa()==!(this.b&32768)&&W(this,a);--this.a},
|
||||
function(a){!this.sa()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.sa()==!(this.b&32768)||W(this,a);--this.a},yc,yc,function(a){Ic[a>>6&3].call(this,a)},function(a){Jc[a>>6&3].call(this,a)},function(a){Kc[a>>6&3].call(this,a)},function(a){Lc[a>>6&3].call(this,a)},Z,Z],Hc=[function(a){Mc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Sb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.D&
|
||||
49152||(this.D=this.D&-2017|(a&7)<<5,this.ga=1);--this.a},function(a){Nc[a&15].call(this,a)},function(a){Oc[a&15].call(this,a)},Z,Z,Z,Z],Nc=[Ac,function(){this.h=0;--this.a},function(){this.b=0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.i=0;--this.a},X,X,X,X,X,X,X],Oc=[Ac,function(){this.h=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.i=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Mc=[function(){this.D&49152?(this.m|=128,J(this,4)):
|
||||
(this.Ab=3,this.J-=this.a,this.a=0);--this.a},function(){--this.a},function(){Rb(this);this.s|=this.D&16;--this.a},function(){J(this,12);--this.a},function(){J(this,16);--this.a},function(){this.D&49152||(Nb(this),this.A.reset());--this.a},function(){Rb(this);--this.a},function(){--this.a},Z,Z,Z,Z,Z,Z,Z,Z],Fc=[zc,zc,xc,xc,vc,vc,wc,wc,Cc,Cc,Z,Z,Z,Z,Bc,Bc],Gc=[function(a){this.sa()||W(this,a);--this.a},function(a){this.sa()&&W(this,a);--this.a},function(a){!O(this)&&this.f&65535&&W(this,a);--this.a},
|
||||
function(a){!O(this)&&this.f&65535||W(this,a);--this.a},function(a){this.b&32768||W(this,a);--this.a},function(a){this.b&32768&&W(this,a);--this.a},function(a){O(this)||W(this,a);--this.a},function(a){O(this)&&W(this,a);--this.a},function(){J(this,24);--this.a},function(){J(this,28);--this.a},function(a){Pc[a>>6&3].call(this,a)},function(a){Qc[a>>6&3].call(this,a)},function(a){Rc[a>>6&3].call(this,a)},function(a){Sc[a>>6&3].call(this,a)},Z,Z],Ic=[function(a){P(this,Vb(this,a,0));--this.a},function(a){U(this,
|
||||
a,0,gc);--this.a},function(a){U(this,a,1,kc);--this.a},function(a){U(this,a,1,ic);--this.a}],Jc=[function(a){U(this,a,0,mc);--this.a},function(a){U(this,a,O(this)?1:0,Xb);--this.a},function(a){U(this,a,O(this)?1:0,sc);--this.a},function(a){a=S(this,a);P(this,a);--this.a}],Kc=[function(a){U(this,a,0,qc);--this.a},function(a){U(this,a,0,oc);--this.a},function(a){U(this,a,0,ac);--this.a},function(a){U(this,a,0,Zb);--this.a}],Lc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.Y(a|65536);this.c[7]=
|
||||
this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(){--this.a},function(){--this.a},function(a){Q(this,Vb(this,a,this.sa?65535:0));--this.a}],Pc=[function(a){P(this,Wb(this,a,0));--this.a},function(a){V(this,a,0,hc);--this.a},function(a){V(this,a,1,lc);--this.a},function(a){V(this,a,1,jc);--this.a}],Qc=[function(a){V(this,a,0,nc);--this.a},function(a){V(this,a,O(this)?1:0,Yb);--this.a},function(a){V(this,a,O(this)?1:0,tc);--this.a},function(a){a=T(this,a);P(this,a<<8);--this.a}],Rc=
|
||||
[function(a){V(this,a,0,rc);--this.a},function(a){V(this,a,0,pc);--this.a},function(a){V(this,a,0,bc);--this.a},function(a){V(this,a,0,$b);--this.a}],Sc=[function(){--this.a},function(a){a&56?(a=Ub(this,a,0),this.w=this.D>>12&3,a=this.Y(a|65536),this.w=this.D>>14&3):(a&=7,a=6!=a||(this.D>>2&12288)===(this.D&12288)?this.c[a]:this.ha[this.D>>12&3]);Qb(this,a);Q(this,a);--this.a},function(){--this.a},function(){--this.a}];
|
||||
function Tc(a){v.call(this,"ROM",a,Tc);this.b=null;this.l=a.addr;this.f=a.size;this.w=a.writable;this.h=a.alias;this.i=a.file;this.B=ca(this.i);if(this.i){a=this.i;var b=da(this.B);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Uc(c,a,b,e)})}}x(Tc);Tc.prototype.Ka=function(a,b,c,d){this.A=b;this.a=c;this.I=d;Vc(this)};Tc.prototype.wa=function(){this.j&&(this.I&&this.I.a(this.id,this.l,this.f,this.j),delete this.j);return!0};
|
||||
Tc.prototype.va=function(){return!0};
|
||||
function Uc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Nb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.j=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
|
||||
return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.L("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);Vc(a)}}
|
||||
function Vc(a){if(!Ha(a))if(!a.i)D(a);else if(a.b&&a.w){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.g.error=!0;a.L(b)}else{b=a.l;if(Qa(a.w,b,a.f,a.A?1:sb)){var c;for(c=0;c<a.b.length;c++){var d=a.w,f=b+c;d.b[(f&d.j)>>>d.f].ac(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.w,g=e.f,h=[],k=e.l>>>f.f;0<g&&
|
||||
k<f.b.length;)h.push(f.b[k++]),g-=f.h;f=e.w;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.h}}delete a.b}}D(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Tc(d);B(d,c)}});function Wc(a){v.call(this,"RAM",a,Wc);this.h=a.addr;this.f=a.size;this.b=!1}x(Wc);l=Wc.prototype;l.Ka=function(a,b,c,d){this.w=b;this.a=c;this.I=d;D(this)};l.va=function(a,b){b||this.reset();return!0};l.ua=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.b&&this.f&&Qa(this.w,this.h,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Wc(d);B(d,c)}});function Xc(a){v.call(this,"Keyboard",a,Xc);D(this)}x(Xc);Xc.prototype.ba=function(){return!1};Xc.prototype.Ka=function(a,b,c,d){this.l=a;this.a=c;this.I=d;this.Aa=null};
|
||||
function Vc(a){if(!Ha(a))if(!a.i)D(a);else if(a.b&&a.A){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.g.error=!0;a.L(b)}else{b=a.l;if(Qa(a.A,b,a.f,a.w?1:sb)){var c;for(c=0;c<a.b.length;c++){var d=a.A,f=b+c;d.b[(f&d.j)>>>d.f].ac(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.A,g=e.f,h=[],k=e.l>>>f.f;0<g&&
|
||||
k<f.b.length;)h.push(f.b[k++]),g-=f.h;f=e.A;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.h}}delete a.b}}D(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Tc(d);B(d,c)}});function Wc(a){v.call(this,"RAM",a,Wc);this.h=a.addr;this.f=a.size;this.b=!1}x(Wc);l=Wc.prototype;l.Ka=function(a,b,c,d){this.A=b;this.a=c;this.I=d;D(this)};l.wa=function(a,b){b||this.reset();return!0};l.va=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.b&&this.f&&Qa(this.A,this.h,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Wc(d);B(d,c)}});function Xc(a){v.call(this,"Keyboard",a,Xc);D(this)}x(Xc);Xc.prototype.ca=function(){return!1};Xc.prototype.Ka=function(a,b,c,d){this.l=a;this.a=c;this.I=d;this.Aa=null};
|
||||
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Xc(d);B(d,c)}});
|
||||
function Yc(a,b,c){v.call(this,"Computer",a,Yc);this.g.M=!1;Zc(this,b);this.J=Db(this,"autoPower",a);this.h=0;this.Y=a.busWidth||a.buswidth;this.b=$c;this.B=null;this.l=this.W=!1;this.url=Db(this,"url")||"";(Math.random()+.1).toString(36);this.f=ad(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.w=new E({id:this.Nb+".bus",busWidth:this.Y},this.a,this.I);var d,f=z(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Cb)for(b=0;b<f.length;b++)d=f[b],d.L=this.i.L,d.N=this.i.N,d.Cb=
|
||||
this.i.Cb;this.N("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.N("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ka&&d.Ka(this,this.w,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.A=d:this.b=parseInt(d,10));var e;if(a=Db(this,"state")||(e=!0,a.state))b=this.K=a,e||(this.l=!0,this.b=$c),this.b&&(this.G=
|
||||
new N(this,"1.30.0"),bd(this.G)?b=null:delete this.G);!b&&this.b&&(b=cd(this))&&(this.l=!0);if(b){var g=this;q(b,null,!0,function(a,b,c){c?(g.A=null,g.l=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.B=b,g.W=!0);D(g)})}else D(this);this.u.power||(this.J=!0);!c&&this.J&&dd(this,this.cb)}else r("Unable to find CPU component")}x(Yc);var $c=0;
|
||||
function Yc(a,b,c){v.call(this,"Computer",a,Yc);this.g.M=!1;Zc(this,b);this.J=Db(this,"autoPower",a);this.h=0;this.Z=a.busWidth||a.buswidth;this.b=$c;this.B=null;this.l=this.W=!1;this.url=Db(this,"url")||"";(Math.random()+.1).toString(36);this.f=ad(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.A=new E({id:this.Nb+".bus",busWidth:this.Z},this.a,this.I);var d,f=z(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Cb)for(b=0;b<f.length;b++)d=f[b],d.L=this.i.L,d.N=this.i.N,d.Cb=
|
||||
this.i.Cb;this.N("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.N("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ka&&d.Ka(this,this.A,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var e;if(a=Db(this,"state")||(e=!0,a.state))b=this.K=a,e||(this.l=!0,this.b=$c),this.b&&(this.G=
|
||||
new N(this,"1.30.0"),bd(this.G)?b=null:delete this.G);!b&&this.b&&(b=cd(this))&&(this.l=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.w=null,g.l=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.B=b,g.W=!0);D(g)})}else D(this);this.u.power||(this.J=!0);!c&&this.J&&dd(this,this.cb)}else r("Unable to find CPU component")}x(Yc);var $c=0;
|
||||
function Zc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.X=b}function Db(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.X&&(d=a.X[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function dd(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ha(e)){Ha(e,function(){dd(a,b,c)});return}}b.call(a,c)}
|
||||
function ed(a,b){var c=new N(a,"1.30.0","validate");if(bd(c)&&fd(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Yc.prototype;
|
||||
l.cb=function(a){void 0===a&&(a=this.b||(this.B?1:$c));if(!this.h){this.h++;var b=!1,c=!1;this.R=!1;var d=this.G||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>$c){if(bd(d,this.B)){this.j=new N(this,"1.30.0","failsafe");bd(this.j)&&(gd(this,d),a=2,hd(this.j));this.j.set("timestamp",ja());id(this.j);var f=this.b&&!this.l;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=fd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?bd(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.N(e+": "+g),hd(d),bd(d)?(c=fd(d),f=!0):c=!1))}f&&ed(this,c?d:null)}else 2==a&&d.clear()}else ed(this);delete this.B;delete this.G}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=jd(this,g,d,b,c));b=[d,a,c];-1!=a?dd(this,this.Rb,b):this.Rb(b)}};
|
||||
function jd(a,b,c,d,f){if(!b.g.M){b.g.M=!0;if(b.va){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.va(e,d)&&e&&(r("Unable to restore state for "+b.type),a.K&&!a.W?(c.clear(),a.b=$c,window&&window.location.reload()):a.R=!0,b.va(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.Z=!0;this.g.M=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(jd(this,this.a,b,c,a),this.a.Za());this.R&&(gd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0};
|
||||
function gd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;q("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function kd(a,b,c){var d,f="none";if(a.h)return null;a.h--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ua&&(c&&M(a.a),d=a.a.ua(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.g.M=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.g.M&&(m.ua&&(d=m.ua(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.g.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&ld(a,a.f,e.toString()),id(g)&&id(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.g.M=!1,b=a.u.power)&&(b.textContent="Power");a.h=0;return f}l.reset=function(){this.w&&this.w.reset&&this.w.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
function jd(a,b,c,d,f){if(!b.g.M){b.g.M=!0;if(b.wa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.wa(e,d)&&e&&(r("Unable to restore state for "+b.type),a.K&&!a.W?(c.clear(),a.b=$c,window&&window.location.reload()):a.R=!0,b.wa(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.Rb=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.g.M=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(jd(this,this.a,b,c,a),this.a.Za());this.R&&(gd(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0};
|
||||
function gd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function kd(a,b,c){var d,f="none";if(a.h)return null;a.h--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.va&&(c&&M(a.a),d=a.a.va(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.g.M=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.g.M&&(m.va&&(d=m.va(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.g.M=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&ld(a,a.f,e.toString()),id(g)&&id(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.g.M=!1,b=a.u.power)&&(b.textContent="Power");a.h=0;return f}l.reset=function(){this.A&&this.A.reset&&this.A.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
l.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
l.ba=function(a,b,c){var d=this;switch(b){case "power":return this.u[b]=c,c.onclick=function(){d.h||(d.g.M?kd(d,!1,!0):dd(d,d.cb))},!0;case "reset":return this.u[b]=c,c.onclick=function(){if(d.g.M&&!d.h)if(d.b&&!d.A){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kd(d,a,!0);!a&&d.K?window&&window.location.reload():d.cb($c)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.u[b]=
|
||||
c,c.onclick=function(){var a=ad(d,!0);if(a){var b=!!(d.b&&!d.A||d.K),c=kd(d,b);b?ld(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
l.ca=function(a,b,c){var d=this;switch(b){case "power":return this.u[b]=c,c.onclick=function(){d.h||(d.g.M?kd(d,!1,!0):dd(d,d.cb))},!0;case "reset":return this.u[b]=c,c.onclick=function(){if(d.g.M&&!d.h)if(d.b&&!d.w){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kd(d,a,!0);!a&&d.K?window&&window.location.reload():d.cb($c)}else d.reset(),d.a&&d.a.Za()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.u[b]=
|
||||
c,c.onclick=function(){var a=ad(d,!0);if(a){var b=!!(d.b&&!d.w||d.K),c=kd(d,b);b?ld(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function ad(a,b){var c=a.f;c||((c=na("user"),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=md(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
|
||||
function md(a,b){a.f=null;b=q(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function cd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+nd(a,"1.30.0"));return b}
|
||||
function ld(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=nd(a,"1.30.0");d.data=c;b=q(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("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.L(c),oa("user",""),a.f=null)}}
|
||||
l.Na=function(a){this.a&&this.a.Na(a);this.i&&this.i.Na(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new Yc(g,d,!0);B(g,e);g.J&&dd(g,g.cb)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.Z&&!c.g.M&&c.cb(-1)}});
|
||||
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.g.M&&kd(c,!(!c.b||c.A),!0)}});function N(a,b,c){this.id=a.id;this.key=nd(a,b,c);this.I=a.I;hd(this,a.gc)}function nd(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}
|
||||
function md(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function cd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+nd(a,"1.30.0"));return b}
|
||||
function ld(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=nd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.L("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.L(c),oa("user",""),a.f=null)}}
|
||||
l.Na=function(a){this.a&&this.a.Na(a);this.i&&this.i.Na(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new Yc(g,d,!0);B(g,e);g.J&&dd(g,g.cb)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.$&&!c.g.M&&c.cb(-1)}});
|
||||
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.g.M&&kd(c,!(!c.b||c.w),!0)}});function N(a,b,c){this.id=a.id;this.key=nd(a,b,c);this.I=a.I;hd(this,a.gc)}function nd(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}
|
||||
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){hd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}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(f){}b.splice(c,
|
||||
1);c=0}}};function hd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function id(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function fd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function bd(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}var od=0;
|
||||
function pd(a,b,c,d,f,e){f("Loading "+a+"...");q(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):qd(h,a,b,c,d,f,e)})}
|
||||
function pd(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):qd(h,a,b,c,d,f,e)})}
|
||||
function qd(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Ea(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){e=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?rd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function rd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");q(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){e=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?rd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function rd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);rd(a,b,c)}})}else c(a,null)}
|
||||
function sd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--od||va(!0));k=!1}var g,h,k=!0;od++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));p.appendChild(y)}c||
|
||||
function sd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--od||va(!0));k=!1}var g,h,k=!0;od++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));q.appendChild(y)}c||
|
||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?pd(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--od||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--od||va(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?pd(b,a,d,!0,f,m):qd(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(L){e(L.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return sd(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue