Documented the MTPS (11/34A), MFPS (11/34A), and MFPT (11/44+) instructions, even though our basic model support (11/20, 11/40, 11/45, and 11/70) doesn't use them

This commit is contained in:
Jeff Parsons 2017-01-02 12:21:04 -08:00 committed by Jeff Parsons
commit 7c7473f86e
6 changed files with 117 additions and 86 deletions

View file

@ -1309,6 +1309,23 @@ PDP11.opMFPI = function(opCode)
this.nStepCycles -= (10 + 1);
};
/**
* opMFPS(opCode)
*
* 1067XX MFPS - Move Byte From PSW
*
* The 8-bit contents of the PS are moved to the effective destination. If destination is mode 0,
* PS bit 7 is sign extended through the upper byte of the register. The destination operand is treated
* as a byte address. 11/34A only.
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.opMFPS = function(opCode)
{
PDP11.opUndefined.call(this, opCode);
};
/**
* opMFPT(opCode)
*
@ -1328,10 +1345,7 @@ PDP11.opMFPI = function(opCode)
*/
PDP11.opMFPT = function(opCode)
{
/*
* TODO: Review
*/
this.trap(PDP11.TRAP.RESERVED, 0, PDP11.REASON.OPCODE);
PDP11.opUndefined.call(this, opCode);
};
PDP11.MOV_CYCLES = [
@ -1412,6 +1426,23 @@ PDP11.opMTPI = function(opCode)
this.nStepCycles = this.nSnapCycles - PDP11.MTP_CYCLES[this.dstMode];
};
/**
* opMTPS(opCode)
*
* 1064XX MTPS - Move Byte To PSW
*
* The 8 bits of the effective operand replace the current contents of the PS <0:7>. The source operand
* address is treated as a byte address. Note that PS bit 4 cannot be set with this instruction. The
* src operand remains unchanged. 11/34A only.
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.opMTPS = function(opCode)
{
PDP11.opUndefined.call(this, opCode);
};
/**
* opMUL(opCode)
*
@ -2392,7 +2423,7 @@ PDP11.aOp000X_1140 = [
PDP11.opIOT, // 0x0004 000004 11/20+ 9.3
PDP11.opRESET, // 0x0005 000005 11/20+ 20ms
PDP11.opRTT, // 0x0006 000006 11/40+ LEIS
PDP11.opMFPT, // 0x0007 000007 TBD
PDP11.opMFPT, // 0x0007 000007 11/44+
PDP11.opUndefined, // 0x0008
PDP11.opUndefined, // 0x0009
PDP11.opUndefined, // 0x000A
@ -2433,17 +2464,17 @@ PDP11.aOp8Xnn_1140 = [
PDP11.opBCS, // 0x87nn 1034XX 11/20+ 2.6**
PDP11.opEMT, // 0x88nn 104000-104377 11/20+ 9.3
PDP11.opTRAP, // 0x89nn 104400-104777 11/20+ 9.3
PDP11.op8AXn_1120, // 0x8Ann
PDP11.op8BXn_1120, // 0x8Bnn
PDP11.op8CXn_1120, // 0x8Cnn
PDP11.op8DXn_1140, // 0x8Dnn
PDP11.opUndefined, // 0x8Enn
PDP11.opUndefined // 0x8Fnn
PDP11.op8AXn_1120, // 0x8Ann 1050XX
PDP11.op8BXn_1120, // 0x8Bnn 1054XX
PDP11.op8CXn_1120, // 0x8Cnn 1060XX
PDP11.op8DXn_1140, // 0x8Dnn 106400-106777
PDP11.opUndefined, // 0x8Enn 1070XX
PDP11.opUndefined // 0x8Fnn 1074XX
];
PDP11.aOp8DXn_1140 = [
PDP11.opUndefined, // 0x8D0n
PDP11.opMFPD, // 0x8D4n 11/45+
PDP11.opMTPD, // 0x8D8n 11/45+
PDP11.opUndefined // 0x8DCn
PDP11.opMTPS, // 0x8D0n 1064XX 11/34A only
PDP11.opMFPD, // 0x8D4n 1065XX 11/45+
PDP11.opMTPD, // 0x8D8n 1066XX 11/45+
PDP11.opMFPS // 0x8DCn 1067XX 11/34A only
];

View file

@ -67,8 +67,8 @@ class PC11 extends Component {
this.sDevice = "PTR"; // TODO: Make the device name configurable
/*
* We record any 'autoMount' object now, but we no longer parse it until initBus(), because the
* Computer's getMachineParm() service may have an override for us.
* We preliminarily parse and record any 'autoMount' object now, but we no longer process it
* until initBus(), because the Computer's getMachineParm() service may have an override for us.
*/
this.configMount = this.parseConfig(parms['autoMount']);
this.cAutoMount = 0;

View file

