Laying the groundwork for an attempt at PDP-11 cycle counting (it won't be exact, but it should be close)
This commit is contained in:
parent
a731313215
commit
af6b66d2a3
4 changed files with 221 additions and 193 deletions
|
|
@ -468,7 +468,7 @@ PDP11.opADCB = function(opCode)
|
|||
PDP11.opADD = function(opCode)
|
||||
{
|
||||
this.updateWordByMode(opCode, this.readWordByMode(opCode >> PDP11.SRCMODE.SHIFT), PDP11.fnADD);
|
||||
this.nStepCycles -= 1;
|
||||
this.nStepCycles -= (this.dstMode? (8 + 1) + (this.srcReg && this.dstReg >= 6? 1 : 0) : (this.srcMode? (3 + 2) : (2 + 1) + (this.dstReg == 7? 2 : 0)));
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -165,7 +165,19 @@ CPUStatePDP11.prototype.initRegs = function()
|
|||
this.controlReg = [ // various control registers we don't really care about
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
];
|
||||
|
||||
/*
|
||||
* opFlags contains various triggers that stepCPU() needs to be aware of
|
||||
*/
|
||||
this.opFlags = 0;
|
||||
|
||||
/*
|
||||
* srcMode and dstMode are set by getVirtualByMode(), indicating to the opcode handlers the mode(s) used
|
||||
* as part of the current opcode. Ditto for srcReg and dstReg.
|
||||
*/
|
||||
this.srcMode = this.dstMode = 0;
|
||||
this.srcReg = this.dstReg = 0;
|
||||
|
||||
this.cpuType = 70;
|
||||
this.trapPSW = -1;
|
||||
this.loopRate = 9999; // instructions we can execute in 12ms
|
||||
|
|
@ -1214,6 +1226,7 @@ CPUStatePDP11.prototype.readByteFromPhysical = function(physicalAddress)
|
|||
*/
|
||||
CPUStatePDP11.prototype.writeByteToPhysical = function(physicalAddress, data)
|
||||
{
|
||||
if (physicalAddress & 1) this.nStepCycles--;
|
||||
this.bus.setByte(physicalAddress, data & 0xff);
|
||||
};
|
||||
|
||||
|
|
@ -1293,17 +1306,29 @@ CPUStatePDP11.prototype.pushWord = function(data)
|
|||
*/
|
||||
CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
||||
{
|
||||
var virtualAddress, stepSize, reg = addressMode & 7;
|
||||
var virtualAddress, stepSize;
|
||||
var addrDSpace = (accessFlags & PDP11.ACCESS.VIRT)? 0 : this.addrDSpace;
|
||||
|
||||
switch ((addressMode >> 3) & 7) {
|
||||
var reg = addressMode & 7;
|
||||
var mode = (addressMode >> 3) & 7;
|
||||
|
||||
if (accessFlags & PDP11.ACCESS.WRITE) {
|
||||
this.dstMode = mode; this.dstReg = reg;
|
||||
} else {
|
||||
this.srcMode = mode; this.srcReg = reg;
|
||||
}
|
||||
|
||||
/*
|
||||
* Modes that need to auto-increment or auto-decrement will break,
|
||||
* n order to perform the update; others will return an address immediately.
|
||||
*/
|
||||
switch (mode) {
|
||||
/*
|
||||
* Mode 0: Registers don't have a virtual address so trap
|
||||
*/
|
||||
case 0:
|
||||
this.trap(PDP11.TRAP.BUS_ERROR, PDP11.REASON.NOREGADDR);
|
||||
break;
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* Mode 1: (R)
|
||||
|
|
@ -1320,7 +1345,8 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
|||
this.opFlags |= PDP11.OPFLAG.TRAP_SP;
|
||||
}
|
||||
}
|
||||
return (reg === 7 ? this.regsGen[reg] : (this.regsGen[reg] | addrDSpace));
|
||||
this.nStepCycles -= 2 + 1;
|
||||
return (reg === 7? this.regsGen[reg] : (this.regsGen[reg] | addrDSpace));
|
||||
|
||||
/*
|
||||
* Mode 2: (R)+
|
||||
|
|
@ -1334,6 +1360,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
|||
stepSize = 1;
|
||||
}
|
||||
}
|
||||
this.nStepCycles -= 2 + 1;
|
||||
break;
|
||||
|
||||
/*
|
||||
|
|
@ -1346,6 +1373,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
|||
virtualAddress = this.readWordFromVirtual(virtualAddress);
|
||||
// if (reg === 7) LOG_ADDRESS(virtualAddress); // @#n not operational
|
||||
virtualAddress |= addrDSpace;
|
||||
this.nStepCycles -= 5 + 2;
|
||||
break;
|
||||
|
||||
/*
|
||||
|
|
@ -1355,9 +1383,8 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
|||
stepSize = -2;
|
||||
if (reg < 6 && (accessFlags & PDP11.ACCESS.BYTE)) stepSize = -1;
|
||||
virtualAddress = (this.regsGen[reg] + stepSize) & 0xffff;
|
||||
if (reg !== 7) {
|
||||
virtualAddress |= addrDSpace;
|
||||
}
|
||||
if (reg !== 7) virtualAddress |= addrDSpace;
|
||||
this.nStepCycles -= 3 + 1;
|
||||
break;
|
||||
|
||||
/*
|
||||
|
|
@ -1368,6 +1395,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
|||
virtualAddress = (this.regsGen[reg] - 2) & 0xffff;
|
||||
if (reg !== 7) virtualAddress |= addrDSpace;
|
||||
virtualAddress = this.readWordFromVirtual(virtualAddress) | addrDSpace;
|
||||
this.nStepCycles -= 6 + 2;
|
||||
break;
|
||||
|
||||
/*
|
||||
|
|
@ -1376,6 +1404,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
|||
case 6:
|
||||
virtualAddress = this.getPCWord();
|
||||
virtualAddress = ((virtualAddress + this.regsGen[reg]) & 0xffff) | addrDSpace;
|
||||
this.nStepCycles -= 4 + 2;
|
||||
return virtualAddress;
|
||||
|
||||
/*
|
||||
|
|
@ -1385,6 +1414,7 @@ CPUStatePDP11.prototype.getVirtualByMode = function(addressMode, accessFlags)
|
|||
virtualAddress = this.getPCWord();
|
||||
virtualAddress = (virtualAddress + this.regsGen[reg]) & 0xffff;
|
||||
virtualAddress = this.readWordFromVirtual(virtualAddress | PDP11.ACCESS.DSPACE) | addrDSpace;
|
||||
this.nStepCycles -= 7 + 3;
|
||||
return virtualAddress;
|
||||
}
|
||||
|
||||
|
|
@ -1454,7 +1484,7 @@ CPUStatePDP11.prototype.readWordFromPrevSpace = function(opCode, accessFlags)
|
|||
src = this.regsAltStack[(this.regPSW >> 12) & 3];
|
||||
}
|
||||
} else {
|
||||
var addr = this.getVirtualByMode(opCode, PDP11.ACCESS.WORD);
|
||||
var addr = this.getVirtualByMode(opCode, PDP11.ACCESS.READ_WORD);
|
||||
if (!(accessFlags & PDP11.ACCESS.DSPACE)) {
|
||||
if ((this.regPSW & 0xf000) !== 0xf000) addr &= 0xffff;
|
||||
}
|
||||
|
|
@ -1472,7 +1502,6 @@ CPUStatePDP11.prototype.readWordFromPrevSpace = function(opCode, accessFlags)
|
|||
* @param {number} opCode
|
||||
* @param {number} accessFlags (really just PDP11.ACCESS.DSPACE or PDP11.ACCESS.ISPACE)
|
||||
* @param {number} data
|
||||
* @return {number}
|
||||
*/
|
||||
CPUStatePDP11.prototype.writeWordToPrevSpace = function(opCode, accessFlags, data)
|
||||
{
|
||||
|
|
@ -1487,14 +1516,13 @@ CPUStatePDP11.prototype.writeWordToPrevSpace = function(opCode, accessFlags, dat
|
|||
this.regsAltStack[(this.regPSW >> 12) & 3] = data;
|
||||
}
|
||||
} else {
|
||||
var addr = this.getVirtualByMode(opCode, PDP11.ACCESS.WORD);
|
||||
var addr = this.getVirtualByMode(opCode, PDP11.ACCESS.WRITE_WORD);
|
||||
if (!(accessFlags & PDP11.ACCESS.DSPACE)) addr &= 0xffff;
|
||||
this.mmuMode = (this.regPSW >> 12) & 3;
|
||||
addr = this.mapVirtualToPhysical(addr | (accessFlags & PDP11.ACCESS.DSPACE), PDP11.ACCESS.WRITE);
|
||||
this.mmuMode = (this.regPSW >> 14) & 3;
|
||||
this.writeWordToPhysical(addr, data);
|
||||
}
|
||||
return data;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -9,97 +9,97 @@ function u(a){window&&window.alert(a)}function ta(a){var b=!1;window&&(b=window.
|
|||
function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(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}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,Ga=!1,Ha=!0;function Oa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Pa(a){Ea.init.push(a)}
|
||||
function Qa(a){if(Ha)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ra(a){!Ha&&a?(Ha=!0,Fa&&Sa("init"),Ga&&Sa("show")):Ha=a}function Sa(a){Ea[a]&&Qa(Ea[a])}Oa("onload",function(){Fa=!0;Qa(Ea.init)});Oa("onpageshow",function(){Ga=!0;Qa(Ea.show)});Oa(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Qa(Ea.exit)});
|
||||
function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qc=b.comment;this.Rc=b;b=this.id.indexOf(".");0>b?this.Eb=this.id:(this.sc=this.id.substr(0,b),this.Eb=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Jb:!1,fc:!1,ia:!1,error:!1};this.Yb=null;this.u.error=!1;this.J={};this.D=null;this.ka=d||0;x.push(this)}var Ta=void 0,Ua={};
|
||||
function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.uc=b.comment;this.Sc=b;b=this.id.indexOf(".");0>b?this.Eb=this.id:(this.wc=this.id.substr(0,b),this.Eb=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Jb:!1,ic:!1,ia:!1,error:!1};this.ac=null;this.u.error=!1;this.J={};this.D=null;this.ka=d||0;x.push(this)}var Ta=void 0,Ua={};
|
||||
if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}function Ya(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 B(a,b){b||(b=w);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Za=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Za={},x=[];function $a(a,b,c){Za[a]&&b&&(Za[a][b]=c)}function ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function bb(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<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
|
||||
function cb(a,b){b=D(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=C(e))&&g.binding&&a.va(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||
function D(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}
|
||||
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},va:function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.jb=this.J[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.pa=function(a){this.f(a,this.Eb)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Eb+": "+a)},pa:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},Pa:function(){return this.u.ia=!0},Oa:function(a,b){b&&(this.u.ia=!1);return!0}};function db(a,b,c,d){a.D&&(!0===c||E(a,c|0))&&a.D.message(b,d)}function E(a,b){if(a.D){a===a.D?b|=0:b=b||a.ka;var c=a.D.ka&b;return!!b&&c===b||!!(c&a.D.Lc)}return!1}
|
||||
function eb(a,b){if(a.u.fc)return a.u.Jb=!1,a.u.fc=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.Jb=b;return a.u.Jb}function fb(a,b){a.u.Jb&&(b?a.u.fc=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.Jb}function F(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function sb(a,b){b&&(a.u.ready?b():a.Yb=b);return a.u.ready}function tb(a){return a.u.error?(a.f(a.toString()+" error"),!0):!1}function ub(a,b){a.u.error=!0;a.pa(b)}
|
||||
this.pa=function(a){this.f(a,this.Eb)}),!0;default:return!1}},log:function(){},f:function(){},status:function(a){this.f(this.Eb+": "+a)},pa:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},Pa:function(){return this.u.ia=!0},Oa:function(a,b){b&&(this.u.ia=!1);return!0}};function db(a,b,c,d){a.D&&(!0===c||E(a,c|0))&&a.D.message(b,d)}function E(a,b){if(a.D){a===a.D?b|=0:b=b||a.ka;var c=a.D.ka&b;return!!b&&c===b||!!(c&a.D.Oc)}return!1}
|
||||
function eb(a,b){if(a.u.ic)return a.u.Jb=!1,a.u.ic=!1;if(a.u.error)return a.f(a.toString()+" error"),!1;a.u.Jb=b;return a.u.Jb}function fb(a,b){a.u.Jb&&(b?a.u.ic=!0:void 0===b&&a.f(a.toString()+" busy"));return a.u.Jb}function F(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.ac;a.ac=null;b&&b()}}function sb(a,b){b&&(a.u.ready?b():a.ac=b);return a.u.ready}function tb(a){return a.u.error?(a.f(a.toString()+" error"),!0):!1}function ub(a,b){a.u.error=!0;a.pa(b)}
|
||||
var vb="undefined"!==typeof ArrayBuffer,G={cpu:1,trap:16,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 wb(a){w.call(this,"Panel",a,wb)}B(wb);l=wb.prototype;l.va=function(a,b,c,d){return this.i&&this.i.va(a,b,c,d)||this.b&&this.b.va(a,b,c,d)||this.D&&this.D.va(a,b,c,d)?!0:this.parent.va.call(this,a,b,c,d)};l.Ya=function(a,b,c,d){this.i=a;this.G=b;this.b=c;this.D=d};
|
||||
l.Pa=function(a,b){b||xb();return!0};l.Oa=function(){return!0};l.Ea=function(){};function xb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=C(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new wb(f));cb(e,d);a&&F(e)}}Pa(xb);
|
||||
function yb(a,b,c){w.call(this,"Bus",a,yb,64);this.b=b;this.D=c;this.K=a.busWidth||16;this.F=Math.pow(2,this.K);this.j=this.F-1|0;this.Y=(this.K>>1)+2;10>this.Y&&(this.Y=10);15<this.Y&&(this.Y=15);this.Ba=1<<this.Y;this.R=this.Ba>>2;this.i=this.Ba-1;this.C=this.F/this.Ba|0;this.A=this.C-1;this.Ta=[];this.H=null;this.Kb=this.Hc;a=new H;zb(a,this.D);this.N=Array(this.C);for(b=0;b<this.C;b++)this.N[b]=a;this.Fb=Array(4);this.Fb[0]=Ab;this.Fb[1]=Bb;this.Fb[2]=Cb;this.Fb[3]=Db;Eb(this,this.F-8192,8192,
|
||||
Fb,this);Eb(this,57344,8192,Fb,this);F(this)}B(yb);function Ab(a,b){var c=this.controller,d=c.Ta[a];if(d){E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0);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.Ta[a&-2])&&(E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+r(b));return c.Kb(b,-1,1)}
|
||||
function Bb(a,b,c){var d=this.controller,f=d.Ta[a];if(f){E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);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.Ta[a&-2])&&(E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),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 @"+r(c));d.Kb(c,b,1)}
|
||||
function Cb(a,b){var c=this.controller;if(a=c.Ta[a]){E(c)&&db(c,a[5]+".readWord("+r(b)+")",0,!0);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 @"+r(b));return c.Kb(b,-1,0)}function Db(a,b,c){var d=this.controller;if(a=d.Ta[a]){E(d)&&db(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);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 @"+r(c));d.Kb(c,b,0)}l=yb.prototype;
|
||||
l.reset=function(){this.H&&this.H()};l.Hc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0};
|
||||
function Eb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Y;0<g&&h<a.N.length;){var k=a.N[h],m=h*a.Ba,n=a.Ba-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Wb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Wb){n=k.size-(e-m);n>g&&(n=g);k.Wb=e-k.w+n;e=m+a.Ba;g-=n;h++;continue}}return Gb(1,e,g)}e=new H(e,n,a.Ba,d,f);zb(e,a.D,k);a.N[h++]=e;e=m+a.Ba;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Hb[d]+" at "+t(b,8,!0)),!0):Gb(2,b,c)}
|
||||
l.rb=function(a){return this.N[(a&this.j)>>>this.Y].vb(a&this.i,a)};l.Ia=function(a){var b=a&this.i,c=(a&this.j)>>>this.Y;return b!=this.i?this.N[c].Pb(b,a):this.N[c++].vb(b,a)|this.N[c&this.A].vb(0,a+1)<<8};function Ib(a,b){var c=b&a.i,d=(b&a.j)>>>a.Y;return c!=a.i?a.N[d].kc(c,b):a.N[d++].Ob(c,b)|a.N[d&a.A].Ob(0,b+1)<<8}l.Tb=function(a,b){this.N[(a&this.j)>>>this.Y].Bb(a&this.i,b&255,a)};
|
||||
l.ob=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.Y;c!=this.i?this.N[d].Gc(c,b&65535,a):(this.N[d++].Bb(c,b&255,a),this.N[d&this.A].Bb(0,b>>8&255,a+1))};function Jb(a){for(var b=0,c=[],d=0;d<a.C;d++){var f=a.N[d];if(f.Xa||f.Pc){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 Kb(a,b){var c=Lb,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,n=f[3]?f[3].bind(b):null,f=f[4],p=+d;p<=g;p+=2){var q=p&8191;void 0!==e.Ta[q]?u("I/O address already registered: "+t(p,8,!0)):e.Ta[q]=[h,k,m,n,!1,f||"unknown"]}}function Mb(a,b,c){a.H=b;a.Kb=c}function Gb(a,b,c){u("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}
|
||||
function I(a){w.call(this,"Device",a,I);this.i={jc:[],ta:0,wa:128,D:127,Nc:0};this.A={data:0,wd:0,sb:20,pd:0};this.j={L:0,oc:-1};this.C={Rb:2496,ma:0,P:128,Sb:0,Qb:0,ua:0,Bc:0,oa:[],hb:[406,406,406,406],aa:[12,12,12,12]};this.F={L:129,Ib:0,fa:0,$a:0,Ua:0,fb:0,oa:[],aa:[40,40,40,40],hb:[1024,1024,512,512],Jc:[157,157,29,29]};this.H={b:[8210,8208,8210,8226],aa:[22,22,22,50],gb:[19,19,19,32],ec:[815,411,815,630],oa:[],S:2176,yb:0,wb:0,Da:[0,0,0,0,0,0,0,0],Ca:0,qa:[4544,4544,4544,4544,4544,4544,4544,
|
||||
4544],xb:[0,0,0,0,0,0,0,0],nb:0,md:[0,0,0,0,0,0,0,0],Cc:0,Dc:[0,0,0,0,0,0,0,0],J:[0,0,0,0,0,0,0,0],nd:[1,2,3,4,5,6,7,8],Ec:[0,0,0,0,0,0,0,0],Ra:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],ld:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],eb:0,mc:0}}B(I);
|
||||
function yb(a,b,c){w.call(this,"Bus",a,yb,64);this.b=b;this.D=c;this.K=a.busWidth||16;this.F=Math.pow(2,this.K);this.j=this.F-1|0;this.Y=(this.K>>1)+2;10>this.Y&&(this.Y=10);15<this.Y&&(this.Y=15);this.Ba=1<<this.Y;this.R=this.Ba>>2;this.i=this.Ba-1;this.C=this.F/this.Ba|0;this.A=this.C-1;this.Ta=[];this.H=null;this.Mb=this.Kc;a=new H;zb(a,this.D);this.N=Array(this.C);for(b=0;b<this.C;b++)this.N[b]=a;this.Fb=Array(4);this.Fb[0]=Ab;this.Fb[1]=Bb;this.Fb[2]=Cb;this.Fb[3]=Db;Eb(this,this.F-8192,8192,
|
||||
Fb,this);Eb(this,57344,8192,Fb,this);F(this)}B(yb);function Ab(a,b){var c=this.controller,d=c.Ta[a];if(d){E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0);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.Ta[a&-2])&&(E(c)&&db(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.f("warning: unconverted read access to byte @"+r(b));return c.Mb(b,-1,1)}
|
||||
function Bb(a,b,c){var d=this.controller,f=d.Ta[a];if(f){E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);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.Ta[a&-2])&&(E(d)&&db(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),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 @"+r(c));d.Mb(c,b,1)}
|
||||
function Cb(a,b){var c=this.controller;if(a=c.Ta[a]){E(c)&&db(c,a[5]+".readWord("+r(b)+")",0,!0);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 @"+r(b));return c.Mb(b,-1,0)}function Db(a,b,c){var d=this.controller;if(a=d.Ta[a]){E(d)&&db(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);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 @"+r(c));d.Mb(c,b,0)}l=yb.prototype;
|
||||
l.reset=function(){this.H&&this.H()};l.Kc=function(){return 0};l.Pa=function(a,b){b||this.reset();return!0};
|
||||
function Eb(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Y;0<g&&h<a.N.length;){var k=a.N[h],m=h*a.Ba,n=a.Ba-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Yb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Yb){n=k.size-(e-m);n>g&&(n=g);k.Yb=e-k.w+n;e=m+a.Ba;g-=n;h++;continue}}return Gb(1,e,g)}e=new H(e,n,a.Ba,d,f);zb(e,a.D,k);a.N[h++]=e;e=m+a.Ba;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Hb[d]+" at "+t(b,8,!0)),!0):Gb(2,b,c)}
|
||||
l.rb=function(a){return this.N[(a&this.j)>>>this.Y].vb(a&this.i,a)};l.Ja=function(a){var b=a&this.i,c=(a&this.j)>>>this.Y;return b!=this.i?this.N[c].Rb(b,a):this.N[c++].vb(b,a)|this.N[c&this.A].vb(0,a+1)<<8};function Ib(a,b){var c=b&a.i,d=(b&a.j)>>>a.Y;return c!=a.i?a.N[d].oc(c,b):a.N[d++].Qb(c,b)|a.N[d&a.A].Qb(0,b+1)<<8}l.Vb=function(a,b){this.N[(a&this.j)>>>this.Y].Bb(a&this.i,b&255,a)};
|
||||
l.ob=function(a,b){var c=a&this.i,d=(a&this.j)>>>this.Y;c!=this.i?this.N[d].Jc(c,b&65535,a):(this.N[d++].Bb(c,b&255,a),this.N[d&this.A].Bb(0,b>>8&255,a+1))};function Jb(a){for(var b=0,c=[],d=0;d<a.C;d++){var f=a.N[d];if(f.Xa||f.Rc){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 Kb(a,b){var c=Lb,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,n=f[3]?f[3].bind(b):null,f=f[4],p=+d;p<=g;p+=2){var q=p&8191;void 0!==e.Ta[q]?u("I/O address already registered: "+t(p,8,!0)):e.Ta[q]=[h,k,m,n,!1,f||"unknown"]}}function Mb(a,b,c){a.H=b;a.Mb=c}function Gb(a,b,c){u("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}
|
||||
function I(a){w.call(this,"Device",a,I);this.i={nc:[],ta:0,wa:128,D:127,Qc:0};this.A={data:0,wd:0,sb:20,pd:0};this.j={L:0,sc:-1};this.C={Tb:2496,ma:0,P:128,Ub:0,Sb:0,ua:0,Ec:0,oa:[],hb:[406,406,406,406],aa:[12,12,12,12]};this.F={L:129,Ib:0,fa:0,$a:0,Ua:0,fb:0,oa:[],aa:[40,40,40,40],hb:[1024,1024,512,512],Mc:[157,157,29,29]};this.H={b:[8210,8208,8210,8226],aa:[22,22,22,50],gb:[19,19,19,32],hc:[815,411,815,630],oa:[],S:2176,yb:0,wb:0,Da:[0,0,0,0,0,0,0,0],Ca:0,qa:[4544,4544,4544,4544,4544,4544,4544,
|
||||
4544],xb:[0,0,0,0,0,0,0,0],nb:0,md:[0,0,0,0,0,0,0,0],Fc:0,Gc:[0,0,0,0,0,0,0,0],J:[0,0,0,0,0,0,0,0],nd:[1,2,3,4,5,6,7,8],Hc:[0,0,0,0,0,0,0,0],Ra:[0,0,0,0,0,0,0,0],gc:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],ld:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],eb:0,qc:0}}B(I);
|
||||
var Nb=[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=I.prototype;l.Ya=function(a,b,c,d){this.G=b;this.b=c;this.D=d;var f=this;this.j.oc=Wb(this.b,function(){f.j.Za|=128;f.j.Za&64&&(J(f.b,0,6,64),Xb(f.b,f.j.oc))});Kb(b,this);Mb(b,this.reset.bind(this),this.Ic.bind(this));F(this)};l.$c=function(){var a=this.j.Za;this.j.Za&=-129;return a};
|
||||
l.rd=function(a){this.j.Za=a;a&64&&Xb(this.b,this.j.oc);this.j.Za=a&-129};l.ad=function(){var a=this.b;return a.C&62337|a.ra<<5|a.sa<<1};l.sd=function(a){var b=4,c=this.b;c.C=a&=62337;c.ra=a>>5&3;c.sa=a>>1&15;c.Zb=a&257?a&1?6:4:0;Yb(c);a=c.C;a&1|256&&(b=this.b.mb&16?1:2);this.A.sb=this.A.sb&-8|b};l.cd=function(){return this.i.ta};l.ud=function(a){this.i.ta=this.i.ta&128|a&-129};l.dd=function(){return this.i.wa};
|
||||
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=I.prototype;l.Ya=function(a,b,c,d){this.G=b;this.b=c;this.D=d;var f=this;this.j.sc=Wb(this.b,function(){f.j.Za|=128;f.j.Za&64&&(J(f.b,0,6,64),Xb(f.b,f.j.sc))});Kb(b,this);Mb(b,this.reset.bind(this),this.Lc.bind(this));F(this)};l.$c=function(){var a=this.j.Za;this.j.Za&=-129;return a};
|
||||
l.rd=function(a){this.j.Za=a;a&64&&Xb(this.b,this.j.sc);this.j.Za=a&-129};l.ad=function(){var a=this.b;return a.C&62337|a.ra<<5|a.sa<<1};l.sd=function(a){var b=4,c=this.b;c.C=a&=62337;c.ra=a>>5&3;c.sa=a>>1&15;c.bc=a&257?a&1?6:4:0;Yb(c);a=c.C;a&1|256&&(b=this.b.mb&16?1:2);this.A.sb=this.A.sb&-8|b};l.cd=function(){return this.i.ta};l.ud=function(a){this.i.ta=this.i.ta&128|a&-129};l.dd=function(){return this.i.wa};
|
||||
l.vd=function(a){if(128==(this.i.wa&192)&&a&64){var b=this;J(this.b,8,4,52,function(){b.i.wa|=128;return!!(b.i.wa&64)})}this.i.wa=this.i.wa&128|a&-129};l.bd=function(){return Zb(this.b)};l.td=function(a){$b(this.b,a&-1809|Zb(this.b)&1808);this.b.B|=128};
|
||||
function ac(a){var b=a.C,c,d,f,e=b.ua>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.ed,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.aa[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Rb=2496;b.ma=0;b.P=128;b.ua=0;break;case 1:if((b.ua>>4&511)>=b.hb[e]){b.ma|=32832;b.P|=49152;break}if((b.ua&15)>=b.aa[e]){b.ma|=32800;b.P|=49152;break}c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Qb;f=65536-b.Sb&65535;bc(a,b.oa[e],c,d,f);return;case 2:if((b.ua>>4&511)>=b.hb[e])b.ma|=
|
||||
32832,b.P|=49152;else if((b.ua&15)>=b.aa[e])b.ma|=32800,b.P|=49152;else{c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Qb;f=65536-b.Sb&65535;a.ac(b.oa[e],c,d,f);return}}b.Rb=e<<13|b.Rb&8176|b.ua%9&15;J(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}l.ed=function(a,b,c,d,f){var e=this.C;e.Qb=d&65535;e.P=e.P&-49|d>>12&48;e.Sb=65536-f&65535;switch(a){case 1:e.ma|=33024;e.P|=49152;break;case 2:e.ma|=33792,e.P|=49152}J(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})};
|
||||
function cc(a){var b=a.F,c,d,f,e=b.L>>8&3;b.L&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.fd,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.L>>1&7){case 2:b.$a&8&&(b.L&=63);b.$a=b.Jc[e]|b.fb&64;break;case 3:1==(b.fa&3)&&(b.fb=b.fa&4?b.fb+(b.fa&65408)&65408|b.fa<<2&64:b.fb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.fa>>6>=b.hb[e]){b.L|=37888;break}if((b.fa&63)>=b.aa[e]){b.L|=37888;break}c=(b.fa>>6)*
|
||||
b.aa[e]+(b.fa&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;bc(a,b.oa[e],c,d,f);return;case 6:if(b.fa>>6>=b.hb[e])b.L|=37888;else if((b.fa&63)>=b.aa[e])b.L|=37888;else{c=(b.fa>>6)*b.aa[e]+(b.fa&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;a.ac(b.oa[e],c,d,f);return}}J(a.b,20,5,112,function(){b.L|=129;return!!(b.L&64)})}
|
||||
l.fd=function(a,b,c,d,f){var e=this.F;e.Ib=d&65535;e.L=e.L&-49|d>>12&48;e.Ua=d>>16&63;e.fa=~~(c/e.aa[b.Ma])<<6|c%e.aa[b.Ma];e.fb=e.fa;e.$a=65536-f&65535;switch(a){case 1:e.L|=33792;break;case 2:e.L|=40960}J(this.b,20,5,112,function(){e.L|=129;return!!(e.L&64)})};function dc(a){a=a.H;a.S=2176;a.Ca=0;a.qa=[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.eb=a.mc=0}
|
||||
function ec(a,b){var c=a.H,d,f,e;c.S&=-16513;c.Ca&=-2049;c.qa[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.gd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.dc[b]=c.Ra[b];c.S|=32896;c.qa[b]|=32896;c.nb|=1<<b;break;case 9:dc(a);break;case 19:c.qa[b]|=64;break;case 49:if(c.Ra[b]>=c.ec[0]||c.Da[b]>>8>=c.gb[0]||(c.Da[b]&255)>=c.aa[0]){c.xb[b]|=1024;c.S|=49152;break}d=(c.Ra[b]*c.gb[0]+(c.Da[b]>>8))*
|
||||
c.aa[0]+(c.Da[b]&255);f=(c.eb&63)<<16|c.wb;e=65536-c.yb&65535;bc(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.ec[0]||c.Da[b]>>8>=c.gb[0]||(c.Da[b]&255)>=c.aa[0])c.xb[b]|=1024,c.S|=49152;else{d=(c.Ra[b]*c.gb[0]+(c.Da[b]>>8))*c.aa[0]+(c.Da[b]&255);f=(c.eb&63)<<16|c.wb;e=65536-c.yb&65535;a.ac(c.oa[b],d,f,e);return}}J(a.b,3,5,172,function(){c.S=c.S&65534|128;c.qa[b]|=128;return!!(c.S&64)})}
|
||||
l.gd=function(a,b,c,d,f){var e=this.H;e.yb=65536-f&65535;e.wb=d&65535;e.S=e.S&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.gb[0]);e.Da[b.Ma]=f%e.gb[0]<<8|c%e.aa[0];e.dc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<<b.Ma;c>=b.Xc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Ca|=512;e.S|=49152;break;case 2:e.Ca|=2048,e.S|=49152}J(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.S=e.S&65534|128;return!!(e.S&64)})};
|
||||
function fc(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048<c.Xc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Va<<1)+"-"+(((d+g)*c.Va<<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.ic(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.Va;p++)c.cache[n][p]=q<m.length?
|
||||
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Va<<1;n++}g(c,d,f,e)}}};h.send(null)}function K(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.M(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.ac=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){fc(this,this.ac,a,b,c,d);return}for(f=0;f<a.Va&&0<d;f++){var e=a.Wc?gc(this.b,c):c;this.b.G.ob(e,a.cache[b][f]&65535);c+=2;--d}b++}a.ic(0,a,b,c,d)};
|
||||
function bc(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.Va;e++)b.cache[c][e]=0;for(e=0;e<b.Va&&0<f;e++){g=a.b.bc(b.Wc?gc(a.b,d):d);if(0>g){b.ic(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.ic(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.i.ta=0;this.i.wa=128;this.j.Za=0;this.C.P=128;this.F.L=128;dc(this)};
|
||||
l.Ic=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.lc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.lc=d;e.B|=2}break;case 4194294:if(70!==e.kb)return e.M(4,222);0>b?d=e.I:d=e.I=0;break;case 4194292:if(70!==e.kb)return e.M(4,224);d=1;break;case 4194290:if(70!==e.kb)return e.M(4,226);d=0;break;case 4194288:if(70!==e.kb)return e.M(4,228);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.kb)return e.M(4,232);f=a-4194272>>1;0>b?d=e.hc[f]:(d=K(this,e.hc[f],a,b,c),0<=d&&(e.hc[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.Qa[f]=
|
||||
b),d=e.Qa[f]),d;case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Qa[f]=b),d=e.Qa[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.I|=16,e.M(4,124)}break;case 4194176:f=a>>1&31;d=K(this,e.la[3][f],a,b,c);0<=d&&(e.la[3][f]=d,e.la[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=K(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=
|
||||
e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.pd&65535:(d=K(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Nc=0),g.wa&=-129,J(e,100,4,52,function(){g.wa|=128;return!!(g.wa&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ta&=-129,0<g.jc.length&&(d=g.jc.shift(),0<g.jc.length&&setTimeout(function(){g.ta|=128;g.ta&64&&J(e,40,4,48)},50)));break;case 4194160:0>b?d=g.ta:(d=K(this,g.ta,a,b,c),0<=d&&(g.ta=g.ta&128|d&-129));break;default:return e.I|=16,e.M(4,
|
||||
126)}break;case 4194048:f=this.C;switch(a&-2){case 4194048:d=K(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194050:d=K(this,f.ma,a,b,c);0<=d&&(f.ma=d);break;case 4194052:d=K(this,f.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&ac(this));break;case 4194054:d=K(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194056:d=K(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;case 4194058:d=K(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4194060:break;case 4194062:d=K(this,f.Bc,a,b,c);0<=d&&(f.Bc=d);break;default:return e.I|=
|
||||
function ac(a){var b=a.C,c,d,f,e=b.ua>>13&7;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.ed,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.aa[e],url:"rk"+e+".dsk"});b.P&=-129;switch(b.P>>1&7){case 0:b.Tb=2496;b.ma=0;b.P=128;b.ua=0;break;case 1:if((b.ua>>4&511)>=b.hb[e]){b.ma|=32832;b.P|=49152;break}if((b.ua&15)>=b.aa[e]){b.ma|=32800;b.P|=49152;break}c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;bc(a,b.oa[e],c,d,f);return;case 2:if((b.ua>>4&511)>=b.hb[e])b.ma|=
|
||||
32832,b.P|=49152;else if((b.ua&15)>=b.aa[e])b.ma|=32800,b.P|=49152;else{c=(b.ua>>4&511)*b.aa[e]+(b.ua&15);d=(b.P&48)<<12|b.Sb;f=65536-b.Ub&65535;a.dc(b.oa[e],c,d,f);return}}b.Tb=e<<13|b.Tb&8176|b.ua%9&15;J(a.b,20,5,144,function(){b.P=b.P&65534|128;return!!(b.P&64)})}l.ed=function(a,b,c,d,f){var e=this.C;e.Sb=d&65535;e.P=e.P&-49|d>>12&48;e.Ub=65536-f&65535;switch(a){case 1:e.ma|=33024;e.P|=49152;break;case 2:e.ma|=33792,e.P|=49152}J(this.b,20,5,144,function(){e.P=e.P&65534|128;return!!(e.P&64)})};
|
||||
function cc(a){var b=a.F,c,d,f,e=b.L>>8&3;b.L&=-2;"undefined"===typeof b.oa[e]&&(b.oa[e]={cache:[],postProcess:a.fd,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.L>>1&7){case 2:b.$a&8&&(b.L&=63);b.$a=b.Mc[e]|b.fb&64;break;case 3:1==(b.fa&3)&&(b.fb=b.fa&4?b.fb+(b.fa&65408)&65408|b.fa<<2&64:b.fb-(b.fa&65408)&65408|b.fa<<2&64,b.fa=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.fa>>6>=b.hb[e]){b.L|=37888;break}if((b.fa&63)>=b.aa[e]){b.L|=37888;break}c=(b.fa>>6)*
|
||||
b.aa[e]+(b.fa&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;bc(a,b.oa[e],c,d,f);return;case 6:if(b.fa>>6>=b.hb[e])b.L|=37888;else if((b.fa&63)>=b.aa[e])b.L|=37888;else{c=(b.fa>>6)*b.aa[e]+(b.fa&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;a.dc(b.oa[e],c,d,f);return}}J(a.b,20,5,112,function(){b.L|=129;return!!(b.L&64)})}
|
||||
l.fd=function(a,b,c,d,f){var e=this.F;e.Ib=d&65535;e.L=e.L&-49|d>>12&48;e.Ua=d>>16&63;e.fa=~~(c/e.aa[b.Ma])<<6|c%e.aa[b.Ma];e.fb=e.fa;e.$a=65536-f&65535;switch(a){case 1:e.L|=33792;break;case 2:e.L|=40960}J(this.b,20,5,112,function(){e.L|=129;return!!(e.L&64)})};function dc(a){a=a.H;a.S=2176;a.Ca=0;a.qa=[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.eb=a.qc=0}
|
||||
function ec(a,b){var c=a.H,d,f,e;c.S&=-16513;c.Ca&=-2049;c.qa[b]&=-1153;J(a.b,-1,0,172);"undefined"===typeof c.oa[b]&&(c.oa[b]={cache:[],postProcess:a.gd,drive:b,blocksize:256,mapped:0,maxblock:c.hc[0]*c.gb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.S&63){case 5:c.gc[b]=c.Ra[b];c.S|=32896;c.qa[b]|=32896;c.nb|=1<<b;break;case 9:dc(a);break;case 19:c.qa[b]|=64;break;case 49:if(c.Ra[b]>=c.hc[0]||c.Da[b]>>8>=c.gb[0]||(c.Da[b]&255)>=c.aa[0]){c.xb[b]|=1024;c.S|=49152;break}d=(c.Ra[b]*c.gb[0]+(c.Da[b]>>8))*
|
||||
c.aa[0]+(c.Da[b]&255);f=(c.eb&63)<<16|c.wb;e=65536-c.yb&65535;bc(a,c.oa[b],d,f,e);return;case 57:if(c.Ra[b]>=c.hc[0]||c.Da[b]>>8>=c.gb[0]||(c.Da[b]&255)>=c.aa[0])c.xb[b]|=1024,c.S|=49152;else{d=(c.Ra[b]*c.gb[0]+(c.Da[b]>>8))*c.aa[0]+(c.Da[b]&255);f=(c.eb&63)<<16|c.wb;e=65536-c.yb&65535;a.dc(c.oa[b],d,f,e);return}}J(a.b,3,5,172,function(){c.S=c.S&65534|128;c.qa[b]|=128;return!!(c.S&64)})}
|
||||
l.gd=function(a,b,c,d,f){var e=this.H;e.yb=65536-f&65535;e.wb=d&65535;e.S=e.S&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.gb[0]);e.Da[b.Ma]=f%e.gb[0]<<8|c%e.aa[0];e.gc[b.Ma]=e.Ra[b.Ma]=d;e.nb|=1<<b.Ma;c>=b.Xc-1&&(e.qa[b.Ma]|=1024);switch(a){case 1:e.Ca|=512;e.S|=49152;break;case 2:e.Ca|=2048,e.S|=49152}J(this.b,20,5,172,function(){e.qa[b.Ma]|=128;e.S=e.S&65534|128;return!!(e.S&64)})};
|
||||
function fc(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048<c.Xc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Va<<1)+"-"+(((d+g)*c.Va<<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.mc(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.Va;p++)c.cache[n][p]=q<m.length?
|
||||
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Va<<1;n++}g(c,d,f,e)}}};h.send(null)}function K(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.M(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.dc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){fc(this,this.dc,a,b,c,d);return}for(f=0;f<a.Va&&0<d;f++){var e=a.Wc?gc(this.b,c):c;this.b.G.ob(e,a.cache[b][f]&65535);c+=2;--d}b++}a.mc(0,a,b,c,d)};
|
||||
function bc(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.Va;e++)b.cache[c][e]=0;for(e=0;e<b.Va&&0<f;e++){g=a.b.ec(b.Wc?gc(a.b,d):d);if(0>g){b.mc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.mc(0,b,c,d,f)}l.reset=function(){this.A.sb=this.A.sb&-120|20;this.i.ta=0;this.i.wa=128;this.j.Za=0;this.C.P=128;this.F.L=128;dc(this)};
|
||||
l.Lc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.pc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.pc=d;e.B|=2}break;case 4194294:if(70!==e.kb)return e.M(4,222);0>b?d=e.I:d=e.I=0;break;case 4194292:if(70!==e.kb)return e.M(4,224);d=1;break;case 4194290:if(70!==e.kb)return e.M(4,226);d=0;break;case 4194288:if(70!==e.kb)return e.M(4,228);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.kb)return e.M(4,232);f=a-4194272>>1;0>b?d=e.kc[f]:(d=K(this,e.kc[f],a,b,c),0<=d&&(e.kc[f]=d));break;case 4194254:return a&1?e.O>>14&1?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.O&2048?(0<=b&&(e.g[f]=b),d=e.g[f]):(0<=b&&(e.Qa[f]=
|
||||
b),d=e.Qa[f]),d;case 4194246:return a&1?(0<=b&&(e.g[7]=b),d=e.g[7]):e.O>>14&0?(0<=b&&(e.g[6]=b),d=e.g[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.O&2048?(0<=b&&(e.Qa[f]=b),d=e.Qa[f]):(0<=b&&(e.g[f]=b),d=e.g[f]),d;default:return e.I|=16,e.M(4,124)}break;case 4194176:f=a>>1&31;d=K(this,e.la[3][f],a,b,c);0<=d&&(e.la[3][f]=d,e.la[3][f&15]&=65295);break;case 4194112:var g=this.i;switch(a&-2){case 4194174:d=K(this,e.fc,a,b,c);0<=d&&(e.fc=d);break;case 4194172:d=
|
||||
e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.A.pd&65535:(d=K(this,this.A.data,a,b,c),0<=d&&(this.A.data=d));break;case 4194166:0<=b&&(b&127&&(g.Qc=0),g.wa&=-129,J(e,100,4,52,function(){g.wa|=128;return!!(g.wa&64)}));d=0;break;case 4194162:d=0;0>b&&(g.ta&=-129,0<g.nc.length&&(d=g.nc.shift(),0<g.nc.length&&setTimeout(function(){g.ta|=128;g.ta&64&&J(e,40,4,48)},50)));break;case 4194160:0>b?d=g.ta:(d=K(this,g.ta,a,b,c),0<=d&&(g.ta=g.ta&128|d&-129));break;default:return e.I|=16,e.M(4,
|
||||
126)}break;case 4194048:f=this.C;switch(a&-2){case 4194048:d=K(this,f.Tb,a,b,c);0<=d&&(f.Tb=d);break;case 4194050:d=K(this,f.ma,a,b,c);0<=d&&(f.ma=d);break;case 4194052:d=K(this,f.P,a,b,c);0<=b&&0<=d&&(f.P=d&-36993|f.P&36992,f.P&1&&ac(this));break;case 4194054:d=K(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;case 4194056:d=K(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194058:d=K(this,f.ua,a,b,c);0<=d&&(f.ua=d);break;case 4194060:break;case 4194062:d=K(this,f.Ec,a,b,c);0<=d&&(f.Ec=d);break;default:return e.I|=
|
||||
16,e.M(4,128)}break;case 4193728:var h=this.H;f=h.Ca&7;switch(a&-2){case 4193728:d=K(this,h.S,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.S=d&17279|h.S&34944|2048,d&1&&h.S&128?ec(this,f):192==(d&192)&&J(e,0,5,172));break;case 4193730:d=K(this,h.yb,a,b,c);0<=d&&(h.yb=d);break;case 4193732:d=K(this,h.wb,a,b,c);0<=d&&(h.wb=d&65534);break;case 4193734:d=K(this,h.Da[f],a,b,c);0<=d&&(h.Da[f]=d&7967);break;case 4193736:d=K(this,h.Ca,a,b,c);0<=d&&(h.Ca=d&63|h.Ca&65472,d&128&&dc(this));break;case 4193738:d=
|
||||
h.qa[f];break;case 4193740:d=h.xb[f];break;case 4193742:d=K(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.md[f];break;case 4193746:d=K(this,h.Cc,a,b,c);0<=d&&(h.Cc=d);break;case 4193748:d=K(this,h.Dc[f],a,b,c);0<=d&&(h.Dc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.nd[f];break;case 4193754:d=K(this,h.Ec[f],a,b,c);0<=d&&(h.Ec[f]=d);break;case 4193756:d=K(this,h.Ra[f],a,b,c);0<=d&&(h.Ra[f]=d&511);break;case 4193758:h.dc[f]=h.Ra[f];d=h.dc[f];break;case 4193760:d=h.kd[f];
|
||||
break;case 4193762:d=h.ld[f];break;case 4193764:d=h.hd[f];break;case 4193766:d=h.jd[f];break;case 4193768:d=K(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.S=h.S&-769|(d&3)<<8);break;case 4193770:d=K(this,h.mc,a,b,c);0<=d&&(h.mc=d);break;default:return e.I|=16,e.M(4,132)}break;case 4192512:f=this.F;switch(a&-2){case 4192512:d=K(this,f.L,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.L=f.L&-1023|d&1022,f.L&128||cc(this));break;case 4192514:d=K(this,f.Ib,a,b,c);0<=d&&(f.Ib=d&65534);break;case 4192516:d=K(this,f.fa,
|
||||
a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=K(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=K(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.L=f.L&-49|(f.Ua&3)<<4);break;default:return e.I|=16,e.M(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.mb:(d=K(this,e.mb,a,b,c),0<=d&&(70!==e.kb&&(d&=-49),e.mb=d,e.$b[0]=d&4?15:7,e.$b[1]=d&2?15:7,e.$b[3]=d&1?15:7,e.Zb&&(f=2,e.mb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.I|=16,e.M(4,136)}break;case 4191424:f=a>>1&31;d=K(this,e.la[0][f],
|
||||
a,b,c);0<=d&&(e.la[0][f]=d,e.la[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=K(this,e.la[1][f],a,b,c);0<=d&&(e.la[1][f]=d,e.la[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.kb)return e.M(4,234);f=a>>2&31;d=e.Ub[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=K(this,d,a,b,c),0<=d&&(e.Ub[f]=a&2?d<<16|e.Ub[f]&65535:e.Ub[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=Nb[a>>1&255];else return e.I|=16,e.M(4,
|
||||
h.qa[f];break;case 4193740:d=h.xb[f];break;case 4193742:d=K(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.md[f];break;case 4193746:d=K(this,h.Fc,a,b,c);0<=d&&(h.Fc=d);break;case 4193748:d=K(this,h.Gc[f],a,b,c);0<=d&&(h.Gc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.nd[f];break;case 4193754:d=K(this,h.Hc[f],a,b,c);0<=d&&(h.Hc[f]=d);break;case 4193756:d=K(this,h.Ra[f],a,b,c);0<=d&&(h.Ra[f]=d&511);break;case 4193758:h.gc[f]=h.Ra[f];d=h.gc[f];break;case 4193760:d=h.kd[f];
|
||||
break;case 4193762:d=h.ld[f];break;case 4193764:d=h.hd[f];break;case 4193766:d=h.jd[f];break;case 4193768:d=K(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.S=h.S&-769|(d&3)<<8);break;case 4193770:d=K(this,h.qc,a,b,c);0<=d&&(h.qc=d);break;default:return e.I|=16,e.M(4,132)}break;case 4192512:f=this.F;switch(a&-2){case 4192512:d=K(this,f.L,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.L=f.L&-1023|d&1022,f.L&128||cc(this));break;case 4192514:d=K(this,f.Ib,a,b,c);0<=d&&(f.Ib=d&65534);break;case 4192516:d=K(this,f.fa,
|
||||
a,b,c);0<=d&&(f.fa=d);break;case 4192518:d=K(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=K(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.L=f.L&-49|(f.Ua&3)<<4);break;default:return e.I|=16,e.M(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.mb:(d=K(this,e.mb,a,b,c),0<=d&&(70!==e.kb&&(d&=-49),e.mb=d,e.cc[0]=d&4?15:7,e.cc[1]=d&2?15:7,e.cc[3]=d&1?15:7,e.bc&&(f=2,e.mb&16&&(f=1),this.A.sb=this.A.sb&-8|f)));break;default:return e.I|=16,e.M(4,136)}break;case 4191424:f=a>>1&31;d=K(this,e.la[0][f],
|
||||
a,b,c);0<=d&&(e.la[0][f]=d,e.la[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=K(this,e.la[1][f],a,b,c);0<=d&&(e.la[1][f]=d,e.la[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.kb)return e.M(4,234);f=a>>2&31;d=e.Wb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=K(this,d,a,b,c),0<=d&&(e.Wb[f]=a&2?d<<16|e.Wb[f]&65535:e.Wb[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=Nb[a>>1&255];else return e.I|=16,e.M(4,
|
||||
138);break;default:return e.I|=16,e.M(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Lb=(hc[65382]=[null,null,I.prototype.$c,I.prototype.rd,"LKS"],hc[65392]=[null,null,I.prototype.cd,I.prototype.ud,"RCSR"],hc[65396]=[null,null,I.prototype.dd,I.prototype.vd,"XCSR"],hc[65402]=[null,null,I.prototype.ad,I.prototype.sd,"MMR0"],hc[65534]=[null,null,I.prototype.bd,I.prototype.td,"PSW"],hc);
|
||||
Pa(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new I(d);cb(d,c)}});var ic;if(vb){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
|
||||
function H(a,b,c,d,f){this.id=lc+=2;this.b=null;this.w=a;this.Wb=b;this.size=c||0;this.type=d||mc;this.i=d==nc;this.controller=null;zb(this);this.Xa=this.Pc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Fb);else if(vb)this.F=new ArrayBuffer(c),this.H=new DataView(this.F,0,c),this.J=new Uint8Array(this.F,0,c),this.R=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
|
||||
function H(a,b,c,d,f){this.id=lc+=2;this.b=null;this.w=a;this.Yb=b;this.size=c||0;this.type=d||mc;this.i=d==nc;this.controller=null;zb(this);this.Xa=this.Rc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Fb);else if(vb)this.F=new ArrayBuffer(c),this.H=new DataView(this.F,0,c),this.J=new Uint8Array(this.F,0,c),this.R=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
|
||||
var mc=0,nc=2,Fb=4,Hb=["NONE","RAM","ROM","VID","H/W"],lc=0;
|
||||
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.H.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(vb)for(b=0;b<a.length;b++)this.H.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},ib:function(a,b){b?this.A++||sc(this,tc,!1):this.j++||uc(this,tc,!1)},T:function(){this.D&&E(this.D,129)&&this.D.message("attempt to read invalid block %"+
|
||||
t(this.w),!0);return 255},C:function(a,b){this.D&&E(this.D,129)&&this.D.message("attempt to write "+t(b,4,!0)+" to invalid block %"+t(this.w),!0)},W:function(a,b){return this.vb(a++,b++)|this.vb(a,b)<<8},K:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa: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},Fa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=
|
||||
!0},Eb: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.Xa=!0},ca:function(a,b){if(this.D&&null!=this.w){var c=this.D;vc(c,this.w+a,1,c.W)&&c.na(!0)}return this.Ob(a,b)},ja:function(a,b){if(this.D&&null!=this.w){var c=this.D;vc(c,this.w+a,2,c.W)&&c.na(!0)}return this.kc(a,b)},ya:function(a,b,c){if(this.D&&null!=this.w){var d=this.D;vc(d,this.w+a,1,d.F)&&d.na(!0)}this.i?this.C(a,b,c):this.Cb(a,
|
||||
b,c)},Ka:function(a,b,c){if(this.D&&null!=this.w){var d=this.D;vc(d,this.w+a,2,d.F)&&d.na(!0)}this.i?this.C(a,b,c):this.pc(a,b,c)},$:function(a){return this.J[a]},da:function(a){return this.J[a]},ha:function(a){return this.H.getUint16(a,!0)},ra:function(a){return a&1?this.J[a]|this.J[a+1]<<8:this.R[a>>1]},xa:function(a,b){this.J[a]=b;this.Xa=!0},za:function(a,b){this.J[a]=b;this.Xa=!0},Ga:function(a,b){this.H.setUint16(a,b,!0);this.Xa=!0},Sa:function(a,b){a&1?(this.J[a]=b,this.J[a+1]=b>>8):this.R[a>>
|
||||
1]=b;this.Xa=!0}};function zb(a,b,c){a.D=b;a.j=a.A=0;c&&((a.j=c.j)&&uc(a,tc,!1),(a.A=c.A)&&sc(a,tc,!1))}function wc(a,b){b?--a.A||(a.Bb=a.i?a.C:a.Cb,a.Gc=a.i?a.K:a.pc):--a.j||(a.vb=a.Ob,a.Pb=a.kc)}function sc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.C,a.Gc=!a.i&&b[3]||a.K);if(c||void 0===c)a.Cb=b[1]||a.C,a.pc=b[3]||a.K}function uc(a,b,c){c&&a.j||(a.vb=b[0]||a.T,a.Pb=b[2]||a.W);if(c||void 0===c)a.Ob=b[0]||a.T,a.kc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}
|
||||
var xc=[],rc=[H.prototype.ea,H.prototype.Fa,H.prototype.sa,H.prototype.Eb],tc=[H.prototype.ca,H.prototype.ya,H.prototype.ja,H.prototype.Ka];if(vb)var qc=[H.prototype.$,H.prototype.xa,H.prototype.ha,H.prototype.Ga],pc=[H.prototype.da,H.prototype.za,H.prototype.ra,H.prototype.Sa];
|
||||
function yc(a,b){w.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.ya=a.cycles||b;this.ab=c;this.Fa=Math.round(this.ya/1E4)/100;this.lb=this.Fa*this.ab;this.u.ga=!1;this.u.nc=!1;this.u.Gb=a.autoStart;this.u.wc=!1;this.u.qb=!1;this.Lb=this.ca=0;this.Mb=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.F=[];this.Hb=this.od.bind(this);F(this)}B(yc);var zc=["power","reset"];l=yc.prototype;
|
||||
!0},Eb: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.Xa=!0},ca:function(a,b){if(this.D&&null!=this.w){var c=this.D;vc(c,this.w+a,1,c.W)&&c.na(!0)}return this.Qb(a,b)},ja:function(a,b){if(this.D&&null!=this.w){var c=this.D;vc(c,this.w+a,2,c.W)&&c.na(!0)}return this.oc(a,b)},ya:function(a,b,c){if(this.D&&null!=this.w){var d=this.D;vc(d,this.w+a,1,d.F)&&d.na(!0)}this.i?this.C(a,b,c):this.Cb(a,
|
||||
b,c)},Ha:function(a,b,c){if(this.D&&null!=this.w){var d=this.D;vc(d,this.w+a,2,d.F)&&d.na(!0)}this.i?this.C(a,b,c):this.tc(a,b,c)},$:function(a){return this.J[a]},da:function(a){return this.J[a]},ha:function(a){return this.H.getUint16(a,!0)},ra:function(a){return a&1?this.J[a]|this.J[a+1]<<8:this.R[a>>1]},xa:function(a,b){this.J[a]=b;this.Xa=!0},za:function(a,b){this.J[a]=b;this.Xa=!0},Ga:function(a,b){this.H.setUint16(a,b,!0);this.Xa=!0},Sa:function(a,b){a&1?(this.J[a]=b,this.J[a+1]=b>>8):this.R[a>>
|
||||
1]=b;this.Xa=!0}};function zb(a,b,c){a.D=b;a.j=a.A=0;c&&((a.j=c.j)&&uc(a,tc,!1),(a.A=c.A)&&sc(a,tc,!1))}function wc(a,b){b?--a.A||(a.Bb=a.i?a.C:a.Cb,a.Jc=a.i?a.K:a.tc):--a.j||(a.vb=a.Qb,a.Rb=a.oc)}function sc(a,b,c){c&&a.A||(a.Bb=!a.i&&b[1]||a.C,a.Jc=!a.i&&b[3]||a.K);if(c||void 0===c)a.Cb=b[1]||a.C,a.tc=b[3]||a.K}function uc(a,b,c){c&&a.j||(a.vb=b[0]||a.T,a.Rb=b[2]||a.W);if(c||void 0===c)a.Qb=b[0]||a.T,a.oc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}
|
||||
var xc=[],rc=[H.prototype.ea,H.prototype.Fa,H.prototype.sa,H.prototype.Eb],tc=[H.prototype.ca,H.prototype.ya,H.prototype.ja,H.prototype.Ha];if(vb)var qc=[H.prototype.$,H.prototype.xa,H.prototype.ha,H.prototype.Ga],pc=[H.prototype.da,H.prototype.za,H.prototype.ra,H.prototype.Sa];
|
||||
function yc(a,b){w.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.ya=a.cycles||b;this.ab=c;this.Ga=Math.round(this.ya/1E4)/100;this.lb=this.Ga*this.ab;this.u.ga=!1;this.u.rc=!1;this.u.Gb=a.autoStart;this.u.zc=!1;this.u.qb=!1;this.Nb=this.ca=0;this.Ob=a.csStart;this.tb=a.csInterval;this.ub=a.csStop;this.F=[];this.Lb=this.od.bind(this);F(this)}B(yc);var zc=["power","reset"];l=yc.prototype;
|
||||
l.Ya=function(a,b,c,d){this.i=a;this.G=b;this.D=d;for(b=0;b<zc.length;b++)(c=this.J[zc[b]])&&this.i.va(null,zc[b],c);this.ha=null;a=Ac(a,"autoStart");null!=a&&(this.u.Gb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||
l.Pa=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Vc(this)}else this.reset();this.D?(a=this.D,a.f("Type ? for help with PDP11 Debugger commands"),a.Ea(),a.pb&&(b=a.pb,a.pb=null,Wc(a,b))):this.f("No debugger detected")}L(this);return!0};l.Oa=function(a){return a?this.save():!0};l.Gb=function(){return this.u.Gb||!this.D&&void 0===this.J.run?(this.zb(!0),!0):!1};l.yc=function(){return 0};
|
||||
function Vc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.u.qb=0<=a.Mb&&0<a.tb;a.u.qb&&(a.Lb=0,a.ca=a.Mb-a.$)}function Xc(a,b){if(a.u.qb){var c=!1;a.Lb=a.Lb+a.yc()|0;a.ca-=b;0>=a.ca&&(a.ca+=a.tb,c=!0);0<=a.ub&&a.ub<=Yc(a)&&(a.tb=a.ub=-1,Vc(a),a.na(),c=!0);c&&a.f(Yc(a)+" cycles: checksum="+t(a.Lb))}}
|
||||
function Zc(a,b,c,d){if(a.J[b]){void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.na());var f=a.D&&a.D.ea||8;c=!a.u.ga||a.u.wc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}}
|
||||
l.va=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.J[b]=c;a=!0;break;case "run":this.J[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ia)a=!0;else{var b=null,c,h=ab(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.ia);c++);c==h.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ga?d.na():d.zb())};
|
||||
a=!0;break;case "speed":this.J[b]=c;a=!0;break;case "setSpeed":this.J[b]=c,c.onclick=function(){$c(d,d.ab<<1,!0)},c.textContent=this.lb.toFixed(2)+"Mhz",a=!0}return a};function ad(a,b,c){a.$+=b;c&&(a.W=a.b=0)}function bd(a,b){var c=1;b&&1<a.ab&&a.R&&(c=a.R/a.Fa);a.pb=Math.round(1E3/30);a.za=Math.floor(a.ya/30*c);b||(a.da=a.za);a.Ga=0}function Yc(a){return a.$+a.K+a.W-a.b}function Bc(a){a.R=0;a.Db=0;a.$=a.K=a.W=a.b=0;Vc(a);$c(a,1)}
|
||||
function $c(a,b,c){var d=!1;if(void 0!==b){.8>a.R/a.lb?b=1:d=!0;a.ab=b;b=a.Fa*a.ab;if(a.lb!=b){a.lb=b;b=a.lb.toFixed(2)+"Mhz";var f=a.J.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Vb()}ad(a,a.K);a.K=0;a.H=pa();a.T=0;bd(a);return d}function Wb(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Xb(a,b){var c;0<=b&&b<a.F.length&&0>a.F[b][0]&&(c=a.ya*a.ab/1E3*(1E3/60),a.F[b][0]=c)}
|
||||
l.Pa=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Vc(this)}else this.reset();this.D?(a=this.D,a.f("Type ? for help with PDP11 Debugger commands"),a.Ea(),a.pb&&(b=a.pb,a.pb=null,Wc(a,b))):this.f("No debugger detected")}L(this);return!0};l.Oa=function(a){return a?this.save():!0};l.Gb=function(){return this.u.Gb||!this.D&&void 0===this.J.run?(this.zb(!0),!0):!1};l.Bc=function(){return 0};
|
||||
function Vc(a){void 0===a.Ob&&(a.Ob=0);void 0===a.tb&&(a.tb=-1);void 0===a.ub&&(a.ub=-1);a.u.qb=0<=a.Ob&&0<a.tb;a.u.qb&&(a.Nb=0,a.ca=a.Ob-a.$)}function Xc(a,b){if(a.u.qb){var c=!1;a.Nb=a.Nb+a.Bc()|0;a.ca-=b;0>=a.ca&&(a.ca+=a.tb,c=!0);0<=a.ub&&a.ub<=Yc(a)&&(a.tb=a.ub=-1,Vc(a),a.na(),c=!0);c&&a.f(Yc(a)+" cycles: checksum="+t(a.Nb))}}
|
||||
function Zc(a,b,c,d){if(a.J[b]){void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.na());var f=a.D&&a.D.ea||8;c=!a.u.ga||a.u.zc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}}
|
||||
l.va=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.J[b]=c;a=!0;break;case "run":this.J[b]=c;c.onclick=function(){var a;if(a=d.i)if(a=d.i,a.u.ia)a=!0;else{var b=null,c,h=ab(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.ia);c++);c==h.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.ac?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ga?d.na():d.zb())};
|
||||
a=!0;break;case "speed":this.J[b]=c;a=!0;break;case "setSpeed":this.J[b]=c,c.onclick=function(){$c(d,d.ab<<1,!0)},c.textContent=this.lb.toFixed(2)+"Mhz",a=!0}return a};function ad(a,b,c){a.$+=b;c&&(a.W=a.b=0)}function bd(a,b){var c=1;b&&1<a.ab&&a.R&&(c=a.R/a.Ga);a.Hb=Math.round(1E3/30);a.za=Math.floor(a.ya/30*c);b||(a.da=a.za);a.Ha=0}function Yc(a){return a.$+a.K+a.W-a.b}function Bc(a){a.R=0;a.Kb=0;a.$=a.K=a.W=a.b=0;Vc(a);$c(a,1)}
|
||||
function $c(a,b,c){var d=!1;if(void 0!==b){.8>a.R/a.lb?b=1:d=!0;a.ab=b;b=a.Ga*a.ab;if(a.lb!=b){a.lb=b;b=a.lb.toFixed(2)+"Mhz";var f=a.J.setSpeed;f&&(f.textContent=b);a.f("target speed: "+b)}c&&a.i&&a.i.Xb()}ad(a,a.K);a.K=0;a.H=pa();a.T=0;bd(a);return d}function Wb(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Xb(a,b){var c;0<=b&&b<a.F.length&&0>a.F[b][0]&&(c=a.ya*a.ab/1E3*(1E3/60),a.F[b][0]=c)}
|
||||
function cd(a,b){for(var c=a.F.length-1;0<=c;c--){var d=a.F[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function dd(a,b){for(var c=a.F.length-1;0<=c;c--){var d=a.F[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ed(a){a.W-=a.b;a.b=0}
|
||||
l.od=function(){if(this.u.ga){this.Ga>=this.ya&&bd(this,!0);this.ja=0;this.xa=pa();if(this.T){var a=this.xa-this.T;a>this.pb&&(this.H+=a,this.H>this.xa&&(this.H=this.xa))}try{do{var b=cd(this,this.u.qb?1:this.za);try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.W-this.b;dd(this,c);this.ja+=c;this.K+=c;ad(this,0,!0);Xc(this,c);this.da-=c;if(0>=this.da){this.da+=this.za;15<=++this.Db&&(this.i&&this.i.Ea(),this.Db=0);break}}while(this.u.ga)}catch(f){this.na();L(this);this.i&&this.i.stop(pa(),
|
||||
Yc(this));ub(this,f.stack||f.message);return}if(this.u.ga){a=setTimeout;b=this.Hb;this.T=pa();c=this.pb;this.ja&&(c=Math.round(c*this.ja/this.za));var c=c-(this.T-this.xa),d=this.T-this.H;d&&(this.R=Math.round(this.K/(10*d))/100,864E5<=d&&(this.$=0,$c(this)));if(0>c||this.R<this.lb)-1E3>c&&(this.H-=c),c=0;this.Ga+=this.ja;this.T+=c;a(b,c)}}};
|
||||
l.zb=function(a){if(tb(this))return!1;if(this.u.ga)return this.f(this.toString()+" busy"),!1;$c(this);this.u.ga=!0;this.u.nc=!0;this.ha&&this.ha.start();var b=this.J.run;b&&(b.textContent="Halt");this.i&&(a&&this.i.Vb(!0),this.i.start(this.H,Yc(this)));L(this,!0);setTimeout(this.Hb,0);return!0};l.Ab=function(){return 0};
|
||||
l.od=function(){if(this.u.ga){this.Ha>=this.ya&&bd(this,!0);this.ja=0;this.xa=pa();if(this.T){var a=this.xa-this.T;a>this.Hb&&(this.H+=a,this.H>this.xa&&(this.H=this.xa))}try{do{var b=cd(this,this.u.qb?1:this.za);try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.W-this.b;dd(this,c);this.ja+=c;this.K+=c;ad(this,0,!0);Xc(this,c);this.da-=c;if(0>=this.da){this.da+=this.za;15<=++this.Kb&&(this.i&&this.i.Ea(),this.Kb=0);break}}while(this.u.ga)}catch(f){this.na();L(this);this.i&&this.i.stop(pa(),
|
||||
Yc(this));ub(this,f.stack||f.message);return}if(this.u.ga){a=setTimeout;b=this.Lb;this.T=pa();c=this.Hb;this.ja&&(c=Math.round(c*this.ja/this.za));var c=c-(this.T-this.xa),d=this.T-this.H;d&&(this.R=Math.round(this.K/(10*d))/100,864E5<=d&&(this.$=0,$c(this)));if(0>c||this.R<this.lb)-1E3>c&&(this.H-=c),c=0;this.Ha+=this.ja;this.T+=c;a(b,c)}}};
|
||||
l.zb=function(a){if(tb(this))return!1;if(this.u.ga)return this.f(this.toString()+" busy"),!1;$c(this);this.u.ga=!0;this.u.rc=!0;this.ha&&this.ha.start();var b=this.J.run;b&&(b.textContent="Halt");this.i&&(a&&this.i.Xb(!0),this.i.start(this.H,Yc(this)));L(this,!0);setTimeout(this.Lb,0);return!0};l.Ab=function(){return 0};
|
||||
l.na=function(a){if(this.u.ga){ed(this);ad(this,this.K);this.K=0;this.u.ga=!1;this.ha&&this.ha.stop();var b=this.J.run;b&&(b.textContent="Run");this.i&&this.i.stop(pa(),Yc(this));L(this)}this.u.complete=a};function L(a,b){a.i&&a.i.Ea(b)}
|
||||
function fd(a){this.Yc=+a.model||1170;this.Xb=a.resetAddr||0;yc.call(this,a,1E6);this.Sa=0;this.decode=gd.bind(this);this.U=65536;this.V=32768;this.Z=65535;this.X=32768;this.O=15;this.g=[0,0,0,0,0,0,0,this.Xb];this.Qa=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.sa=this.A=0;this.la=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Ub=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.B=0;this.kb=70;this.ea=-1;hd(this);this.u.complete=this.u.Mc=!1}B(fd,yc);l=fd.prototype;l.reset=function(){this.u.ga&&this.na();hd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)};
|
||||
function hd(a){a.cb=255;a.I=0;a.lc=0;a.C=0;a.bb=0;a.cc=0;a.mb=0;a.Zb=0;a.ra=0;a.$b=[7,7,7,7];a.j=[];a.B|=2;Yb(a)}function Yb(a){a.Zb?(a.Ka=65536,a.ba=a.Tc,a.Pb=a.Ja):(a.Ka=0,a.ba=a.Sc,a.Pb=a.bc)}l.yc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.$,this.ab]);a.set(2,Jb(this.G));return a.data()};
|
||||
function fd(a){this.Yc=+a.model||1170;this.lc=a.resetAddr||0;yc.call(this,a,6666667);this.pb=0;this.decode=gd.bind(this);this.U=65536;this.V=32768;this.Z=65535;this.X=32768;this.O=15;this.g=[0,0,0,0,0,0,0,this.lc];this.Qa=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.sa=this.A=0;this.la=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Wb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.kc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.$b=this.Fa=this.Zb=this.Db=this.B=0;this.kb=70;this.ea=-1;hd(this);this.u.complete=this.u.Pc=!1}B(fd,yc);l=fd.prototype;l.reset=function(){this.u.ga&&this.na();hd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)};
|
||||
function hd(a){a.cb=255;a.I=0;a.pc=0;a.C=0;a.bb=0;a.fc=0;a.mb=0;a.bc=0;a.ra=0;a.cc=[7,7,7,7];a.j=[];a.B|=2;Yb(a)}function Yb(a){a.bc?(a.Sa=65536,a.ba=a.Uc,a.Rb=a.Ka):(a.Sa=0,a.ba=a.Tc,a.Rb=a.ec)}l.Bc=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.$,this.ab]);a.set(2,Jb(this.G));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.$=b[1];$c(this,b[3]);a:{b=this.G;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.R){for(var e=0,g=Array(b.R),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.N[d];if(!e||!e.restore(f)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.va=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.J[b]=c;this.Sa++;a=!0;break;default:a=this.parent.va.call(this,a,b,c)}return a};
|
||||
l.Ea=function(a){if(this.Sa&&(a||!this.u.ga||this.u.wc)){for(a=0;a<this.g.length;a++)Zc(this,"R"+a,this.g[a]);a=Zb(this);Zc(this,"PS",a);Zc(this,"NF",a&8?1:0,1);Zc(this,"ZF",a&4?1:0,1);Zc(this,"VF",a&2?1:0,1);Zc(this,"CF",a&1?1:0,1)}if(a=this.J.speed)a.textContent=this.u.ga&&this.R?this.R.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.U&65536?1:0}function id(a){return a.V&32768?2:0}function jd(a){return a.Z&65535?0:4}l.Na=function(){return this.X&32768?8:0};
|
||||
function kd(a){var b=a.Ja(a.g[7]);a.g[7]=a.g[7]+2&65535;return b}function J(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].qd===d){0<e&&(a.j[e-1].Wa+=a.j[e].Wa);a.j.splice(e,1);break}if(0<=b){for(e=a.j.length;0<e--;){if(a.j[e].Wa>b){a.j[e].Wa-=b;break}b-=a.j[e].Wa}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.B|=2}function Zb(a){return a.O=a.O&63728|a.Na()|jd(a)|id(a)|N(a)}
|
||||
l.va=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.J[b]=c;this.pb++;a=!0;break;default:a=this.parent.va.call(this,a,b,c)}return a};
|
||||
l.Ea=function(a){if(this.pb&&(a||!this.u.ga||this.u.zc)){for(a=0;a<this.g.length;a++)Zc(this,"R"+a,this.g[a]);a=Zb(this);Zc(this,"PS",a);Zc(this,"NF",a&8?1:0,1);Zc(this,"ZF",a&4?1:0,1);Zc(this,"VF",a&2?1:0,1);Zc(this,"CF",a&1?1:0,1)}if(a=this.J.speed)a.textContent=this.u.ga&&this.R?this.R.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.U&65536?1:0}function id(a){return a.V&32768?2:0}function jd(a){return a.Z&65535?0:4}l.Na=function(){return this.X&32768?8:0};
|
||||
function kd(a){var b=a.Ka(a.g[7]);a.g[7]=a.g[7]+2&65535;return b}function J(a,b,c,d,f){for(var e=a.j.length;0<e--;)if(a.j[e].qd===d){0<e&&(a.j[e-1].Wa+=a.j[e].Wa);a.j.splice(e,1);break}if(0<=b){for(e=a.j.length;0<e--;){if(a.j[e].Wa>b){a.j[e].Wa-=b;break}b-=a.j[e].Wa}a.j.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.B|=2}function Zb(a){return a.O=a.O&63728|a.Na()|jd(a)|id(a)|N(a)}
|
||||
function $b(a,b){a.X=b<<12;a.Z=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.O)&2048)for(var c=a.Qa.length;0<=--c;){var d=a.g[c];a.g[c]=a.Qa[c];a.Qa[c]=d}a.A=b>>14&3;c=a.O>>14&3;a.A!=c&&(a.Aa[c]=a.g[6],a.g[6]=a.Aa[a.A]);a.B|=2;a.O=b}function O(a,b){a.B&128||(a.X=a.Z=b,a.V=0)}function ld(a,b,c){a.B&128||(a.X=a.Z=a.U=b,a.V=c||0)}function md(a,b,c,d){a.B&128||(a.X=a.Z=a.U=b,a.V=(c^b)&(d^b))}function nd(a,b){a.B&128||(a.X=a.Z=a.U=b,a.V=a.X^a.U>>1)}function od(a,b,c,d){a.B&128||(a.X=a.Z=a.U=b,a.V=(c^d)&(d^b))}
|
||||
l.M=function(a){var b=!1;0>this.ea?this.ea=Zb(this):this.A||(a=4,b=!0);this.C&57344||(this.bb=63222,this.cc=a);this.A=0;var c=this.Ja(a|65536),d=this.Ja(a+2&65535|65536);$b(this,d&-12289|this.ea>>2&12288);b&&(this.I|=4,this.g[6]=4);pd(this,this.ea);pd(this,this.g[7]);this.g[7]=c&65535;this.B&=-113;this.ea=-1;throw a;};function qd(a){var b=rd(a),c=rd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);a.g[7]=b&65535;$b(a,c);a.B&=-17}
|
||||
function gc(a,b){var c=b>>13&31;31>c?a.mb&32&&(b=a.Ub[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function sd(a,b,c){var d,f,e,g=0;if(c&a.Zb){d=b>>13&a.$b[a.A];f=a.la[a.A][d];e=(a.la[a.A][d+16]<<6)+(b&8191)&4194303;a.mb&16?3932160<=e&&4186112>e&&(e=gc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.I|=32,a.M(4,12)),e&1&&!(c&1)&&(a.I|=64,a.M(4,14)));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.la[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.sa=d;g&&(g&57344&&(0<=a.ea&&(g|=128),a.C&57344||(a.C=a.C|g|a.ra<<5|a.sa<<1),a.M(168,16)),a.C&61440||!(4191360>e||4194239<e)||(a.C|=4096,a.C&512&&(a.B|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.I|=64,a.M(4,10));return e}l.bc=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.G.Ia(a):a};l.Ja=function(a){return this.bc(sd(this,a,2))};function rd(a){var b=a.Ja(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b}
|
||||
l.M=function(a){var b=!1;0>this.ea?this.ea=Zb(this):this.A||(a=4,b=!0);this.C&57344||(this.bb=63222,this.fc=a);this.A=0;var c=this.Ka(a|65536),d=this.Ka(a+2&65535|65536);$b(this,d&-12289|this.ea>>2&12288);b&&(this.I|=4,this.g[6]=4);pd(this,this.ea);pd(this,this.g[7]);this.g[7]=c&65535;this.B&=-113;this.ea=-1;throw a;};function qd(a){var b=rd(a),c=rd(a)&-1793;a.O&49152&&(c=c&-225|a.O&63712);a.g[7]=b&65535;$b(a,c);a.B&=-17}
|
||||
function gc(a,b){var c=b>>13&31;31>c?a.mb&32&&(b=a.Wb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function sd(a,b,c){var d,f,e,g=0;if(c&a.bc){d=b>>13&a.cc[a.A];f=a.la[a.A][d];e=(a.la[a.A][d+16]<<6)+(b&8191)&4194303;a.mb&16?3932160<=e&&4186112>e&&(e=gc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.I|=32,a.M(4,12)),e&1&&!(c&1)&&(a.I|=64,a.M(4,14)));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.la[a.A][d]=f;if(4194170!==e||a.A)a.ra=a.A,a.sa=d;g&&(g&57344&&(0<=a.ea&&(g|=128),a.C&57344||(a.C=a.C|g|a.ra<<5|a.sa<<1),a.M(168,16)),a.C&61440||!(4191360>e||4194239<e)||(a.C|=4096,a.C&512&&(a.B|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.I|=64,a.M(4,10));return e}l.ec=function(a){return 4194304<=a?this.g[a-4194304]:0<=a?this.G.Ja(a):a};l.Ka=function(a){return this.ec(sd(this,a,2))};function rd(a){var b=a.Ka(a.g[6]|65536);a.g[6]=a.g[6]+2&65535;return b}
|
||||
function pd(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.C&57344||(a.bb=a.bb<<8|246);!a.A&&c<=a.cb&&4<c&&(c<=a.cb-32?(a.I|=4,a.g[6]=4,a.M(4,18)):(a.I|=8,a.B|=4));c=sd(a,c|65536,4);a.G.ob(c,b&65535)}
|
||||
function td(a,b,c){var d,f,e=b&7,g=c&8?0:a.Ka;switch(b>>3&7){case 0:a.M(4,20);break;case 1:return 6===e&&!a.A&&c&4&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32||65534<=a.g[6]?(a.I|=4,a.g[6]=4,a.M(4,22)):(a.I|=8,a.B|=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);d=a.Ja(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);d=a.Ja(d)|g;break;case 6:return d=
|
||||
kd(a),d=d+a.g[e]&65535|g;case 7:return d=kd(a),d=d+a.g[e]&65535,d=a.Ja(d|65536)|g}a.g[e]=a.g[e]+f&65535;!g||a.C&57344||(a.bb=a.bb<<8|f<<3&248|e);6==e&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32?(a.I|=4,a.g[6]=4,a.M(4,24)):(a.I|=8,a.B|=64));return d}l.Sc=function(a,b){return td(this,a,b)};l.Tc=function(a,b){return sd(this,td(this,a,b),b)};
|
||||
function ud(a,b,c){b&56?(b=td(a,b,0),c&65536||61440!==(a.O&61440)&&(b&=65535),a.A=a.O>>12&3,c=a.Ja(b|c&65536),a.A=a.O>>14&3):(c=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]:a.Aa[a.O>>12&3]);return c}function vd(a,b,c,d){a.C&57344||(a.bb=22);b&56?(b=td(a,b,0),c&65536||(b&=65535),a.A=a.O>>12&3,b=sd(a,b|c&65536,4),a.A=a.O>>14&3,a.G.ob(b,d&65535)):(c=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]=d:a.Aa[a.O>>12&3]=d)}function P(a,b){return b&56?a.Pb(td(a,b,2)):a.g[b&7]}
|
||||
function wd(a,b){b&56?(b=a.ba(b,3),a=a.G.rb(b)):a=a.g[b&7]&255;return a}function R(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,a.bc(b)),a.G.ob(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function S(a,b,c,d){b&56?(b=a.ba(b,7),c=d.call(a,c,a.G.rb(b)),a.G.Tb(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function xd(a,b,c){b&56?(b=a.ba(b,4),a.G.ob(b,c&65535)):a.g[b&7]=c&65535;return c}
|
||||
function yd(a,b,c,d){b&56?(d=a.ba(b,5),a.G.Tb(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 T(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535}
|
||||
l.Ab=function(a){this.u.complete=!0;var b=this.u.Mc=this.D&&zd(this.D),c=a?this.u.nc?0:1:-1;this.u.nc=!1;this.W=this.b=a;do{if(b){if(Ad(this.D,this.g[7],c)){this.na();break}c=1}if(this.B&&(this.B&112&&(this.B&32?this.M(168,28):this.B&64?this.M(4,30):this.B&16&&this.M(12,32),this.B&=-113),this.B&7))if(this.B&2){this.B&=-3;a=null;for(var d=this.lc&224,f=this.j.length;0<=--f;){if(0<this.j[f].Wa){this.j[f].Wa--;this.B|=2;break}if(this.j[f].tc){if(!this.j[f].tc()){this.j.splice(f,1);continue}this.j[f].tc=
|
||||
null}this.j[f].Zc>d&&(d=this.j[f].Zc,a=this.j[f],this.j.splice(f,1))}d>(this.O&224)&&(this.B&4&&(this.g[7]=this.g[7]+2&65535,this.B&=-5),a?this.M(a.qd,26):this.M(160,26))}else this.B&1&&this.B++;this.C&57344||(this.bb=0,this.cc=this.g[7]);this.B=this.B&7|this.O&16;this.decode(kd(this))}while(0<this.b);return this.u.complete?this.W-this.b:void 0===this.u.complete?0:-1};Pa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new fd(d);cb(d,c)}});
|
||||
function td(a,b,c){var d,f,e=c&8?0:a.Sa,g=b&7;b=b>>3&7;c&4?(a.Db=b,a.Fa=g):(a.Zb=b,a.$b=g);switch(b){case 0:return a.M(4,20),0;case 1:return 6===g&&!a.A&&c&4&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32||65534<=a.g[6]?(a.I|=4,a.g[6]=4,a.M(4,22)):(a.I|=8,a.B|=64)),a.b-=3,7===g?a.g[g]:a.g[g]|e;case 2:f=2;d=a.g[g];7!==g&&(d|=e,6>g&&c&1&&(f=1));a.b-=3;break;case 3:f=2;d=a.g[g];7!==g&&(d|=e);d=a.Ka(d);d|=e;a.b-=7;break;case 4:f=-2;6>g&&c&1&&(f=-1);d=a.g[g]+f&65535;7!==g&&(d|=e);a.b-=4;break;case 5:f=
|
||||
-2;d=a.g[g]-2&65535;7!==g&&(d|=e);d=a.Ka(d)|e;a.b-=8;break;case 6:return d=kd(a),d=d+a.g[g]&65535|e,a.b-=6,d;case 7:return d=kd(a),d=d+a.g[g]&65535,d=a.Ka(d|65536)|e,a.b-=10,d}a.g[g]=a.g[g]+f&65535;!e||a.C&57344||(a.bb=a.bb<<8|f<<3&248|g);6==g&&!a.A&&c&4&&0>=f&&(a.g[6]<=a.cb||65534<=a.g[6])&&(a.g[6]<=a.cb-32?(a.I|=4,a.g[6]=4,a.M(4,24)):(a.I|=8,a.B|=64));return d}l.Tc=function(a,b){return td(this,a,b)};l.Uc=function(a,b){return sd(this,td(this,a,b),b)};
|
||||
function ud(a,b,c){b&56?(b=td(a,b,2),c&65536||61440!==(a.O&61440)&&(b&=65535),a.A=a.O>>12&3,c=a.Ka(b|c&65536),a.A=a.O>>14&3):(c=b&7,c=6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]:a.Aa[a.O>>12&3]);return c}function vd(a,b,c,d){a.C&57344||(a.bb=22);b&56?(b=td(a,b,4),c&65536||(b&=65535),a.A=a.O>>12&3,b=sd(a,b|c&65536,4),a.A=a.O>>14&3,a.G.ob(b,d&65535)):(c=b&7,6!=c||(a.O>>2&12288)===(a.O&12288)?a.g[c]=d:a.Aa[a.O>>12&3]=d)}function P(a,b){return b&56?a.Rb(td(a,b,2)):a.g[b&7]}
|
||||
function wd(a,b){b&56?(b=a.ba(b,3),a=a.G.rb(b)):a=a.g[b&7]&255;return a}function R(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,a.ec(b)),a.G.ob(b,c&65535)):(b&=7,a.g[b]=d.call(a,c,a.g[b]))}function S(a,b,c,d){b&56?(b=a.ba(b,7),c=d.call(a,c,a.G.rb(b)),b&1&&a.b--,a.G.Vb(b,c&255)):(b&=7,a.g[b]=a.g[b]&65280|d.call(a,c,a.g[b]))}function xd(a,b,c){b&56?(b=a.ba(b,4),a.G.ob(b,c&65535)):a.g[b&7]=c&65535;return c}
|
||||
function yd(a,b,c,d){b&56?(d=a.ba(b,5),d&1&&a.b--,a.G.Vb(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 T(a,b){a.g[7]=a.g[7]+(b<<24>>23)&65535}
|
||||
l.Ab=function(a){this.u.complete=!0;var b=this.u.Pc=this.D&&zd(this.D),c=a?this.u.rc?0:1:-1;this.u.rc=!1;this.W=this.b=a;do{if(b){if(Ad(this.D,this.g[7],c)){this.na();break}c=1}if(this.B&&(this.B&112&&(this.B&32?this.M(168,28):this.B&64?this.M(4,30):this.B&16&&this.M(12,32),this.B&=-113),this.B&7))if(this.B&2){this.B&=-3;a=null;for(var d=this.pc&224,f=this.j.length;0<=--f;){if(0<this.j[f].Wa){this.j[f].Wa--;this.B|=2;break}if(this.j[f].xc){if(!this.j[f].xc()){this.j.splice(f,1);continue}this.j[f].xc=
|
||||
null}this.j[f].Zc>d&&(d=this.j[f].Zc,a=this.j[f],this.j.splice(f,1))}d>(this.O&224)&&(this.B&4&&(this.g[7]=this.g[7]+2&65535,this.B&=-5),a?this.M(a.qd,26):this.M(160,26))}else this.B&1&&this.B++;this.C&57344||(this.bb=0,this.fc=this.g[7]);this.B=this.B&7|this.O&16;this.decode(kd(this))}while(0<this.b);return this.u.complete?this.W-this.b:void 0===this.u.complete?0:-1};Pa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new fd(d);cb(d,c)}});
|
||||
function Bd(a,b){var c=b+a;md(this,c,a,b);return c&65535}function Cd(a,b){var c=b+a;md(this,c<<8,a<<8,b<<8);return c&255}function Dd(a,b){a=b<<1;nd(this,a);return a&65535}function Ed(a,b){a=b<<1;nd(this,a<<8);return a&255}function Fd(a,b){a=b&32768|b>>1|b<<16;nd(this,a);return a&65535}function Gd(a,b){a=b&2048|b>>1|b<<8;nd(this,a<<8);return a&255}function Hd(a,b){a=b&~a;O(this,a);return a}function Id(a,b){a=b&~a;O(this,a<<8);return a}function Jd(a,b){a|=b;O(this,a);return a}
|
||||
function Kd(a,b){a|=b;O(this,a<<8);return a}function Ld(a,b){a=~b|65536;ld(this,a);return a&65535}function Md(a,b){a=~b|256;ld(this,a<<8);return a&255}function Nd(a,b){a=b-a;this.B&128||(this.X=this.Z=a,this.V=b&(b^a));return a&65535}function Od(a,b){a=b-a;var c=a<<8;b<<=8;this.B&128||(this.X=this.Z=c,this.V=b&(b^c));return a&255}function Pd(a,b){a=b+a;this.B&128||(this.X=this.Z=a,this.V=a&(b^a));return a&65535}
|
||||
function Qd(a,b){a=b+a;var c=a<<8;this.B&128||(this.X=this.Z=c,this.V=c&(b<<8^c));return a&255}function Rd(a,b){a=-b;ld(this,a,a&b&32768);return a&65535}function Sd(a,b){a=-b;ld(this,a<<8,(a&b&128)<<8);return a&255}function Td(a,b){a=b<<1|this.U>>16&1;nd(this,a);return a&65535}function Ud(a,b){a=b<<1|this.U>>16&1;nd(this,a<<8);return a&255}function Vd(a,b){a=(this.U&65536|b)>>1|b<<16;nd(this,a);return a&65535}function Wd(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;nd(this,a<<8);return a&255}
|
||||
|
|
@ -108,59 +108,59 @@ function ae(a){var b=P(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=t
|
|||
function be(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.U=this.V=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.Z=d>>16|d,this.X=d>>16):(this.V=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1))}else this.Z=this.X=0,this.V=32768,this.U=65536;--this.b}function ce(a){var b=td(this,a,8);a=a>>6&7;pd(this,this.g[a]);this.g[a]=this.g[7];this.g[7]=b;--this.b}
|
||||
function de(a){var b=P(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.B&128||(this.X=b>>16,this.Z=this.X|b,this.V=0,this.U=-32768>b||32767<b?65536:0);--this.b}function ee(){--this.b}function W(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Z=0);a&8&&(this.X=32768);--this.b}function ze(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 Ae(a){R(this,a,P(this,(a&448)>>6),Zd);--this.b}function X(){this.M(8,6)}function gd(a){Be[a>>12].call(this,a)}
|
||||
var Be=[function(a){Ce[a>>8&15].call(this,a)},function(a){O(this,xd(this,a,P(this,a>>6)));--this.b},function(a){var b=P(this,a>>6);a=P(this,a);od(this,b-a,a,b);--this.b},function(a){O(this,P(this,a>>6)&P(this,a));--this.b},function(a){R(this,a,P(this,a>>6),Hd);--this.b},function(a){R(this,a,P(this,a>>6),Jd);--this.b},function(a){R(this,a,P(this,a>>6),Bd);--this.b},function(a){De[a>>8&15].call(this,a)},function(a){Ee[a>>8&15].call(this,a)},function(a){var b=wd(this,a>>6);O(this,yd(this,a,b,1)<<8);
|
||||
--this.b},function(a){var b=wd(this,a>>6)<<8;a=wd(this,a)<<8;od(this,b-a,a,b);--this.b},function(a){O(this,(wd(this,a>>6)&wd(this,a))<<8);--this.b},function(a){S(this,a,wd(this,a>>6),Id);--this.b},function(a){S(this,a,wd(this,a>>6),Kd);--this.b},function(a){R(this,a,P(this,a>>6),Xd);--this.b},X],Ce=[function(a){Fe[a>>4&15].call(this,a)},function(a){T(this,a);--this.b},function(a){jd(this)||T(this,a);--this.b},function(a){jd(this)&&T(this,a);--this.b},function(a){!this.Na()==!id(this)&&T(this,a);--this.b},
|
||||
function(a){!this.Na()!=!id(this)&&T(this,a);--this.b},function(a){jd(this)||!this.Na()!=!id(this)||T(this,a);--this.b},function(a){(jd(this)||!this.Na()!=!id(this))&&T(this,a);--this.b},ce,ce,function(a){Ge[a>>6&3].call(this,a)},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)},X,X],Ge=[function(a){ld(this,xd(this,a,0));--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,a,1,Pd);--this.b},function(a){R(this,a,1,Nd);--this.b}],
|
||||
He=[function(a){R(this,a,0,Rd);--this.b},function(a){R(this,a,N(this)?1:0,Bd);--this.b},function(a){R(this,a,N(this)?1:0,Xd);--this.b},function(a){a=P(this,a);ld(this,a);--this.b}],Ie=[function(a){R(this,a,0,Vd);--this.b},function(a){R(this,a,0,Td);--this.b},function(a){R(this,a,0,Fd);--this.b},function(a){R(this,a,0,Dd);--this.b}],Je=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.Ja(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;this.g[5]=b;--this.b},function(a){a=ud(this,a,0);pd(this,
|
||||
a);O(this,a);--this.b},function(a){var b=rd(this);vd(this,a,0,b);O(this,b);--this.b},function(a){O(this,xd(this,a,this.Na?65535:0));--this.b}],Fe=[function(a){Ke[a&15].call(this,a)},X,X,X,X,X,X,X,function(a){var b=rd(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.B|=1);--this.b},function(a){Le[a&15].call(this,a)},function(a){Me[a&15].call(this,a)},X,X,X,X],Le=[ee,function(){this.U=0;--this.b},function(){this.V=0;--this.b},U,function(){this.Z=
|
||||
1;--this.b},U,U,U,function(){this.X=0;--this.b},U,U,U,U,U,U,U],Me=[ee,function(){this.U=65536;--this.b},function(){this.V=32768;--this.b},W,function(){this.Z=0;--this.b},W,W,W,function(){this.X=32768;--this.b},W,W,W,W,W,W,W],Ke=[function(){this.O&49152?(this.I|=128,this.M(4,3)):ed(this);--this.b},function(){this.B|=4;this.g[7]=this.g[7]+-2&65535;--this.b},function(){qd(this);this.B|=this.O&16;--this.b},function(){this.M(12,1);--this.b},function(){this.M(16,4);--this.b},function(){this.O&49152||(hd(this),
|
||||
this.G.reset());--this.b},function(){qd(this);--this.b},X,X,X,X,X,X,X,X,X],De=[de,de,be,be,$d,$d,ae,ae,Ae,Ae,X,X,X,X,ze,ze],Ee=[function(a){this.Na()||T(this,a);--this.b},function(a){this.Na()&&T(this,a);--this.b},function(a){N(this)||jd(this)||T(this,a);--this.b},function(a){(N(this)||jd(this))&&T(this,a);--this.b},function(a){id(this)||T(this,a);--this.b},function(a){id(this)&&T(this,a);--this.b},function(a){N(this)||T(this,a);--this.b},function(a){N(this)&&T(this,a);--this.b},function(){this.M(24,
|
||||
2);--this.b},function(){this.M(28,5);--this.b},function(a){Ne[a>>6&3].call(this,a)},function(a){Oe[a>>6&3].call(this,a)},function(a){Pe[a>>6&3].call(this,a)},function(a){Qe[a>>6&3].call(this,a)},X,X],Ne=[function(a){ld(this,yd(this,a,0));--this.b},function(a){S(this,a,0,Md);--this.b},function(a){S(this,a,1,Qd);--this.b},function(a){S(this,a,1,Od);--this.b}],Oe=[function(a){S(this,a,0,Sd);--this.b},function(a){S(this,a,N(this)?1:0,Cd);--this.b},function(a){S(this,a,N(this)?1:0,Yd);--this.b},function(a){a=
|
||||
wd(this,a);ld(this,a<<8);--this.b}],Pe=[function(a){S(this,a,0,Wd);--this.b},function(a){S(this,a,0,Ud);--this.b},function(a){S(this,a,0,Gd);--this.b},function(a){S(this,a,0,Ed);--this.b}],Qe=[X,function(a){a=ud(this,a,65536);pd(this,a);O(this,a);--this.b},function(a){var b=rd(this);vd(this,a,65536,b);O(this,b);--this.b},X];
|
||||
var Be=[function(a){Ce[a>>8&15].call(this,a)},function(a){O(this,xd(this,a,P(this,a>>6)));--this.b},function(a){var b=P(this,a>>6);a=P(this,a);od(this,b-a,a,b);--this.b},function(a){O(this,P(this,a>>6)&P(this,a));--this.b},function(a){R(this,a,P(this,a>>6),Hd);--this.b},function(a){R(this,a,P(this,a>>6),Jd);--this.b},function(a){R(this,a,P(this,a>>6),Bd);this.b-=this.Db?9+(this.$b&&6<=this.Fa?1:0):this.Zb?5:3+(7==this.Fa?2:0)},function(a){De[a>>8&15].call(this,a)},function(a){Ee[a>>8&15].call(this,
|
||||
a)},function(a){var b=wd(this,a>>6);O(this,yd(this,a,b,1)<<8);--this.b},function(a){var b=wd(this,a>>6)<<8;a=wd(this,a)<<8;od(this,b-a,a,b);--this.b},function(a){O(this,(wd(this,a>>6)&wd(this,a))<<8);--this.b},function(a){S(this,a,wd(this,a>>6),Id);--this.b},function(a){S(this,a,wd(this,a>>6),Kd);--this.b},function(a){R(this,a,P(this,a>>6),Xd);--this.b},X],Ce=[function(a){Fe[a>>4&15].call(this,a)},function(a){T(this,a);--this.b},function(a){jd(this)||T(this,a);--this.b},function(a){jd(this)&&T(this,
|
||||
a);--this.b},function(a){!this.Na()==!id(this)&&T(this,a);--this.b},function(a){!this.Na()!=!id(this)&&T(this,a);--this.b},function(a){jd(this)||!this.Na()!=!id(this)||T(this,a);--this.b},function(a){(jd(this)||!this.Na()!=!id(this))&&T(this,a);--this.b},ce,ce,function(a){Ge[a>>6&3].call(this,a)},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)},X,X],Ge=[function(a){ld(this,xd(this,a,0));--this.b},function(a){R(this,a,0,Ld);--this.b},function(a){R(this,
|
||||
a,1,Pd);--this.b},function(a){R(this,a,1,Nd);--this.b}],He=[function(a){R(this,a,0,Rd);--this.b},function(a){R(this,a,N(this)?1:0,Bd);--this.b},function(a){R(this,a,N(this)?1:0,Xd);--this.b},function(a){a=P(this,a);ld(this,a);--this.b}],Ie=[function(a){R(this,a,0,Vd);--this.b},function(a){R(this,a,0,Td);--this.b},function(a){R(this,a,0,Fd);--this.b},function(a){R(this,a,0,Dd);--this.b}],Je=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.Ka(a|65536);this.g[7]=this.g[5]&65535;this.g[6]=a+2&65535;
|
||||
this.g[5]=b;--this.b},function(a){a=ud(this,a,0);pd(this,a);O(this,a);--this.b},function(a){var b=rd(this);vd(this,a,0,b);O(this,b);--this.b},function(a){O(this,xd(this,a,this.Na?65535:0));--this.b}],Fe=[function(a){Ke[a&15].call(this,a)},X,X,X,X,X,X,X,function(a){var b=rd(this);a&=7;this.g[7]=this.g[a];this.g[a]=b;--this.b},function(a){this.O&49152||(this.O=this.O&-2017|(a&7)<<5,this.B|=1);--this.b},function(a){Le[a&15].call(this,a)},function(a){Me[a&15].call(this,a)},X,X,X,X],Le=[ee,function(){this.U=
|
||||
0;--this.b},function(){this.V=0;--this.b},U,function(){this.Z=1;--this.b},U,U,U,function(){this.X=0;--this.b},U,U,U,U,U,U,U],Me=[ee,function(){this.U=65536;--this.b},function(){this.V=32768;--this.b},W,function(){this.Z=0;--this.b},W,W,W,function(){this.X=32768;--this.b},W,W,W,W,W,W,W],Ke=[function(){this.O&49152?(this.I|=128,this.M(4,3)):ed(this);--this.b},function(){this.B|=4;this.g[7]=this.g[7]+-2&65535;--this.b},function(){qd(this);this.B|=this.O&16;--this.b},function(){this.M(12,1);--this.b},
|
||||
function(){this.M(16,4);--this.b},function(){this.O&49152||(hd(this),this.G.reset());--this.b},function(){qd(this);--this.b},X,X,X,X,X,X,X,X,X],De=[de,de,be,be,$d,$d,ae,ae,Ae,Ae,X,X,X,X,ze,ze],Ee=[function(a){this.Na()||T(this,a);--this.b},function(a){this.Na()&&T(this,a);--this.b},function(a){N(this)||jd(this)||T(this,a);--this.b},function(a){(N(this)||jd(this))&&T(this,a);--this.b},function(a){id(this)||T(this,a);--this.b},function(a){id(this)&&T(this,a);--this.b},function(a){N(this)||T(this,a);
|
||||
--this.b},function(a){N(this)&&T(this,a);--this.b},function(){this.M(24,2);--this.b},function(){this.M(28,5);--this.b},function(a){Ne[a>>6&3].call(this,a)},function(a){Oe[a>>6&3].call(this,a)},function(a){Pe[a>>6&3].call(this,a)},function(a){Qe[a>>6&3].call(this,a)},X,X],Ne=[function(a){ld(this,yd(this,a,0));--this.b},function(a){S(this,a,0,Md);--this.b},function(a){S(this,a,1,Qd);--this.b},function(a){S(this,a,1,Od);--this.b}],Oe=[function(a){S(this,a,0,Sd);--this.b},function(a){S(this,a,N(this)?
|
||||
1:0,Cd);--this.b},function(a){S(this,a,N(this)?1:0,Yd);--this.b},function(a){a=wd(this,a);ld(this,a<<8);--this.b}],Pe=[function(a){S(this,a,0,Wd);--this.b},function(a){S(this,a,0,Ud);--this.b},function(a){S(this,a,0,Gd);--this.b},function(a){S(this,a,0,Ed);--this.b}],Qe=[X,function(a){a=ud(this,a,65536);pd(this,a);O(this,a);--this.b},function(a){var b=rd(this);vd(this,a,65536,b);O(this,b);--this.b},X];
|
||||
function Re(a){w.call(this,"ROM",a,Re);this.i=null;this.F=a.addr;this.j=a.size;this.H=a.writable;this.A=a.alias;this.C=a.file;this.K=ca(this.C);if(this.C){a=this.C;var b=ha(this.K);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;sa(a,null,!0,function(a,b,e){Se(c,a,b,e)})}}B(Re);Re.prototype.Ya=function(a,b,c,d){this.G=b;this.b=c;this.D=d;Te(this)};
|
||||
Re.prototype.Pa=function(){if(this.La){if(this.D){var a=this.D,b=this.id,c=this.F,d=this.j,f=this.La,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.uc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({xd:b,w:c,Vc:d,La:f,rc:e})}delete this.La}return!0};Re.prototype.Oa=function(){return!0};
|
||||
function Se(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.sc,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.La=h.symbols;if(!a.i.length){u("Empty ROM: "+
|
||||
Re.prototype.Pa=function(){if(this.La){if(this.D){var a=this.D,b=this.id,c=this.F,d=this.j,f=this.La,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.yc);0>p&&n.splice(-(p+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({xd:b,w:c,Vc:d,La:f,vc:e})}delete this.La}return!0};Re.prototype.Oa=function(){return!0};
|
||||
function Se(a,b,c,d){if(d)a.pa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.wc,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.La=h.symbols;if(!a.i.length){u("Empty ROM: "+
|
||||
b);return}if(1==a.i.length){u(a.i[0]);return}}catch(k){a.pa("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]=ba(b[f],16);Te(a)}}
|
||||
function Te(a){if(!sb(a))if(!a.C)F(a);else if(a.i&&a.G){a.j||(a.j=a.i.length);if(a.i.length!=a.j)ub(a,"ROM size ("+t(a.i.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else{var b;b=a.F;if(Eb(a.G,b,a.j,a.H?1:nc)){var c;for(c=0;c<a.i.length;c++){var d=a.G,f=b+c;d.N[(f&d.j)>>>d.Y].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.G,g=e.j,h=[],k=e.F>>>f.Y;0<g&&k<f.N.length;)h.push(f.N[k++]),
|
||||
g-=f.Ba;f=e.G;e=e.j;g=0;for(d>>>=f.Y;0<e&&d<f.N.length;){k=h[g++];if(!k)break;f.N[d++]=k;e-=f.Ba}}delete a.i}}F(a)}}Pa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Re(d);cb(d,c)}});function Ue(a){w.call(this,"RAM",a,Ue);this.A=a.addr;this.j=a.size;this.i=!1}B(Ue);l=Ue.prototype;l.Ya=function(a,b,c,d){this.G=b;this.b=c;this.D=d;F(this)};l.Pa=function(a,b){b||this.reset();return!0};l.Oa=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.i&&this.j&&Eb(this.G,this.A,this.j,1)&&(this.i=!0);this.i||u("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Pa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ue(d);cb(d,c)}});function Ve(a){w.call(this,"Keyboard",a,Ve,65536);F(this)}B(Ve);Ve.prototype.va=function(){return!1};Ve.prototype.Ya=function(a,b,c,d){this.i=a;this.b=c;this.D=d;this.ha=null};
|
||||
Pa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ve(d);cb(d,c)}});function We(a){w.call(this,"Debugger",a,We);this.ea=a.base||16;this.Ka=!1;this.$=this.Ga=this.K=0;this.da=!1;this.C=-1;this.A=[];this.ja={}}B(We);var Xe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};We.prototype.zc=function(){return-1};We.prototype.Ac=function(){};
|
||||
Pa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ve(d);cb(d,c)}});function We(a){w.call(this,"Debugger",a,We);this.ea=a.base||16;this.Ha=!1;this.$=this.Ga=this.K=0;this.da=!1;this.C=-1;this.A=[];this.ja={}}B(We);var Xe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};We.prototype.Cc=function(){return-1};We.prototype.Dc=function(){};
|
||||
function Ye(a,b,c,d){if(c)if(b){0>a.C&&a.A.length&&(a.C=0);if(0>a.C||b!=a.A[a.C])a.A.splice(0,0,b),a.C=0;a.C--}else a.da?b="end":b=a.A[a.C+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 Ze(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 $e(a,b,c){var d;if(b){b=af(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=bf(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&&Xe[n]<Xe[k[k.length-1]]&&Ze(h,k,1);k.push(n);b=b.substr(p+q)}Ze(h,k)&&1==h.length||(e=!0);e?c&&a.f("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&cf(a,null,
|
||||
d))}return d}function af(a,b){for(var c,d=a.Ka?"(":"{",f=a.Ka?")":"}",e=new RegExp(a.Ka?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=$e(a,c[1]);b=b.replace(d+c[1]+f,null!=g?Y(a,g):"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.$-a.Ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
function bf(a,b,c,d){var f;null!=b?(f=a.zc(b),0<=f?f=a.Ac(f):(f=a.ja[b],null==f&&(f=ba(b,a.ea))),null!=f||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return f}
|
||||
d))}return d}function af(a,b){for(var c,d=a.Ha?"(":"{",f=a.Ha?")":"}",e=new RegExp(a.Ha?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=$e(a,c[1]);b=b.replace(d+c[1]+f,null!=g?Y(a,g):"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.$-a.Ga}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
function bf(a,b,c,d){var f;null!=b?(f=a.Cc(b),0<=f?f=a.Dc(f):(f=a.ja[b],null==f&&(f=ba(b,a.ea))),null!=f||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return f}
|
||||
function cf(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=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.f((null!=b?b+": ":"")+d);return f}function df(a,b){if(b)return cf(a,b,a.ja[b]);var c=0;for(b in a.ja)cf(a,b,a.ja[b]),c++;return 0<c}
|
||||
function Y(a,b,c,d){switch(a.ea){case 8:a=r(b,3*c);break;case 10:a=b.toString();break;default:a=t(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
|
||||
function ef(a){We.call(this,a);this.Ka=!0;this.T=Z();this.Db=Z();this.ca=Z();this.H=[];this.j=this.W=this.F=[];ff(this);this.ya=0;gf(this);this.Sa={};hf(this,a.messages);this.pb=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Wc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Wc(b,a)})}B(ef,We);
|
||||
function ef(a){We.call(this,a);this.Ha=!0;this.T=Z();this.Db=Z();this.ca=Z();this.H=[];this.j=this.W=this.F=[];ff(this);this.ya=0;gf(this);this.Sa={};hf(this,a.messages);this.pb=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Wc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Wc(b,a)})}B(ef,We);
|
||||
var jf={"?":"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"},kf="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(" "),
|
||||
lf={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=ef.prototype;
|
||||
l.Ya=function(a,b,c,d){this.G=b;this.b=c;this.i=a;(a=Ac(a,"messages"))&&hf(this,a);this.vc=lf;mf(this,function(a){a:{var b=d.G.N,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(nf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.G.Y;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=Hb[c],n&&d.f(t(n.id,8)+" %"+t(f<<d.G.Y,8)+" %%"+t(n.w,8)+" "+t(n.Wb,
|
||||
l.Ya=function(a,b,c,d){this.G=b;this.b=c;this.i=a;(a=Ac(a,"messages"))&&hf(this,a);this.Lb=lf;mf(this,function(a){a:{var b=d.G.N,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(nf(d,c));if(-1===a){d.f("invalid address: "+c);break a}f=a>>>d.G.Y;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=Hb[c],n&&d.f(t(n.id,8)+" %"+t(f<<d.G.Y,8)+" %%"+t(n.w,8)+" "+t(n.Yb,
|
||||
4,!0)+" "+t(n.size,4,!0)+" "+m),c!=mc&&(c=-1),m=0);a+=d.G.Ba;f++}}});F(this)};
|
||||
l.va=function(a,b,c){var d=this;switch(b){case "debugInput":return this.xa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Wc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.A.length-1&&(b=d.A[++d.C])):40==a.keyCode&&(0<d.C?b=d.A[--d.C]:(b="",d.C=-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.J[b]=c,Da(c,function(){if(d.xa){var a=d.xa.value;
|
||||
d.xa.value="";Wc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Da(c,function(a){var b=!1;fb(d,!0)||(eb(d,!0),b=d.Ab(a?1:0),eb(d,!1));return b}),!0}return!1};l.Vb=function(){this.xa&&this.xa.focus()};l.ba=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.rb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=this.G,c=c.N[(d&c.j)>>>c.Y].Ob(d&c.i,d),b&&of(a,b));return c};l.Ia=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Ib(this.G,d),b&&of(a,b));return c};
|
||||
l.Tb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.G;f.N[(d&f.j)>>>f.Y].Cb(d&f.i,b&255,d);c&&of(a,c);L(this.b,!0)}};l.ob=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.G,e=d&f.i,g=(d&f.j)>>>f.Y;e!=f.i?f.N[g].pc(e,b&65535,d):(f.N[g++].Cb(e,b&255,d),f.N[g&f.A].Cb(0,b>>8&255,d+1));c&&of(a,c);L(this.b,!0)}};function Z(a){return{w:a,Ha:!1}}function pf(a){return[a.w,a.Ha]}function qf(a){return{w:a[0],Ha:a[1]}}
|
||||
function nf(a,b,c){var d;c=(c?a.T:a.Db).w;if(void 0!==b){d=b=af(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var e=a.H[c].La[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=$e(a,b,void 0)}null!=c&&(d=Z(c));return d}function rf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Kc=Ye(a,b.Fc=c[2]))}function of(a,b){null!=a.w&&(a.w+=b||1)}
|
||||
function hf(a,b){a.D=a;a.ka=a.Lc=536870912;a.za=null;a.Fa=[];b=Ye(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){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.ka|=G[c],a.f(c+" messages enabled"))}}function mf(a,b){for(var c in G)if(64==G[c]){a.Sa[c]=b;break}}
|
||||
l.zc=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function sf(a){return 6>a?"R"+a:6==a?"SP":"PC"}l.Ac=function(a){var b;0<=a&&(8>a?b=this.b.g[a]:16>a?b=this.b.Qa[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Zb(this.b)));return b};
|
||||
d.xa.value="";Wc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Da(c,function(a){var b=!1;fb(d,!0)||(eb(d,!0),b=d.Ab(a?1:0),eb(d,!1));return b}),!0}return!1};l.Xb=function(){this.xa&&this.xa.focus()};l.ba=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.rb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=this.G,c=c.N[(d&c.j)>>>c.Y].Qb(d&c.i,d),b&&of(a,b));return c};l.Ja=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Ib(this.G,d),b&&of(a,b));return c};
|
||||
l.Vb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.G;f.N[(d&f.j)>>>f.Y].Cb(d&f.i,b&255,d);c&&of(a,c);L(this.b,!0)}};l.ob=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.G,e=d&f.i,g=(d&f.j)>>>f.Y;e!=f.i?f.N[g].tc(e,b&65535,d):(f.N[g++].Cb(e,b&255,d),f.N[g&f.A].Cb(0,b>>8&255,d+1));c&&of(a,c);L(this.b,!0)}};function Z(a){return{w:a,Ia:!1}}function pf(a){return[a.w,a.Ia]}function qf(a){return{w:a[0],Ia:a[1]}}
|
||||
function nf(a,b,c){var d;c=(c?a.T:a.Db).w;if(void 0!==b){d=b=af(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var e=a.H[c].La[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=$e(a,b,void 0)}null!=c&&(d=Z(c));return d}function rf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Nc=Ye(a,b.Ic=c[2]))}function of(a,b){null!=a.w&&(a.w+=b||1)}
|
||||
function hf(a,b){a.D=a;a.ka=a.Oc=536870912;a.za=null;a.Fa=[];b=Ye(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){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.ka|=G[c],a.f(c+" messages enabled"))}}function mf(a,b){for(var c in G)if(64==G[c]){a.Sa[c]=b;break}}
|
||||
l.Cc=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function sf(a){return 6>a?"R"+a:6==a?"SP":"PC"}l.Dc=function(a){var b;0<=a&&(8>a?b=this.b.g[a]:16>a?b=this.b.Qa[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Zb(this.b)));return b};
|
||||
l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.g[7]).w));this.ka&1073741824?this.Fa.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.na(),a+=" (cpu halted)"),this.f(a),this.b&&(a=this.b,ed(a),a.da=0,L(a)))};
|
||||
function gf(a){var b;if(zd(a)){if(!a.R||!a.R.length){a.R=Array(1E3);for(b=0;b<a.R.length;b++)a.R[b]=Z();a.sa=0;a.f("instruction history buffer allocated")}if(!a.ra||!a.ra.length)for(a.ra=Array(256),b=0;b<a.ra.length;b++)a.ra[b]=[b,0]}else a.R&&a.R.length&&a.f("instruction history buffer freed"),a.sa=0,a.R=[],a.ra=[]}l.zb=function(a){if(!tf(this))return!1;this.b.zb(a);return!0};
|
||||
l.Ab=function(a,b,c){if(!tf(this))return!1;this.K=0;a||zd(this)&&Ad(this,this.b.g[7],0);try{a=cd(this.b,a);var d=this.b.Ab(a);0<d&&(dd(this.b,a),this.K+=d,ad(this.b,d,!0),Xc(this.b,d),this.$++)}catch(f){"number"!=typeof f&&(this.K=0,ub(this.b,f.stack||f.message))}!1!==c&&L(this.b);this.Ea(b||!1);return 0<this.K};l.na=function(a){this.b&&this.b.na(a)};l.Ea=function(a){void 0===a&&(a=!0);this.T=Z(this.b.g[7]);a&&1!=this.ha?uf(this):vf(this)};
|
||||
function tf(a){var b;if(b=a.b&&sb(a.b))b=a.b,b.u.ia?b=!0:(b.f(b.toString()+" not powered"),b=!1);return b&&!a.b.u.ga?!tb(a.b):!1}l.Pa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Oa=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){gf(this);this.$=this.Ga=0;this.za=null;this.K=0;this.T=Z(this.b.g[7]);this.u.ga=!1;wf(this);a||this.Ea()};
|
||||
l.save=function(){var a=new M(this);a.set(0,pf(this.T));a.set(1,pf(this.ca));a.set(2,[this.A,this.da,this.ka]);a.set(3,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.T=qf(a[b++]),this.ca=qf(a[b++]),this.A=a[b][0],"string"==typeof this.A&&(this.A=[this.A]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.H=a[3]);return!0};l.start=function(a,b){this.ha||this.f("running");this.u.ga=!0;this.Oc=a;this.Qc=b};
|
||||
l.stop=function(a,b){if(this.u.ga){this.u.ga=!1;this.K=b-this.Qc;if(!this.ha){b="stopped";if(this.K){a-=this.Oc;var c=0<a?Math.round(1E3*this.K/a):0;b+=" (";zd(this)&&(b+=this.$+" opcodes, ",this.Ga-=this.$,this.$=0);b+=this.K+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.Ea(!0);this.Vb();wf(this,this.b.g[7])}};function zd(a){return 1<a.j.length||!!a.ya}
|
||||
function Ad(a,b,c){var d=a.b;if(0<c&&(a.ya&&!--a.ya||vc(a,b,1,a.j)))return!0;0<=c&&a.ra.length&&(a.$++,null!=Ib(a.G,b)&&(b=a.R[a.sa],b.w=d.g[7],b.Ha=!1,++a.sa==a.R.length&&(a.sa=0)));return!1}function ff(a){var b,c;a.j=["bp"];if(a.W)for(b=1;b<a.W.length;b++){c=a.W[b];var d=a.G;c=a.ba(c);wc(d.N[c>>>d.Y],!1)}a.W=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=a.G,c=a.ba(c),wc(d.N[c>>>d.Y],!0);a.F=["bw"];a.Hb=0}
|
||||
l.ib=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.j){var f=this.ba(b);if(-1===f)this.f("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.G;e.N[f>>>e.Y].ib(f&e.i,a==this.F)}}d&&(a.push(b),c?b.Ha=!0:(yf(this,a,a.length-1,"set"),gf(this)));return d};function xf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ha)){e=!0;h.Ha||f||yf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.G,wc(d.N[c>>>d.Y],b==a.F));h.Ha||gf(a);break}}return e}
|
||||
function zf(a,b){for(var c=1;c<b.length;c++)yf(a,b,c);return b.length-1}function yf(a,b,c,d){c=b[c];a.f(b[0]+" "+Y(a,c.w)+(d?" "+d:c.Fc?' "'+c.Fc+'"':""))}function wf(a,b){if(void 0!==b)vc(a,b,1,a.j,!0),a.ha=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Ha){if(!xf(a,a.j,c,!0))break;b=0}}}
|
||||
function vc(a,b,c,d,f){var e=!1;if(!a.Hb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ha)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ha&&(xf(a,d,h,!0),f=!0);if(n=h.Kc){for(var e=!1,p=0;p<n.length;p++)if(!Af(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.ga||(e=!0)}if(e){f||yf(a,d,g,"hit");break}}}a.Hb--;return e}
|
||||
function Bf(a,b,c,d){var f=Z(b.w),e=a.Ia(b,2),g,h;for(h in a.vc)if(g=a.vc[h][e&h])break;g||(g=[0]);h="";for(var k=kf[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var y=p,p=b,v="",z=y&61440;if(4096==z)p=p.w+((e&255)<<24>>23)&65535,v=Y(q,p);else if(8192==z)p=p.w-((e&63)<<1)&65535,v=Y(q,p);else if(12288==z)v=Y(q,e&7,1);else if(24576==z)v=Y(q,e&63,1);else if(z=e&y,y&4032&&(z>>=6,y>>=6),y&63)switch(y=z&7,z&56){case 0:v=sf(y);break;case 8:v="@"+sf(y);break;case 16:7>y?v="("+sf(y)+
|
||||
")+":(z=q.Ia(p,2),v="#"+Y(q,z,0,!0));break;case 24:7>y?v="@("+sf(y)+")+":(z=q.Ia(p,2),v="@#"+Y(q,z,0,!0));break;case 32:v="-("+sf(y)+")";break;case 40:v="@-("+sf(y)+")";break;case 48:z=q.Ia(p,2);v=Y(q,z,0,!0)+"("+sf(y)+")";7==y&&(v=[v,Y(q,z+p.w&65535)]);break;case 56:z=q.Ia(p,2),v="@"+Y(q,z)+"("+sf(y)+")",7==y&&(v=[v,Y(q,z+p.w&65535)])}q=v;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=Y(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=
|
||||
" "+Y(a,a.Ia(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="+Yc(a.b).toString()+" cs="+t(a.b.Lb)):g+(null!=d?"="+d.toString():""));return g}function Cf(a,b){switch(b){case "N":a=a.b.Na();break;case "Z":a=jd(a.b);break;case "V":a=id(a.b);break;case "C":a=N(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||
function Df(a,b){var c="",d=a.b;8>b?(c=sf(b),c+="="+Y(a,d.g[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Qa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Zb(d)));c&&(c+=" ");return c}function Ef(a){var b,c="";for(b=0;6>b;b++)c+=Df(a,b);c=c+"\n"+(Df(a,6)+Df(a,7)+Df(a,20));return c+=Cf(a,"T")+Cf(a,"N")+Cf(a,"Z")+Cf(a,"V")+Cf(a,"C")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Ff(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.H.length;b++){var e=a.H[b],g=e.w>>>0,h=e.Vc;if(f>=g&&f<g+h){f=oa(e.rc,[f-g],a.uc);0<=f?Gf(a,b,f,d):c&&(f=~f,Gf(a,b,f-1,d),Gf(a,b,f,d));break}}return d}function Gf(a,b,c,d){var f={},e=a.H[b].rc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.H[b].La[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
||||
l.save=function(){var a=new M(this);a.set(0,pf(this.T));a.set(1,pf(this.ca));a.set(2,[this.A,this.da,this.ka]);a.set(3,this.H);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.T=qf(a[b++]),this.ca=qf(a[b++]),this.A=a[b][0],"string"==typeof this.A&&(this.A=[this.A]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.H=a[3]);return!0};l.start=function(a,b){this.ha||this.f("running");this.u.ga=!0;this.Zb=a;this.$b=b};
|
||||
l.stop=function(a,b){if(this.u.ga){this.u.ga=!1;this.K=b-this.$b;if(!this.ha){b="stopped";if(this.K){a-=this.Zb;var c=0<a?Math.round(1E3*this.K/a):0;b+=" (";zd(this)&&(b+=this.$+" opcodes, ",this.Ga-=this.$,this.$=0);b+=this.K+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}this.Ea(!0);this.Xb();wf(this,this.b.g[7])}};function zd(a){return 1<a.j.length||!!a.ya}
|
||||
function Ad(a,b,c){var d=a.b;if(0<c&&(a.ya&&!--a.ya||vc(a,b,1,a.j)))return!0;0<=c&&a.ra.length&&(a.$++,null!=Ib(a.G,b)&&(b=a.R[a.sa],b.w=d.g[7],b.Ia=!1,++a.sa==a.R.length&&(a.sa=0)));return!1}function ff(a){var b,c;a.j=["bp"];if(a.W)for(b=1;b<a.W.length;b++){c=a.W[b];var d=a.G;c=a.ba(c);wc(d.N[c>>>d.Y],!1)}a.W=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],d=a.G,c=a.ba(c),wc(d.N[c>>>d.Y],!0);a.F=["bw"];a.Hb=0}
|
||||
l.ib=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.j){var f=this.ba(b);if(-1===f)this.f("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.G;e.N[f>>>e.Y].ib(f&e.i,a==this.F)}}d&&(a.push(b),c?b.Ia=!0:(yf(this,a,a.length-1,"set"),gf(this)));return d};function xf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ia)){e=!0;h.Ia||f||yf(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.G,wc(d.N[c>>>d.Y],b==a.F));h.Ia||gf(a);break}}return e}
|
||||
function zf(a,b){for(var c=1;c<b.length;c++)yf(a,b,c);return b.length-1}function yf(a,b,c,d){c=b[c];a.f(b[0]+" "+Y(a,c.w)+(d?" "+d:c.Ic?' "'+c.Ic+'"':""))}function wf(a,b){if(void 0!==b)vc(a,b,1,a.j,!0),a.ha=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Ia){if(!xf(a,a.j,c,!0))break;b=0}}}
|
||||
function vc(a,b,c,d,f){var e=!1;if(!a.Hb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ia)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ia&&(xf(a,d,h,!0),f=!0);if(n=h.Nc){for(var e=!1,p=0;p<n.length;p++)if(!Af(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.ga||(e=!0)}if(e){f||yf(a,d,g,"hit");break}}}a.Hb--;return e}
|
||||
function Bf(a,b,c,d){var f=Z(b.w),e=a.Ja(b,2),g,h;for(h in a.Lb)if(g=a.Lb[h][e&h])break;g||(g=[0]);h="";for(var k=kf[g[0]],m=g.length-1,n=1;n<=m;n++){var p=g[n];if(void 0!==p){var q;q=a;var y=p,p=b,v="",z=y&61440;if(4096==z)p=p.w+((e&255)<<24>>23)&65535,v=Y(q,p);else if(8192==z)p=p.w-((e&63)<<1)&65535,v=Y(q,p);else if(12288==z)v=Y(q,e&7,1);else if(24576==z)v=Y(q,e&63,1);else if(z=e&y,y&4032&&(z>>=6,y>>=6),y&63)switch(y=z&7,z&56){case 0:v=sf(y);break;case 8:v="@"+sf(y);break;case 16:7>y?v="("+sf(y)+
|
||||
")+":(z=q.Ja(p,2),v="#"+Y(q,z,0,!0));break;case 24:7>y?v="@("+sf(y)+")+":(z=q.Ja(p,2),v="@#"+Y(q,z,0,!0));break;case 32:v="-("+sf(y)+")";break;case 40:v="@-("+sf(y)+")";break;case 48:z=q.Ja(p,2);v=Y(q,z,0,!0)+"("+sf(y)+")";7==y&&(v=[v,Y(q,z+p.w&65535)]);break;case 56:z=q.Ja(p,2),v="@"+Y(q,z)+"("+sf(y)+")",7==y&&(v=[v,Y(q,z+p.w&65535)])}q=v;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=Y(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=
|
||||
" "+Y(a,a.Ja(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="+Yc(a.b).toString()+" cs="+t(a.b.Nb)):g+(null!=d?"="+d.toString():""));return g}function Cf(a,b){switch(b){case "N":a=a.b.Na();break;case "Z":a=jd(a.b);break;case "V":a=id(a.b);break;case "C":a=N(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||
function Df(a,b){var c="",d=a.b;8>b?(c=sf(b),c+="="+Y(a,d.g[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Qa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Zb(d)));c&&(c+=" ");return c}function Ef(a){var b,c="";for(b=0;6>b;b++)c+=Df(a,b);c=c+"\n"+(Df(a,6)+Df(a,7)+Df(a,20));return c+=Cf(a,"T")+Cf(a,"N")+Cf(a,"Z")+Cf(a,"V")+Cf(a,"C")}l.yc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Ff(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.H.length;b++){var e=a.H[b],g=e.w>>>0,h=e.Vc;if(f>=g&&f<g+h){f=oa(e.vc,[f-g],a.yc);0<=f?Gf(a,b,f,d):c&&(f=~f,Gf(a,b,f-1,d),Gf(a,b,f,d));break}}return d}function Gf(a,b,c,d){var f={},e=a.H[b].vc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.H[b].La[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
||||
function Hf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return df(a)||a.f("no variables"),!0;if(!c[2])return df(a,c[1]);if(!c[3])return delete a.ja[c[1]],!0;b=$e(a,c[3]);return void 0!==b?(a.ja[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
|
||||
function If(a,b,c){var d=null;if(b=nf(a,b,!0)){a.ba(b);var f=Ff(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+t(e,4,!0)),e=f[0]+" ("+Y(a,f[1])+")"+g,c&&a.f(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+t(e,4,!0)),e=f[4]+" ("+Y(a,f[5])+")"+g,c&&a.f(e),d||(d=e))}else c&&a.f("no symbols")}return d}
|
||||
function uf(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=$e(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.T=Z(d.g[7]);break;case "N":d.X=e?32768:0;
|
||||
|
|
@ -168,42 +168,42 @@ break;case "Z":d.Z=e?0:1;break;case "V":d.V=e?32768:0;break;case "C":d.U=e?65536
|
|||
function Kf(a,b,c){var d="t"!=b;c=bf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return eb(a,!0)&&a.Ab(f,d,!1)},function(){L(a.b);eb(a,!1)})}
|
||||
function vf(a,b,c,d){if(b=nf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=nf(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=fb(a,!1)||a.ha?a.K:null;var g=null!=e?"cycles":null,h=Ff(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=Bf(a,b,g,e);a.f(e);a.T=b;f-=b.w-k;c++}}}
|
||||
function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(">> "+b):(a.da&&(a.f("ended assemble at "+Y(a,a.ca.w)),a.T=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(sb(a)&&0<b.length){a.da&&(b="a "+Y(a,a.ca.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=nf(a,e[1],!0);
|
||||
if(n)if(a.ca=n,void 0===e[2])a.f("begin assemble at "+Y(a,n.w)),a.da=!0,L(a.b);else{var p;a.f("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.Tb(n,p[q],1);a.f(Bf(a,a.ca))}}break;case "b":a:{var y=e[0],v=e[1],z=b;if("?"==v)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)");
|
||||
if(n)if(a.ca=n,void 0===e[2])a.f("begin assemble at "+Y(a,n.w)),a.da=!0,L(a.b);else{var p;a.f("not supported yet");p=[];if(p.length){for(var q=0;q<p.length;q++)a.Vb(n,p[q],1);a.f(Bf(a,a.ca))}}break;case "b":a:{var y=e[0],v=e[1],z=b;if("?"==v)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 ua=y.charAt(1);if("l"==ua){var Cc;Cc=0+zf(a,a.j);Cc+=zf(a,a.W);(Cc+=zf(a,a.F))||a.f("no breakpoints")}else if("n"==ua)a.ya=bf(a,v),a.f("break after "+a.ya+" instruction(s)");else if(void 0===v)a.f("missing breakpoint address");else{var Q=Z();if("*"!=v&&(Q=nf(a,v,!0),!Q))break a;"c"==ua?null==Q.w?(ff(a),a.f("all breakpoints cleared")):xf(a,a.j,Q)||xf(a,a.W,Q)||xf(a,a.F,Q)||a.f("breakpoint missing: "+Y(a,Q.w)):null!=Q.w&&(rf(a,Q,z),"p"==ua?a.ib(a.j,Q):"r"==ua?a.ib(a.W,Q):"w"==ua?a.ib(a.F,Q):
|
||||
a.f("unknown breakpoint command: "+ua))}}}break;case "c":a.jb&&(a.jb.value="");break;case "d":a:{var Ia,Ja=e[0],da=e[1],va=e[2],cg=e[3];if("?"==da){var Ka="";for(Ia in G)a.Sa[Ia]&&(Ka&&(Ka+=","),Ka+=Ia);Ka+=",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");Ka.length&&a.f("dump extension commands:\n\t"+
|
||||
Ka)}else if("state"==da){var fe=Lf(a.i,!0);"console"==va?console.log(fe):(a.jb&&(a.jb.value=""),a.f(fe))}else if("symbols"==da)for(var Dc=0;Dc<a.H.length;Dc++){var Ec=a.H[Dc],La;for(La in Ec.La)if("."!=La.charAt(0)){var ge=Ec.La[La].o;if(void 0!==ge){var he=Ec.La[La].l;he&&(La=he);a.f(Y(a,ge)+" "+La)}}}else{if("d"==Ja){for(Ia in G)if(e[1]==Ia){var ie=a.Sa[Ia];ie?(e.shift(),e.shift(),ie(e)):a.f("no dump registered for "+da);break a}da||(Ja=a.Uc||"db")}else a.Uc=Ja;if("dh"==Ja){var je=da,ke=va,le="",
|
||||
me=0,aa=a.sa,ea=a.R;if(ea.length){var V=+je||a.Xb,gb=+ke||10;isNaN(V)?V=gb:le="more ";V>ea.length&&(a.f("note: only "+ea.length+" available"),V=ea.length);aa-=V;0>aa&&(null==ea[ea.length-1].w?(V=aa+V,aa=0):aa+=ea.length);var Fc=[];"call"==ke&&(gb=1E5,Fc=["CALL"]);for(void 0!==je&&a.f(V+" instructions earlier:");0<gb&&aa!=a.sa;){var ne=ea[aa++];if(null==ne.w)break;var hb=Z(ne.w),dg=V--,oe=Bf(a,hb,"history",dg);(!Fc.length||0<=oe.indexOf(Fc[0]))&&a.f(oe);hb.gc&&(aa+=hb.gc,gb-=hb.gc,V-=hb.gc);aa>=ea.length&&
|
||||
(aa=0);a.Xb=V;me++;gb--}}me||(a.f("no "+le+"history available"),a.Xb=void 0)}else{var Ob=nf(a,da);if(Ob){var Pb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||cg),Pb=bf(a,va)>>>0,65536<Pb&&(Pb=65536));for(var ib="",Ma="dd"==Ja?4:"dw"==Ja?2:1,Qb=Ma*Pb||128,eg=Qb+15>>4||1;eg--&&0<Qb;){var jb=0,Gc=0,kb,Hc="",pe="",da=Y(a,Ob.w);for(kb=4==Ma?16:a.ea;0<kb&&0<Qb;kb--){var Rb=a.rb(Ob,1),jb=jb|Rb<<(Gc++<<3);Gc==Ma&&(Hc+=8==a.ea?r(jb,3*Ma):t(jb,2*Ma),Hc+=1==Ma?9==kb?"-":" ":" ",jb=Gc=0);pe+=32<=Rb&&128>Rb?String.fromCharCode(Rb):
|
||||
".";Qb--}ib&&(ib+="\n");ib+=da+" "+Hc+(0==kb?" "+pe:"")}ib&&a.f(ib);a.Db=Ob}}}}break;case "e":if("else"==e[0])break;var Na,Ic,Jc,Kc,Lc=e[0],Mc=e[1];"eb"==Lc?(Na=1,Ic=255,Jc=a.rb,Kc=a.Tb):"e"==Lc||"ew"==Lc?(Na=2,Ic=65535,Jc=a.Ia,Kc=a.ob):Mc=null;if(null==Mc)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 Sb=nf(a,Mc);if(Sb)for(var Tb=2;Tb<e.length;Tb++){var lb=$e(a,e[Tb]);if(void 0===lb){a.f("unrecognized value: "+
|
||||
Ka)}else if("state"==da){var fe=Lf(a.i,!0);"console"==va?console.log(fe):(a.jb&&(a.jb.value=""),a.f(fe))}else if("symbols"==da)for(var Dc=0;Dc<a.H.length;Dc++){var Ec=a.H[Dc],La;for(La in Ec.La)if("."!=La.charAt(0)){var ge=Ec.La[La].o;if(void 0!==ge){var he=Ec.La[La].l;he&&(La=he);a.f(Y(a,ge)+" "+La)}}}else{if("d"==Ja){for(Ia in G)if(e[1]==Ia){var ie=a.Sa[Ia];ie?(e.shift(),e.shift(),ie(e)):a.f("no dump registered for "+da);break a}da||(Ja=a.lc||"db")}else a.lc=Ja;if("dh"==Ja){var je=da,ke=va,le="",
|
||||
me=0,aa=a.sa,ea=a.R;if(ea.length){var V=+je||a.Kb,gb=+ke||10;isNaN(V)?V=gb:le="more ";V>ea.length&&(a.f("note: only "+ea.length+" available"),V=ea.length);aa-=V;0>aa&&(null==ea[ea.length-1].w?(V=aa+V,aa=0):aa+=ea.length);var Fc=[];"call"==ke&&(gb=1E5,Fc=["CALL"]);for(void 0!==je&&a.f(V+" instructions earlier:");0<gb&&aa!=a.sa;){var ne=ea[aa++];if(null==ne.w)break;var hb=Z(ne.w),dg=V--,oe=Bf(a,hb,"history",dg);(!Fc.length||0<=oe.indexOf(Fc[0]))&&a.f(oe);hb.jc&&(aa+=hb.jc,gb-=hb.jc,V-=hb.jc);aa>=ea.length&&
|
||||
(aa=0);a.Kb=V;me++;gb--}}me||(a.f("no "+le+"history available"),a.Kb=void 0)}else{var Ob=nf(a,da);if(Ob){var Pb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||cg),Pb=bf(a,va)>>>0,65536<Pb&&(Pb=65536));for(var ib="",Ma="dd"==Ja?4:"dw"==Ja?2:1,Qb=Ma*Pb||128,eg=Qb+15>>4||1;eg--&&0<Qb;){var jb=0,Gc=0,kb,Hc="",pe="",da=Y(a,Ob.w);for(kb=4==Ma?16:a.ea;0<kb&&0<Qb;kb--){var Rb=a.rb(Ob,1),jb=jb|Rb<<(Gc++<<3);Gc==Ma&&(Hc+=8==a.ea?r(jb,3*Ma):t(jb,2*Ma),Hc+=1==Ma?9==kb?"-":" ":" ",jb=Gc=0);pe+=32<=Rb&&128>Rb?String.fromCharCode(Rb):
|
||||
".";Qb--}ib&&(ib+="\n");ib+=da+" "+Hc+(0==kb?" "+pe:"")}ib&&a.f(ib);a.Db=Ob}}}}break;case "e":if("else"==e[0])break;var Na,Ic,Jc,Kc,Lc=e[0],Mc=e[1];"eb"==Lc?(Na=1,Ic=255,Jc=a.rb,Kc=a.Vb):"e"==Lc||"ew"==Lc?(Na=2,Ic=65535,Jc=a.Ja,Kc=a.ob):Mc=null;if(null==Mc)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 Sb=nf(a,Mc);if(Sb)for(var Tb=2;Tb<e.length;Tb++){var lb=$e(a,e[Tb]);if(void 0===lb){a.f("unrecognized value: "+
|
||||
e[Tb]);break}lb&~Ic&&a.f("warning: "+t(lb)+" exceeds "+Na+"-byte value");var fg=Jc.call(a,Sb);a.f("changing "+Y(a,Sb.w)+" from "+Y(a,fg,Na)+" to "+Y(a,lb,Na));Kc.call(a,Sb,lb,Na)}}break;case "g":a:{var qe=e[1],gg=b;if(void 0!==qe){var Nc=nf(a,qe,!0);if(!Nc)break a;rf(a,Nc,gg);a.ib(a.j,Nc,!0)}a.zb(!0)||c||a.f("cpu busy or unavailable, run command ignored")}break;case "h":a:{var Oc;if(a.u.ga)Oc="halting",a.na();else{if(fb(a,!0))break a;Oc="already halted"}c||a.f(Oc)}break;case "i":if("if"==e[0]){var Pc;
|
||||
var mb=b.substr(2),mb=na(mb);$e(a,mb)?(c||a.f("true: "+mb),Pc=!0):(c||a.f("false: "+mb),Pc=!1);Pc||(d=!1)}break;case "k":var hg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Qc=0,re=Z(),nb=Z(a.b.g[6]);for(a.f("stack trace for "+Y(a,nb.w));10>Qc;){for(var wa=null,ig=256;65536>nb.w>>>0;){re.w=a.Ia(nb,2);if(null==nb.w||!ig--)break;for(var jg=a,Ub=re,se=null,ob=Ub.w,te=ob,Rc=1;6>=Rc&&ob;Rc++){if(2<Rc){Ub.w=ob;var Vb=Bf(jg,
|
||||
var mb=b.substr(2),mb=na(mb);$e(a,mb)?(c||a.f("true: "+mb),Pc=!0):(c||a.f("false: "+mb),Pc=!1);Pc||(d=!1)}break;case "k":var hg=e[0];if("?"==e[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");else{var Qc=0,re=Z(),nb=Z(a.b.g[6]);for(a.f("stack trace for "+Y(a,nb.w));10>Qc;){for(var wa=null,ig=256;65536>nb.w>>>0;){re.w=a.Ja(nb,2);if(null==nb.w||!ig--)break;for(var jg=a,Ub=re,se=null,ob=Ub.w,te=ob,Rc=1;6>=Rc&&ob;Rc++){if(2<Rc){Ub.w=ob;var Vb=Bf(jg,
|
||||
Ub);if(0<=Vb.indexOf("JSR")){var ue=Vb.indexOf(" ");if(ob+(Vb.indexOf(" ",ue+1)-ue-1)/2==te){se=Vb;break}}}ob--}Ub.w=te;if(wa=se)break}if(!wa||null==wa)break;var ve=null;if("ks"==hg){var we=wa.match(/[0-9A-F]+$/);we&&(ve=If(a,we[0]))}wa=ma(wa,50)+" ;"+(ve||"stack="+Y(a,nb.w));a.f(wa);Qc++}Qc||a.f("no return addresses found")}break;case "l":"ln"==e[0]&&If(a,e[1],!0);break;case "m":a:{var fa,ga=null,A=e[1];"?"==A&&(A=void 0);if(void 0!==A){var ra=0;if("all"==A)ra=1878917119,A=null;else if("on"==A)ga=
|
||||
!0,A=null;else if("off"==A)ga=!1,A=null;else{"keys"==A&&(A="key");"kbd"==A&&(A="keyboard");for(fa in G)if(A==fa){ra=G[fa];ga=!!(a.ka&ra);break}if(!ra){a.f("unknown message category: "+A);break a}}if(ra)if("on"==e[2])a.ka|=ra,ga=!0;else if("off"==e[2]&&(a.ka&=~ra,ga=!1,1073741824==ra)){for(var Sc=0;Sc<a.Fa.length;Sc++)a.f(a.Fa[Sc]);a.Fa=[]}}var kg=0,pb="";for(fa in G)if(!A||A==fa){var lg=!!(a.ka&G[fa]);if(null===ga||ga==lg)pb&&(pb+=","),++kg%10||(pb+="\n\t"),"key"==fa&&(fa="keys"),pb+=fa}void 0===
|
||||
A&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==ga?ga?"messages on: ":"messages off: ":"message categories:\n\t")+(pb||"none"));gf(a)}break;case "p":if("print"==e[0]){Jf(a,b.substr(5));break}var mg="pr"==e[0]?1:0;if(a.ha)a.f("step in progress");else{var xe=Z(a.b.g[7]);a.rb(xe);a.ha?(a.ib(a.j,xe,!0),a.zb()||(a.i&&a.i.Vb(),a.ha=0)):Kf(a,mg?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}uf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var qb=
|
||||
+e[2];if(8==qb||10==qb||16==qb)a.ea=qb;else{a.f("invalid base: "+qb);break}}a.f("default base: "+a.ea);break;case "cs":var rb;void 0!==e[3]&&(rb=+e[3]);switch(e[2]){case "int":a.b.tb=rb;break;case "start":a.b.Mb=rb;break;case "stop":a.b.ub=rb;break;default:a.f("unknown cs option");break a}void 0!==rb&&Vc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&($c(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.lb.toFixed(2)+
|
||||
A&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==ga?ga?"messages on: ":"messages off: ":"message categories:\n\t")+(pb||"none"));gf(a)}break;case "p":if("print"==e[0]){Jf(a,b.substr(5));break}var mg="pr"==e[0]?1:0;if(a.ha)a.f("step in progress");else{var xe=Z(a.b.g[7]);a.rb(xe);a.ha?(a.ib(a.j,xe,!0),a.zb()||(a.i&&a.i.Xb(),a.ha=0)):Kf(a,mg?"tr":"t")}break;case "r":if("reset"==b){a.i&&a.i.reset();break}uf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var qb=
|
||||
+e[2];if(8==qb||10==qb||16==qb)a.ea=qb;else{a.f("invalid base: "+qb);break}}a.f("default base: "+a.ea);break;case "cs":var rb;void 0!==e[3]&&(rb=+e[3]);switch(e[2]){case "int":a.b.tb=rb;break;case "start":a.b.Ob=rb;break;case "stop":a.b.ub=rb;break;default:a.f("unknown cs option");break a}void 0!==rb&&Vc(a.b);a.f("checksums "+(a.b.u.qb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&($c(a.b,+e[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.b.lb.toFixed(2)+
|
||||
"Mhz")+" ("+a.b.ab+"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":Kf(a,e[0],e[1]);break;case "u":vf(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Hf(a,b.substr(3))||(d=!1);break}a.f("PDP11js version 1.30.0 ("+
|
||||
a.b.Yc+",RELEASE"+(vb?",TYPEDARRAYS":",LONGARRAYS")+")");a.f(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Jf(a,b.substr(1));break}var Tc="commands:",Uc;for(Uc in jf)Tc+="\n"+ma(Uc,9)+jf[Uc];zd(a)||(Tc+="\nnote: history disabled if no exec breakpoints");a.f(Tc);break;default:a.f("unknown command: "+b),d=!1}}}catch(ye){a.f("debugger error: "+(ye.stack||ye.message)),d=!1}return d}function Wc(a,b,c){b=Ye(a,b,c);for(var d in b)if(!Af(a,b[+d]))return!1;return!0}
|
||||
Pa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ef(d);cb(d,c)}});
|
||||
function Mf(a,b,c){w.call(this,"Computer",a,Mf,67108864);this.u.ia=!1;Nf(this,b);this.W=Ac(this,"autoPower",a);this.A=0;this.ha=a.busWidth||a.buswidth;this.i=Of;this.R=null;this.H=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.j=Pf(this);if(this.b=bb("CPU",this.id)){this.D=bb("Debugger",this.id);this.G=new yb({id:this.sc+".bus",busWidth:this.ha},this.b,this.D);var d,f=ab(this.id);if((this.C=bb("Panel",this.id))&&this.C.jb)for(b=0;b<f.length;b++)d=f[b],d.pa=this.C.pa,d.f=
|
||||
function Mf(a,b,c){w.call(this,"Computer",a,Mf,67108864);this.u.ia=!1;Nf(this,b);this.W=Ac(this,"autoPower",a);this.A=0;this.ha=a.busWidth||a.buswidth;this.i=Of;this.R=null;this.H=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.j=Pf(this);if(this.b=bb("CPU",this.id)){this.D=bb("Debugger",this.id);this.G=new yb({id:this.wc+".bus",busWidth:this.ha},this.b,this.D);var d,f=ab(this.id);if((this.C=bb("Panel",this.id))&&this.C.jb)for(b=0;b<f.length;b++)d=f[b],d.pa=this.C.pa,d.f=
|
||||
this.C.f,d.jb=this.C.jb;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.Ya&&d.Ya(this,this.G,this.b,this.D);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.i=parseInt(d,10));var e;if(a=Ac(this,"state")||(e=!0,a.state))b=this.$=a,e||(this.H=!0,this.i=Of),this.i&&
|
||||
(this.T=new M(this,"1.30.0"),Qf(this.T)?b=null:delete this.T);!b&&this.i&&(b=Rf(this))&&(this.H=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.K=null,g.H=!1,g.pa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.R=b,g.da=!0);F(g)})}else F(this);this.J.power||(this.W=!0);!c&&this.W&&Sf(this,this.Nb)}else u("Unable to find CPU component")}B(Mf);var Of=0;
|
||||
(this.T=new M(this,"1.30.0"),Qf(this.T)?b=null:delete this.T);!b&&this.i&&(b=Rf(this))&&(this.H=!0);if(b){var g=this;sa(b,null,!0,function(a,b,c){c?(g.K=null,g.H=!1,g.pa("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.R=b,g.da=!0);F(g)})}else F(this);this.J.power||(this.W=!0);!c&&this.W&&Sf(this,this.Pb)}else u("Unable to find CPU component")}B(Mf);var Of=0;
|
||||
function Nf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.ea=b}function Ac(a,b,c){var d=b.toLowerCase(),d=Ua[b]||Ua[d];void 0===d&&a.ea&&(d=a.ea[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Sf(a,b,c){for(var d=ab(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!sb(e)){sb(e,function(){Sf(a,b,c)});return}}b.call(a,c)}
|
||||
function Tf(a,b){var c=new M(a,"1.30.0","validate");if(Qf(c)&&Uf(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.pa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Mf.prototype;
|
||||
l.Nb=function(a){void 0===a&&(a=this.i||(this.R?1:Of));if(!this.A){this.A++;var b=!1,c=!1;this.ca=!1;var d=this.T||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>Of){if(Qf(d,this.R)){this.F=new M(this,"1.30.0","failsafe");Qf(this.F)&&(Vf(this,d),a=2,Wf(this.F));this.F.set("timestamp",qa());Xf(this.F);var f=this.i&&!this.H;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Uf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Qf(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.pa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Wf(d),Qf(d)?(c=Uf(d),f=!0):c=!1))}f&&Tf(this,c?d:null)}else 2==a&&d.clear()}else Tf(this);delete this.R;delete this.T}f=ab(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=Yf(this,g,d,b,c));b=[d,a,c];-1!=a?Sf(this,this.xc,b):this.xc(b)}};
|
||||
function Yf(a,b,c,d,f){if(!b.u.ia){b.u.ia=!0;if(b.Pa){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.Pa(e,d)&&e&&(u("Unable to restore state for "+b.type),a.$&&!a.da?(c.clear(),a.i=Of,window&&window.location.reload()):a.ca=!0,b.Pa(null),f=!1)}if(!d&&b.qc)for(a=b.qc.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.ja=!0;this.u.ia=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(Yf(this,this.b,b,c,a),this.b.Gb());this.ca&&(Vf(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.A=0};
|
||||
l.Pb=function(a){void 0===a&&(a=this.i||(this.R?1:Of));if(!this.A){this.A++;var b=!1,c=!1;this.ca=!1;var d=this.T||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>Of){if(Qf(d,this.R)){this.F=new M(this,"1.30.0","failsafe");Qf(this.F)&&(Vf(this,d),a=2,Wf(this.F));this.F.set("timestamp",qa());Xf(this.F);var f=this.i&&!this.H;if(1==a||ta("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=Uf(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Qf(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.pa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.j=null)):this.f(e+": "+g),Wf(d),Qf(d)?(c=Uf(d),f=!0):c=!1))}f&&Tf(this,c?d:null)}else 2==a&&d.clear()}else Tf(this);delete this.R;delete this.T}f=ab(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=Yf(this,g,d,b,c));b=[d,a,c];-1!=a?Sf(this,this.Ac,b):this.Ac(b)}};
|
||||
function Yf(a,b,c,d,f){if(!b.u.ia){b.u.ia=!0;if(b.Pa){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.Pa(e,d)&&e&&(u("Unable to restore state for "+b.type),a.$&&!a.da?(c.clear(),a.i=Of,window&&window.location.reload()):a.ca=!0,b.Pa(null),f=!1)}if(!d&&b.uc)for(a=b.uc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.Ac=function(a){var b=a[0],c=0>a[1];a=a[2];this.ja=!0;this.u.ia=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(Yf(this,this.b,b,c,a),this.b.Gb());this.ca&&(Vf(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.A=0};
|
||||
function Vf(a,b){if(ta("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 Lf(a,b,c){var d,f="none";if(a.A)return null;a.A--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=qa();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.Oa&&(c&&a.b.na(),d=a.b.Oa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ia=!1,!1===d&&(f=null)));for(var h=ab(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ia&&(m.Oa&&(d=m.Oa(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.u.ia=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&Zf(a,a.j,e.toString()),Xf(g)&&Xf(e)||(f=null,d=h=!0)):a.i&&(d=!0,h=3==a.i),d&&e.clear(h)):f=e.toString());c&&(a.u.ia=!1,b=a.J.power)&&(b.textContent="Power");a.A=0;return f}l.reset=function(){this.G&&this.G.reset&&(db(this,"Resetting "+this.G.type),this.G.reset());for(var a=ab(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c.reset&&(db(this,"Resetting "+c.type),c.reset())}};
|
||||
l.start=function(a,b){for(var c=ab(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=ab(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
l.va=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.A||(d.u.ia?Lf(d,!1,!0):Sf(d,d.Nb))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.u.ia&&!d.A)if(d.i&&!d.K){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Lf(d,a,!0);!a&&d.$?window&&window.location.reload():d.Nb(Of)}else d.reset(),d.b&&d.b.Gb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.J[b]=
|
||||
l.va=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.A||(d.u.ia?Lf(d,!1,!0):Sf(d,d.Pb))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.u.ia&&!d.A)if(d.i&&!d.K){var a=ta("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Lf(d,a,!0);!a&&d.$?window&&window.location.reload():d.Pb(Of)}else d.reset(),d.b&&d.b.Gb()},!0;case "save":if(ia())c.parentNode.removeChild(c);else return this.J[b]=
|
||||
c,c.onclick=function(){var a=Pf(d,!0);if(a){var b=!!(d.i&&!d.K||d.$),c=Lf(d,b);b?Zf(d,a,c):d.pa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Pf(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=$f(a,c))||a.pa("The user ID is invalid.")):b&&a.pa("Browser local storage is not available"));return c}
|
||||
function $f(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){u(d.message+" ("+c+")")}return a.j}function Rf(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+ag(a,"1.30.0"));return b}
|
||||
function Zf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ag(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.pa("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.pa(c),Aa("user",""),a.j=null)}}l.Vb=function(){};
|
||||
l.Ea=function(a){this.b&&this.b.Ea(a);this.C&&this.C.Ea(a)};Pa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=C(e),g=new Mf(g,d,!0);cb(g,e);g.W&&Sf(g,g.Nb)}});Ea.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.ja&&!c.u.ia&&c.Nb(-1)}});
|
||||
Ea.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.u.ia&&Lf(c,!(!c.i||c.K),!0)}});function M(a,b,c){this.id=a.id;this.key=ag(a,b,c);this.D=a.D;Wf(this,a.Rc)}function ag(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 Zf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ag(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.pa("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.pa(c),Aa("user",""),a.j=null)}}l.Xb=function(){};
|
||||
l.Ea=function(a){this.b&&this.b.Ea(a);this.C&&this.C.Ea(a)};Pa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=C(e),g=new Mf(g,d,!0);cb(g,e);g.W&&Sf(g,g.Pb)}});Ea.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.ja&&!c.u.ia&&c.Pb(-1)}});
|
||||
Ea.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.u.ia&&Lf(c,!(!c.i||c.K),!0)}});function M(a,b,c){this.id=a.id;this.key=ag(a,b,c);this.D=a.D;Wf(this,a.Sc)}function ag(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}
|
||||
M.prototype={constructor:M,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){Wf(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 Wf(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Xf(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Uf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Qf(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 bg=0;
|
||||
function ng(a,b,c,d,f,e){f("Loading "+a+"...");sa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):og(h,a,b,c,d,f,e)})}
|
||||
|
|
|
|||
|
|
@ -8,14 +8,14 @@ typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encod
|
|||
function q(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)}
|
||||
function ua(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function va(a){!sa&&a?(sa=!0,qa&&wa("init"),ra&&wa("show")):sa=a}function wa(a){t[a]&&ua(t[a])}ta("onload",function(){qa=!0;ua(t.init)});ta("onpageshow",function(){ra=!0;ua(t.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){ua(t.exit)});
|
||||
function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Hb=b.comment;this.bc=b;b=this.id.indexOf(".");0>b?this.vb=this.id:(this.Ib=this.id.substr(0,b),this.vb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Gc:!1,Hc:!1,N:!1,error:!1};this.lb=null;this.h.error=!1;this.u={};this.I=null;x.push(this)}var xa=void 0,ya={};
|
||||
function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ib=b.comment;this.hc=b;b=this.id.indexOf(".");0>b?this.wb=this.id:(this.Lb=this.id.substr(0,b),this.wb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Kc:!1,Lc:!1,N:!1,error:!1};this.lb=null;this.h.error=!1;this.u={};this.I=null;x.push(this)}var xa=void 0,ya={};
|
||||
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 y(a,b){b||(b=w);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={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},x=[];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<x.length;b++){var d=x[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<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(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.da(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}
|
||||
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},da: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.yb=this.u[b]=c,c.value="",this.K=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||
this.M=function(a){this.K(a,this.vb)}),!0;default:return!1}},log:function(){},K:function(){},status:function(a){this.K(this.vb+": "+a)},M:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},va:function(){return this.h.N=!0},ua:function(a,b){b&&(this.h.N=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.lb;a.lb=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.lb=b);return a.h.ready}var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){w.call(this,"Panel",a,Ia)}y(Ia);
|
||||
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},da: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.zb=this.u[b]=c,c.value="",this.K=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||
this.M=function(a){this.K(a,this.wb)}),!0;default:return!1}},log:function(){},K:function(){},status:function(a){this.K(this.wb+": "+a)},M:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},va:function(){return this.h.N=!0},ua:function(a,b){b&&(this.h.N=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.lb;a.lb=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.lb=b);return a.h.ready}var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){w.call(this,"Panel",a,Ia)}y(Ia);
|
||||
l=Ia.prototype;l.da=function(a,b,c,d){return this.v&&this.v.da(a,b,c,d)||this.a&&this.a.da(a,b,c,d)?!0:this.parent.da.call(this,a,b,c,d)};l.Ia=function(a,b,c,d){this.v=a;this.B=b;this.a=c;this.I=d};l.va=function(a,b){b||Ja();return!0};l.ua=function(){return!0};l.Ua=function(){};
|
||||
function Ja(){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<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ia(f));B(e,d);a&&E(e)}}u(Ja);
|
||||
function F(a,b,c){w.call(this,"Bus",a,F);this.a=b;this.I=c;this.G=a.busWidth||16;this.v=Math.pow(2,this.G);this.l=this.v-1|0;this.f=(this.G>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.J=this.g>>2;this.j=this.g-1;this.m=this.v/this.g|0;this.L=this.m-1;this.ma=[];this.C=null;this.$a=this.R;a=new G;Ka(a,this.I);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Xa=Array(4);this.Xa[0]=La;this.Xa[1]=Ma;this.Xa[2]=Na;this.Xa[3]=Oa;Pa(this,this.v-8192,8192,Qa,this);
|
||||
|
|
@ -23,75 +23,75 @@ Pa(this,57344,8192,Qa,this);E(this)}y(F);function La(a,b){var c=this.controller,
|
|||
function Ma(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.K("warning: unconverted write access to byte @"+ba(c));d.$a(c,b,1)}
|
||||
function Na(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.K("warning: unconverted read access to word @"+ba(b));return c.$a(b,-1,0)}function Oa(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.K("warning: unconverted write access to word @"+ba(c));d.$a(c,b,0)}F.prototype.reset=function(){this.C&&this.C()};F.prototype.R=function(){return 0};
|
||||
F.prototype.va=function(a,b){b||this.reset();return!0};function Pa(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.g,r=a.g-(e-m);r>g&&(r=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Wa)return k.tb+=k.Wa-e,k.Wa=e,!0;if(e>=k.Wa+k.tb){r=k.size-(e-m);r>g&&(r=g);k.tb=e-k.Wa+r;e=m+a.g;g-=r;h++;continue}}return Ra(1,e,g)}e=new G(e,r,a.g,d,f);Ka(e,a.I,k);a.b[h++]=e;e=m+a.g;g-=r}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)}
|
||||
function Ta(a,b){return a.b[(b&a.l)>>>a.f].bb(b&a.j,b)}function Ua(a,b,c){var d=b&a.j,f=(b&a.l)>>>a.f;d!=a.j?a.b[f].Dc(d,c&65535,b):(a.b[f++].Va(d,c&255,b),a.b[f&a.L].Va(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d<a.m;d++){var f=a.b[d];if(f.qa||f.ac){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],r=g+1;r<f.length&&f[r]===m;)r++;k[h++]=r-g;k[h++]=m;g=r}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Ta(a,b){return a.b[(b&a.l)>>>a.f].bb(b&a.j,b)}function Ua(a,b,c){var d=b&a.j,f=(b&a.l)>>>a.f;d!=a.j?a.b[f].Hc(d,c&65535,b):(a.b[f++].Va(d,c&255,b),a.b[f&a.L].Va(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d<a.m;d++){var f=a.b[d];if(f.qa||f.ec){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],r=g+1;r<f.length&&f[r]===m;)r++;k[h++]=r-g;k[h++]=m;g=r}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Wa(a,b){var c=Xa,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,r=f[3]?f[3].bind(b):null,f=f[4],v=+d;v<=g;v+=2){var D=v&8191;void 0!==e.ma[D]?q("I/O address already registered: "+n(v,8,!0)):e.ma[D]=[h,k,m,r,!1,f||"unknown"]}}function Ya(a,b,c){a.C=b;a.$a=c}function Ra(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||
function H(a){w.call(this,"Device",a,H);this.b={Bb:[],U:0,W:128,b:127,$b:0};this.g={data:0,Fc:0,Qa:20,xc:0};this.f={s:0,Eb:-1};this.j={eb:2496,P:0,A:128,fb:0,cb:0,V:0,Qb:0,S:[],Ga:[406,406,406,406],F:[12,12,12,12]};this.l={s:129,Za:0,H:0,ta:0,na:0,za:0,S:[],F:[40,40,40,40],Ga:[1024,1024,512,512],Yb:[157,157,29,29]};this.m={a:[8210,8208,8210,8226],F:[22,22,22,50],Fa:[19,19,19,32],ub:[815,411,815,630],S:[],D:2176,Ta:0,Ra:0,ca:[0,0,0,0,0,0,0,0],ba:0,T:[4544,4544,4544,4544,4544,4544,4544,4544],Sa:[0,
|
||||
0,0,0,0,0,0,0],La:0,uc:[0,0,0,0,0,0,0,0],Rb:0,Sb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],vc:[1,2,3,4,5,6,7,8],Tb:[0,0,0,0,0,0,0,0],ha:[0,0,0,0,0,0,0,0],sb:[0,0,0,0,0,0,0,0],sc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],qc:[0,0,0,0,0,0,0,0],rc:[0,0,0,0,0,0,0,0],ya:0,Db:0}}y(H);
|
||||
function H(a){w.call(this,"Device",a,H);this.b={Cb:[],U:0,W:128,b:127,dc:0};this.g={data:0,Jc:0,Qa:20,Bc:0};this.f={s:0,Fb:-1};this.j={eb:2496,P:0,A:128,fb:0,cb:0,V:0,Ub:0,S:[],Ga:[406,406,406,406],F:[12,12,12,12]};this.l={s:129,Za:0,H:0,ta:0,na:0,za:0,S:[],F:[40,40,40,40],Ga:[1024,1024,512,512],bc:[157,157,29,29]};this.m={a:[8210,8208,8210,8226],F:[22,22,22,50],Fa:[19,19,19,32],ub:[815,411,815,630],S:[],D:2176,Ta:0,Ra:0,ca:[0,0,0,0,0,0,0,0],ba:0,T:[4544,4544,4544,4544,4544,4544,4544,4544],Sa:[0,
|
||||
0,0,0,0,0,0,0],La:0,yc:[0,0,0,0,0,0,0,0],Vb:0,Wb:[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],Xb:[0,0,0,0,0,0,0,0],ha:[0,0,0,0,0,0,0,0],sb:[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,Eb:0}}y(H);
|
||||
var Za=[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=H.prototype;l.Ia=function(a,b,c,d){this.B=b;this.a=c;this.I=d;var f=this;this.f.Eb=$a(this.a,function(){f.f.sa|=128;f.f.sa&64&&(I(f.a,0,6,64),ab(f.a,f.f.Eb))});Wa(b,this);Ya(b,this.reset.bind(this),this.Xb.bind(this));E(this)};l.ic=function(){var a=this.f.sa;this.f.sa&=-129;return a};
|
||||
l.zc=function(a){this.f.sa=a;a&64&&ab(this.a,this.f.Eb);this.f.sa=a&-129};l.jc=function(){var a=this.a;return a.C&62337|a.Ma<<5|a.Na<<1};l.Ac=function(a){var b=4,c=this.a;c.C=a&=62337;c.Ma=a>>5&3;c.Na=a>>1&15;c.mb=a&257?a&1?6:4:0;bb(c);a=c.C;a&1|256&&(b=this.a.Ja&16?1:2);this.g.Qa=this.g.Qa&-8|b};l.lc=function(){return this.b.U};l.Cc=function(a){this.b.U=this.b.U&128|a&-129};l.mc=function(){return this.b.W};
|
||||
l.Ec=function(a){if(128==(this.b.W&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.W|=128;return!!(b.b.W&64)})}this.b.W=this.b.W&128|a&-129};l.kc=function(){return cb(this.a)};l.Bc=function(a){db(this.a,a&-1809|cb(this.a)&1808);this.a.i|=128};
|
||||
function eb(a){var b=a.j,c,d,f,e=b.V>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.nc,drive:e,blocksize:256,mapped:0,maxblock:b.Ga[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.eb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Ga[e]){b.P|=32832;b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.cb;f=65536-b.fb&65535;fb(a,b.S[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Ga[e])b.P|=32832,
|
||||
b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.cb;f=65536-b.fb&65535;a.ob(b.S[e],c,d,f);return}}b.eb=e<<13|b.eb&8176|b.V%9&15;I(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.nc=function(a,b,c,d,f){var e=this.j;e.cb=d&65535;e.A=e.A&-49|d>>12&48;e.fb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}I(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})};
|
||||
function gb(a){var b=a.l,c,d,f,e=b.s>>8&3;b.s&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.oc,drive:e,blocksize:128,mapped:1,maxblock:b.Ga[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.s>>1&7){case 2:b.ta&8&&(b.s&=63);b.ta=b.Yb[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.Ga[e]){b.s|=37888;break}if((b.H&63)>=b.F[e]){b.s|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
|
||||
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=H.prototype;l.Ia=function(a,b,c,d){this.B=b;this.a=c;this.I=d;var f=this;this.f.Fb=$a(this.a,function(){f.f.sa|=128;f.f.sa&64&&(I(f.a,0,6,64),ab(f.a,f.f.Fb))});Wa(b,this);Ya(b,this.reset.bind(this),this.ac.bind(this));E(this)};l.mc=function(){var a=this.f.sa;this.f.sa&=-129;return a};
|
||||
l.Dc=function(a){this.f.sa=a;a&64&&ab(this.a,this.f.Fb);this.f.sa=a&-129};l.nc=function(){var a=this.a;return a.C&62337|a.Ma<<5|a.Na<<1};l.Ec=function(a){var b=4,c=this.a;c.C=a&=62337;c.Ma=a>>5&3;c.Na=a>>1&15;c.mb=a&257?a&1?6:4:0;bb(c);a=c.C;a&1|256&&(b=this.a.Ja&16?1:2);this.g.Qa=this.g.Qa&-8|b};l.pc=function(){return this.b.U};l.Gc=function(a){this.b.U=this.b.U&128|a&-129};l.qc=function(){return this.b.W};
|
||||
l.Ic=function(a){if(128==(this.b.W&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.W|=128;return!!(b.b.W&64)})}this.b.W=this.b.W&128|a&-129};l.oc=function(){return cb(this.a)};l.Fc=function(a){db(this.a,a&-1809|cb(this.a)&1808);this.a.i|=128};
|
||||
function eb(a){var b=a.j,c,d,f,e=b.V>>13&7;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.rc,drive:e,blocksize:256,mapped:0,maxblock:b.Ga[e]*b.F[e],url:"rk"+e+".dsk"});b.A&=-129;switch(b.A>>1&7){case 0:b.eb=2496;b.P=0;b.A=128;b.V=0;break;case 1:if((b.V>>4&511)>=b.Ga[e]){b.P|=32832;b.A|=49152;break}if((b.V&15)>=b.F[e]){b.P|=32800;b.A|=49152;break}c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.cb;f=65536-b.fb&65535;fb(a,b.S[e],c,d,f);return;case 2:if((b.V>>4&511)>=b.Ga[e])b.P|=32832,
|
||||
b.A|=49152;else if((b.V&15)>=b.F[e])b.P|=32800,b.A|=49152;else{c=(b.V>>4&511)*b.F[e]+(b.V&15);d=(b.A&48)<<12|b.cb;f=65536-b.fb&65535;a.ob(b.S[e],c,d,f);return}}b.eb=e<<13|b.eb&8176|b.V%9&15;I(a.a,20,5,144,function(){b.A=b.A&65534|128;return!!(b.A&64)})}l.rc=function(a,b,c,d,f){var e=this.j;e.cb=d&65535;e.A=e.A&-49|d>>12&48;e.fb=65536-f&65535;switch(a){case 1:e.P|=33024;e.A|=49152;break;case 2:e.P|=33792,e.A|=49152}I(this.a,20,5,144,function(){e.A=e.A&65534|128;return!!(e.A&64)})};
|
||||
function gb(a){var b=a.l,c,d,f,e=b.s>>8&3;b.s&=-2;"undefined"===typeof b.S[e]&&(b.S[e]={cache:[],postProcess:a.sc,drive:e,blocksize:128,mapped:1,maxblock:b.Ga[e]*b.F[e],url:"rl"+e+".dsk"});switch(b.s>>1&7){case 2:b.ta&8&&(b.s&=63);b.ta=b.bc[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.Ga[e]){b.s|=37888;break}if((b.H&63)>=b.F[e]){b.s|=37888;break}c=(b.H>>6)*b.F[e]+(b.H&63);
|
||||
d=(b.na&63)<<16|b.Za;f=65536-b.ta&65535;fb(a,b.S[e],c,d,f);return;case 6:if(b.H>>6>=b.Ga[e])b.s|=37888;else if((b.H&63)>=b.F[e])b.s|=37888;else{c=(b.H>>6)*b.F[e]+(b.H&63);d=(b.na&63)<<16|b.Za;f=65536-b.ta&65535;a.ob(b.S[e],c,d,f);return}}I(a.a,20,5,112,function(){b.s|=129;return!!(b.s&64)})}
|
||||
l.oc=function(a,b,c,d,f){var e=this.l;e.Za=d&65535;e.s=e.s&-49|d>>12&48;e.na=d>>16&63;e.H=~~(c/e.F[b.ga])<<6|c%e.F[b.ga];e.za=e.H;e.ta=65536-f&65535;switch(a){case 1:e.s|=33792;break;case 2:e.s|=40960}I(this.a,20,5,112,function(){e.s|=129;return!!(e.s&64)})};function hb(a){a=a.m;a.D=2176;a.ba=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Sa=[0,0,0,0,0,0,0,0];a.La=a.Ta=a.Ra=a.ya=a.Db=0}
|
||||
function ib(a,b){var c=a.m,d,f,e;c.D&=-16513;c.ba&=-2049;c.T[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.S[b]&&(c.S[b]={cache:[],postProcess:a.pc,drive:b,blocksize:256,mapped:0,maxblock:c.ub[0]*c.Fa[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.sb[b]=c.ha[b];c.D|=32896;c.T[b]|=32896;c.La|=1<<b;break;case 9:hb(a);break;case 19:c.T[b]|=64;break;case 49:if(c.ha[b]>=c.ub[0]||c.ca[b]>>8>=c.Fa[0]||(c.ca[b]&255)>=c.F[0]){c.Sa[b]|=1024;c.D|=49152;break}d=(c.ha[b]*c.Fa[0]+(c.ca[b]>>8))*c.F[0]+
|
||||
l.sc=function(a,b,c,d,f){var e=this.l;e.Za=d&65535;e.s=e.s&-49|d>>12&48;e.na=d>>16&63;e.H=~~(c/e.F[b.ga])<<6|c%e.F[b.ga];e.za=e.H;e.ta=65536-f&65535;switch(a){case 1:e.s|=33792;break;case 2:e.s|=40960}I(this.a,20,5,112,function(){e.s|=129;return!!(e.s&64)})};function hb(a){a=a.m;a.D=2176;a.ba=0;a.T=[4544,4544,4544,4544,4544,4544,4544,4544];a.Sa=[0,0,0,0,0,0,0,0];a.La=a.Ta=a.Ra=a.ya=a.Eb=0}
|
||||
function ib(a,b){var c=a.m,d,f,e;c.D&=-16513;c.ba&=-2049;c.T[b]&=-1153;I(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.ub[0]*c.Fa[0]*c.F[0],url:"rp"+b+".dsk"});switch(c.D&63){case 5:c.sb[b]=c.ha[b];c.D|=32896;c.T[b]|=32896;c.La|=1<<b;break;case 9:hb(a);break;case 19:c.T[b]|=64;break;case 49:if(c.ha[b]>=c.ub[0]||c.ca[b]>>8>=c.Fa[0]||(c.ca[b]&255)>=c.F[0]){c.Sa[b]|=1024;c.D|=49152;break}d=(c.ha[b]*c.Fa[0]+(c.ca[b]>>8))*c.F[0]+
|
||||
(c.ca[b]&255);f=(c.ya&63)<<16|c.Ra;e=65536-c.Ta&65535;fb(a,c.S[b],d,f,e);return;case 57:if(c.ha[b]>=c.ub[0]||c.ca[b]>>8>=c.Fa[0]||(c.ca[b]&255)>=c.F[0])c.Sa[b]|=1024,c.D|=49152;else{d=(c.ha[b]*c.Fa[0]+(c.ca[b]>>8))*c.F[0]+(c.ca[b]&255);f=(c.ya&63)<<16|c.Ra;e=65536-c.Ta&65535;a.ob(c.S[b],d,f,e);return}}I(a.a,3,5,172,function(){c.D=c.D&65534|128;c.T[b]|=128;return!!(c.D&64)})}
|
||||
l.pc=function(a,b,c,d,f){var e=this.m;e.Ta=65536-f&65535;e.Ra=d&65535;e.D=e.D&-769|d>>8&768;e.ya=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Fa[0]);e.ca[b.ga]=f%e.Fa[0]<<8|c%e.F[0];e.sb[b.ga]=e.ha[b.ga]=d;e.La|=1<<b.ga;c>=b.gc-1&&(e.T[b.ga]|=1024);switch(a){case 1:e.ba|=512;e.D|=49152;break;case 2:e.ba|=2048,e.D|=49152}I(this.a,20,5,172,function(){e.T[b.ga]|=128;e.D=e.D&65534|128;return!!(e.D&64)})};
|
||||
function jb(a,b,c,d,f,e){var g=~~((e+c.oa-1)/c.oa),h=new XMLHttpRequest;2048>g&&d+2048<c.gc&&(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,r,v,D;m=h.response;if(h.status&&206!=h.status||!m)c.Ab(1,c,d,f,e);else{m=new Uint8Array(m);r=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[r])for(c.cache[r]=[],v=0;v<c.oa;v++)c.cache[r][v]=D<m.length?
|
||||
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.oa<<1;r++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.ob=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){jb(this,this.ob,a,b,c,d);return}for(f=0;f<a.oa&&0<d;f++){var e=a.fc?kb(this.a,c):c;Ua(this.a.B,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Ab(0,a,b,c,d)};
|
||||
function fb(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.qb(b.fc?kb(a.a,d):d);if(0>g){b.Ab(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Ab(0,b,c,d,f)}l.reset=function(){this.g.Qa=this.g.Qa&-120|20;this.b.U=0;this.b.W=128;this.f.sa=0;this.j.A=128;this.l.s=128;hb(this)};
|
||||
l.Xb=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.Cb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Cb=d;e.i|=2}break;case 4194294:if(70!==e.Ha)return K(e,4);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ha)return K(e,4);d=1;break;case 4194290:if(70!==e.Ha)return K(e,4);d=0;break;case 4194288:if(70!==e.Ha)return K(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.Ha)return K(e,4);f=a-4194272>>1;0>b?d=e.zb[f]:(d=J(this,e.zb[f],a,b,c),0<=d&&(e.zb[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[3]=b),d=e.fa[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[1]=b),d=e.fa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ka[f]=b),d=e.Ka[f]),d;case 4194246:return a&
|
||||
l.tc=function(a,b,c,d,f){var e=this.m;e.Ta=65536-f&65535;e.Ra=d&65535;e.D=e.D&-769|d>>8&768;e.ya=d>>16&63;f=~~(c/e.F[0]);d=~~(f/e.Fa[0]);e.ca[b.ga]=f%e.Fa[0]<<8|c%e.F[0];e.sb[b.ga]=e.ha[b.ga]=d;e.La|=1<<b.ga;c>=b.kc-1&&(e.T[b.ga]|=1024);switch(a){case 1:e.ba|=512;e.D|=49152;break;case 2:e.ba|=2048,e.D|=49152}I(this.a,20,5,172,function(){e.T[b.ga]|=128;e.D=e.D&65534|128;return!!(e.D&64)})};
|
||||
function jb(a,b,c,d,f,e){var g=~~((e+c.oa-1)/c.oa),h=new XMLHttpRequest;2048>g&&d+2048<c.kc&&(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,r,v,D;m=h.response;if(h.status&&206!=h.status||!m)c.Bb(1,c,d,f,e);else{m=new Uint8Array(m);r=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[r])for(c.cache[r]=[],v=0;v<c.oa;v++)c.cache[r][v]=D<m.length?
|
||||
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.oa<<1;r++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.ob=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){jb(this,this.ob,a,b,c,d);return}for(f=0;f<a.oa&&0<d;f++){var e=a.jc?kb(this.a,c):c;Ua(this.a.B,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Bb(0,a,b,c,d)};
|
||||
function fb(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.qb(b.jc?kb(a.a,d):d);if(0>g){b.Bb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Bb(0,b,c,d,f)}l.reset=function(){this.g.Qa=this.g.Qa&-120|20;this.b.U=0;this.b.W=128;this.f.sa=0;this.j.A=128;this.l.s=128;hb(this)};
|
||||
l.ac=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.Db;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Db=d;e.i|=2}break;case 4194294:if(70!==e.Ha)return K(e,4);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ha)return K(e,4);d=1;break;case 4194290:if(70!==e.Ha)return K(e,4);d=0;break;case 4194288:if(70!==e.Ha)return K(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.Ha)return K(e,4);f=a-4194272>>1;0>b?d=e.Ab[f]:(d=J(this,e.Ab[f],a,b,c),0<=d&&(e.Ab[f]=d));break;case 4194254:return a&1?e.w>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[3]=b),d=e.fa[3]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[1]=b),d=e.fa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.w&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Ka[f]=b),d=e.Ka[f]),d;case 4194246:return a&
|
||||
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.w>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.fa[0]=b),d=e.fa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.w&2048?(0<=b&&(e.Ka[f]=b),d=e.Ka[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(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.b;switch(a&-2){case 4194174:d=J(this,e.rb,a,b,c);0<=d&&(e.rb=d);break;case 4194172:d=e.wa;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
||||
case 4194168:0>b?d=this.g.xc&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.$b=0),g.W&=-129,I(e,100,4,52,function(){g.W|=128;return!!(g.W&64)}));d=0;break;case 4194162:d=0;0>b&&(g.U&=-129,0<g.Bb.length&&(d=g.Bb.shift(),0<g.Bb.length&&setTimeout(function(){g.U|=128;g.U&64&&I(e,40,4,48)},50)));break;case 4194160:0>b?d=g.U:(d=J(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.o|=16,K(e,4)}break;case 4194048:f=this.j;switch(a&-2){case 4194048:d=
|
||||
J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&eb(this));break;case 4194054:d=J(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194056:d=J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194058:d=J(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=J(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a&
|
||||
case 4194168:0>b?d=this.g.Bc&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.dc=0),g.W&=-129,I(e,100,4,52,function(){g.W|=128;return!!(g.W&64)}));d=0;break;case 4194162:d=0;0>b&&(g.U&=-129,0<g.Cb.length&&(d=g.Cb.shift(),0<g.Cb.length&&setTimeout(function(){g.U|=128;g.U&64&&I(e,40,4,48)},50)));break;case 4194160:0>b?d=g.U:(d=J(this,g.U,a,b,c),0<=d&&(g.U=g.U&128|d&-129));break;default:return e.o|=16,K(e,4)}break;case 4194048:f=this.j;switch(a&-2){case 4194048:d=
|
||||
J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.A,a,b,c);0<=b&&0<=d&&(f.A=d&-36993|f.A&36992,f.A&1&&eb(this));break;case 4194054:d=J(this,f.fb,a,b,c);0<=d&&(f.fb=d);break;case 4194056:d=J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194058:d=J(this,f.V,a,b,c);0<=d&&(f.V=d);break;case 4194060:break;case 4194062:d=J(this,f.Ub,a,b,c);0<=d&&(f.Ub=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a&
|
||||
-2){case 4193728:d=J(this,h.D,a,b,c);0<=b&&0<=d&&(h.ya=h.ya&60|d>>8&3,h.D=d&17279|h.D&34944|2048,d&1&&h.D&128?ib(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Ta,a,b,c);0<=d&&(h.Ta=d);break;case 4193732:d=J(this,h.Ra,a,b,c);0<=d&&(h.Ra=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&hb(this));break;case 4193738:d=h.T[f];break;case 4193740:d=h.Sa[f];break;case 4193742:d=J(this,
|
||||
h.La,a,b,c);0<=d&&(h.La=d&255);break;case 4193744:d=h.uc[f];break;case 4193746:d=J(this,h.Rb,a,b,c);0<=d&&(h.Rb=d);break;case 4193748:d=J(this,h.Sb[f],a,b,c);0<=d&&(h.Sb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.vc[f];break;case 4193754:d=J(this,h.Tb[f],a,b,c);0<=d&&(h.Tb[f]=d);break;case 4193756:d=J(this,h.ha[f],a,b,c);0<=d&&(h.ha[f]=d&511);break;case 4193758:h.sb[f]=h.ha[f];d=h.sb[f];break;case 4193760:d=h.sc[f];break;case 4193762:d=h.tc[f];break;case 4193764:d=h.qc[f];break;case 4193766:d=
|
||||
h.rc[f];break;case 4193768:d=J(this,h.ya,a,b,c);0<=d&&(h.ya=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Db,a,b,c);0<=d&&(h.Db=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=J(this,f.s,a,b,c);0<=b&&0<=d&&(f.na=f.na&60|d>>4&3,f.s=f.s&-1023|d&1022,f.s&128||gb(this));break;case 4192514:d=J(this,f.Za,a,b,c);0<=d&&(f.Za=d&65534);break;case 4192516:d=J(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=J(this,f.ta,a,b,c);0<=d&&(f.ta=d);break;
|
||||
h.La,a,b,c);0<=d&&(h.La=d&255);break;case 4193744:d=h.yc[f];break;case 4193746:d=J(this,h.Vb,a,b,c);0<=d&&(h.Vb=d);break;case 4193748:d=J(this,h.Wb[f],a,b,c);0<=d&&(h.Wb[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.zc[f];break;case 4193754:d=J(this,h.Xb[f],a,b,c);0<=d&&(h.Xb[f]=d);break;case 4193756:d=J(this,h.ha[f],a,b,c);0<=d&&(h.ha[f]=d&511);break;case 4193758:h.sb[f]=h.ha[f];d=h.sb[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=J(this,h.ya,a,b,c);0<=d&&(h.ya=d&63,h.D=h.D&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Eb,a,b,c);0<=d&&(h.Eb=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=J(this,f.s,a,b,c);0<=b&&0<=d&&(f.na=f.na&60|d>>4&3,f.s=f.s&-1023|d&1022,f.s&128||gb(this));break;case 4192514:d=J(this,f.Za,a,b,c);0<=d&&(f.Za=d&65534);break;case 4192516:d=J(this,f.H,a,b,c);0<=d&&(f.H=d);break;case 4192518:d=J(this,f.ta,a,b,c);0<=d&&(f.ta=d);break;
|
||||
case 4192520:d=J(this,f.na,a,b,c);0<=d&&(f.na=d&63,f.s=f.s&-49|(f.na&3)<<4);break;default:return e.o|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Ja:(d=J(this,e.Ja,a,b,c),0<=d&&(70!==e.Ha&&(d&=-49),e.Ja=d,e.nb[0]=d&4?15:7,e.nb[1]=d&2?15:7,e.nb[3]=d&1?15:7,e.mb&&(f=2,e.Ja&16&&(f=1),this.g.Qa=this.g.Qa&-8|f)));break;default:return e.o|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(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=J(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.Ha)return K(e,4);f=a>>2&31;d=e.gb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.gb[f]=a&2?d<<16|e.gb[f]&65535:e.gb[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=Za[a>>1&255];else return e.o|=16,K(e,4);break;default:return e.o|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");
|
||||
return d};var L={},Xa=(L[65382]=[null,null,H.prototype.ic,H.prototype.zc,"LKS"],L[65392]=[null,null,H.prototype.lc,H.prototype.Cc,"RCSR"],L[65396]=[null,null,H.prototype.mc,H.prototype.Ec,"XCSR"],L[65402]=[null,null,H.prototype.jc,H.prototype.Ac,"MMR0"],L[65534]=[null,null,H.prototype.kc,H.prototype.Bc,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new H(d);B(d,c)}});var lb;
|
||||
return d};var L={},Xa=(L[65382]=[null,null,H.prototype.mc,H.prototype.Dc,"LKS"],L[65392]=[null,null,H.prototype.pc,H.prototype.Gc,"RCSR"],L[65396]=[null,null,H.prototype.qc,H.prototype.Ic,"XCSR"],L[65402]=[null,null,H.prototype.nc,H.prototype.Ec,"MMR0"],L[65534]=[null,null,H.prototype.oc,H.prototype.Fc,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new H(d);B(d,c)}});var lb;
|
||||
if(Ha){var mb=new ArrayBuffer(2);(new DataView(mb)).setUint16(0,256,!0);lb=256===(new Uint16Array(mb))[0]}else lb=!1;var nb=lb;
|
||||
function G(a,b,c,d,f){this.id=ob+=2;this.a=null;this.Wa=a;this.tb=b;this.size=c||0;this.type=d||pb;this.g=d==qb;this.controller=null;Ka(this);this.qa=this.ac=!1;if(c)if(f)this.controller=f,this.a=null,rb(this,f.Xa);else if(Ha)this.f=new ArrayBuffer(c),this.u=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.m=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;rb(this,ub)}else rb(this)}
|
||||
function G(a,b,c,d,f){this.id=ob+=2;this.a=null;this.Wa=a;this.tb=b;this.size=c||0;this.type=d||pb;this.g=d==qb;this.controller=null;Ka(this);this.qa=this.ec=!1;if(c)if(f)this.controller=f,this.a=null,rb(this,f.Xa);else if(Ha)this.f=new ArrayBuffer(c),this.u=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.m=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;rb(this,ub)}else rb(this)}
|
||||
var pb=0,qb=2,Qa=4,Sa=["NONE","RAM","ROM","VID","H/W"],ob=0;
|
||||
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ha)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(Ha)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},v:function(){return 255},G:function(){},C:function(a,b){return this.bb(a++,b++)|this.bb(a,b)<<8},J:function(a,b,c){this.Va(a++,
|
||||
b&255,c++);this.Va(a,b>>8,c)},$: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},Pa: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.X(a,b)},ia:function(a,b){return this.ja(a,
|
||||
b)},Ba:function(a,b,c){this.g||this.Wb(a,b,c)},Ma:function(a,b,c){this.g||this.Na(a,b,c)},L:function(a){return this.b[a]},Y:function(a){return this.b[a]},aa:function(a){return this.u.getUint16(a,!0)},ka:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},Aa:function(a,b){this.b[a]=b;this.qa=!0},Ca:function(a,b){this.b[a]=b;this.qa=!0},Ea:function(a,b){this.u.setUint16(a,b,!0);this.qa=!0},Oa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.qa=!0}};
|
||||
function Ka(a,b,c){a.I=b;a.j=a.l=0;c&&((a.j=c.j)&&vb(a,wb,!1),(a.l=c.l)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.l||(a.Va=!a.g&&b[1]||a.G,a.Dc=!a.g&&b[3]||a.J);if(c||void 0===c)a.Wb=b[1]||a.G,a.Na=b[3]||a.J}function vb(a,b,c){c&&a.j||(a.bb=b[0]||a.v,a.pb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.v,a.ja=b[2]||a.C}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.$,G.prototype.Da,G.prototype.la,G.prototype.Pa],wb=[G.prototype.R,G.prototype.Ba,G.prototype.ia,G.prototype.Ma];
|
||||
if(Ha)var tb=[G.prototype.L,G.prototype.Aa,G.prototype.aa,G.prototype.Ea],sb=[G.prototype.Y,G.prototype.Ca,G.prototype.ka,G.prototype.Oa];function zb(a,b){w.call(this,"CPU",a,zb);var c=a.multiplier||1;this.ib=a.cycles||b;this.$=c;this.wb=Math.round(this.ib/1E4)/100;this.ja=this.wb*this.$;this.h.Z=!1;this.h.Ub=!1;this.h.Ya=a.autoStart;this.h.Mb=!1;this.h.kb=!1;this.Pa=this.ka=0;this.hb=a.csStart;this.Ba=a.csInterval;this.Ca=a.csStop;this.G=[];this.Ob=this.wc.bind(this);E(this)}y(zb);
|
||||
b)},Ba:function(a,b,c){this.g||this.$b(a,b,c)},Ma:function(a,b,c){this.g||this.Na(a,b,c)},L:function(a){return this.b[a]},Y:function(a){return this.b[a]},aa:function(a){return this.u.getUint16(a,!0)},ka:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},Aa:function(a,b){this.b[a]=b;this.qa=!0},Ca:function(a,b){this.b[a]=b;this.qa=!0},Ea:function(a,b){this.u.setUint16(a,b,!0);this.qa=!0},Oa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.qa=!0}};
|
||||
function Ka(a,b,c){a.I=b;a.j=a.l=0;c&&((a.j=c.j)&&vb(a,wb,!1),(a.l=c.l)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.l||(a.Va=!a.g&&b[1]||a.G,a.Hc=!a.g&&b[3]||a.J);if(c||void 0===c)a.$b=b[1]||a.G,a.Na=b[3]||a.J}function vb(a,b,c){c&&a.j||(a.bb=b[0]||a.v,a.pb=b[2]||a.C);if(c||void 0===c)a.X=b[0]||a.v,a.ja=b[2]||a.C}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.$,G.prototype.Da,G.prototype.la,G.prototype.Pa],wb=[G.prototype.R,G.prototype.Ba,G.prototype.ia,G.prototype.Ma];
|
||||
if(Ha)var tb=[G.prototype.L,G.prototype.Aa,G.prototype.aa,G.prototype.Ea],sb=[G.prototype.Y,G.prototype.Ca,G.prototype.ka,G.prototype.Oa];function zb(a,b){w.call(this,"CPU",a,zb);var c=a.multiplier||1;this.ib=a.cycles||b;this.$=c;this.xb=Math.round(this.ib/1E4)/100;this.ja=this.xb*this.$;this.h.Z=!1;this.h.Yb=!1;this.h.Ya=a.autoStart;this.h.Mb=!1;this.h.kb=!1;this.Pa=this.ka=0;this.hb=a.csStart;this.Ba=a.csInterval;this.Ca=a.csStop;this.G=[];this.Qb=this.Ac.bind(this);E(this)}y(zb);
|
||||
var Ab=["power","reset"];l=zb.prototype;l.Ia=function(a,b,c,d){this.v=a;this.B=b;this.I=d;for(b=0;b<Ab.length;b++)(c=this.u[Ab[b]])&&this.v.da(null,Ab[b],c);this.Aa=null;a=Bb(a,"autoStart");null!=a&&(this.h.Ya="true"==a?!0:"false"==a?!1:!!a);E(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){Cb(this);if(!this.restore(a))return!1;Db(this)}else this.reset();this.K("No debugger detected")}Eb(this);return!0};
|
||||
l.ua=function(a){return a?this.save():!0};l.Ya=function(){return this.h.Ya||void 0===this.u.run?(Fb(this),!0):!1};l.Pb=function(){return 0};function Db(a){void 0===a.hb&&(a.hb=0);void 0===a.Ba&&(a.Ba=-1);void 0===a.Ca&&(a.Ca=-1);a.h.kb=0<=a.hb&&0<a.Ba;a.h.kb&&(a.Pa=0,a.ka=a.hb-a.aa)}
|
||||
l.ua=function(a){return a?this.save():!0};l.Ya=function(){return this.h.Ya||void 0===this.u.run?(Fb(this),!0):!1};l.Rb=function(){return 0};function Db(a){void 0===a.hb&&(a.hb=0);void 0===a.Ba&&(a.Ba=-1);void 0===a.Ca&&(a.Ca=-1);a.h.kb=0<=a.hb&&0<a.Ba;a.h.kb&&(a.Pa=0,a.ka=a.hb-a.aa)}
|
||||
function M(a,b,c,d){if(a.u[b]){void 0===c&&(a.h.error=!0,a.M("Value for "+b+" is invalid"),Gb(a));var f=a.I&&a.I.b||8;c=!a.h.Z||a.h.Mb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.u[b].textContent!=c&&(a.u[b].textContent=c)}}
|
||||
l.da=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.v)if(a=d.v,a.h.N)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.N);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.lb?" (waiting for notification)":""))+".");a=!1}a&&(d.h.Z?Gb(d):Fb(d))};a=!0;break;
|
||||
case "speed":this.u[b]=c;a=!0;break;case "setSpeed":this.u[b]=c,c.onclick=function(){Hb(d,d.$<<1)},c.textContent=this.ja.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.aa+=b;c&&(a.J=a.a=0)}function Jb(a,b){var c=1;b&&1<a.$&&a.X&&(c=a.X/a.wb);a.Jb=Math.round(1E3/30);a.jb=Math.floor(a.ib/30*c);b||(a.Da=a.jb);a.xb=0}function Kb(a){return a.aa+a.R+a.J-a.a}function Cb(a){a.X=0;a.Lb=0;a.aa=a.R=a.J=a.a=0;Db(a);Hb(a,1)}
|
||||
function Hb(a,b){if(void 0!==b&&(.8>a.X/a.ja&&(b=1),a.$=b,b=a.wb*a.$,a.ja!=b)){a.ja=b;b=a.ja.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.K("target speed: "+b)}Ib(a,a.R);a.R=0;a.L=ia();a.Y=0;Jb(a)}function $a(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function ab(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.ib*a.$/1E3*(1E3/60),a.G[b][0]=c)}
|
||||
l.wc=function(){if(this.h.Z){this.xb>=this.ib&&Jb(this,!0);this.Ea=0;this.Oa=ia();if(this.Y){var a=this.Oa-this.Y;a>this.Jb&&(this.L+=a,this.L>this.Oa&&(this.L=this.Oa))}try{do{for(var b,c=this.h.kb?1:this.jb,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.Vb(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.Ea+=e;this.R+=e;Ib(this,0,!0);a=e;if(this.h.kb){var k=
|
||||
!1;this.Pa=this.Pa+this.Pb()|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,Db(this),Gb(this),k=!0);k&&this.K(Kb(this)+" cycles: checksum="+n(this.Pa))}this.Da-=e;if(0>=this.Da){this.Da+=this.jb;15<=++this.Lb&&(this.v&&this.v.Ua(),this.Lb=0);break}}while(this.h.Z)}catch(m){Gb(this);Eb(this);this.v&&this.v.stop(ia(),Kb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.Z){b=setTimeout;c=this.Ob;this.Y=ia();d=this.Jb;this.Ea&&
|
||||
(d=Math.round(d*this.Ea/this.jb));d-=this.Y-this.Oa;if(f=this.Y-this.L)this.X=Math.round(this.R/(10*f))/100,864E5<=f&&(this.aa=0,Hb(this));if(0>d||this.X<this.ja)-1E3>d&&(this.L-=d),d=0;this.xb+=this.Ea;this.Y+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.Z)a.K(a.toString()+" busy");else{Hb(a);a.h.Z=!0;a.h.Ub=!0;a.Aa&&a.Aa.start();if(b=a.u.run)b.textContent="Halt";a.v&&a.v.start(a.L,Kb(a));Eb(a,!0);setTimeout(a.Ob,0)}}l.Vb=function(){return 0};
|
||||
case "speed":this.u[b]=c;a=!0;break;case "setSpeed":this.u[b]=c,c.onclick=function(){Hb(d,d.$<<1)},c.textContent=this.ja.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.aa+=b;c&&(a.J=a.a=0)}function Jb(a,b){var c=1;b&&1<a.$&&a.X&&(c=a.X/a.xb);a.Ob=Math.round(1E3/30);a.jb=Math.floor(a.ib/30*c);b||(a.Da=a.jb);a.yb=0}function Kb(a){return a.aa+a.R+a.J-a.a}function Cb(a){a.X=0;a.Pb=0;a.aa=a.R=a.J=a.a=0;Db(a);Hb(a,1)}
|
||||
function Hb(a,b){if(void 0!==b&&(.8>a.X/a.ja&&(b=1),a.$=b,b=a.xb*a.$,a.ja!=b)){a.ja=b;b=a.ja.toFixed(2)+"Mhz";var c=a.u.setSpeed;c&&(c.textContent=b);a.K("target speed: "+b)}Ib(a,a.R);a.R=0;a.L=ia();a.Y=0;Jb(a)}function $a(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function ab(a,b){var c;0<=b&&b<a.G.length&&0>a.G[b][0]&&(c=a.ib*a.$/1E3*(1E3/60),a.G[b][0]=c)}
|
||||
l.Ac=function(){if(this.h.Z){this.yb>=this.ib&&Jb(this,!0);this.Ea=0;this.Oa=ia();if(this.Y){var a=this.Oa-this.Y;a>this.Ob&&(this.L+=a,this.L>this.Oa&&(this.L=this.Oa))}try{do{for(var b,c=this.h.kb?1:this.jb,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.Zb(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.Ea+=e;this.R+=e;Ib(this,0,!0);a=e;if(this.h.kb){var k=
|
||||
!1;this.Pa=this.Pa+this.Rb()|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,Db(this),Gb(this),k=!0);k&&this.K(Kb(this)+" cycles: checksum="+n(this.Pa))}this.Da-=e;if(0>=this.Da){this.Da+=this.jb;15<=++this.Pb&&(this.v&&this.v.Ua(),this.Pb=0);break}}while(this.h.Z)}catch(m){Gb(this);Eb(this);this.v&&this.v.stop(ia(),Kb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.Z){b=setTimeout;c=this.Qb;this.Y=ia();d=this.Ob;this.Ea&&
|
||||
(d=Math.round(d*this.Ea/this.jb));d-=this.Y-this.Oa;if(f=this.Y-this.L)this.X=Math.round(this.R/(10*f))/100,864E5<=f&&(this.aa=0,Hb(this));if(0>d||this.X<this.ja)-1E3>d&&(this.L-=d),d=0;this.yb+=this.Ea;this.Y+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.Z)a.K(a.toString()+" busy");else{Hb(a);a.h.Z=!0;a.h.Yb=!0;a.Aa&&a.Aa.start();if(b=a.u.run)b.textContent="Halt";a.v&&a.v.start(a.L,Kb(a));Eb(a,!0);setTimeout(a.Qb,0)}}l.Zb=function(){return 0};
|
||||
function Gb(a){if(a.h.Z){a.J-=a.a;a.a=0;Ib(a,a.R);a.R=0;a.h.Z=!1;a.Aa&&a.Aa.stop();var b=a.u.run;b&&(b.textContent="Run");a.v&&a.v.stop(ia(),Kb(a));Eb(a)}a.h.complete=void 0}function Eb(a,b){a.v&&a.v.Ua(b)}
|
||||
function Lb(a){this.cc=a.resetAddr||0;zb.call(this,a,1E6);this.Fb=0;this.decode=Mb.bind(this);this.g=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.cc];this.Ka=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Na=this.m=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.gb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.zb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.i=0;this.Ha=70;this.la=-1;Nb(this);this.h.complete=this.h.Zb=!1}y(Lb,zb);l=Lb.prototype;l.reset=function(){this.h.Z&&Gb(this);Nb(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)};
|
||||
function Nb(a){a.xa=255;a.o=0;a.Cb=0;a.C=0;a.wa=0;a.rb=0;a.Ja=0;a.mb=0;a.Ma=0;a.nb=[7,7,7,7];a.l=[];a.i|=2;bb(a)}function bb(a){a.mb?(a.Gb=65536,a.ia=a.ec,a.pb=a.ea):(a.Gb=0,a.ia=a.dc,a.pb=a.qb)}l.Pb=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.aa,this.$]);a.set(2,Va(this.B));return a.data()};
|
||||
function Lb(a){this.ic=a.resetAddr||0;zb.call(this,a,6666667);this.Hb=0;this.decode=Mb.bind(this);this.g=65536;this.b=32768;this.f=65535;this.j=32768;this.w=15;this.c=[0,0,0,0,0,0,0,this.ic];this.Ka=[0,0,0,0,0,0];this.fa=[0,0,0,0];this.Na=this.m=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.gb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.Ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Tb=this.vb=this.Sb=this.Jb=this.i=0;this.Ha=70;this.la=-1;Nb(this);this.h.complete=this.h.cc=!1}y(Lb,zb);l=Lb.prototype;l.reset=function(){this.h.Z&&Gb(this);Nb(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)};
|
||||
function Nb(a){a.xa=255;a.o=0;a.Db=0;a.C=0;a.wa=0;a.rb=0;a.Ja=0;a.mb=0;a.Ma=0;a.nb=[7,7,7,7];a.l=[];a.i|=2;bb(a)}function bb(a){a.mb?(a.Gb=65536,a.ia=a.gc,a.pb=a.ea):(a.Gb=0,a.ia=a.fc,a.pb=a.qb)}l.Rb=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.aa,this.$]);a.set(2,Va(this.B));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.aa=b[1];Hb(this,b[3]);a:{b=this.B;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)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.da=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.Fb++;a=!0;break;default:a=this.parent.da.call(this,a,b,c)}return a};
|
||||
l.Ua=function(a){if(this.Fb&&(a||!this.h.Z||this.h.Mb)){for(a=0;a<this.c.length;a++)M(this,"R"+a,this.c[a]);a=cb(this);M(this,"PS",a);M(this,"NF",a&8?1:0,1);M(this,"ZF",a&4?1:0,1);M(this,"VF",a&2?1:0,1);M(this,"CF",a&1?1:0,1)}if(a=this.u.speed)a.textContent=this.h.Z&&this.X?this.X.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.g&65536?1:0}l.ra=function(){return this.j&32768?8:0};function Ob(a){var b=a.ea(a.c[7]);a.c[7]=a.c[7]+2&65535;return b}
|
||||
function I(a,b,c,d,f){for(var e=a.l.length;0<e--;)if(a.l[e].yc===d){0<e&&(a.l[e-1].pa+=a.l[e].pa);a.l.splice(e,1);break}if(0<=b){for(e=a.l.length;0<e--;){if(a.l[e].pa>b){a.l[e].pa-=b;break}b-=a.l[e].pa}a.l.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.i|=2}function cb(a){return a.w=a.w&63728|a.ra()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)}
|
||||
l.da=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.Hb++;a=!0;break;default:a=this.parent.da.call(this,a,b,c)}return a};
|
||||
l.Ua=function(a){if(this.Hb&&(a||!this.h.Z||this.h.Mb)){for(a=0;a<this.c.length;a++)M(this,"R"+a,this.c[a]);a=cb(this);M(this,"PS",a);M(this,"NF",a&8?1:0,1);M(this,"ZF",a&4?1:0,1);M(this,"VF",a&2?1:0,1);M(this,"CF",a&1?1:0,1)}if(a=this.u.speed)a.textContent=this.h.Z&&this.X?this.X.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.g&65536?1:0}l.ra=function(){return this.j&32768?8:0};function Ob(a){var b=a.ea(a.c[7]);a.c[7]=a.c[7]+2&65535;return b}
|
||||
function I(a,b,c,d,f){for(var e=a.l.length;0<e--;)if(a.l[e].Cc===d){0<e&&(a.l[e-1].pa+=a.l[e].pa);a.l.splice(e,1);break}if(0<=b){for(e=a.l.length;0<e--;){if(a.l[e].pa>b){a.l[e].pa-=b;break}b-=a.l[e].pa}a.l.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.i|=2}function cb(a){return a.w=a.w&63728|a.ra()|(a.f&65535?0:4)|(a.b&32768?2:0)|O(a)}
|
||||
function db(a,b){a.j=b<<12;a.f=~b&4;a.b=b<<14;a.g=b<<16;if((b^a.w)&2048)for(var c=a.Ka.length;0<=--c;){var d=a.c[c];a.c[c]=a.Ka[c];a.Ka[c]=d}a.m=b>>14&3;c=a.w>>14&3;a.m!=c&&(a.fa[c]=a.c[6],a.c[6]=a.fa[a.m]);a.i|=2;a.w=b}function P(a,b){a.i&128||(a.j=a.f=b,a.b=0)}function Q(a,b,c){a.i&128||(a.j=a.f=a.g=b,a.b=c||0)}function Pb(a,b,c,d){a.i&128||(a.j=a.f=a.g=b,a.b=(c^b)&(d^b))}function R(a,b){a.i&128||(a.j=a.f=a.g=b,a.b=a.j^a.g>>1)}function Qb(a,b,c,d){a.i&128||(a.j=a.f=a.g=b,a.b=(c^d)&(d^b))}
|
||||
function K(a,b){var c=!1;0>a.la?a.la=cb(a):a.m||(b=4,c=!0);a.C&57344||(a.wa=63222,a.rb=b);a.m=0;var d=a.ea(b|65536),f=a.ea(b+2&65535|65536);db(a,f&-12289|a.la>>2&12288);c&&(a.o|=4,a.c[6]=4);Rb(a,a.la);Rb(a,a.c[7]);a.c[7]=d&65535;a.i&=-113;a.la=-1;throw b;}function Sb(a){var b=Tb(a),c=Tb(a)&-1793;a.w&49152&&(c=c&-225|a.w&63712);a.c[7]=b&65535;db(a,c);a.i&=-17}
|
||||
function kb(a,b){var c=b>>13&31;31>c?a.Ja&32&&(b=a.gb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function Ub(a,b,c){var d,f,e,g=0;if(c&a.mb){d=b>>13&a.nb[a.m];f=a.O[a.m][d];e=(a.O[a.m][d+16]<<6)+(b&8191)&4194303;a.Ja&16?3932160<=e&&4186112>e&&(e=kb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4)),e&1&&!(c&1)&&(a.o|=64,K(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.m][d]=f;if(4194170!==e||a.m)a.Ma=a.m,a.Na=d;g&&(g&57344&&(0<=a.la&&(g|=128),a.C&57344||(a.C=a.C|g|a.Ma<<5|a.Na<<1),K(a,168)),a.C&61440||!(4191360>e||4194239<e)||(a.C|=4096,a.C&512&&(a.i|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,K(a,4));return e}l.qb=function(a){if(4194304<=a)a=this.c[a-4194304];else if(0<=a){var b=this.B,c=a&b.j,d=(a&b.l)>>>b.f;a=c!=b.j?b.b[d].pb(c,a):b.b[d++].bb(c,a)|b.b[d&b.L].bb(0,a+1)<<8}return a};l.ea=function(a){return this.qb(Ub(this,a,2))};
|
||||
function Tb(a){var b=a.ea(a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Rb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.C&57344||(a.wa=a.wa<<8|246);!a.m&&c<=a.xa&&4<c&&(c<=a.xa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.i|=4));c=Ub(a,c|65536,4);Ua(a.B,c,b&65535)}
|
||||
function Vb(a,b,c){var d,f,e=b&7,g=c&8?0:a.Gb;switch(b>>3&7){case 0:K(a,4);break;case 1:return 6===e&&!a.m&&c&4&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.i|=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);d=a.ea(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);d=a.ea(d)|g;break;case 6:return d=Ob(a),
|
||||
d=d+a.c[e]&65535|g;case 7:return d=Ob(a),d=d+a.c[e]&65535,d=a.ea(d|65536)|g}a.c[e]=a.c[e]+f&65535;!g||a.C&57344||(a.wa=a.wa<<8|f<<3&248|e);6==e&&!a.m&&c&4&&0>=f&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.i|=64));return d}l.dc=function(a,b){return Vb(this,a,b)};l.ec=function(a,b){return Ub(this,Vb(this,a,b),b)};
|
||||
function Wb(a,b,c){b&56?(b=Vb(a,b,0),c&65536||61440!==(a.w&61440)&&(b&=65535),a.m=a.w>>12&3,c=a.ea(b|c&65536),a.m=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.fa[a.w>>12&3]);return c}function Xb(a,b,c,d){a.C&57344||(a.wa=22);b&56?(b=Vb(a,b,0),c&65536||(b&=65535),a.m=a.w>>12&3,b=Ub(a,b|c&65536,4),a.m=a.w>>14&3,Ua(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.fa[a.w>>12&3]=d)}function S(a,b){return b&56?a.pb(Vb(a,b,2)):a.c[b&7]}
|
||||
function T(a,b){b&56?(b=a.ia(b,3),a=Ta(a.B,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.qb(b)),Ua(a.B,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,Ta(a.B,b)),a=a.B,a.b[(b&a.l)>>>a.f].Va(b&a.j,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Yb(a,b,c){b&56?(b=a.ia(b,4),Ua(a.B,b,c&65535)):a.c[b&7]=c&65535;return c}
|
||||
function Zb(a,b,c,d){b&56?(d=a.ia(b,5),a=a.B,a.b[(d&a.l)>>>a.f].Va(d&a.j,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.Vb=function(a){this.h.complete=!0;this.h.Zb=!1;this.h.Ub=!1;this.J=this.a=a;do{if(this.i&&(this.i&112&&(this.i&32?K(this,168):this.i&64?K(this,4):this.i&16&&K(this,12),this.i&=-113),this.i&7))if(this.i&2){this.i&=-3;a=null;for(var b=this.Cb&224,c=this.l.length;0<=--c;){if(0<this.l[c].pa){this.l[c].pa--;this.i|=2;break}if(this.l[c].Kb){if(!this.l[c].Kb()){this.l.splice(c,1);continue}this.l[c].Kb=null}this.l[c].hc>b&&(b=this.l[c].hc,a=this.l[c],this.l.splice(c,1))}b>(this.w&224)&&(this.i&4&&(this.c[7]=
|
||||
this.c[7]+2&65535,this.i&=-5),a?K(this,a.yc):K(this,160))}else this.i&1&&this.i++;this.C&57344||(this.wa=0,this.rb=this.c[7]);this.i=this.i&7|this.w&16;this.decode(Ob(this))}while(0<this.a);return this.h.complete?this.J-this.a:void 0===this.h.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 $b(a,b){var c=b+a;Pb(this,c,a,b);return c&65535}function ac(a,b){var c=b+a;Pb(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function Vb(a,b,c){var d,f,e=c&8?0:a.Gb,g=b&7;b=b>>3&7;c&4?(a.Jb=b,a.vb=g):(a.Sb=b,a.Tb=g);switch(b){case 0:return K(a,4),0;case 1:return 6===g&&!a.m&&c&4&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.i|=64)),a.a-=3,7===g?a.c[g]:a.c[g]|e;case 2:f=2;d=a.c[g];7!==g&&(d|=e,6>g&&c&1&&(f=1));a.a-=3;break;case 3:f=2;d=a.c[g];7!==g&&(d|=e);d=a.ea(d);d|=e;a.a-=7;break;case 4:f=-2;6>g&&c&1&&(f=-1);d=a.c[g]+f&65535;7!==g&&(d|=e);a.a-=4;break;case 5:f=-2;
|
||||
d=a.c[g]-2&65535;7!==g&&(d|=e);d=a.ea(d)|e;a.a-=8;break;case 6:return d=Ob(a),d=d+a.c[g]&65535|e,a.a-=6,d;case 7:return d=Ob(a),d=d+a.c[g]&65535,d=a.ea(d|65536)|e,a.a-=10,d}a.c[g]=a.c[g]+f&65535;!e||a.C&57344||(a.wa=a.wa<<8|f<<3&248|g);6==g&&!a.m&&c&4&&0>=f&&(a.c[6]<=a.xa||65534<=a.c[6])&&(a.c[6]<=a.xa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.i|=64));return d}l.fc=function(a,b){return Vb(this,a,b)};l.gc=function(a,b){return Ub(this,Vb(this,a,b),b)};
|
||||
function Wb(a,b,c){b&56?(b=Vb(a,b,2),c&65536||61440!==(a.w&61440)&&(b&=65535),a.m=a.w>>12&3,c=a.ea(b|c&65536),a.m=a.w>>14&3):(c=b&7,c=6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]:a.fa[a.w>>12&3]);return c}function Xb(a,b,c,d){a.C&57344||(a.wa=22);b&56?(b=Vb(a,b,4),c&65536||(b&=65535),a.m=a.w>>12&3,b=Ub(a,b|c&65536,4),a.m=a.w>>14&3,Ua(a.B,b,d&65535)):(c=b&7,6!=c||(a.w>>2&12288)===(a.w&12288)?a.c[c]=d:a.fa[a.w>>12&3]=d)}function S(a,b){return b&56?a.pb(Vb(a,b,2)):a.c[b&7]}
|
||||
function T(a,b){b&56?(b=a.ia(b,3),a=Ta(a.B,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.qb(b)),Ua(a.B,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,Ta(a.B,b)),b&1&&a.a--,a=a.B,a.b[(b&a.l)>>>a.f].Va(b&a.j,c&255,b)):(b&=7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}function Yb(a,b,c){b&56?(b=a.ia(b,4),Ua(a.B,b,c&65535)):a.c[b&7]=c&65535;return c}
|
||||
function Zb(a,b,c,d){b&56?(d=a.ia(b,5),d&1&&a.a--,a=a.B,a.b[(d&a.l)>>>a.f].Va(d&a.j,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.Zb=function(a){this.h.complete=!0;this.h.cc=!1;this.h.Yb=!1;this.J=this.a=a;do{if(this.i&&(this.i&112&&(this.i&32?K(this,168):this.i&64?K(this,4):this.i&16&&K(this,12),this.i&=-113),this.i&7))if(this.i&2){this.i&=-3;a=null;for(var b=this.Db&224,c=this.l.length;0<=--c;){if(0<this.l[c].pa){this.l[c].pa--;this.i|=2;break}if(this.l[c].Kb){if(!this.l[c].Kb()){this.l.splice(c,1);continue}this.l[c].Kb=null}this.l[c].lc>b&&(b=this.l[c].lc,a=this.l[c],this.l.splice(c,1))}b>(this.w&224)&&(this.i&4&&(this.c[7]=
|
||||
this.c[7]+2&65535,this.i&=-5),a?K(this,a.Cc):K(this,160))}else this.i&1&&this.i++;this.C&57344||(this.wa=0,this.rb=this.c[7]);this.i=this.i&7|this.w&16;this.decode(Ob(this))}while(0<this.a);return this.h.complete?this.J-this.a:void 0===this.h.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 $b(a,b){var c=b+a;Pb(this,c,a,b);return c&65535}function ac(a,b){var c=b+a;Pb(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function bc(a,b){a=b<<1;R(this,a);return a&65535}function cc(a,b){a=b<<1;R(this,a<<8);return a&255}function dc(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function ec(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function fc(a,b){a=b&~a;P(this,a);return a}function gc(a,b){a=b&~a;P(this,a<<8);return a}function hc(a,b){a|=b;P(this,a);return a}function ic(a,b){a|=b;P(this,a<<8);return a}function jc(a,b){a=~b|65536;Q(this,a);return a&65535}
|
||||
function kc(a,b){a=~b|256;Q(this,a<<8);return a&255}function lc(a,b){a=b-a;this.i&128||(this.j=this.f=a,this.b=b&(b^a));return a&65535}function mc(a,b){a=b-a;var c=a<<8;b<<=8;this.i&128||(this.j=this.f=c,this.b=b&(b^c));return a&255}function nc(a,b){a=b+a;this.i&128||(this.j=this.f=a,this.b=a&(b^a));return a&65535}function oc(a,b){a=b+a;var c=a<<8;this.i&128||(this.j=this.f=c,this.b=c&(b<<8^c));return a&255}function pc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}
|
||||
function qc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function rc(a,b){a=b<<1|this.g>>16&1;R(this,a);return a&65535}function sc(a,b){a=b<<1|this.g>>16&1;R(this,a<<8);return a&255}function tc(a,b){a=(this.g&65536|b)>>1|b<<16;R(this,a);return a&65535}function uc(a,b){a=((this.g&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function vc(a,b){var c=b-a;Qb(this,c,a,b);return c&65535}function wc(a,b){var c=b-a;Qb(this,c<<8,a<<8,b<<8);return c&255}function xc(a,b){a^=b;P(this,a);return a&65535}
|
||||
|
|
@ -100,31 +100,31 @@ function zc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.g=t
|
|||
function Ac(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.g=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.j=d>>16):(this.b=32768,this.f=d>>15|d,this.j=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1))}else this.f=this.j=0,this.b=32768,this.g=65536;--this.a}function Bc(a){var b=Vb(this,a,8);a=a>>6&7;Rb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=b;--this.a}
|
||||
function Cc(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&128||(this.j=b>>16,this.f=this.j|b,this.b=0,this.g=-32768>b||32767<b?65536:0);--this.a}function Dc(){--this.a}function Y(a){a&1&&(this.g=65536);a&2&&(this.b=32768);a&4&&(this.f=0);a&8&&(this.j=32768);--this.a}function Ec(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 Fc(a){U(this,a,S(this,(a&448)>>6),xc);--this.a}function Z(){K(this,8)}function Mb(a){Gc[a>>12].call(this,a)}
|
||||
var Gc=[function(a){Hc[a>>8&15].call(this,a)},function(a){P(this,Yb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Qb(this,b-a,a,b);--this.a},function(a){P(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),hc);--this.a},function(a){U(this,a,S(this,a>>6),$b);--this.a},function(a){Ic[a>>8&15].call(this,a)},function(a){Jc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,Zb(this,a,b,1)<<8);--this.a},
|
||||
function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){P(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),gc);--this.a},function(a){V(this,a,T(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),vc);--this.a},Z],Hc=[function(a){Kc[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.ra()==!(this.b&32768)&&W(this,a);--this.a},
|
||||
function(a){!this.ra()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)||W(this,a);--this.a},Bc,Bc,function(a){Lc[a>>6&3].call(this,a)},function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},Z,Z],Lc=[function(a){Q(this,Yb(this,a,0));--this.a},function(a){U(this,a,0,jc);--this.a},function(a){U(this,a,1,nc);--this.a},function(a){U(this,
|
||||
a,1,lc);--this.a}],Mc=[function(a){U(this,a,0,pc);--this.a},function(a){U(this,a,O(this)?1:0,$b);--this.a},function(a){U(this,a,O(this)?1:0,vc);--this.a},function(a){a=S(this,a);Q(this,a);--this.a}],Nc=[function(a){U(this,a,0,tc);--this.a},function(a){U(this,a,0,rc);--this.a},function(a){U(this,a,0,dc);--this.a},function(a){U(this,a,0,bc);--this.a}],Oc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.ea(a|65536);this.c[7]=this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a=
|
||||
Wb(this,a,0);Rb(this,a);P(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);P(this,b);--this.a},function(a){P(this,Yb(this,a,this.ra?65535:0));--this.a}],Kc=[function(a){Pc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Tb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w&49152||(this.w=this.w&-2017|(a&7)<<5,this.i|=1);--this.a},function(a){Qc[a&15].call(this,a)},function(a){Rc[a&15].call(this,a)},Z,Z,Z,Z],Qc=[Dc,function(){this.g=0;--this.a},function(){this.b=
|
||||
0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.j=0;--this.a},X,X,X,X,X,X,X],Rc=[Dc,function(){this.g=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.j=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Pc=[function(){this.w&49152?(this.o|=128,K(this,4)):(this.J-=this.a,this.a=0);--this.a},function(){this.i|=4;this.c[7]=this.c[7]+-2&65535;--this.a},function(){Sb(this);this.i|=this.w&16;--this.a},function(){K(this,12);--this.a},function(){K(this,
|
||||
16);--this.a},function(){this.w&49152||(Nb(this),this.B.reset());--this.a},function(){Sb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Ic=[Cc,Cc,Ac,Ac,yc,yc,zc,zc,Fc,Fc,Z,Z,Z,Z,Ec,Ec],Jc=[function(a){this.ra()||W(this,a);--this.a},function(a){this.ra()&&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(){K(this,24);--this.a},function(){K(this,28);--this.a},function(a){Sc[a>>6&3].call(this,a)},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,a)},Z,Z],Sc=[function(a){Q(this,Zb(this,a,0));--this.a},function(a){V(this,a,0,kc);--this.a},function(a){V(this,a,1,oc);--this.a},function(a){V(this,a,1,mc);--this.a}],Tc=[function(a){V(this,a,0,qc);--this.a},function(a){V(this,a,O(this)?1:0,ac);--this.a},
|
||||
function(a){V(this,a,O(this)?1:0,wc);--this.a},function(a){a=T(this,a);Q(this,a<<8);--this.a}],Uc=[function(a){V(this,a,0,uc);--this.a},function(a){V(this,a,0,sc);--this.a},function(a){V(this,a,0,ec);--this.a},function(a){V(this,a,0,cc);--this.a}],Vc=[Z,function(a){a=Wb(this,a,65536);Rb(this,a);P(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,65536,b);P(this,b);--this.a},Z];
|
||||
var Gc=[function(a){Hc[a>>8&15].call(this,a)},function(a){P(this,Yb(this,a,S(this,a>>6)));--this.a},function(a){var b=S(this,a>>6);a=S(this,a);Qb(this,b-a,a,b);--this.a},function(a){P(this,S(this,a>>6)&S(this,a));--this.a},function(a){U(this,a,S(this,a>>6),fc);--this.a},function(a){U(this,a,S(this,a>>6),hc);--this.a},function(a){U(this,a,S(this,a>>6),$b);this.a-=this.Jb?9+(this.Tb&&6<=this.vb?1:0):this.Sb?5:3+(7==this.vb?2:0)},function(a){Ic[a>>8&15].call(this,a)},function(a){Jc[a>>8&15].call(this,
|
||||
a)},function(a){var b=T(this,a>>6);P(this,Zb(this,a,b,1)<<8);--this.a},function(a){var b=T(this,a>>6)<<8;a=T(this,a)<<8;Qb(this,b-a,a,b);--this.a},function(a){P(this,(T(this,a>>6)&T(this,a))<<8);--this.a},function(a){V(this,a,T(this,a>>6),gc);--this.a},function(a){V(this,a,T(this,a>>6),ic);--this.a},function(a){U(this,a,S(this,a>>6),vc);--this.a},Z],Hc=[function(a){Kc[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.ra()==!(this.b&32768)&&W(this,a);--this.a},function(a){!this.ra()!=!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)&&W(this,a);--this.a},function(a){this.f&65535&&!this.ra()==!(this.b&32768)||W(this,a);--this.a},Bc,Bc,function(a){Lc[a>>6&3].call(this,a)},function(a){Mc[a>>6&3].call(this,a)},function(a){Nc[a>>6&3].call(this,a)},function(a){Oc[a>>6&3].call(this,a)},Z,Z],Lc=[function(a){Q(this,Yb(this,a,0));--this.a},function(a){U(this,
|
||||
a,0,jc);--this.a},function(a){U(this,a,1,nc);--this.a},function(a){U(this,a,1,lc);--this.a}],Mc=[function(a){U(this,a,0,pc);--this.a},function(a){U(this,a,O(this)?1:0,$b);--this.a},function(a){U(this,a,O(this)?1:0,vc);--this.a},function(a){a=S(this,a);Q(this,a);--this.a}],Nc=[function(a){U(this,a,0,tc);--this.a},function(a){U(this,a,0,rc);--this.a},function(a){U(this,a,0,dc);--this.a},function(a){U(this,a,0,bc);--this.a}],Oc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=this.ea(a|65536);this.c[7]=
|
||||
this.c[5]&65535;this.c[6]=a+2&65535;this.c[5]=b;--this.a},function(a){a=Wb(this,a,0);Rb(this,a);P(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,0,b);P(this,b);--this.a},function(a){P(this,Yb(this,a,this.ra?65535:0));--this.a}],Kc=[function(a){Pc[a&15].call(this,a)},Z,Z,Z,Z,Z,Z,Z,function(a){var b=Tb(this);a&=7;this.c[7]=this.c[a];this.c[a]=b;--this.a},function(a){this.w&49152||(this.w=this.w&-2017|(a&7)<<5,this.i|=1);--this.a},function(a){Qc[a&15].call(this,a)},function(a){Rc[a&15].call(this,
|
||||
a)},Z,Z,Z,Z],Qc=[Dc,function(){this.g=0;--this.a},function(){this.b=0;--this.a},X,function(){this.f=1;--this.a},X,X,X,function(){this.j=0;--this.a},X,X,X,X,X,X,X],Rc=[Dc,function(){this.g=65536;--this.a},function(){this.b=32768;--this.a},Y,function(){this.f=0;--this.a},Y,Y,Y,function(){this.j=32768;--this.a},Y,Y,Y,Y,Y,Y,Y],Pc=[function(){this.w&49152?(this.o|=128,K(this,4)):(this.J-=this.a,this.a=0);--this.a},function(){this.i|=4;this.c[7]=this.c[7]+-2&65535;--this.a},function(){Sb(this);this.i|=
|
||||
this.w&16;--this.a},function(){K(this,12);--this.a},function(){K(this,16);--this.a},function(){this.w&49152||(Nb(this),this.B.reset());--this.a},function(){Sb(this);--this.a},Z,Z,Z,Z,Z,Z,Z,Z,Z],Ic=[Cc,Cc,Ac,Ac,yc,yc,zc,zc,Fc,Fc,Z,Z,Z,Z,Ec,Ec],Jc=[function(a){this.ra()||W(this,a);--this.a},function(a){this.ra()&&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(){K(this,24);--this.a},function(){K(this,28);--this.a},function(a){Sc[a>>6&3].call(this,a)},function(a){Tc[a>>6&3].call(this,a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,a)},Z,Z],Sc=[function(a){Q(this,Zb(this,a,0));--this.a},function(a){V(this,a,0,kc);--this.a},function(a){V(this,a,1,oc);--this.a},function(a){V(this,a,1,mc);--this.a}],Tc=[function(a){V(this,
|
||||
a,0,qc);--this.a},function(a){V(this,a,O(this)?1:0,ac);--this.a},function(a){V(this,a,O(this)?1:0,wc);--this.a},function(a){a=T(this,a);Q(this,a<<8);--this.a}],Uc=[function(a){V(this,a,0,uc);--this.a},function(a){V(this,a,0,sc);--this.a},function(a){V(this,a,0,ec);--this.a},function(a){V(this,a,0,cc);--this.a}],Vc=[Z,function(a){a=Wb(this,a,65536);Rb(this,a);P(this,a);--this.a},function(a){var b=Tb(this);Xb(this,a,65536,b);P(this,b);--this.a},Z];
|
||||
function Wc(a){w.call(this,"ROM",a,Wc);this.b=null;this.m=a.addr;this.f=a.size;this.v=a.writable;this.g=a.alias;this.j=a.file;this.C=ca(this.j);if(this.j){a=this.j;var b=da(this.C);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){Xc(c,a,b,e)})}}y(Wc);Wc.prototype.Ia=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Yc(this)};Wc.prototype.va=function(){this.l&&(this.I&&this.I.a(this.id,this.m,this.f,this.l),delete this.l);return!0};
|
||||
Wc.prototype.ua=function(){return!0};
|
||||
function Xc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Ib,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.l=h.symbols;if(!a.b.length){q("Empty ROM: "+b);
|
||||
function Xc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Lb,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.l=h.symbols;if(!a.b.length){q("Empty ROM: "+b);
|
||||
return}if(1==a.b.length){q(a.b[0]);return}}catch(k){a.M("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]);Yc(a)}}
|
||||
function Yc(a){if(!Ga(a))if(!a.j)E(a);else if(a.b&&a.B){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.h.error=!0;a.M(b)}else{b=a.m;if(Pa(a.B,b,a.f,a.v?1:qb)){var c;for(c=0;c<a.b.length;c++){var d=a.B,f=b+c;d.b[(f&d.l)>>>d.f].Wb(f&d.j,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.B,g=e.f,h=[],k=e.m>>>f.f;0<g&&
|
||||
function Yc(a){if(!Ga(a))if(!a.j)E(a);else if(a.b&&a.B){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.h.error=!0;a.M(b)}else{b=a.m;if(Pa(a.B,b,a.f,a.v?1:qb)){var c;for(c=0;c<a.b.length;c++){var d=a.B,f=b+c;d.b[(f&d.l)>>>d.f].$b(f&d.j,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.B,g=e.f,h=[],k=e.m>>>f.f;0<g&&
|
||||
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.B;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.g}}delete a.b}}E(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 Wc(d);B(d,c)}});function Zc(a){w.call(this,"RAM",a,Zc);this.g=a.addr;this.f=a.size;this.b=!1}y(Zc);l=Zc.prototype;l.Ia=function(a,b,c,d){this.B=b;this.a=c;this.I=d;E(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&&Pa(this.B,this.g,this.f,1)&&(this.b=!0);this.b||q("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 Zc(d);B(d,c)}});function $c(a){w.call(this,"Keyboard",a,$c);E(this)}y($c);$c.prototype.da=function(){return!1};$c.prototype.Ia=function(a,b,c,d){this.v=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 $c(d);B(d,c)}});
|
||||
function ad(a,b,c){w.call(this,"Computer",a,ad);this.h.N=!1;bd(this,b);this.J=Bb(this,"autoPower",a);this.g=0;this.$=a.busWidth||a.buswidth;this.b=cd;this.C=null;this.m=this.X=!1;this.url=Bb(this,"url")||"";(Math.random()+.1).toString(36);this.f=dd(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.B=new F({id:this.Ib+".bus",busWidth:this.$},this.a,this.I);var d,f=z(this.id);if((this.j=Fa("Panel",this.id))&&this.j.yb)for(b=0;b<f.length;b++)d=f[b],d.M=this.j.M,d.K=this.j.K,d.yb=
|
||||
this.j.yb;this.K("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.K("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.Ia&&d.Ia(this,this.B,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.v=d:this.b=parseInt(d,10));var e;if(a=Bb(this,"state")||(e=!0,a.state))b=this.L=a,e||(this.m=!0,this.b=cd),this.b&&(this.G=
|
||||
function ad(a,b,c){w.call(this,"Computer",a,ad);this.h.N=!1;bd(this,b);this.J=Bb(this,"autoPower",a);this.g=0;this.$=a.busWidth||a.buswidth;this.b=cd;this.C=null;this.m=this.X=!1;this.url=Bb(this,"url")||"";(Math.random()+.1).toString(36);this.f=dd(this);if(this.a=Fa("CPU",this.id)){this.I=Fa("Debugger",this.id);this.B=new F({id:this.Lb+".bus",busWidth:this.$},this.a,this.I);var d,f=z(this.id);if((this.j=Fa("Panel",this.id))&&this.j.zb)for(b=0;b<f.length;b++)d=f[b],d.M=this.j.M,d.K=this.j.K,d.zb=
|
||||
this.j.zb;this.K("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.K("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.Ia&&d.Ia(this,this.B,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.v=d:this.b=parseInt(d,10));var e;if(a=Bb(this,"state")||(e=!0,a.state))b=this.L=a,e||(this.m=!0,this.b=cd),this.b&&(this.G=
|
||||
new N(this,"1.30.0"),ed(this.G)?b=null:delete this.G);!b&&this.b&&(b=fd(this))&&(this.m=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.v=null,g.m=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.C=b,g.X=!0);E(g)})}else E(this);this.u.power||(this.J=!0);!c&&this.J&&gd(this,this.ab)}else q("Unable to find CPU component")}y(ad);var cd=0;
|
||||
function bd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.Y=b}function Bb(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.Y&&(d=a.Y[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function gd(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){gd(a,b,c)});return}}b.call(a,c)}
|
||||
function hd(a,b){var c=new N(a,"1.30.0","validate");if(ed(c)&&id(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=ad.prototype;
|
||||
l.ab=function(a){void 0===a&&(a=this.b||(this.C?1:cd));if(!this.g){this.g++;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>cd){if(ed(d,this.C)){this.l=new N(this,"1.30.0","failsafe");ed(this.l)&&(jd(this,d),a=2,kd(this.l));this.l.set("timestamp",ja());ld(this.l);var f=this.b&&!this.m;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=id(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?ed(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.K(e+": "+g),kd(d),ed(d)?(c=id(d),f=!0):c=!1))}f&&hd(this,c?d:null)}else 2==a&&d.clear()}else hd(this);delete this.C;delete this.G}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=md(this,g,d,b,c));b=[d,a,c];-1!=a?gd(this,this.Nb,b):this.Nb(b)}};
|
||||
function md(a,b,c,d,f){if(!b.h.N){b.h.N=!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&&(q("Unable to restore state for "+b.type),a.L&&!a.X?(c.clear(),a.b=cd,window&&window.location.reload()):a.R=!0,b.va(null),f=!1)}if(!d&&b.Hb)for(a=b.Hb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
function md(a,b,c,d,f){if(!b.h.N){b.h.N=!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&&(q("Unable to restore state for "+b.type),a.L&&!a.X?(c.clear(),a.b=cd,window&&window.location.reload()):a.R=!0,b.va(null),f=!1)}if(!d&&b.Ib)for(a=b.Ib.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.Nb=function(a){var b=a[0],c=0>a[1];a=a[2];this.aa=!0;this.h.N=!0;var d=this.u.power;d&&(d.textContent="Shutdown");this.a&&(md(this,this.a,b,c,a),this.a.Ya());this.R&&(jd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0};
|
||||
function jd(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 nd(a,b,c){var d,f="none";if(a.g)return null;a.g--;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&&Gb(a.a),d=a.a.ua(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.h.N&&(m.ua&&(d=m.ua(b,c),"object"===typeof d&&e.set(m.id,
|
||||
|
|
@ -136,7 +136,7 @@ function dd(a,b){var c=a.f;c||((c=na("user"),void 0!==c)?!c&&b&&(b=null,window&&
|
|||
function pd(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){q(d.message+" ("+c+")")}return a.f}function fd(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+qd(a,"1.30.0"));return b}
|
||||
function od(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qd(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.M("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.M(c),oa("user",""),a.f=null)}}
|
||||
l.Ua=function(a){this.a&&this.a.Ua(a);this.j&&this.j.Ua(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 ad(g,d,!0);B(g,e);g.J&&gd(g,g.ab)}});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.aa&&!c.h.N&&c.ab(-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.h.N&&nd(c,!(!c.b||c.v),!0)}});function N(a,b,c){this.id=a.id;this.key=qd(a,b,c);this.I=a.I;kd(this,a.bc)}function qd(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}
|
||||
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.h.N&&nd(c,!(!c.b||c.v),!0)}});function N(a,b,c){this.id=a.id;this.key=qd(a,b,c);this.I=a.I;kd(this,a.hc)}function qd(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){kd(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 kd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function ld(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function id(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function ed(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 rd=0;
|
||||
function sd(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)):td(h,a,b,c,d,f,e)})}
|
||||
|
|
|
|||
Loading…
Reference in a new issue