Cleaned up DEBUG code in the disk controllers
This commit is contained in:
parent
a06a4c9324
commit
aaf46034ca
5 changed files with 101 additions and 74 deletions
|
|
@ -44,8 +44,8 @@ function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
|
|||
function ra(){function a(a){return(10>a?"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 w(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 k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||
typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||
function sa(a,b){var c,d={O:null,ca:null,na:null,ma: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.na=g.load;d.ma=g.exec;if(e=g.bytes)d.O=e;else if(e=g.words)for(d.O=Array(2*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&255,d.O[f++]=e[c]>>8&255;else if(e=g.data)for(d.O=Array(4*e.length),f=c=0;c<e.length;c++)d.O[f++]=e[c]&
|
||||
255,d.O[f++]=e[c]>>8&255,d.O[f++]=e[c]>>16&255,d.O[f++]=e[c]>>24&255;else d.O=g;d.ca=g.symbols;d.O.length?1==d.O.length&&(x(d.O[0]),d=null):(x("Empty resource: "+a),d=null)}catch(k){x("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.O=e)}return d}
|
||||
function sa(a,b){var c,d={N:null,ca:null,na:null,ma: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.na=g.load;d.ma=g.exec;if(e=g.bytes)d.N=e;else if(e=g.words)for(d.N=Array(2*e.length),f=c=0;c<e.length;c++)d.N[f++]=e[c]&255,d.N[f++]=e[c]>>8&255;else if(e=g.data)for(d.N=Array(4*e.length),f=c=0;c<e.length;c++)d.N[f++]=e[c]&
|
||||
255,d.N[f++]=e[c]>>8&255,d.N[f++]=e[c]>>16&255,d.N[f++]=e[c]>>24&255;else d.N=g;d.ca=g.symbols;d.N.length?1==d.N.length&&(x(d.N[0]),d=null):(x("Empty resource: "+a),d=null)}catch(k){x("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){x("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.N=e)}return d}
|
||||
function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function x(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 xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}
|
||||
function Ca(a,b){var c=null;a="data:application/octet-stream;base64,"+a;b&&(c=document.createElement("a"),"string"!=typeof c.download&&(c=null));c?(c.href=a,c.download=b,document.body.appendChild(c),c.click(),document.body.removeChild(c),b="Check your Downloads folder for "+b+"."):(window.open(a),b="Check your browser for a new window/tab containing the requested data"+(b?" ("+b+")":"")+".");return b}var Da={init:[],show:[],exit:[]},Ea=!1,Fa=!1,Ga=!0;
|
||||
|
|
@ -69,7 +69,7 @@ h.Lc=function(a){if(!a&&!this.a.o.T)if(bb(this,"ENABLE"))ob(this.a);else{a=this.
|
|||
h.Oc=function(a){if(!a&&!this.a.o.T){this.D&&sb(this);if(this.H==ab)a=wb(this.g,this.ja);else{a=this.a;var b=this.ja;a.Na++;b=a.dc(vb(a,b,2));a.Na--;a=b}tb(this,a)}};h.Qc=function(a){a||this.a.o.T||xb(this,this.c)};h.Pc=function(a){if(a)this.B=!0,hb(this,!0);else if(this.B=!1,hb(this),void 0!==this.j.S0){for(a=this.c=0;22>a;a++)this.b["S"+a][1]=0&1<<a?1:0;ib(this)}};h.Tc=function(a,b){this.c=a?this.c|1<<b:this.c&~(1<<b)};
|
||||
function sb(a){var b=1145>a.a.Ra?8:16,c=65472<=a.ja&&a.ja<65472+b,b=c?1:2,c=c?15:a.g.Da;bb(a,"STEP")||(b=-b);xb(a,a.ja&~c|a.ja+b&c)}function xb(a,b){a.ja=b&a.g.Da;b=a.ja;for(var c=0;22>c;c++)yb(a,"A"+c,b&1<<c)}function tb(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)yb(a,"D"+c,b&1<<c);return a.i}function yb(a,b,c){a.h[b]=c;a.B||kb(a,b,c)}h.stop=function(){xb(this,this.a.f[7])};h.setData=function(a,b){b?this.m=a:this.i=a};h.Uc=function(a,b){return(b?this.m:this.c)&65535};h.Vd=function(a){this.m=a};
|
||||
var zb={},fb=(zb[65400]=[null,null,$a.prototype.Uc,$a.prototype.Vd,"CNSW"],zb);function jb(){for(var a=!1,b=E(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=C(d),f=Ua(e.id);f||(a=!0,f=new $a(e));D(f,d);a&&F(f)}}Ia(jb);
|
||||
function Ab(a,b,c){y.call(this,"Bus",a,Ab,16);this.a=b;this.G=c;this.N=a.busWidth||16;this.B=1<<this.N;this.Da=this.B-1;this.c=Bb;this.b=Math.log2(this.c);this.K=this.c>>2;this.l=this.c-1;this.v=this.B/this.c|0;this.Ca=[];this.m=0;this.s=!1;this.w=[];this.xc=[Cb,Db,Eb,Fb];a=new H(this);Gb(a,this.G);this.g=Array(this.v);this.h=Array(this.v);for(b=0;b<this.v;b++)this.g[b]=this.h[b]=a;a=this.B-Bb;Hb(this,a,Bb,Ib,this);this.J=this.H=(a&this.Da)>>>this.b;this.D=0;this.i=this.Da;F(this)}A(Ab);
|
||||
function Ab(a,b,c){y.call(this,"Bus",a,Ab,16);this.a=b;this.G=c;this.M=a.busWidth||16;this.B=1<<this.M;this.Da=this.B-1;this.c=Bb;this.b=Math.log2(this.c);this.K=this.c>>2;this.l=this.c-1;this.v=this.B/this.c|0;this.Ca=[];this.m=0;this.s=!1;this.w=[];this.xc=[Cb,Db,Eb,Fb];a=new H(this);Gb(a,this.G);this.g=Array(this.v);this.h=Array(this.v);for(b=0;b<this.v;b++)this.g[b]=this.h[b]=a;a=this.B-Bb;Hb(this,a,Bb,Ib,this);this.J=this.H=(a&this.Da)>>>this.b;this.D=0;this.i=this.Da;F(this)}A(Ab);
|
||||
var Bb=8192,Jb=Bb-1;function Cb(a,b){var c=-1,d=this.controller,e=d.Ca[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Ca[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;I(d,b,16);return 255}
|
||||
function Db(a,b,c){var d=!1,e=this.controller,f=e.Ca[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Ca[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||I(e,c,16)}function Eb(a,b){var c=-1,d=this.controller;a=d.Ca[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;I(d,b,16);return 65535}
|
||||
function Fb(a,b,c){var d=!1,e=this.controller;a=e.Ca[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||I(e,c,16)}function Kb(a,b){if(b!=a.D){for(var c=0;c<a.v;c++)a.h[c]=a.g[c];a.D=0;a.i=a.Da;b&&(a.D=b,b=1<<b,a.i=b-1,b-=Bb,a.J=(b&a.i)>>>a.b,a.h[a.J]=a.g[a.H])}}Ab.prototype.reset=function(){for(var a=0;a<this.w.length;a++)this.w[a]();Kb(this,16)};Ab.prototype.ia=function(a,b){b||this.reset();return!0};
|
||||
|
|
@ -97,18 +97,18 @@ Ia(function(){for(var a=E(document,"pdp11","device"),b=0;b<a.length;b++){var c,d
|
|||
function H(a,b,c,d,e,f){this.g=a;this.id=jc+=2;this.a=null;this.Fa=b;this.jb=c;this.size=d||0;this.type=e||kc;this.l=e==lc;this.controller=null;Gb(this);this.ua=this.Dc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.a=a[0],mc(this,f.xc);else if(Za)this.b=new ArrayBuffer(this.size),this.c=new DataView(this.b,0,this.size),this.j=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),mc(this,ic?nc:oc);else{a=this.a=Array(this.size>>
|
||||
2);for(f=0;f<a.length;f++)a[f]=0;mc(this,pc)}else mc(this)}var kc=0,Tb=1,lc=2,Ib=4,Mb=["NONE","RAM","ROM","VID","H/W"],jc=0;
|
||||
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Za)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.c.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Za)for(b=0;b<a.length;b++)this.c.setInt32(b<<2,a[b],!0);else this.a=a;return this.ua=!0}return!1},v:function(a,b){I(this.g,b,32);return 255},h:function(a,b,c){I(this.g,c,32)},B:function(a,b){return this.Lb(a++,b++)|
|
||||
this.Lb(a,b)<<8},w:function(a,b,c){this.yb(a++,b&255,c++);this.yb(a,b>>8,c)},N:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},la:function(a,b){a&1&&I(this.g,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<<a)|b<<a;this.ua=!0},Ba:function(a,b,c){a&1&&I(this.g,c,64);c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|
|
||||
this.Lb(a,b)<<8},w:function(a,b,c){this.yb(a++,b&255,c++);this.yb(a,b>>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},la:function(a,b){a&1&&I(this.g,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<<a)|b<<a;this.ua=!0},Ba:function(a,b,c){a&1&&I(this.g,c,64);c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|
|
||||
b>>8);this.ua=!0},H:function(a,b){return this.J(a,b)},V:function(a,b){return this.cc(a,b)},ya:function(a,b,c){this.l?this.h(a,b,c):this.Pb(a,b,c)},ta:function(a,b,c){this.l?this.h(a,b,c):this.ic(a,b,c)},D:function(a){return this.j[a]},K:function(a){return this.j[a]},U:function(a,b){a&1&&I(this.g,b,64);return this.c.getUint16(a,!0)},ka:function(a,b){a&1&&I(this.g,b,64);return this.s[a>>1]},xa:function(a,b){this.j[a]=b;this.ua=!0},za:function(a,b){this.j[a]=b;this.ua=!0},sa:function(a,b,c){a&1&&I(this.g,
|
||||
c,64);this.c.setUint16(a,b,!0);this.ua=!0},Aa:function(a,b,c){a&1&&I(this.g,c,64);this.s[a>>1]=b;this.ua=!0}};function Gb(a,b,c){a.G=b;a.i=a.m=0;c&&((a.i=c.i)&&sc(a,tc,!1),(a.m=c.m)&&uc(a,tc,!1))}function uc(a,b,c){c&&a.m||(a.yb=!a.l&&b[1]||a.h,a.zb=!a.l&&b[3]||a.w);if(c||void 0===c)a.Pb=b[1]||a.h,a.ic=b[3]||a.w}function sc(a,b,c){c&&a.i||(a.Lb=b[0]||a.v,a.Y=b[2]||a.B);if(c||void 0===c)a.J=b[0]||a.v,a.cc=b[2]||a.B}function mc(a,b){b||(b=vc);sc(a,b,void 0);uc(a,b,void 0)}
|
||||
var vc=[],pc=[H.prototype.N,H.prototype.ra,H.prototype.la,H.prototype.Ba],tc=[H.prototype.H,H.prototype.ya,H.prototype.V,H.prototype.ta];if(Za)var oc=[H.prototype.D,H.prototype.xa,H.prototype.U,H.prototype.sa],nc=[H.prototype.K,H.prototype.za,H.prototype.ka,H.prototype.Aa];
|
||||
function wc(a,b){y.call(this,"CPU",a,wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Bb=0;this.pb=b;this.sa=c;this.Ab=Math.round(this.pb/1E4)/100;this.La=this.Ab*this.sa;this.o.T=!1;this.o.Nb=!1;this.o.eb=a.autoStart;this.o.sb=!1;this.nb=this.Ma=0;this.ob=a.csStart;this.Za=a.csInterval;this.$a=a.csStop;this.N=[];this.ac=this.Sd.bind(this);F(this)}A(wc);var xc=["power","reset"];h=wc.prototype;
|
||||
var vc=[],pc=[H.prototype.M,H.prototype.ra,H.prototype.la,H.prototype.Ba],tc=[H.prototype.H,H.prototype.ya,H.prototype.V,H.prototype.ta];if(Za)var oc=[H.prototype.D,H.prototype.xa,H.prototype.U,H.prototype.sa],nc=[H.prototype.K,H.prototype.za,H.prototype.ka,H.prototype.Aa];
|
||||
function wc(a,b){y.call(this,"CPU",a,wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Bb=0;this.pb=b;this.sa=c;this.Ab=Math.round(this.pb/1E4)/100;this.La=this.Ab*this.sa;this.o.T=!1;this.o.Nb=!1;this.o.eb=a.autoStart;this.o.sb=!1;this.nb=this.Ma=0;this.ob=a.csStart;this.Za=a.csInterval;this.$a=a.csStop;this.M=[];this.ac=this.Sd.bind(this);F(this)}A(wc);var xc=["power","reset"];h=wc.prototype;
|
||||
h.ga=function(a,b,c,d){this.l=a;this.g=b;this.G=d;this.B=a.B;for(b=0;b<xc.length;b++)(c=this.j[xc[b]])&&this.l.ba(null,xc[b],c);a=yc(a,"autoStart");null!=a&&(this.o.eb="true"==a?!0:"false"==a?!1:!!a);F(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};h.ia=function(a,b){if(!b){if(a&&this.restore){zc(this);if(!this.restore(a))return!1;Ac(this)}else this.reset();this.X("No debugger detected")}return!0};h.ha=function(a){return a?this.save():!0};
|
||||
h.eb=function(){return this.o.eb||void 0===this.j.run?(ob(this),!0):!1};h.Xb=function(){return 0};function Ac(a){void 0===a.ob&&(a.ob=0);void 0===a.Za&&(a.Za=-1);void 0===a.$a&&(a.$a=-1);a.o.sb=0<=a.ob&&0<a.Za;a.o.sb&&(a.nb=0,a.Ma=a.ob-a.ta)}function rb(a,b){if(a.o.sb){var c=!1;a.nb=a.nb+a.Xb()|0;a.Ma-=b;0>=a.Ma&&(a.Ma+=a.Za,c=!0);0<=a.$a&&a.$a<=Bc(a)&&(a.Za=a.$a=-1,Ac(a),G(a),c=!0);c&&a.X(Bc(a)+" cycles: checksum="+r(a.nb))}}
|
||||
h.ba=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.j[b]=c,!0;case "run":return this.j[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.o.R)a=!0;else{var b=null,c,k=B(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.o.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.o.R);c++);c==k.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.o.ready?"powered yet":"ready yet"+(b.ub?" (waiting for notification)":""))+".");a=!1}a&&(d.o.T?G(d):ob(d))},!0;case "speed":return this.j[b]=
|
||||
c,!0;case "setSpeed":return this.j[b]=c,c.onclick=function(){Cc(d,d.sa<<1,!0)},c.textContent=this.La.toFixed(2)+"Mhz",!0}return!1};h.wa=function(a){this.l&&this.l.wa(a)};function qb(a,b,c){a.ta+=b;c&&(a.ra=a.a=a.K=0)}function Dc(a,b){var c=1;b&&1<a.sa&&a.Ba&&(c=a.Ba/a.Ab);a.Yb=Math.round(1E3/30);a.qb=Math.floor(a.pb/30*c);b||(a.ab=a.qb);a.Eb=0}function Bc(a){return a.ta+a.la+a.ra-a.a}function zc(a){a.Ba=0;a.Zb=0;a.ta=a.la=a.ra=a.a=a.K=0;Ac(a);Cc(a,1)}
|
||||
function Cc(a,b,c){if(void 0!==b){.8>a.Ba/a.La&&(b=1);a.sa=b;b=a.Ab*a.sa;if(a.La!=b){a.La=b;b=a.La.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.X("target speed: "+b)}c&&a.l&&Ec(a.l)}qb(a,a.la);a.la=0;a.ka=qa();a.za=0;Dc(a)}function Wb(a,b){var c=a.N.length;a.N.push([-1,b]);return c}function Yb(a,b,c,d){0<=b&&b<a.N.length&&(d||0>a.N[b][0])&&(c=a.pb*a.sa/1E3*c|0,a.o.T&&(c+=Fc(a)),a.N[b][0]=c)}
|
||||
function pb(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fc(a,b){var c=a.ra-=a.a;a.a=a.K=0;b&&(a.ra=0);return c}
|
||||
h.Sd=function(){if(this.o.T){this.Eb>=this.pb&&Dc(this,!0);this.bb=0;this.mb=qa();if(this.za){var a=this.mb-this.za;a>this.Yb&&(this.ka+=a,this.ka>this.mb&&(this.ka=this.mb))}try{do{for(var b,c=this.o.sb?1:this.qb,d=this.N.length-1;0<=d;d--){var e=this.N[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xb(b)}catch(f){if("number"!=typeof f)throw f;}b=Fc(this,!0);this.bb+=b;this.la+=b;rb(this,b);pb(this,b);this.ab-=b;if(0>=this.ab){this.ab+=this.qb;15<=++this.Zb&&(this.wa(),this.Zb=0);break}}while(this.o.T)}catch(f){G(this);
|
||||
function Cc(a,b,c){if(void 0!==b){.8>a.Ba/a.La&&(b=1);a.sa=b;b=a.Ab*a.sa;if(a.La!=b){a.La=b;b=a.La.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.X("target speed: "+b)}c&&a.l&&Ec(a.l)}qb(a,a.la);a.la=0;a.ka=qa();a.za=0;Dc(a)}function Wb(a,b){var c=a.M.length;a.M.push([-1,b]);return c}function Yb(a,b,c,d){0<=b&&b<a.M.length&&(d||0>a.M[b][0])&&(c=a.pb*a.sa/1E3*c|0,a.o.T&&(c+=Fc(a)),a.M[b][0]=c)}
|
||||
function pb(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fc(a,b){var c=a.ra-=a.a;a.a=a.K=0;b&&(a.ra=0);return c}
|
||||
h.Sd=function(){if(this.o.T){this.Eb>=this.pb&&Dc(this,!0);this.bb=0;this.mb=qa();if(this.za){var a=this.mb-this.za;a>this.Yb&&(this.ka+=a,this.ka>this.mb&&(this.ka=this.mb))}try{do{for(var b,c=this.o.sb?1:this.qb,d=this.M.length-1;0<=d;d--){var e=this.M[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xb(b)}catch(f){if("number"!=typeof f)throw f;}b=Fc(this,!0);this.bb+=b;this.la+=b;rb(this,b);pb(this,b);this.ab-=b;if(0>=this.ab){this.ab+=this.qb;15<=++this.Zb&&(this.wa(),this.Zb=0);break}}while(this.o.T)}catch(f){G(this);
|
||||
this.l&&this.l.stop(qa(),Bc(this));Ya(this,f.stack||f.message);return}if(this.o.T){a=setTimeout;b=this.ac;this.za=qa();c=this.Yb;this.bb&&(c=Math.round(c*this.bb/this.qb));c-=this.za-this.mb;if(d=this.za-this.ka)this.Ba=Math.round(this.la/(10*d))/100,864E5<=d&&(this.ta=0,Cc(this));if(0>c||this.Ba<this.La)-1E3>c&&(this.ka-=c),c=0;this.Eb+=this.bb;this.za+=c;a(b,c)}}};
|
||||
function ob(a){var b;a.o.error?(a.X(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.o.T)a.X(a.toString()+" busy");else{Cc(a);a.o.T=!0;a.o.Nb=!0;if(b=a.j.run)b.textContent="Halt";a.l&&a.l.start(a.ka,Bc(a));setTimeout(a.ac,0)}}h.xb=function(){return 0};function G(a){var b=!1;if(a.o.T){Fc(a);qb(a,a.la);a.la=0;a.o.T=!1;if(b=a.j.run)b.textContent="Run";a.l&&a.l.stop(qa(),Bc(a));b=!0}a.o.complete=void 0;return b}
|
||||
function Gc(a){this.Ra=+a.model||1170;this.Ub=a.addrReset||0;wc.call(this,a,6666667);this.rb=0;this.Wb=255;1120==this.Ra?(this.decode=Hc.bind(this),this.Aa=this.Bc,this.rb=8,this.Wb=-1):(this.decode=Ic.bind(this),this.Aa=this.Cc);Jc(this);this.Na=0;this.J=null;this.o.complete=!1}A(Gc,wc);h=Gc.prototype;h.reset=function(){this.status("model "+this.Ra);this.o.T&&G(this);Jc(this);zc(this);this.o.error=!1;this.parent.reset.call(this)};
|
||||
|
|
@ -155,11 +155,11 @@ this.b?2:0)}],Se=[function(a){S(this,a,0,Ad);this.a-=this.c?9+(this.Db&1):3+(7==
|
|||
var Xe=[function(a){Ye[a>>8&15].call(this,a)},oe,de,Od,Kd,Md,Fd,function(a){Ze[a>>8&15].call(this,a)},function(a){$e[a>>8&15].call(this,a)},pe,ee,Pd,Ld,Nd,xe,Y],Ye=[function(a){af[a>>4&15].call(this,a)},ae,Yd,Qd,Rd,Wd,Sd,Ud,me,me,De,Fe,He,function(a){bf[a>>6&3].call(this,a)},Y,Y],bf=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.Y(a|this.V);Q(this,this.f[5]);this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=Xc(this,a,0);Sc(this,a);R(this,a);this.a-=11},function(a){var b=Uc(this);this.K=
|
||||
this.a;Yc(this,a,0,b);R(this,b);this.a=this.K-qe[this.c]},function(a){R(this,ed(this,a,Kc(this)?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],af=[function(a){cf[a&15].call(this,a)},Y,Y,Y,ke,ke,ke,ke,ue,function(a){a&8?(this.F&49152||(this.F=this.F&-2017|(a&7)<<5,this.u|=1,this.u&=-3),this.a-=5):J(this,8,0,-8)},Je,Le,ye,ye,ye,ye],cf=[he,Ae,function(){Tc(this);this.u|=this.F&16;this.a-=13},$d,ie,te,ve,function(){J(this,8,0,-8)},Y,Y,Y,Y,Y,Y,Y,Y],Ze=[re,re,fe,fe,Gd,Gd,Hd,Hd,Be,Be,Y,Y,Y,Y,we,we],$e=[Zd,
|
||||
Xd,Td,Vd,be,ce,Id,Jd,ge,ze,Ne,Pe,Re,function(a){df[a>>6&3].call(this,a)},Y,Y],df=[Y,function(a){a=Xc(this,a,65536);Sc(this,a);R(this,a);this.a-=11},function(a){var b=Uc(this);this.K=this.a;Yc(this,a,65536,b);R(this,b);this.a=this.K-qe[this.c]},Y];
|
||||
function ef(a){y.call(this,"ROM",a,ef,128);this.ca=this.c=null;this.i=a.addr;this.b=a.size;this.m=!1;this.h=a.alias;this.l=a.file;this.s=t(this.l);if(this.l){a=this.l;var b=ka(this.s);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Ta(c.ya,a,b),(a=sa(a,b))?(c.c=a.O,c.ca=a.ca):c.l=null);ff(c)})}}A(ef);h=ef.prototype;
|
||||
function ef(a){y.call(this,"ROM",a,ef,128);this.ca=this.c=null;this.i=a.addr;this.b=a.size;this.m=!1;this.h=a.alias;this.l=a.file;this.s=t(this.l);if(this.l){a=this.l;var b=ka(this.s);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.C("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Ta(c.ya,a,b),(a=sa(a,b))?(c.c=a.N,c.ca=a.ca):c.l=null);ff(c)})}}A(ef);h=ef.prototype;
|
||||
h.ga=function(a,b,c,d){this.g=b;this.a=c;this.G=d;ff(this)};h.ia=function(){this.ca&&(this.G&&this.G.a(this.id,this.i,this.b,this.ca),delete this.ca);return!0};h.ha=function(){return!0};
|
||||
function ff(a){if(!Xa(a)){if(a.l){if(!a.c||!a.g)return;a.b||(a.b=a.c.length);if(a.c.length!=a.b)Ya(a,"ROM size ("+r(a.c.length,8,!0)+") does not match specified size ("+r(a.b,8,!0)+")");else{var b;a:{b=a.i;a.status(a.b+"-byte ROM at "+ja(b));if(57344<=b&&b<57344+Bb){var c={};b=(c[b]=[ef.prototype.Dd,ef.prototype.Be,null,null,null,a.b>>1],c);if(eb(a.g,a,b)){b=a.m=!0;break a}}else if(Hb(a.g,b,a.b,lc)){for(c=0;c<a.c.length;c++)Pb(a.g,b+c,a.c[c]);b=!0;break a}b=!1}if(b){b=[];"number"==typeof a.h?b.push(a.h):
|
||||
null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.g,g=d.b,k=[],l=d.i>>>f.b;0<g&&l<f.g.length;)k.push(f.g[l++]),g-=f.c;f=d.g;d=d.b;g=0;for(e>>>=f.b;0<d&&e<f.g.length;){l=k[g++];if(!l)break;f.g[e++]=l;d-=f.c}}a.m||delete a.c}}}F(a)}}h.Dd=function(a){return this.c[a-this.i]};h.Be=function(){};Ia(function(){for(var a=E(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ef(d);D(d,c)}});
|
||||
function gf(a){y.call(this,"RAM",a,gf);this.ca=this.c=null;this.l=a.addr;this.i=a.size;this.na=a.load;this.ma=a.exec;this.h=!1;this.b=a.file;this.m=t(this.b);if(this.b){a=this.b;var b=ka(this.m);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(Ta(c.ya,a,b),(a=sa(a,b))?(c.c=a.O,c.ca=a.ca,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);hf(c)})}}
|
||||
function gf(a){y.call(this,"RAM",a,gf);this.ca=this.c=null;this.l=a.addr;this.i=a.size;this.na=a.load;this.ma=a.exec;this.h=!1;this.b=a.file;this.m=t(this.b);if(this.b){a=this.b;var b=ka(this.m);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.C("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(Ta(c.ya,a,b),(a=sa(a,b))?(c.c=a.N,c.ca=a.ca,null==c.na&&(c.na=a.na),null==c.ma&&(c.ma=a.ma)):c.b=null);hf(c)})}}
|
||||
A(gf);gf.prototype.ga=function(a,b,c,d){this.g=b;this.a=c;this.G=d;hf(this)};gf.prototype.ia=function(){this.ca&&(this.G&&this.G.a(this.id,this.l,this.i,this.ca),delete this.ca);return!0};gf.prototype.ha=function(){return!0};function hf(a){if(a.g&&(!a.h&&a.i&&Hb(a.g,a.l,a.i,Tb)&&(a.h=!0),!Xa(a))){if(!a.h)x("No RAM allocated");else if(a.b){if(!a.c||!a.g)return;jf(a,a.c,a.na,a.ma,a.l)}F(a)}}
|
||||
gf.prototype.reset=function(){if(this.h){for(var a=this.g,b=this.l,c=this.i,d=b&a.l,b=b>>>a.b;0<c&&b<a.g.length;){var e=a.g[b],f=c,g=0,k,d=d||0,g=g&255;void 0===f&&(f=e.size);if(Za&&e.j)for(k=d;f--&&k<e.j.length;k++)e.j[k]=g;else for(k=d;f--&&k<e.size;k++)e.Pb(d,g,e.Fa+d);c-=a.c;b++;d=0}this.c&&jf(this,this.c,this.na,this.ma,this.l,!0)}};
|
||||
function jf(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)),u=k,v=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(v)for(;v--;)Pb(a.g,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.length;g++)Pb(a.g,
|
||||
|
|
@ -167,35 +167,35 @@ c+g,b[g]);g=!0}g&&null!=d&&(a=a.a,a.Ub=d,a.g.reset(),nb(a),Q(a,d),ec(a,0),!f&&a.
|
|||
function Z(a){this.H=a.baudReceive||9600;this.ka=a.baudTransmit||9600;this.U=a.upperCase;this.h=this.i=null;this.K=a.tabSize;this.J=a.charBOL;this.m=0;y.call(this,"SerialPort",a,Z,262144);var b=a.binding;if("console"==b)this.i="";else{var c;a=lf;b&&(void 0===c&&(c="Panel"),(c=Va(c,this.id))&&(b=c.j[b])&&this.ba(null,a,b))}this.v=this.w=null;this.exports={connect:this.$b,receiveData:this.vb}}A(Z);var lf="buffer";h=Z.prototype;
|
||||
h.ba=function(a,b,c){var d=this;switch(b){case lf:return this.j[b]=this.h=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?m.Rb:m.nc:46==c?b=m.Rb:a.ctrlKey&&c>=m.Qb&&c<=m.wc&&(b=c-(m.Qb-m.kc));b&&(a.preventDefault&&a.preventDefault(),d.vb(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==m.mc&&(b=m.lc);d.vb(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();a.preventDefault&&
|
||||
a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.vb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
|
||||
h.ga=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;var e=this;this.V=Zb(48,4,262144);this.N=Wb(this.a,function(){var a;a=-1;e.s.length&&(a=e.s.shift()&255,e.U&&97<=a&&122>a&&(a-=32),Yb(e.a,e.N,1E3/Math.round(e.H/10)));0<=a&&(e.B=a,e.b&128?e.B|=49152:e.b|=128,e.b&64&&Xb(c,e.V))});this.D=Zb(52,4,262144);this.la=Wb(this.a,function(){e.c|=128;e.c&64&&Xb(c,e.D)});eb(b,this,mf);gb(b,this.reset.bind(this));F(this)};
|
||||
h.ga=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;var e=this;this.V=Zb(48,4,262144);this.M=Wb(this.a,function(){var a;a=-1;e.s.length&&(a=e.s.shift()&255,e.U&&97<=a&&122>a&&(a-=32),Yb(e.a,e.M,1E3/Math.round(e.H/10)));0<=a&&(e.B=a,e.b&128?e.B|=49152:e.b|=128,e.b&64&&Xb(c,e.V))});this.D=Zb(52,4,262144);this.la=Wb(this.a,function(){e.c|=128;e.c&64&&Xb(c,e.D)});eb(b,this,mf);gb(b,this.reset.bind(this));F(this)};
|
||||
h.$b=function(){if(!this.v){var a=yc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=oa(b[0]);if(c!=this.xa)return;b=oa(b[1]);if(this.v=Ua(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.w=d.receiveData){this.status(this.ya+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ia=function(a,b){if(!b)if(this.$b(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
h.ha=function(a){return a?this.save():!0};h.reset=function(){nf(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return nf(this)};function nf(a){a.B=0;a.b=0;a.c=128;a.s=[];return!0}h.vb=function(a){if("number"==typeof a)this.s.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.s.push(b)}else this.s=this.s.concat(a);Yb(this.a,this.N,1E3/Math.round(this.H/10));return!0};
|
||||
h.ha=function(a){return a?this.save():!0};h.reset=function(){nf(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return nf(this)};function nf(a){a.B=0;a.b=0;a.c=128;a.s=[];return!0}h.vb=function(a){if("number"==typeof a)this.s.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.s.push(b)}else this.s=this.s.concat(a);Yb(this.a,this.M,1E3/Math.round(this.H/10));return!0};
|
||||
h.qd=function(){return this.b&65534};h.oe=function(a){this.b=this.b&-112|a&111};h.pd=function(){this.b&=-129;return this.B};h.ne=function(){};h.Rd=function(){return this.c};h.Pe=function(a){this.c&128&&(a&64?Xb(this.a,this.D):ac(this.a,this.D));this.c=this.c&-70|a&69};h.Qd=function(){return 0};
|
||||
h.Oe=function(a){a&=255;this.w&&this.w.call(this.v,a);a&=127;if(this.h)if(13==a)this.m=0;else if(8==a)this.h.value=this.h.value.slice(0,-1),0<this.m&&this.m--;else{if(a){var b;b=(b=pa[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.K||8,c=a-this.m%a,this.K&&(b=" ".slice(0,c)));this.J&&!this.m&&c&&(b=String.fromCharCode(this.J)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.m+=c}}else if(null!=this.i){if(10==a||
|
||||
1024<=this.i.length)this.X(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}Yb(this.a,this.la,1E3/Math.round(this.ka/10));this.c&=-129};var of={},mf=(of[65392]=[null,null,Z.prototype.qd,Z.prototype.oe,"RCSR"],of[65394]=[null,null,Z.prototype.pd,Z.prototype.ne,"RBUF"],of[65396]=[null,null,Z.prototype.Rd,Z.prototype.Pe,"XCSR"],of[65398]=[null,null,Z.prototype.Qd,Z.prototype.Oe,"XBUF"],of);
|
||||
Ia(function(){for(var a=E(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Z(d);D(d,c)}});function fc(a){y.call(this,"PC11",a,fc);this.c=a.autoMount||null;this.m=0;this.U=a.baudReceive||3600;this.B=this.w=this.b=0;this.v=[];this.s=pf;this.h=qf;this.D=this.i="";this.O=this.na=this.ma=null;this.K=-1;this.H=!Ba("Mobi")&&window&&"FileReader"in window}A(fc);var pf="",qf=0;h=fc.prototype;
|
||||
Ia(function(){for(var a=E(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Z(d);D(d,c)}});function fc(a){y.call(this,"PC11",a,fc);this.c=a.autoMount||null;this.m=0;this.U=a.baudReceive||3600;this.B=this.w=this.b=0;this.v=[];this.s=pf;this.h=qf;this.D=this.i="";this.N=this.na=this.ma=null;this.K=-1;this.H=!Ba("Mobi")&&window&&"FileReader"in window}A(fc);var pf="",qf=0;h=fc.prototype;
|
||||
h.ba=function(a,b,c){var d=this,e=qf;switch(b){case "listTapes":return this.j[b]=c,c.onchange=function(){var a=d.j.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){x("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.j[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.j[b]=c,c.onclick=
|
||||
function(){var a=d.j.listTapes;a&&rf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.H){c.parentNode.removeChild(c);break}this.j[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;rf(d,t(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.j[b]=c,!0}return!1};
|
||||
h.ga=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;this.N=sf(a);var e=this;if((this.c=yc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){x("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.J=Zb(56,4,4096);this.V=Wb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.v.length&&(e.w=e.v[e.B++]&255,tf(e,e.B/e.v.length*100),e.b|=128,e.b&=-2049,e.b&64&&Xb(e.a,e.J))});eb(b,this,uf);gb(b,this.reset.bind(this));vf(this,"None",pf,!0);
|
||||
h.ga=function(a,b,c,d){this.l=a;this.g=b;this.a=c;this.G=d;this.M=sf(a);var e=this;if((this.c=yc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){x("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.J=Zb(56,4,4096);this.V=Wb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.B<e.v.length&&(e.w=e.v[e.B++]&255,tf(e,e.B/e.v.length*100),e.b|=128,e.b&=-2049,e.b&64&&Xb(e.a,e.J))});eb(b,this,uf);gb(b,this.reset.bind(this));vf(this,"None",pf,!0);
|
||||
this.H&&vf(this,"Local Tape","?");vf(this,"Remote Tape","??");wf(this)||F(this)};h.ia=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ha=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.w=0};
|
||||
function wf(a){a.m=0;if(a.c){var b=a.c.path||"",c;if(!(c=a.c.name))a:{if((c=a.j.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=t(b,!0)}b&&c?xf(a,c,b,1,!0):yf(a)}return!!a.m}
|
||||
function rf(a,b,c,d,e){if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"');a.s="??"}else a.s=c;xf(a,b,c,d,!1,e)}else zf(a,!1)}function xf(a,b,c,d,e,f){var g=-1;if(a.i.toLowerCase()!=c.toLowerCase()||a.h!=d)g++,zf(a,!0),a.o.Ga?a.C("PC11 busy"):(e&&a.m++,Af(a,b,c,d,f)?g++:a.o.Ga=!0);g&&Bf(a,a.D,a.i,a.h,a.O,a.na,a.ma)}
|
||||
function Af(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Bf(a,b,c,d,e),a.s="?");yf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=ka(c),f="json"==e||"gz"==e?encodeURI(c):ta()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!w(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.o.R;g?a.C('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ta(a.ya,e,f),(e=sa(e,f))&&Bf(a,b,c,d,e.O,e.na,e.ma));
|
||||
function rf(a,b,c,d,e){if(c)if("?"==c)a.C('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=t(c);a.status("Attempting to load "+c+' as "'+b+'"');a.s="??"}else a.s=c;xf(a,b,c,d,!1,e)}else zf(a,!1)}function xf(a,b,c,d,e,f){var g=-1;if(a.i.toLowerCase()!=c.toLowerCase()||a.h!=d)g++,zf(a,!0),a.o.Ga?a.C("PC11 busy"):(e&&a.m++,Af(a,b,c,d,f)?g++:a.o.Ga=!0);g&&Bf(a,a.D,a.i,a.h,a.N,a.na,a.ma)}
|
||||
function Af(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Bf(a,b,c,d,e),a.s="?");yf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=ka(c),f="json"==e||"gz"==e?encodeURI(c):ta()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!w(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.o.R;g?a.C('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ta(a.ya,e,f),(e=sa(e,f))&&Bf(a,b,c,d,e.N,e.na,e.ma));
|
||||
a.o.Ga=!1;a.m&&(a.m--,a.m||F(a));yf(a)})}function vf(a,b,c,d){if((a=a.j.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function yf(a){var b=a.j.listTapes;if(b&&b.options){a=a.s||a.i;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
|
||||
function tf(a,b){b|=0;if(b!==a.K){var c=a.j.readProgress;c&&(c=(c=E(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.K=b}}function Bf(a,b,c,d,e,f,g){a.D=b;a.i=c;a.h=d;a.O=e;a.na=f;a.ma=g;2==d?a.N&&jf(a.N,e,f,g)?a.status("tape loaded: "+b):(a.D="",a.i="",a.s=pf,a.h=qf,a.C("No load address available for tape: "+b)):(a.B=0,a.v=e,a.status("tape attached: "+b),tf(a,0))}
|
||||
function tf(a,b){b|=0;if(b!==a.K){var c=a.j.readProgress;c&&(c=(c=E(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.K=b}}function Bf(a,b,c,d,e,f,g){a.D=b;a.i=c;a.h=d;a.N=e;a.na=f;a.ma=g;2==d?a.M&&jf(a.M,e,f,g)?a.status("tape loaded: "+b):(a.D="",a.i="",a.s=pf,a.h=qf,a.C("No load address available for tape: "+b)):(a.B=0,a.v=e,a.status("tape attached: "+b),tf(a,0))}
|
||||
function zf(a,b){if(a.i||!1===b)a.D="",a.i="",b||(a.h&&a.status(1==a.h?"tape detached":"tape unloaded"),a.s=pf,a.h=qf,yf(a))}h.save=function(){return(new O(this)).data()};h.restore=function(){return!0};h.jd=function(){return this.b&65534};h.he=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&Xb(this.a,this.J)):(this.b&=-129,this.b|=2048,this.w=0,Yb(this.a,this.V,1E3/Math.round(this.U/10))));this.b=this.b&-66|a&65};h.hd=function(){this.b&=-129;this.b|=2048;return this.w};h.ge=function(){};
|
||||
var Cf={},uf=(Cf[65384]=[null,null,fc.prototype.jd,fc.prototype.he,"PRS"],Cf[65386]=[null,null,fc.prototype.hd,fc.prototype.ge,"PRB"],Cf);function Df(a,b,c){y.call(this,"Disk",{id:a.ya+".disk"+r(++Ef,4)},Df,8192);this.controller=a;this.l=a.l;this.G=a.G;this.h=b;this.oa=b.name;this.tb=b.tb;Ff(this,c,b.P,b.S,b.M,b.W);F(this)}var Ef=0;A(Df);h=Df.prototype;h.ga=function(a,b,c,d){this.G=d};
|
||||
function Ff(a,b,c,d,e,f){a.mode=b;a.P=c;a.S=d;a.M=e;a.W=f;a.a=[];if("preload"!=a.mode){b=Array(a.P);for(c=0;c<b.length;c++){d=Array(a.S);for(e=0;e<d.length;e++){f=Array(a.M);for(var g=1;g<=f.length;g++)f[g-1]=Gf(null,c,e,g,a.W,0);d[e]=f}b[c]=d}a.a=b}a.b=null}
|
||||
function Hf(a,b,c,d,e){var f=c;if(a.g)return!0;a.oa=b;a.ea=c;a.Mb=t(c);a.g=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ia[d];if(e){a.P=e[0];a.S=e[1];a.M=e[2];a.W=e[3]||512;c=a.W>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.P);for(d=0;d<a.a.length;d++)for(var v=a.a[d]=Array(a.S),T=0;T<v.length;T++)for(var za=v[T]=Array(a.M),Aa=0;Aa<za.length;Aa++){for(var qc=Gf(null,d,T,Aa+1,a.W,0),sg=qc.data,rc=0;rc<c;rc++,f+=4)var tg=sg[rc]=b.getInt32(f,
|
||||
var Cf={},uf=(Cf[65384]=[null,null,fc.prototype.jd,fc.prototype.he,"PRS"],Cf[65386]=[null,null,fc.prototype.hd,fc.prototype.ge,"PRB"],Cf);function Df(a,b,c){y.call(this,"Disk",{id:a.ya+".disk"+r(++Ef,4)},Df,8192);this.controller=a;this.l=a.l;this.G=a.G;this.h=b;this.oa=b.name;this.tb=b.tb;Ff(this,c,b.P,b.S,b.O,b.W);F(this)}var Ef=0;A(Df);h=Df.prototype;h.ga=function(a,b,c,d){this.G=d};
|
||||
function Ff(a,b,c,d,e,f){a.mode=b;a.P=c;a.S=d;a.O=e;a.W=f;a.a=[];if("preload"!=a.mode){b=Array(a.P);for(c=0;c<b.length;c++){d=Array(a.S);for(e=0;e<d.length;e++){f=Array(a.O);for(var g=1;g<=f.length;g++)f[g-1]=Gf(null,c,e,g,a.W,0);d[e]=f}b[c]=d}a.a=b}a.b=null}
|
||||
function Hf(a,b,c,d,e){var f=c;if(a.g)return!0;a.oa=b;a.ea=c;a.Mb=t(c);a.g=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ia[d];if(e){a.P=e[0];a.S=e[1];a.O=e[2];a.W=e[3]||512;c=a.W>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.P);for(d=0;d<a.a.length;d++)for(var v=a.a[d]=Array(a.S),T=0;T<v.length;T++)for(var za=v[T]=Array(a.O),Aa=0;Aa<za.length;Aa++){for(var qc=Gf(null,d,T,Aa+1,a.W,0),sg=qc.data,rc=0;rc<c;rc++,f+=4)var tg=sg[rc]=b.getInt32(f,
|
||||
!0),e=e+tg&-1;qc.fa=c;za[Aa]=qc}a.b=e;c=a}else a.C("Unrecognized disk format ("+d+" bytes)");a.g&&(a.g.call(a.controller,a.h,c,a.oa,a.ea),a.g=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ka(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"):la(c,"/")&&(d="dir"),f=ta()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.tb?"":e)+"&format=json"));return!!w(f,
|
||||
null,!0,function(b,c,d){If(a,b,c,d)})}
|
||||
function If(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.l&&!a.l.o.R;if(d)a.controller.C('Unable to load disk "'+a.oa+'" (error '+d+": "+b+")",f);else{Ta(a.controller.ya,b,c);try{if(0<t(a.Mb,!0).toLowerCase().indexOf("-readonly"))a.c=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.c=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.oa]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
||||
c+")");if(k.length)if(1==k.length)x(k[0]);else{a.P=k.length;a.S=k[0].length;a.M=k[0][0].length;var l=k[0][0][0];a.W=l&&l.length||512;for(d=c=0;d<a.P;d++)for(f=0;f<a.S;f++)for(g=0;g<a.M;g++)if(l=k[d][f][g]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var v=l.bytes;if(void 0!==v&&v.length){for(var T=n<<2,za=v.length;za<T;za++)v[za]=p;Jf(l,v)}else u=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=u;delete l.bytes}Gf(l,d,f);for(T=
|
||||
c+")");if(k.length)if(1==k.length)x(k[0]);else{a.P=k.length;a.S=k[0].length;a.O=k[0][0].length;var l=k[0][0][0];a.W=l&&l.length||512;for(d=c=0;d<a.P;d++)for(f=0;f<a.S;f++)for(g=0;g<a.O;g++)if(l=k[d][f][g]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var u=l.data;if(void 0===u){var v=l.bytes;if(void 0!==v&&v.length){for(var T=n<<2,za=v.length;za<T;za++)v[za]=p;Jf(l,v)}else u=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=u;delete l.bytes}Gf(l,d,f);for(T=
|
||||
0;T<u.length;T++)c=c+u[T]&-1}a.a=k;a.b=c;e=a}else x("Empty disk image: "+a.oa)}catch(Aa){x("Disk image error ("+b+"): "+Aa.message)}}a.g&&(a.g.call(a.i,a.h,e,a.oa,a.ea),a.g=null)}function Gf(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Rf=b;a.Sf=c;a.pa=a.fa=0;a.ua=!1;return a}function Kf(a){return a.a.length?[a.a.length,a.a[0].length,a.a[0][0].length,a.a[0][0][0].length]:[0,0,0,0]}
|
||||
h.seek=function(a,b,c,d,e){d=null;var f=this.h,g=this.a[a];if(g){var k=g[b];if(!k&&f.zc&&b<f.S)for(k=g[b]=Array(f.Sb),g=0;g<k.length;g++)k[g]=Gf(null,a,b,g+1,f.Kb,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.zc&&9==f.Fb&&(d=k[g]=Gf(null,a,b,f.Fb,f.Kb,0))}}e&&e(d,!1);return d};function Jf(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
||||
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.fa?f<a.pa?(a.fa+=a.pa-f,a.pa=f):f>=a.pa+a.fa&&(a.fa+=f-(a.pa+a.fa)+1):(a.pa=f,a.fa=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
||||
function Lf(a,b){var c=a.S*a.M,d=b/c|0;return d<a.P?(b%=c,a.seek(d,b/a.M|0,b%a.M+1)):null}function Mf(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Nf(a){for(var b="",c=0,d;d=Lf(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Mf(a,d,e));return btoa(b)}
|
||||
h.save=function(){var a=0,b=[];b[a++]=[this.ea,this.b,this.P,this.S,this.M,this.W];if(!this.c)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.fa){for(var k=[],l=0,n=g.pa,p=g.pa+g.fa;n<p;)k[l++]=g.data[n++];b[a++]=[d,e,f,g.pa,k]}}return b};
|
||||
function Lf(a,b){var c=a.S*a.O,d=b/c|0;return d<a.P?(b%=c,a.seek(d,b/a.O|0,b%a.O+1)):null}function Mf(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}function Nf(a){for(var b="",c=0,d;d=Lf(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(Mf(a,d,e));return btoa(b)}
|
||||
h.save=function(){var a=0,b=[];b[a++]=[this.ea,this.b,this.P,this.S,this.O,this.W];if(!this.c)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.fa){for(var k=[],l=0,n=g.pa,p=g.pa+g.fa;n<p;)k[l++]=g.data[n++];b[a++]=[d,e,f,g.pa,k]}}return b};
|
||||
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?Ff(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.b&&e[1]!=this.b&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.b+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],n=g[f++];if(k>=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+
|
||||
b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.pa=e;for(k.fa=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.C("Unable to restore disk '"+this.oa+": "+c);return b};
|
||||
h.toJSON=function(){var a;a=0;for(var b;b=Lf(this,a++);)Of(b);a=JSON.stringify(this.a,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")};
|
||||
|
|
@ -211,10 +211,10 @@ function Wf(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&
|
|||
h.pc=function(a,b,c,d,e){var f;a.Ia=!1;b&&(f=Kf(b),b&&f[0]>a.P||f[1]>a.S)&&(this.C('Disk "'+c+'" too large for drive '+("RK"+a.Ja)),b=null);b?(a.L=b,a.oa=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RK"+a.Ja),a.Ha||e),this.l&&Ec(this.l)):a.va=!1;a.Ha&&(a.Ha=!1,--this.m||F(this));Pf(this,a.Ja)};
|
||||
function Tf(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||
function Pf(a,b){if(0<=b&&b<a.c.length){var c=a.c[b],d=a.j.listDisks;a=a.j.listDrives;if(d&&a&&d.options&&a.options&&(a=q(a.value),c=c.va?"?":c.ea,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Vf(a,b,c){var d=a.c[b];if(d.L||!1===c)d.oa="",d.ea="",d.L=null,d.va=!1,c||(a.C("Drive RK"+b+" unloaded",c),Pf(a,b))}
|
||||
function Rf(a,b){var c=0;b||(b=[]);a.w=b[c++]||2496;a.i=b[c++]||0;a.A=b[c++]||128;a.s=b[c++]||0;a.h=b[c++]||0;a.b=b[c++]||0;a.D=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.Ja=b;d.Ia=d.va=!1;d.name=c.xa;d.P=203;d.S=2;d.M=12;d.W=512;d.tb=!0;d.Ac=0;d.yc=0;d.Fb=1;d.Sb=d.M;d.Kb=d.W;d.Gc=0;d.Td=null;d.L||(d.ea="");d.status=2496}return!0}h.oc=function(a,b,c,d,e,f){this.h=f&65535;this.A=this.A&-49|f>>12&48;this.s=65536-e&65535;a&&(this.i=this.i|a|32768,this.A|=49152);return!0};
|
||||
h.qc=function(a,b,c,d,e,f,g){var k=0,l=a.L,n=null,p;l||(k=128,e=0);for(;e--;){if(!n){n=a.L.seek(b,c,d+1);if(!n){k=4096;break}p=0}var u,v;if(0>(u=a.L.read(n,p++))||0>(v=a.L.read(n,p++))){k=32;break}ub(this.g,f,u|v<<8);if(Vb(this.g)){k=1024;break}f+=2;if(p>=l.W&&(n=null,++d>=l.M&&(d=0,++c>=l.S&&(c=0,++b>=l.P)))){k=64;break}}return g(k,b,c,d,e,f)};
|
||||
h.rc=function(a,b,c,d,e,f,g){var k=0,l=a.L,n=null,p;l||(k=128,e=0);for(;e--;){var u=wb(this.g,f);if(Vb(this.g)){k=1024;break}f+=2;if(!n){n=a.L.seek(b,c,d+1,!0);if(!n){k=4096;break}p=0}if(!a.L.write(n,p++,u&255)||!a.L.write(n,p++,u>>8)){k=32;break}if(p>=l.W&&(n=null,++d>=l.M&&(d=0,++c>=l.S&&(c=0,++b>=l.P)))){k=64;break}}return g(k,b,c,d,e,f)};h.vd=function(){return this.w};h.te=function(){};h.wd=function(){return this.i};h.ue=function(){};h.sd=function(){return this.A&61438};
|
||||
h.qe=function(a){this.A=this.A&-3968|a&3967;if(this.A&1){var b,c=!0;a=(this.b&57344)>>13;var d=this.c[a],e,f,g,k;this.A&=-129;switch(this.A&14){case 0:this.w=d.status;this.i=0;this.A=128;this.b=0;break;case 4:b=this.qc;case 2:b||(b=this.rc),e=(this.b&8160)>>5,f=(this.b&16)>>4,g=this.b&15,e>=d.P?(this.i|=32832,this.A|=49152):g>=d.M?(this.i|=32800,this.A|=49152):(k=(this.A&48)<<12|this.h,c=65536-this.s&65535,c=b.call(this,d,e,f,g,c,k,this.oc.bind(this)))}this.w=d.status|a<<13|this.b%9&15;c&&(this.A&=
|
||||
function Rf(a,b){var c=0;b||(b=[]);a.w=b[c++]||2496;a.i=b[c++]||0;a.A=b[c++]||128;a.s=b[c++]||0;a.h=b[c++]||0;a.b=b[c++]||0;a.D=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.Ja=b;d.Ia=d.va=!1;d.name=c.xa;d.P=203;d.S=2;d.O=12;d.W=512;d.tb=!0;d.Ac=0;d.yc=0;d.Fb=1;d.Sb=d.O;d.Kb=d.W;d.Gc=0;d.Td=null;d.L||(d.ea="");d.status=2496}return!0}h.oc=function(a,b,c,d,e,f){this.h=f&65535;this.A=this.A&-49|f>>12&48;this.s=65536-e&65535;a&&(this.i=this.i|a|32768,this.A|=49152);return!0};
|
||||
h.qc=function(a,b,c,d,e,f,g){var k=0,l=a.L,n=null,p;l||(k=128,e=0);for(;e--;){if(!n){n=a.L.seek(b,c,d+1);if(!n){k=4096;break}p=0}var u,v;if(0>(u=a.L.read(n,p++))||0>(v=a.L.read(n,p++))){k=32;break}ub(this.g,f,u|v<<8);if(Vb(this.g)){k=1024;break}f+=2;if(p>=l.W&&(n=null,++d>=l.O&&(d=0,++c>=l.S&&(c=0,++b>=l.P)))){k=64;break}}return g(k,b,c,d,e,f)};
|
||||
h.rc=function(a,b,c,d,e,f,g){var k=0,l=a.L,n=null,p;l||(k=128,e=0);for(;e--;){var u=wb(this.g,f);if(Vb(this.g)){k=1024;break}f+=2;if(!n){n=a.L.seek(b,c,d+1,!0);if(!n){k=4096;break}p=0}if(!a.L.write(n,p++,u&255)||!a.L.write(n,p++,u>>8)){k=32;break}if(p>=l.W&&(n=null,++d>=l.O&&(d=0,++c>=l.S&&(c=0,++b>=l.P)))){k=64;break}}return g(k,b,c,d,e,f)};h.vd=function(){return this.w};h.te=function(){};h.wd=function(){return this.i};h.ue=function(){};h.sd=function(){return this.A&61438};
|
||||
h.qe=function(a){this.A=this.A&-3968|a&3967;if(this.A&1){var b,c=!0;a=(this.b&57344)>>13;var d=this.c[a],e,f,g,k;this.A&=-129;switch(this.A&14){case 0:this.w=d.status;this.i=0;this.A=128;this.b=0;break;case 4:b=this.qc;case 2:b||(b=this.rc),e=(this.b&8160)>>5,f=(this.b&16)>>4,g=this.b&15,e>=d.P?(this.i|=32832,this.A|=49152):g>=d.O?(this.i|=32800,this.A|=49152):(k=(this.A&48)<<12|this.h,c=65536-this.s&65535,c=b.call(this,d,e,f,g,c,k,this.oc.bind(this)))}this.w=d.status|a<<13|this.b%9&15;c&&(this.A&=
|
||||
-2,this.A|=128,this.A&64&&Xb(this.a,this.Pa))}};h.xd=function(){return this.s};h.ve=function(a){this.s=a};h.rd=function(){return this.h};h.pe=function(a){this.h=a};h.td=function(){return this.b};h.re=function(a){this.b=a};h.ud=function(){return this.D};h.se=function(a){this.D=a};
|
||||
var Xf={},Sf=(Xf[65280]=[null,null,N.prototype.vd,N.prototype.te,"RKDS"],Xf[65282]=[null,null,N.prototype.wd,N.prototype.ue,"RKER"],Xf[65284]=[null,null,N.prototype.sd,N.prototype.qe,"RKCS"],Xf[65286]=[null,null,N.prototype.xd,N.prototype.ve,"RKWC"],Xf[65288]=[null,null,N.prototype.rd,N.prototype.pe,"RKBA"],Xf[65290]=[null,null,N.prototype.td,N.prototype.re,"RKDA"],Xf[65294]=[null,null,N.prototype.ud,N.prototype.se,"RKDB"],Xf);
|
||||
function M(a){y.call(this,"RL11",a,M,131072);this.B=a.autoMount||{};this.v=0;this.c=Array(4);this.w=!Ba("Mobi")&&window&&"FileReader"in window}A(M);h=M.prototype;
|
||||
|
|
@ -229,14 +229,14 @@ function eg(a,b,c,d,e,f){var g=-1,k=a.c[b];k.ea.toLowerCase()!=d.toLowerCase()&&
|
|||
h.tc=function(a,b,c,d,e){var f;a.Ia=!1;b&&(f=Kf(b),b&&f[0]>a.P||f[1]>a.S)&&(this.C('Disk "'+c+'" too large for drive '+("RL"+a.Ja)),b=null);b?(a.L=b,a.oa=c,a.ea=d,this.C('Mounted disk "'+c+'" in drive '+("RL"+a.Ja),a.Ha||e),this.l&&Ec(this.l)):a.va=!1;a.Ha&&(a.Ha=!1,--this.v||F(this));Yf(this,a.Ja)};
|
||||
function bg(a,b,c,d){if((a=a.j.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||
function Yf(a,b){if(0<=b&&b<a.c.length){var c=a.c[b],d=a.j.listDisks;a=a.j.listDrives;if(d&&a&&d.options&&a.options&&(a=q(a.value),c=c.va?"?":c.ea,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function dg(a,b,c){var d=a.c[b];if(d.L||!1===c)d.oa="",d.ea="",d.L=null,d.va=!1,c||(a.C("Drive RL"+b+" unloaded",c),Yf(a,b))}
|
||||
function $f(a,b){var c=0;b||(b=[]);a.A=b[c++]||0;a.h=b[c++]||0;a.b=b[c++]||0;a.i=b[c++]||0;a.s=b[c++]||0;a.m=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.Ja=b;d.Ia=d.va=!1;d.name=c.xa;d.P=512;d.S=2;d.M=40;d.W=256;d.tb=!0;d.Ac=0;d.yc=0;d.Fb=1;d.Sb=d.M;d.Kb=d.W;d.Gc=0;d.Td=null;d.L||(d.ea="");d.status=29|(512==d.P?128:0)}return!0}
|
||||
function $f(a,b){var c=0;b||(b=[]);a.A=b[c++]||0;a.h=b[c++]||0;a.b=b[c++]||0;a.i=b[c++]||0;a.s=b[c++]||0;a.m=b[c]||0;for(b=0;b<a.c.length;b++){var d=a.c[b];void 0===d&&(d=a.c[b]={});c=a;d.Ja=b;d.Ia=d.va=!1;d.name=c.xa;d.P=512;d.S=2;d.O=40;d.W=256;d.tb=!0;d.Ac=0;d.yc=0;d.Fb=1;d.Sb=d.O;d.Kb=d.W;d.Gc=0;d.Td=null;d.L||(d.ea="");d.status=29|(512==d.P?128:0)}return!0}
|
||||
h.sc=function(a,b,c,d,e,f){this.h=f&65535;this.A=this.A&-49|f>>12&48;this.m=f>>16&63;this.i=this.b=b<<7|(c?64:0)|d&63;this.s=65536-e&65535;a&&(this.A=this.A|a|32768);return!0};
|
||||
h.uc=function(a,b,c,d,e,f,g,k){b=0;var l=a.L,n=null,p;l||(b=5120,f=0);for(;f--;){if(!n){n=a.L.seek(c,d,e+1);if(!n){b=5120;break}p=0}var u,v;if(0>(u=a.L.read(n,p++))||0>(v=a.L.read(n,p++))){b=5120;break}ub(this.g,Vc(this.a,g),u|v<<8);if(Vb(this.g)){b=8192;break}g+=2;if(p>=l.W&&(n=null,++e>=l.M&&(e=0,++d>=l.S&&(d=0,++c>=l.P)))){b=5120;break}}return k(b,c,d,e,f,g)};
|
||||
h.vc=function(a,b,c,d,e,f,g,k){b=0;var l=a.L,n=null,p;l||(b=5120,f=0);for(;f--;){var u=wb(this.g,Vc(this.a,g));if(Vb(this.g)){b=8192;break}g+=2;if(!n){n=a.L.seek(c,d,e+1,!0);if(!n){b=5120;break}p=0}if(!a.L.write(n,p++,u&255)||!a.L.write(n,p++,u>>8)){b=5120;break}if(p>=l.W&&(n=null,++e>=l.M&&(e=0,++d>=l.S&&(d=0,++c>=l.P)))){b=5120;break}}return k(b,c,d,e,f,g)};h.Ad=function(){return this.A&65535};
|
||||
h.ye=function(a){this.A=this.A&-1023|a&1022;this.m=this.m&60|(a&48)>>4;if(!(this.A&128)){var b;a=!0;var c=this.c[(this.A&768)>>8],d,e,f,g;this.A&=-2;switch(this.A&14){case 4:this.s&8&&(this.A&=63);this.s=c.status|this.i&64;break;case 6:1==(this.b&3)&&(b=this.b&65408,c=(this.b&16)<<2,this.i=this.b&4?this.i+b:this.i-b,this.b=this.i=this.i&65408|c);break;case 8:this.s=this.i;break;case 12:b=this.uc;case 10:b||(b=this.vc),d=this.b>>7,e=this.b&64?1:0,f=this.b&63,d>=c.P||f>=c.M?this.A|=37888:(g=(this.m&
|
||||
63)<<16|this.h,a=65536-this.s&65535,a=b.call(this,c,128*(((d<<1)+e)*c.M+f),d,e,f,a,g,this.sc.bind(this)))}a&&(this.A|=129,this.A&64&&Xb(this.a,this.Pa))}};h.yd=function(){return this.h};h.we=function(a){this.h=a&65534};h.Bd=function(){return this.b};h.ze=function(a){this.b=a};h.Cd=function(){return this.s};h.Ae=function(a){this.s=a};h.zd=function(){return this.m};h.xe=function(a){this.m=a&63;this.A=this.A&-49|(this.m&3)<<4};
|
||||
h.uc=function(a,b,c,d,e,f,g){var k=0,l=a.L,n=null,p;l||(k=5120,e=0);for(;e--;){if(!n){n=a.L.seek(b,c,d+1);if(!n){k=5120;break}p=0}var u,v;if(0>(u=a.L.read(n,p++))||0>(v=a.L.read(n,p++))){k=5120;break}ub(this.g,Vc(this.a,f),u|v<<8);if(Vb(this.g)){k=8192;break}f+=2;if(p>=l.W&&(n=null,++d>=l.O&&(d=0,++c>=l.S&&(c=0,++b>=l.P)))){k=5120;break}}return g(k,b,c,d,e,f)};
|
||||
h.vc=function(a,b,c,d,e,f,g){var k=0,l=a.L,n=null,p;l||(k=5120,e=0);for(;e--;){var u=wb(this.g,Vc(this.a,f));if(Vb(this.g)){k=8192;break}f+=2;if(!n){n=a.L.seek(b,c,d+1,!0);if(!n){k=5120;break}p=0}if(!a.L.write(n,p++,u&255)||!a.L.write(n,p++,u>>8)){k=5120;break}if(p>=l.W&&(n=null,++d>=l.O&&(d=0,++c>=l.S&&(c=0,++b>=l.P)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Ad=function(){return this.A&65535};
|
||||
h.ye=function(a){this.A=this.A&-1023|a&1022;this.m=this.m&60|(a&48)>>4;if(!(this.A&128)){var b;a=!0;var c=this.c[(this.A&768)>>8],d,e,f,g;this.A&=-2;switch(this.A&14){case 4:this.s&8&&(this.A&=63);this.s=c.status|this.i&64;break;case 6:1==(this.b&3)&&(b=this.b&65408,c=(this.b&16)<<2,this.i=this.b&4?this.i+b:this.i-b,this.b=this.i=this.i&65408|c);break;case 8:this.s=this.i;break;case 12:b=this.uc;case 10:b||(b=this.vc),d=this.b>>7,e=this.b&64?1:0,f=this.b&63,d>=c.P||f>=c.O?this.A|=37888:(g=(this.m&
|
||||
63)<<16|this.h,a=65536-this.s&65535,a=b.call(this,c,d,e,f,a,g,this.sc.bind(this)))}a&&(this.A|=129,this.A&64&&Xb(this.a,this.Pa))}};h.yd=function(){return this.h};h.we=function(a){this.h=a&65534};h.Bd=function(){return this.b};h.ze=function(a){this.b=a};h.Cd=function(){return this.s};h.Ae=function(a){this.s=a};h.zd=function(){return this.m};h.xe=function(a){this.m=a&63;this.A=this.A&-49|(this.m&3)<<4};
|
||||
var fg={},ag=(fg[63744]=[null,null,M.prototype.Ad,M.prototype.ye,"RLCS"],fg[63746]=[null,null,M.prototype.yd,M.prototype.we,"RLBA"],fg[63748]=[null,null,M.prototype.Bd,M.prototype.ze,"RLDA"],fg[63750]=[null,null,M.prototype.Cd,M.prototype.Ae,"RLMP"],fg[63752]=[null,null,M.prototype.zd,M.prototype.xe,"RLBE"],fg);
|
||||
function gg(a,b,c){y.call(this,"Computer",a,gg,33554432);this.o.R=!1;hg(this,b);this.w=yc(this,"autoPower",a);this.l=0;this.N=a.busWidth||a.buswidth;this.b=ig;this.s=null;this.i=this.J=!1;this.U=yc(this,"url")||"";(Math.random()+.1).toString(36);this.c=jg(this);if(this.a=Va("CPU",this.id)){this.G=Va("Debugger",this.id);this.g=new Ab({id:this.ya+".bus",busWidth:this.N},this.a,this.G);var d,e=B(this.id);if((this.B=Va("Panel",this.id))&&this.B.fb)for(b=0;b<e.length;b++)d=e[b],d.C=this.B.C,d.X=this.B.X,
|
||||
function gg(a,b,c){y.call(this,"Computer",a,gg,33554432);this.o.R=!1;hg(this,b);this.w=yc(this,"autoPower",a);this.l=0;this.M=a.busWidth||a.buswidth;this.b=ig;this.s=null;this.i=this.J=!1;this.U=yc(this,"url")||"";(Math.random()+.1).toString(36);this.c=jg(this);if(this.a=Va("CPU",this.id)){this.G=Va("Debugger",this.id);this.g=new Ab({id:this.ya+".bus",busWidth:this.M},this.a,this.G);var d,e=B(this.id);if((this.B=Va("Panel",this.id))&&this.B.fb)for(b=0;b<e.length;b++)d=e[b],d.C=this.B.C,d.X=this.B.X,
|
||||
d.fb=this.B.fb;this.X("PDPjs v1.30.5\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.X("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ga&&d.ga(this,this.g,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.m=d:this.b=parseInt(d,10));var f;if(a=yc(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.i=!0,this.b=ig),this.b&&(this.v=
|
||||
new O(this,"1.30.5"),kg(this.v)?b=null:delete this.v);!b&&this.b&&(b=lg(this))&&(this.i=!0);if(b){var g=this;w(b,null,!0,function(a,b,c){c?(g.m=null,g.i=!1,g.C("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.s=b,g.J=!0);F(g)})}else F(this);this.j.power||(this.w=!0);!c&&this.w&&mg(this,this.gb)}else x("Unable to find CPU component")}A(gg);var ig=0;
|
||||
function hg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.K=b}function yc(a,b,c){var d=b.toLowerCase(),d=Na[b]||Na[d];void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function mg(a,b,c){for(var d=B(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Xa(f)){Xa(f,function(){mg(a,b,c)});return}}b.call(a,c)}
|
||||
|
|
|
|||
Loading…
Reference in a new issue