@ -59,8 +59,8 @@ class RK11 extends Component {
super("RK11", parms, RK11, MessagesPDP11.RK11);
/*
* We record any 'autoMount' object now, but we no longer parse it until initBus(),
* because the Computer's getMachineParm() service may have an override for us.
* We preliminarily parse and record any 'autoMount' object now, but we no longer process it
* until initBus(), because the Computer's getMachineParm() service may have an override for us.
*/
this.configMount = this.parseConfig(parms['autoMount']);
this.cAutoMount = 0;

View file

@ -61,8 +61,8 @@ class RL11 extends Component {
super("RL11", parms, RL11, MessagesPDP11.RL11);
/*
* We record any 'autoMount' object now, but we no longer parse it until initBus(),
* because the Computer's getMachineParm() service may have an override for us.
* We preliminarily parse and record any 'autoMount' object now, but we no longer process it
* until initBus(), because the Computer's getMachineParm() service may have an override for us.
*/
this.configMount = this.parseConfig(parms['autoMount']);
this.cAutoMount = 0;

View file

@ -57,9 +57,9 @@ function fb(a){if(hb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Oa&&Oa(""+("
cb(Xa("Opera")||Xa("iOS")?"onunload":"onbeforeunload",function(){fb(eb.exit)});function A(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Rc=b.comment;this.Fd=b;this.exports={};a=this.id.indexOf(".");0>a?this.kb=this.id:(this.lb=this.id.substr(0,a),this.kb=this.id.substr(a+1));this.A={ready:!1,eb:!1,zc:!1,fa:!1,error:!1};this.dc=null;this.A.error=!1;this.C={};this.ha=d||0;this.F=this.f=this.D=this.J=this.Pa=null;rb.push(this)}
function sb(a,b,c){tb[a]&&b&&(tb[a][b]=c)}function y(a){Oa&&Oa(a)}function ub(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<rb.length;b++){var d=rb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function vb(a){if(void 0!==a){var b;for(b=0;b<rb.length;b++)if(rb[b].id===a)return rb[b]}return null}
function wb(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<rb.length;d++)if(c)c==rb[d]&&(c=null);else if(!(a!=rb[d].type||b&&rb[d].id.indexOf(b)))return rb[d]}return null}function xb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){y(c.message+" ("+a+")")}return b}
function yb(a,b){var c=B;b=E(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=xb(g))&&k.binding&&a.qa(k.type,k.binding,g,k.value),m=l.length}}}}
function yb(a,b){var c=B;b=E(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var k=g.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case c+"-binding":(k=xb(g))&&k.binding&&a.pa(k.type,k.binding,g,k.value),m=l.length}}}}
function E(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}h=A.prototype;h.toString=function(){return this.name?this.name:this.id||this.type};
h.qa=function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Pa=this.C[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.O=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.pa=function(a,b,c){switch(b){case "clear":return this.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Pa=this.C[b]=c,c.value="",this.u=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.O=function(a){this.u(a,this.kb)}),!0;default:return!1}};h.log=function(){};h.u=function(){};
h.status=function(a){this.u(this.kb+": "+a)};h.O=function(a,b,c){c=c||this.type;!b&&Oa&&Oa((c?c+": ":"")+a)};function zb(a,b){a.A.error=!0;a.O(b)}function Ab(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Bb(a,b){b&&(a.A.ready?b():a.dc=b);return a.A.ready}function G(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.dc,a.dc=null,b&&b()))}function Cb(a,b){a.A.eb&&(b?a.A.zc=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.eb}
function Db(a,b){if(a.A.zc)return a.A.eb=!1,a.A.zc=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.eb=b;return a.A.eb}h.za=function(){return this.A.fa=!0};h.ya=function(a,b){b&&(this.A.fa=!1);return!0};function H(a,b){if(a.F){a===a.F?b|=0:b=b||a.ha;var c=a.F.ha&b;return!!b&&c===b||!!(c&a.F.cd)}return!1}function I(a,b,c,d){a.F&&(!0===c||H(a,c|0))&&a.F.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]));var tb=window?window.PCjs.Machines:{},rb=window?window.PCjs.Components:[];Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
@ -67,11 +67,11 @@ Function.prototype.bind||(Function.prototype.bind=function(a){function b(){retur
var Eb="undefined"!==typeof ArrayBuffer,B="pdp11",Fb="PDPjs",Gb=!1,Hb=Eb,Ob=!0,Pb=!0,Qb="UNKNOWN PANIC ABORT ILLEGAL RED YELLOW FAULT TRACE HALT OPCODE INTERRUPT".split(" "),Rb={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"},B="pdp11",Fb="PDPjs",Gb=!1,Hb=Eb,Pb=Ob=!0,Sb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,pc11:4096,paper:4096,disk:8192,read:16384,write:32768,rk11:65536,rl11:131072,dl11:262144,serial:262144,
kw11:524288,timer:524288,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function Tb(a,b){A.call(this,"Panel",a,0,512);this.j=this.v=0;this.I=b;this.ua=this.i=this.Ya=this.vb=0;this.B=this.G=this.w=!1;this.H=Ub;this.g={};this.b={START:[1,1,!0,!1,this.Xd],STEP:[1,1,!1,!1,this.Yd],ENABLE:[1,1,!1,!1,this.Td],CONT:[1,1,!0,!1,this.Rd],DEP:[0,0,!0,!1,this.Sd],EXAM:[1,1,!0,!1,this.Ud],LOAD:[1,1,!0,!1,this.Wd],TEST:[0,0,!0,!1,this.Vd]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Zd,a];this.F=this.f=this.D=this.J=null;G(this)}p(Tb,A);h=Tb.prototype;h.reset=function(){this.stop()};
h.qa=function(a,b,c,d){if(this.J&&this.J.qa(a,b,c,d)||this.f&&this.f.qa(a,b,c,d)||this.F&&this.F.qa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.C[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.C[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.C[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):A.prototype.qa.call(this,a,b,c,d)}};h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Xb(b,this,Yb);Zb(b,this.reset.bind(this));$b(this);ac(this)};h.za=function(a,b){b||(this.I&&bc(),this.reset());return!0};h.ya=function(){return!0};
h.pa=function(a,b,c,d){if(this.J&&this.J.pa(a,b,c,d)||this.f&&this.f.pa(a,b,c,d)||this.F&&this.F.pa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.C[b]=c,this.v++,!0;default:return"led"==a||"rled"==a?(this.C[b]=c,this.g[b]=d?1:0,this.v++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.C[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,
b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):A.prototype.pa.call(this,a,b,c,d)}};h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;Xb(b,this,Yb);Zb(b,this.reset.bind(this));$b(this);ac(this)};h.za=function(a,b){b||(this.I&&bc(),this.reset());return!0};h.ya=function(){return!0};
function cc(a,b,c){if(a=a.C[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function $b(a,b){for(var c in a.g)cc(a,c,null!=b?b:a.g[c])}function dc(a,b,c){if(a=a.C[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ac(a){for(var b in a.b)dc(a,b,a.b[b][1])}function ec(a,b,c,d){a.C[b]&&(void 0===c&&(zb(a,"Value for "+b+" is invalid"),a.f.Z()),c=8==(a.F&&a.F.xa||8)?q(c,d):v(c,d),a.C[b].textContent!=c&&(a.C[b].textContent=c))}
function Vb(a,b){var c=a.b[b];dc(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);b!=fc&&(a.B=b==gc,a.G=b==hc)}function Wb(a,b){var c=a.b[b];c[2]&&c[3]&&(dc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.Xd=function(a){a||this.f.A.U||(a=this.f,a.D.reset(),ic(a),this.b[jc]&&this.b[jc][1]&&kc(this.f))};h.Yd=function(){};h.Td=function(a){a||this.f.Z()};
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[jc]&&this.b[jc][1])kc(this.f);else{if((a=this.F)&&!Cb(a,!0))Db(a,!0),lc(a,0,null),Db(a,!1);else try{var b=this.f.bc(1);0<b&&(mc(this.f,b),nc(this.f,b,!0),oc(this.f,b))}catch(c){"number"!=typeof c&&zb(this.f,c.stack||c.message)}this.stop();this.J&&J(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.B&&pc(this),a=qc(this,this.Ya),this.H==Ub)rc(this.D,this.ua,a);else{var b=this.f,c=this.ua;b.na++;b.D.Nb(Dc(b,c,4),a);b.na--}};
h.Rd=function(a){if(!a&&!this.f.A.U)if(this.b[jc]&&this.b[jc][1])kc(this.f);else{if((a=this.F)&&!Cb(a,!0))Db(a,!0),lc(a,0,null),Db(a,!1);else try{var b=this.f.bc(1);0<b&&(mc(this.f,b),nc(this.f,b,!0),oc(this.f,b))}catch(c){"number"!=typeof c&&zb(this.f,c.stack||c.message)}this.stop();this.J&&J(this.J)}};h.Sd=function(a){if(a&&!this.f.A.U)if(this.B&&pc(this),a=qc(this,this.Ya),this.H==Ub)rc(this.D,this.ua,a);else{var b=this.f,c=this.ua;b.ma++;b.D.Nb(Dc(b,c,4),a);b.ma--}};
h.Ud=function(a){a||this.f.A.U||(this.G&&pc(this),a=this.H==Ub?Ec(this.D,this.ua):Fc(this.f,this.ua),qc(this,a))};h.Wd=function(a){a||this.f.A.U||Gc(this,this.Ya)};h.Vd=function(a){a?(this.w=!0,$b(this,!0)):(this.w=!1,$b(this),Hc(this,0))};h.Zd=function(a,b){this.Ya=a?this.Ya|1<<b:this.Ya&~(1<<b)};function pc(a){var b=1140>=a.f.ba?8:16,c=65472<=a.ua&&a.ua<65472+b,b=c?1:2,c=c?15:a.D.I;a.b[fc]&&a.b[fc][1]||(b=-b);Gc(a,a.ua&~c|a.ua+b&c)}
function Gc(a,b){a.ua=b&a.D.I;b=a.ua;for(var c=0;22>c;c++)Ic(a,"A"+c,b&1<<c)}function qc(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)Ic(a,"D"+c,b&1<<c);return a.i}function Ic(a,b,c){a.g[b]=c;a.w||cc(a,b,c)}function Jc(a){return void 0!==a.C[Kc]}function Hc(a,b){if(Jc(a)){a.Ya=b;for(var c=0;22>c;c++)a.b["S"+c][1]=b&1<<c?1:0;ac(a)}}h.stop=function(){Gc(this,this.f.g[7])};h.Fc=function(a){this.ua=a};h.setData=function(a,b){b?this.vb=a:this.i=a};h.de=function(a,b){return(b?this.vb:this.Ya)&65535};
h.pf=function(a){this.vb=a};function bc(){for(var a=E(document,B,"panel"),b=0;b<a.length;b++){var c=a[b],d=xb(c),e=vb(d.id);e||(e=new Tb(d,!0));yb(e,c)}}var Ub=7,Kc="S0",gc="DEP",jc="ENABLE",hc="EXAM",fc="STEP",Lc={},Yb=(Lc[65400]=[null,null,Tb.prototype.de,Tb.prototype.pf,"CNSW"],Lc);db(bc);
@ -84,7 +84,7 @@ function Ec(a,b){var c;a.G=!1;a.ja++;var d=b&a.i,e=ad(a,b);Pb||d!=a.i?c=e.B(d,b)
function Wc(a){for(var b=0,c=[],d=0;d<a.H;d++){var e=a.b[d];if(e.Wa||e.Nd){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[k++]=n-g;l[k++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}function cd(a){for(var b=dd,c=0,d=0;d<a.b.length;d++){var e=a.b[d];e.type==b&&(c=e.K+e.Jb)}return c}
function ed(a,b,c,d,e,f,g,k,l){for(var m=b==c?-1:0;b<=c;b+=2){var n=b&fd;if(void 0!==a.Ma[n])return Oa&&Oa("I/O address already registered: "+v(b,8,!0)),!1;var r=l||"unknown";r&&0<=m&&(r+=m++);a.Ma[n]=[d,e,f,g,r,k||16,!1]}return!0}
function Xb(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.ba)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var r=g[4],u=g[5]||1,t=0;t<u;t++,f+=2)if(r&&1<u&&(r=g[4]+t),!ed(a,f,f,k,l,m,n,g[7]||b.ha,r||b.kb))return!1}}return!0}
function Zb(a,b){a.N.push(b)}h.La=function(a,b,c){this.G=!0;this.ja||(this.F&&H(this.F,4)&&I(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.la(4,0,a))};function gd(a){var b=a.G;a.G=!1;return b}function Xc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Nc=8192,fd=Nc-1,Yc=1,$c=2;
function Zb(a,b){a.N.push(b)}h.La=function(a,b,c){this.G=!0;this.ja||(this.F&&H(this.F,4)&&I(this.F,"memory fault ("+c+") on "+O(this.F,a),!0,!0),b&&(this.f.R|=b),this.f.qa(4,0,a))};function gd(a){var b=a.G;a.G=!1;return b}function Xc(a,b,c){y("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Nc=8192,fd=Nc-1,Yc=1,$c=2;
function Oc(a,b){var c=-1,d=this.controller,e=d.Ma[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ma[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&H(this.f,16|e[5])&&I(this.f,e[4]+".readByte("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,3);c=255;this.f&&H(this.f,16)&&I(this.f,"warning: unconverted read access to byte @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
function Pc(a,b,c){var d=!1,e=this.controller,f=e.Ma[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ma[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&H(this.f,16|f[5])&&I(this.f,f[4]+".writeByte("+O(this.f,c)+","+O(this.f,b)+")",!0,!e.ja):(e.La(c,16,5),this.f&&H(this.f,16)&&I(this.f,"warning: unconverted write access to byte @"+O(this.f,c)+": "+O(this.f,
b),!0,!e.ja))}function Qc(a,b){var c=-1,d=this.controller;a=d.Ma[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&H(this.f,16|a[5])&&I(this.f,a[4]+".readWord("+O(this.f,b)+"): "+O(this.f,c),!0,!d.ja),c;d.La(b,16,2);c=65535;this.f&&H(this.f,16)&&I(this.f,"warning: unconverted read access to word @"+O(this.f,b)+": "+O(this.f,c),!0,!d.ja);return c}
@ -94,8 +94,8 @@ h.ta=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.F=d;var e=this;this.b.Gc=
h.wf=function(a){this.b.Gb=a&192;this.b.Gb&64||od(this.f,this.b.fb)};h.me=function(){return pd(this.f)};h.yf=function(a){qd(this.f,a&-129|this.f.S&128)};h.ne=function(){return rd(this.f)};h.oe=function(){return sd(this.f)};h.pe=function(){return this.f.T};h.zf=function(a){td(this.f,a)};h.Xe=function(a){a=a>>1&63;var b=this.f.Ea[a>>1];return a&1?b>>16:b&65535};h.gg=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ea[c]=b&1?this.f.Ea[c]&65535|(a&63)<<16:this.f.Ea[c]&-65536|a&65534};
h.Qe=function(a){return this.f.B[1][a>>1&7]};h.$f=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Oe=function(a){return this.f.B[1][(a>>1&7)+8]};h.Yf=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Pe=function(a){return this.f.M[1][a>>1&7]};h.Zf=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Ne=function(a){return this.f.M[1][(a>>1&7)+8]};h.Xf=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.je=function(a){return this.f.B[0][a>>1&7]};
h.vf=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.he=function(a){return this.f.B[0][(a>>1&7)+8]};h.tf=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.ie=function(a){return this.f.M[0][a>>1&7]};h.uf=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.ge=function(a){return this.f.M[0][(a>>1&7)+8]};h.sf=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.We=function(a){return this.f.B[3][a>>1&7]};h.fg=function(a,b){this.f.B[3][b>>1&7]=a&65295};
h.Ue=function(a){return this.f.B[3][(a>>1&7)+8]};h.dg=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.eg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};h.cg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Hb=function(a){a&=7;return this.f.w&2048?this.f.oa[a]:this.f.g[a]};h.Lb=function(a,b){b&=7;this.f.w&2048?this.f.oa[b]=a:this.f.g[b]=a};
h.ue=function(){return this.f.w&49152?this.f.V[0]:this.f.g[6]};h.Ef=function(a){this.f.w&49152?this.f.V[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Hf=function(a){this.f.g[7]=a};h.Ib=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.oa[a]};h.Mb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.oa[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.V[1]};h.Ff=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.V[1]=a};
h.Ue=function(a){return this.f.B[3][(a>>1&7)+8]};h.dg=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ve=function(a){return this.f.M[3][a>>1&7]};h.eg=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Te=function(a){return this.f.M[3][(a>>1&7)+8]};h.cg=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Hb=function(a){a&=7;return this.f.w&2048?this.f.na[a]:this.f.g[a]};h.Lb=function(a,b){b&=7;this.f.w&2048?this.f.na[b]=a:this.f.g[b]=a};
h.ue=function(){return this.f.w&49152?this.f.V[0]:this.f.g[6]};h.Ef=function(a){this.f.w&49152?this.f.V[0]=a:this.f.g[6]=a};h.xe=function(){return this.f.g[7]};h.Hf=function(a){this.f.g[7]=a};h.Ib=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.na[a]};h.Mb=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.na[b]=a};h.ve=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.V[1]};h.Ff=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.V[1]=a};
h.we=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.V[3]};h.Gf=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.V[3]=a};h.fe=function(a){return this.f.Zb[a-65504>>1]};h.rf=function(a,b){this.f.Zb[b-65504>>1]=a};h.nd=function(a){return 65520==a?(cd(this.D)>>6)-1:0};h.sd=function(){};h.Se=function(){return 1};h.bg=function(){};h.ee=function(){return this.f.R};h.qf=function(){this.f.R=0};h.le=function(){return this.f.Yb};h.xf=function(a,b){b&1||(a&=255);this.f.Yb=a};
h.qe=function(a,b){return b?0:this.f.Va};h.Af=function(a){ud(this.f,a)};h.Re=function(a,b){return b?0:this.f.sa&65280};h.ag=function(a){this.f.sa=a|255};h.te=function(){return vd(this.f)};h.Df=function(a){wd(this.f,a)};h.rd=function(a,b){H(this)&&I(this,"writeIgnored("+q(b)+"): "+q(a),!0,!0)};
var Q={},ld=(Q[61568]=[null,null,P.prototype.Xe,P.prototype.gg,"UNIMAP",64,1170],Q[62592]=[null,null,P.prototype.Qe,P.prototype.$f,"SIPDR",8,1145,64],Q[62608]=[null,null,P.prototype.Oe,P.prototype.Yf,"SDPDR",8,1145,64],Q[62624]=[null,null,P.prototype.Pe,P.prototype.Zf,"SIPAR",8,1145,64],Q[62640]=[null,null,P.prototype.Ne,P.prototype.Xf,"SDPAR",8,1145,64],Q[62656]=[null,null,P.prototype.je,P.prototype.vf,"KIPDR",8,1140,64],Q[62672]=[null,null,P.prototype.he,P.prototype.tf,"KDPDR",8,1145,64],Q[62688]=
@ -116,43 +116,43 @@ h.bf=function(a,b){Ob&&a&1&&this.C.La(b,64,2);a=!Pb&&a&1?this.g[a]|this.g[a+1]<<
h.jg=function(a,b,c){Ob&&a&1&&this.C.La(c,64,4);!Pb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.H[a>>1]=b;this.Wa=!0;this.f&&H(this.f,32)&&I(this.f,"Memory.writeWord("+O(this.f,c)+","+O(this.f,b)+")",!0)};var Id=0,dd=1,Jd=2,Uc=4,Zc=["NONE","RAM","ROM","VID","H/W"],Hd=0,Pd=[],Od=[L.prototype.ce,L.prototype.nf,L.prototype.cf,L.prototype.kg],Sd=[L.prototype.ae,L.prototype.lf,L.prototype.Ze,L.prototype.ig];
if(Eb)var Nd=[L.prototype.$d,L.prototype.kf,L.prototype.Ye,L.prototype.hg],Md=[L.prototype.be,L.prototype.mf,L.prototype.bf,L.prototype.jg];var Wd;if(Eb){var Xd=new ArrayBuffer(2);(new DataView(Xd)).setUint16(0,256,!0);Wd=256===(new Uint16Array(Xd))[0]}else Wd=!1;var Ld=Wd;
function Yd(a,b){A.call(this,"CPU",a,0,1);b=+a.cycles||b;var c=+a.multiplier||1;this.oc=0;this.lc=b;this.bb=c;this.vc=Math.round(this.lc/1E4)/100;this.nb=this.vc*this.bb;this.wc=this.Vb=this.qb=this.mc=0;this.A.U=!1;this.A.hc=!1;this.A.Ia=a.autoStart;"string"==typeof this.A.Ia&&(this.A.Ia="true"==this.A.Ia);this.A.zb=!1;this.Sb=this.Bb=0;this.Tb=+a.csStart;this.Ab=+a.csInterval;this.Cb=+a.csStop;this.Fa=[];this.Tc=this.gf.bind(this);this.cb=this.Ta=this.ab=this.b=this.ga=this.Sa=this.Rb=this.$a=this.Db=
this.xc=this.mb=0;this.ra=null;G(this)}p(Yd,A);h=Yd.prototype;h.ta=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.ra=a.i;for(a=0;a<Zd.length;a++)(b=this.C[Zd[a]])&&this.J.qa(null,Zd[a],b);G(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
this.xc=this.mb=0;this.ra=null;G(this)}p(Yd,A);h=Yd.prototype;h.ta=function(a,b,c,d){this.J=a;this.D=b;this.F=d;this.ra=a.i;for(a=0;a<Zd.length;a++)(b=this.C[Zd[a]])&&this.J.pa(null,Zd[a],b);G(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.za=function(a,b){var c=$d(this.J,"autoStart");null!=c?this.A.Ia="true"==c?!0:"false"==c?!1:!!c:null==this.A.Ia&&(this.A.Ia=!this.F&&void 0===this.C.run);if(!b){if(a){ae(this);if(!this.restore(a))return!1;be(this)}else this.reset();this.F?(a=this.F,b=this.A.Ia,a.Da=!0,a.u("Type ? for help with PDPjs Debugger commands"),ce(a),b||de(a),a.sa&&(b=a.sa,a.sa=null,ee(a,b))):this.u("No debugger detected");this.A.Ia||this.u("CPU will not be auto-started "+(this.ra?"(click Run to start)":"(type 'go' to start)"))}return!0};
h.ya=function(a){return a?this.save():!0};h.Ia=function(){return this.A.U?!0:this.A.Ia?(kc(this),!0):!1};h.gd=function(){return 0};function be(a){void 0===a.Tb&&(a.Tb=0);void 0===a.Ab&&(a.Ab=-1);void 0===a.Cb&&(a.Cb=-1);a.A.zb=0<=a.Tb&&0<a.Ab;a.A.zb&&(a.Sb=0,a.Bb=a.Tb-a.cb)}function oc(a,b){if(a.A.zb){var c=!1;a.Sb=a.Sb+a.gd()|0;a.Bb-=b;0>=a.Bb&&(a.Bb+=a.Ab,c=!0);0<=a.Cb&&a.Cb<=fe(a)&&(a.Ab=a.Cb=-1,be(a),a.Z(),c=!0);c&&a.u(fe(a)+" cycles: checksum="+v(a.Sb))}}
h.qa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=ub(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);Oa("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.dc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():kc(d))},!0;
h.pa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.C[b]=c,!0;case "run":return this.C[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.fa)a=!0;else{var b=null,c,k=ub(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.A.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.A.fa);c++);c==k.length&&(b=a);Oa("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.dc?" (waiting for notification)":""))+".");a=!1}a&&(d.A.U?d.Z():kc(d))},!0;
case "speed":return this.C[b]=c,!0;case "setSpeed":return this.C[b]=c,c.onclick=function(){ge(d,d.bb<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};function nc(a,b,c){a.cb+=b;c&&(a.ab=a.b=a.ga=0)}function he(a,b){var c=1;b&&1<a.bb&&a.mb&&(c=a.mb/a.vc);a.wc=Math.round(1E3/ie);a.Vb=Math.floor(a.lc/ie*c);b||(a.qb=a.Vb);a.mc=0}function fe(a){return a.cb+a.Ta+a.ab-a.b}function ae(a){a.mb=0;a.xc=0;a.cb=a.Ta=a.ab=a.b=a.ga=0;be(a);ge(a,1)}
function ge(a,b,c){var d=!1;if(void 0!==b){.8>a.mb/a.nb?b=1:d=!0;a.bb=b;b=a.vc*a.bb;if(a.nb!=b){a.nb=b;b=a.nb.toFixed(2)+"Mhz";var e=a.C.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.J&&je(a.J)}nc(a,a.Ta);a.Ta=0;a.Sa=Fa();a.$a=0;he(a);return d}function hd(a,b){var c=a.Fa.length;a.Fa.push([-1,b]);return c}function jd(a,b,c,d){0<=b&&b<a.Fa.length&&(d||0>a.Fa[b][0])&&(c=a.lc*a.bb/1E3*c|0,a.A.U&&(c+=ke(a)),a.Fa[b][0]=c)}
function le(a,b){for(var c=a.Fa.length-1;0<=c;c--){var d=a.Fa[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function mc(a,b){for(var c=a.Fa.length-1;0<=c;c--){var d=a.Fa[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ke(a,b){var c=a.ab-=a.b;a.b=a.ga=0;b&&(a.ab=0);return c}
h.gf=function(){if(this.A.U){this.mc>=this.lc&&he(this,!0);this.Db=0;this.Rb=Fa();if(this.$a){var a=this.Rb-this.$a;a>this.wc&&(this.Sa+=a,this.Sa>this.Rb&&(this.Sa=this.Rb))}try{do{var b=le(this,this.A.zb?1:this.Vb);try{this.bc(b)}catch(e){if("number"!=typeof e)throw e;}b=ke(this,!0);this.Db+=b;this.Ta+=b;oc(this,b);mc(this,b);this.qb-=b;if(0>=this.qb){this.qb+=this.Vb;++this.xc>=me&&(this.J&&J(this.J,void 0),this.xc=0);break}}while(this.A.U)}catch(e){this.Z();this.J&&this.J.stop(Fa(),fe(this));
zb(this,e.stack||e.message);return}if(this.A.U){a=setTimeout;b=this.Tc;this.$a=Fa();var c=this.wc;this.Db&&(c=Math.round(c*this.Db/this.Vb));var c=c-(this.$a-this.Rb),d=this.$a-this.Sa;d&&(this.mb=Math.round(this.Ta/(10*d))/100,864E5<=d&&(this.cb=0,ge(this)));if(0>c||this.mb<this.nb)-1E3>c&&(this.Sa-=c),c=0;this.mc+=this.Db;this.$a+=c;a(b,c)}}};
function kc(a,b){if(!Ab(a))if(a.A.U)a.u(a.toString()+" busy");else{ge(a);a.A.U=!0;a.A.hc=!0;var c=a.C.run;c&&(c.textContent="Halt");a.J&&(b&&je(a.J,!0),a.J.start(a.Sa,fe(a)));a.F||a.status("Started");setTimeout(a.Tc,0)}}h.bc=function(){return 0};h.Z=function(a){var b=!1;if(this.A.U){ke(this);nc(this,this.Ta);this.Ta=0;this.A.U=!1;if(b=this.C.run)b.textContent="Run";this.J&&this.J.stop(Fa(),fe(this));b=!0;this.F||this.status("Stopped")}this.A.complete=a;return b};var ie=30,me=15,Zd=["power","reset"];
function ne(a){var b=+a.model||1170;Yd.call(this,a,6666667);this.ba=b;this.Qc=+a.addrReset||0;this.w=this.G=this.H=this.L=this.I=0;this.g=this.oa=this.V=[];this.N=0;this.uc=[];this.B=this.M=this.Ea=this.Zb=[];this.nc=this.Za=this.P=this.Pc=this.Ha=this.ib=this.ob=this.Da=this.R=this.Va=this.sa=this.S=this.Eb=this.Fb=this.T=this.Ua=this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Sc=255;1120>=this.ba?(this.Oc=oe.bind(this),this.yb=this.Ld,this.nc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
pe.bind(this),this.yb=this.Md,this.Xc=~(1792|(1140>=this.ba?2048:0))&65535,this.Uc=1140<this.ba?2048:0);this.na=0;this.ma=null;this.tc=[];this.A.complete=!1;this.Ob=this.pc=this.fd;this.Pb=this.qc=this.ld;this.ic=this.rc=this.pd;this.Qb=this.sc=this.qd;this.Ga=this.jb=this.Wb=this.Xb=0;this.Ca=this.kd;this.ka=this.Ec;this.xb=this.Hc;this.Zc=this.Yc=0}p(ne,Yd);h=ne.prototype;
function ne(a){var b=+a.model||1170;Yd.call(this,a,6666667);this.ba=b;this.Qc=+a.addrReset||0;this.w=this.G=this.H=this.L=this.I=0;this.g=this.na=this.V=[];this.N=0;this.uc=[];this.B=this.M=this.Ea=this.Zb=[];this.nc=this.Za=this.P=this.Pc=this.Ha=this.ib=this.ob=this.Da=this.R=this.Va=this.sa=this.S=this.Eb=this.Fb=this.T=this.Ua=this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Sc=255;1120>=this.ba?(this.Oc=oe.bind(this),this.yb=this.Ld,this.nc=8,this.Sc=-1,this.Xc=255,this.Uc=0):(this.Oc=
pe.bind(this),this.yb=this.Md,this.Xc=~(1792|(1140>=this.ba?2048:0))&65535,this.Uc=1140<this.ba?2048:0);this.ma=0;this.la=null;this.tc=[];this.A.complete=!1;this.Ob=this.pc=this.fd;this.Pb=this.qc=this.ld;this.ic=this.rc=this.pd;this.Qb=this.sc=this.qd;this.Ga=this.jb=this.Wb=this.Xb=0;this.Ca=this.kd;this.ka=this.Ec;this.xb=this.Hc;this.Zc=this.Yc=0}p(ne,Yd);h=ne.prototype;
h.ta=function(a,b,c,d){Yd.prototype.ta.call(this,a,b,c,d);this.pc=b.Jc.bind(b);this.qc=b.ac.bind(b);this.rc=b.Kc.bind(b);this.sc=b.Nb.bind(b)};h.za=function(a,b){for(var c=192,d=0;d<this.tc.length;d++){var e=this.tc[d];0>e.$b&&(e.$b=c,c+=4)}return Yd.prototype.za.call(this,a,b)};
h.reset=function(){this.status("Model "+this.ba);this.A.U&&this.Z();this.G=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.oa=[0,0,0,0,0,0];this.V=[0,0,0,0];this.N=0;this.uc=[4,2,0,1];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Ea=[0,0,0,0,0,0,0,0,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];this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Ua=-1;ic(this);ae(this);this.A.error=!1;Yd.prototype.reset.call(this)};function ic(a){a.S=0;a.Eb=0;a.Fb=0;a.T=0;a.R=0;a.Va=0;a.sa=255;a.Ha=0;a.ib=0;a.ob=0;a.Da=262143;a.Za=a.g[7];a.P=0;a.ma=null;a.D&&(qe(a),a.Pc=cd(a.D))}
h.reset=function(){this.status("Model "+this.ba);this.A.U&&this.Z();this.G=65536;this.H=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Qc,-1,-2,-3,-4,-5,-6,-7,-8];this.na=[0,0,0,0,0,0];this.V=[0,0,0,0];this.N=0;this.uc=[4,2,0,1];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Ea=[0,0,0,0,0,0,0,0,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];this.v=this.j=this.jc=this.W=this.Y=this.i=this.Yb=0;this.Ua=-1;ic(this);ae(this);this.A.error=!1;Yd.prototype.reset.call(this)};function ic(a){a.S=0;a.Eb=0;a.Fb=0;a.T=0;a.R=0;a.Va=0;a.sa=255;a.Ha=0;a.ib=0;a.ob=0;a.Da=262143;a.Za=a.g[7];a.P=0;a.la=null;a.D&&(qe(a),a.Pc=cd(a.D))}
function qe(a){a.Ob=a.pc;a.Pb=a.qc;a.ic=a.rc;a.Qb=a.sc;a.Wb&&(a.Ob=a.fd,a.Pb=a.ld);a.Xb&&(a.ic=a.pd,a.Qb=a.qd);a.Ha?(a.Ga=65536,a.jb=a.T&16?4186112:253952,a.Ca=a.kd,a.ka=a.Wb?a.af:a.Ec,a.xb=a.Xb?a.mg:a.Hc,Vc(a.D,a.T&16?22:18)):(a.Ga=0,a.jb=57344,a.Ca=a.Od,a.ka=a.Wb?a.$e:a.od,a.xb=a.Xb?a.lg:a.td,Vc(a.D,16))}function pd(a){var b=a.S;b&57344||(b=b&-3199|a.ib<<5|a.ob<<1);return b}
function qd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.Eb=a.P>>16&65535,a.Fb=a.P&65535);a.S=b;a.ib=(b&96)>>5;a.ob=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Ha!=c&&(a.Ha=c,qe(a))}}function rd(a){a.S&57344||(a.Eb=a.P>>16&65535);a=a.Eb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function sd(a){a.S&57344||(a.Fb=a.P&65535);return a.Fb}function td(a,b){1170>a.ba&&(b&=-49);a.T!=b&&(a.T=b,a.Da=b&16?4194303:262143,qe(a))}
function re(a,b,c){a.Qc=b;a.D.reset();ic(a);se(a,b);wd(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||kc(a)}else a.F?a.Z()||ce(a.F):!1===c&&a.Z();!a.A.U&&a.ra&&a.ra.stop()}h.gd=function(){return 0};h.save=function(){var a=new M(this);a.set(0,[this.g,this.oa,this.V,this.Ea,this.Zb,this.R,this.Yb,this.Va,this.sa,this.Ua,this.N,this.i,this.S,this.Eb,this.Fb,this.T,this.ib,this.ob,this.B,this.M,this.Ha,this.Da,this.Za,this.P]);a.set(1,[vd(this)]);a.set(2,[this.cb,this.bb]);return a.data()};
h.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.g=b.next().value;this.oa=b.next().value;this.V=b.next().value;this.Ea=b.next().value;this.Zb=b.next().value;this.R=b.next().value;this.Yb=b.next().value;this.Va=b.next().value;this.sa=b.next().value;this.Ua=b.next().value;this.N=b.next().value;this.i=b.next().value;this.S=b.next().value;this.Eb=b.next().value;this.Fb=b.next().value;this.T=b.next().value;this.ib=b.next().value;this.ob=b.next().value;
function re(a,b,c){a.Qc=b;a.D.reset();ic(a);se(a,b);wd(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.A.U||kc(a)}else a.F?a.Z()||ce(a.F):!1===c&&a.Z();!a.A.U&&a.ra&&a.ra.stop()}h.gd=function(){return 0};h.save=function(){var a=new M(this);a.set(0,[this.g,this.na,this.V,this.Ea,this.Zb,this.R,this.Yb,this.Va,this.sa,this.Ua,this.N,this.i,this.S,this.Eb,this.Fb,this.T,this.ib,this.ob,this.B,this.M,this.Ha,this.Da,this.Za,this.P]);a.set(1,[vd(this)]);a.set(2,[this.cb,this.bb]);return a.data()};
h.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.g=b.next().value;this.na=b.next().value;this.V=b.next().value;this.Ea=b.next().value;this.Zb=b.next().value;this.R=b.next().value;this.Yb=b.next().value;this.Va=b.next().value;this.sa=b.next().value;this.Ua=b.next().value;this.N=b.next().value;this.i=b.next().value;this.S=b.next().value;this.Eb=b.next().value;this.Fb=b.next().value;this.T=b.next().value;this.ib=b.next().value;this.ob=b.next().value;
this.B=b.next().value;this.M=b.next().value;this.Ha=b.next().value;this.Da=b.next().value;this.Za=b.next().value;this.P=b.next().value;b=a[1];wd(this,b[0]);b=a[2];this.cb=b[0];ge(this,b[1]);return!0};function te(a){return a.G&65536?1:0}function ue(a){return a.H&32768?2:0}function ve(a){return a.L&65535?0:4}function we(a){return a.I&32768?8:0}function xe(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function S(a,b,c){c&&(se(a,a.g[7]+(b<<24>>23)),a.b-=2);a.b-=3}function se(a,b){a.g[7]=b&65535}
function kd(a,b,c,d){c={$b:b,gb:c,message:d||0,next:null};c.name=Rb[b];a.tc.push(c);return c}function ye(a,b){var c=a.ma;if(c==b)a.ma=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.ma&&(a.i|=1)}function id(a,b){if(b){if(b!=a.ma){var c=a.ma;if(!c||c.gb<=b.gb)b.next=c,a.ma=b;else{do{var d=c.next;if(!d||d.gb<=b.gb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&H(a,b.message|8)&&I(a,"setIRQ(vector="+q(b.$b)+",priority="+b.gb+")",!0,!0)}}
function od(a,b){b&&(ye(a,b),b.message&&H(a,b.message|8)&&I(a,"clearIRQ(vector="+q(b.$b)+",priority="+b.gb+")",!0,!0))}function ze(a){return a.i&64?(a.la(168,64,-6),!0):a.i&32?(a.la(4,32,-5),!0):a.i&16?(a.la(12,16,-7),!0):!1}function vd(a){return a.w=a.w&63728|we(a)|ve(a)|ue(a)|te(a)}
function wd(a,b){b&=a.Xc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.oa.length;0<=--c;){var d=a.g[c];a.g[c]=a.oa[c];a.oa[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.V[c]=a.g[6],a.g[6]=a.V[a.N]);a.w=b;a.i&=-3;a.i|=a.ma?2:1}function ud(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}h.Ba=function(a){this.I=this.L=a;this.H=0};h.hb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};function Ae(a,b){a.I=a.L=a.G=b;a.H=a.I^a.G>>1}
function Be(a,b,c,d){a.I=a.L=a.G=b;a.H=(c^d)&(d^b)}h.la=function(a,b,c){if(!this.na){0>this.Ua?this.Ua=vd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.N=0;var d=this.ka(a|this.Ga),e=this.ka(a+2&65535|this.Ga);wd(this,e&-12289|this.Ua>>2&12288);Ce(this,this.Ua);Ce(this,this.g[7]);se(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
function kd(a,b,c,d){c={$b:b,gb:c,message:d||0,next:null};c.name=Rb[b];a.tc.push(c);return c}function ye(a,b){var c=a.la;if(c==b)a.la=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.la&&(a.i|=1)}function id(a,b){if(b){if(b!=a.la){var c=a.la;if(!c||c.gb<=b.gb)b.next=c,a.la=b;else{do{var d=c.next;if(!d||d.gb<=b.gb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&H(a,b.message|8)&&I(a,"setIRQ(vector="+q(b.$b)+",priority="+b.gb+")",!0,!0)}}
function od(a,b){b&&(ye(a,b),b.message&&H(a,b.message|8)&&I(a,"clearIRQ(vector="+q(b.$b)+",priority="+b.gb+")",!0,!0))}function ze(a){return a.i&64?(a.qa(168,64,-6),!0):a.i&32?(a.qa(4,32,-5),!0):a.i&16?(a.qa(12,16,-7),!0):!1}function vd(a){return a.w=a.w&63728|we(a)|ve(a)|ue(a)|te(a)}
function wd(a,b){b&=a.Xc;a.I=b<<12;a.L=~b&4;a.H=b<<14;a.G=b<<16;if((b^a.w)&a.Uc)for(var c=a.na.length;0<=--c;){var d=a.g[c];a.g[c]=a.na[c];a.na[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.V[c]=a.g[6],a.g[6]=a.V[a.N]);a.w=b;a.i&=-3;a.i|=a.la?2:1}function ud(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.Va=b}h.Ba=function(a){this.I=this.L=a;this.H=0};h.hb=function(a,b){this.I=this.L=this.G=a;this.H=b||0};function Ae(a,b){a.I=a.L=a.G=b;a.H=a.I^a.G>>1}
function Be(a,b,c,d){a.I=a.L=a.G=b;a.H=(c^d)&(d^b)}h.qa=function(a,b,c){if(!this.ma){0>this.Ua?this.Ua=vd(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.R|=4,this.g[6]=a=4);if(-1!=c){this.P=a|4143316992;this.N=0;var d=this.ka(a|this.Ga),e=this.ka(a+2&65535|this.Ga);wd(this,e&-12289|this.Ua>>2&12288);Ce(this,this.Ua);Ce(this,this.g[7]);se(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.Ua=-1;this.Zc=a;this.Yc=c;-1==c&&this.Z();if(-4<=c)throw a;}};
function De(a){var b=Ee(a),c=Ee(a);a.w&49152&&(c=c&-225|a.w&63712);se(a,b);wd(a,c);a.i&=-17}function Fe(a,b){var c=b>>13&31;31>c&&(b=a.T&32?a.Ea[c]+(b&8191)&4194303:b&-3932161);return b}
function Ge(a,b,c){var d=[];if(c){c=Fe(a,b);var e=b>>13&31;d.push(c);d.push(e);a.T&32&&(d.push(a.Ea[e]),d.push(b&8191))}else if(a.Ha){var e=a.N<<1,f=b>>13;7<f&&(e|=1);a.T&a.uc[a.N]||(f&=7);b&=8191;var g=a.M[a.N][f]<<6;c=g+b&a.Da;3932160<=c&&(c=Fe(a,c));d.push(c);d.push(b);d.push(e);d.push(f&7);d.push(g);d.push(a.Da)}else c=b&65535,57344<=c&&(c|=a.jb),d.push(c);return d}
function Dc(a,b,c){var d,e,f;if(!(c&a.Ha))return f=b&65535,57344<=f&&(f|=a.jb),f;d=b>>13;a.T&a.uc[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.Da;3932160<=f&&(f=Fe(a,f));if(a.na)return f;f>=a.Pc&&f<a.jb?(a.R|=32,a.la(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.la(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.Da)||a.N)a.ib=a.N,a.ob=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.S&57344||(g|=a.S&4096|a.ib<<5|a.ob<<1,qd(a,a.S&-61695|g&61694)),a.la(168,64,-2)),a.S&61440||!(f<(4191360&a.Da)||f>(4194239&a.Da))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function Ee(a){var b=a.ka(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Ce(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.yb(4,-2,c);a.xb(c,b)}
function He(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.la(4,0,-3),0;case 1:return 6==c&&a.yb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.yb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ka(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.yb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ka(e)|g;a.b-=8;break;case 6:return e=a.ka(xe(a,2)),e=e+a.g[c]&65535,6==c&&a.yb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ka(xe(a,2)),e=e+a.g[c]&65535,e=a.ka(e|a.Ga),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.N&&0>=b&&c<=this.sa&&(this.i|=32)};h.Md=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.sa&&(c<=this.sa-32?this.la(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Ud(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Ud(this.F,a,2);return this.qc(a)};
h.pd=function(a,b){this.F&&Vd(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Vd(this.F,a,2);this.sc(a,b)};function Fc(a,b){a.na++;b=a.D.ac(Dc(a,b,2));a.na--;return b}function Ie(a,b){(b?--a.Xb:--a.Wb)||qe(a)}h.Od=function(a,b,c){return He(this,a,b,c)};h.kd=function(a,b,c){return Dc(this,He(this,a,b,c),c)};h.od=function(a){return this.D.ac(this.Za=a)};h.$e=function(a){this.F&&Ud(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.ac(this.Za=Dc(this,a,2))};
function Dc(a,b,c){var d,e,f;if(!(c&a.Ha))return f=b&65535,57344<=f&&(f|=a.jb),f;d=b>>13;a.T&a.uc[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.Da;3932160<=f&&(f=Fe(a,f));if(a.ma)return f;f>=a.Pc&&f<a.jb?(a.R|=32,a.qa(4,0,f)):f&1&&!(c&1)&&(a.R|=64,a.qa(4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.Da)||a.N)a.ib=a.N,a.ob=d;g&&(g&57344&&(0<=a.Ua&&(g|=128),a.S&57344||(g|=a.S&4096|a.ib<<5|a.ob<<1,qd(a,a.S&-61695|g&61694)),a.qa(168,64,-2)),a.S&61440||!(f<(4191360&a.Da)||f>(4194239&a.Da))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function Ee(a){var b=a.ka(a.g[6]|a.Ga);a.g[6]=a.g[6]+2&65535;return b}function Ce(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.P=a.P&65535|(a.P&-65536)<<8|16121856;a.i&256||a.yb(4,-2,c);a.xb(c,b)}
function He(a,b,c,d){var e,f,g=d&8?0:a.Ga;switch(b){case 0:return a.qa(4,0,-3),0;case 1:return 6==c&&a.yb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.yb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.ka(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.yb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.ka(e)|g;a.b-=8;break;case 6:return e=a.ka(xe(a,2)),e=e+a.g[c]&65535,6==c&&a.yb(d,
0,e),a.b-=6,e|g;case 7:return e=a.ka(xe(a,2)),e=e+a.g[c]&65535,e=a.ka(e|a.Ga),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.P=a.P&65535|(a.P&-65536)<<8|(f<<3&248|c)<<16;return e}h.Ld=function(a,b,c){!this.N&&0>=b&&c<=this.sa&&(this.i|=32)};h.Md=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.sa&&(c<=this.sa-32?this.qa(4,0,-4):(this.R|=8,this.i|=32)))};h.fd=function(a){this.F&&Ud(this.F,a,1);return this.pc(a)};h.ld=function(a){this.F&&Ud(this.F,a,2);return this.qc(a)};
h.pd=function(a,b){this.F&&Vd(this.F,a,1);this.rc(a,b)};h.qd=function(a,b){this.F&&Vd(this.F,a,2);this.sc(a,b)};function Fc(a,b){a.ma++;b=a.D.ac(Dc(a,b,2));a.ma--;return b}function Ie(a,b){(b?--a.Xb:--a.Wb)||qe(a)}h.Od=function(a,b,c){return He(this,a,b,c)};h.kd=function(a,b,c){return Dc(this,He(this,a,b,c),c)};h.od=function(a){return this.D.ac(this.Za=a)};h.$e=function(a){this.F&&Ud(this.F,a,2);return this.od(a)};h.Ec=function(a){return this.D.ac(this.Za=Dc(this,a,2))};
h.af=function(a){this.F&&Ud(this.F,a,2);return this.Ec(a)};h.td=function(a,b){this.D.Nb(this.Za=a,b)};h.lg=function(a,b){this.F&&Vd(this.F,a,2);this.td(a,b)};h.Hc=function(a,b){this.D.Nb(this.Za=Dc(this,a,4),b)};h.mg=function(a,b){this.F&&Vd(this.F,a,2);this.Hc(a,b)};function Je(a,b,c){var d=a.j=b&7;(b=a.v=(b&56)>>3)?(d=He(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.ka(d|c&a.Ga),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.V[a.w>>12&3];return c}
function Ke(a,b,c,d){a.P=a.P&65535|1441792;var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=He(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Dc(a,e|c&65536,4),a.N=a.w>>14&3,a.Qb(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.V[a.w>>12&3]=d}function Le(a,b){b>>=6;var c=a.Y=b&7;return(b=a.W=(b&56)>>3)?a.Ob(a.Ca(b,c,3)):a.g[c+a.nc]&a.Sc}function Me(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.W=(b&56)>>3)?c=a.Pb(a.Ca(b,d,2)):c=a.g[d+a.nc];return c}function Ne(a,b){var c=a.j=b&7;b=a.v=(b&56)>>3;return He(a,b,c,8)}
function jf(a,b){var c=a.j=b&7;return(b=a.v=(b&56)>>3)?a.Ob(a.Ca(b,c,3)):a.g[c]&255}function kf(a,b){var c,d=a.j=b&7;(b=a.v=(b&56)>>3)?c=a.Pb(a.Ca(b,d,2)):c=a.g[d];return c}function lf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.jc=a.Ca(b,e,7),c=0>c?a.g[-c-1]&255:c,a.ic(e,d.call(a,c,a.Ob(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function T(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.Ca(b,e,6),a.Qb(e,d.call(a,0>c?a.g[-c-1]:c,a.Pb(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function mf(a,b,c,d,e){var f=a.j=b&7;(b=a.v=(b&56)>>3)?(d=a.Ca(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.ic(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
function nf(a,b,c,d){var e=a.j=b&7;(b=a.v=(b&56)>>3)?(e=a.Ca(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.Qb(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
h.bc=function(a){this.A.complete=!0;var b=this.F?of(this.F)?1:this.A.hc?-1:0:0,c=a?this.A.hc?0:1:-1;this.A.hc=!1;this.ab=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(pf(this.F,this.g[7],c)){this.Z();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.Va&224)>>5,f=this.ma&&this.ma.gb>e?this.ma:null;f&&(d=f.$b,e=f.gb);e>(this.w&224)>>5?(this.i&8&&(xe(this,2),this.i&=-9),this.la(d,0,-10),e=!0):e=!1;e&&(f&&ye(this,f),a=!0);this.ma||this.Va||(this.i&=-3)}else this.i&
h.bc=function(a){this.A.complete=!0;var b=this.F?of(this.F)?1:this.A.hc?-1:0:0,c=a?this.A.hc?0:1:-1;this.A.hc=!1;this.ab=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(pf(this.F,this.g[7],c)){this.Z();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.Va&224)>>5,f=this.la&&this.la.gb>e?this.la:null;f&&(d=f.$b,e=f.gb);e>(this.w&224)>>5?(this.i&8&&(xe(this,2),this.i&=-9),this.qa(d,0,-10),e=!0):e=!1;e&&(f&&ye(this,f),a=!0);this.la||this.Va||(this.i&=-3)}else this.i&
1&&this.i++;if(a){if(this.i&4&&pf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}if(this.i&112&&ze(this)){if(this.i&4&&pf(this.F,this.g[7],c)){this.Z();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.P=this.g[7];f=this.ka(a);this.g[7]=a+2&65535;this.Oc(f)}while(0<this.b);return this.A.complete?this.ab-this.b:void 0===this.A.complete?0:-1};db(function(){for(var a=E(document,B,"cpu"),b=0;b<a.length;b++){var c=a[b],d=xb(c),d=new ne(d);yb(d,c)}});
function qf(a,b){var c=b+a;this.I=this.L=this.G=c;this.H=(a^c)&(b^c);return c&65535}function rf(a,b){var c=b+a,d=c<<8;this.I=this.L=this.G=d;this.H=(a<<8^d)&(b<<8^d);return c&255}function sf(a,b){a=b<<1;Ae(this,a);return a&65535}function tf(a,b){a=b<<1;Ae(this,a<<8);return a&255}function uf(a,b){a=b&32768|b>>1|b<<16;Ae(this,a);return a&65535}function vf(a,b){a=b&128|b>>1|b<<8;Ae(this,a<<8);return a&255}function wf(a,b){a=b&~a;this.Ba(a);return a}function xf(a,b){a=b&~a;this.Ba(a<<8);return a}
function yf(a,b){a|=b;this.Ba(a);return a}function zf(a,b){a|=b;this.Ba(a<<8);return a}function Af(a,b){a=~b|65536;this.hb(a);return a&65535}function Bf(a,b){a=~b|256;this.hb(a<<8);return a&255}function Cf(a,b){this.I=this.L=a=b-a;this.H=b&(b^a);return a&65535}function Df(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.H=b&(b^c);return a&255}function Ef(a,b){this.I=this.L=a=b+a;this.H=a&(b^a);return a&65535}function Ff(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.H=c&(b<<8^c);return a&255}
@ -162,14 +162,14 @@ function Rf(a){var b=kf(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760
function Sf(a){var b=kf(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.G=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.G=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.H=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.v?6:7)+b}function Tf(a){S(this,a,!te(this))}function Uf(a){S(this,a,te(this))}
function Vf(a){T(this,a,Me(this,a),wf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Wf(a){lf(this,a,Le(this,a),xf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Xf(a){T(this,a,Me(this,a),yf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Yf(a){lf(this,a,Le(this,a),zf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}
function Zf(a){var b=Me(this,a);a=kf(this,a);this.Ba((0>b?this.g[-b-1]:b)&a);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function $f(a){var b=Le(this,a);a=jf(this,a);this.Ba(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function ag(a){S(this,a,ve(this))}function bg(a){S(this,a,!we(this)==!ue(this))}function cg(a){S(this,a,!ve(this)&&!we(this)==!ue(this))}function dg(a){S(this,a,!te(this)&&!ve(this))}
function eg(a){S(this,a,ve(this)||!we(this)!=!ue(this))}function fg(a){S(this,a,te(this)||ve(this))}function gg(a){S(this,a,!we(this)!=!ue(this))}function hg(a){S(this,a,we(this))}function ig(a){S(this,a,!ve(this))}function jg(a){S(this,a,!we(this))}function kg(){this.la(12,0,-9)}function lg(a){S(this,a,!0)}function mg(a){S(this,a,!ue(this))}function ng(a){S(this,a,ue(this))}function og(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function eg(a){S(this,a,ve(this)||!we(this)!=!ue(this))}function fg(a){S(this,a,te(this)||ve(this))}function gg(a){S(this,a,!we(this)!=!ue(this))}function hg(a){S(this,a,we(this))}function ig(a){S(this,a,!ve(this))}function jg(a){S(this,a,!we(this))}function kg(){this.qa(12,0,-9)}function lg(a){S(this,a,!0)}function mg(a){S(this,a,!ue(this))}function ng(a){S(this,a,ue(this))}function og(a){a&1&&(this.G=0);a&2&&(this.H=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5}
function pg(a){var b=Me(this,a);a=kf(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Be(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}function qg(a){var b=Le(this,a);a=jf(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Be(this,c,a,b);this.b-=this.v?4+(this.Y&&6<=this.j?1:0):(this.W?4:3)+(7==this.j?2:0)}
function rg(a){var b=kf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.G=65536,this.b-=7}function sg(){this.la(24,0,-9);this.b-=20}
function tg(){this.w&49152?(this.R|=128,this.la(4,0,-8)):(this.ra&&1120==this.ba&&this.ra.setData(this.g[0],!0),this.F?ug(this.F):this.Z());this.b-=7}function vg(){this.la(16,0,-9);this.b-=20}var wg=[0,7,7,10,7,11,9,13];function xg(a){this.ga=this.b;se(this,Ne(this,a));this.b=this.ga-wg[this.v]}var yg=[0,14,14,17,14,18,16,20];function zg(a){this.ga=this.b;var b=Ne(this,a);a=a>>6&7;Ce(this,this.g[a]);this.g[a]=this.g[7];se(this,b);this.b=this.ga-yg[this.v]}
function rg(a){var b=kf(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.G=this.H=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.H=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.H=32768,this.G=65536,this.b-=7}function sg(){this.qa(24,0,-9);this.b-=20}
function tg(){this.w&49152?(this.R|=128,this.qa(4,0,-8)):(this.ra&&1120==this.ba&&this.ra.setData(this.g[0],!0),this.F?ug(this.F):this.Z());this.b-=7}function vg(){this.qa(16,0,-9);this.b-=20}var wg=[0,7,7,10,7,11,9,13];function xg(a){this.ga=this.b;se(this,Ne(this,a));this.b=this.ga-wg[this.v]}var yg=[0,14,14,17,14,18,16,20];function zg(a){this.ga=this.b;var b=Ne(this,a);a=a>>6&7;Ce(this,this.g[a]);this.g[a]=this.g[7];se(this,b);this.b=this.ga-yg[this.v]}
var Ag=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Bg(a){var b=Me(this,a);this.ga=this.b;nf(this,a,b,this.Ba);this.b=this.ga-Ag[(this.W?8:0)+this.v]+(7!=this.j||this.v?0:2)}function Cg(a){var b=Le(this,a);mf(this,a,b,65535,this.Ba);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}var Dg=[7,13,13,17,14,18,17,21];
function Eg(a){var b=kf(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.I=b>>16;this.L=this.I|b;this.H=0;this.G=-32768>b||32767<b?65536:0;this.b-=23}function Fg(){this.b-=5}function Gg(){this.w&49152||(this.D.reset(),ic(this),this.ra&&this.ra.setData(this.g[0],!0));this.b-=667}function Hg(a){if(a&8)U.call(this,a);else{var b=Ee(this);a&=7;7==a?se(this,b):(se(this,this.g[a]),this.g[a]=b);this.b-=9}}
function Ig(){De(this);this.b-=13}function Jg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Kg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)se(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Lg(a){T(this,a,Me(this,a),Mf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Mg(a){T(this,a,0,Of);this.b-=this.v?9:3+(7==this.j?2:0)}function Ng(){this.la(28,0,-9)}
function Og(){this.ra&&(this.ra.Fc(this.g[7],!0),this.ra.setData(this.g[0],!0));this.i|=8;xe(this,-2);this.b-=3}function Pg(a){T(this,a,this.g[(a>>6&7)+this.nc],Pf);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,H(b,1)?(I(b,"undefined opcode "+O(b,a),!0,!0),b=ug(b)):b=!1;b||this.la(8,0,-9)}function oe(a){Qg[a>>12].call(this,a)}function Rg(a){Sg[a>>6&3].call(this,a)}function Tg(a){Ug[a>>6&3].call(this,a)}function Vg(a){Wg[a>>6&3].call(this,a)}
function Ig(){De(this);this.b-=13}function Jg(a){a&1&&(this.G=65536);a&2&&(this.H=32768);a&4&&(this.L=0);a&8&&(this.I=32768);this.b-=5}function Kg(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)se(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Lg(a){T(this,a,Me(this,a),Mf);this.b-=this.v?9+(this.Y&&6<=this.j?1:0):(this.W?5:3)+(7==this.j?2:0)}function Mg(a){T(this,a,0,Of);this.b-=this.v?9:3+(7==this.j?2:0)}function Ng(){this.qa(28,0,-9)}
function Og(){this.ra&&(this.ra.Fc(this.g[7],!0),this.ra.setData(this.g[0],!0));this.i|=8;xe(this,-2);this.b-=3}function Pg(a){T(this,a,this.g[(a>>6&7)+this.nc],Pf);this.b-=this.v?9:3+(7==this.j?2:0)}function U(a){var b;if(b=this.F)b=this.F,H(b,1)?(I(b,"undefined opcode "+O(b,a),!0,!0),b=ug(b)):b=!1;b||this.qa(8,0,-9)}function oe(a){Qg[a>>12].call(this,a)}function Rg(a){Sg[a>>6&3].call(this,a)}function Tg(a){Ug[a>>6&3].call(this,a)}function Vg(a){Wg[a>>6&3].call(this,a)}
function Xg(a){Yg[a&15].call(this,a)}function Zg(a){$g[a&15].call(this,a)}function ah(a){bh[a>>6&3].call(this,a)}function ch(a){dh[a>>6&3].call(this,a)}function eh(a){fh[a>>6&3].call(this,a)}
var Qg=[function(a){gh[a>>8&15].call(this,a)},Bg,pg,Zf,Vf,Xf,Qf,U,function(a){hh[a>>8&15].call(this,a)},Cg,qg,$f,Wf,Yf,Lg,U],gh=[function(a){ih[a>>4&15].call(this,a)},lg,ig,ag,bg,gg,cg,eg,zg,zg,Rg,Tg,Vg,U,U,U],Sg=[function(a){nf(this,a,0,this.hb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,Af);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Ef);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,1,Cf);this.b-=this.v?9:3+(7==this.j?2:0)}],Ug=[function(a){T(this,a,0,Gf);
this.b-=this.v?11:6},function(a){T(this,a,te(this)?1:0,qf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,te(this)?1:0,Mf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=kf(this,a);this.hb(a);this.b-=this.v?4:3+(7==this.j?2:0)}],Wg=[function(a){T(this,a,0,Kf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,If);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,uf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){T(this,a,0,sf);this.b-=this.v?9:3+(7==this.j?2:0)}],ih=
@ -177,8 +177,8 @@ this.b-=this.v?11:6},function(a){T(this,a,te(this)?1:0,qf);this.b-=this.v?9:3+(7
eh,U,U,U],bh=[function(a){mf(this,a,0,255,this.hb);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){lf(this,a,0,Bf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){lf(this,a,1,Ff);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){lf(this,a,1,Df);this.b-=this.v?9:3+(7==this.j?2:0)}],dh=[function(a){lf(this,a,0,Hf);this.b-=this.v?11:6},function(a){lf(this,a,te(this)?1:0,rf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){lf(this,a,te(this)?1:0,Nf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){a=jf(this,
a);this.hb(a<<8);this.b-=this.v?4:3+(7==this.j?2:0)}],fh=[function(a){lf(this,a,0,Lf);this.b-=this.v?9+(this.jc&1):3+(7==this.j?2:0)},function(a){lf(this,a,0,Jf);this.b-=this.v?9:3+(7==this.j?2:0)},function(a){lf(this,a,0,vf);this.b-=this.v?9+(this.jc&1):3+(7==this.j?2:0)},function(a){lf(this,a,0,tf);this.b-=this.v?9:3+(7==this.j?2:0)}];function pe(a){kh[a>>12].call(this,a)}
var kh=[function(a){lh[a>>8&15].call(this,a)},Bg,pg,Zf,Vf,Xf,Qf,function(a){mh[a>>8&15].call(this,a)},function(a){nh[a>>8&15].call(this,a)},Cg,qg,$f,Wf,Yf,Lg,U],lh=[function(a){oh[a>>4&15].call(this,a)},lg,ig,ag,bg,gg,cg,eg,zg,zg,Rg,Tg,Vg,function(a){ph[a>>6&3].call(this,a)},U,U],ph=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.ka(a|this.Ga);se(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Je(this,a,0);this.Ba(a);Ce(this,a);this.b-=11},function(a){var b=Ee(this);
this.ga=this.b;this.Ba(b);Ke(this,a,0,b);this.b=this.ga-Dg[this.v]},function(a){nf(this,a,we(this)?65535:0,this.Ba);this.b-=this.v?9:3+(7==this.j?2:0)}],oh=[function(a){qh[a&15].call(this,a)},U,U,U,xg,xg,xg,xg,Hg,function(a){!(a&8)||1145>this.ba?U.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},Xg,Zg,Mg,Mg,Mg,Mg],qh=[tg,Og,function(){De(this);this.i|=this.w&16;this.b-=13},kg,vg,Gg,Ig,function(){this.la(8,0,-9)},U,U,U,U,U,U,U,U],mh=[Eg,Eg,rg,rg,Rf,Rf,Sf,Sf,
Pg,Pg,U,U,U,U,Kg,Kg],nh=[jg,hg,dg,fg,mg,ng,Tf,Uf,sg,Ng,ah,ch,eh,function(a){1145>this.ba?U.call(this,a):rh[a>>6&3].call(this,a)},U,U],rh=[U,function(a){a=Je(this,a,65536);this.Ba(a);Ce(this,a);this.b-=11},function(a){var b=Ee(this);this.ga=this.b;this.Ba(b);Ke(this,a,65536,b);this.b=this.ga-Dg[this.v]},U];
this.ga=this.b;this.Ba(b);Ke(this,a,0,b);this.b=this.ga-Dg[this.v]},function(a){nf(this,a,we(this)?65535:0,this.Ba);this.b-=this.v?9:3+(7==this.j?2:0)}],oh=[function(a){qh[a&15].call(this,a)},U,U,U,xg,xg,xg,xg,Hg,function(a){!(a&8)||1145>this.ba?U.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},Xg,Zg,Mg,Mg,Mg,Mg],qh=[tg,Og,function(){De(this);this.i|=this.w&16;this.b-=13},kg,vg,Gg,Ig,function(a){U.call(this,a)},U,U,U,U,U,U,U,U],mh=[Eg,Eg,rg,rg,Rf,Rf,Sf,Sf,
Pg,Pg,U,U,U,U,Kg,Kg],nh=[jg,hg,dg,fg,mg,ng,Tf,Uf,sg,Ng,ah,ch,eh,function(a){1145>this.ba?U.call(this,a):rh[a>>6&3].call(this,a)},U,U],rh=[function(a){U.call(this,a)},function(a){a=Je(this,a,65536);this.Ba(a);Ce(this,a);this.b-=11},function(a){var b=Ee(this);this.ga=this.b;this.Ba(b);Ke(this,a,65536,b);this.b=this.ga-Dg[this.v]},function(a){U.call(this,a)}];
function sh(a){A.call(this,"ROM",a,0,128);this.ea=this.g=null;this.v=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=x(this.j);if(this.j){a=this.j;var b=wa(this.B);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,f){f?(c.O("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(sb(c.lb,a,b),(a=Ma(a,b))?(c.g=a.ca,c.ea=a.ea):c.j=null);th(c)})}}p(sh,A);
h=sh.prototype;h.ta=function(a,b,c,d){this.D=b;this.f=c;this.F=d;th(this)};h.za=function(){this.ea&&(this.F&&uh(this.F,this.id,this.v,this.b,this.ea),delete this.ea);return!0};h.ya=function(){return!0};
function th(a){if(!Bb(a)){if(a.j){if(!a.g||!a.D)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)zb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.v;a.status(a.b+"-byte ROM at "+q(b));if(57344<=b&&b<57344+Nc){var c={};b=(c[b]=[sh.prototype.Me,sh.prototype.Wf,null,null,null,a.b>>1],c);if(Xb(a.D,a,b)){b=a.w=!0;break a}}else if(Tc(a.D,b,a.b,Jd)){for(c=0;c<a.g.length;c++)bd(a.D,b+c,a.g[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.i?b.push(a.i):
@ -189,10 +189,10 @@ function wh(a){if(a.D&&(!a.v&&a.j&&(Tc(a.D,a.i,a.j,dd)?a.v=!0:a.j=0),!Bb(a))){if
vh.prototype.reset=function(){if(this.v){for(var a=this.D,b=this.i,c=this.j,d=b&a.i,b=b>>>a.g;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,k,d=d||0,g=(g||0)&255;void 0===f&&(f=e.size);if(Eb&&e.g)for(k=d;f--&&k<e.g.length;k++)e.g[k]=g;else for(k=d;f--&&k<e.size;k++)e.D(d,g,e.K+d);c-=a.j;b++;d=0}this.g&&xh(this,this.g,this.wa,this.va,this.i,!0)}};
function xh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l<b.length-1;){var m=b[l]&255|(b[l+1]&255)<<8;if(m)if(m&255){var n=l;if(1!=m){I(a,"invalid signature ("+w(m)+") at offset "+w(n),4096);break}if(l+6>=b.length){I(a,"invalid block at offset "+w(n),4096);break}for(var l=l+2,r=b[l++]&255|(b[l++]&255)<<8,u=b[l++]&255|(b[l++]&255)<<8,m=m+((r&255)+(r>>8)+(u&255)+(u>>8)),t=l,D=r-=6;0<r&&l<b.length;)m+=b[l++]&255,r--;if(r||l>=b.length){I(a,"insufficient data for block at offset "+w(n),4096);break}m+=
b[l++]&255;if(m&255){I(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+w(n),4096);break}if(D)for(I(a,"loading "+w(D)+" bytes at "+w(u)+"-"+w(u+D),4096);D--;)bd(a.D,u++,b[t++]&255);else u&1?g=!0:null==d&&(d=u),null!=d&&I(a,"starting address: "+w(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)bd(a.D,c+e,b[e]);k=!0}if(k){if(null==d||g)a.f.Z(),f=!1;null!=d&&re(a.f,d,f)}return k}
db(function(){for(var a=E(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=xb(c),d=new vh(d);yb(d,c)}});function yh(a){A.call(this,"Keyboard",a,0,1024);G(this)}p(yh,A);yh.prototype.qa=function(){return!1};yh.prototype.ta=function(a,b,c,d){this.J=a;this.f=c;this.F=d};db(function(){for(var a=E(document,B,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=xb(c),d=new yh(d);yb(d,c)}});
function zh(a){A.call(this,"SerialPort",a,0,262144);this.M=+a.adapter;this.T=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.B=0;this.I=!0;this.R=this.N=null;this.S=this.Y=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Ah;b&&(void 0===c&&(c="Panel"),(c=wb(c,this.id))&&(b=c.C[b])&&this.qa(null,a,b))}this.i=this.H=this.P=null;
db(function(){for(var a=E(document,B,"ram"),b=0;b<a.length;b++){var c=a[b],d=xb(c),d=new vh(d);yb(d,c)}});function yh(a){A.call(this,"Keyboard",a,0,1024);G(this)}p(yh,A);yh.prototype.pa=function(){return!1};yh.prototype.ta=function(a,b,c,d){this.J=a;this.f=c;this.F=d};db(function(){for(var a=E(document,B,"keyboard"),b=0;b<a.length;b++){var c=a[b],d=xb(c),d=new yh(d);yb(d,c)}});
function zh(a){A.call(this,"SerialPort",a,0,262144);this.M=+a.adapter;this.T=+a.baudReceive||9600;this.ba=+a.baudTransmit||9600;this.L=a.upperCase;"string"==typeof this.L&&(this.L="true"==this.L);this.j=this.w=null;this.W=+a.tabSize;this.V=+a.charBOL;this.B=0;this.I=!0;this.R=this.N=null;this.S=this.Y=-1;this.G=this.b=this.g=0;this.v=[];var b=a.binding;if("console"==b)this.w="";else{var c;a=Ah;b&&(void 0===c&&(c="Panel"),(c=wb(c,this.id))&&(b=c.C[b])&&this.pa(null,a,b))}this.i=this.H=this.P=null;
this.exports={connect:this.md,receiveData:this.ec,receiveStatus:this.ff,setConnection:this.jf}}p(zh,A);h=zh.prototype;
h.qa=function(a,b,c){var d=this;switch(b){case Ah:return this.C[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.Lc:sa.xd:46==c?b=sa.Lc:a.ctrlKey&&c>=sa.Ic&&c<=sa.Gd&&(b=c-(sa.Ic-sa.ud));b&&(a.preventDefault&&a.preventDefault(),d.ec(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.wd&&(b=sa.vd);d.ec(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
h.pa=function(a,b,c){var d=this;switch(b){case Ah:return this.C[b]=this.j=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?sa.Lc:sa.xd:46==c?b=sa.Lc:a.ctrlKey&&c>=sa.Ic&&c<=sa.Gd&&(b=c-(sa.Ic-sa.ud));b&&(a.preventDefault&&a.preventDefault(),d.ec(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==sa.wd&&(b=sa.vd);d.ec(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ec(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;var e=this;this.R=kd(this.f,this.M?-1:48,4,262144);this.S=hd(this.f,function(){var a;a=-1;e.v.length&&(a=e.v.shift()&255,I(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),jd(e.f,e.S,1E3/Math.round(e.T/10)));0<=a&&(e.G=a,e.b&128?e.G|=49152:e.b|=128,e.b&64&&id(c,e.R))});this.N=kd(this.f,this.M?-1:52,4,262144);this.Y=hd(this.f,function(){e.g|=128;e.g&64&&id(c,e.N)});Xb(b,this,Bh,this.M?64832+8*(this.M-1)-65392:0);Zb(b,this.reset.bind(this));
G(this)};h.md=function(a){if(!this.i){var b=$d(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.kb)return;c=Ca(c[1]);if(this.i=vb(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.I);if(this.H=e.receiveData){this.I=a;this.P=e.receiveStatus;this.status(this.lb+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
@ -203,7 +203,7 @@ h.ng=function(a){a&=255;I(this,"transmitByte("+v(a,2,!0)+")");this.H&&this.H.cal
a||1024<=this.w.length)this.u(this.w),this.w="";10!=a&&(this.w+=String.fromCharCode(a))}jd(this.f,this.Y,1E3/Math.round(this.ba/10));this.g&=-129};var Ah="buffer",Dh={},Bh=(Dh[65392]=[null,null,zh.prototype.ze,zh.prototype.Jf,"RCSR"],Dh[65394]=[null,null,zh.prototype.ye,zh.prototype.If,"RBUF"],Dh[65396]=[null,null,zh.prototype.ef,zh.prototype.og,"XCSR"],Dh[65398]=[null,null,zh.prototype.df,zh.prototype.ng,"XBUF"],Dh);
db(function(){for(var a=E(document,B,"serial"),b=0;b<a.length;b++){var c=a[b],d=xb(c),d=new zh(d);yb(d,c)}});function Fd(a){A.call(this,"PC11",a);this.M=Eh(this,a.autoMount);this.g=0;this.S=+a.baudReceive||3600;this.B=this.G=this.b=0;this.w=[];this.v=Fh;this.i=Gh;this.L=this.j="";this.ca=this.wa=this.va=null;this.P=-1;this.N=!Xa("Mobi")&&window&&"FileReader"in window;this.H=null;this.R=-1;this.I=null}p(Fd,A);
function Eh(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Fd.prototype;
h.qa=function(a,b,c){var d=this,e=Gh;switch(b){case "listTapes":return this.C[b]=c,c.onchange=function(){var a=d.C.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=Hh;case "loadTape":return e||(e=Ih),this.C[b]=c,c.onclick=
h.pa=function(a,b,c){var d=this,e=Gh;switch(b){case "listTapes":return this.C[b]=c,c.onchange=function(){var a=d.C.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){y("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.C[b]=c,!0;case "readTape":e=Hh;case "loadTape":return e||(e=Ih),this.C[b]=c,c.onclick=
function(){var a=d.C.listTapes;a&&Jh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.N){c.parentNode.removeChild(c);break}this.C[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Jh(d,x(b,!0),b,Ih,a)}return!1};return!0;case Kh:return this.C[b]=c,!0}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;this.I=Lh(a);var e=this;if(a=Eh(this,$d(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.M[f]=a[f]);this.H=kd(this.f,56,4,4096);this.R=hd(this.f,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.w.length&&(e.G=e.w[e.B++]&255,Mh(e,e.B/e.w.length*100),e.b|=128,e.b&=-2049,e.b&64&&id(e.f,e.H))});Xb(b,this,Nh);Zb(b,this.reset.bind(this));Oh(this,"None",Fh,!0);this.N&&Oh(this,"Local Tape",Ph);Oh(this,"Remote Tape",Qh);Rh(this)||G(this)};
h.za=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ya=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.G=0};function Rh(a){a.g=0;var b=a.M.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.C.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=x(c,!0)}c&&b?Sh(a,b,c,Ih,!0):Th(a)}return!!a.g}
@ -214,24 +214,24 @@ e.va));a.A.eb=!1;a.g&&(a.g--,a.g||G(a));Th(a)})}function Oh(a,b,c,d){if((a=a.C.l
function Th(a){var b=a.C.listTapes;if(b&&b.options){a=a.v||a.j;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Mh(a,b){b|=0;if(b!==a.P){var c=a.C[Kh];c&&(c=(c=E(c,Xh))&&c[0])&&c.style&&(c.style.width=b+"%");a.P=b}}
function Wh(a,b,c,d,e,f,g){a.L=b;a.j=c;a.i=d;a.ca=e;a.wa=f;a.va=g;d==Hh?a.I&&xh(a.I,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.O('No valid memory address for tape "'+b+'"'):(a.B=0,a.w=e,a.status('Loaded tape "'+b+'"'),Mh(a,0))}function Uh(a,b){if(a.j||!1===b)a.L="",a.j="",b||(a.i&&a.status(a.i==Ih?"tape detached":"tape unloaded"),a.v=Fh,a.i=Gh,Th(a))}h.save=function(){return(new M(this)).data()};h.restore=function(){return!0};h.se=function(){return this.b&65534};
h.Cf=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&id(this.f,this.H)):(this.b&=-129,this.b|=2048,this.G=0,jd(this.f,this.R,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.re=function(){this.b&=-129;this.b|=2048;return this.G};h.Bf=function(){};var Fh="",Ph="?",Qh="??",Gh=0,Ih=1,Hh=2,Kh="readProgress",Xh="pcjs-progress-bar",Yh={},Nh=(Yh[65384]=[null,null,Fd.prototype.se,Fd.prototype.Cf,"PRS"],Yh[65386]=[null,null,Fd.prototype.re,Fd.prototype.Bf,"PRB"],Yh);
function Zh(a,b,c){A.call(this,"Disk",{id:a.lb+".disk"+v(++$h,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.Aa=this.gc="";this.cc=b.cc;this.X=this.da=this.aa=this.pa=this.mode=0;this.b=[];this.i=null;this.j=!1;ai(this,c,b.X,b.da,b.aa,b.pa);this.g=this.w=null;G(this)}p(Zh,A);h=Zh.prototype;h.ta=function(a,b,c,d){this.F=d};
function ai(a,b,c,d,e,f){a.mode=b;a.X=c;a.da=d;a.aa=e;a.pa=f;a.b=[];if("preload"!=a.mode){b=Array(a.X);for(c=0;c<b.length;c++){d=Array(a.da);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=bi(null,c,e,g,a.pa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function ci(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.Aa=c;a.gc=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=qa[d];if(e){a.X=e[0];a.da=e[1];a.aa=e[2];a.pa=e[3]||512;c=a.pa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.X);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.da),t=0;t<u.length;t++)for(var D=u[t]=Array(a.aa),z=0;z<D.length;z++){for(var C=bi(null,d,t,z+1,a.pa,0),F=C.data,gb=0;gb<c;gb++,f+=4)var W=F[gb]=b.getInt32(f,!0),
function Zh(a,b,c){A.call(this,"Disk",{id:a.lb+".disk"+v(++$h,4)},0,8192);this.controller=a;this.J=a.J;this.F=a.F;this.v=b;this.Na=b.name;this.Aa=this.gc="";this.cc=b.cc;this.X=this.da=this.aa=this.oa=this.mode=0;this.b=[];this.i=null;this.j=!1;ai(this,c,b.X,b.da,b.aa,b.oa);this.g=this.w=null;G(this)}p(Zh,A);h=Zh.prototype;h.ta=function(a,b,c,d){this.F=d};
function ai(a,b,c,d,e,f){a.mode=b;a.X=c;a.da=d;a.aa=e;a.oa=f;a.b=[];if("preload"!=a.mode){b=Array(a.X);for(c=0;c<b.length;c++){d=Array(a.da);for(e=0;e<d.length;e++){f=Array(a.aa);for(var g=1;g<=f.length;g++)f[g-1]=bi(null,c,e,g,a.oa,0);d[e]=f}b[c]=d}a.b=b}a.i=null}
function ci(a,b,c,d,e){var f=c;if(a.g)return!0;a.Na=b;a.Aa=c;a.gc=x(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=qa[d];if(e){a.X=e[0];a.da=e[1];a.aa=e[2];a.oa=e[3]||512;c=a.oa>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.X);for(d=0;d<a.b.length;d++)for(var u=a.b[d]=Array(a.da),t=0;t<u.length;t++)for(var D=u[t]=Array(a.aa),z=0;z<D.length;z++){for(var C=bi(null,d,t,z+1,a.oa,0),F=C.data,gb=0;gb<c;gb++,f+=4)var W=F[gb]=b.getInt32(f,!0),
e=e+W&-1;C.Ja=c;D[z]=C}a.i=e;c=a}else a.O("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.v,c,a.Na,a.Aa),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=wa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ya(c,"/")&&(d="dir"),f=Na()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.cc?"":e)+"&format=json"));return!!La(f,null,
!0,function(b,c,d){di(a,b,c,d)})}
function di(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.fa;a.j=!1;if(d)a.controller.O('Unable to load disk "'+a.Na+'" (error '+d+": "+b+")",f);else{sb(a.controller.lb,b,c);try{if(0<x(a.gc,!0).toLowerCase().indexOf("-readonly"))a.j=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.j=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.Na]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.X=k.length;a.da=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.pa=l&&l.length||512;for(d=c=0;d<a.X;d++)for(f=0;f<a.da;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,D=u.length;D<t;D++)u[D]=n;ei(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}bi(l,d,f);for(t=
c+")");if(k.length)if(1==k.length)y(k[0]);else{a.X=k.length;a.da=k[0].length;a.aa=k[0][0].length;var l=k[0][0][0];a.oa=l&&l.length||512;for(d=c=0;d<a.X;d++)for(f=0;f<a.da;f++)for(g=0;g<a.aa;g++)if(l=k[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var u=l.bytes;if(void 0!==u&&u.length){for(var t=m<<2,D=u.length;D<t;D++)u[D]=n;ei(l,u)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}bi(l,d,f);for(t=
0;t<r.length;t++)c=c+r[t]&-1}a.b=k;a.i=c;e=a}else y("Empty disk image: "+a.Na)}catch(z){y("Disk image error ("+b+"): "+z.message)}}a.g&&(a.g.call(a.w,a.v,e,a.Na,a.Aa),a.g=null)}function bi(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.qh=b;a.rh=c;a.Ra=a.Ja=0;a.Wa=!1;return a}
h.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var k=g[b];if(!k&&f.Jd&&b<f.da)for(k=g[b]=Array(f.bd),g=0;g<k.length;g++)k[g]=bi(null,a,b,g+1,f.Bc,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.Jd&&9==f.yc&&(d=k[g]=bi(null,a,b,f.yc,f.Bc,0))}}e&&e(d,!1);return d};function ei(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ja?f<a.Ra?(a.Ja+=a.Ra-f,a.Ra=f):f>=a.Ra+a.Ja&&(a.Ja+=f-(a.Ra+a.Ja)+1):(a.Ra=f,a.Ja=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
function fi(a,b){var c=a.da*a.aa,d=b/c|0;return d<a.X?(b%=c,a.seek(d,b/a.aa|0,b%a.aa+1)):null}function gi(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function hi(a){for(var b="",c=0,d;d=fi(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(gi(a,d,e));return btoa(b)}
h.save=function(){var a=0,b=[];b[a++]=[this.Aa,this.i,this.X,this.da,this.aa,this.pa];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
h.save=function(){var a=0,b=[];b[a++]=[this.Aa,this.i,this.X,this.da,this.aa,this.oa];if(!this.j)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ja){for(var k=[],l=0,m=g.Ra,n=g.Ra+g.Ja;m<n;)k[l++]=g.data[m++];b[a++]=[d,e,f,g.Ra,k]}}return b};
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?ai(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.i&&e[1]!=this.i&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.i+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],m=g[f++];if(k>=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.Ra=e;for(k.Ja=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.O("Unable to restore disk '"+this.Na+": "+c);return b};
h.toJSON=function(){var a;a=0;for(var b;b=fi(this,a++);)ii(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function ii(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var $h=0;function R(a){A.call(this,"RK11",a,0,65536);this.G=ji(this,a.autoMount);this.B=0;this.i=Array(8);this.H=!Xa("Mobi")&&window&&"FileReader"in window;this.fb=null;this.L=this.g=this.b=this.w=this.v=this.j=this.I=0}p(R,A);
function ji(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=R.prototype;
h.qa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&Di(d,
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RK11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&Di(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Fi(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&ta(b.value,10);null==b||0>b||b>=d.i.length||!(a=d.i[b])?d.O("Unable to boot the selected drive"):a.ia?(re(d.f,0,!0),(a=d.Vc(a,0,0,0,512,0,2))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.H){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.i&&((a=d.i[ta(a.value,10)||0])?(a=a.ia)?(a=$a(hi(a),a.gc.replace(".json",".img")),Oa(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.H)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Fi(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=ji(this,$d(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.G[e]=a[e]);Gi(this);this.fb=kd(this.f,144,5,65536);Xb(b,this,Hi);Zb(b,this.reset.bind(this));Ii(this,"None",Ji,!0);this.H&&Ii(this,"Local Disk",Ki);Ii(this,"Remote Disk",Li);Mi(this)||G(this)};
@ -242,16 +242,16 @@ function Oi(a,b,c,d,e,f){var g=-1,k=a.i[b];k.Aa.toLowerCase()!=d.toLowerCase()&&
h.Ad=function(a,b,c,d,e){a.sb=!1;b&&(b.X>a.X||b.da>a.da)&&(this.O('Disk "'+c+'" too large for drive '+("RK"+a.tb)),b=null);b?(a.ia=b,a.Na=c,a.Aa=d,this.O('Loaded disk "'+c+'" in drive '+("RK"+a.tb),a.rb||e),this.J&&je(this.J)):a.Xa=!1;a.rb&&(a.rb=!1,--this.B||G(this));Di(this,a.tb)};
function Ii(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Di(a,b){if(0<=b&&b<a.i.length){var c=a.i[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=ta(a.value,10),c=c.Xa?Ki:c.Aa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Ni(a,b,c){var d=a.i[b];if(d.ia||!1===c)d.Na="",d.Aa="",d.ia=null,d.Xa=!1,c||(a.O("Drive RK"+b+" unloaded",c),Di(a,b))}
function Gi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.I=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.tb=b;d.name=c.kb;d.sb=d.Xa=!1;d.X=203;d.da=2;d.aa=12;d.pa=512;d.cc=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.pa;d.Pd=0;d.hf=null;d.ia||(d.Aa="");d.status=2368}return!0}
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.X){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(rc(this.D,Fe(this.f,f),u|t<<8),gd(this.D))){m=1024;break}r>=a.pa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){var u=Ec(this.D,Fe(this.f,f));if(gd(this.D)){m=1024;break}if(!n){if(b>=a.X){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}if(k){var t,D;if(0>(t=a.read(n,r++))||0>(D=a.read(n,r++))){m=32;break}if(u!=(t|D<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.pa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
function Gi(a,b){var c=0;b||(b=[]);a.L=b[c++]||2368;a.g=b[c++]||0;a.b=b[c++]||128;a.w=b[c++]||0;a.v=b[c++]||0;a.j=b[c++]||0;a.I=b[c]||0;for(b=0;b<a.i.length;b++){var d=a.i[b];void 0===d&&(d=a.i[b]={});c=a;d.tb=b;d.name=c.kb;d.sb=d.Xa=!1;d.X=203;d.da=2;d.aa=12;d.oa=512;d.cc=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.Aa="");d.status=2368}return!0}
h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){if(!n){if(b>=a.X){m=64;break}n=a.seek(b,c,d+1);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}var u,t;if(0>(u=a.read(n,r++))||0>(t=a.read(n,r++))){m=32;break}if(!k&&(rc(this.D,Fe(this.f,f),u|t<<8),gd(this.D))){m=1024;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.Bd=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.ia;var n=null,r;a||(m=128,e=0);for(;e;){var u=Ec(this.D,Fe(this.f,f));if(gd(this.D)){m=1024;break}if(!n){if(b>=a.X){m=64;break}n=a.seek(b,c,d+1,!0);if(!n){m=4096;break}r=0;++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b))}if(k){var t,D;if(0>(t=a.read(n,r++))||0>(D=a.read(n,r++))){m=32;break}if(u!=(t|D<<8)){m=1;break}}else if(!a.write(n,r++,u&255)||!a.write(n,r++,u>>8)){m=32;break}r>=a.oa&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m};
h.zd=function(a,b,c,d,e,f){this.v=f&65535;this.b=this.b&-49|f>>12&48;this.w=65536-e&65535;this.j=this.j&-16|d&15;this.g|=a;Pi(this);return!0};function Pi(a){a.b&=-32769;a.g&&(a.g|=32768,a.b|=32768,a.g&32736&&(a.b|=16384),H(a)&&I(a,a.type+": ERROR: "+q(a.g)))}h.Ee=function(){return this.L};h.Of=function(){};h.Fe=function(){return this.g};h.Pf=function(){};h.Be=function(){return this.b&61438};
h.Lf=function(a){this.b=this.b&-3968|a&3967;if(this.b&1){a=!0;var b,c,d="",e=(this.j&57344)>>13,f=this.i[e],g,k,l,m,n,r;this.b&=-8321;this.g&=-4;switch(c=this.b&14){case 0:H(this)&&I(this,this.type+": CRESET("+e+")",!0);this.g=this.j=0;this.b=128;break;case 10:d="RCHK";case 4:d||(d="READ"),b=this.Vc;case 6:d||(d="WCHK");case 2:d||(d="WRITE");b||(b=this.Bd);g=(this.j&8160)>>5;k=(this.j&16)>>4;l=this.j&15;m=65536-this.w&65535;n=(this.b&48)<<12|this.v;r=this.b&2048?0:2;H(this)&&I(this,this.type+": "+
d+"("+g+":"+k+":"+l+") "+q(n)+"--"+q(n+(m<<1)),!0,!0);if(g>=f.X){this.g|=64;break}if(l>=f.aa){this.g|=32;break}a=b.call(this,f,g,k,l,m,n,r,6<=c,this.zd.bind(this));break;case 8:g=(this.j&8160)>>5;H(this)&&I(this,this.type+": SEEK("+g+")",!0);g<f.X?this.b|=8192:this.g|=64;break;case 12:H(this)&&I(this,this.type+": DRESET("+e+")");this.g=this.j=0;this.b=8320;break;default:H(this)&&I(this,this.type+": UNSUPPORTED("+c+")")}this.L=f.status|(f.ia?128:0)|e<<13|this.j&15;Pi(this);a&&(this.b&=-2,this.b|=128,
this.b&64&&id(this.f,this.fb))}};h.Ge=function(){return this.w};h.Qf=function(a){this.w=a};h.Ae=function(){return this.v};h.Kf=function(a){this.v=a};h.Ce=function(){return this.j};h.Mf=function(a){this.j=a};h.De=function(){return this.I};h.Nf=function(a){this.I=a};
var Ji="",Ki="?",Li="??",Qi={},Hi=(Qi[65280]=[null,null,R.prototype.Ee,R.prototype.Of,"RKDS"],Qi[65282]=[null,null,R.prototype.Fe,R.prototype.Pf,"RKER"],Qi[65284]=[null,null,R.prototype.Be,R.prototype.Lf,"RKCS"],Qi[65286]=[null,null,R.prototype.Ge,R.prototype.Qf,"RKWC"],Qi[65288]=[null,null,R.prototype.Ae,R.prototype.Kf,"RKBA"],Qi[65290]=[null,null,R.prototype.Ce,R.prototype.Mf,"RKDA"],Qi[65294]=[null,null,R.prototype.De,R.prototype.Nf,"RKDB"],Qi);
function Gd(a){A.call(this,"RL11",a,0,131072);this.H=Ri(this,a.autoMount);this.G=0;this.g=Array(4);this.I=!Xa("Mobi")&&window&&"FileReader"in window;this.fb=null;this.b=this.B=this.i=this.j=this.w=this.v=0}p(Gd,A);function Ri(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){y(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=Gd.prototype;
h.qa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&Si(d,
h.pa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.C[b]=c,c.onchange=function(){var a=d.C.descDisk,b=c.options&&c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){y("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.C[b]=c,c.onchange=function(){var a=ta(c.value,10);null!=a&&Si(d,
a)},!0;case "loadDisk":return this.C[b]=c,c.onclick=function(){var a=d.C.listDisks;a&&a.options&&Ti(d,a.options[a.selectedIndex].text,a.value)},!0;case "bootDisk":return this.C[b]=c,c.onclick=function(){var a,b=d.C.listDrives,b=b&&ta(b.value,10);null==b||0>b||b>=d.g.length||!(a=d.g[b])?d.O("Unable to boot the selected drive"):a.ia?(re(d.f,0,!0),(a=d.Wc(a,0,0,0,512,0))&&d.O("Unable to read the boot sector ("+a+")")):d.O("Load a disk into the drive first")},!0;case "saveDisk":if(!this.I){c.parentNode.removeChild(c);
break}this.C[b]=c;c.onclick=function(){var a=d.C.listDrives;a&&a.options&&d.g&&((a=d.g[ta(a.value,10)||0])?(a=a.ia)?(a=$a(hi(a),a.gc.replace(".json",".img")),Oa(a)):d.O("No disk loaded in drive."):d.O("No disk drive selected."))};return!0;case "mountDisk":if(this.I)return this.C[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ti(d,x(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
h.ta=function(a,b,c,d){this.J=a;this.D=b;this.f=c;this.F=d;if(a=Ri(this,$d(this.J,"autoMount")))for(var e in a)e.substr(0,2)==this.type.substr(0,2)&&(this.H[e]=a[e]);Ui(this);this.fb=kd(this.f,112,5,131072);Xb(b,this,Vi);Zb(b,this.reset.bind(this));Wi(this,"None",Xi,!0);this.I&&Wi(this,"Local Disk",Yi);Wi(this,"Remote Disk",Zi);$i(this)||G(this)};
@ -262,9 +262,9 @@ function bj(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Aa.toLowerCase()!=d.toLowerCase()&&
h.Dd=function(a,b,c,d,e){a.sb=!1;b&&(b.X>a.X||b.da>a.da)&&(this.O('Disk "'+c+'" too large for drive '+("RL"+a.tb)),b=null);b?(a.ia=b,a.Na=c,a.Aa=d,this.O('Loaded disk "'+c+'" in drive '+("RL"+a.tb),a.rb||e),this.J&&je(this.J)):a.Xa=!1;a.rb&&(a.rb=!1,--this.G||G(this));Si(this,a.tb)};
function Wi(a,b,c,d){if((a=a.C.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Si(a,b){if(0<=b&&b<a.g.length){var c=a.g[b],d=a.C.listDisks;a=a.C.listDrives;if(d&&a&&d.options&&a.options&&(a=ta(a.value,10),c=c.Xa?Yi:c.Aa,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function aj(a,b,c){var d=a.g[b];if(d.ia||!1===c)d.Na="",d.Aa="",d.ia=null,d.Xa=!1,c||(a.O("Drive RL"+b+" unloaded",c),Si(a,b))}
function Ui(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.B=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.tb=b;d.name=c.kb;d.sb=d.Xa=!1;d.X=512;d.da=2;d.aa=40;d.pa=256;d.cc=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.pa;d.Pd=0;d.hf=null;d.ia||(d.Aa="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}rc(this.D,Fe(this.f,f),n|r<<8);if(gd(this.D)){k=8192;break}f+=2;e--;if(m>=a.pa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.X)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Ec(this.D,Fe(this.f,f));if(gd(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.pa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.X)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
function Ui(a,b){var c=0;b||(b=[]);a.b=b[c++]||129;a.B=b[c++]||0;a.i=b[c++]||0;a.j=b[c++]||0;a.w=b[c++]||0;a.v=b[c]||0;for(b=0;b<a.g.length;b++){var d=a.g[b];void 0===d&&(d=a.g[b]={});c=a;d.tb=b;d.name=c.kb;d.sb=d.Xa=!1;d.X=512;d.da=2;d.aa=40;d.oa=256;d.cc=!0;d.Kd=0;d.Id=0;d.yc=1;d.bd=d.aa;d.Bc=d.oa;d.Pd=0;d.hf=null;d.ia||(d.Aa="");d.status=29}return!0}
h.Wc=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){if(!l){l=a.seek(b,c,d+1);if(!l){k=5120;break}m=0}var n,r;if(0>(n=a.read(l,m++))||0>(r=a.read(l,m++))){k=5120;break}rc(this.D,Fe(this.f,f),n|r<<8);if(gd(this.D)){k=8192;break}f+=2;e--;if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.X)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Ed=function(a,b,c,d,e,f,g){var k=0;a=a.ia;var l=null,m;a||(k=5120,e=0);for(;e;){var n=Ec(this.D,Fe(this.f,f));if(gd(this.D)){k=8192;break}f+=2;e--;if(!l){l=a.seek(b,c,d+1,!0);if(!l){k=5120;break}m=0}if(!a.write(l,m++,n&255)||!a.write(l,m++,n>>8)){k=5120;break}if(m>=a.oa&&(l=null,++d>=a.aa&&(d=0,++c>=a.da&&(c=0,++b>=a.X)))){k=5120;break}}return g?g(k,b,c,d,e,f):k};
h.Cd=function(a,b,c,d,e,f){this.B=f&65535;this.b=this.b&-49|f>>12&48;this.v=f>>16&63;this.j=this.i=b<<7|(c?64:0)|d&63;this.w=65536-e&65535;a&&(this.b=this.b|a|32768);return!0};h.Je=function(){return this.b&65535};
h.Tf=function(a){this.b=this.b&-1023|a&1022;this.v=this.v&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c="",d=this.g[(this.b&768)>>8],e=d.ia,f,g,k;this.b&=-2;switch(this.b&14){case 4:this.w&8&&(this.b&=63);this.w=d.status|this.j&64|(e&&512==e.X?128:0);break;case 6:1==(this.i&3)&&(b=this.i&65408,c=(this.i&16)<<2,this.j=this.i&4?this.j+b:this.j-b,this.i=this.j=this.j&65408|c);break;case 8:this.w=this.j;break;case 12:c="READ",b=this.Wc;case 10:c||(c="WRITE"),b||(b=this.Ed),f=this.i>>7,g=this.i&64?1:0,k=
this.i&63,!e||f>=e.X||k>=e.aa?this.b|=37888:(a=65536-this.w&65535,e=(this.v&63)<<16|this.B,H(this)&&I(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+q(e)+"--"+q(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,this.Cd.bind(this)))}a&&(this.b|=129,this.b&64&&id(this.f,this.fb))}};h.He=function(){return this.B};h.Rf=function(a){this.B=a&65534};h.Ke=function(){return this.i};h.Uf=function(a){this.i=a};h.Le=function(){return this.w};h.Vf=function(a){this.w=a};h.Ie=function(){return this.v};
@ -277,18 +277,18 @@ function gj(a,b,c){var d;if(b){b=hj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.spli
d))}return d}function hj(a,b){for(var c,d=a.ga?"(":"{",e=a.ga?")":"}",f=new RegExp(a.ga?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=gj(a,c[1]);b=b.replace(d+c[1]+e,null!=g?O(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function ij(a,b,c,d){var e;null!=b?(e=a.hd(b),0<=e?e=a.jd(e):(e=a.T[b],null==e&&(e=ta(b,a.xa))),null!=e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}function kj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=ua(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+q(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}
function lj(a,b){if(b)return kj(a,b,a.T[b]);var c=0;for(b in a.T)kj(a,b,a.T[b]),c++;return 0<c}function O(a,b,c,d){switch(a.xa){case 8:a=q(b,3*c-(2<c?1:0));break;case 10:a=b.toString();break;default:a=v(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}var jj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function mj(a){dj.call(this,a);this.Da=!1;this.ga=!0;this.H=V();this.Ca=V();this.N=V();this.B=[];this.g=this.L=this.G=[];nj(this);this.R=this.ba=0;this.i=[];this.oa=void 0;oj(this);this.F=this;this.ma={};this.ha=this.cd=0;this.S=null;this.M=[];pj(this,a.messages);this.sa=a.commands;this.Ga=qj;this.W=[];this.I=0;this.Ha=this.ra=null;this.w=this.Fa=this.Ea=this.Y=this.na=0;this.b=this.V=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return ee(b,a)}):void 0===global[B]&&(global[B]=
function mj(a){dj.call(this,a);this.Da=!1;this.ga=!0;this.H=V();this.Ca=V();this.N=V();this.B=[];this.g=this.L=this.G=[];nj(this);this.R=this.ba=0;this.i=[];this.na=void 0;oj(this);this.F=this;this.la={};this.ha=this.cd=0;this.S=null;this.M=[];pj(this,a.messages);this.sa=a.commands;this.Ga=qj;this.W=[];this.I=0;this.Ha=this.ra=null;this.w=this.Fa=this.Ea=this.Y=this.ma=0;this.b=this.V=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return ee(b,a)}):void 0===global[B]&&(global[B]=
function(a){return ee(b,a)})}p(mj,dj);function rj(a){a=a&&a.K;null==a&&(a=-1);return a}function V(a,b,c){return{K:void 0===a?null:a,Ka:void 0===b?!1:b,Qa:!1,xa:c}}h=mj.prototype;h.Fc=function(a,b){a.K=b;a.Qa=!1;a.xa=void 0;return a};function sj(a){return[a.K,a.Ka,a.xa,a.Qa,a.fc]}function tj(a,b){var c=V(b[0],b[1],b[2]);c.Qa=b[3];b[4]&&(c.$c=ej(a,c.fc=b[4]));return c}
h.ta=function(a,b,c,d){this.D=b;this.J=a;this.f=c;this.b=a.i;(a=$d(a,"messages"))&&pj(this,a);1140>this.f.ba&&(this.W=this.W.concat(uj));1145>this.f.ba&&(this.W=this.W.concat(vj));md(this,16,function(a){a:{var b=d.D.b,c=a[0],e=a=0,l=b.length;if(c){a=rj(wj(d,c));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.D.g;l=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.u("..."):
(c=n.type,m=Zc[c],n&&d.u(v(n.id,8)+" %"+v(e<<d.D.g,8)+" %"+v(n.K,8)+" "+w(n.Jb)+" "+w(n.size)+" "+m),c!=Id&&(c=-1),m=0);a+=d.D.j;e++}}});G(this)};
h.qa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.C[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ee(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.C[b]=c,bb(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";ee(d,a,!0);return!0}return!1}),!0;case "step":return this.C[b]=c,bb(c,function(a){var b=!1;Cb(d,!0)||(Db(d,!0),b=lc(d,a?1:0,null),Db(d,!1));return b}),!0}return!1};function de(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=rj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Fe(this.f,d),c.G=!1,c.ja++,d=ad(c,d).j(d&c.i,d),c.ja--):(c=this.f,c.na++,d=c.D.Jc(Dc(c,d,3)),c.na--),c=d,b&&xj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=rj(a);-1!==d&&(c=a.Ka||65535<d?Ec(this.D,Fe(this.f,d)):Fc(this.f,d),b&&xj(a,b));return c};h.Nc=function(a,b,c){var d=rj(a);if(-1!==d){if(a.Ka||65535<d)bd(this.D,Fe(this.f,d),b);else{var e=this.f;e.na++;e.D.Kc(Dc(e,d,5),b);e.na--}c&&xj(a,c);J(this.J,-1)}};h.yd=function(a,b,c){var d=rj(a);if(-1!==d){if(a.Ka||65535<d)rc(this.D,Fe(this.f,d),b);else{var e=this.f;e.na++;e.D.Nb(Dc(e,d,4),b);e.na--}c&&xj(a,c);J(this.J,-1)}};
h.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.V=this.C[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ee(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.j.length-1&&(b=d.j[++d.v])):40==a.keyCode&&(0<d.v?b=d.j[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.C[b]=c,bb(c,function(){if(d.V){var a=d.V.value;d.V.value=
"";ee(d,a,!0);return!0}return!1}),!0;case "step":return this.C[b]=c,bb(c,function(a){var b=!1;Cb(d,!0)||(Db(d,!0),b=lc(d,a?1:0,null),Db(d,!1));return b}),!0}return!1};function de(a){if(a.V){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.V.focus();window&&window.scrollTo(b,c)}}h.Mc=function(a,b){var c=255,d=rj(a);-1!==d&&(a.Ka||65535<d?(c=this.D,d=Fe(this.f,d),c.G=!1,c.ja++,d=ad(c,d).j(d&c.i,d),c.ja--):(c=this.f,c.ma++,d=c.D.Jc(Dc(c,d,3)),c.ma--),c=d,b&&xj(a,b));return c};
h.Oa=function(a,b){var c=65535,d=rj(a);-1!==d&&(c=a.Ka||65535<d?Ec(this.D,Fe(this.f,d)):Fc(this.f,d),b&&xj(a,b));return c};h.Nc=function(a,b,c){var d=rj(a);if(-1!==d){if(a.Ka||65535<d)bd(this.D,Fe(this.f,d),b);else{var e=this.f;e.ma++;e.D.Kc(Dc(e,d,5),b);e.ma--}c&&xj(a,c);J(this.J,-1)}};h.yd=function(a,b,c){var d=rj(a);if(-1!==d){if(a.Ka||65535<d)rc(this.D,Fe(this.f,d),b);else{var e=this.f;e.ma++;e.D.Nb(Dc(e,d,4),b);e.ma--}c&&xj(a,c);J(this.J,-1)}};
function wj(a,b,c){var d;c=(c?a.H:a.Ca).K;var e,f;if(void 0!==b){b=hj(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var g,k;a:{c=a.D;var l;l=d.toUpperCase();for(k in c.Ma){var m=+k;if(c.Ma[m][4]==l){k=c.B+m;break a}}k=null}if(null==k&&d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.B.length;c++)if(l=a.B[c].ea[d],null!=l){k=l.o;break}null!=k&&(g=V(k));if(d=g)return d;0<=b.indexOf("0x")?f=16:0<=b.indexOf("0o")?f=8:0<=b.indexOf(".")&&(f=10);c=gj(a,b,void 0)}null!=c&&(d=V(c,e,f));return d}
function yj(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.$c=ej(a,b.fc=c[2]))}function xj(a,b){null!=a.K&&(a.K+=b||1)}function zj(a,b){return(b.Ka?"%":"")+O(a,b.K)}
function pj(a,b){a.F=a;a.ha=a.cd=536870912;a.S=null;a.M=[];b=ej(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ha|=Sb[c],a.u(c+" messages enabled"))}}function md(a,b,c){for(var d in Sb)if(b==Sb[d]){a.ma[d]=c;break}}
function pj(a,b){a.F=a;a.ha=a.cd=536870912;a.S=null;a.M=[];b=ej(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Sb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ha|=Sb[c],a.u(c+" messages enabled"))}}function md(a,b,c){for(var d in Sb)if(b==Sb[d]){a.la[d]=c;break}}
h.hd=function(a){a=a.toUpperCase();var b=Aj[a];null==b&&(b=-1,"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b))&&(b=-1);return b};function Bj(a){return 6>a?"R"+a:6==a?"SP":"PC"}
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.oa[a-8];else if(20>a)b=this.f.V[a-16];else{var c=this.f,d=this.b;switch(a){case Cj:b=vd(this.f);break;case Dj:b=c.Va;break;case Ej:b=c.R;break;case Fj:b=c.sa&65280;break;case Gj:b=pd(c);break;case Hj:b=rd(c);break;case Ij:b=sd(c);break;case Jj:b=c.T;break;case Kj:d&&(b=d.ua);break;case Lj:d&&(b=d.vb);break;case Mj:d&&Jc(d)&&(b=d.Ya)}}return b};
h.jd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.na[a-8];else if(20>a)b=this.f.V[a-16];else{var c=this.f,d=this.b;switch(a){case Cj:b=vd(this.f);break;case Dj:b=c.Va;break;case Ej:b=c.R;break;case Fj:b=c.sa&65280;break;case Gj:b=pd(c);break;case Hj:b=rd(c);break;case Ij:b=sd(c);break;case Jj:b=c.T;break;case Kj:d&&(b=d.ua);break;case Lj:d&&(b=d.vb);break;case Mj:d&&Jc(d)&&(b=d.Ya)}}return b};
h.message=function(a,b){b&&(a+=" @"+zj(this,V(this.f.P&65535)));if(!this.S||a!=this.S)if(this.S=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.U)||Cb(this,!0))this.Z(),c&&(a+=" (cpu halted)");this.u(a);this.f&&(a=this.f,ke(a),a.qb=0,a.J&&J(a.J,void 0))}};
function oj(a){var b;if(!of(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(Nj);for(b=0;b<a.i.length;b++)a.i[b]=V();a.R=0;a.u("instruction history buffer allocated")}}function Oj(a,b,c){if(!Pj(a,c))return!1;kc(a.f,b);return!0}
function lc(a,b,c,d){if(!Pj(a))return!1;null===c&&(c=!a.ra||"tr"==a.ra);a.w=0;b||of(a)&&pf(a,a.f.g[7],0);try{b=le(a.f,b);var e=a.f.bc(b);0<e&&(mc(a.f,e),a.w+=e,nc(a.f,e,!0),oc(a.f,e),a.Y++)}catch(f){"number"!=typeof f&&(a.w=0,zb(a.f,f.stack||f.message))}!1!==d&&(a.b&&a.b.stop(),J(a.J,-1));ce(a,c||!1);return 0<a.w}h.Z=function(a){this.f&&this.f.Z(a)};
@ -297,16 +297,16 @@ h.ya=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save(
h.restore=function(a){var b=0;void 0!==a[2]&&(this.H=tj(this,a[b++]),this.N=tj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.P=a[b][1],this.ha|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.u("running");this.A.U=!0;this.Ea=a;this.Fa=b};
h.stop=function(a,b){if(this.A.U){this.A.U=!1;this.w=b-this.Fa;if(!this.I){b="stopped";if(this.w){a-=this.Ea;var c=0<a?Math.round(1E3*this.w/a):0;b+=" (";of(this)&&(b+=this.Y+" instructions, ",this.Y=0);b+=this.w+" cycles, "+a+" ms, "+c+" hz)"}else H(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}ce(this,!0);de(this);Sj(this,this.f.g[7]);this.S=null}};function of(a){return 1<a.g.length||!!a.ba}
function pf(a,b,c){var d=-1;c||(d=Fc(a.f,b))||(a.f.P&65535)!=b||(b=xe(a.f,2));if(0<c&&(a.ba&&!--a.ba||Tj(a,b,1,a.g)))return!0;0<=c&&a.i.length&&(a.Y++,0>d&&(d=Fc(a.f,b)),65535!=(d&65535)&&(a.Fc(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1}function ug(a){var b=a.f;if(b.A.U)throw se(b,a.f.P&65535),a.Z(),-1;return!1}function Ud(a,b,c){Tj(a,b,c||1,a.L)&&a.Z(!0)}function Vd(a,b,c){Tj(a,b,c||1,a.G)&&a.Z(!0)}
function nj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=rj(c),c.Ka?(c=a.D,Td(c.b[d>>>c.g],!1)):Ie(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=rj(c),c.Ka?(c=a.D,Td(c.b[d>>>c.g],!0)):Ie(a.f,!0);a.G=["bw"];a.na=0}
function nj(a){var b,c,d;a.g=["bp"];if(a.L)for(b=1;b<a.L.length;b++)c=a.L[b],d=rj(c),c.Ka?(c=a.D,Td(c.b[d>>>c.g],!1)):Ie(a.f,!1);a.L=["br"];if(a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=rj(c),c.Ka?(c=a.D,Td(c.b[d>>>c.g],!0)):Ie(a.f,!0);a.G=["bw"];a.ma=0}
h.pb=function(a,b,c){var d=!0;c||Uj(this,a,b,!1,!0);if(a!=this.g){var e=rj(b);if(-1===e)this.u("invalid address: "+zj(this,b)),d=!1;else{var f=a==this.G;65535<e&&(b.Ka=!0);if(b.Ka){var g=this.D;g.b[e>>>g.g].pb(e&g.i,f)}else e=this.f,(f?e.Xb++:e.Wb++)||qe(e)}}d&&(a.push(b),c?b.Qa=!0:(Vj(this,a,a.length-1,"set"),oj(this)));return d};
function Uj(a,b,c,d,e){var f=!1;c=rj(c);for(var g=1;g<b.length;g++){var k=b[g];if(c==rj(k)&&(!d||k.Qa)){f=!0;k.Qa||e||Vj(a,b,g,"cleared");b.splice(g,1);b!=a.g&&(b=b==a.G,k.Ka?(d=a.D,Td(d.b[c>>>d.g],b)):Ie(a.f,b));k.Qa||oj(a);break}}return f}function Wj(a,b){for(var c=1;c<b.length;c++)Vj(a,b,c);return b.length-1}function Vj(a,b,c,d){c=b[c];a.u(b[0]+" "+zj(a,c)+(d?" "+d:c.fc?' "'+c.fc+'"':""))}
function Sj(a,b){if(void 0!==b)Tj(a,b,1,a.g,!0),a.I=0;else for(b=1;b<a.g.length;b++){var c=a.g[b];if(c.Qa){if(!Uj(a,a.g,c,!0))break;b=0}}}
function Tj(a,b,c,d,e){var f=!1;if(!a.na++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=rj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Uj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Xj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Vj(a,d,g,"hit");break}}}a.na--;return f}
function Tj(a,b,c,d,e){var f=!1;if(!a.ma++)for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Qa)for(var l=rj(k)&(d==a.g?65535:-1),m=0;m<c;m++)if(b+m==l){var n,f=!0;k.Qa&&(Uj(a,d,k,!0),e=!0);if(n=k.$c){for(var f=!1,r=0;r<n.length;r++)if(!Xj(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var u=r+1;u<n.length&&n[u].indexOf("else");u++)r++;if(u==n.length){f=!0;break}}a.f.A.U||(f=!0)}if(f){e||Vj(a,d,g,"hit");break}}}a.ma--;return f}
function Yj(a,b,c,d){var e=V(b.K),f=a.Oa(b,2),g,k;for(k in a.Ga)if(g=a.Ga[k][f&k])break;g||(g=Zj);var l=g[0];0<=a.W.indexOf(l)&&(g=Zj,l=g[0]);var m=k="",n=ak[l],r=g.length-1;l||r||(k=O(a,f));for(l=1;l<=r;l++){var u=g[l];if(void 0!==u){var t;t=a;var D=u,u=b,z="",C=D&bk;if(C==X)u=u.K+((f&255)<<24>>23)&65535,z=O(t,u);else if(C==ck)u=u.K-((f&63)<<1)&65535,z=O(t,u);else if(C==dk)z=O(t,f&7,1);else if(C==ek)z=O(t,f&63,1);else if(C==fk)z=O(t,f&255,1);else if(C=f&D,D&gk&&(C>>=6,D>>=6),D&Y){var D=null,F=C&
hk;switch(C&ik){case 0:z=Bj(F);break;case 8:z="@"+Bj(F);D=jk(t,t.f.g[F]);break;case 16:7>F?z="("+Bj(F)+")+":(C=t.Oa(u,2),z="#"+O(t,C,0,!0));break;case 24:7>F?z="@("+Bj(F)+")+":(C=t.Oa(u,2),z="@#"+O(t,C,0,!0),D=jk(t,C));break;case 32:z="-("+Bj(F)+")";break;case 40:z="@-("+Bj(F)+")";break;case 48:C=t.Oa(u,2);z=O(t,C,0,!0)+"("+Bj(F)+")";7==F&&(z=O(t,C=C+u.K&65535),D=jk(t,C));break;case 56:C=t.Oa(u,2),z="@"+O(t,C)+"("+Bj(F)+")",7==F&&(z="@"+O(t,C=C+u.K&65535),D=jk(t,Fc(t.f,C)))}D&&(z=[z,D])}t=z;if(!t||
!t.length){k="INVALID";break}"string"!=typeof t&&(m=t[1],t=t[0]);0<k.length&&(k+=",");k+=t||"???"}}f="";g=zj(a,e)+":";if(-1!==e.K&&-1!==b.K){do if(f+=" "+O(a,a.Oa(e,2)),null==e.K)break;while(e.K!=b.K)}g+=Ba(f,24);g+=Ba(n,5);k&&(g+=" "+k);if(c||m)g=Ba(g,60)+";"+(c||""),g=a.f.A.zb?g+("cycles="+fe(a.f).toString()+" cs="+v(a.f.Sb)):g+(null!=d?"="+d.toString():""),m&&(";"!=g.slice(-1)&&(g+=" "),g+=m);return g}
function jk(a,b){b=Ge(a.f,b)[0];b>=a.f.jb&&b<a.D.B&&(b=b-a.f.jb+a.D.B);var c=a.D;a=null;b>=c.B&&(b=c.Ma[b&fd])&&(a=b[4]);return a}function kk(a,b){switch(b){case "N":a=we(a.f);break;case "Z":a=ve(a.f);break;case "V":a=ue(a.f);break;case "C":a=te(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Z(a,b){var c="",d=a.f;if(8>b)c=Bj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.oa[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.V[b-16]);else switch(b){case Cj:c="PS="+O(a,vd(d));break;case Dj:c="PI="+O(a,d.Va);break;case Ej:c="ER="+O(a,d.R);break;case Fj:c="SL="+O(a,d.sa&65280);break;case Gj:c="M0="+O(a,pd(d));break;case Hj:c="M1="+O(a,rd(d));break;case Ij:c="M2="+O(a,sd(d));break;case Jj:c="M3="+O(a,d.T);break;case Kj:a.b&&(c="AR="+O(a,a.b.ua,3));break;case Lj:a.b&&(c="DR="+
function Z(a,b){var c="",d=a.f;if(8>b)c=Bj(b),c+="="+O(a,d.g[b]);else if(13>b)c="A"+(b-8)+"="+O(a,d.na[b-8]);else if(16<=b&&20>b)c="S"+(b-16)+"="+O(a,d.V[b-16]);else switch(b){case Cj:c="PS="+O(a,vd(d));break;case Dj:c="PI="+O(a,d.Va);break;case Ej:c="ER="+O(a,d.R);break;case Fj:c="SL="+O(a,d.sa&65280);break;case Gj:c="M0="+O(a,pd(d));break;case Hj:c="M1="+O(a,rd(d));break;case Ij:c="M2="+O(a,sd(d));break;case Jj:c="M3="+O(a,d.T);break;case Kj:a.b&&(c="AR="+O(a,a.b.ua,3));break;case Lj:a.b&&(c="DR="+
O(a,a.b.vb));break;case Mj:a.b&&Jc(a.b)&&(c="SR="+O(a,a.b.Ya,3))}c&&(c+=" ");return c}function lk(a,b){var c,d="";for(c=0;6>c;c++)d+=Z(a,c);d=d+"\n"+(Z(a,6)+Z(a,7));d+=Z(a,Cj)+Z(a,Dj)+Z(a,Fj);d+=kk(a,"T")+kk(a,"N")+kk(a,"Z")+kk(a,"V")+kk(a,"C");b&&(b=d,c=""+(Z(a,Gj)+Z(a,Hj)),c+=Z(a,Ij)+Z(a,Jj)+Z(a,Ej),c=c+"\n"+(Z(a,Mj)+Z(a,Kj)+Z(a,Lj)),d=b+("\n"+c));return d}h.dd=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function uh(a,b,c,d,e){var f=[],g;for(g in e){var k=e[g];"number"==typeof k&&(e[g]=k={o:k});var l=k.o,m=k.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=Ea(n,l,a.dd);0>r&&n.splice(-(r+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({xh:b,K:c,Qd:d,ea:e,ad:f})}function mk(a,b,c){var d=[],e=rj(b)>>>0;for(b=0;b<a.B.length;b++){var f=a.B[b],g=f.K>>>0,k=f.Qd;if(e>=g&&e<g+k){e=Ea(f.ad,[e-g],a.dd);0<=e?nk(a,b,e,d):c&&(e=~e,nk(a,b,e-1,d),nk(a,b,e,d));break}}return d}
function nk(a,b,c,d){var e={},f=a.B[b].ad,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.B[b].ea[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function ok(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return lj(a)||a.u("no variables"),!0;if(!c[2])return lj(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=gj(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
@ -319,10 +319,10 @@ function Rj(a,b,c,d){if(b=wj(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)
function Xj(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.P&&(a.u("ended assemble at "+zj(a,a.N)),a.H=a.N,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Bb(a)&&0<b.length){a.P&&(b="a "+zj(a,a.N)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var k=g[0],l=k.charAt(0),m=1;m<k.length;m++){var n=k.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=k.substr(m);g.unshift(k.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
wj(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.u("begin assemble at "+zj(a,r)),a.P=!0,J(a.J);else{var u;a.u("not supported yet");u=[];if(u.length){for(var t=0;t<u.length;t++)a.Nc(r,u[t],1);a.u(Yj(a,a.N))}}break;case "b":a:{var D=g[0],z=g[1],C=b;if("?"==z)a.u("breakpoint commands:"),a.u("\tbp [#]\tset exec breakpoint at addr #"),a.u("\tbr [#]\tset read breakpoint at addr #"),a.u("\tbw [#]\tset write breakpoint at addr #"),a.u("\tbc [#]\tclear breakpoint at addr #"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");
else{var F=D.charAt(1);if("l"==F){var gb;gb=0+Wj(a,a.g);gb+=Wj(a,a.L);(gb+=Wj(a,a.G))||a.u("no breakpoints")}else if("n"==F)a.ba=ij(a,z),a.u("break after "+a.ba+" instruction(s)");else if(void 0===z)a.u("missing breakpoint address");else{var W=V();if("*"!=z&&(W=wj(a,z,!0),!W))break a;"c"==F?null==W.K?(nj(a),a.u("all breakpoints cleared")):Uj(a,a.g,W)||Uj(a,a.L,W)||Uj(a,a.G,W)||a.u("breakpoint missing: "+zj(a,W)):null!=W.K&&(yj(a,W,C),"p"==F?a.pb(a.g,W):"r"==F?a.pb(a.L,W):"w"==F?a.pb(a.G,W):a.u("unknown breakpoint command: "+
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Ib,Ua=g[0],Ga=g[1],Va=g[2],Rk=g[3];if("?"==Ga){var Jb="";for(Ib in Sb)a.ma[Ib]&&(Jb&&(Jb+=","),Jb+=Ib);Jb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");
Jb.length&&a.u("dump extension commands:\n\t"+Jb)}else if("state"==Ga){var Oe=sk(a.J,!0);"console"==Va?console.log(Oe):(a.Pa&&(a.Pa.value=""),Oe&&a.u(Oe))}else if("symbols"==Ga)for(var Pe=0;Pe<a.B.length;Pe++){var Qe=a.B[Pe],Kb;for(Kb in Qe.ea)if("."!=Kb.charAt(0)){var ki=Qe.ea[Kb].o;if(void 0!==ki){var li=Qe.ea[Kb].l;li&&(Kb=li);a.u(O(a,ki)+" "+Kb)}}}else{if("d"==Ua){for(Ib in Sb)if(g[1]==Ib){var mi=a.ma[Ib];mi?(g.shift(),g.shift(),mi(g)):a.u("no dump registered for "+Ga);break a}Ga||(Ua=a.Ha||"dw")}else a.Ha=
Ua;if("dh"==Ua){var ni=Ga,oi=Va,pi="",qi=0,xa=a.R,Ha=a.i;if(Ha.length){var ra=+ni||a.oa,sc=+oi||10;isNaN(ra)?ra=sc:pi="more ";ra>Ha.length&&(a.u("note: only "+Ha.length+" available"),ra=Ha.length);xa-=ra;0>xa&&(null==Ha[Ha.length-1].K?(ra=xa+ra,xa=0):xa+=Ha.length);var Re=[];"call"==oi&&(sc=1E5,Re=["CALL"]);for(void 0!==ni&&a.u(ra+" instructions earlier:");0<sc&&xa!=a.R;){var ri=Ha[xa++];if(null==ri.K)break;var tc=V(ri.K),Sk=ra--,si=Yj(a,tc,"history",Sk);(!Re.length||0<=si.indexOf(Re[0]))&&a.u(si);
tc.Ac&&(xa+=tc.Ac,sc-=tc.Ac,ra-=tc.Ac);xa>=Ha.length&&(xa=0);a.oa=ra;qi++;sc--}}qi||(a.u("no "+pi+"history available"),a.oa=void 0)}else{var fa=wj(a,Ga);if(fa)if("da"==Ua){var Se=fa.Ka||65535<fa.K,K=Ge(a.f,fa.K||0,Se);a.u(Ba("",Se?12:19)+ua(fa.K,Se?22:17,3)+" "+q(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ua(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+va(K[1])+"]: "+ua(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ua(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
F))}}}break;case "c":a.Pa&&(a.Pa.value="");break;case "d":a:{var Ib,Ua=g[0],Ga=g[1],Va=g[2],Rk=g[3];if("?"==Ga){var Jb="";for(Ib in Sb)a.la[Ib]&&(Jb&&(Jb+=","),Jb+=Ib);Jb+=",state,symbols";a.u("dump memory commands:");a.u("\tda [a] dump info for address a");a.u("\tdb [a] [n] dump n bytes at address a");a.u("\tdw [a] [n] dump n words at address a");a.u("\tdd [a] [n] dump n dwords at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");
Jb.length&&a.u("dump extension commands:\n\t"+Jb)}else if("state"==Ga){var Oe=sk(a.J,!0);"console"==Va?console.log(Oe):(a.Pa&&(a.Pa.value=""),Oe&&a.u(Oe))}else if("symbols"==Ga)for(var Pe=0;Pe<a.B.length;Pe++){var Qe=a.B[Pe],Kb;for(Kb in Qe.ea)if("."!=Kb.charAt(0)){var ki=Qe.ea[Kb].o;if(void 0!==ki){var li=Qe.ea[Kb].l;li&&(Kb=li);a.u(O(a,ki)+" "+Kb)}}}else{if("d"==Ua){for(Ib in Sb)if(g[1]==Ib){var mi=a.la[Ib];mi?(g.shift(),g.shift(),mi(g)):a.u("no dump registered for "+Ga);break a}Ga||(Ua=a.Ha||"dw")}else a.Ha=
Ua;if("dh"==Ua){var ni=Ga,oi=Va,pi="",qi=0,xa=a.R,Ha=a.i;if(Ha.length){var ra=+ni||a.na,sc=+oi||10;isNaN(ra)?ra=sc:pi="more ";ra>Ha.length&&(a.u("note: only "+Ha.length+" available"),ra=Ha.length);xa-=ra;0>xa&&(null==Ha[Ha.length-1].K?(ra=xa+ra,xa=0):xa+=Ha.length);var Re=[];"call"==oi&&(sc=1E5,Re=["CALL"]);for(void 0!==ni&&a.u(ra+" instructions earlier:");0<sc&&xa!=a.R;){var ri=Ha[xa++];if(null==ri.K)break;var tc=V(ri.K),Sk=ra--,si=Yj(a,tc,"history",Sk);(!Re.length||0<=si.indexOf(Re[0]))&&a.u(si);
tc.Ac&&(xa+=tc.Ac,sc-=tc.Ac,ra-=tc.Ac);xa>=Ha.length&&(xa=0);a.na=ra;qi++;sc--}}qi||(a.u("no "+pi+"history available"),a.na=void 0)}else{var fa=wj(a,Ga);if(fa)if("da"==Ua){var Se=fa.Ka||65535<fa.K,K=Ge(a.f,fa.K||0,Se);a.u(Ba("",Se?12:19)+ua(fa.K,Se?22:17,3)+" "+q(fa.K,8));6>K.length?(2<K.length&&(a.u(" OFFSET: "+ua(K[3],13,3)+" "+q(K[3],8)),a.u("UNIMAP["+va(K[1])+"]: "+ua(K[2],22,3)+" "+q(K[2],8))),a.u(" PHYSICAL: "+ua(K[0],22,3)+" "+q(K[0],8))):(a.u(" OFFSET: "+
ua(K[1],13,3)+" "+q(K[1],8)),a.u("+ "+tk[K[2]]+"PAR"+K[3]+": "+ua(K[4],22,3)+" "+q(K[4],8)),a.u("& MMUMASK: "+ua(K[5],22,3)+" "+q(K[5],8)),a.u("= PHYSICAL: "+ua(K[0],22,3)+" "+q(K[0],8)))}else{var ib=0,Te="ds"==Ua;if(Va){if("l"==Va.charAt(0))Va=Va.substr(1)||Rk,ib=ij(a,Va);else{var ti=wj(a,Va);ti&&(ib=ti.K-fa.K)}0>ib&&(ib=0);65536<ib&&(ib=65536)}var Uk=a.xa;fa.xa&&(a.xa=fa.xa);for(var jb="dd"==Ua?4:"db"==Ua?1:2,xd=jb*ib||128,Ue=Te?16:a.xa,Vk=(xd+Ue-1)/Ue|0||1,kb="";Vk--&&0<xd;){for(var lb=
"",Ve="",Ga=zj(a,fa),yd=Ue,uc=0,vc=0;0<yd&&0<xd;){var Lb=1,zd=1==jb?a.Mc(fa,Lb):a.Oa(fa,Lb=2),uc=uc|zd<<(vc<<3),vc=vc+Lb;vc==jb&&(Te?(lb&&(lb+=","),lb+="0x"+v(uc,2*jb)):(lb+=O(a,uc,jb),lb+=1==jb?9==yd?"-":" ":" "),uc=vc=0);yd-=Lb;for(xd-=Lb;1==jb&&Lb--;)var We=zd&255,Ve=Ve+(32<=We&&128>We?String.fromCharCode(We):"."),zd=zd>>8}kb&&(kb+="\n");kb=Te?kb+(lb+","):kb+(Ga+": "+lb+(yd?"":" "+Ve))}kb&&a.u(kb);a.Ca=fa;a.xa=Uk}}}}break;case "e":if("else"==g[0])break;var Mb,Xe,Ye,Ze,$e=g[0],af=g[1];"eb"==$e?
(Mb=1,Xe=255,Ye=a.Mc,Ze=a.Nc):"e"==$e||"ew"==$e?(Mb=2,Xe=65535,Ye=a.Oa,Ze=a.yd):af=null;if(null==af)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var Ad=wj(a,af);if(Ad)for(var Bd=2;Bd<g.length;Bd++){var wc=gj(a,g[Bd]);if(void 0===wc){a.u("unrecognized value: "+g[Bd]);break}wc&~Xe&&a.u("warning: "+v(wc)+" exceeds "+Mb+"-byte value");a.u("changing "+zj(a,Ad)+(H(a,16)?"":" from "+O(a,Ye.call(a,Ad),Mb))+" to "+O(a,wc,Mb));
@ -354,7 +354,7 @@ function sk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new M(a,"1.32.0
(c?(k=d=!1,b?(a.g&&cl(a,a.g,f.toString()),Mk(g)&&Mk(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=a.b==dl),d&&f.clear(k)):e=f.toString());c&&(a.A.fa=!1,b=a.C.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.D&&this.D.reset&&(I(this,"Resetting "+this.D.type),this.D.reset());this.f&&this.f.reset&&(I(this,"Resetting "+this.f.type),this.f.reset());for(var a=ub(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.f&&c.reset&&(I(this,"Resetting "+c.type),c.reset())}J(this,-1)};
h.start=function(a,b){for(var c=ub(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}J(this,-1)};h.stop=function(a,b){for(var c=ub(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}J(this,-1)};
function J(a,b){if(a.f){var c=a.f,d=b||0,e=c.C.speed;e&&(0>=d||30<=(c.oc+=d))&&(e.textContent=c.A.U?c.mb.toFixed(2)+"Mhz":"Stopped",c.oc=0)}if(a.i&&(a=a.i,b=b||0,a.v)){c=a.f.A.U;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;e<a.f.g.length;e++)ec(a,"R"+e,a.f.g[e]);e=vd(a.f);ec(a,"PS",e);ec(a,"NF",e&8?1:0,1);ec(a,"ZF",e&4?1:0,1);ec(a,"VF",e&2?1:0,1);ec(a,"CF",e&1?1:0,1);a.j=0}Gc(a,0<b&&c&&!d?a.f.Za:a.ua);qc(a,a.vb);b=a.f;b=b.Ha?b.T&16?1:2:4;Ic(a,"B22",b&1);Ic(a,"B18",b&2);Ic(a,"B16",b&4)}}
h.qa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.j||(d.A.fa?sk(d,!1,!0):Bk(d,d.Ub))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=Pa("Click OK to save changes to this "+Fb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sk(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.B=!0),d.Ub(yk),d.B=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(ya(Na(),"pcjs.org"))c.parentNode.removeChild(c);
h.pa=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.j||(d.A.fa?sk(d,!1,!0):Bk(d,d.Ub))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.A.fa&&!d.j)if(d.b&&!d.H){var a=Pa("Click OK to save changes to this "+Fb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sk(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.B=!0),d.Ub(yk),d.B=!1)}else d.reset(),d.f&&d.f.Ia()},!0;case "save":if(ya(Na(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.C[b]=c,c.onclick=function(){var a=xk(d,!0);if(a){var b=!!(d.b&&!d.H||d.L),c=sk(d,b);b?cl(d,a,c):d.O("Resume disabled, machine state not saved")}},!0}return!1};
function xk(a,b){var c=a.g;c||((c=Sa(Nk),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=el(a,c))||a.O("The user ID is invalid.")):b&&a.O("Browser local storage is not available"));return c}
function el(a,b){a.g=null;b=La(Na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ta(Nk,b.data),a.g=b.data)}catch(d){y(d.message+" ("+c+")")}return a.g}function Ak(a){var b=null;a.g&&(b=Na()+"/api/v1/user?req=load&user="+a.g+"&state="+fl(a,"1.32.0"));return b}

View file

@ -164,7 +164,7 @@ a,0,255,this.Ja);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Cd);
(7==this.f?2:0)}],df=[function(a){T(this,a,0,Md);this.a-=this.h?9+(this.Gb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Kd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){T(this,a,0,wd);this.a-=this.h?9+(this.Gb&1):3+(7==this.f?2:0)},function(a){T(this,a,0,ud);this.a-=this.h?9:3+(7==this.f?2:0)}];function Wc(a){jf[a>>12].call(this,a)}
var jf=[function(a){kf[a>>8&15].call(this,a)},Ae,pe,$d,Wd,Yd,Rd,function(a){lf[a>>8&15].call(this,a)},function(a){mf[a>>8&15].call(this,a)},Be,qe,ae,Xd,Zd,Je,X],kf=[function(a){nf[a>>4&15].call(this,a)},me,je,be,ce,he,de,fe,ye,ye,Pe,Re,Te,function(a){of[a>>6&3].call(this,a)},X,X],of=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.ta);R(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=id(this,a,0);this.da(a);dd(this,a);this.a-=11},function(a){var b=fd(this);this.S=
this.a;this.da(b);jd(this,a,0,b);this.a=this.S-Ce[this.h]},function(a){qd(this,a,Zc(this)?65535:0,this.da);this.a-=this.h?9:3+(7==this.f?2:0)}],nf=[function(a){pf[a&15].call(this,a)},X,X,X,we,we,we,we,Ge,function(a){!(a&8)||1145>this.pa?M(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},Ve,Xe,Ke,Ke,Ke,Ke],pf=[te,Me,function(){ed(this);this.g|=this.i&16;this.a-=13},le,ue,Fe,He,function(){M(this,8,0,-9)},X,X,X,X,X,X,X,X],lf=[De,De,re,re,Sd,Sd,Td,Td,Ne,Ne,X,
X,X,X,Ie,Ie],mf=[ke,ie,ee,ge,ne,oe,Ud,Vd,se,Le,Ze,af,cf,function(a){1145>this.pa?M(this,8,0,-9):qf[a>>6&3].call(this,a)},X,X],qf=[X,function(a){a=id(this,a,65536);this.da(a);dd(this,a);this.a-=11},function(a){var b=fd(this);this.S=this.a;this.da(b);jd(this,a,65536,b);this.a=this.S-Ce[this.h]},X];
X,X,X,Ie,Ie],mf=[ke,ie,ee,ge,ne,oe,Ud,Vd,se,Le,Ze,af,cf,function(a){1145>this.pa?M(this,8,0,-9):qf[a>>6&3].call(this,a)},X,X],qf=[function(){M(this,8,0,-9)},function(a){a=id(this,a,65536);this.da(a);dd(this,a);this.a-=11},function(a){var b=fd(this);this.S=this.a;this.da(b);jd(this,a,65536,b);this.a=this.S-Ce[this.h]},function(){M(this,8,0,-9)}];
function rf(a){A.call(this,"ROM",a,0,128);this.fa=this.b=null;this.h=+a.addr;this.a=+a.size;this.i=!1;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.g=a.file;this.m=u(this.g);if(this.g){a=this.g;var b=sa(this.m);"json"!=b&&"hex"!=b&&(a=Ba()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(Va(c.La,a,b),(a=Aa(a,b))?(c.b=a.N,c.fa=a.fa):c.g=null);sf(c)})}}n(rf,A);
h=rf.prototype;h.aa=function(a,b,c,d){this.u=b;this.c=c;this.D=d;sf(this)};h.ha=function(){this.fa&&(this.D&&this.D.a(this.id,this.h,this.a,this.fa),delete this.fa);return!0};h.ga=function(){return!0};
function sf(a){if(!$a(a)){if(a.g){if(!a.b||!a.u)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a)Za(a,"ROM size ("+ra(a.b.length,8,!0)+") does not match specified size ("+ra(a.a,8,!0)+")");else{var b;a:{b=a.h;a.status(a.a+"-byte ROM at "+qa(b));if(57344<=b&&b<57344+Nb){var c={};b=(c[b]=[rf.prototype.be,rf.prototype.lf,null,null,null,a.a>>1],c);if(kb(a.u,a,b)){b=a.i=!0;break a}}else if(Tb(a.u,b,a.a,vc)){for(c=0;c<a.b.length;c++)bc(a.u,b+c,a.b[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.f?b.push(a.f):