From 0370b81a69b7d20f99a455960ef73661da94b004 Mon Sep 17 00:00:00 2001 From: Jeff Date: Mon, 14 Nov 2016 15:27:55 -0800 Subject: [PATCH] Leave the DATA display register alone on the 11/70 (making it more diagnostic-friendly) --- apps/pdp11/README.md | 2 +- apps/pdp11/tapes/README.md | 43 ++------- apps/pdp11/tapes/diags/README.md | 6 +- apps/pdp11/tapes/dumpab/README.md | 2 + apps/pdp11/tapes/dumptt/README.md | 2 + apps/pdp11/tapes/ed11/README.md | 2 + apps/pdp11/tapes/fpp11/README.md | 2 + apps/pdp11/tapes/iox/README.md | 2 + apps/pdp11/tapes/odt11/README.md | 2 + apps/pdp11/tapes/odt11x/README.md | 2 + apps/pdp11/tapes/pal11a/README.md | 2 + modules/pdp11/lib/cpuops.js | 32 ++++++- modules/pdp11/lib/cpustate.js | 15 +++- modules/pdp11/lib/defines.js | 2 +- versions/pdpjs/1.30.3/pdp11-dbg.js | 136 ++++++++++++++--------------- versions/pdpjs/1.30.3/pdp11.js | 118 ++++++++++++------------- 16 files changed, 198 insertions(+), 172 deletions(-) diff --git a/apps/pdp11/README.md b/apps/pdp11/README.md index 0984a7913..307cf13a1 100644 --- a/apps/pdp11/README.md +++ b/apps/pdp11/README.md @@ -10,4 +10,4 @@ PDP-11 Software We have archived the following selected PDP-11 software: - [Boot Software](boot/) -- [DEC PDP-11 Tapes](tapes/), including [Diagnostic Tapes](tapes/diags/) +- [DEC PDP-11 Tapes](tapes/), including [Paper Tape Diagnostics](tapes/diags/) diff --git a/apps/pdp11/tapes/README.md b/apps/pdp11/tapes/README.md index d75a789f5..f14297e0a 100644 --- a/apps/pdp11/tapes/README.md +++ b/apps/pdp11/tapes/README.md @@ -20,8 +20,13 @@ This was the real-world process. Fortunately, PDPjs machines include features t For starters, any "Absolute Format" tape (which should include all the tapes listed below) can be loaded directly into RAM using the machine's "Load" button instead of "Attach". In most cases, this eliminates the first two steps. -DEC Paper Tape Software (circa 1970) ------------------------------------- +Paper Tape Diagnostics +---------------------- + +We have archived an assortment of [DEC Paper Tape Diagnostics](diags/). + +Paper Tape Software (circa 1970) +-------------------------------- As documented in the [PDP-11/20 Handbook (1971)](http://archive.pcjs.org/pubs/dec/pdp11/1120/PDP1120_Handbook_1971.pdf), p. 155, "PAPER TAPE SOFTWARE", the following software was available on paper tape: @@ -43,37 +48,7 @@ that described all of the above software in greater detail, and it included some - LINK-11S LINKER Thanks to the [iamvirtual.ca](http://iamvirtual.ca/PDP-11/PTS-11/PTS-11.htm) website, most of the above programs are -available as paper tape image files, with the exception of PAL-11S and LINK-11S: - -- [ED-11-V004A SA=12430 RA=3746](ed11/DEC-11-E1PA-PB.json) -- [PAL-11A (4K)-V002A SA=1410 RA=1410](pal11a/DEC-11-ASPA-PB.json) -- [PAL-11A (8K)-V002A SA=1410 RA=1410](pal11a/DEC-11-ASXA-PB.json) -- [ODT-11](odt11/DEC-11-O1PA-PA.json) -- [ODT-11 SA=13060](odt11/DEC-11-O1PA-PB.json) -- [ODT-11X](odt11x/DEC-11-O2PA-PA.json) -- [ODT-11X-V004A SA=12220 RA=12220](odt11x/DEC-11-O2PA-PB.json) -- [IOX TAPE 1 OF 2](iox/DEC-11-YIPA-PA1.json) -- [IOX TAPE 2 OF 2](iox/DEC-11-YIPA-PA2.json) -- [IOX-V004A LOAD ADDRESS=15100](iox/DEC-11-YIPA-PB.json) -- [FPP-11 V005A TAPE 1 OF 11](fpp11/DEC-11-YQPB-PA1.json) -- [FPP-11 V005A TAPE 2 OF 11](fpp11/DEC-11-YQPB-PA2.json) -- [FPP-11 V005A TAPE 3 OF 11](fpp11/DEC-11-YQPB-PA3.json) -- [FPP-11 V005A TAPE 4 OF 11](fpp11/DEC-11-YQPB-PA4.json) -- [FPP-11 V005A TAPE 5 OF 11](fpp11/DEC-11-YQPB-PA5.json) -- [FPP-11 V005A TAPE 6 OF 11](fpp11/DEC-11-YQPB-PA6.json) -- [FPP-11 V005A TAPE 7 OF 11](fpp11/DEC-11-YQPB-PA7.json) -- [FPP-11 V005A TAPE 8 OF 11](fpp11/DEC-11-YQPB-PA8.json) -- [FPP-11 V005A TAPE 9 OF 11](fpp11/DEC-11-YQPB-PA9.json) -- [FPP-11 V005A TAPE 10 OF 11](fpp11/DEC-11-YQPB-PA10.json) -- [FPP-11 V005A TAPE 11 OF 11](fpp11/DEC-11-YQPB-PA11.json) -- [DUMPTT-V001A SA=XX7440 RA=XX7440](dumptt/DEC-11-Y1PA-PO.json) -- [DUMPTT-V001A SA=LOAD ADDRESS RA=LOAD ADDRESS](dumptt/DEC-11-Y1PA-PB.json) -- [DUMPAB-V001A SA=LOAD ADDRESS RA=LOAD ADDRESS](dumpab/DEC-11-Y2PA-PB.json) -- [DEC-11-AJPB-PB BASIC-11 v007A SA=16104 RA=0](basic/DEC-11-AJPB-PB.json) +available as paper tape image files and are included in our "Default" [PC11 High-Speed Paper Tape Reader/Punch](/devices/pdp11/pc11/) +configuration. Some additional information on DEC's Paper Tape Software is available at [retrotechnology.com](http://retrotechnology.com/pdp11/11_20_PTS.html). - -Diagnostic Paper Tape Images ----------------------------- - -We have also archived a collection of [Diagnostic Paper Tape Images](diags/). diff --git a/apps/pdp11/tapes/diags/README.md b/apps/pdp11/tapes/diags/README.md index 217ce7b56..b6daf6faf 100644 --- a/apps/pdp11/tapes/diags/README.md +++ b/apps/pdp11/tapes/diags/README.md @@ -1,11 +1,11 @@ --- layout: page -title: Diagnostic Paper Tape Images +title: DEC Paper Tape Diagnostics permalink: /apps/pdp11/tapes/diags/ --- -Diagnostic Paper Tape Images ----------------------------- +Paper Tape Diagnostics +---------------------- Thanks to the [iamvirtual.ca](http://iamvirtual.ca/collection/systems/mediadoc/mediadoc.html#papertape) website, we have archived the PDP-11 diagnostics shown below. The tapes have been added to the diff --git a/apps/pdp11/tapes/dumpab/README.md b/apps/pdp11/tapes/dumpab/README.md index 40a88c2a5..a855a4e3b 100644 --- a/apps/pdp11/tapes/dumpab/README.md +++ b/apps/pdp11/tapes/dumpab/README.md @@ -8,3 +8,5 @@ DUMPAB (Paper Tape) ------------------- [![DEC-11-Y2PA-PB](DEC-11-Y2PA-PB.jpg)](DEC-11-Y2PA-PB.json) + +**TODO**: Add more information about **DUMPAB**. diff --git a/apps/pdp11/tapes/dumptt/README.md b/apps/pdp11/tapes/dumptt/README.md index fdc5c7bb3..671390281 100644 --- a/apps/pdp11/tapes/dumptt/README.md +++ b/apps/pdp11/tapes/dumptt/README.md @@ -10,3 +10,5 @@ DUMPTT (Paper Tape) [![DEC-11-Y1PA-PO](DEC-11-Y1PA-PO.jpg)](DEC-11-Y1PA-PO.json) [![DEC-11-Y1PA-PB](DEC-11-Y1PA-PB.jpg)](DEC-11-Y1PA-PB.json) + +**TODO**: Add more information about **DUMPTT**. diff --git a/apps/pdp11/tapes/ed11/README.md b/apps/pdp11/tapes/ed11/README.md index d870c576a..2d77fbbcb 100644 --- a/apps/pdp11/tapes/ed11/README.md +++ b/apps/pdp11/tapes/ed11/README.md @@ -8,3 +8,5 @@ ED-11 (Paper Tape) ------------------ [![DEC-11-E1PA-PB](DEC-11-E1PA-PB.jpg)](DEC-11-E1PA-PB.json) + +**TODO**: Add more information about **ED-11**. diff --git a/apps/pdp11/tapes/fpp11/README.md b/apps/pdp11/tapes/fpp11/README.md index 3ae017bf1..e4299c92d 100644 --- a/apps/pdp11/tapes/fpp11/README.md +++ b/apps/pdp11/tapes/fpp11/README.md @@ -28,3 +28,5 @@ FPP-11 (Paper Tape) [![DEC-11-YQPB-PA10](DEC-11-YQPB-PA10.jpg)](DEC-11-YQPB-PA10.json) [![DEC-11-YQPB-PA11](DEC-11-YQPB-PA11.jpg)](DEC-11-YQPB-PA11.json) + +**TODO**: Add more information about **FPP-11**. diff --git a/apps/pdp11/tapes/iox/README.md b/apps/pdp11/tapes/iox/README.md index 4f459cc2a..7bf1a2223 100644 --- a/apps/pdp11/tapes/iox/README.md +++ b/apps/pdp11/tapes/iox/README.md @@ -12,3 +12,5 @@ IOX (Paper Tape) [![DEC-11-YIPA-PA2](DEC-11-YIPA-PA2.jpg)](DEC-11-YIPA-PA2.json) [![DEC-11-YIPA-PB](DEC-11-YIPA-PB.jpg)](DEC-11-YIPA-PB.json) + +**TODO**: Add more information about **IOX**. diff --git a/apps/pdp11/tapes/odt11/README.md b/apps/pdp11/tapes/odt11/README.md index e7b6ac30a..c52259497 100644 --- a/apps/pdp11/tapes/odt11/README.md +++ b/apps/pdp11/tapes/odt11/README.md @@ -10,3 +10,5 @@ ODT-11 (Paper Tape) [![DEC-11-O1PA-PA](DEC-11-O1PA-PA.jpg)](DEC-11-O1PA-PA.json) [![DEC-11-O1PA-PB](DEC-11-O1PA-PB.jpg)](DEC-11-O1PA-PB.json) + +**TODO**: Add more information about **ODT-11**. diff --git a/apps/pdp11/tapes/odt11x/README.md b/apps/pdp11/tapes/odt11x/README.md index c31a06c06..093ce6fb7 100644 --- a/apps/pdp11/tapes/odt11x/README.md +++ b/apps/pdp11/tapes/odt11x/README.md @@ -10,3 +10,5 @@ ODT-11X (Paper Tape) [![DEC-11-O2PA-PA](DEC-11-O2PA-PA.jpg)](DEC-11-O2PA-PA.json) [![DEC-11-O2PA-PB](DEC-11-O2PA-PB.jpg)](DEC-11-O2PA-PB.json) + +**TODO**: Add more information about **ODT-11X**. diff --git a/apps/pdp11/tapes/pal11a/README.md b/apps/pdp11/tapes/pal11a/README.md index 873771cec..c04b6e7ff 100644 --- a/apps/pdp11/tapes/pal11a/README.md +++ b/apps/pdp11/tapes/pal11a/README.md @@ -10,3 +10,5 @@ PAL-11A Assembler (Paper Tape) [![DEC-11-ASPA-PB](DEC-11-ASPA-PB.jpg)](DEC-11-ASPA-PB.json) [![DEC-11-ASPA-PB](DEC-11-ASXA-PB.jpg)](DEC-11-ASXA-PB.json) + +**TODO**: Add more information about **PAL-11A**. diff --git a/modules/pdp11/lib/cpuops.js b/modules/pdp11/lib/cpuops.js index 48a6974ac..7b52d49d8 100644 --- a/modules/pdp11/lib/cpuops.js +++ b/modules/pdp11/lib/cpuops.js @@ -1122,7 +1122,34 @@ PDP11.opHALT = function(opCode) this.trap(PDP11.TRAP.BUS, 0, PDP11.REASON.HALT); } else { if (this.panel) { - this.panel.setData(this.regsGen[0], true); + /* + * The PDP-11/20 Handbook (1971) says that HALT does the following: + * + * Causes the processor operation to cease. The console is given control of the bus. + * The console data lights display the contents of RO; the console address lights display + * the address after the halt instruction. Transfers on the UNIBUS are terminated immediately. + * The PC points to the next instruction to be executed. Pressing the continue key on the + * console causes processor operation to resume. No INIT signal is given. + * + * However, the PDP-11/70 Handbook (1979) suggests some slight differences: + * + * Causes the processor operation to cease. The console is given control of the processor. + * The data lights display the contents of the PC (which is the address of the HALT instruction + * plus 2). Transfers on the UNIBUS are terminated immediately. Pressing the continue key on + * the console causes processor operation to resume. + * + * Given that the 11/70 doesn't saying anything about displaying R0 on a HALT, and also given that + * the 11/70 CPU EXERCISER diagnostic writes a value to the Console Switch/Display Register immediately + * before HALT'ing, I'm going to assume that updating the data display with R0 is unique to the 11/20. + * + * Also, I'm a little suspicious of the 11/70 comment that the "data lights display the contents of + * the PC," since previous models display the PC on the ADDRESS lights, not the DATA lights. And as + * I already explained, doing anything to the data lights at this point would undo what the 11/70 + * diagnostics do. + */ + if (this.model == PDP11.MODEL_1120) { + this.panel.setData(this.regsGen[0], true); + } } if (!this.dbg) { /* @@ -1443,8 +1470,7 @@ PDP11.opNOP = function(opCode) PDP11.opRESET = function(opCode) { if (!(this.regPSW & PDP11.PSW.CMODE)) { - this.bus.reset(); - this.resetRegs(); + this.resetCPU(); } this.nStepCycles -= 667; // TODO: Review (but it's definitely a big number) }; diff --git a/modules/pdp11/lib/cpustate.js b/modules/pdp11/lib/cpustate.js index f53568b06..bdabfaf32 100644 --- a/modules/pdp11/lib/cpustate.js +++ b/modules/pdp11/lib/cpustate.js @@ -225,6 +225,17 @@ CPUStatePDP11.prototype.initRegs = function() this.resetRegs(); }; +/** + * resetCPU() + * + * @this {CPUStatePDP11} + */ +CPUStatePDP11.prototype.resetCPU = function() +{ + this.bus.reset(); + this.resetRegs(); +}; + /** * resetRegs() * @@ -395,9 +406,7 @@ CPUStatePDP11.prototype.setReset = function(addr, fReset) { this.addrReset = addr; - /* - * If we're going to slam this new address straight into PC, then it seems wise to reset the PSW as well. - */ + this.resetCPU(); this.setPC(addr); this.setPSW(0); diff --git a/modules/pdp11/lib/defines.js b/modules/pdp11/lib/defines.js index 85c152e22..3425ff03e 100644 --- a/modules/pdp11/lib/defines.js +++ b/modules/pdp11/lib/defines.js @@ -459,7 +459,7 @@ var PDP11 = { XCSR: 0o177564, // Display Terminal: Transmitter Status Register XBUF: 0o177566, // Display Terminal: Transmitter Data Buffer Register - CNSW: 0o177570, // Console (Front Panel) Switch Register + CNSW: 0o177570, // Console (Front Panel) Switch/Display Register MMR0: 0o177572, // 777572 17777572 MMR1: 0o177574, // 777574 17777574 diff --git a/versions/pdpjs/1.30.3/pdp11-dbg.js b/versions/pdpjs/1.30.3/pdp11-dbg.js index 6a58ba7bf..79cb0baf3 100644 --- a/versions/pdpjs/1.30.3/pdp11-dbg.js +++ b/versions/pdpjs/1.30.3/pdp11-dbg.js @@ -38,7 +38,7 @@ d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return function ra(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function va(a){return a.replace(/[&<>"']/g,function(a){return ua[a]})} function wa(a,b){return(a+" ").slice(0,b)}function xa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ya={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; function za(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} -function Ca(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== +function Da(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"== typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} function Ea(a,b){var c,d={ea:null,ga:null,La:null,Ka:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.La=g.load;d.Ka=g.exec;if(e=g.bytes)d.ea=e;else if(e=g.words)for(d.ea=Array(2*e.length),f=c=0;c>8&255;else if(e=g.data)for(d.ea=Array(4*e.length),f=c=0;c>8&255,d.ea[f++]=e[c]>>16&255,d.ea[f++]=e[c]>>24&255;else d.ea=g;d.ga=g.symbols;d.ea.length?1==d.ea.length&&(q(d.ea[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb?this.Za=this.id:(this.Qa=this.id.substr(0,b),this.Za=this.id.substr(b+1));this[a]=c;this.w={ready:!1,ab:!1,$b:!1,ha:!1,error:!1};this.Sb=null;this.w.error=!1;this.G={};this.i=null;this.ma=d||0;u.push(this)}var cb=void 0,db={}; +function t(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.vc=b.comment;this.Yc=b;b=this.id.indexOf(".");0>b?this.$a=this.id:(this.Qa=this.id.substr(0,b),this.$a=this.id.substr(b+1));this[a]=c;this.w={ready:!1,bb:!1,$b:!1,ha:!1,error:!1};this.Sb=null;this.w.error=!1;this.G={};this.i=null;this.ma=d||0;u.push(this)}var cb=void 0,db={}; if(window){cb||(cb=window.location.search.substr(1));for(var eb,fb=/\+/g,gb=/([^&=]+)=?([^&]*)/g;eb=gb.exec(cb);)db[decodeURIComponent(eb[1].replace(fb," "))]=decodeURIComponent(eb[2].replace(fb," "))}function ob(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function z(a,b){b||(b=t);a.prototype=ob(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var pb=window.PCjs.Machines||(window.PCjs.Machines={}),u=window.PCjs.Components||(window.PCjs.Components=[])}else pb={},u=[];function qb(a,b,c){pb[a]&&b&&(pb[a][b]=c)}function rb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.g["S"+a]=[0,0,!1,!1,this.hd,a]}z(Cb);var Db=7;function Eb(a,b){return a.g[b]&&a.g[b][1]}k=Cb.prototype;k.reset=function(){this.stop()}; +function Cb(a){t.call(this,"Panel",a,Cb);this.f=this.A=this.Xa=this.D=this.J=this.H=0;this.L=this.M=this.I=!1;this.O=Db;this.B={};this.g={START:[1,1,!0,!1,this.fd],STEP:[1,1,!1,!1,this.gd],ENABLE:[1,1,!1,!1,this.bd],CONT:[1,1,!0,!1,this.$c],DEP:[0,0,!0,!1,this.ad],EXAM:[1,1,!0,!1,this.cd],LOAD:[1,1,!0,!1,this.ed],TEST:[0,0,!0,!1,this.dd]};for(a=0;22>a;a++)this.g["S"+a]=[0,0,!1,!1,this.hd,a]}z(Cb);var Db=7;function Eb(a,b){return a.g[b]&&a.g[b][1]}k=Cb.prototype;k.reset=function(){this.stop()}; k.sa=function(a,b,c,d){if(this.C&&this.C.sa(a,b,c,d)||this.b&&this.b.sa(a,b,c,d)||this.i&&this.i.sa(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.G[b]=c,this.H++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.B[b]=d?1:0,this.H++,!0):"switch"==a?(void 0===this.g[b]&&(this.g[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, b){return function(){Fb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Gb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Fb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Gb(a,b)}}(this,b),!0):this.parent.sa.call(this,a,b,c,d)}};k.Ea=function(a,b,c,d){this.C=a;this.v=b;this.b=c;this.i=d;Hb(b,this,Ib);Jb(b,this.reset.bind(this));Kb(this);Lb(this)};k.Ga=function(a,b){b||(Mb(),this.reset());return!0};k.Fa=function(){return!0}; function Nb(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Kb(a,b){for(var c in a.B)Nb(a,c,null!=b?b:a.B[c])}function Ob(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Lb(a){for(var b in a.g)Ob(a,b,a.g[b][1])}function ac(a,b,c,d){a.G[b]&&(void 0===c&&(yb(a,"Value for "+b+" is invalid"),a.b.da()),c=8==(a.i&&a.i.ca||8)?qa(c,d):p(c,d),a.G[b].textContent!=c&&(a.G[b].textContent=c))} function Fb(a,b){var c=a.g[b];Ob(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.L="DEP"==b,a.M="EXAM"==b)}function Gb(a,b){var c=a.g[b];c[2]&&c[3]&&(Ob(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}k.fd=function(a){a||this.b.w.W||(this.v.reset(),bc(this.b),Eb(this,"ENABLE")&&this.b.hb())};k.gd=function(){};k.bd=function(a){a||this.b.da()}; -k.$c=function(a){if(!a&&!this.b.w.W)if(Eb(this,"ENABLE"))this.b.hb();else{if((a=this.i)&&!vb(a,!0))ub(a,!0),a.ib(0),ub(a,!1);else try{var b=this.b.ib(1);0a.b.cb?8:16,c=65472<=a.f&&a.f<65472+b,b=c?1:2,c=c?15:a.v.Na;Eb(a,"STEP")||(b=-b);hc(a,a.f&~c|a.f+b&c)} -function hc(a,b){a.f=b&a.v.Na;b=a.f;for(var c=0;22>c;c++)jc(a,"A"+c,b&1<c;c++)jc(a,"D"+c,b&1<c;c++)a.g["S"+c][1]=b&1<a.b.Wa?8:16,c=65472<=a.f&&a.f<65472+b,b=c?1:2,c=c?15:a.v.Na;Eb(a,"STEP")||(b=-b);hc(a,a.f&~c|a.f+b&c)} +function hc(a,b){a.f=b&a.v.Na;b=a.f;for(var c=0;22>c;c++)jc(a,"A"+c,b&1<c;c++)jc(a,"D"+c,b&1<c;c++)a.g["S"+c][1]=b&1<>2;this.v=this.za-1;this.D=this.H/this.za|0;this.$a=[];this.la=0;this.f=!1;this.bc=0;this.A=[];this.Nc=[oc,pc,qc,rc];a=new I(this);sc(a,this.i);this.Y=Array(this.D);for(b=0;b>8:e[2](f)&255):f&1&&(e=d.$a[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.i&&F(this.i,e[5])&&E(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!d.la),c;d.Da(b,16,3);c=255;this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!d.la);return c} -function pc(a,b,c){var d=!1,e=this.controller,f=e.$a[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](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.$a[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.i&&F(this.i,f[5])&&E(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!e.la):(e.Da(c,16,5),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b), -!0,!e.la))}function qc(a,b){var c=-1,d=this.controller;a=d.$a[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.i&&F(this.i,a[5])&&E(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!d.la),c;d.Da(b,16,2);c=65535;this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!d.la);return c} -function rc(a,b,c){var d=!1,e=this.controller;a=e.$a[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.i&&F(this.i,a[5])&&E(this.i,a[4]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!e.la):(e.Da(c,16,4),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b),!0,!e.la))} +function mc(a,b,c){t.call(this,"Bus",a,mc,64);this.b=b;this.i=c;this.J=a.busWidth||16;this.C=0;this.B=[];this.g=null;this.H=1<>2;this.v=this.za-1;this.D=this.H/this.za|0;this.ab=[];this.la=0;this.f=!1;this.bc=0;this.A=[];this.Nc=[oc,pc,qc,rc];a=new I(this);sc(a,this.i);this.Y=Array(this.D);for(b=0;b>8:e[2](f)&255):f&1&&(e=d.ab[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.i&&F(this.i,e[5])&&E(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!d.la),c;d.Da(b,16,3);c=255;this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!d.la);return c} +function pc(a,b,c){var d=!1,e=this.controller,f=e.ab[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](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.ab[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.i&&F(this.i,f[5])&&E(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!e.la):(e.Da(c,16,5),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b), +!0,!e.la))}function qc(a,b){var c=-1,d=this.controller;a=d.ab[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.i&&F(this.i,a[5])&&E(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!d.la),c;d.Da(b,16,2);c=65535;this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!d.la);return c} +function rc(a,b,c){var d=!1,e=this.controller;a=e.ab[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.i&&F(this.i,a[5])&&E(this.i,a[4]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!e.la):(e.Da(c,16,4),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b),!0,!e.la))} function uc(a,b){if(b!=a.C){var c;a.C&&(c=(1<>>a.ja;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.F)return l.Ob+=l.F-f,l.F=f,!0;if(f>=l.F+l.Ob){n=l.size-(f-m);n>g&&(n=g);l.Ob=f-l.F+n;f=m+a.za;g-=n;h++;continue}}return zc(1,f,g)}f=new I(a,f,n,a.za,d,e);sc(f,a.i,l);a.Y[h++]=f;f=m+a.za;g-=n}return 0>=g?(d==Ac&&(a.bc+=c),a.status((c>>10)+"Kb "+Bc[d]+" at "+qa(b)),!0):zc(2,b,c)} function wc(a,b,c){var d=[];for(b>>>=a.ja;0>>=a.ja;0>>this.ja].Vb(a&this.v,a)};k.Ub=function(a){3932160<=a&&(a=Cc(this.b,a));this.f=!1;this.la++;a=this.Y[(a&this.Na)>>>this.ja].gc(a&this.v,a);this.la--;return a}; -k.na=function(a){3932160<=a&&(a=Cc(this.b,a));return this.Y[(a&this.Na)>>>this.ja].ra(a&this.v,a)};k.bb=function(a){3932160<=a&&(a=Cc(this.b,a));var b=a&this.v,c=(a&this.Na)>>>this.ja;this.f=!1;this.la++;a=this.Y[c].hc(b,a);this.la--;return a};k.Ab=function(a,b){3932160<=a&&(a=Cc(this.b,a));this.Y[(a&this.Na)>>>this.ja].Yb(a&this.v,b&255,a)};k.rb=function(a,b){3932160<=a&&(a=Cc(this.b,a));this.f=!1;this.la++;this.Y[(a&this.Na)>>>this.ja].Zb(a&this.v,b&255,a);this.la--}; +k.na=function(a){3932160<=a&&(a=Cc(this.b,a));return this.Y[(a&this.Na)>>>this.ja].ra(a&this.v,a)};k.cb=function(a){3932160<=a&&(a=Cc(this.b,a));var b=a&this.v,c=(a&this.Na)>>>this.ja;this.f=!1;this.la++;a=this.Y[c].hc(b,a);this.la--;return a};k.Ab=function(a,b){3932160<=a&&(a=Cc(this.b,a));this.Y[(a&this.Na)>>>this.ja].Yb(a&this.v,b&255,a)};k.rb=function(a,b){3932160<=a&&(a=Cc(this.b,a));this.f=!1;this.la++;this.Y[(a&this.Na)>>>this.ja].Zb(a&this.v,b&255,a);this.la--}; k.gb=function(a,b){3932160<=a&&(a=Cc(this.b,a));this.Y[(a&this.Na)>>>this.ja].Pb(a&this.v,b&65535,a)};k.Bb=function(a,b){3932160<=a&&(a=Cc(this.b,a));var c=a&this.v,d=(a&this.Na)>>>this.ja;this.f=!1;this.la++;this.Y[d].mc(c,b&65535,a);this.la--}; -function Dc(a){for(var b=0,c=[],d=0;da.b.cb)){var l=h[0]?h[0].bind(b):null,m=h[1]?h[1].bind(b):null,n=h[2]?h[2].bind(b):null,v=h[3]?h[3].bind(b):null,r=h[5]||1;65472<=g&&65487>=g&&(!l&&n&&(l=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!m&&v&&(m=function(a){return function(b,c){return a(b,c)}.bind(b)}(v)));for(var w=h[4],y=0;ya.b.Wa)){var l=h[0]?h[0].bind(b):null,m=h[1]?h[1].bind(b):null,n=h[2]?h[2].bind(b):null,v=h[3]?h[3].bind(b):null,r=h[5]||1;65472<=g&&65487>=g&&(!l&&n&&(l=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!m&&v&&(m=function(a){return function(b,c){return a(b,c)}.bind(b)}(v)));for(var w=h[4],y=0;y>5&3;b.jb=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Va!=c&&(b.Va=c,Sc(b))}};k.vd=function(){var a=this.b;a.J&57344||(a.Ac=a.S&65535);a=a.Ac;a&65280&&(a=(a<<8|a>>8)&65535);return a};k.wd=function(){var a=this.b;a.J&57344||(a.Bc=a.Ib);return a.Bc};k.xd=function(){return this.b.qb};k.pe=function(a){var b=this.b;1170>b.cb&&(a&=-49);b.qb!=a&&(b.qb=a,b.Ja=a&16?4194303:262143,Sc(b))}; +k.Ea=function(a,b,c,d){this.v=b;this.C=a;this.b=c;this.i=d;var e=this;this.f.lc=Gc(c,function(){e.f.Jb|=128;e.f.Jb&64&&Oc(e.b,e.f.ce);e.C&&e.C.oa(1);Pc(e.b,e.f.lc,1E3/60)});this.f.ce=Qc(64,6);Hb(b,this,Rc);Jb(b,this.reset.bind(this));H(this)};k.reset=function(){this.f.Jb=128;Pc(this.b,this.f.lc,1E3/60,!0)};k.sd=function(){return this.f.Jb};k.me=function(a){this.f.Jb=a&192};k.ud=function(){var a=this.b;return a.J&62337|a.kb<<5|a.jb<<1}; +k.oe=function(a){var b=this.b;a&=62337;if(b.J!=a){b.J=a;b.kb=a>>5&3;b.jb=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Va!=c&&(b.Va=c,Sc(b))}};k.vd=function(){var a=this.b;a.J&57344||(a.Ac=a.S&65535);a=a.Ac;a&65280&&(a=(a<<8|a>>8)&65535);return a};k.wd=function(){var a=this.b;a.J&57344||(a.Bc=a.Ib);return a.Bc};k.xd=function(){return this.b.qb};k.pe=function(a){var b=this.b;1170>b.Wa&&(a&=-49);b.qb!=a&&(b.qb=a,b.Ja=a&16?4194303:262143,Sc(b))}; k.Yd=function(a){a=a>>1&63;var b=this.b.Nb[a>>1];return a&1?b>>16:b&65535};k.Qe=function(a,b){b=b>>1&63;var c=b>>1;this.b.Nb[c]=b&1?this.b.Nb[c]&65535|(a&63)<<16:this.b.Nb[c]&-65536|a&65534};k.Rd=function(a){return this.b.V[1][a>>1&7]};k.Je=function(a,b){this.b.V[1][b>>1&7]=a&65295};k.Pd=function(a){return this.b.V[1][(a>>1&7)+8]};k.He=function(a,b){this.b.V[1][(b>>1&7)+8]=a&65295};k.Qd=function(a){return this.b.ya[1][a>>1&7]};k.Ie=function(a,b){b=b>>1&7;this.b.ya[1][b]=a;this.b.V[1][b]&=65295}; k.Od=function(a){return this.b.ya[1][(a>>1&7)+8]};k.Ge=function(a,b){b=(b>>1&7)+8;this.b.ya[1][b]=a;this.b.V[1][b]&=65295};k.rd=function(a){return this.b.V[0][a>>1&7]};k.le=function(a,b){this.b.V[0][b>>1&7]=a&65295};k.pd=function(a){return this.b.V[0][(a>>1&7)+8]};k.je=function(a,b){this.b.V[0][(b>>1&7)+8]=a&65295};k.qd=function(a){return this.b.ya[0][a>>1&7]};k.ke=function(a,b){b=b>>1&7;this.b.ya[0][b]=a;this.b.V[0][b]&=65295};k.od=function(a){return this.b.ya[0][(a>>1&7)+8]}; k.ie=function(a,b){b=(b>>1&7)+8;this.b.ya[0][b]=a;this.b.V[0][b]&=65295};k.Xd=function(a){return this.b.V[3][a>>1&7]};k.Pe=function(a,b){this.b.V[3][b>>1&7]=a&65295};k.Vd=function(a){return this.b.V[3][(a>>1&7)+8]};k.Ne=function(a,b){this.b.V[3][(b>>1&7)+8]=a&65295};k.Wd=function(a){return this.b.ya[3][a>>1&7]};k.Oe=function(a,b){b=b>>1&7;this.b.ya[3][b]=a;this.b.V[3][b]&=65295};k.Ud=function(a){return this.b.ya[3][(a>>1&7)+8]};k.Me=function(a,b){b=(b>>1&7)+8;this.b.ya[3][b]=a;this.b.V[3][b]&=65295}; -k.yb=function(a){a&=7;return this.b.N&2048?this.b.Xa[a]:this.b.u[a]};k.Cb=function(a,b){b&=7;this.b.N&2048?this.b.Xa[b]=a:this.b.u[b]=a};k.Cd=function(){return this.b.N&49152?this.b.Ia[0]:this.b.u[6]};k.ue=function(a){this.b.N&49152?this.b.Ia[0]=a:this.b.u[6]=a};k.Fd=function(){return this.b.u[7]};k.xe=function(a){this.b.u[7]=a};k.zb=function(a){a&=7;return this.b.N&2048?this.b.u[a]:this.b.Xa[a]};k.Db=function(a,b){b&=7;this.b.N&2048?this.b.u[b]=a:this.b.Xa[b]=a}; +k.yb=function(a){a&=7;return this.b.N&2048?this.b.Ya[a]:this.b.u[a]};k.Cb=function(a,b){b&=7;this.b.N&2048?this.b.Ya[b]=a:this.b.u[b]=a};k.Cd=function(){return this.b.N&49152?this.b.Ia[0]:this.b.u[6]};k.ue=function(a){this.b.N&49152?this.b.Ia[0]=a:this.b.u[6]=a};k.Fd=function(){return this.b.u[7]};k.xe=function(a){this.b.u[7]=a};k.zb=function(a){a&=7;return this.b.N&2048?this.b.u[a]:this.b.Ya[a]};k.Db=function(a,b){b&=7;this.b.N&2048?this.b.u[b]=a:this.b.Ya[b]=a}; k.Dd=function(){return 1==(this.b.N&49152)>>14?this.b.u[6]:this.b.Ia[1]};k.ve=function(a){1==(this.b.N&49152)>>14?this.b.u[6]=a:this.b.Ia[1]=a};k.Ed=function(){return 3==(this.b.N&49152)>>14?this.b.u[6]:this.b.Ia[3]};k.we=function(a){3==(this.b.N&49152)>>14?this.b.u[6]=a:this.b.Ia[3]=a};k.md=function(a){return this.b.Gc[a-65504>>1]};k.ge=function(a,b){this.b.Gc[b-65504>>1]=a};k.Dc=function(a){if(65520==a){a=0;switch(Ac){case Ac:a=this.v.bc}a=(a>>6)-1}else a=0;return a};k.Kc=function(){};k.Td=function(){return 1}; k.Le=function(){};k.ld=function(){return this.b.Ha};k.fe=function(){this.b.Ha=0};k.td=function(){return this.b.Fc};k.ne=function(a,b){b&1||(a&=255);this.b.Fc=a};k.yd=function(a){return a?this.b.jc:0};k.qe=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.jc=a;b.K|=2};k.Sd=function(a){return a?this.b.Wb&65280:0};k.Ke=function(a){this.b.Wb=a|255};k.Bd=function(){return Tc(this.b)};k.te=function(a){Uc(this.b,a&-1793|Tc(this.b)&1792);this.b.K|=128}; k.Jc=function(a,b){F(this)&&E(this,"writeIgnored("+qa(b)+"): "+qa(a),!0,!0)}; @@ -100,35 +100,35 @@ function I(a,b,c,d,e,f){this.v=a;this.id=Zc+=2;this.b=null;this.F=b;this.Ob=c;th 2);for(f=0;f>2),b=0;b>8,c)},S:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ca:function(a,b){a&1&&this.v.Da(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+ -1]&255)<<8},Za:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Ta=!0},O:function(a,b){if(this.i&&null!=this.F){var c=this.i;id(c,this.F+a,1,c.M)&&c.da(!0)}return this.gc(a,b)},$:function(a,b){if(this.i&&null!=this.F){var c=this.i;id(c,this.F+a,2,c.M)&&c.da(!0)}return this.hc(a,b)},ka:function(a, +1]&255)<<8},$a:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Ta=!0},O:function(a,b){if(this.i&&null!=this.F){var c=this.i;id(c,this.F+a,1,c.M)&&c.da(!0)}return this.gc(a,b)},$:function(a,b){if(this.i&&null!=this.F){var c=this.i;id(c,this.F+a,2,c.M)&&c.da(!0)}return this.hc(a,b)},ka:function(a, b,c){if(this.i&&null!=this.F){var d=this.i;id(d,this.F+a,1,d.D)&&d.da(!0)}this.f?this.B(a,b,c):this.Zb(a,b,c)},wa:function(a,b,c){if(this.i&&null!=this.F){var d=this.i;id(d,this.F+a,2,d.D)&&d.da(!0)}this.f?this.B(a,b,c):this.mc(a,b,c)},M:function(a){return this.G[a]},R:function(a,b){a=this.G[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},X:function(a,b){a&1&&this.v.Da(b,64,2);return this.D.getUint16(a,!0)},Qa:function(a,b){a&1&&this.v.Da(b,64,2); a=this.I[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ia:function(a,b){this.G[a]=b;this.Ta=!0},pa:function(a,b,c){this.G[a]=b;this.Ta=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},va:function(a,b,c){a&1&&this.v.Da(c,64,4);this.D.setUint16(a,b,!0);this.Ta=!0},xa:function(a,b,c){a&1&&this.v.Da(c,64,4);this.I[a>>1]=b;this.Ta=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i, b)+")",!0)}};function sc(a,b,c){a.i=b;a.g=a.C=0;c&&((a.g=c.g)&&hd(a,gd,!1),(a.C=c.C)&&fd(a,gd,!1))}function jd(a,b){b?--a.C||(a.Yb=a.f?a.B:a.Zb,a.Pb=a.f?a.H:a.mc):--a.g||(a.Vb=a.gc,a.ra=a.hc)}function fd(a,b,c){c&&a.C||(a.Yb=!a.f&&b[1]||a.B,a.Pb=!a.f&&b[3]||a.H);if(c||void 0===c)a.Zb=b[1]||a.B,a.mc=b[3]||a.H}function hd(a,b,c){c&&a.g||(a.Vb=b[0]||a.J,a.ra=b[2]||a.L);if(c||void 0===c)a.gc=b[0]||a.J,a.hc=b[2]||a.L}function bd(a,b){b||(b=kd);hd(a,b,void 0);fd(a,b,void 0)} -var kd=[],ed=[I.prototype.S,I.prototype.Za,I.prototype.ca,I.prototype.Ja],gd=[I.prototype.O,I.prototype.ka,I.prototype.$,I.prototype.wa];if(zb)var dd=[I.prototype.M,I.prototype.ia,I.prototype.X,I.prototype.va],cd=[I.prototype.R,I.prototype.pa,I.prototype.Qa,I.prototype.xa]; +var kd=[],ed=[I.prototype.S,I.prototype.$a,I.prototype.ca,I.prototype.Ja],gd=[I.prototype.O,I.prototype.ka,I.prototype.$,I.prototype.wa];if(zb)var dd=[I.prototype.M,I.prototype.ia,I.prototype.X,I.prototype.va],cd=[I.prototype.R,I.prototype.pa,I.prototype.Qa,I.prototype.xa]; function ld(a,b){t.call(this,"CPU",a,ld,1);var c=a.multiplier||1;this.nb=a.cycles||b;this.eb=c;this.Fb=Math.round(this.nb/1E4)/100;this.pb=this.Fb*this.eb;this.w.W=!1;this.w.Xb=!1;this.w.tb=a.autoStart;this.w.ub=!1;this.Kb=this.va=0;this.Lb=a.csStart;this.vb=a.csInterval;this.wb=a.csStop;this.L=[];this.zc=this.be.bind(this);H(this)}z(ld);var md=["power","reset"];k=ld.prototype; k.Ea=function(a,b,c,d){this.C=a;this.v=b;this.i=d;this.B=a.B;for(b=0;b=a.va&&(a.va+=a.vb,c=!0);0<=a.wb&&a.wb<=sd(a)&&(a.vb=a.wb=-1,pd(a),a.da(),c=!0);c&&a.j(sd(a)+" cycles: checksum="+p(a.Kb))}} k.sa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.w.ha)a=!0;else{var b=null,c,h=rb(a.id);for(c=0;ca.ca/a.pb?b=1:d=!0;a.eb=b;b=a.Fb*a.eb;if(a.pb!=b){a.pb=b;b=a.pb.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.C&&a.C.sb()}dc(a,a.$);a.$=0;a.X=Aa();a.ia=0;ud(a);return d}function Nc(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Pc(a,b,c,d){0<=b&&ba.L[b][0])&&(c=a.nb*a.eb/1E3*c|0,a.w.W&&(c+=vd(a)),a.L[b][0]=c)} +function td(a,b,c){var d=!1;if(void 0!==b){.8>a.ca/a.pb?b=1:d=!0;a.eb=b;b=a.Fb*a.eb;if(a.pb!=b){a.pb=b;b=a.pb.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.C&&a.C.sb()}dc(a,a.$);a.$=0;a.X=Aa();a.ia=0;ud(a);return d}function Gc(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Pc(a,b,c,d){0<=b&&ba.L[b][0])&&(c=a.nb*a.eb/1E3*c|0,a.w.W&&(c+=vd(a)),a.L[b][0]=c)} function wd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function cc(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function vd(a,b){var c=a.ka-=a.b;a.b=a.I=0;b&&(a.ka=0);return c} k.be=function(){if(this.w.W){this.Gb>=this.nb&&ud(this,!0);this.Ra=0;this.lb=Aa();if(this.ia){var a=this.lb-this.ia;a>this.wc&&(this.X+=a,this.X>this.lb&&(this.X=this.lb))}try{do{var b=wd(this,this.w.ub?1:this.ob);try{this.ib(b)}catch(e){if("number"!=typeof e)throw e;}b=vd(this,!0);this.Ra+=b;this.$+=b;ec(this,b);cc(this,b);this.wa-=b;if(0>=this.wa){this.wa+=this.ob;15<=++this.yc&&(this.oa(),this.yc=0);break}}while(this.w.W)}catch(e){this.da();this.C&&this.C.stop(Aa(),sd(this));yb(this,e.stack||e.message); return}if(this.w.W){a=setTimeout;b=this.zc;this.ia=Aa();var c=this.wc;this.Ra&&(c=Math.round(c*this.Ra/this.ob));var c=c-(this.ia-this.lb),d=this.ia-this.X;d&&(this.ca=Math.round(this.$/(10*d))/100,864E5<=d&&(this.pa=0,td(this)));if(0>c||this.cac&&(this.X-=c),c=0;this.Gb+=this.Ra;this.ia+=c;a(b,c)}}}; k.hb=function(a){if(xb(this))return!1;if(this.w.W)return this.j(this.toString()+" busy"),!1;td(this);this.w.W=!0;this.w.Xb=!0;var b=this.G.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.sb(!0),this.C.start(this.X,sd(this)));setTimeout(this.zc,0);return!0};k.ib=function(){return 0};k.da=function(a){var b=!1;if(this.w.W){vd(this);dc(this,this.$);this.$=0;this.w.W=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(Aa(),sd(this));b=!0}this.w.complete=a;return b}; -function xd(a){this.cb=+a.model||1170;this.Tb=a.addrReset||0;ld.call(this,a,6666667);this.decode=1120==this.cb?yd.bind(this):zd.bind(this);Ad(this);this.M=0;this.O=null;this.w.complete=!1}z(xd,ld);k=xd.prototype;k.reset=function(){this.status("model "+this.cb);this.w.W&&this.da();Ad(this);od(this);this.w.error=!1;this.parent.reset.call(this)}; -function Ad(a){a.T=65536;a.U=32768;a.aa=65535;a.Z=32768;a.N=15;a.u=[0,0,0,0,0,0,0,a.Tb];a.Xa=[0,0,0,0,0,0];a.Ia=[0,0,0,0];a.A=0;a.jb=0;a.Xc=[4,2,0,1];a.V=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ya=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Nb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +function xd(a){this.Wa=+a.model||1170;this.Tb=a.addrReset||0;ld.call(this,a,6666667);this.decode=1120==this.Wa?yd.bind(this):zd.bind(this);Ad(this);this.M=0;this.O=null;this.w.complete=!1}z(xd,ld);k=xd.prototype;k.reset=function(){this.status("model "+this.Wa);this.w.W&&this.da();Ad(this);od(this);this.w.error=!1;this.parent.reset.call(this)}; +function Ad(a){a.T=65536;a.U=32768;a.aa=65535;a.Z=32768;a.N=15;a.u=[0,0,0,0,0,0,0,a.Tb];a.Ya=[0,0,0,0,0,0];a.Ia=[0,0,0,0];a.A=0;a.jb=0;a.Xc=[4,2,0,1];a.V=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ya=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Nb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0];a.Gc=[0,0,0,0,0,0,0,0];a.Fc=0;a.K=0;a.D=a.H=0;a.g=a.f=a.Eb=0;a.xa=-1;bc(a)}function bc(a){a.Wb=255;a.Ha=0;a.jc=0;a.J=0;a.Ac=0;a.Bc=0;a.qb=0;a.Va=0;a.kb=0;a.Ja=262143;a.S=0;a.Ib=0;a.O=null;a.v&&Sc(a)}function Sc(a){a.Va?(a.R=65536,a.ba=a.Vc,a.ra=a.Zd,a.Pb=a.Re,uc(a.v,a.qb&16?22:18)):(a.R=0,a.ba=a.Uc,a.ra=a.Ec,a.Pb=a.Lc,uc(a.v,16))}k.sc=function(){return 0};k.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.pa,this.eb]);a.set(2,Dc(this.v));return a.data()}; k.restore=function(a){var b=a[1];this.pa=b[1];td(this,b[3]);a:{b=this.v;a=a[2];var c;for(c=0;c>14&3;c=a.N>>14&3;a.A!=c&&(a.Ia[c]=a.u[6],a.u[6]=a.Ia[a.A]);a.N=b;a.K|=2}function Q(a,b){a.K&128||(a.Z=a.aa=b,a.U=0)}function Id(a,b,c){a.K&128||(a.Z=a.aa=a.T=b,a.U=c||0)} +function Hd(a){return a.K&64?(a.ta(168,64,-5),!0):a.K&32?(a.ta(4,32,-4),!0):a.K&16?(a.ta(12,16,-6),!0):!1}function Tc(a){return a.N=a.N&63728|a.Ua()|Dd(a)|Cd(a)|Bd(a)}function Uc(a,b){a.Z=b<<12;a.aa=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.N)&2048)for(var c=a.Ya.length;0<=--c;){var d=a.u[c];a.u[c]=a.Ya[c];a.Ya[c]=d}a.A=b>>14&3;c=a.N>>14&3;a.A!=c&&(a.Ia[c]=a.u[6],a.u[6]=a.Ia[a.A]);a.N=b;a.K|=2}function Q(a,b){a.K&128||(a.Z=a.aa=b,a.U=0)}function Id(a,b,c){a.K&128||(a.Z=a.aa=a.T=b,a.U=c||0)} function Jd(a,b,c,d){a.K&128||(a.Z=a.aa=a.T=b,a.U=(c^b)&(d^b))}function ee(a,b){a.K&128||(a.Z=a.aa=a.T=b,a.U=a.Z^a.T>>1)}function fe(a,b,c,d){a.K&128||(a.Z=a.aa=a.T=b,a.U=(c^d)&(d^b))} k.ta=function(a,b,c){if(!this.M){0>this.xa?this.xa=Tc(this):this.A||(a=4,this.Ha|=4,this.u[6]=4,c=-3);this.Ib=a;this.A=this.S=0;var d=this.ra(a|this.R),e=this.ra(a+2&65535|this.R);Uc(this,e&-12289|this.xa>>2&12288);ge(this,this.xa);ge(this,this.u[7]);O(this,d);this.K&=~(b|18);this.K|=9;this.xa=-1;this.jd=a;this.Zc=c;if(-3<=c)throw a;}};function he(a){var b=ie(a),c=ie(a)&-1793;a.N&49152&&(c=c&-225|a.N&63712);O(a,b);Uc(a,c);a.K&=-17} function Cc(a,b){var c=b>>13&31;31>c&&a.qb&32&&(b=a.Nb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} function je(a,b,c){var d,e,f;if(!(c&a.Va))return b;d=b>>13;a.qb&a.Xc[a.A]||(d&=7);e=a.V[a.A][d];f=(a.ya[a.A][d]<<6)+(b&8191)&a.Ja;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.V[a.A][d]=e;if(f!=(4194170&a.Ja)||a.A)a.kb=a.A,a.jb=d;b=!1;g&&(g&57344&&(0<=a.xa&&(g|=128),a.J&57344||(a.J=a.J|g|a.kb<<5|a.jb<< -1),b=!0),a.J&61440||!(f<(4191360&a.Ja)||f>(4194239&a.Ja))||(a.J|=4096,a.J&512&&(a.K|=64)),b&&a.ta(168,0,-1));return f}function ke(a,b){return a.v.Hb(b)}function ie(a){var b=a.ra(a.u[6]|a.R);a.u[6]=a.u[6]+2&65535;return b}function ge(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.S=a.S<<8|246;le(a,0,c);a.Pb(c,b)}function le(a,b,c){!a.A&&c<=a.Wb&&(b||4(4194239&a.Ja))||(a.J|=4096,a.J&512&&(a.K|=64)),b&&a.ta(168,0,-1));return f}function ke(a,b){return a.v.Hb(b)}function ie(a){var b=a.ra(a.u[6]|a.R);a.u[6]=a.u[6]+2&65535;return b}function ge(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.S=a.S<<8|246;le(a,0,c);a.Pb(c,b)}function le(a,b,c){!a.A&&c<=a.Wb&&(b||4c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!=c&&(e|=g);e=a.ra(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!=c&&(e|=g);e=a.ra(e)|g;a.b-=8;break;case 6:return e=a.ra(Fd(a,2)),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=a.ra(Fd(a,2)),e=e+ -a.u[c]&65535,e=a.ra(e|a.R)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;a.S=a.S<<8|f<<3&248|c;6==c&&0>f&&le(a,b,a.u[6]);return e}k.Ub=function(a){if(!this.Va)return this.v.Ub(a);this.M++;a=ke(this,je(this,a,3));this.M--;return a};k.bb=function(a){if(!this.Va)return this.v.bb(a);this.M++;a=this.Ec(je(this,a,2));this.M--;return a};k.rb=function(a,b){this.Va?(this.M++,a=je(this,a,5),a&1&&this.b--,this.v.Ab(a,b),this.M--):this.v.rb(a,b)}; +a.u[c]&65535,e=a.ra(e|a.R)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;a.S=a.S<<8|f<<3&248|c;6==c&&0>f&&le(a,b,a.u[6]);return e}k.Ub=function(a){if(!this.Va)return this.v.Ub(a);this.M++;a=ke(this,je(this,a,3));this.M--;return a};k.cb=function(a){if(!this.Va)return this.v.cb(a);this.M++;a=this.Ec(je(this,a,2));this.M--;return a};k.rb=function(a,b){this.Va?(this.M++,a=je(this,a,5),a&1&&this.b--,this.v.Ab(a,b),this.M--):this.v.rb(a,b)}; k.Bb=function(a,b){this.Va?(this.M++,this.Lc(je(this,a,4),b),this.M--):this.v.Bb(a,b)};k.Uc=function(a,b,c){return me(this,a,b,c)};k.Vc=function(a,b,c){return je(this,me(this,a,b,c),c)};k.Ec=function(a){return this.v.na(a)};k.Zd=function(a){return this.v.na(je(this,a,2))};k.Lc=function(a,b){this.v.gb(a,b&65535)};k.Re=function(a,b){this.v.gb(je(this,a,4),b)}; function ne(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=me(a,b,d,2),c&65536||61440!==(a.N&61440)&&(d&=65535),a.A=a.N>>12&3,c=a.ra(d|c&a.R),a.A=a.N>>14&3):c=6!=d||(a.N>>2&12288)===(a.N&12288)?a.u[d]:a.Ia[a.N>>12&3];return c}function oe(a,b,c,d){a.S=22;var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=me(a,b,e,4),c&65536||(e&=65535),a.A=a.N>>12&3,e=je(a,e|c&65536,4),a.A=a.N>>14&3,a.v.gb(e,d)):6!=e||(a.N>>2&12288)===(a.N&12288)?a.u[e]=d:a.Ia[a.N>>12&3]=d} function pe(a,b){b>>=6;var c=a.H=b&7;return(b=a.D=(b&56)>>3)?ke(a,a.ba(b,c,3)):-c-1}function qe(a,b){var c;b>>=6;var d=a.H=b&7;(b=a.D=(b&56)>>3)?c=a.v.na(a.ba(b,d,2)):c=-d-1;return c}function re(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return me(a,b,c,8)}function se(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?ke(a,a.ba(b,c,3)):a.u[c]&255}function te(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.v.na(a.ba(b,c,2)):a.u[c]} @@ -147,8 +147,8 @@ function gf(a){var b=qe(this,a);a=te(this,a);Q(this,(0>b?this.u[-b-1]:b)&a);this function nf(a){T(this,a,Dd(this)||!this.Ua()!=!Cd(this))}function of(a){T(this,a,Bd(this)||Dd(this))}function pf(a){T(this,a,!this.Ua()!=!Cd(this))}function qf(a){T(this,a,this.Ua())}function rf(a){T(this,a,!Dd(this))}function sf(a){T(this,a,!this.Ua())}function tf(){this.ta(12,0,-8);this.b-=5}function uf(a){T(this,a,!0)}function vf(a){T(this,a,!Cd(this))}function wf(a){T(this,a,Cd(this))}function U(a){a&1&&(this.T=0);a&2&&(this.U=0);a&4&&(this.aa=1);a&8&&(this.Z=0);this.b-=5} function xf(a){var b=qe(this,a);a=te(this,a);var c=(b=0>b?this.u[-b-1]:b)-a;fe(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function yf(a){var b=pe(this,a);a=se(this,a);var c=(b=(0>b?this.u[-b-1]&255:b)<<8)-(a<<=8);fe(this,c,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)} function zf(a){var b=te(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.aa=d>>16|d,this.Z=d>>16):(this.U=32768,this.aa=d>>15|d,this.Z=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.aa=this.Z=0,this.U=32768,this.T=65536,this.b-=7}function Af(){this.ta(24,0,-8);this.b-=25} -function Bf(){this.N&49152?(this.Ha|=128,this.ta(4,0,-7)):(this.B&&this.B.setData(this.u[0],!0),this.i?Cf(this.i):this.da());this.b-=7}function Df(){this.ta(16,0,-8);this.b-=25}var Ef=[0,7,7,10,7,11,9,13];function Ff(a){this.I=this.b;O(this,re(this,a));this.b=this.I-Ef[this.g]}var Gf=[0,14,14,17,14,18,16,20];function Hf(a){this.I=this.b;var b=re(this,a);a=a>>6&7;ge(this,this.u[a]);this.u[a]=this.u[7];O(this,b);this.b=this.I-Gf[this.g]}var If=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function Jf(a){var b=qe(this,a);this.I=this.b;Q(this,ve(this,a,b));this.b=this.I-If[(this.D?8:0)+this.g]+(7!=this.f||this.g?0:2)}function Kf(a){var b=pe(this,a);Q(this,ue(this,a,b,65535)<<8);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}var Lf=[7,13,13,17,14,18,17,21]; +function Bf(){this.N&49152?(this.Ha|=128,this.ta(4,0,-7)):(this.B&&1120==this.Wa&&this.B.setData(this.u[0],!0),this.i?Cf(this.i):this.da());this.b-=7}function Df(){this.ta(16,0,-8);this.b-=25}var Ef=[0,7,7,10,7,11,9,13];function Ff(a){this.I=this.b;O(this,re(this,a));this.b=this.I-Ef[this.g]}var Gf=[0,14,14,17,14,18,16,20];function Hf(a){this.I=this.b;var b=re(this,a);a=a>>6&7;ge(this,this.u[a]);this.u[a]=this.u[7];O(this,b);this.b=this.I-Gf[this.g]} +var If=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Jf(a){var b=qe(this,a);this.I=this.b;Q(this,ve(this,a,b));this.b=this.I-If[(this.D?8:0)+this.g]+(7!=this.f||this.g?0:2)}function Kf(a){var b=pe(this,a);Q(this,ue(this,a,b,65535)<<8);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}var Lf=[7,13,13,17,14,18,17,21]; function Mf(a){var b=te(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.K&128||(this.Z=b>>16,this.aa=this.Z|b,this.U=0,this.T=-32768>b||32767>6;if(this.u[b]=this.u[b]-1&65535)O(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Sf(a){S(this,a,qe(this,a),Ue);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Tf(a){S(this,a,0,We);this.b-=this.g?9:3+(7==this.f?2:0)}function Uf(){this.ta(28,0,-8);this.b-=5} function Vf(){this.B&&(this.B.kc(this.u[7],!0),this.B.setData(this.u[0],!0));this.K|=4;Fd(this,-2);this.b-=3}function Wf(a){S(this,a,qe(this,a),Xe);this.b-=this.g?9:3+(7==this.f?2:0)}function V(a){var b;if(b=this.i)b=this.i,F(b,1)?(E(b,"undefined opcode "+J(b,a),!0,!0),b=Cf(b)):b=!1;b||this.ta(8,0,-8)}function yd(a){Xf[a>>12].call(this,a)}function Yf(a){Zf[a>>6&3].call(this,a)}function $f(a){ag[a>>6&3].call(this,a)}function bg(a){cg[a>>6&3].call(this,a)}function dg(a){eg[a&15].call(this,a)} @@ -161,50 +161,50 @@ ue(this,a,0,255));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Je) var rg=[function(a){sg[a>>8&15].call(this,a)},Jf,xf,gf,cf,ef,Ye,function(a){tg[a>>8&15].call(this,a)},function(a){ug[a>>8&15].call(this,a)},Kf,yf,hf,df,ff,Sf,V],sg=[function(a){vg[a>>4&15].call(this,a)},uf,rf,jf,kf,pf,lf,nf,Hf,Hf,Yf,$f,bg,function(a){wg[a>>6&3].call(this,a)},V,V],wg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.ra(a|this.R);O(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=ne(this,a,0);ge(this,a);Q(this,a);this.b-=11},function(a){var b=ie(this);this.I= this.b;oe(this,a,0,b);Q(this,b);this.b=this.I-Lf[this.g]},function(a){Q(this,ve(this,a,this.Ua?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],vg=[function(a){xg[a&15].call(this,a)},V,V,V,Ff,Ff,Ff,Ff,Pf,function(a){a&8?(this.N&49152||(this.N=this.N&-2017|(a&7)<<5,this.K|=1),this.b-=5):V.call(this,a)},dg,fg,Tf,Tf,Tf,Tf],xg=[Bf,Vf,function(){he(this);this.K|=this.N&16;this.b-=13},tf,Df,Of,Qf,function(){this.ta(8,0,-8)},V,V,V,V,V,V,V,V],tg=[Mf,Mf,zf,zf,Ze,Ze,$e,$e,Wf,Wf,V,V,V,V,Rf,Rf],ug=[sf,qf,mf,of, vf,wf,af,bf,Af,Uf,hg,jg,lg,function(a){yg[a>>6&3].call(this,a)},V,V],yg=[V,function(a){a=ne(this,a,65536);ge(this,a);Q(this,a);this.b-=11},function(a){var b=ie(this);this.I=this.b;oe(this,a,65536,b);Q(this,b);this.b=this.I-Lf[this.g]},V]; -function zg(a){t.call(this,"ROM",a,zg);this.ga=this.g=null;this.A=a.addr;this.f=a.size;this.D=!1;this.B=a.alias;this.C=a.file;this.H=ra(this.C);if(this.C){a=this.C;var b=sa(this.H);"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;Ca(a,null,!0,function(a,b,f){f?(c.P("Unable to load ROM resource (error "+f+": "+a+")"),c.C=null):(qb(c.Qa,a,b),(a=Ea(a,b))?(c.g=a.ea,c.ga=a.ga):c.C=null);Ag(c)})}}z(zg);k=zg.prototype; +function zg(a){t.call(this,"ROM",a,zg);this.ga=this.g=null;this.A=a.addr;this.f=a.size;this.D=!1;this.B=a.alias;this.C=a.file;this.H=ra(this.C);if(this.C){a=this.C;var b=sa(this.H);"json"!=b&&"hex"!=b&&(a=Fa()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;Da(a,null,!0,function(a,b,f){f?(c.P("Unable to load ROM resource (error "+f+": "+a+")"),c.C=null):(qb(c.Qa,a,b),(a=Ea(a,b))?(c.g=a.ea,c.ga=a.ga):c.C=null);Ag(c)})}}z(zg);k=zg.prototype; k.Ea=function(a,b,c,d){this.v=b;this.b=c;this.i=d;Ag(this)};k.Ga=function(){this.ga&&(this.i&&Tg(this.i,this.id,this.A,this.f,this.ga),delete this.ga);return!0};k.Fa=function(){return!0}; -function Ag(a){if(!wb(a)){if(a.C){if(!a.g||!a.v)return;a.f||(a.f=a.g.length);if(a.g.length!=a.f)yb(a,"ROM size ("+p(a.g.length,8,!0)+") does not match specified size ("+p(a.f,8,!0)+")");else{var b;a:{b=a.A;a.status(a.f+"-byte ROM at "+qa(b));if(57344<=b&&b<57344+nc){var c={};b=(c[b]=[zg.prototype.Nd,zg.prototype.Fe,null,null,null,a.f>>1],c);if(Hb(a.v,a,b,256,a.Za)){b=a.D=!0;break a}}else if(xc(a.v,b,a.f,ad)){for(c=0;c>1],c);if(Hb(a.v,a,b,256,a.$a)){b=a.D=!0;break a}}else if(xc(a.v,b,a.f,ad)){for(c=0;c>>a.ja;0=b.length)break;for(var h=h+2,m=b[h++]&255|(b[h++]&255)<<8,n=b[h++]&255|(b[h++]&255)<<8,l=l+((m&255)+(m>>8)+(n&255)+(n>>8)),v=h,r=m-=6;0=b.length)break;l+=b[h++]&255;if(l&255)break;if(r)for(E(a,"loading "+p(r,4,!0)+" bytes at "+p(n,4,!0)+"-"+p(n+r-1,4,!0),1048576);r--;)a.b.rb(n++,b[v++]&255);else n&1?a.b.da():null==d&& -(d=n),null!=d&&E(a,"starting address: "+p(d,4,!0),1048576);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=b)a.preventDefault&&a.preventDefault(),64e.J&&(e.J-=32),e.g|=128,e.g&64&&Oc(e.b,e.ka))});this.M=Qc(52,4);this.ia=Nc(this.b,function(){e.f|=128;e.f&64&&Oc(e.b,e.M)});Hb(b,this,Zg);Jb(b,this.reset.bind(this));H(this)}; -k.xc=function(){if(!this.I){var a=nd(this.C,"connection");if(a){var b=a.split("->");if(2==b.length){var c=xa(b[0]);if(c!=this.Za)return;b=xa(b[1]);if(this.I=sb(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.L=d.receiveData){this.status(this.Qa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ga=function(a,b){if(!b)if(this.xc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.Fa=function(a){return a?this.save():!0};k.reset=function(){$g(this)};k.save=function(){var a=new N(this);a.set(0,[]);return a.data()};k.restore=function(){return $g(this)};function $g(a){a.J=0;a.g=0;a.f=128;a.A=[];return!0}k.ic=function(a){if("number"==typeof a)this.A.push(a);else if("string"==typeof a)for(var b=0;be.J&&(e.J-=32),e.f|=128,e.f&64&&Oc(e.b,e.ka))});this.M=Qc(52,4);this.ia=Gc(this.b,function(){e.g|=128;e.g&64&&Oc(e.b,e.M)});Hb(b,this,Zg);Jb(b,this.reset.bind(this));H(this)}; +k.xc=function(){if(!this.I){var a=nd(this.C,"connection");if(a){var b=a.split("->");if(2==b.length){var c=xa(b[0]);if(c!=this.$a)return;b=xa(b[1]);if(this.I=sb(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.L=d.receiveData){this.status(this.Qa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ga=function(a,b){if(!b)if(this.xc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +k.Fa=function(a){return a?this.save():!0};k.reset=function(){$g(this)};k.save=function(){var a=new N(this);a.set(0,[]);return a.data()};k.restore=function(){return $g(this)};function $g(a){a.J=0;a.f=0;a.g=128;a.A=[];return!0}k.ic=function(a){if("number"==typeof a)this.A.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.H%a,this.S&&(b=wa("",c)));this.R&&!this.H&&c&&(b=String.fromCharCode(this.R)+b);this.B.value+=b;this.B.scrollTop=this.B.scrollHeight;this.H+=c}else if(null!=this.D){if(10==a||1024<=this.D.length)this.j(this.D), -this.D="";10!=a&&(this.D+=String.fromCharCode(a))}this.f&=-129;Pc(this.b,this.ia,1E3/Math.round(this.ca/10))}};var ah={},Zg=(ah[65392]=[null,null,X.prototype.Hd,X.prototype.ze,"RCSR"],ah[65394]=[null,null,X.prototype.Gd,X.prototype.ye,"RBUF"],ah[65396]=[null,null,X.prototype.ae,X.prototype.Te,"XCSR"],ah[65398]=[null,null,X.prototype.$d,X.prototype.Se,"XBUF"],ah);Za(function(){for(var a=D(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.G[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.G[b]=c,c.onclick= function(){var a=d.G.listTapes;a&&dh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.G[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;dh(d,ra(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.G[b]=c,!0}return!1}; -k.Ea=function(a,b,c,d){this.C=a;this.v=b;this.b=c;this.i=d;this.S=eh(a);var e=this;if((this.g=nd(this.C,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){q("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.X=Qc(56,4);this.ca=Nc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.Jc.indexOf("/api/v1/dump")&&(e=sa(c),f="json"==e||"gz"==e?encodeURI(c):Fa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ca(f,null,!0,function(e,f,g){var h=0>g&&a.C&&!a.C.w.ha;g?a.P('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(qb(a.Qa,e,f),(e=Ea(e,f))&&nh(a,b,c,d,e.ea,e.La, -e.Ka));a.w.ab=!1;a.D&&(a.D--,a.D||H(a));kh(a)})}function hh(a,b,c,d){if((a=a.G.listTapes)&&a.options){for(var e=0;ec.indexOf("/api/v1/dump")&&(e=sa(c),f="json"==e||"gz"==e?encodeURI(c):Fa()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Da(f,null,!0,function(e,f,g){var h=0>g&&a.C&&!a.C.w.ha;g?a.P('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(qb(a.Qa,e,f),(e=Ea(e,f))&&nh(a,b,c,d,e.ea,e.La, +e.Ka));a.w.bb=!1;a.D&&(a.D--,a.D||H(a));kh(a)})}function hh(a,b,c,d){if((a=a.G.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ua);for(d=0;dc.indexOf("/api/v1/dump")&&(b=sa(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"):ta(c,"/")&&(d="dir"),f=Fa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ec?"":e)+"&format=json"));return!!Ca(f, +function th(a,b,c,d,e){var f=c;if(a.v)return!0;a.Za=b;a.fb=c;a.Ic=ra(c);a.v=e;a.A=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.ua=e[0];a.Aa=e[1];a.qa=e[2];a.Ma=e[3]||512;c=a.Ma>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ua);for(d=0;dc.indexOf("/api/v1/dump")&&(b=sa(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"):ta(c,"/")&&(d="dir"),f=Fa()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.ec?"":e)+"&format=json"));return!!Da(f, null,!0,function(b,c,d){uh(a,b,c,d)})} -function uh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.C&&!a.C.w.ha;if(d)a.controller.P('Unable to load disk "'+a.Ya+'" (error '+d+": "+b+")",f);else{qb(a.controller.Qa,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ +function uh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.C&&!a.C.w.ha;if(d)a.controller.P('Unable to load disk "'+a.Za+'" (error '+d+": "+b+")",f);else{qb(a.controller.Qa,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ c+")");if(h.length)if(1==h.length)q(h[0]);else{a.ua=h.length;a.Aa=h[0].length;a.qa=h[0][0].length;var l=h[0][0][0];a.Ma=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var v=l.data;if(void 0===v){var r=l.bytes;if(void 0!==r&&r.length){for(var w=m<<2,y=r.length;y>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ba?f=a.Pa+a.Ba&&(a.Ba+=f-(a.Pa+a.Ba)+1):(a.Pa=f,a.Ba=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;lb&&-2!=b&&this.controller.P("Unable to restore disk '"+this.Ya+": "+c);return b}; +b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;lb&&-2!=b&&this.controller.P("Unable to restore disk '"+this.Za+": "+c);return b}; k.toJSON=function(){var a;a=0;for(var b;b=wh(this,a++);)yh(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 yh(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)}}function M(a){t.call(this,"RL11",a,M,4194304);this.B=a.autoMount||null;this.H=0;this.f=Array(4);this.L=!Ra("Mobi")&&window&&"FileReader"in window}z(M);k=M.prototype; k.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.G[b]=c,c.onchange=function(){var a=d.G.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){q("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.G[b]=c,c.onchange=function(){var a=pa(c.value,10);null!=a&&zh(d,a)},!0;case "loadDrive":return this.G[b]= @@ -216,10 +216,10 @@ k.Ga=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.C.rc){for(a k.restore=function(a){return Bh(this,a[0])};function Eh(a,b){b||(a.H=0);if(a.B)for(var c in a.B){var d=a.B[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.G.listDisks)&&f.options)for(var g=0;gg||9e||e>=a.f.length)a.P("Unable to load the selected drive");else if(c)if("?"==c)a.P('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ra(c);a.status("Attempting to load "+c+' as "'+b+'"')}Gh(a,e,b,c,!1,d)}else Fh(a,e)} function Gh(a,b,c,d,e,f){var g=-1,h=a.f[b];h.fb.toLowerCase()!=d.toLowerCase()&&(g++,Fh(a,b,!0),h.dc?a.P("RL11 busy"):(h.dc=!0,e&&(h.cc=!0,a.H++,F(a)&&E(a,"auto-loading disk: "+c)),h.Qb=!!f,th(new ph(a,h,"preload"),c,d,f,a.Rc)&&g++));return g} -k.Rc=function(a,b,c,d,e){var f;a.dc=!1;b&&(f=b.b.length?[b.b.length,b.b[0].length,b.b[0][0].length,b.b[0][0][0].length]:[0,0,0,0],b&&f[0]>a.ua||f[1]>a.Aa)&&(this.P('Disk "'+c+'" too large for drive '+("RL"+a.fc)),b=null);b?(a.Ca=b,a.Ya=c,a.fb=d,this.P('Mounted disk "'+c+'" in drive '+("RL"+a.fc),a.cc||e),this.C&&this.C.sb()):a.Qb=!1;a.cc&&(a.cc=!1,--this.H||H(this));zh(this,a.fc)}; +k.Rc=function(a,b,c,d,e){var f;a.dc=!1;b&&(f=b.b.length?[b.b.length,b.b[0].length,b.b[0][0].length,b.b[0][0][0].length]:[0,0,0,0],b&&f[0]>a.ua||f[1]>a.Aa)&&(this.P('Disk "'+c+'" too large for drive '+("RL"+a.fc)),b=null);b?(a.Ca=b,a.Za=c,a.fb=d,this.P('Mounted disk "'+c+'" in drive '+("RL"+a.fc),a.cc||e),this.C&&this.C.sb()):a.Qb=!1;a.cc&&(a.cc=!1,--this.H||H(this));zh(this,a.fc)}; function Dh(a,b,c,d){if((a=a.G.listDisks)&&a.options){for(var e=0;e>12&48;this.J=f>>16&63;this.A=this.g=b<<7|(c?64:0)|d&63;this.D=65536-e&65535;a&&(this.fa=this.fa|a|32768);return!0}; k.nd=function(a,b,c,d,e,f,g){var h=0,l=a.Ca,m=null,n;l||(h=5120,e=0);for(;e--;){if(!m){m=a.Ca.seek(b,c,d+1);if(!m){h=5120;break}n=0}var v,r;if(0>(v=a.Ca.read(m,n++))||0>(r=a.Ca.read(m,n++))){h=5120;break}this.v.gb(f,v|r<<8);if(Fc(this.v)){h=8192;break}f+=2;if(n>=l.Ma&&(m=null,++d>=l.qa&&(d=0,++c>=l.Aa&&(c=0,++b>=l.ua)))){h=5120;break}}return g(h,b,c,d,e,f)}; k.he=function(a,b,c,d,e,f,g){var h=0,l=a.Ca,m=null,n;l||(h=5120,e=0);for(;e--;){var v=this.v.na(f);if(Fc(this.v)){h=8192;break}f+=2;if(!m){m=a.Ca.seek(b,c,d+1,!0);if(!m){h=5120;break}n=0}if(!a.Ca.write(m,n++,v&255)||!a.Ca.write(m,n++,v>>8)){h=5120;break}if(n>=l.Ma&&(m=null,++d>=l.qa&&(d=0,++c>=l.Aa&&(c=0,++b>=l.ua)))){h=5120;break}}return g(h,b,c,d,e,f)};k.Kd=function(){return this.fa&65535}; @@ -241,14 +241,14 @@ Xh={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032 33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106,32768],35072:[107,32768]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74, 63],35904:[72,63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Yh=[0],Zh= [58,60,65,96,108,110,100,101,102,103,104,105,59,64];k=Rh.prototype; -k.Ea=function(a,b,c,d){this.v=b;this.C=a;this.b=c;this.B=a.B;(a=nd(a,"messages"))&&Uh(this,a);this.ob=Xh;this.Eb=1145>this.b.cb?Zh:[];$h(this,function(a){a:{var b=d.v.Y,c=a[0],e=a=0,l=b.length;if(c){a=d.ba(ai(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.v.ja;l=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Bc[c],n&&d.j(p(n.id,8)+" %"+ +k.Ea=function(a,b,c,d){this.v=b;this.C=a;this.b=c;this.B=a.B;(a=nd(a,"messages"))&&Uh(this,a);this.ob=Xh;this.Eb=1145>this.b.Wa?Zh:[];$h(this,function(a){a:{var b=d.v.Y,c=a[0],e=a=0,l=b.length;if(c){a=d.ba(ai(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.v.ja;l=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Bc[c],n&&d.j(p(n.id,8)+" %"+ p(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"}k.uc=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Xa[a-8]:20>a?b=this.b.Ia[a-16]:20==a?b=Tc(this.b):21==a&&this.B&&kc(this.B)&&(b=this.B.Wa));return b}; +k.tc=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;case "SR":b=21;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7a?"R"+a:6==a?"SP":"PC"}k.uc=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Ya[a-8]:20>a?b=this.b.Ia[a-16]:20==a?b=Tc(this.b):21==a&&this.B&&kc(this.B)&&(b=this.B.Xa));return b}; k.message=function(a,b){b&&(a+=" @"+J(this,Y(this.b.Ib).F));if(this.ma&1073741824)this.va.push(a);else if(!this.ia||a!=this.ia){this.ia=a;if(this.ma&-2147483648&&this.b&&this.b.w.W||vb(this,!0))this.da(),a+=" (cpu halted)";this.j(a);this.b&&(a=this.b,vd(a),a.wa=0,a.oa())}}; function Th(a){var b;if(!we(a))a.H&&a.H.length&&a.j("instruction history buffer freed"),a.$=0,a.H=[];else if(!a.H||!a.H.length){a.H=Array(1E3);for(b=0;bd&&(d=a.b.bb(b)),65535!=(d&65535)&&(a.kc(a.H[a.$],b),++a.$==a.H.length&&(a.$=0)));return!1}function Cf(a){var b=a.b;if(b.w.W)throw O(b,a.b.Ib),a.da(),-1;return!1} +function xe(a,b,c){var d=-1;c||(d=a.b.cb(b),0==d&&(b=Fd(a.b,2)));if(0d&&(d=a.b.cb(b)),65535!=(d&65535)&&(a.kc(a.H[a.$],b),++a.$==a.H.length&&(a.$=0)));return!1}function Cf(a){var b=a.b;if(b.w.W)throw O(b,a.b.Ib),a.da(),-1;return!1} function Sh(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b>>d.ja],!1)}a.M=["br"];if(a.D)for(b=1;b>>d.ja],!0);a.D=["bw"];a.lb=0}k.mb=function(a,b,c){var d=!0;c||ki(this,a,b,!1,!0);if(a!=this.f){var e=this.ba(b);if(-1===e)this.j("invalid address: "+J(this,b.F)),d=!1;else{var f=this.v;f.Y[e>>>f.ja].mb(e&f.v,a==this.D)}}d&&(a.push(b),c?b.Oa=!0:(li(this,a,a.length-1,"set"),Th(this)));return d}; function ki(a,b,c,d,e){var f=!1;c=a.ba(c);for(var g=1;g>>d.ja],b==a.D));h.Oa||Th(a);break}}return f}function mi(a,b){for(var c=1;c>23)&65535,x=J(w,r);else if(8192==C)r=r.F-((f&63)<<1)&65535,x=J(w,r);else if(12288==C)x=J(w,f&7,1);else if(24576==C)x=J(w,f&63,1);else if(32768==C)x=J(w,f&255,1);else if(C=f&y,y&4032&&(C>>=6,y>>=6), y&63)switch(y=C&7,C&56){case 0:x=fi(y);break;case 8:x="@"+fi(y);break;case 16:7>y?x="("+fi(y)+")+":(C=w.na(r,2),x="#"+J(w,C,0,!0));break;case 24:7>y?x="@("+fi(y)+")+":(C=w.na(r,2),x="@#"+J(w,C,0,!0));break;case 32:x="-("+fi(y)+")";break;case 40:x="@-("+fi(y)+")";break;case 48:C=w.na(r,2);x=J(w,C,0,!0)+"("+fi(y)+")";7==y&&(x=J(w,C+r.F&65535));break;case 56:C=w.na(r,2),x="@"+J(w,C)+"("+fi(y)+")",7==y&&(x="@"+J(w,C+r.F&65535))}w=x;if(!w||!w.length){h="INVALID";break}"string"!=typeof w&&(m=w[1],w=w[0]); 0b?(c=fi(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Xa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.Ia[b-16]):20==b?c="PS="+J(a,Tc(d)):21==b&&a.B&&kc(a.B)&&(c="SR="+J(a,a.B.Wa,3));c&&(c+=" ");return c}function ri(a){var b,c="";for(b=0;6>b;b++)c+=qi(a,b);c=c+"\n"+(qi(a,6)+qi(a,7));c+=qi(a,20)+qi(a,21);return c+=pi(a,"T")+pi(a,"N")+pi(a,"Z")+pi(a,"V")+pi(a,"C")}k.pc=function(a,b){return a[0]>b[0]?1:a[0]b?(c=fi(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Ya[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.Ia[b-16]):20==b?c="PS="+J(a,Tc(d)):21==b&&a.B&&kc(a.B)&&(c="SR="+J(a,a.B.Xa,3));c&&(c+=" ");return c}function ri(a){var b,c="";for(b=0;6>b;b++)c+=qi(a,b);c=c+"\n"+(qi(a,6)+qi(a,7));c+=qi(a,20)+qi(a,21);return c+=pi(a,"T")+pi(a,"N")+pi(a,"Z")+pi(a,"V")+pi(a,"C")}k.pc=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],v=za(n,l,a.pc);0>v&&n.splice(-(v+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({Ze:b,F:c,Wc:d,ga:e,nc:f})}function si(a,b,c){var d=[],e=a.ba(b)>>>0;for(b=0;b>>0,h=f.Wc;if(e>=g&&ema.length&&(a.j("note: only "+ma.length+" available"),Z=ma.length);fa-=Z;0>fa&&(null==ma[ma.length-1].F?(Z=fa+Z,fa=0):fa+=ma.length);var Md=[];"call"==Gg&&(Pb=1E5,Md=["CALL"]);for(void 0!==Fg&&a.j(Z+" instructions earlier:");0=ma.length&&(fa=0);a.nb=Z;Ig++;Pb--}}Ig||(a.j("no "+Hg+"history available"),a.nb=void 0)}else{var kb=ai(a,la);if(kb){var Rb=0,Nd=!1,Od="ds"==La;Ma&&(Nd=!0,"l"==Ma.charAt(0)&&(Nd=!1,Ma=Ma.substr(1)||Qi),Rb=Oh(a,Ma)>>>0,65536Rd?String.fromCharCode(Rd):"."),Ic=Ic>>8}Na&&(Na+="\n");Na=Od?Na+(Oa+","):Na+(la+" "+Oa+(0==Hc?" "+Qd:""))}Na&&a.j(Na);a.kb=kb}}}}break;case "e":if("else"==g[0])break;var nb,Sd,Td,Ud,Vd=g[0],Wd=g[1];"eb"==Vd?(nb=1,Sd=255,Td=a.Hb,Ud=a.Ab):"e"==Vd||"ew"==Vd?(nb=2,Sd=65535,Td=a.na,Ud=a.gb):Wd=null;if(null==Wd)a.j("edit memory commands:"), -a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var Jc=ai(a,Wd);if(Jc)for(var Kc=2;Kc=ma.length&&(fa=0);a.nb=Z;Ig++;Pb--}}Ig||(a.j("no "+Hg+"history available"),a.nb=void 0)}else{var kb=ai(a,la);if(kb){var Rb=0,Nd=!1,Od="ds"==La;Ma&&(Nd=!0,"l"==Ma.charAt(0)&&(Nd=!1,Ma=Ma.substr(1)||Qi),Rb=Oh(a,Ma)>>>0,65536Rd?String.fromCharCode(Rd):"."),Jc=Jc>>8}Na&&(Na+="\n");Na=Od?Na+(Oa+","):Na+(la+" "+Oa+(0==Ic?" "+Qd:""))}Na&&a.j(Na);a.kb=kb}}}}break;case "e":if("else"==g[0])break;var nb,Sd,Td,Ud,Vd=g[0],Wd=g[1];"eb"==Vd?(nb=1,Sd=255,Td=a.Hb,Ud=a.Ab):"e"==Vd||"ew"==Vd?(nb=2,Sd=65535,Td=a.na,Ud=a.gb):Wd=null;if(null==Wd)a.j("edit memory commands:"), +a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var Kc=ai(a,Wd);if(Kc)for(var Lc=2;LcZd;){for(var Pa=null,Vi=256;65536> -Wb.F>>>0;){$d.F=a.na(Wb,2);if(null==Wb.F||!Vi--)break;if(!($d.F&1)){for(var Wi=a,Lc=$d,Mg=null,Xb=Lc.F,Ng=Xb,ae=1;6>=ae&&Xb;ae++){if(2>>0;){$d.F=a.na(Wb,2);if(null==Wb.F||!Vi--)break;if(!($d.F&1)){for(var Wi=a,Mc=$d,Mg=null,Xb=Mc.F,Ng=Xb,ae=1;6>=ae&&Xb;ae++){if(2\nLicense: GPL version 3 or later ");this.j("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bBi){if(Di(d,this.I)){this.A=new N(this,"1.30.3","failsafe");Di(this.A)&&(Ii(this,d),a=2,Ji(this.A));this.A.set("timestamp",Ba());Ki(this.A);var e=this.f&&!this.D;if(1==a||Ga("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Hi(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Di(d,g):("error"== f&&"no machine state"!=g?(this.P("Error: "+g),"unable to verify user"==g&&(Qa("user",""),this.g=null)):this.j(f+": "+g),Ji(d),Di(d)?(c=Hi(d),e=!0):c=!1))}e&&Gi(this,c?d:null)}else 2==a&&d.clear()}else Gi(this);delete this.I;delete this.J}e=rb(this.id);for(f=0;fa[1];a=a[2];this.ca=!0;this.w.ha=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.b&&(Li(this,this.b,b,c,a),this.oa(),this.b.tb());this.O&&(Ii(this,b),b.clear());!c&&this.A&&(this.A.clear(),delete this.A);this.C=0}; -function Ii(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.$;d.user=c;d.type="bug";d.data=b;Ca("http://www.pcjs.org/api/v1/report",d,!0)}} +function Ii(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.$;d.user=c;d.type="bug";d.data=b;Da("http://www.pcjs.org/api/v1/report",d,!0)}} function yi(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new N(a,"1.30.3"),g=new N(a,"1.30.3","validate"),h=Ba();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Fa&&(c&&a.b.da(),d=a.b.Fa(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.w.ha=!1,!1===d&&(e=null)));for(var h=rb(a.id),l=0;lf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ca(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +function bj(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Da(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);bj(a,b,c)}})}else c(a,null)} function cj(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=va(a))}function f(a){e("Error: "+a);l&&(--Pi||ab(!0));l=!1}var g,h,l=!0;Pi++;pb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));n.appendChild(v)}c|| (c="/versions/pdpjs/1.30.3/components.xsl");m=function(d,h){h?$i(c,null,null,!1,e,function(d,l){l?(qb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--Pi||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Pi||ab(!0)):f("invalid machine element: "+ diff --git a/versions/pdpjs/1.30.3/pdp11.js b/versions/pdpjs/1.30.3/pdp11.js index 08e5afee1..c2645624a 100644 --- a/versions/pdpjs/1.30.3/pdp11.js +++ b/versions/pdpjs/1.30.3/pdp11.js @@ -45,41 +45,41 @@ d.K[f++]=e[c]>>8&255,d.K[f++]=e[c]>>16&255,d.K[f++]=e[c]>>24&255;else d.K=g;d.W= function v(){return"http://"+(window?window.location.host:"www.pcjs.org")}function t(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function wa(){if(null==va){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}va=a}return va} function ya(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var Ba={init:[],show:[],exit:[]},Ca=!1,Da=!1,Ea=!0; function Fa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ga(a){Ba.init.push(a)}function Ha(a){if(Ea)try{for(var b=0;bb?this.Ga=this.id:(this.pa=this.id.substr(0,b),this.Ga=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Da:!1,sb:!1,N:!1,error:!1};this.kb=null;this.j.error=!1;this.o={};this.D=null;y.push(this)}var Ka=void 0,La={}; +Fa(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Ha(Ba.exit)});function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Pb=b.comment;this.qd=b;b=this.id.indexOf(".");0>b?this.Ha=this.id:(this.pa=this.id.substr(0,b),this.Ha=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Da:!1,sb:!1,N:!1,error:!1};this.kb=null;this.j.error=!1;this.o={};this.D=null;y.push(this)}var Ka=void 0,La={}; if(window){Ka||(Ka=window.location.search.substr(1));for(var Ma,Na=/\+/g,Oa=/([^&=]+)=?([^&]*)/g;Ma=Oa.exec(Ka);)La[decodeURIComponent(Ma[1].replace(Na," "))]=decodeURIComponent(Ma[2].replace(Na," "))}function Pa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function z(a,b){b||(b=x);a.prototype=Pa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Qa=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Qa={},y=[];function Ra(a,b,c){Qa[a]&&b&&(Qa[a][b]=c)}function A(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.vc,a]}z(Ya);var Za=7;function $a(a,b){return a.b[b]&&a.b[b][1]}h=Ya.prototype;h.reset=function(){this.stop()}; +function Ya(a){x.call(this,"Panel",a,Ya);this.da=this.i=this.c=this.m=this.w=this.s=0;this.A=this.C=this.v=!1;this.F=Za;this.g={};this.b={START:[1,1,!0,!1,this.tc],STEP:[1,1,!1,!1,this.uc],ENABLE:[1,1,!1,!1,this.pc],CONT:[1,1,!0,!1,this.nc],DEP:[0,0,!0,!1,this.oc],EXAM:[1,1,!0,!1,this.qc],LOAD:[1,1,!0,!1,this.sc],TEST:[0,0,!0,!1,this.rc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.vc,a]}z(Ya);var Za=7;function $a(a,b){return a.b[b]&&a.b[b][1]}h=Ya.prototype;h.reset=function(){this.stop()}; h.Z=function(a,b,c,d){if(this.l&&this.l.Z(a,b,c,d)||this.a&&this.a.Z(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.o[b]=c,this.s++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.g[b]=d?1:0,this.s++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this, b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):this.parent.Z.call(this,a,b,c,d)}};h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.D=d;cb(b,this,db);eb(b,this.reset.bind(this));fb(this);gb(this)};h.ka=function(a,b){b||(hb(),this.reset());return!0};h.ja=function(){return!0}; function ib(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fb(a,b){for(var c in a.g)ib(a,c,null!=b?b:a.g[c])}function jb(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gb(a){for(var b in a.b)jb(a,b,a.b[b][1])}function kb(a,b,c,d){a.o[b]&&(void 0===c&&(Wa(a,"Value for "+b+" is invalid"),G(a.a)),c=8==(a.D&&a.D.h||8)?ka(c,d):m(c,d),a.o[b].textContent!=c&&(a.o[b].textContent=c))} -function ab(a,b){var c=a.b[b];jb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.A="DEP"==b,a.B="EXAM"==b)}function bb(a,b){var c=a.b[b];c[2]&&c[3]&&(jb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.tc=function(a){a||this.a.j.P||(this.h.reset(),lb(this.a),$a(this,"ENABLE")&&mb(this.a))};h.uc=function(){};h.pc=function(a){a||G(this.a)}; +function ab(a,b){var c=a.b[b];jb(a,b,c[1]=1-c[1]);c[3]=!0;c[4]&&c[4].call(a,c[1],c[5]);"STEP"!=b&&(a.A="DEP"==b,a.C="EXAM"==b)}function bb(a,b){var c=a.b[b];c[2]&&c[3]&&(jb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5]));c[3]=!1}h.tc=function(a){a||this.a.j.P||(this.h.reset(),lb(this.a),$a(this,"ENABLE")&&mb(this.a))};h.uc=function(){};h.pc=function(a){a||G(this.a)}; h.nc=function(a){if(!a&&!this.a.j.P)if($a(this,"ENABLE"))mb(this.a);else{a=this.D;var b;if(b=a)a.j.Da&&(a.j.sb=!0),b=!a.j.Da;if(b)Ua(a,!0),a.pb(0),Ua(a,!1);else try{var c=this.a.pb(1);0a;a++)this.b["S"+a][1]=0&1<a.a.La?8:16,c=65472<=a.da&&a.da<65472+b,b=c?1:2,c=c?15:a.h.na;$a(a,"STEP")||(b=-b);sb(a,a.da&~c|a.da+b&c)}function sb(a,b){a.da=b&a.h.na;b=a.da;for(var c=0;22>c;c++)tb(a,"A"+c,b&1<c;c++)tb(a,"D"+c,b&1<a;a++)this.b["S"+a][1]=0&1<a.a.Ea?8:16,c=65472<=a.da&&a.da<65472+b,b=c?1:2,c=c?15:a.h.na;$a(a,"STEP")||(b=-b);sb(a,a.da&~c|a.da+b&c)}function sb(a,b){a.da=b&a.h.na;b=a.da;for(var c=0;22>c;c++)tb(a,"A"+c,b&1<c;c++)tb(a,"D"+c,b&1<>2;this.l=this.b-1;this.A=this.B/this.b|0;this.za=[];this.g=0;this.m=!1;this.tb=0;this.w=[];this.fc=[wb,xb,yb,zb];a=new I(this);Ab(a,this.D);this.h=Array(this.A);for(b=0;b>2;this.l=this.b-1;this.A=this.C/this.b|0;this.za=[];this.g=0;this.m=!1;this.tb=0;this.w=[];this.fc=[wb,xb,yb,zb];a=new I(this);Ab(a,this.D);this.h=Array(this.A);for(b=0;b>8:e[2](f)&255):f&1&&(e=d.za[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;J(d,b,16);return 255} function xb(a,b,c){var d=!1,e=this.controller,f=e.za[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](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.za[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||J(e,c,16)}function yb(a,b){var c=-1,d=this.controller;a=d.za[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 c;J(d,b,16);return 65535} function zb(a,b,c){var d=!1,e=this.controller;a=e.za[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||J(e,c,16)}function Cb(a,b){if(b!=a.s){var c;a.s&&(c=(1<>>a.c;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ka)return l.qb+=l.Ka-f,l.Ka=f,!0;if(f>=l.Ka+l.qb){p=l.size-(f-n);p>g&&(p=g);l.qb=f-l.Ka+p;f=n+a.b;g-=p;k++;continue}}return Hb(1,f,g)}f=new I(a,f,p,a.b,d,e);Ab(f,a.D,l);a.h[k++]=f;f=n+a.b;g-=p}return 0>=g?(d==Ib&&(a.tb+=c),a.status((c>>10)+"Kb "+Jb[d]+" at "+ka(b)),!0):Hb(2,b,c)} +function Fb(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.c;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.La)return l.qb+=l.La-f,l.La=f,!0;if(f>=l.La+l.qb){p=l.size-(f-n);p>g&&(p=g);l.qb=f-l.La+p;f=n+a.b;g-=p;k++;continue}}return Hb(1,f,g)}f=new I(a,f,p,a.b,d,e);Ab(f,a.D,l);a.h[k++]=f;f=n+a.b;g-=p}return 0>=g?(d==Ib&&(a.tb+=c),a.status((c>>10)+"Kb "+Jb[d]+" at "+ka(b)),!0):Hb(2,b,c)} function Eb(a,b,c){var d=[];for(b>>>=a.c;0>>=a.c;0>>a.c].Cb(b&a.l,b)}function Mb(a,b){3932160<=b&&(b=Lb(a.a,b));return a.h[(b&a.na)>>>a.c].V(b&a.l,b)}h.mb=function(a){3932160<=a&&(a=Lb(this.a,a));var b=a&this.l,c=(a&this.na)>>>this.c;this.m=!1;this.g++;a=this.h[c].Xb(b,a);this.g--;return a}; function Nb(a,b,c){3932160<=b&&(b=Lb(a.a,b));a.h[(b&a.na)>>>a.c].Hb(b&a.l,c&255,b)}h.$a=function(a,b){3932160<=a&&(a=Lb(this.a,a));this.m=!1;this.g++;this.h[(a&this.na)>>>this.c].Ib(a&this.l,b&255,a);this.g--};function Ob(a,b,c){3932160<=b&&(b=Lb(a.a,b));a.h[(b&a.na)>>>a.c].rb(b&a.l,c&65535,b)}h.ob=function(a,b){3932160<=a&&(a=Lb(this.a,a));var c=a&this.l,d=(a&this.na)>>>this.c;this.m=!1;this.g++;this.h[d].dc(c,b&65535,a);this.g--}; function Pb(a){for(var b=0,c=[],d=0;da.a.La)){var l=k[0]?k[0].bind(b):null,n=k[1]?k[1].bind(b):null,p=k[2]?k[2].bind(b):null,u=k[3]?k[3].bind(b):null,w=k[5]||1;65472<=g&&65487>=g&&(!l&&p&&(l=function(a){return function(b){return a(b)&255}.bind(b)}(p)),!n&&u&&(n=function(a){return function(b,c){return a(b,c)}.bind(b)}(u)));for(var D=k[4],U=0;Ua.a.Ea)){var l=k[0]?k[0].bind(b):null,n=k[1]?k[1].bind(b):null,p=k[2]?k[2].bind(b):null,u=k[3]?k[3].bind(b):null,w=k[5]||1;65472<=g&&65487>=g&&(!l&&p&&(l=function(a){return function(b){return a(b)&255}.bind(b)}(p)),!n&&u&&(n=function(a){return function(b,c){return a(b,c)}.bind(b)}(u)));for(var D=k[4],U=0;U>5&3;b.cb=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ba!=c&&(b.Ba=c,Xb(b))}};h.Hc=function(){var a=this.a;a.I&57344||(a.Ub=a.$&65535);a=a.Ub;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ic=function(){var a=this.a;a.I&57344||(a.Vb=a.zb);return a.Vb}; -h.Jc=function(){return this.a.Ea};h.Ed=function(a){var b=this.a;1170>b.La&&(a&=-49);b.Ea!=a&&(b.Ea=a,b.Sa=a&16?4194303:262143,Xb(b))};h.kd=function(a){a=a>>1&63;var b=this.a.ab[a>>1];return a&1?b>>16:b&65535};h.ee=function(a,b){b=b>>1&63;var c=b>>1;this.a.ab[c]=b&1?this.a.ab[c]&65535|(a&63)<<16:this.a.ab[c]&-65536|a&65534};h.cd=function(a){return this.a.H[1][a>>1&7]};h.Yd=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.ad=function(a){return this.a.H[1][(a>>1&7)+8]}; +h.Jc=function(){return this.a.Fa};h.Ed=function(a){var b=this.a;1170>b.Ea&&(a&=-49);b.Fa!=a&&(b.Fa=a,b.Sa=a&16?4194303:262143,Xb(b))};h.kd=function(a){a=a>>1&63;var b=this.a.ab[a>>1];return a&1?b>>16:b&65535};h.ee=function(a,b){b=b>>1&63;var c=b>>1;this.a.ab[c]=b&1?this.a.ab[c]&65535|(a&63)<<16:this.a.ab[c]&-65536|a&65534};h.cd=function(a){return this.a.H[1][a>>1&7]};h.Yd=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.ad=function(a){return this.a.H[1][(a>>1&7)+8]}; h.Wd=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295};h.bd=function(a){return this.a.X[1][a>>1&7]};h.Xd=function(a,b){b=b>>1&7;this.a.X[1][b]=a;this.a.H[1][b]&=65295};h.$c=function(a){return this.a.X[1][(a>>1&7)+8]};h.Vd=function(a,b){b=(b>>1&7)+8;this.a.X[1][b]=a;this.a.H[1][b]&=65295};h.Dc=function(a){return this.a.H[0][a>>1&7]};h.Ad=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.Bc=function(a){return this.a.H[0][(a>>1&7)+8]};h.yd=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295}; h.Cc=function(a){return this.a.X[0][a>>1&7]};h.zd=function(a,b){b=b>>1&7;this.a.X[0][b]=a;this.a.H[0][b]&=65295};h.Ac=function(a){return this.a.X[0][(a>>1&7)+8]};h.xd=function(a,b){b=(b>>1&7)+8;this.a.X[0][b]=a;this.a.H[0][b]&=65295};h.jd=function(a){return this.a.H[3][a>>1&7]};h.de=function(a,b){this.a.H[3][b>>1&7]=a&65295};h.gd=function(a){return this.a.H[3][(a>>1&7)+8]};h.be=function(a,b){this.a.H[3][(b>>1&7)+8]=a&65295};h.hd=function(a){return this.a.X[3][a>>1&7]}; -h.ce=function(a,b){b=b>>1&7;this.a.X[3][b]=a;this.a.H[3][b]&=65295};h.fd=function(a){return this.a.X[3][(a>>1&7)+8]};h.ae=function(a,b){b=(b>>1&7)+8;this.a.X[3][b]=a;this.a.H[3][b]&=65295};h.Na=function(a){a&=7;return this.a.C&2048?this.a.Fa[a]:this.a.f[a]};h.Pa=function(a,b){b&=7;this.a.C&2048?this.a.Fa[b]=a:this.a.f[b]=a};h.Oc=function(){return this.a.C&49152?this.a.oa[0]:this.a.f[6]};h.Jd=function(a){this.a.C&49152?this.a.oa[0]=a:this.a.f[6]=a};h.Rc=function(){return this.a.f[7]}; -h.Md=function(a){this.a.f[7]=a};h.Oa=function(a){a&=7;return this.a.C&2048?this.a.f[a]:this.a.Fa[a]};h.Qa=function(a,b){b&=7;this.a.C&2048?this.a.f[b]=a:this.a.Fa[b]=a};h.Pc=function(){return 1==(this.a.C&49152)>>14?this.a.f[6]:this.a.oa[1]};h.Kd=function(a){1==(this.a.C&49152)>>14?this.a.f[6]=a:this.a.oa[1]=a};h.Qc=function(){return 3==(this.a.C&49152)>>14?this.a.f[6]:this.a.oa[3]};h.Ld=function(a){3==(this.a.C&49152)>>14?this.a.f[6]=a:this.a.oa[3]=a};h.yc=function(a){return this.a.$b[a-65504>>1]}; +h.ce=function(a,b){b=b>>1&7;this.a.X[3][b]=a;this.a.H[3][b]&=65295};h.fd=function(a){return this.a.X[3][(a>>1&7)+8]};h.ae=function(a,b){b=(b>>1&7)+8;this.a.X[3][b]=a;this.a.H[3][b]&=65295};h.Na=function(a){a&=7;return this.a.B&2048?this.a.Ga[a]:this.a.f[a]};h.Pa=function(a,b){b&=7;this.a.B&2048?this.a.Ga[b]=a:this.a.f[b]=a};h.Oc=function(){return this.a.B&49152?this.a.oa[0]:this.a.f[6]};h.Jd=function(a){this.a.B&49152?this.a.oa[0]=a:this.a.f[6]=a};h.Rc=function(){return this.a.f[7]}; +h.Md=function(a){this.a.f[7]=a};h.Oa=function(a){a&=7;return this.a.B&2048?this.a.f[a]:this.a.Ga[a]};h.Qa=function(a,b){b&=7;this.a.B&2048?this.a.f[b]=a:this.a.Ga[b]=a};h.Pc=function(){return 1==(this.a.B&49152)>>14?this.a.f[6]:this.a.oa[1]};h.Kd=function(a){1==(this.a.B&49152)>>14?this.a.f[6]=a:this.a.oa[1]=a};h.Qc=function(){return 3==(this.a.B&49152)>>14?this.a.f[6]:this.a.oa[3]};h.Ld=function(a){3==(this.a.B&49152)>>14?this.a.f[6]=a:this.a.oa[3]=a};h.yc=function(a){return this.a.$b[a-65504>>1]}; h.vd=function(a,b){this.a.$b[b-65504>>1]=a};h.Wb=function(a){if(65520==a){a=0;switch(Ib){case Ib:a=this.h.tb}a=(a>>6)-1}else a=0;return a};h.cc=function(){};h.ed=function(){return 1};h.$d=function(){};h.xc=function(){return this.a.ea};h.ud=function(){this.a.ea=0};h.Fc=function(){return this.a.Zb};h.Cd=function(a,b){b&1||(a&=255);this.a.Zb=a};h.Kc=function(a){return a?this.a.Eb:0};h.Fd=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Eb=a;b.u|=2}; h.dd=function(a){return a?this.a.nb&65280:0};h.Zd=function(a){this.a.nb=a|255};h.Nc=function(){return Zb(this.a)};h.Id=function(a){$b(this.a,a&-1793|Zb(this.a)&1792);this.a.u|=128};h.bc=function(){}; var M={},Wb=(M[61568]=[null,null,L.prototype.kd,L.prototype.ee,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.cd,L.prototype.Yd,"SIPDR",8,1145],M[62608]=[null,null,L.prototype.ad,L.prototype.Wd,"SDPDR",8,1145],M[62624]=[null,null,L.prototype.bd,L.prototype.Xd,"SIPAR",8,1145],M[62640]=[null,null,L.prototype.$c,L.prototype.Vd,"SDPAR",8,1145],M[62656]=[null,null,L.prototype.Dc,L.prototype.Ad,"KIPDR",8,1145],M[62672]=[null,null,L.prototype.Bc,L.prototype.yd,"KDPDR",8,1145],M[62688]=[null,null,L.prototype.Cc, @@ -89,56 +89,56 @@ L.prototype.be,"UDPDR",8,1145],M[65440]=[null,null,L.prototype.hd,L.prototype.ce L.prototype.Qa,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.Pc,L.prototype.Kd,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.Qc,L.prototype.Ld,"R6USER",1,1145],M[65504]=[null,null,L.prototype.yc,L.prototype.vd,"CTRL",8,1170],M[65520]=[null,null,L.prototype.Wb,L.prototype.cc,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.Wb,L.prototype.cc,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.ed,L.prototype.$d,"SYSID",1,1170],M[65526]=[null,null,L.prototype.xc,L.prototype.ud,"CPUERR",1,1170],M[65528]= [null,null,L.prototype.Fc,L.prototype.Cd,"MB",1,1170],M[65530]=[null,null,L.prototype.Kc,L.prototype.Fd,"PIR"],M[65532]=[null,null,L.prototype.dd,L.prototype.Zd,"SL"],M[65534]=[null,null,L.prototype.Nc,L.prototype.Id,"PSW"],M);Ga(function(){for(var a=E(document,"pdp11","device"),b=0;b>1),this.a=new Int32Array(this.b,0,this.size>>2),hc(this,dc?ic:jc);else{a=this.a=Array(this.size>> +function I(a,b,c,d,e,f){this.h=a;this.id=ec+=2;this.a=null;this.La=b;this.qb=c;this.size=d||0;this.type=e||fc;this.l=e==gc;this.controller=null;Ab(this);this.wa=this.kc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.a=a[0],hc(this,f.fc);else if(Xa)this.b=new ArrayBuffer(this.size),this.c=new DataView(this.b,0,this.size),this.o=new Uint8Array(this.b,0,this.size),this.s=new Uint16Array(this.b,0,this.size>>1),this.a=new Int32Array(this.b,0,this.size>>2),hc(this,dc?ic:jc);else{a=this.a=Array(this.size>> 2);for(f=0;f>2),b=0;b>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},aa:function(a,b){a&1&&J(this.h,b,64);b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},ra:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.wa=!0},F:function(a,b){return this.I(a,b)},R:function(a,b){return this.Xb(a,b)},pa:function(a,b,c){this.l?this.g(a,b,c):this.Ib(a,b,c)},ta:function(a,b,c){this.l?this.g(a,b,c):this.dc(a,b,c)},B:function(a){return this.o[a]},J:function(a){return this.o[a]},O:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},$:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},la:function(a,b){this.o[a]=b;this.wa=!0},qa:function(a,b){this.o[a]=b;this.wa=!0},sa:function(a,b,c){a&1&&J(this.h, +b>>8);this.wa=!0},F:function(a,b){return this.I(a,b)},R:function(a,b){return this.Xb(a,b)},pa:function(a,b,c){this.l?this.g(a,b,c):this.Ib(a,b,c)},ta:function(a,b,c){this.l?this.g(a,b,c):this.dc(a,b,c)},C:function(a){return this.o[a]},J:function(a){return this.o[a]},O:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},$:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},la:function(a,b){this.o[a]=b;this.wa=!0},qa:function(a,b){this.o[a]=b;this.wa=!0},sa:function(a,b,c){a&1&&J(this.h, c,64);this.c.setUint16(a,b,!0);this.wa=!0},ua:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.wa=!0}};function Ab(a,b,c){a.D=b;a.i=a.m=0;c&&((a.i=c.i)&&mc(a,nc,!1),(a.m=c.m)&&oc(a,nc,!1))}function oc(a,b,c){c&&a.m||(a.Hb=!a.l&&b[1]||a.g,a.rb=!a.l&&b[3]||a.A);if(c||void 0===c)a.Ib=b[1]||a.g,a.dc=b[3]||a.A}function mc(a,b,c){c&&a.i||(a.Cb=b[0]||a.v,a.V=b[2]||a.w);if(c||void 0===c)a.I=b[0]||a.v,a.Xb=b[2]||a.w}function hc(a,b){b||(b=pc);mc(a,b,void 0);oc(a,b,void 0)} -var pc=[],kc=[I.prototype.M,I.prototype.ra,I.prototype.aa,I.prototype.va],nc=[I.prototype.F,I.prototype.pa,I.prototype.R,I.prototype.ta];if(Xa)var jc=[I.prototype.B,I.prototype.la,I.prototype.O,I.prototype.sa],ic=[I.prototype.J,I.prototype.qa,I.prototype.$,I.prototype.ua]; -function qc(a,b){x.call(this,"CPU",a,qc);var c=a.multiplier||1;this.jb=a.cycles||b;this.ta=c;this.Ab=Math.round(this.jb/1E4)/100;this.Ha=this.Ab*this.ta;this.j.P=!1;this.j.Fb=!1;this.j.Wa=a.autoStart;this.j.fb=!1;this.gb=this.Ia=0;this.hb=a.csStart;this.Ta=a.csInterval;this.Ua=a.csStop;this.J=[];this.Tb=this.od.bind(this);F(this)}z(qc);var rc=["power","reset"];h=qc.prototype; +var pc=[],kc=[I.prototype.M,I.prototype.ra,I.prototype.aa,I.prototype.va],nc=[I.prototype.F,I.prototype.pa,I.prototype.R,I.prototype.ta];if(Xa)var jc=[I.prototype.C,I.prototype.la,I.prototype.O,I.prototype.sa],ic=[I.prototype.J,I.prototype.qa,I.prototype.$,I.prototype.ua]; +function qc(a,b){x.call(this,"CPU",a,qc);var c=a.multiplier||1;this.jb=a.cycles||b;this.ta=c;this.Ab=Math.round(this.jb/1E4)/100;this.Ia=this.Ab*this.ta;this.j.P=!1;this.j.Fb=!1;this.j.Wa=a.autoStart;this.j.fb=!1;this.gb=this.Ja=0;this.hb=a.csStart;this.Ta=a.csInterval;this.Ua=a.csStop;this.J=[];this.Tb=this.od.bind(this);F(this)}z(qc);var rc=["power","reset"];h=qc.prototype; h.ia=function(a,b,c,d){this.l=a;this.h=b;this.D=d;this.w=a.w;for(b=0;b=a.Ia&&(a.Ia+=a.Ta,c=!0);0<=a.Ua&&a.Ua<=vc(a)&&(a.Ta=a.Ua=-1,uc(a),G(a),c=!0);c&&a.T(vc(a)+" cycles: checksum="+m(a.gb))}} +h.Wa=function(){return this.j.Wa||void 0===this.o.run?(mb(this),!0):!1};h.Mb=function(){return 0};function uc(a){void 0===a.hb&&(a.hb=0);void 0===a.Ta&&(a.Ta=-1);void 0===a.Ua&&(a.Ua=-1);a.j.fb=0<=a.hb&&0=a.Ja&&(a.Ja+=a.Ta,c=!0);0<=a.Ua&&a.Ua<=vc(a)&&(a.Ta=a.Ua=-1,uc(a),G(a),c=!0);c&&a.T(vc(a)+" cycles: checksum="+m(a.gb))}} h.Z=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.j.N)a=!0;else{var b=null,c,k=A(a.id);for(c=0;ca.qa/a.Ha&&(b=1);a.ta=b;b=a.Ab*a.ta;if(a.Ha!=b){a.Ha=b;b=a.Ha.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.T("target speed: "+b)}c&&a.l&&yc(a.l)}ob(a,a.la);a.la=0;a.aa=ra();a.ra=0;xc(a)}function Sb(a,b){var c=a.J.length;a.J.push([-1,b]);return c}function Ub(a,b,c,d){0<=b&&ba.J[b][0])&&(c=a.jb*a.ta/1E3*c|0,a.j.P&&(c+=zc(a)),a.J[b][0]=c)} +c,!0;case "setSpeed":return this.o[b]=c,c.onclick=function(){wc(d,d.ta<<1,!0)},c.textContent=this.Ia.toFixed(2)+"Mhz",!0}return!1};h.ya=function(a){this.l&&this.l.ya(a)};function ob(a,b,c){a.va+=b;c&&(a.sa=a.a=a.F=0)}function xc(a,b){var c=1;b&&1a.qa/a.Ia&&(b=1);a.ta=b;b=a.Ab*a.ta;if(a.Ia!=b){a.Ia=b;b=a.Ia.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.T("target speed: "+b)}c&&a.l&&yc(a.l)}ob(a,a.la);a.la=0;a.aa=ra();a.ra=0;xc(a)}function Sb(a,b){var c=a.J.length;a.J.push([-1,b]);return c}function Ub(a,b,c,d){0<=b&&ba.J[b][0])&&(c=a.jb*a.ta/1E3*c|0,a.j.P&&(c+=zc(a)),a.J[b][0]=c)} function nb(a,b){for(var c=a.J.length-1;0<=c;c--){var d=a.J[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zc(a,b){var c=a.sa-=a.a;a.a=a.F=0;b&&(a.sa=0);return c} h.od=function(){if(this.j.P){this.Bb>=this.jb&&xc(this,!0);this.Ra=0;this.eb=ra();if(this.ra){var a=this.eb-this.ra;a>this.Rb&&(this.aa+=a,this.aa>this.eb&&(this.aa=this.eb))}try{do{for(var b,c=this.j.fb?1:this.lb,d=this.J.length-1;0<=d;d--){var e=this.J[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.pb(b)}catch(f){if("number"!=typeof f)throw f;}b=zc(this,!0);this.Ra+=b;this.la+=b;pb(this,b);nb(this,b);this.Va-=b;if(0>=this.Va){this.Va+=this.lb;15<=++this.Sb&&(this.ya(),this.Sb=0);break}}while(this.j.P)}catch(f){G(this); -this.l&&this.l.stop(ra(),vc(this));Wa(this,f.stack||f.message);return}if(this.j.P){a=setTimeout;b=this.Tb;this.ra=ra();c=this.Rb;this.Ra&&(c=Math.round(c*this.Ra/this.lb));c-=this.ra-this.eb;if(d=this.ra-this.aa)this.qa=Math.round(this.la/(10*d))/100,864E5<=d&&(this.va=0,wc(this));if(0>c||this.qac&&(this.aa-=c),c=0;this.Bb+=this.Ra;this.ra+=c;a(b,c)}}}; +this.l&&this.l.stop(ra(),vc(this));Wa(this,f.stack||f.message);return}if(this.j.P){a=setTimeout;b=this.Tb;this.ra=ra();c=this.Rb;this.Ra&&(c=Math.round(c*this.Ra/this.lb));c-=this.ra-this.eb;if(d=this.ra-this.aa)this.qa=Math.round(this.la/(10*d))/100,864E5<=d&&(this.va=0,wc(this));if(0>c||this.qac&&(this.aa-=c),c=0;this.Bb+=this.Ra;this.ra+=c;a(b,c)}}}; function mb(a){var b;a.j.error?(a.T(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.P)a.T(a.toString()+" busy");else{wc(a);a.j.P=!0;a.j.Fb=!0;if(b=a.o.run)b.textContent="Halt";a.l&&a.l.start(a.aa,vc(a));setTimeout(a.Tb,0)}}h.pb=function(){return 0};function G(a){var b=!1;if(a.j.P){zc(a);ob(a,a.la);a.la=0;a.j.P=!1;if(b=a.o.run)b.textContent="Run";a.l&&a.l.stop(ra(),vc(a));b=!0}a.j.complete=void 0;return b} -function Ac(a){this.La=+a.model||1170;this.Ob=a.addrReset||0;qc.call(this,a,6666667);this.decode=1120==this.La?Bc.bind(this):Cc.bind(this);Dc(this);this.ua=0;this.O=null;this.j.complete=!1}z(Ac,qc);h=Ac.prototype;h.reset=function(){this.status("model "+this.La);this.j.P&&G(this);Dc(this);tc(this);this.j.error=!1;this.parent.reset.call(this)}; -function Dc(a){a.m=65536;a.g=32768;a.i=65535;a.s=32768;a.C=15;a.f=[0,0,0,0,0,0,0,a.Ob];a.Fa=[0,0,0,0,0,0];a.oa=[0,0,0,0];a.v=0;a.cb=0;a.pd=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.X=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0];a.$b=[0,0,0,0,0,0,0,0];a.Zb=0;a.u=0;a.A=a.B=0;a.c=a.b=a.xb=0;a.Ja=-1;lb(a)}function lb(a){a.nb=255;a.ea=0;a.Eb=0;a.I=0;a.Ub=0;a.Vb=0;a.Ea=0;a.Ba=0;a.bb=0;a.Sa=262143;a.$=0;a.zb=0;a.O=null;a.h&&Xb(a)}function Xb(a){a.Ba?(a.R=65536,a.M=a.mc,a.V=a.ld,a.rb=a.fe,Cb(a.h,a.Ea&16?22:18)):(a.R=0,a.M=a.lc,a.V=a.Yb,a.rb=a.ec,Cb(a.h,16))}h.Mb=function(){return 0};h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.va,this.ta]);a.set(2,Pb(this.h));return a.data()}; +function Ac(a){this.Ea=+a.model||1170;this.Ob=a.addrReset||0;qc.call(this,a,6666667);this.decode=1120==this.Ea?Bc.bind(this):Cc.bind(this);Dc(this);this.ua=0;this.O=null;this.j.complete=!1}z(Ac,qc);h=Ac.prototype;h.reset=function(){this.status("model "+this.Ea);this.j.P&&G(this);Dc(this);tc(this);this.j.error=!1;this.parent.reset.call(this)}; +function Dc(a){a.m=65536;a.g=32768;a.i=65535;a.s=32768;a.B=15;a.f=[0,0,0,0,0,0,0,a.Ob];a.Ga=[0,0,0,0,0,0];a.oa=[0,0,0,0];a.v=0;a.cb=0;a.pd=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.X=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0];a.$b=[0,0,0,0,0,0,0,0];a.Zb=0;a.u=0;a.A=a.C=0;a.c=a.b=a.xb=0;a.Ka=-1;lb(a)}function lb(a){a.nb=255;a.ea=0;a.Eb=0;a.I=0;a.Ub=0;a.Vb=0;a.Fa=0;a.Ba=0;a.bb=0;a.Sa=262143;a.$=0;a.zb=0;a.O=null;a.h&&Xb(a)}function Xb(a){a.Ba?(a.R=65536,a.M=a.mc,a.V=a.ld,a.rb=a.fe,Cb(a.h,a.Fa&16?22:18)):(a.R=0,a.M=a.lc,a.V=a.Yb,a.rb=a.ec,Cb(a.h,16))}h.Mb=function(){return 0};h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.va,this.ta]);a.set(2,Pb(this.h));return a.data()}; h.restore=function(a){var b=a[1];this.va=b[1];wc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c>14&3;c=a.C>>14&3;a.v!=c&&(a.oa[c]=a.f[6],a.f[6]=a.oa[a.v]);a.C=b;a.u|=2}function R(a,b){a.u&128||(a.s=a.i=b,a.g=0)}function Ic(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.g=c||0)}function Jc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.g=(c^b)&(d^b))} -function Kc(a,b){a.u&128||(a.s=a.i=a.m=b,a.g=a.s^a.m>>1)}function Lc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.g=(c^d)&(d^b))}function K(a,b,c,d){if(!a.ua){0>a.Ja?a.Ja=Zb(a):a.v||(b=4,a.ea|=4,a.f[6]=4,d=-3);a.zb=b;a.$=0;a.v=0;var e=a.V(b|a.R),f=a.V(b+2&65535|a.R);$b(a,f&-12289|a.Ja>>2&12288);Mc(a,a.Ja);Mc(a,a.f[7]);Q(a,e);a.u&=~(c|18);a.u|=9;a.Ja=-1;if(-3<=d)throw b;}}function Nc(a){var b=Oc(a),c=Oc(a)&-1793;a.C&49152&&(c=c&-225|a.C&63712);Q(a,b);$b(a,c);a.u&=-17} -function Lb(a,b){var c=b>>13&31;31>c&&a.Ea&32&&(b=a.ab[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} -function Pc(a,b,c){var d,e,f;if(!(c&a.Ba))return b;d=b>>13;a.Ea&a.pd[a.v]||(d&=7);e=a.H[a.v][d];f=(a.X[a.v][d]<<6)+(b&8191)&a.Sa;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.H[a.v][d]=e;if(f!=(4194170&a.Sa)||a.v)a.bb=a.v,a.cb=d;b=!1;g&&(g&57344&&(0<=a.Ja&&(g|=128),a.I&57344||(a.I=a.I|g|a.bb<<5|a.cb<< -1),b=!0),a.I&61440||!(f<(4191360&a.Sa)||f>(4194239&a.Sa))||(a.I|=4096,a.I&512&&(a.u|=64)),b&&K(a,168,0,-1));return f}function Oc(a){var b=a.V(a.f[6]|a.R);a.f[6]=a.f[6]+2&65535;return b}function Mc(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.$=a.$<<8|246;Qc(a,0,c);a.rb(c,b)}function Qc(a,b,c){!a.v&&c<=a.nb&&(b||4>14&3;c=a.B>>14&3;a.v!=c&&(a.oa[c]=a.f[6],a.f[6]=a.oa[a.v]);a.B=b;a.u|=2}function R(a,b){a.u&128||(a.s=a.i=b,a.g=0)}function Ic(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.g=c||0)}function Jc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.g=(c^b)&(d^b))} +function Kc(a,b){a.u&128||(a.s=a.i=a.m=b,a.g=a.s^a.m>>1)}function Lc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.g=(c^d)&(d^b))}function K(a,b,c,d){if(!a.ua){0>a.Ka?a.Ka=Zb(a):a.v||(b=4,a.ea|=4,a.f[6]=4,d=-3);a.zb=b;a.$=0;a.v=0;var e=a.V(b|a.R),f=a.V(b+2&65535|a.R);$b(a,f&-12289|a.Ka>>2&12288);Mc(a,a.Ka);Mc(a,a.f[7]);Q(a,e);a.u&=~(c|18);a.u|=9;a.Ka=-1;if(-3<=d)throw b;}}function Nc(a){var b=Oc(a),c=Oc(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);Q(a,b);$b(a,c);a.u&=-17} +function Lb(a,b){var c=b>>13&31;31>c&&a.Fa&32&&(b=a.ab[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b} +function Pc(a,b,c){var d,e,f;if(!(c&a.Ba))return b;d=b>>13;a.Fa&a.pd[a.v]||(d&=7);e=a.H[a.v][d];f=(a.X[a.v][d]<<6)+(b&8191)&a.Sa;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.H[a.v][d]=e;if(f!=(4194170&a.Sa)||a.v)a.bb=a.v,a.cb=d;b=!1;g&&(g&57344&&(0<=a.Ka&&(g|=128),a.I&57344||(a.I=a.I|g|a.bb<<5|a.cb<< +1),b=!0),a.I&61440||!(f<(4191360&a.Sa)||f>(4194239&a.Sa))||(a.I|=4096,a.I&512&&(a.u|=64)),b&&K(a,168,0,-1));return f}function Oc(a){var b=a.V(a.f[6]|a.R);a.f[6]=a.f[6]+2&65535;return b}function Mc(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.$=a.$<<8|246;Qc(a,0,c);a.rb(c,b)}function Qc(a,b,c){!a.v&&c<=a.nb&&(b||4c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!=c&&(e|=g);e=a.V(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!=c&&(e|=g);e=a.V(e)|g;a.a-=8;break;case 6:return e=a.V(Fc(a,2)),e=e+a.f[c]&65535|g,a.a-=6,e;case 7:return e=a.V(Fc(a,2)),e=e+a.f[c]& 65535,e=a.V(e|a.R)|g,a.a-=10,e}a.f[c]=a.f[c]+f&65535;a.$=a.$<<8|f<<3&248|c;6==c&&0>f&&Qc(a,b,a.f[6]);return e}h.mb=function(a){if(!this.Ba)return this.h.mb(a);this.ua++;a=this.Yb(Pc(this,a,2));this.ua--;return a};h.$a=function(a,b){this.Ba?(this.ua++,a=Pc(this,a,5),a&1&&this.a--,Nb(this.h,a,b),this.ua--):this.h.$a(a,b)};h.ob=function(a,b){this.Ba?(this.ua++,this.ec(Pc(this,a,4),b),this.ua--):this.h.ob(a,b)};h.lc=function(a,b,c){return Rc(this,a,b,c)}; -h.mc=function(a,b,c){return Pc(this,Rc(this,a,b,c),c)};h.Yb=function(a){return Mb(this.h,a)};h.ld=function(a){return Mb(this.h,Pc(this,a,2))};h.ec=function(a,b){Ob(this.h,a,b&65535)};h.fe=function(a,b){Ob(this.h,Pc(this,a,4),b)};function Sc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Rc(a,b,d,2),c&65536||61440!==(a.C&61440)&&(d&=65535),a.v=a.C>>12&3,c=a.V(d|c&a.R),a.v=a.C>>14&3):c=6!=d||(a.C>>2&12288)===(a.C&12288)?a.f[d]:a.oa[a.C>>12&3];return c} -function Tc(a,b,c,d){a.$=22;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Rc(a,b,e,4),c&65536||(e&=65535),a.v=a.C>>12&3,e=Pc(a,e|c&65536,4),a.v=a.C>>14&3,Ob(a.h,e,d)):6!=e||(a.C>>2&12288)===(a.C&12288)?a.f[e]=d:a.oa[a.C>>12&3]=d}function Uc(a,b){b>>=6;var c=a.B=b&7;(b=a.A=(b&56)>>3)?(c=a.M(b,c,3),a=Kb(a.h,c)):a=-c-1;return a}function Vc(a,b){var c;b>>=6;var d=a.B=b&7;(b=a.A=(b&56)>>3)?c=Mb(a.h,a.M(b,d,2)):c=-d-1;return c}function Wc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Rc(a,b,c,8)} +h.mc=function(a,b,c){return Pc(this,Rc(this,a,b,c),c)};h.Yb=function(a){return Mb(this.h,a)};h.ld=function(a){return Mb(this.h,Pc(this,a,2))};h.ec=function(a,b){Ob(this.h,a,b&65535)};h.fe=function(a,b){Ob(this.h,Pc(this,a,4),b)};function Sc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Rc(a,b,d,2),c&65536||61440!==(a.B&61440)&&(d&=65535),a.v=a.B>>12&3,c=a.V(d|c&a.R),a.v=a.B>>14&3):c=6!=d||(a.B>>2&12288)===(a.B&12288)?a.f[d]:a.oa[a.B>>12&3];return c} +function Tc(a,b,c,d){a.$=22;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Rc(a,b,e,4),c&65536||(e&=65535),a.v=a.B>>12&3,e=Pc(a,e|c&65536,4),a.v=a.B>>14&3,Ob(a.h,e,d)):6!=e||(a.B>>2&12288)===(a.B&12288)?a.f[e]=d:a.oa[a.B>>12&3]=d}function Uc(a,b){b>>=6;var c=a.C=b&7;(b=a.A=(b&56)>>3)?(c=a.M(b,c,3),a=Kb(a.h,c)):a=-c-1;return a}function Vc(a,b){var c;b>>=6;var d=a.C=b&7;(b=a.A=(b&56)>>3)?c=Mb(a.h,a.M(b,d,2)):c=-d-1;return c}function Wc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Rc(a,b,c,8)} function Xc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.M(b,c,3),a=Kb(a.h,c)):a=a.f[c]&255;return a}function Yc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Mb(a.h,a.M(b,c,2)):a.f[c]}function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.xb=a.M(b,e,7),c=0>c?a.f[-c-1]&255:c,c=d.call(a,c,Kb(a.h,e)),e&1&&a.a--,Nb(a.h,e,c)):(b=a.f[e],c=0>c?a.f[-c-1]&255:c,a.f[e]=b&65280|d.call(a,c,b&255))} function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.M(b,e,6),Ob(a.h,e,d.call(a,0>c?a.f[-c-1]:c,Mb(a.h,e)))):a.f[e]=d.call(a,0>c?a.f[-c-1]:c,a.f[e])}function Zc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.M(b,e,5),e=c=0>c?a.f[-c-1]&255:c,d&1&&a.a--,Nb(a.h,d,e)):c?(c=0>c?a.f[-c-1]&255:c,a.f[e]=a.f[e]&~d|c<<24>>24&d):a.f[e]&=~d;return c}function $c(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.M(b,d,4),Ob(a.h,d,c=0>c?a.f[-c-1]:c)):a.f[d]=c=0>c?a.f[-c-1]:c;return c} function V(a,b,c){c&&(Q(a,a.f[7]+(b<<24>>23)),a.a-=2);a.a-=3} -h.pb=function(a){this.j.complete=!0;var b=a?this.j.Fb?0:1:-1;this.j.Fb=!1;this.sa=this.a=a;do{if(this.u){if(a=this.u&7){a=!1;if(this.u&2){this.u&=-3;var c=160,d=(this.Eb&224)>>5,e=this.O&&this.O.Ma>d?this.O:null;e&&(c=e.sd,d=e.Ma);d>(this.C&224)>>5?(this.u&4&&(Fc(this,2),this.u&=-5),K(this,c,0,-9),d=!0):d=!1;d&&(e&&Gc(this,e),a=!0)}else this.u&1&&this.u++;a=a&&0>b}if(a)break;if(this.u&112&&Hc(this)&&0>b)break}this.u=this.u&7|this.C&16;this.decode(Ec(this))}while(0>5,e=this.O&&this.O.Ma>d?this.O:null;e&&(c=e.sd,d=e.Ma);d>(this.B&224)>>5?(this.u&4&&(Fc(this,2),this.u&=-5),K(this,c,0,-9),d=!0):d=!1;d&&(e&&Gc(this,e),a=!0)}else this.u&1&&this.u++;a=a&&0>b}if(a)break;if(this.u&112&&Hc(this)&&0>b)break}this.u=this.u&7|this.B&16;this.decode(Ec(this))}while(0>1|b<<16;Kc(this,a);return a&65535}function fd(a,b){a=b&128|b>>1|b<<8;Kc(this,a<<8);return a&255} function gd(a,b){a=b&~a;R(this,a);return a}function hd(a,b){a=b&~a;R(this,a<<8);return a}function id(a,b){a|=b;R(this,a);return a}function jd(a,b){a|=b;R(this,a<<8);return a}function kd(a,b){a=~b|65536;Ic(this,a);return a&65535}function ld(a,b){a=~b|256;Ic(this,a<<8);return a&255}function md(a,b){a=b-a;this.u&128||(this.s=this.i=a,this.g=b&(b^a));return a&65535}function nd(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.s=this.i=c,this.g=b&(b^c));return a&255} function od(a,b){a=b+a;this.u&128||(this.s=this.i=a,this.g=a&(b^a));return a&65535}function pd(a,b){a=b+a;var c=a<<8;this.u&128||(this.s=this.i=c,this.g=c&(b<<8^c));return a&255}function qd(a,b){a=-b;Ic(this,a,a&b&32768);return a&65535}function rd(a,b){a=-b;Ic(this,a<<8,(a&b&128)<<8);return a&255}function sd(a,b){a=b<<1|this.m>>16&1;Kc(this,a);return a&65535}function td(a,b){a=b<<1|this.m>>16&1;Kc(this,a<<8);return a&255}function ud(a,b){a=(this.m&65536|b)>>1|b<<16;Kc(this,a);return a&65535} -function vd(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Kc(this,a<<8);return a&255}function wd(a,b){var c=b-a;Lc(this,c,a,b);return c&65535}function xd(a,b){var c=b-a;Lc(this,c<<8,a<<8,b<<8);return c&255}function yd(a,b){this.u&128||(this.s=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function zd(a,b){a^=b;R(this,a);return a&65535}function Ad(a){T(this,a,Vc(this,a),ad);this.a-=this.c?9+(this.B&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)} +function vd(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Kc(this,a<<8);return a&255}function wd(a,b){var c=b-a;Lc(this,c,a,b);return c&65535}function xd(a,b){var c=b-a;Lc(this,c<<8,a<<8,b<<8);return c&255}function yd(a,b){this.u&128||(this.s=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function zd(a,b){a^=b;R(this,a);return a&65535}function Ad(a){T(this,a,Vc(this,a),ad);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)} function Bd(a){var b=Yc(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.g=32768)}this.f[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b} function Cd(a){var b=Yc(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.f[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Dd(a){V(this,a,!P(this))}function Ed(a){V(this,a,P(this))} -function Fd(a){T(this,a,Vc(this,a),gd);this.a-=this.c?9+(this.B&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Gd(a){S(this,a,Uc(this,a),hd);this.a-=this.c?9+(this.B&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Hd(a){T(this,a,Vc(this,a),id);this.a-=this.c?9+(this.B&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Id(a){S(this,a,Uc(this,a),jd);this.a-=this.c?9+(this.B&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)} -function Jd(a){var b=Vc(this,a);a=Yc(this,a);R(this,(0>b?this.f[-b-1]:b)&a);this.a-=this.c?4+(this.B&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Kd(a){var b=Uc(this,a);a=Xc(this,a);R(this,((0>b?this.f[-b-1]&255:b)&a)<<8);this.a-=this.c?4+(this.B&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Ld(a){V(this,a,this.i&65535?0:4)}function Md(a){V(this,a,!this.Aa()==!(this.g&32768))}function Nd(a){V(this,a,!!(this.i&65535)&&!this.Aa()==!(this.g&32768))} +function Fd(a){T(this,a,Vc(this,a),gd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Gd(a){S(this,a,Uc(this,a),hd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Hd(a){T(this,a,Vc(this,a),id);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Id(a){S(this,a,Uc(this,a),jd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)} +function Jd(a){var b=Vc(this,a);a=Yc(this,a);R(this,(0>b?this.f[-b-1]:b)&a);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Kd(a){var b=Uc(this,a);a=Xc(this,a);R(this,((0>b?this.f[-b-1]&255:b)&a)<<8);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Ld(a){V(this,a,this.i&65535?0:4)}function Md(a){V(this,a,!this.Aa()==!(this.g&32768))}function Nd(a){V(this,a,!!(this.i&65535)&&!this.Aa()==!(this.g&32768))} function Od(a){V(this,a,!P(this)&&!!(this.i&65535))}function Pd(a){V(this,a,(this.i&65535?0:4)||!this.Aa()!=!(this.g&32768))}function Qd(a){V(this,a,P(this)||(this.i&65535?0:4))}function Rd(a){V(this,a,!this.Aa()!=!(this.g&32768))}function Sd(a){V(this,a,this.Aa())}function Td(a){V(this,a,!!(this.i&65535))}function Ud(a){V(this,a,!this.Aa())}function Vd(){K(this,12,0,-8);this.a-=5}function Wd(a){V(this,a,!0)}function Xd(a){V(this,a,!(this.g&32768))}function Yd(a){V(this,a,this.g&32768?2:0)} -function W(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function Zd(a){var b=Vc(this,a);a=Yc(this,a);var c=(b=0>b?this.f[-b-1]:b)-a;Lc(this,c,a,b);this.a-=this.c?4+(this.B&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function $d(a){var b=Uc(this,a);a=Xc(this,a);var c=(b=(0>b?this.f[-b-1]&255:b)<<8)-(a<<=8);Lc(this,c,a,b);this.a-=this.c?4+(this.B&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)} +function W(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function Zd(a){var b=Vc(this,a);a=Yc(this,a);var c=(b=0>b?this.f[-b-1]:b)-a;Lc(this,c,a,b);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function $d(a){var b=Uc(this,a);a=Xc(this,a);var c=(b=(0>b?this.f[-b-1]&255:b)<<8)-(a<<=8);Lc(this,c,a,b);this.a-=this.c?4+(this.C&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)} function ae(a){var b=Yc(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.g=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.s=0,this.g=32768,this.m=65536,this.a-=7}function be(){K(this,24,0,-8);this.a-=25} -function ce(){this.C&49152?(this.ea|=128,K(this,4,0,-7)):(this.w&&this.w.setData(this.f[0],!0),this.D?this.D.b():G(this));this.a-=7}function de(){K(this,16,0,-8);this.a-=25}var ee=[0,7,7,10,7,11,9,13];function fe(a){this.F=this.a;Q(this,Wc(this,a));this.a=this.F-ee[this.c]}var ge=[0,14,14,17,14,18,16,20];function he(a){this.F=this.a;var b=Wc(this,a);a=a>>6&7;Mc(this,this.f[a]);this.f[a]=this.f[7];Q(this,b);this.a=this.F-ge[this.c]}var ie=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; -function je(a){var b=Vc(this,a);this.F=this.a;R(this,$c(this,a,b));this.a=this.F-ie[(this.A?8:0)+this.c]+(7!=this.b||this.c?0:2)}function ke(a){var b=Uc(this,a);R(this,Zc(this,a,b,65535)<<8);this.a-=this.c?9+(this.B&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}var le=[7,13,13,17,14,18,17,21]; -function me(a){var b=Yc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.u&128||(this.s=b>>16,this.i=this.s|b,this.g=0,this.m=-32768>b||32767>6;if(this.f[b]=this.f[b]-1&65535)Q(this,this.f[7]-((a&63)<<1)),this.a+=1;this.a-=6}function se(a){T(this,a,Vc(this,a),wd);this.a-=this.c?9+(this.B&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function te(a){T(this,a,0,yd);this.a-=this.c?9:3+(7==this.b?2:0)}function ue(){K(this,28,0,-8);this.a-=5} +function ce(){this.B&49152?(this.ea|=128,K(this,4,0,-7)):(this.w&&1120==this.Ea&&this.w.setData(this.f[0],!0),this.D?this.D.b():G(this));this.a-=7}function de(){K(this,16,0,-8);this.a-=25}var ee=[0,7,7,10,7,11,9,13];function fe(a){this.F=this.a;Q(this,Wc(this,a));this.a=this.F-ee[this.c]}var ge=[0,14,14,17,14,18,16,20];function he(a){this.F=this.a;var b=Wc(this,a);a=a>>6&7;Mc(this,this.f[a]);this.f[a]=this.f[7];Q(this,b);this.a=this.F-ge[this.c]}var ie=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17]; +function je(a){var b=Vc(this,a);this.F=this.a;R(this,$c(this,a,b));this.a=this.F-ie[(this.A?8:0)+this.c]+(7!=this.b||this.c?0:2)}function ke(a){var b=Uc(this,a);R(this,Zc(this,a,b,65535)<<8);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}var le=[7,13,13,17,14,18,17,21]; +function me(a){var b=Yc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.u&128||(this.s=b>>16,this.i=this.s|b,this.g=0,this.m=-32768>b||32767>6;if(this.f[b]=this.f[b]-1&65535)Q(this,this.f[7]-((a&63)<<1)),this.a+=1;this.a-=6}function se(a){T(this,a,Vc(this,a),wd);this.a-=this.c?9+(this.C&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function te(a){T(this,a,0,yd);this.a-=this.c?9:3+(7==this.b?2:0)}function ue(){K(this,28,0,-8);this.a-=5} function ve(){this.w&&(this.w.da=this.f[7],this.w.setData(this.f[0],!0));this.u|=4;Fc(this,-2);this.a-=3}function we(a){T(this,a,Vc(this,a),zd);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8,0,-8)}function Bc(a){xe[a>>12].call(this,a)}function ye(a){ze[a>>6&3].call(this,a)}function Ae(a){Be[a>>6&3].call(this,a)}function Ce(a){De[a>>6&3].call(this,a)}function Ee(a){Fe[a&15].call(this,a)}function Ge(a){He[a&15].call(this,a)}function Ie(a){Je[a>>6&3].call(this,a)} function Ke(a){Le[a>>6&3].call(this,a)}function Me(a){Ne[a>>6&3].call(this,a)} var xe=[function(a){Oe[a>>8&15].call(this,a)},je,Zd,Jd,Fd,Hd,Ad,Y,function(a){Qe[a>>8&15].call(this,a)},ke,$d,Kd,Gd,Id,se,Y],Oe=[function(a){Re[a>>4&15].call(this,a)},Wd,Td,Ld,Md,Rd,Nd,Pd,he,he,ye,Ae,Ce,Y,Y,Y],ze=[function(a){Ic(this,$c(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,kd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,od);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,md);this.a-=this.c?9:3+(7==this.b?2:0)}],Be=[function(a){T(this,a,0, @@ -147,35 +147,35 @@ Re=[function(a){Se[a&15].call(this,a)},Y,Y,Y,fe,fe,fe,fe,pe,Y,Ee,Ge,te,te,te,te] Zc(this,a,0,255));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,ld);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,pd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,nd);this.a-=this.c?9:3+(7==this.b?2:0)}],Le=[function(a){S(this,a,0,rd);this.a-=this.c?11:6},function(a){S(this,a,P(this)?1:0,bd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,P(this)?1:0,xd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Xc(this,a);Ic(this,a<<8);this.a-=this.c?4:3+(7== this.b?2:0)}],Ne=[function(a){S(this,a,0,vd);this.a-=this.c?9+(this.xb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,td);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,fd);this.a-=this.c?9+(this.xb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,dd);this.a-=this.c?9:3+(7==this.b?2:0)}];function Cc(a){Te[a>>12].call(this,a)} var Te=[function(a){Ue[a>>8&15].call(this,a)},je,Zd,Jd,Fd,Hd,Ad,function(a){Ve[a>>8&15].call(this,a)},function(a){We[a>>8&15].call(this,a)},ke,$d,Kd,Gd,Id,se,Y],Ue=[function(a){Xe[a>>4&15].call(this,a)},Wd,Td,Ld,Md,Rd,Nd,Pd,he,he,ye,Ae,Ce,function(a){Ye[a>>6&3].call(this,a)},Y,Y],Ye=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.V(a|this.R);Q(this,this.f[5]);this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=Sc(this,a,0);Mc(this,a);R(this,a);this.a-=11},function(a){var b=Oc(this);this.F= -this.a;Tc(this,a,0,b);R(this,b);this.a=this.F-le[this.c]},function(a){R(this,$c(this,a,this.Aa?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Xe=[function(a){Ze[a&15].call(this,a)},Y,Y,Y,fe,fe,fe,fe,pe,function(a){a&8?(this.C&49152||(this.C=this.C&-2017|(a&7)<<5,this.u|=1),this.a-=5):K(this,8,0,-8)},Ee,Ge,te,te,te,te],Ze=[ce,ve,function(){Nc(this);this.u|=this.C&16;this.a-=13},Vd,de,oe,qe,function(){K(this,8,0,-8)},Y,Y,Y,Y,Y,Y,Y,Y],Ve=[me,me,ae,ae,Bd,Bd,Cd,Cd,we,we,Y,Y,Y,Y,re,re],We=[Ud,Sd,Od,Qd, +this.a;Tc(this,a,0,b);R(this,b);this.a=this.F-le[this.c]},function(a){R(this,$c(this,a,this.Aa?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Xe=[function(a){Ze[a&15].call(this,a)},Y,Y,Y,fe,fe,fe,fe,pe,function(a){a&8?(this.B&49152||(this.B=this.B&-2017|(a&7)<<5,this.u|=1),this.a-=5):K(this,8,0,-8)},Ee,Ge,te,te,te,te],Ze=[ce,ve,function(){Nc(this);this.u|=this.B&16;this.a-=13},Vd,de,oe,qe,function(){K(this,8,0,-8)},Y,Y,Y,Y,Y,Y,Y,Y],Ve=[me,me,ae,ae,Bd,Bd,Cd,Cd,we,we,Y,Y,Y,Y,re,re],We=[Ud,Sd,Od,Qd, Xd,Yd,Dd,Ed,be,ue,Ie,Ke,Me,function(a){$e[a>>6&3].call(this,a)},Y,Y],$e=[Y,function(a){a=Sc(this,a,65536);Mc(this,a);R(this,a);this.a-=11},function(a){var b=Oc(this);this.F=this.a;Tc(this,a,65536,b);R(this,b);this.a=this.F-le[this.c]},Y]; function af(a){x.call(this,"ROM",a,af);this.W=this.c=null;this.i=a.addr;this.b=a.size;this.m=!1;this.g=a.alias;this.l=a.file;this.s=q(this.l);if(this.l){a=this.l;var b=la(this.s);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Ra(c.pa,a,b),(a=ta(a,b))?(c.c=a.K,c.W=a.W):c.l=null);bf(c)})}}z(af);h=af.prototype; h.ia=function(a,b,c,d){this.h=b;this.a=c;this.D=d;bf(this)};h.ka=function(){this.W&&(this.D&&this.D.a(this.id,this.i,this.b,this.W),delete this.W);return!0};h.ja=function(){return!0}; -function bf(a){if(!Va(a)){if(a.l){if(!a.c||!a.h)return;a.b||(a.b=a.c.length);if(a.c.length!=a.b)Wa(a,"ROM size ("+m(a.c.length,8,!0)+") does not match specified size ("+m(a.b,8,!0)+")");else{var b;a:{b=a.i;a.status(a.b+"-byte ROM at "+ka(b));if(57344<=b&&b<57344+H){var c={};b=(c[b]=[af.prototype.Zc,af.prototype.Ud,null,null,null,a.b>>1],c);if(cb(a.h,a,b,256,a.Ga)){b=a.m=!0;break a}}else if(Fb(a.h,b,a.b,gc)){for(c=0;c>1],c);if(cb(a.h,a,b,256,a.Ha)){b=a.m=!0;break a}}else if(Fb(a.h,b,a.b,gc)){for(c=0;c>>a.c;0>>a.c;0=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),u=k,w=n-=6;0=b.length)break;l+=b[k++]&255;if(l&255)break;if(w)for(;w--;)a.a.$a(p++,b[u++]&255);else p&1?G(a.a):null==d&&(d=p);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(g=0;g=b)a.preventDefault&&a.preventDefault(),64e.w&&(e.w-=32),e.c|=128,e.c&64&&Tb(e.a,e.aa))});this.B=Vb(52,4);this.$=Sb(this.a,function(){e.b|=128;e.b&64&&Tb(e.a,e.B)});cb(b,this,hf);eb(b,this.reset.bind(this));F(this)}; -h.Nb=function(){if(!this.v){var a=sc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.Ga)return;b=pa(b[1]);if(this.v=Sa(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.A=d.receiveData){this.status(this.pa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ka=function(a,b){if(!b)if(this.Nb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -h.ja=function(a){return a?this.save():!0};h.reset=function(){jf(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return jf(this)};function jf(a){a.w=0;a.c=0;a.b=128;a.i=[];return!0}h.Db=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;be.w&&(e.w-=32),e.b|=128,e.b&64&&Tb(e.a,e.aa))});this.C=Vb(52,4);this.$=Sb(this.a,function(){e.c|=128;e.c&64&&Tb(e.a,e.C)});cb(b,this,hf);eb(b,this.reset.bind(this));F(this)}; +h.Nb=function(){if(!this.v){var a=sc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.Ha)return;b=pa(b[1]);if(this.v=Sa(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.A=d.receiveData){this.status(this.pa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ka=function(a,b){if(!b)if(this.Nb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +h.ja=function(a){return a?this.save():!0};h.reset=function(){jf(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return jf(this)};function jf(a){a.w=0;a.b=0;a.c=128;a.i=[];return!0}h.Db=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.J||8,c=a-this.s%a,this.J&&(b=" ".slice(0,c)));this.I&&!this.s&&c&&(b=String.fromCharCode(this.I)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<= -this.m.length)this.T(this.m),this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.b&=-129;Ub(this.a,this.$,1E3/Math.round(this.R/10))}};var kf={},hf=(kf[65392]=[null,null,Z.prototype.Tc,Z.prototype.Od,"RCSR"],kf[65394]=[null,null,Z.prototype.Sc,Z.prototype.Nd,"RBUF"],kf[65396]=[null,null,Z.prototype.nd,Z.prototype.he,"XCSR"],kf[65398]=[null,null,Z.prototype.md,Z.prototype.ge,"XBUF"],kf);Ga(function(){for(var a=E(document,"pdp11","serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.o[b]=c,c.onclick=function(){var a= d.o.listTapes;a&&nf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.o[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;nf(d,q(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.o[b]=c,!0}return!1}; h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.D=d;this.J=of(a);var e=this;if((this.c=sc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){t("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.M=Vb(56,4);this.R=Sb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.wc.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):v()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!r(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.j.N;g?a.G('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ra(a.pa,e,f),(e=ta(e,f))&&xf(a,b,c,d,e.K,e.ga,e.fa)); a.j.Da=!1;a.m&&(a.m--,a.m||F(a));uf(a)})}function rf(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.U);for(d=0;da.U||f[1]>a.Y)&&(this.G('Disk "'+c+'" too large for drive '+("RL"+a.yb)),b=null);b?(a.ca=b,a.xa=c,a.Ca=d,this.G('Mounted disk "'+c+'" in drive '+("RL"+a.yb),a.ub||e),this.l&&yc(this.l)):a.ib=!1;a.ub&&(a.ub=!1,--this.s||F(this));Jf(this,a.yb)}; function Nf(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e>12&48;this.w=f>>16&63;this.i=this.c=b<<7|(c?64:0)|d&63;this.m=65536-e&65535;a&&(this.L=this.L|a|32768);return!0}; h.zc=function(a,b,c,d,e,f,g){var k=0,l=a.ca,n=null,p;l||(k=5120,e=0);for(;e--;){if(!n){n=a.ca.seek(b,c,d+1);if(!n){k=5120;break}p=0}var u,w;if(0>(u=a.ca.read(n,p++))||0>(w=a.ca.read(n,p++))){k=5120;break}Ob(this.h,f,u|w<<8);if(Rb(this.h)){k=8192;break}f+=2;if(p>=l.ha&&(n=null,++d>=l.S&&(d=0,++c>=l.Y&&(c=0,++b>=l.U)))){k=5120;break}}return g(k,b,c,d,e,f)}; h.wd=function(a,b,c,d,e,f,g){var k=0,l=a.ca,n=null,p;l||(k=5120,e=0);for(;e--;){var u=Mb(this.h,f);if(Rb(this.h)){k=8192;break}f+=2;if(!n){n=a.ca.seek(b,c,d+1,!0);if(!n){k=5120;break}p=0}if(!a.ca.write(n,p++,u&255)||!a.ca.write(n,p++,u>>8)){k=5120;break}if(p>=l.ha&&(n=null,++d>=l.S&&(d=0,++c>=l.Y&&(c=0,++b>=l.U)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Wc=function(){return this.L&65535}; -h.Rd=function(a){this.L=this.L&-1023|a&1022;this.B=this.B&-4|(a&48)>>4;if(!(this.L&128)){var b;a=!0;var c=this.b[(this.L&768)>>8],d,e,f,g;this.L&=-2;switch(this.L&14){case 4:this.c&8&&(this.L&=63);this.m=c.status|this.i&64;break;case 6:1==(this.c&3)&&(b=this.c&65408,c=(this.c&16)<<2,this.i=this.c&4?this.i+b:this.i-b,this.c=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.zc;case 10:b||(b=this.wd),d=this.c>>7,e=this.c&64?1:0,f=this.c&63,d>=c.U||f>=c.S?this.L|=37888:(g=(this.w& +h.Rd=function(a){this.L=this.L&-1023|a&1022;this.C=this.C&-4|(a&48)>>4;if(!(this.L&128)){var b;a=!0;var c=this.b[(this.L&768)>>8],d,e,f,g;this.L&=-2;switch(this.L&14){case 4:this.c&8&&(this.L&=63);this.m=c.status|this.i&64;break;case 6:1==(this.c&3)&&(b=this.c&65408,c=(this.c&16)<<2,this.i=this.c&4?this.i+b:this.i-b,this.c=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.zc;case 10:b||(b=this.wd),d=this.c>>7,e=this.c&64?1:0,f=this.c&63,d>=c.U||f>=c.S?this.L|=37888:(g=(this.w& 63)<<16|this.v,a=65536-this.m&65535,a=b.call(this,c,d,e,f,a,g,this.jc.bind(this)))}a&&(this.L|=129,this.L&64&&Tb(this.a,this.F))}};h.Uc=function(){return this.v};h.Pd=function(a){this.v=a&65534};h.Xc=function(){return this.c};h.Sd=function(a){this.c=a};h.Yc=function(){return this.m};h.Td=function(a){this.m=a};h.Vc=function(){return this.w};h.Qd=function(a){this.w=a&63}; var Rf={},Mf=(Rf[63744]=[null,null,N.prototype.Wc,N.prototype.Rd,"RLCS"],Rf[63746]=[null,null,N.prototype.Uc,N.prototype.Pd,"RLBA"],Rf[63748]=[null,null,N.prototype.Xc,N.prototype.Sd,"RLDA"],Rf[63750]=[null,null,N.prototype.Yc,N.prototype.Td,"RLMP"],Rf[63752]=[null,null,N.prototype.Vc,N.prototype.Qd,"RLBE"],Rf); function Sf(a,b,c){x.call(this,"Computer",a,Sf);this.j.N=!1;Tf(this,b);this.A=sc(this,"autoPower",a);this.l=0;this.M=a.busWidth||a.buswidth;this.b=Uf;this.s=null;this.i=this.I=!1;this.O=sc(this,"url")||"";(Math.random()+.1).toString(36);this.c=Vf(this);if(this.a=Ta("CPU",this.id)){this.D=Ta("Debugger",this.id);this.h=new vb({id:this.pa+".bus",busWidth:this.M},this.a,this.D);var d,e=A(this.id);if((this.w=Ta("Panel",this.id))&&this.w.Xa)for(b=0;b\nLicense: GPL version 3 or later ");this.T("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;b\nLicense: GPL version 3 or later ");this.T("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis ");for(b=0;bUf){if(Wf(d,this.s)){this.g=new O(this,"1.30.3","failsafe");Wf(this.g)&&(ag(this,d),a=2,bg(this.g));this.g.set("timestamp",sa());cg(this.g);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=$f(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Wf(d,g):("error"== f&&"no machine state"!=g?(this.G("Error: "+g),"unable to verify user"==g&&(za("user",""),this.c=null)):this.T(f+": "+g),bg(d),Wf(d)?(c=$f(d),e=!0):c=!1))}e&&Zf(this,c?d:null)}else 2==a&&d.clear()}else Zf(this);delete this.s;delete this.v}e=A(this.id);for(f=0;fa[1];a=a[2];this.R=!0;this.j.N=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(dg(this,this.a,b,c,a),this.ya(),this.a.Wa());this.F&&(ag(this,b),b.clear());!c&&this.g&&(this.g.clear(),delete this.g);this.l=0}; function ag(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.3"};d.url=a.O;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} function fg(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new O(a,"1.30.3"),g=new O(a,"1.30.3","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&G(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.N=!1,!1===d&&(e=null)));for(var k=A(a.id),l=0;l(b.w+=a))){for(var e=0;e(b.w+=a))){for(var e=0;e