Fixed zeroMemory() to properly zero any block(s) that originally underlaid the IOPAGE block(s), rather than trying to zero the IOPAGE block itself (which would be a bad idea)

This commit is contained in:
Jeff 2016-11-03 15:36:37 -07:00 committed by Jeff Parsons
commit 97de321daa
4 changed files with 105 additions and 99 deletions

View file

@ -64,16 +64,16 @@ h.lc=function(a){a&&!this.a.j.U&&(this.w&&ob(this),a=pb(this,this.i),this.C==$a?
function ob(a){a.b=a.b+(ab(a,"STEP")?2:-2)&a.h.ja;qb(a,"A",a.b,22)}function pb(a,b){a.f=b&65535;qb(a,"D",a.f,16);return a.f}function rb(a,b,c){a.m[b]=c;a.v||hb(a,b,c)}function qb(a,b,c,d){for(var e=0;e<d;e++)rb(a,b+e,c&1<<e)}h.stop=function(){this.b=this.a.g[7]&this.h.ja;qb(this,"A",this.b,22)};
h.da=function(){if(this.s){for(var a=0;a<this.a.g.length;a++)ib(this,"R"+a,this.a.g[a]);a=sb(this.a);ib(this,"PS",a);ib(this,"NF",a&8?1:0,1);ib(this,"ZF",a&4?1:0,1);ib(this,"VF",a&2?1:0,1);ib(this,"CF",a&1?1:0,1);qb(this,"D",this.f,16);qb(this,"A",this.b,22);a=this.a.Ba?this.a.Ga&16?1:2:4;rb(this,"B22",a&1);rb(this,"B18",a&2);rb(this,"B16",a&4)}};h.tc=function(a){return(a?this.i:this.f)&65535};h.nd=function(a){this.f=a};var tb={},db=(tb[65400]=[null,null,Za.prototype.tc,Za.prototype.nd,"CNSW"],tb);
function gb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=Ta(e.id);f||(a=!0,f=new Za(e));C(f,d);a&&F(f)}}Ha(gb);
function ub(a,b,c){x.call(this,"Bus",a,ub);this.a=b;this.D=c;this.I=a.busWidth||16;this.m=0;this.G=[];this.w=null;this.A=1<<this.I;this.ja=this.A-1;this.b=H;this.c=Math.log2(this.b);this.C=this.b>>2;this.l=this.b-1;this.v=this.A/this.b|0;this.ya=[];this.f=0;this.i=!1;this.s=[];this.ac=[vb,wb,xb,yb];a=new I(this);zb(a,this.D);this.h=Array(this.v);for(b=0;b<this.v;b++)this.h[b]=a;F(this)}z(ub);var H=8192,Ab=H-1;
function ub(a,b,c){x.call(this,"Bus",a,ub);this.a=b;this.D=c;this.I=a.busWidth||16;this.s=0;this.v=[];this.i=null;this.C=1<<this.I;this.ja=this.C-1;this.b=H;this.c=Math.log2(this.b);this.G=this.b>>2;this.l=this.b-1;this.A=this.C/this.b|0;this.ya=[];this.f=0;this.m=!1;this.w=[];this.ac=[vb,wb,xb,yb];a=new I(this);zb(a,this.D);this.h=Array(this.A);for(b=0;b<this.A;b++)this.h[b]=a;F(this)}z(ub);var H=8192,Ab=H-1;
function vb(a,b){var c=-1,d=this.controller,e=d.ya[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.ya[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return c;J(d,b,16);return 255}function wb(a,b,c){var d=!1,e=this.controller,f=e.ya[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.ya[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||J(e,c,16)}
function xb(a,b){var c=-1,d=this.controller;(a=d.ya[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return c;J(d,b,16);return 65535}function yb(a,b,c){var d=!1,e=this.controller;if(a=e.ya[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||J(e,c,16)}function Bb(a,b){if(b!=a.m){var c;a.m&&(c=(1<<a.m)-H,Cb(a,c,H,a.G),a.m=0);b&&(a.m=b,c=1<<b,a.ja=c-1,c-=H,a.G=Db(a,c,H),a.w?Cb(a,c,H,a.w):(Eb(a,c,H,Fb,a),a.w=Db(a,c,H)))}}h=ub.prototype;
h.reset=function(){for(var a=0;a<this.s.length;a++)this.s[a]();Bb(this,16)};h.la=function(a,b){b||this.reset();return!0};
function xb(a,b){var c=-1,d=this.controller;(a=d.ya[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return c;J(d,b,16);return 65535}function yb(a,b,c){var d=!1,e=this.controller;if(a=e.ya[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||J(e,c,16)}function Bb(a,b){if(b!=a.s){var c;a.s&&(c=(1<<a.s)-H,Cb(a,c,H,a.v),a.s=0);b&&(a.s=b,c=1<<b,a.ja=c-1,c-=H,a.v=Db(a,c,H),a.i?Cb(a,c,H,a.i):(Eb(a,c,H,Fb,a),a.i=Db(a,c,H)))}}h=ub.prototype;
h.reset=function(){for(var a=0;a<this.w.length;a++)this.w[a]();Bb(this,16)};h.la=function(a,b){b||this.reset();return!0};
function Eb(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.c;0<g&&k<a.h.length;){var l=a.h[k],n=k*a.b,p=a.b-(f-n);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ja)return l.nb+=l.Ja-f,l.Ja=f,!0;if(f>=l.Ja+l.nb){p=l.size-(f-n);p>g&&(p=g);l.nb=f-l.Ja+p;f=n+a.b;g-=p;k++;continue}}return Gb(1,f,g)}f=new I(a,f,p,a.b,d,e);zb(f,a.D,l);a.h[k++]=f;f=n+a.b;g-=p}if(0>=g){c/=1024;var t;e="";t?10<t&&(t=10):t=c&-65536?10:5;if(null==c||isNaN(c))for(;0<t--;)e="?"+e;else for(;0<t--;)e=String.fromCharCode(c%10+48)+e,c/=
10;a.status(e+"Kb "+Hb[d]+" at "+ka(b));return!0}return Gb(2,b,c)}function Db(a,b,c){var d=[];for(b>>>=a.c;0<c&&b<a.h.length;)d.push(a.h[b++]),c-=a.b;return d}function Cb(a,b,c,d){var e=0;for(b>>>=a.c;0<c&&b<a.h.length;){var f=d[e++];if(!f)break;a.h[b++]=f;c-=a.b}}function Ib(a,b){3932160<=b&&(b=Jb(a.a,b));return a.h[(b&a.ja)>>>a.c].xb(b&a.l,b)}function Kb(a,b){3932160<=b&&(b=Jb(a.a,b));return a.h[(b&a.ja)>>>a.c].W(b&a.l,b)}
h.kb=function(a){3932160<=a&&(a=Jb(this.a,a));var b=a&this.l,c=(a&this.ja)>>>this.c;this.i=!1;this.f++;a=this.h[c].Sb(b,a);this.f--;return a};h.Xa=function(a,b){3932160<=a&&(a=Jb(this.a,a));this.i=!1;this.f++;this.h[(a&this.ja)>>>this.c].Eb(a&this.l,b&255,a);this.f--};function Lb(a,b,c){3932160<=b&&(b=Jb(a.a,b));a.h[(b&a.ja)>>>a.c].ob(b&a.l,c&65535,b)}h.lb=function(a,b){3932160<=a&&(a=Jb(this.a,a));var c=a&this.l,d=(a&this.ja)>>>this.c;this.i=!1;this.f++;this.h[d].Zb(c,b&65535,a);this.f--};
function Mb(a){for(var b=0,c=[],d=0;d<a.v;d++){var e=a.h[d];if(e.ua||e.fc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Nb(a,b,c,d,e,f,g,k,l){for(;b<=c;b+=2){var n=b&Ab;void 0!==a.ya[n]?u("I/O address already registered: "+m(b,8,!0)):a.ya[n]=[d,e,f,g,k||"unknown",l,!1]}}
function cb(a,b,c,d){for(var e in c){var f=+e,g=c[e];if(!(g[6]&&g[6]>a.a.Za)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,n=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null,t=g[5]||1;65472<=f&&65487>=f&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var w=g[4],E=0;E<t;E++,f+=2)w&&1<t&&(w=g[4]+E),Nb(a,f,f,k,l,n,p,w,d||64)}}}function eb(a,b){a.s.push(b)}
function J(a,b,c){a.i=!0;a.f||(c&&(a.a.M|=c),K(a.a,4,b))}function Ob(a){var b=a.i;a.i=!1;return b}function Gb(a,b,c){u("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}function L(a){x.call(this,"Device",a,L);this.b={L:0,Cb:-1}}z(L);h=L.prototype;h.ia=function(a,b,c,d){this.h=b;this.a=c;this.D=d;var e=this;this.b.Cb=Pb(c,function(){e.b.Aa|=128;e.b.Aa&64&&(Qb(e.a,e.b.ld),Rb(e.a,e.b.Cb,1E3/60))});this.b.ld=Sb(64,6);cb(b,this,M);eb(b,this.reset.bind(this));F(this)};
h.kb=function(a){3932160<=a&&(a=Jb(this.a,a));var b=a&this.l,c=(a&this.ja)>>>this.c;this.m=!1;this.f++;a=this.h[c].Sb(b,a);this.f--;return a};h.Xa=function(a,b){3932160<=a&&(a=Jb(this.a,a));this.m=!1;this.f++;this.h[(a&this.ja)>>>this.c].Eb(a&this.l,b&255,a);this.f--};function Lb(a,b,c){3932160<=b&&(b=Jb(a.a,b));a.h[(b&a.ja)>>>a.c].ob(b&a.l,c&65535,b)}h.lb=function(a,b){3932160<=a&&(a=Jb(this.a,a));var c=a&this.l,d=(a&this.ja)>>>this.c;this.m=!1;this.f++;this.h[d].Zb(c,b&65535,a);this.f--};
function Mb(a){for(var b=0,c=[],d=0;d<a.A;d++){var e=a.h[d];if(e.ua||e.fc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Nb(a,b,c,d,e,f,g,k,l){for(;b<=c;b+=2){var n=b&Ab;void 0!==a.ya[n]?u("I/O address already registered: "+m(b,8,!0)):a.ya[n]=[d,e,f,g,k||"unknown",l,!1]}}
function cb(a,b,c,d){for(var e in c){var f=+e,g=c[e];if(!(g[6]&&g[6]>a.a.Za)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,n=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null,t=g[5]||1;65472<=f&&65487>=f&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var w=g[4],E=0;E<t;E++,f+=2)w&&1<t&&(w=g[4]+E),Nb(a,f,f,k,l,n,p,w,d||64)}}}function eb(a,b){a.w.push(b)}
function J(a,b,c){a.m=!0;a.f||(c&&(a.a.M|=c),K(a.a,4,b))}function Ob(a){var b=a.m;a.m=!1;return b}function Gb(a,b,c){u("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}function L(a){x.call(this,"Device",a,L);this.b={L:0,Cb:-1}}z(L);h=L.prototype;h.ia=function(a,b,c,d){this.h=b;this.a=c;this.D=d;var e=this;this.b.Cb=Pb(c,function(){e.b.Aa|=128;e.b.Aa&64&&(Qb(e.a,e.b.ld),Rb(e.a,e.b.Cb,1E3/60))});this.b.ld=Sb(64,6);cb(b,this,M);eb(b,this.reset.bind(this));F(this)};
h.reset=function(){this.b.Aa=0};h.Bc=function(){var a=this.b.Aa;this.b.Aa&=-129;return a};h.vd=function(a){this.b.Aa=a;a&64&&Rb(this.a,this.b.Cb,1E3/60);this.b.Aa=a&-129};h.Dc=function(){var a=this.a;return a.w&62337|a.$a<<5|a.ab<<1};h.xd=function(a){var b=this.a;a&=62337;if(b.w!=a){b.w=a;b.$a=a>>5&3;b.ab=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ba!=c&&(b.Ba=c,Ub(b))}};h.Ec=function(){var a=this.a.Ca;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Fc=function(){return this.a.zb};h.Gc=function(){return this.a.Ga};
h.yd=function(a){var b=this.a;1170>b.Za&&(a&=-49);b.Ga!=a&&(b.Ga=a,b.Mb=a&16?4194303:262143,Ub(b))};h.fd=function(a){a=a>>1&63;var b=this.a.Ya[a>>1];return a&1?b>>16:b&65535};h.Yd=function(a,b){b=b>>1&63;var c=b>>1;this.a.Ya[c]=b&1?this.a.Ya[c]&65535|(a&63)<<16:this.a.Ya[c]&-65536|a&65534};h.Zc=function(a){return this.a.H[1][a>>1&7]};h.Rd=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.Xc=function(a){return this.a.H[1][(a>>1&7)+8]};h.Pd=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295};
h.Yc=function(a){return this.a.Y[1][a>>1&7]};h.Qd=function(a,b){b=b>>1&7;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Wc=function(a){return this.a.Y[1][(a>>1&7)+8]};h.Od=function(a,b){b=(b>>1&7)+8;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Ac=function(a){return this.a.H[0][a>>1&7]};h.ud=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.yc=function(a){return this.a.H[0][(a>>1&7)+8]};h.sd=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295};h.zc=function(a){return this.a.Y[0][a>>1&7]};
@ -109,7 +109,7 @@ function kb(a){var b;a.j.error?(a.T(a.toString()+" error"),b=!0):b=!1;if(!b)if(a
function vc(a){this.Za=+a.model||1170;this.Jb=a.addrReset||0;lc.call(this,a,6666667);this.decode=1120==this.Za?wc.bind(this):xc.bind(this);yc(this);this.sa=0;this.N=null;this.j.complete=!1}z(vc,lc);h=vc.prototype;h.reset=function(){this.status("model "+this.Za);this.j.U&&G(this);yc(this);oc(this);this.j.error=!1;this.parent.reset.call(this)};
function yc(a){a.m=65536;a.f=32768;a.i=65535;a.s=32768;a.B=15;a.g=[0,0,0,0,0,0,0,a.Jb];a.Ha=[0,0,0,0,0,0];a.na=[0,0,0,0];a.v=0;a.ab=0;a.ic=[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.Y=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.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];a.Vb=[0,0,0,0,0,0,0,0];a.Ub=0;a.u=0;a.A=a.C=0;a.c=a.b=a.tb=0;a.Ia=-1;jb(a)}function jb(a){a.Da=255;a.M=0;a.Ab=0;a.w=0;a.Ca=0;a.zb=0;a.Ga=0;a.Ba=0;a.$a=0;a.Mb=262143;a.N=null;a.h&&Ub(a)}function Ub(a){a.Ba?(a.P=65536,a.J=a.hc,a.W=a.gd,a.ob=a.Zd,Bb(a.h,a.Ga&16?22:18)):(a.P=0,a.J=a.gc,a.W=a.Tb,a.ob=a.$b,Bb(a.h,16))}function zc(a,b,c){a.Jb=b;P(a,b);!c&&a.D&&(G(a)||a.D.da())}h.Ib=function(){return 0};
h.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.ta,this.ra]);a.set(2,Mb(this.h));return a.data()};h.restore=function(a){var b=a[1];this.ta=b[1];rc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.C){for(var f=0,g=Array(b.C),k=0;k<e.length-1;)for(var l=e[k++],n=e[k++];l--;)g[f++]=n;e=g}f=b.h[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function R(a){return a.m&65536?1:0}
h.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.ta,this.ra]);a.set(2,Mb(this.h));return a.data()};h.restore=function(a){var b=a[1];this.ta=b[1];rc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.G){for(var f=0,g=Array(b.G),k=0;k<e.length-1;)for(var l=e[k++],n=e[k++];l--;)g[f++]=n;e=g}f=b.h[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function R(a){return a.m&65536?1:0}
h.za=function(){return this.s&32768?8:0};function Ac(a){var b=a.g[7];a.w&57344||(a.Ca=0,a.zb=b);a.g[7]=b+2&65535;return a.W(b)}function Bc(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function P(a,b){a.g[7]=b&65535}function Sb(a,b){return{md:a,Ka:b,next:null}}function Qb(a,b){if(b!=a.N){var c=a.N;if(!c||c.Ka<=b.Ka)b.next=c,a.N=b;else{do{var d=c.next;if(!d||d.Ka<=b.Ka){b.next=d;c.next=b;break}c=d}while(c)}}a.u|=2}function sb(a){return a.B=a.B&63728|a.za()|(a.i&65535?0:4)|(a.f&32768?2:0)|R(a)}
function Vb(a,b){a.s=b<<12;a.i=~b&4;a.f=b<<14;a.m=b<<16;if((b^a.B)&2048)for(var c=a.Ha.length;0<=--c;){var d=a.g[c];a.g[c]=a.Ha[c];a.Ha[c]=d}a.v=b>>14&3;c=a.B>>14&3;a.v!=c&&(a.na[c]=a.g[6],a.g[6]=a.na[a.v]);a.B=b;a.u|=2}function S(a,b){a.u&128||(a.s=a.i=b,a.f=0)}function Cc(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.f=c||0)}function Dc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^b)&(d^b))}function Ec(a,b){a.u&128||(a.s=a.i=a.m=b,a.f=a.s^a.m>>1)}function Fc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^d)&(d^b))}
function K(a,b,c){if(!a.sa){var d=!1;0>a.Ia?a.Ia=sb(a):a.v||(b=4,d=!0);a.w&57344||(a.Ca=63222,a.zb=b);a.v=0;var e=a.W(b|a.P),f=a.W(b+2&65535|a.P);Vb(a,f&-12289|a.Ia>>2&12288);d&&(a.M|=4,a.g[6]=4);Gc(a,a.Ia);Gc(a,a.g[7]);P(a,e);a.u&=-113;a.Ia=-1;a.u|=8;if(26!=c)throw b;}}function Hc(a){var b=Ic(a),c=Ic(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);P(a,b);Vb(a,c);a.u&=-17}
@ -155,7 +155,7 @@ function Ve(a){if(!Wa(a)){if(a.l){if(!a.b||!a.h)return;a.c||(a.c=a.b.length);if(
Ha(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ue(d);C(d,c)}});
function We(a){x.call(this,"RAM",a,We);this.X=this.c=null;this.l=a.addr;this.i=a.size;this.ga=a.load;this.fa=a.exec;this.f=!1;this.b=a.file;this.m=q(this.b);if(this.b){a=this.b;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(Sa(c.oa,a,b),(a=ta(a,b))?(c.c=a.K,c.X=a.X,null==c.ga&&(c.ga=a.ga),null==c.fa&&(c.fa=a.fa)):c.b=null);Xe(c)})}}z(We);
We.prototype.ia=function(a,b,c,d){this.h=b;this.a=c;this.D=d;Xe(this)};We.prototype.la=function(){this.X&&(this.D&&this.D.a(this.id,this.l,this.i,this.X),delete this.X);return!0};We.prototype.ka=function(){return!0};function Xe(a){if(a.h&&(!a.f&&a.i&&Eb(a.h,a.l,a.i,1)&&(a.f=!0),!Wa(a))){if(!a.f)u("No RAM allocated");else if(a.b){if(!a.c||!a.h)return;Ye(a,a.c,a.ga,a.fa,a.l)}F(a)}}
We.prototype.reset=function(){if(this.f){for(var a=this.h,b=this.l,c=this.i,d=b&a.l,b=b>>>a.c;0<c&&b<a.h.length;){var e=a.h[b],f=c,g,d=d||0;void 0===f&&(f=e.size);if(Ya)for(g=d;f--&&g<e.o.length;g++)e.o[g]=0;else for(g=d;f--&&g<e.size;g++)e.Eb(d,0,e.Ja+d);c-=a.b;b++;d=0}this.c&&Ye(this,this.c,this.ga,this.fa,this.l,!0)}};
We.prototype.reset=function(){if(this.f){for(var a=this.h,b=this.l,c=this.i,d=b&a.l,b=b>>>a.c;0<c&&b<a.h.length;){var e=a.h[b];if(e.controller&&a.i&&a.i.length==a.v.length){var f=a.i.indexOf(e);0<=f&&(e=a.v[f])}if(e){var f=c,g,d=d||0;void 0===f&&(f=e.size);if(Ya&&e.o)for(g=d;f--&&g<e.o.length;g++)e.o[g]=0;else for(g=d;f--&&g<e.size;g++)e.Eb(d,0,e.Ja+d)}c-=a.b;b++;d=0}this.c&&Ye(this,this.c,this.ga,this.fa,this.l,!0)}};
function Ye(a,b,c,d,e,f){var g=!1;if(null==c)for(var k=0;k<b.length-1;){var l=b[k]&255|(b[k+1]&255)<<8;if(l)if(l&255){if(1!=l)break;if(k+6>=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)),t=k,w=n-=6;0<n&&k<b.length;)l+=b[k++]&255,n--;if(n||k>=b.length)break;l+=b[k++]&255;if(l&255)break;if(w)for(;w--;)a.a.Xa(p++,b[t++]&255);else p&1?G(a.a):zc(a.a,p,f);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)a.a.Xa(c+
e,b[e]);null!=d&&zc(a.a,d,f);g=!0}return g}Ha(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new We(d);C(d,c)}});function Ze(a){x.call(this,"Keyboard",a,Ze);F(this)}z(Ze);Ze.prototype.$=function(){return!1};Ze.prototype.ia=function(a,b,c,d){this.l=a;this.a=c;this.D=d};Ha(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ze(d);C(d,c)}});
function Z(a){this.C=a.baudReceive||9600;this.I=a.baudTransmit||9600;this.R=a.upperCase;this.f=this.m=null;this.J=a.tabSize;this.G=a.charBOL;this.s=0;x.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.m="";else{var c;a=$e;b&&(void 0===c&&(c="Panel"),(c=Ua(c,this.id))&&(b=c.o[b])&&this.$(null,a,b))}this.v=this.A=null;this.exports={connect:this.Kb,receiveData:this.yb}}z(Z);var $e="buffer";h=Z.prototype;