diff --git a/modules/pdp11/lib/cpustate.js b/modules/pdp11/lib/cpustate.js index aa5c933b5..f60c54c1b 100644 --- a/modules/pdp11/lib/cpustate.js +++ b/modules/pdp11/lib/cpustate.js @@ -2073,21 +2073,25 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles) * so stopCPU() would have no effect as far as the Debugger is concerned. */ this.flags.complete = true; + this.flags.debugCheck = (DEBUGGER && this.dbg && this.dbg.checksEnabled()); /* - * fDebugCheck is true if we need to "check" every instruction with the Debugger. + * nDebugCheck is 1 if we want to "check" every instruction with the Debugger, and -1 if we only + * want to check the first instruction. */ - var fDebugCheck = this.flags.debugCheck = (DEBUGGER && this.dbg && this.dbg.checksEnabled()); + var nDebugCheck = this.flags.debugCheck? 1 : -1; /* - * nDebugState is checked only when fDebugCheck is true, and its sole purpose is to tell the first call + * nDebugState is checked only when nDebugCheck is set, and its sole purpose is to tell the first call * to checkInstruction() that it can skip breakpoint checks, and that will be true ONLY when fStarting is * true OR nMinCycles is zero (the latter means the Debugger is single-stepping). - * + */ + var nDebugState = (!nMinCycles)? -1 : (this.flags.starting? 0 : 1); + + /* * Once we snap fStarting, we clear it, because technically, we've moved beyond "starting" and have * officially "started" now. */ - var nDebugState = (!nMinCycles)? -1 : (this.flags.starting? 0 : 1); this.flags.starting = false; /* @@ -2098,12 +2102,13 @@ CPUStatePDP11.prototype.stepCPU = function(nMinCycles) this.nBurstCycles = this.nStepCycles = nMinCycles; do { - if (DEBUGGER && fDebugCheck) { + if (DEBUGGER && nDebugCheck) { if (this.dbg.checkInstruction(this.getPC(), nDebugState)) { this.stopCPU(); break; } nDebugState = 1; + nDebugCheck++; } if (this.opFlags) { diff --git a/versions/pdpjs/1.30.1/pdp11-dbg.js b/versions/pdpjs/1.30.1/pdp11-dbg.js index a8407340d..576168686 100644 --- a/versions/pdpjs/1.30.1/pdp11-dbg.js +++ b/versions/pdpjs/1.30.1/pdp11-dbg.js @@ -41,22 +41,22 @@ function ra(){return"http://"+(window?window.location.host:"www.pcjs.org")}funct function Ga(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ka(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function La(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ma(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0b?this.$a=this.id:(this.Sa=this.id.substr(0,b),this.$a=this.id.substr(b+1));this[a]=c;this.v={ready:!1,Ja:!1,Kb:!1,ja:!1,error:!1};this.Cb=null;this.v.error=!1;this.I={};this.i=null;this.na=d||0;t.push(this)}var Xa=void 0,db={}; +function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Yb=b.comment;this.uc=b;b=this.id.indexOf(".");0>b?this.$a=this.id:(this.Sa=this.id.substr(0,b),this.$a=this.id.substr(b+1));this[a]=c;this.v={ready:!1,Ja:!1,Kb:!1,ja:!1,error:!1};this.Cb=null;this.v.error=!1;this.I={};this.i=null;this.na=d||0;t.push(this)}var Xa=void 0,db={}; if(window){Xa||(Xa=window.location.search.substr(1));for(var eb,fb=/\+/g,gb=/([^&=]+)=?([^&]*)/g;eb=gb.exec(Xa);)db[decodeURIComponent(eb[1].replace(fb," "))]=decodeURIComponent(eb[2].replace(fb," "))}function hb(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 u(a,b){b||(b=r);a.prototype=hb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ib=window.PCjs.Machines||(window.PCjs.Machines={}),t=window.PCjs.Components||(window.PCjs.Components=[])}else ib={},t=[];function jb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function kb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>2;this.w=this.ua-1;this.D=this.H/this.ua|0;this.Ga=[];this.f=0;this.A=[];this.nc=[Ob,Pb,Qb,Rb];a=new I(this);Sb(a,this.i);this.V=Array(this.D);for(b=0;b>2;this.w=this.ua-1;this.D=this.H/this.ua|0;this.Ga=[];this.f=0;this.A=[];this.oc=[Ob,Pb,Qb,Rb];a=new I(this);Sb(a,this.i);this.V=Array(this.D);for(b=0;b>8:e[2](b)&255):b&1&&(e=d.Ga[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.i&&F(this.i,64)&&D(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=Ub(d,b,!0);this.i&&F(this.i,64)&&D(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c} function Pb(a,b,c){var d=!1,e=this.controller,f=e.Ga[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Ga[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.i&&F(this.i,64)&&D(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(Ub(e,c,!0,b),this.i&&F(this.i,64)&&D(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b),!0,!0))} function Qb(a,b){var c=-1,d=this.controller;(a=d.Ga[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&F(this.i,64)&&D(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=Ub(d,b,!1);this.i&&F(this.i,64)&&D(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c} @@ -74,20 +74,20 @@ k.xd=function(a){var b=this.b;1170>b.fb&&(a&=-49);b.Pa!=a&&(b.Pa=a,a&16?(b.rb=41 k.Kd=function(a,b){b=b>>1&7;this.b.ta[1][b]=a;this.b.U[1][b]&=65295};k.Wc=function(a){return this.b.ta[1][(a>>1&7)+8]};k.Id=function(a,b){b=(b>>1&7)+8;this.b.ta[1][b]=a;this.b.U[1][b]&=65295};k.Fc=function(a){return this.b.U[0][a>>1&7]};k.td=function(a,b){this.b.U[0][b>>1&7]=a&65295};k.Dc=function(a){return this.b.U[0][(a>>1&7)+8]};k.rd=function(a,b){this.b.U[0][(b>>1&7)+8]=a&65295};k.Ec=function(a){return this.b.ta[0][a>>1&7]};k.sd=function(a,b){b=b>>1&7;this.b.ta[0][b]=a;this.b.U[0][b]&=65295}; k.Cc=function(a){return this.b.ta[0][(a>>1&7)+8]};k.qd=function(a,b){b=(b>>1&7)+8;this.b.ta[0][b]=a;this.b.U[0][b]&=65295};k.ed=function(a){return this.b.U[3][a>>1&7]};k.Rd=function(a,b){this.b.U[3][b>>1&7]=a&65295};k.cd=function(a){return this.b.U[3][(a>>1&7)+8]};k.Pd=function(a,b){this.b.U[3][(b>>1&7)+8]=a&65295};k.dd=function(a){return this.b.ta[3][a>>1&7]};k.Qd=function(a,b){b=b>>1&7;this.b.ta[3][b]=a;this.b.U[3][b]&=65295};k.bd=function(a){return this.b.ta[3][(a>>1&7)+8]}; k.Od=function(a,b){b=(b>>1&7)+8;this.b.ta[3][b]=a;this.b.U[3][b]&=65295};k.jb=function(a){a&=7;return this.b.M&2048?this.b.Fa[a]:this.b.u[a]};k.ob=function(a,b){b&=7;this.b.M&2048?this.b.Fa[b]=a:this.b.u[b]=a};k.Qc=function(){return this.b.M&49152?this.b.wa[0]:this.b.u[6]};k.Cd=function(a){this.b.M&49152?this.b.wa[0]=a:this.b.u[6]=a};k.Tc=function(){return this.b.u[7]};k.Fd=function(a){this.b.u[7]=a};k.kb=function(a){a&=7;return this.b.M&2048?this.b.u[a]:this.b.Fa[a]}; -k.pb=function(a,b){b&=7;this.b.M&2048?this.b.u[b]=a:this.b.Fa[b]=a};k.Rc=function(){return 1==(this.b.M&49152)>>14?this.b.u[6]:this.b.wa[1]};k.Dd=function(a){1==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.wa[1]=a};k.Sc=function(){return 3==(this.b.M&49152)>>14?this.b.u[6]:this.b.wa[3]};k.Ed=function(a){3==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.wa[3]=a};k.Bc=function(a){return this.b.hc[a-65504>>1]};k.pd=function(a,b){this.b.hc[b-65504>>1]=a};k.ec=function(a){return 65520==a?61183:0};k.kc=function(){}; -k.ad=function(){return 1};k.Nd=function(){};k.Ac=function(){return this.b.aa};k.od=function(){this.b.aa=0};k.Hc=function(){return this.b.gc};k.vd=function(a,b){b&1||(a&=255);this.b.gc=a};k.Mc=function(a){return a?this.b.Pb:0};k.yd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Pb=a;b.F|=2};k.$c=function(a){return a?this.b.Qa&65280:0};k.Md=function(a){this.b.Qa=a|255};k.Pc=function(){return Lb(this.b)};k.Bd=function(a){wc(this.b,a&-1809|Lb(this.b)&1808);this.b.F|=128}; -k.jc=function(a,b){F(this)&&D(this,"writeIgnored("+na(b)+"): "+na(a),!0,!0)}; +k.pb=function(a,b){b&=7;this.b.M&2048?this.b.u[b]=a:this.b.Fa[b]=a};k.Rc=function(){return 1==(this.b.M&49152)>>14?this.b.u[6]:this.b.wa[1]};k.Dd=function(a){1==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.wa[1]=a};k.Sc=function(){return 3==(this.b.M&49152)>>14?this.b.u[6]:this.b.wa[3]};k.Ed=function(a){3==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.wa[3]=a};k.Bc=function(a){return this.b.ic[a-65504>>1]};k.pd=function(a,b){this.b.ic[b-65504>>1]=a};k.fc=function(a){return 65520==a?61183:0};k.lc=function(){}; +k.ad=function(){return 1};k.Nd=function(){};k.Ac=function(){return this.b.aa};k.od=function(){this.b.aa=0};k.Hc=function(){return this.b.hc};k.vd=function(a,b){b&1||(a&=255);this.b.hc=a};k.Mc=function(a){return a?this.b.Pb:0};k.yd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Pb=a;b.F|=2};k.$c=function(a){return a?this.b.Qa&65280:0};k.Md=function(a){this.b.Qa=a|255};k.Pc=function(){return Lb(this.b)};k.Bd=function(a){wc(this.b,a&-1809|Lb(this.b)&1808);this.b.F|=128}; +k.kc=function(a,b){F(this)&&D(this,"writeIgnored("+na(b)+"): "+na(a),!0,!0)}; var M={},L=(M[62592]=[null,null,K.prototype.Zc,K.prototype.Ld,"SISDR",1145],M[62608]=[null,null,K.prototype.Xc,K.prototype.Jd,"SDSDR",1145],M[62624]=[null,null,K.prototype.Yc,K.prototype.Kd,"SISAR",1145],M[62640]=[null,null,K.prototype.Wc,K.prototype.Id,"SDSAR",1145],M[62656]=[null,null,K.prototype.Fc,K.prototype.td,"KISDR",1145],M[62672]=[null,null,K.prototype.Dc,K.prototype.rd,"KDSDR",1145],M[62688]=[null,null,K.prototype.Ec,K.prototype.sd,"KISAR",1145],M[62704]=[null,null,K.prototype.Cc,K.prototype.qd, -"KDSAR",1145],M[62798]=[null,null,K.prototype.Lc,K.prototype.xd,"MMR3",1145],M[65382]=[null,null,K.prototype.Gc,K.prototype.ud,"LKS"],M[65400]=[null,null,K.prototype.zc,K.prototype.nd,"CNSL"],M[65402]=[null,null,K.prototype.Ic,K.prototype.wd,"MMR0",1145],M[65404]=[null,null,K.prototype.Jc,K.prototype.jc,"MMR1",1145],M[65406]=[null,null,K.prototype.Kc,K.prototype.jc,"MMR2",1145],M[65408]=[null,null,K.prototype.ed,K.prototype.Rd,"UISDR",1145],M[65424]=[null,null,K.prototype.cd,K.prototype.Pd,"UDSDR", +"KDSAR",1145],M[62798]=[null,null,K.prototype.Lc,K.prototype.xd,"MMR3",1145],M[65382]=[null,null,K.prototype.Gc,K.prototype.ud,"LKS"],M[65400]=[null,null,K.prototype.zc,K.prototype.nd,"CNSL"],M[65402]=[null,null,K.prototype.Ic,K.prototype.wd,"MMR0",1145],M[65404]=[null,null,K.prototype.Jc,K.prototype.kc,"MMR1",1145],M[65406]=[null,null,K.prototype.Kc,K.prototype.kc,"MMR2",1145],M[65408]=[null,null,K.prototype.ed,K.prototype.Rd,"UISDR",1145],M[65424]=[null,null,K.prototype.cd,K.prototype.Pd,"UDSDR", 1145],M[65440]=[null,null,K.prototype.dd,K.prototype.Qd,"UISAR",1145],M[65456]=[null,null,K.prototype.bd,K.prototype.Od,"UDSAR",1145],M[65472]=[null,null,K.prototype.jb,K.prototype.ob,"R0SET0"],M[65473]=[null,null,K.prototype.jb,K.prototype.ob,"R1SET0"],M[65474]=[null,null,K.prototype.jb,K.prototype.ob,"R2SET0"],M[65475]=[null,null,K.prototype.jb,K.prototype.ob,"R3SET0"],M[65476]=[null,null,K.prototype.jb,K.prototype.ob,"R4SET0"],M[65477]=[null,null,K.prototype.jb,K.prototype.ob,"R5SET0"],M[65478]= [null,null,K.prototype.Qc,K.prototype.Cd,"R6KERNEL"],M[65479]=[null,null,K.prototype.Tc,K.prototype.Fd,"R7KERNEL"],M[65480]=[null,null,K.prototype.kb,K.prototype.pb,"R0SET1",1145],M[65481]=[null,null,K.prototype.kb,K.prototype.pb,"R1SET1",1145],M[65482]=[null,null,K.prototype.kb,K.prototype.pb,"R2SET1",1145],M[65483]=[null,null,K.prototype.kb,K.prototype.pb,"R3SET1",1145],M[65484]=[null,null,K.prototype.kb,K.prototype.pb,"R4SET1",1145],M[65485]=[null,null,K.prototype.kb,K.prototype.pb,"R5SET1",1145], -M[65486]=[null,null,K.prototype.Rc,K.prototype.Dd,"R6SUPER",1145],M[65487]=[null,null,K.prototype.Sc,K.prototype.Ed,"R6USER",1145],M[65504]=[null,null,K.prototype.Bc,K.prototype.pd,"CTRL",1170],M[65520]=[null,null,K.prototype.ec,K.prototype.kc,"LSIZE",1170],M[65522]=[null,null,K.prototype.ec,K.prototype.kc,"HSIZE",1170],M[65524]=[null,null,K.prototype.ad,K.prototype.Nd,"SYSID",1170],M[65526]=[null,null,K.prototype.Ac,K.prototype.od,"CPUERR",1170],M[65528]=[null,null,K.prototype.Hc,K.prototype.vd, +M[65486]=[null,null,K.prototype.Rc,K.prototype.Dd,"R6SUPER",1145],M[65487]=[null,null,K.prototype.Sc,K.prototype.Ed,"R6USER",1145],M[65504]=[null,null,K.prototype.Bc,K.prototype.pd,"CTRL",1170],M[65520]=[null,null,K.prototype.fc,K.prototype.lc,"LSIZE",1170],M[65522]=[null,null,K.prototype.fc,K.prototype.lc,"HSIZE",1170],M[65524]=[null,null,K.prototype.ad,K.prototype.Nd,"SYSID",1170],M[65526]=[null,null,K.prototype.Ac,K.prototype.od,"CPUERR",1170],M[65528]=[null,null,K.prototype.Hc,K.prototype.vd, "MB",1170],M[65530]=[null,null,K.prototype.Mc,K.prototype.yd,"PIR"],M[65532]=[null,null,K.prototype.$c,K.prototype.Md,"SL"],M[65534]=[null,null,K.prototype.Pc,K.prototype.Bd,"PSW"],M);L[62594]=L[62592];L[62596]=L[62592];L[62598]=L[62592];L[62600]=L[62592];L[62602]=L[62592];L[62604]=L[62592];L[62606]=L[62592];L[62610]=L[62608];L[62612]=L[62608];L[62614]=L[62608];L[62616]=L[62608];L[62618]=L[62608];L[62620]=L[62608];L[62622]=L[62608];L[62626]=L[62624];L[62628]=L[62624];L[62630]=L[62624];L[62632]=L[62624]; L[62634]=L[62624];L[62636]=L[62624];L[62638]=L[62624];L[62642]=L[62640];L[62644]=L[62640];L[62646]=L[62640];L[62648]=L[62640];L[62650]=L[62640];L[62652]=L[62640];L[62654]=L[62640];L[62658]=L[62656];L[62660]=L[62656];L[62662]=L[62656];L[62664]=L[62656];L[62666]=L[62656];L[62668]=L[62656];L[62670]=L[62656];L[62674]=L[62672];L[62676]=L[62672];L[62678]=L[62672];L[62680]=L[62672];L[62682]=L[62672];L[62684]=L[62672];L[62686]=L[62672];L[62690]=L[62688];L[62692]=L[62688];L[62694]=L[62688];L[62696]=L[62688]; L[62698]=L[62688];L[62700]=L[62688];L[62702]=L[62688];L[62706]=L[62704];L[62708]=L[62704];L[62710]=L[62704];L[62712]=L[62704];L[62714]=L[62704];L[62716]=L[62704];L[62718]=L[62704];L[65410]=L[65408];L[65412]=L[65408];L[65414]=L[65408];L[65416]=L[65408];L[65418]=L[65408];L[65420]=L[65408];L[65422]=L[65408];L[65426]=L[65424];L[65428]=L[65424];L[65430]=L[65424];L[65432]=L[65424];L[65434]=L[65424];L[65436]=L[65424];L[65438]=L[65424];L[65442]=L[65440];L[65444]=L[65440];L[65446]=L[65440];L[65448]=L[65440]; L[65450]=L[65440];L[65452]=L[65440];L[65454]=L[65440];L[65458]=L[65456];L[65460]=L[65456];L[65462]=L[65456];L[65464]=L[65456];L[65466]=L[65456];L[65468]=L[65456];L[65470]=L[65456];L[65506]=L[65504];L[65508]=L[65504];L[65510]=L[65504];L[65512]=L[65504];L[65514]=L[65504];L[65516]=L[65504];L[65518]=L[65504];Ta(function(){for(var a=C(document,"pdp11","device"),b=0;b>1),this.b=new Int32Array(this.D,0,this.size>>2),Ec(this,Ac?Fc:Gc);else{a=this.b=Array(this.size>> +function I(a,b,c,d,e,f){this.w=a;this.id=Bc+=2;this.b=null;this.C=b;this.yb=c;this.size=d||0;this.type=e||Cc;this.g=e==Dc;this.controller=null;Sb(this);this.Ka=this.qc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Ec(this,f.oc);else if(sb)this.D=new ArrayBuffer(this.size),this.G=new DataView(this.D,0,this.size),this.f=new Uint8Array(this.D,0,this.size),this.J=new Uint16Array(this.D,0,this.size>>1),this.b=new Int32Array(this.D,0,this.size>>2),Ec(this,Ac?Fc:Gc);else{a=this.b=Array(this.size>> 2);for(f=0;f>2),b=0;b>8,c)},R:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ka:function(a,b){a&1&&gc(this.w,b,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535: @@ -96,20 +96,20 @@ b)},ra:function(a,b,c){if(this.i&&null!=this.C){var d=this.i;Lc(d,this.C+a,1,d.D b,2);a=this.J[a>>1];this.i&&F(this.i,128)&&D(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},ma:function(a,b){this.f[a]=b;this.Ka=!0},sa:function(a,b,c){this.f[a]=b;this.Ka=!0;this.i&&F(this.i,128)&&D(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},va:function(a,b,c){a&1&&gc(this.w,c,4);this.G.setUint16(a,b,!0);this.Ka=!0},za:function(a,b,c){a&1&&gc(this.w,c,4);this.J[a>>1]=b;this.Ka=!0;this.i&&F(this.i,128)&&D(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i, b)+")",!0)}};function Sb(a,b,c){a.i=b;a.I=a.B=0;c&&((a.I=c.I)&&Kc(a,Jc,!1),(a.B=c.B)&&Ic(a,Jc,!1))}function Mc(a,b){b?--a.B||(a.Ib=a.g?a.A:a.Jb,a.zb=a.g?a.H:a.Sb):--a.I||(a.Fb=a.Mb,a.pa=a.Nb)}function Ic(a,b,c){c&&a.B||(a.Ib=!a.g&&b[1]||a.A,a.zb=!a.g&&b[3]||a.H);if(c||void 0===c)a.Jb=b[1]||a.A,a.Sb=b[3]||a.H}function Kc(a,b,c){c&&a.I||(a.Fb=b[0]||a.K,a.pa=b[2]||a.L);if(c||void 0===c)a.Mb=b[0]||a.K,a.Nb=b[2]||a.L}function Ec(a,b){b||(b=Nc);Kc(a,b,void 0);Ic(a,b,void 0)} var Nc=[],Hc=[I.prototype.R,I.prototype.Sa,I.prototype.ka,I.prototype.Aa],Jc=[I.prototype.O,I.prototype.ra,I.prototype.Y,I.prototype.$a];if(sb)var Gc=[I.prototype.N,I.prototype.ma,I.prototype.X,I.prototype.va],Fc=[I.prototype.P,I.prototype.sa,I.prototype.da,I.prototype.za]; -function Oc(a,b){r.call(this,"CPU",a,Oc,1);var c=a.multiplier||1;this.Ra=a.cycles||b;this.Na=c;this.qb=Math.round(this.Ra/1E4)/100;this.Xa=this.qb*this.Na;this.v.ca=!1;this.v.Qb=!1;this.v.ab=a.autoStart;this.v.cb=!1;this.ub=this.ma=0;this.vb=a.csStart;this.gb=a.csInterval;this.hb=a.csStop;this.K=[];this.dc=this.jd.bind(this);H(this)}u(Oc);var Pc=["power","reset"];k=Oc.prototype; +function Oc(a,b){r.call(this,"CPU",a,Oc,1);var c=a.multiplier||1;this.Ra=a.cycles||b;this.Na=c;this.qb=Math.round(this.Ra/1E4)/100;this.Xa=this.qb*this.Na;this.v.ca=!1;this.v.Qb=!1;this.v.ab=a.autoStart;this.v.cb=!1;this.ub=this.ma=0;this.vb=a.csStart;this.gb=a.csInterval;this.hb=a.csStop;this.K=[];this.ec=this.jd.bind(this);H(this)}u(Oc);var Pc=["power","reset"];k=Oc.prototype; k.Ca=function(a,b,c,d){this.B=a;this.w=b;this.i=d;for(b=0;b=a.ma&&(a.ma+=a.gb,c=!0);0<=a.hb&&a.hb<=Vc(a)&&(a.gb=a.hb=-1,Sc(a),a.fa(),c=!0);c&&a.j(Vc(a)+" cycles: checksum="+l(a.ub))}} +k.ya=function(a,b){if(!b){if(a&&this.restore){Rc(this);if(!this.restore(a))return!1;Sc(this)}else this.reset();this.i?(a=this.i,b=this.v.ab,a.Ua=!0,a.j("Type ? for help with PDP11 Debugger commands"),a.ba(),b||a.lb(),a.Aa&&(b=a.Aa,a.Aa=null,Tc(a,b))):this.j("No debugger detected")}this.B.ba();return!0};k.xa=function(a){return a?this.save():!0};k.ab=function(){return this.v.ab||!this.i&&void 0===this.I.run?(this.mb(!0),!0):!1};k.Zb=function(){return 0}; +function Sc(a){void 0===a.vb&&(a.vb=0);void 0===a.gb&&(a.gb=-1);void 0===a.hb&&(a.hb=-1);a.v.cb=0<=a.vb&&0=a.ma&&(a.ma+=a.gb,c=!0);0<=a.hb&&a.hb<=Vc(a)&&(a.gb=a.hb=-1,Sc(a),a.fa(),c=!0);c&&a.j(Vc(a)+" cycles: checksum="+l(a.ub))}} k.qa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.v.ja)a=!0;else{var b=null,c,h=kb(a.id);for(c=0;ca.X/a.Xa?b=1:d=!0;a.Na=b;b=a.qb*a.Na;if(a.Xa!=b){a.Xa=b;b=a.Xa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.B&&a.B.lb()}Xc(a,a.P);a.P=0;a.O=za();a.Y=0;Yc(a);return d}function hc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function jc(a,b,c){0<=b&&ba.K[b][0]&&(c=a.Ra*a.Na/1E3*c|0,a.K[b][0]=c+Zc(a))} +!0;case "speed":return this.I[b]=c,!0;case "setSpeed":return this.I[b]=c,c.onclick=function(){Wc(d,d.Na<<1,!0)},c.textContent=this.Xa.toFixed(2)+"Mhz",!0}return!1};k.ba=function(){var a=this.I.speed;a&&(a.textContent=this.v.ca&&this.X?this.X.toFixed(2)+"Mhz":"Stopped")};function Xc(a,b,c){a.ka+=b;c&&(a.da=a.b=a.J=0)}function Yc(a,b){var c=1;b&&1a.X/a.Xa?b=1:d=!0;a.Na=b;b=a.qb*a.Na;if(a.Xa!=b){a.Xa=b;b=a.Xa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.B&&a.B.lb()}Xc(a,a.P);a.P=0;a.O=za();a.Y=0;Yc(a);return d}function hc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function jc(a,b,c){0<=b&&ba.K[b][0]&&(c=a.Ra*a.Na/1E3*c|0,a.K[b][0]=c+Zc(a))} function $c(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ad(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zc(a,b){var c=a.da-=a.b;a.b=a.J=0;b&&(a.da=0);return c} -k.jd=function(){if(this.v.ca){this.sb>=this.Ra&&Yc(this,!0);this.va=0;this.Ua=za();if(this.Y){var a=this.Ua-this.Y;a>this.ac&&(this.O+=a,this.O>this.Ua&&(this.O=this.Ua))}try{do{var b=$c(this,this.v.cb?1:this.Va);try{this.nb(b)}catch(e){if("number"!=typeof e)throw e;}b=Zc(this,!0);this.va+=b;this.P+=b;Uc(this,b);ad(this,b);this.ra-=b;if(0>=this.ra){this.ra+=this.Va;15<=++this.bc&&(this.B&&this.B.ba(),this.bc=0);break}}while(this.v.ca)}catch(e){this.fa();this.B&&this.B.stop(za(),Vc(this));rb(this, -e.stack||e.message);return}if(this.v.ca){a=setTimeout;b=this.dc;this.Y=za();var c=this.ac;this.va&&(c=Math.round(c*this.va/this.Va));var c=c-(this.Y-this.Ua),d=this.Y-this.O;d&&(this.X=Math.round(this.P/(10*d))/100,864E5<=d&&(this.ka=0,Wc(this)));if(0>c||this.Xc&&(this.O-=c),c=0;this.sb+=this.va;this.Y+=c;a(b,c)}}}; -k.mb=function(a){if(qb(this))return!1;if(this.v.ca)return this.j(this.toString()+" busy"),!1;Wc(this);this.v.ca=!0;this.v.Qb=!0;var b=this.I.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.lb(!0),this.B.start(this.O,Vc(this)));setTimeout(this.dc,0);return!0};k.nb=function(){return 0};k.fa=function(a){if(this.v.ca){Zc(this);Xc(this,this.P);this.P=0;this.v.ca=!1;var b=this.I.run;b&&(b.textContent="Run");this.B&&this.B.stop(za(),Vc(this))}this.v.complete=a}; -function bd(a){this.fb=+a.model||1170;this.Bb=a.addrReset||0;Oc.call(this,a,6666667);this.decode=1120==this.fb?cd.bind(this):dd.bind(this);ed(this);this.L=0;this.R=null;this.v.complete=this.v.pc=!1}u(bd,Oc);k=bd.prototype;k.reset=function(){this.status("model "+this.fb);this.v.ca&&this.fa();ed(this);Rc(this);this.v.error=!1;this.parent.reset.call(this)}; +k.jd=function(){if(this.v.ca){this.sb>=this.Ra&&Yc(this,!0);this.va=0;this.Ua=za();if(this.Y){var a=this.Ua-this.Y;a>this.bc&&(this.O+=a,this.O>this.Ua&&(this.O=this.Ua))}try{do{var b=$c(this,this.v.cb?1:this.Va);try{this.nb(b)}catch(e){if("number"!=typeof e)throw e;}b=Zc(this,!0);this.va+=b;this.P+=b;Uc(this,b);ad(this,b);this.ra-=b;if(0>=this.ra){this.ra+=this.Va;15<=++this.cc&&(this.B&&this.B.ba(),this.cc=0);break}}while(this.v.ca)}catch(e){this.fa();this.B&&this.B.stop(za(),Vc(this));rb(this, +e.stack||e.message);return}if(this.v.ca){a=setTimeout;b=this.ec;this.Y=za();var c=this.bc;this.va&&(c=Math.round(c*this.va/this.Va));var c=c-(this.Y-this.Ua),d=this.Y-this.O;d&&(this.X=Math.round(this.P/(10*d))/100,864E5<=d&&(this.ka=0,Wc(this)));if(0>c||this.Xc&&(this.O-=c),c=0;this.sb+=this.va;this.Y+=c;a(b,c)}}}; +k.mb=function(a){if(qb(this))return!1;if(this.v.ca)return this.j(this.toString()+" busy"),!1;Wc(this);this.v.ca=!0;this.v.Qb=!0;var b=this.I.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.lb(!0),this.B.start(this.O,Vc(this)));setTimeout(this.ec,0);return!0};k.nb=function(){return 0};k.fa=function(a){if(this.v.ca){Zc(this);Xc(this,this.P);this.P=0;this.v.ca=!1;var b=this.I.run;b&&(b.textContent="Run");this.B&&this.B.stop(za(),Vc(this))}this.v.complete=a}; +function bd(a){this.fb=+a.model||1170;this.Bb=a.addrReset||0;Oc.call(this,a,6666667);this.decode=1120==this.fb?cd.bind(this):dd.bind(this);ed(this);this.L=0;this.R=null;this.v.complete=this.v.Vb=!1}u(bd,Oc);k=bd.prototype;k.reset=function(){this.status("model "+this.fb);this.v.ca&&this.fa();ed(this);Rc(this);this.v.error=!1;this.parent.reset.call(this)}; function ed(a){a.S=65536;a.T=32768;a.Z=65535;a.W=32768;a.M=15;a.u=[0,0,0,0,0,0,0,a.Bb];a.Fa=[0,0,0,0,0,0];a.wa=[0,0,0,0];a.A=0;a.Aa=0;a.tc=[4,2,0,1];a.U=[[0,0,0,0,0,0,0,0,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.ta=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.yc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.hc=[0,0,0,0,0,0,0,0];a.gc=0;a.F=0;a.G=a.H=0;a.g=a.f=a.bb=0;a.sa=-1;fd(a)}function fd(a){a.Qa=255;a.aa=0;a.Pb=0;a.D=0;a.Oa=0;a.xb=0;a.Pa=0;a.Ma=0;a.za=0;a.rb=262143;a.Ta=253952;a.F|=2;a.w&&lc(a)}function lc(a){a.Ma?(a.N=65536,a.$=a.sc,a.pa=a.fd,a.zb=a.Sd,Vb(a.w,a.Pa&16?22:18)):(a.N=0,a.$=a.rc,a.pa=a.fc,a.zb=a.lc,Vb(a.w,16))}function gd(a,b,c){a.Bb=b;N(a,b);!c&&a.i&&(a.fa(),a.i.ba())}k.Yb=function(){return 0}; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.ic=[0,0,0,0,0,0,0,0];a.hc=0;a.F=0;a.G=a.H=0;a.g=a.f=a.bb=0;a.sa=-1;fd(a)}function fd(a){a.Qa=255;a.aa=0;a.Pb=0;a.D=0;a.Oa=0;a.xb=0;a.Pa=0;a.Ma=0;a.za=0;a.rb=262143;a.Ta=253952;a.F|=2;a.w&&lc(a)}function lc(a){a.Ma?(a.N=65536,a.$=a.sc,a.pa=a.fd,a.zb=a.Sd,Vb(a.w,a.Pa&16?22:18)):(a.N=0,a.$=a.rc,a.pa=a.gc,a.zb=a.mc,Vb(a.w,16))}function gd(a,b,c){a.Bb=b;N(a,b);!c&&a.i&&(a.fa(),a.i.ba())}k.Zb=function(){return 0}; k.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.ka,this.Na]);a.set(2,cc(this.w));return a.data()};k.restore=function(a){var b=a[1];this.ka=b[1];Wc(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c>14&3;c=a.M>>14&3;a.A!=c&&(a.wa[c]=a.u[6],a.u[6]=a.wa[a.A]);a.M=b;a.F|=2}function P(a,b){a.F&128||(a.W=a.Z=b,a.T=0)}function Ed(a,b,c){a.F&128||(a.W=a.Z=a.S=b,a.T=c||0)}function Fd(a,b,c,d){a.F&128||(a.W=a.Z=a.S=b,a.T=(c^b)&(d^b))}function Gd(a,b){a.F&128||(a.W=a.Z=a.S=b,a.T=a.W^a.S>>1)} @@ -120,13 +120,13 @@ function Ld(a,b,c){var d,e,f,g=0;d=b>>13;a.Pa&a.tc[a.A]||(d&=7);e=a.U[a.A][d];f= function Id(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.D&57344||(a.Oa=a.Oa<<8|246);!a.A&&c<=a.Qa&&4c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=a.pa(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.pa(e)| g;a.b-=8;break;case 6:return e=a.pa(ld(a,2)),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=a.pa(ld(a,2)),e=e+a.u[c]&65535,e=a.pa(e|a.N)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.D&57344||(a.Oa=a.Oa<<8|f<<3&248|c);6==c&&!a.A&&d&4&&0>=f&&(a.u[6]<=a.Qa||65534<=a.u[6])&&(a.u[6]<=a.Qa-32?(a.aa|=4,a.u[6]=4,a.ga(4,24)):(a.aa|=8,a.F|=64));return e}k.Db=function(a){if(!this.Ma)return this.w.Db(a);this.L++;a=Md(this,Ld(this,a,3));this.L--;return a}; -k.eb=function(a){if(!this.Ma)return this.w.eb(a);this.L++;a=this.fc(Ld(this,a,2));this.L--;return a};k.Ya=function(a,b){this.Ma?(this.L++,Nd(this,Ld(this,a,5),b),this.L--):this.w.Ya(a,b)};k.Hb=function(a,b){this.Ma?(this.L++,this.lc(Ld(this,a,4),b),this.L--):this.w.Hb(a,b)};k.rc=function(a,b,c){return Od(this,a,b,c)};k.sc=function(a,b,c){return Ld(this,Od(this,a,b,c),c)};k.fc=function(a){return this.w.oa(a)};k.fd=function(a){return this.w.oa(Ld(this,a,2))};k.lc=function(a,b){this.w.Za(a,b&65535)}; +k.eb=function(a){if(!this.Ma)return this.w.eb(a);this.L++;a=this.gc(Ld(this,a,2));this.L--;return a};k.Ya=function(a,b){this.Ma?(this.L++,Nd(this,Ld(this,a,5),b),this.L--):this.w.Ya(a,b)};k.Hb=function(a,b){this.Ma?(this.L++,this.mc(Ld(this,a,4),b),this.L--):this.w.Hb(a,b)};k.rc=function(a,b,c){return Od(this,a,b,c)};k.sc=function(a,b,c){return Ld(this,Od(this,a,b,c),c)};k.gc=function(a){return this.w.oa(a)};k.fd=function(a){return this.w.oa(Ld(this,a,2))};k.mc=function(a,b){this.w.Za(a,b&65535)}; k.Sd=function(a,b){this.w.Za(Ld(this,a,4),b)};function Pd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Od(a,b,d,2),c&65536||61440!==(a.M&61440)&&(d&=65535),a.A=a.M>>12&3,c=a.pa(d|c&a.N),a.A=a.M>>14&3):c=6!=d||(a.M>>2&12288)===(a.M&12288)?a.u[d]:a.wa[a.M>>12&3];return c}function Qd(a,b,c,d){a.D&57344||(a.Oa=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Od(a,b,e,4),c&65536||(e&=65535),a.A=a.M>>12&3,e=Ld(a,e|c&65536,4),a.A=a.M>>14&3,a.w.Za(e,d)):6!=e||(a.M>>2&12288)===(a.M&12288)?a.u[e]=d:a.wa[a.M>>12&3]=d} function Rd(a,b){b>>=6;var c=a.H=b&7;return(b=a.G=(b&56)>>3)?Md(a,a.$(b,c,3)):a.u[c]&255}function Sd(a,b){b>>=6;var c=a.H=b&7;return(b=a.G=(b&56)>>3)?a.w.oa(a.$(b,c,2)):a.u[c]}function Td(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Od(a,b,c,8)}function Ud(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Md(a,a.$(b,c,3)):a.u[c]&255}function Vd(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.oa(a.$(b,c,2)):a.u[c]} function Q(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.bb=a.$(b,e,7),Nd(a,e,d.call(a,c,Md(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function R(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.$(b,e,6),a.w.Za(e,d.call(a,c,a.w.oa(e)))):a.u[e]=d.call(a,c,a.u[e])}function Wd(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?Nd(a,a.$(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c}function Xd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.w.Za(a.$(b,d,4),c):a.u[d]=c&65535;return c} function S(a,b,c){c&&(N(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} -k.nb=function(a){this.v.complete=!0;var b=this.v.pc=this.i&&Yd(this.i),c=a?this.v.Qb?0:1:-1;this.v.Qb=!1;this.da=this.b=a;do{if(b){if(Zd(this.i,this.u[7],c)){this.fa();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.ga(168,28):this.F&64?this.ga(4,30):this.F&16&&this.ga(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Pb&224)>>5;if(a=this.R&&this.R.ib>e?this.R:null)d=a.md,e=a.ib;e>(this.M&224)>>5?(this.F&4&&(ld(this,2),this.F&=-5),this.ga(d,26),e=!0):e=!1;if(e&&a)if(e=this.R, -e==a)this.R=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=d}}else this.F&1&&this.F++;this.F=this.F&7|this.M&16;this.decode(kd(this))}while(0>5;if(a=this.R&&this.R.ib>e?this.R:null)d=a.md,e=a.ib;e>(this.M&224)>>5?(this.F&4&&(ld(this,2),this.F&=-5),this.ga(d,26),e=!0):e= +!1;if(e&&a)if(e=this.R,e==a)this.R=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=d}}else this.F&1&&this.F++;this.F=this.F&7|this.M&16;this.decode(kd(this))}while(0>1|b<<16;Gd(this,a);return a&65535}function ee(a,b){a=b&2048|b>>1|b<<8;Gd(this,a<<8);return a&255}function fe(a,b){a=b&~a;P(this,a);return a}function ge(a,b){a=b&~a;P(this,a<<8);return a}function he(a,b){a|=b;P(this,a);return a}function ie(a,b){a|=b;P(this,a<<8);return a}function je(a,b){a=~b|65536;Ed(this,a);return a&65535} function ke(a,b){a=~b|256;Ed(this,a<<8);return a&255}function le(a,b){a=b-a;this.F&128||(this.W=this.Z=a,this.T=b&(b^a));return a&65535}function me(a,b){a=b-a;var c=a<<8;b<<=8;this.F&128||(this.W=this.Z=c,this.T=b&(b^c));return a&255}function ne(a,b){a=b+a;this.F&128||(this.W=this.Z=a,this.T=a&(b^a));return a&65535}function oe(a,b){a=b+a;var c=a<<8;this.F&128||(this.W=this.Z=c,this.T=c&(b<<8^c));return a&255}function pe(a,b){a=-b;Ed(this,a,a&b&32768);return a&65535} function qe(a,b){a=-b;Ed(this,a<<8,(a&b&128)<<8);return a&255}function re(a,b){a=b<<1|this.S>>16&1;Gd(this,a);return a&65535}function se(a,b){a=b<<1|this.S>>16&1;Gd(this,a<<8);return a&255}function te(a,b){a=(this.S&65536|b)>>1|b<<16;Gd(this,a);return a&65535}function ue(a,b){a=((this.S&65536)>>8|b)>>1|b<<8;Gd(this,a<<8);return a&255}function ve(a,b){var c=b-a;Hd(this,c,a,b);return c&65535}function we(a,b){var c=b-a;Hd(this,c<<8,a<<8,b<<8);return c&255} @@ -161,10 +161,10 @@ vg.prototype.Ca=function(a,b,c,d){this.w=b;this.b=c;this.i=d;wg(this)};vg.protot vg.prototype.reset=function(){if(this.A){for(var a=this.w,b=this.B,c=this.D,d=b&a.w,b=b>>>a.ha;0=b.length)break;for(var h=h+2,p=b[h++]&255|(b[h++]&255)<<8,q=b[h++]&255|(b[h++]&255)<<8,m=m+((p&255)+(p>>8)+(q&255)+(q>>8)),v=h,w=p-=6;0=b.length)break;m+=b[h++]&255;if(m&255)break;if(w)for(;w--;)a.b.Ya(q++,b[v++]&255);else q&1?a.b.fa():gd(a.b,q,f);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e=b)a.preventDefault&&a.preventDefault(),64e.K&&(e.K-=32),e.f|=128,e.f&64&&ic(e.b,e.ka))});this.ma=kc(52,4);this.Y=hc(this.b,function(){e.g|=128;e.g&64&&ic(e.b,e.ma)});ec(b,this,Ag);H(this)}; -k.cc=function(){if(!this.J){var a=Qc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=va(b[0]);if(c!=this.$a)return;b=va(b[1]);if(this.J=lb(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.L=d.receiveData){this.status(this.Sa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ya=function(a,b){if(!b)if(this.cc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; +k.dc=function(){if(!this.J){var a=Qc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=va(b[0]);if(c!=this.$a)return;b=va(b[1]);if(this.J=lb(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.L=d.receiveData){this.status(this.Sa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ya=function(a,b){if(!b)if(this.dc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; k.xa=function(a){return a?this.save():!0};k.reset=function(){Bg(this)};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return Bg(this)};function Bg(a){a.K=0;a.f=0;a.g=128;a.D=[];return!0}k.Ob=function(a){if("number"==typeof a)this.D.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.R||8,c=a-this.H%a,this.R&&(b=ua("",c)));this.O&&!this.H&&c&&(b=String.fromCharCode(this.O)+b);this.A.value+=b;this.A.scrollTop=this.A.scrollHeight;this.H+=c}else if(null!=this.G){if(10==a||1024<=this.G.length)this.j(this.G), @@ -181,13 +181,13 @@ e.Ha));a.v.Ja=!1;a.D&&(a.D--,a.D||H(a));Mg(a)})}function Jg(a,b,c,d){if((a=a.I.l function Mg(a){var b=a.I.listTapes;if(b&&b.options){a=a.H||a.G;for(var c=0;c=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Rg.prototype.Zb=function(){return-1};Rg.prototype.$b=function(){}; +function Rg(a){r.call(this,"Debugger",a,Rg);this.Y=a.base||16;this.va=!1;this.J=0;this.O=!1;this.A=-1;this.g=[];this.R={}}u(Rg);var Sg={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Rg.prototype.$b=function(){return-1};Rg.prototype.ac=function(){}; function Tg(a,b,c,d){if(c)if(b){0>a.A&&a.g.length&&(a.A=0);if(0>a.A||b!=a.g[a.A])a.g.splice(0,0,b),a.A=0;a.A--}else a.O?b="end":b=a.g[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(va(b.substring(c,f))),c=f+1}}return a} function Ug(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} function Vg(a,b,c){var d;if(b){b=Wg(a,b);for(var e=0,f=!1,g=b,h=[],m=[],p=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;g=q+g;d>>=8}d=l(c,0,!0)+" "+c+". "+na(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Zg(a,b){if(b)return Yg(a,b,a.R[b]);var c=0;for(b in a.R)Yg(a,b,a.R[b]),c++;return 0d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"}k.$b=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Fa[a-8]:20>a?b=this.b.wa[a-16]:20==a&&(b=Lb(this.b)));return b}; +function jh(a,b,c){var d,e=(c?a.K:a.Ta).C;c=!1;if(void 0!==b){b=Wg(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;ed&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a?"R"+a:6==a?"SP":"PC"}k.ac=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Fa[a-8]:20>a?b=this.b.wa[a-16]:20==a&&(b=Lb(this.b)));return b}; k.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.xb).C));this.na&1073741824?this.ra.push(a):this.ma&&a==this.ma||(this.ma=a,this.na&-2147483648&&(this.fa(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,Zc(a),a.ra=0,a.B.ba()))};function bh(a){var b;if(!Yd(a))a.G&&a.G.length&&a.j("instruction history buffer freed"),a.X=0,a.G=[];else if(!a.G||!a.G.length){a.G=Array(1E3);for(b=0;b>8;this.j("trapped to "+J(this,b&255,1)+(c?" ("+J(this,c)+")":""))}this.K=Z(this.b.u[7]);a&&1!=this.P?qh(this):rh(this)}};function ph(a,b){var c;(c=!a.b||!pb(a.b))||(c=a.b,c.v.ja?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.ca?(b||a.j("cpu busy or unavailable, command ignored"),!1):!qb(a.b)}k.ya=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0}; @@ -213,9 +213,9 @@ k.restore=function(a){var b=0;void 0!==a[2]&&(this.K=mh(a[b++]),this.N=mh(a[b++] k.stop=function(a,b){if(this.v.ca){this.v.ca=!1;this.J=b-this.sb;if(!this.P){b="stopped";if(this.J){a-=this.rb;var c=0d&&(d=a.b.eb(b)),65535!=(d&65535)&&(c=a.G[a.X],c.C=b,c.Ba=!1,++a.X==a.G.length&&(a.X=0)));return!1}function $b(a){var b=a.b;if(b.v.ca)throw N(b,a.b.xb),a.fa(),-1;return!1} function ah(a){var b,c;a.f=["bp"];if(a.L)for(b=1;b>>d.ha],!1)}a.L=["br"];if(a.D)for(b=1;b>>d.ha],!0);a.D=["bw"];a.Ra=0}k.Wa=function(a,b,c){var d=!0;c||th(this,a,b,!1,!0);if(a!=this.f){var e=this.$(b);if(-1===e)this.j("invalid address: "+J(this,b.C)),d=!1;else{var f=this.w;f.V[e>>>f.ha].Wa(e&f.w,a==this.D)}}d&&(a.push(b),c?b.Ba=!0:(uh(this,a,a.length-1,"set"),bh(this)));return d}; -function th(a,b,c,d,e){var f=!1;c=a.$(c);for(var g=1;g>>d.ha],b==a.D));h.Ba||bh(a);break}}return f}function vh(a,b){for(var c=1;c>>d.ha],b==a.D));h.Ba||bh(a);break}}return f}function vh(a,b){for(var c=1;c>23)&65535,y=J(x,w);else if(8192==A)w=w.C-((f&63)<<1)&65535,y=J(x,w);else if(12288==A)y=J(x,f&7,1);else if(24576==A)y=J(x,f&63,1);else if(32768==A)y=J(x,f&255,1);else if(A=f&E,E&4032&&(A>>=6,E>>=6), E&63)switch(E=A&7,A&56){case 0:y=oh(E);break;case 8:y="@"+oh(E);break;case 16:7>E?y="("+oh(E)+")+":(A=x.oa(w,2),y="#"+J(x,A,0,!0));break;case 24:7>E?y="@("+oh(E)+")+":(A=x.oa(w,2),y="@#"+J(x,A,0,!0));break;case 32:y="-("+oh(E)+")";break;case 40:y="@-("+oh(E)+")";break;case 48:A=x.oa(w,2);y=J(x,A,0,!0)+"("+oh(E)+")";7==E&&(y=J(x,A+w.C&65535));break;case 56:A=x.oa(w,2),y="@"+J(x,A)+"("+oh(E)+")",7==E&&(y="@"+J(x,A+w.C&65535))}x=y;if(!x||!x.length){h="INVALID";break}"string"!=typeof x&&(p=x[1],x=x[0]); 0Kh){if(Mh(d,this.J)){this.D=new O(this,"1.30.1","failsafe");Mh(this.D)&&(Rh(this,d),a=2,Sh(this.D));this.D.set("timestamp",Aa());Th(this.D);var e=this.f&&!this.G;if(1==a||Da("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Qh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Mh(d,g):("error"== -f&&"no machine state"!=g?(this.ia("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.g=null)):this.j(f+": "+g),Sh(d),Mh(d)?(c=Qh(d),e=!0):c=!1))}e&&Ph(this,c?d:null)}else 2==a&&d.clear()}else Ph(this);delete this.J;delete this.K}e=kb(this.id);for(f=0;fa[1];a=a[2];this.da=!0;this.v.ja=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Uh(this,this.b,b,c,a),this.b.ab());this.O&&(Rh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0}; +f&&"no machine state"!=g?(this.ia("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.g=null)):this.j(f+": "+g),Sh(d),Mh(d)?(c=Qh(d),e=!0):c=!1))}e&&Ph(this,c?d:null)}else 2==a&&d.clear()}else Ph(this);delete this.J;delete this.K}e=kb(this.id);for(f=0;fa[1];a=a[2];this.da=!0;this.v.ja=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.b&&(Uh(this,this.b,b,c,a),this.b.ab());this.O&&(Rh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0}; function Rh(a,b){if(Da("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.1"};d.url=a.Y;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}} function Hh(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new O(a,"1.30.1"),g=new O(a,"1.30.1","validate"),h=Aa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.xa&&(c&&a.b.fa(),d=a.b.xa(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ja=!1,!1===d&&(e=null)));for(var h=kb(a.id),m=0;m