Version bump, assorted CPU documentation tweaks, and more machine redirects
This commit is contained in:
parent
a5b9e0cae7
commit
4acf39f83e
178 changed files with 392 additions and 328 deletions
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
<xsl:variable name="MACHINECLASS">pc</xsl:variable>
|
||||
<xsl:variable name="APPCLASS">pcjs</xsl:variable>
|
||||
<xsl:variable name="APPVERSION">1.20.7</xsl:variable>
|
||||
<xsl:variable name="APPVERSION">1.20.8</xsl:variable>
|
||||
<xsl:variable name="SITEHOST">www.pcjs.org</xsl:variable>
|
||||
|
||||
<xsl:template name="componentStyles">
|
||||
|
|
|
|||
|
|
@ -1189,7 +1189,7 @@ var sd=Np(a,tg,qi);if(void 0!==sd)switch(sd=sd*mn|0,qi){case "x":a.Z.zf(sd,0);br
|
|||
Ta);break a}}td&&("on"==g[2]?(a.tc|=td,wc=!0):"off"==g[2]&&(a.tc&=~td,wc=!1))}var vr=0,Vc="";for(vc in Fp)if(!Ta||Ta==vc){var wr=!!(a.tc&Fp[vc]);if(null===wc||wc==wr)Vc&&(Vc+=","),++vr%10||(Vc+="\n\t"),"key"==vc&&(vc="keys"),Vc+=vc}void 0===Ta&&a.U("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.U((null!==wc?wc?"messages on: ":"messages off: ":"message categories:\n\t")+(Vc||"none"));tp(a)}break;case "o":var ri=g[1],xr=g[2];if(ri&&"?"!=ri){var si=Np(a,ri,"port #"),ti=Np(a,
|
||||
xr);void 0!==si&&void 0!==ti&&(nc(a.ja,si,1,ti),a.U(ia(si)+": "+ha(ti)))}else a.U("output commands:"),a.U("\to [p] [b]\twrite byte [b] to port [p]"),a.U("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Tq(a,b.substr(5));break}var nn="pr"==g[0]?1:0,Zd=1+nn;if(a.O)a.U("step in progress");else{var ug,on=!1,mb=rp(a,v(a.M),a.M.Ca.fa);do switch(ug=!1,a.Wa(mb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:cq(a,mb,1);ug=!0;break;case 204:case 206:a.O=
|
||||
Zd;cq(a,mb,1);break;case 205:case 224:case 225:case 226:a.O=Zd;cq(a,mb,mb.Ub?4:2);break;case 232:a.O=Zd;cq(a,mb,mb.Ub?5:3);break;case 154:a.O=Zd;cq(a,mb,mb.Ub?7:5);break;case 255:var pn=a.vb(mb)&14591;if(4351==pn||6399==pn)a.O=Zd,Aq(a,mb);break;case 243:case 242:cq(a,mb,1);on=ug=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:on&&(a.O=Zd,cq(a,mb,1))}while(ug);a.O?(a.Qd(a.A,mb,!0),a.Ge()||(a.M.dd(),a.O=0)):Vq(a,
|
||||
nn?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}sq(a,g);break;case "t":Vq(a,g[0],g[1]);break;case "u":tq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Qq(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.7 ("+a.M.na+",RELEASE,NOPREFETCH"+(wb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Te;void 0!==g[3]&&(Te=+g[3]);switch(g[2]){case "int":a.M.ba.bf=Te;break;case "start":a.M.ba.Bf=Te;break;case "stop":a.M.ba.df=Te;
|
||||
nn?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}sq(a,g);break;case "t":Vq(a,g[0],g[1]);break;case "u":tq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Qq(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.8 ("+a.M.na+",RELEASE,NOPREFETCH"+(wb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Te;void 0!==g[3]&&(Te=+g[3]);switch(g[2]){case "int":a.M.ba.bf=Te;break;case "start":a.M.ba.Bf=Te;break;case "stop":a.M.ba.df=Te;
|
||||
break;default:a.U("unknown cs option");break a}void 0!==Te&&Pc(a.M);a.U("checksums "+(a.M.ra.Se?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zc(a.M,+g[2])||a.U("warning: using 1x multiplier, previous target not reached"));a.U("target speed: "+(a.M.ba.Ae.toFixed(2)+"Mhz")+" ("+a.M.ba.Wd+"x)");break;default:a.U("unknown option: "+g[1])}else a.U("execution options:"),a.U("\tcs int #\tset checksum cycle interval to #"),a.U("\tcs start #\tset checksum cycle start count to #"),a.U("\tcs stop #\tset checksum cycle stop count to #"),
|
||||
a.U("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Tq(a,b.substr(1));break}var Ue="commands:",ui;for(ui in yp)Ue+="\n"+oa(ui,7)+yp[ui];Hf(a)||(Ue+="\nnote: frequency/history disabled if no exec breakpoints");a.U(Ue);break;default:a.U("unknown command: "+b),d=!1}}}catch(qn){a.U("debugger error: "+(qn.stack||qn.message)),d=!1}return d}function vp(a,b,c){b=lq(a,b,c);for(var d in b)if(!zq(a,b[d]))return!1;return!0}
|
||||
Ra(function(){for(var a=lb(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new qp(d);kb(d,c)}});function Xe(a,b,c){this.id=a.id;this.key=Xq(a,b,c);this.ma=a.ma;Yq(this,a.kk)}function Xq(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
|
|
@ -1197,14 +1197,14 @@ Xe.prototype={constructor:Xe,value:function(){return this[this.id]},data:functio
|
|||
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function Yq(a,b){a[a.id]={};b&&Ye(a,"parms",b);a.A=!1}function Zq(a){var b=!0;if(Fa()){var c=JSON.stringify(a[a.id]);Ha(a.key,c)||(Ba("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function $q(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){Ba(c.message||c),b=!1}return b}function ar(a,b){return a[a.id][b]||null}function Ye(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function br(a,b,c){Wa.call(this,"Computer",a,br,67108864);this.ra.ec=!1;this.Z=a.autoPower;this.C=0;this.la=a.busWidth||a.buswidth;this.Lc=cr;this.P=null;this.O=this.da=!1;this.ka=b;this.qa=Do(this,"url")||"";this.ta=(Math.random()+.1).toString(36).substr(2,12);this.A=dr(this);if(this.M=ib("CPU",this.id)){this.ma=ib("Debugger",this.id);this.ja=new Mb({id:this.ni+".bus",buswidth:this.la},this.M,this.ma);var d,e=gb(this.id);if((this.Zd=ib("Panel",this.id))&&this.Zd.vf)for(b=0;b<e.length;b++)d=e[b],
|
||||
d.Va=this.Zd.Va,d.U=this.Zd.U,d.vf=this.Zd.vf;for(b=0;b<e.length;b++)d=e[b],d.Jc&&d.Jc(this,this.ja,this.M,this.ma);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.zg=d:this.Lc=parseInt(d,10));var f;if(a=$a&&$a.state||Do(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.O=!0,this.Lc=cr),this.Lc&&(this.ia=new Xe(this,er),this.ia.load()?b=null:delete this.ia);!b&&this.Lc&&(f=null,this.A&&(f=Aa()+"/api/v1/user?req=load&user="+this.A+"&state="+Xq(this,er)),b=f)&&(this.O=!0);b?za(b,!0,null,this,this.jk):
|
||||
tb(this);this.ya.power||(this.Z=!0);!c&&this.Z&&fr(this,this.Rf)}else Ba("Unable to find CPU component")}fb(br);var er="1.20.7",cr=0;h=br.prototype;h.$e=function(){return this.ta};function Do(a,b){return a.ka&&a.ka[b]}h.ke=function(){return this.A?this.A:""};h.jk=function(a,b,c){c?(this.zg=null,this.O=!1,this.Va("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(this.P=b,this.da=!0);tb(this)};
|
||||
tb(this);this.ya.power||(this.Z=!0);!c&&this.Z&&fr(this,this.Rf)}else Ba("Unable to find CPU component")}fb(br);var er="1.20.8",cr=0;h=br.prototype;h.$e=function(){return this.ta};function Do(a,b){return a.ka&&a.ka[b]}h.ke=function(){return this.A?this.A:""};h.jk=function(a,b,c){c?(this.zg=null,this.O=!1,this.Va("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(this.P=b,this.da=!0);tb(this)};
|
||||
function fr(a,b,c){for(var d=gb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ub(f)){ub(f,function(){fr(a,b,c)});return}}b.call(a,c)}function gr(a,b){var c=new Xe(a,er,"validate");if(c.load()&&$q(c)){var d=ar(c,"timestamp"),e=b?ar(b,"timestamp"):"unknown";d!=e&&(a.Va("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
h.Rf=function(a){void 0===a&&(a=this.Lc||(this.P?1:cr));if(!this.C){this.C++;var b=!1,c=!1;this.X=!1;var d=this.ia||new Xe(this,er);if(-1==a)b=!0;else if(a>cr){if(d.load(this.P)){this.R=new Xe(this,er,"failsafe");this.R.load()&&(hr(this,d),a=2,Yq(this.R));Ye(this.R,"timestamp",ua());Zq(this.R);var e=this.Lc&&!this.O;if(1==a||Ca("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=$q(d)){var f=ar(d,"code"),g=ar(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Va("Error: "+g),"unable to verify user"==g&&(Ha("user",""),this.A=null)):this.U(f+": "+g),Yq(d),d.load()?(c=$q(d),e=!0):c=!1))}e&&gr(this,c?d:null)}else 2==a&&d.clear()}else gr(this);delete this.P;delete this.ia}e=gb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.M&&(c=ir(this,g,d,b,c));b=[d,a,c];-1!=a?fr(this,this.Di,b):this.Di(b)}};
|
||||
function ir(a,b,c,d,e){if(!b.ra.ec){b.ra.ec=!0;if(b.oc){var f=null;e&&((f=ar(c,b.id))||(f=ar(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.oc(f,d)&&f&&(Ba("Unable to restore state for "+b.type),a.W&&!a.da?(c.clear(),a.Lc=cr,window&&window.location.reload()):a.X=!0,b.oc(null),e=!1)}if(!d&&b.gk)for(a=b.gk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
h.Di=function(a){var b=a[0],c=0>a[1];a=a[2];this.ra.ec=!0;var d=this.ya.power;d&&(d.textContent="On");this.hk||(this.U("PCjs v"+er+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.hk=!0);this.M&&(ir(this,this.M,b,c,a),Rc(this.M));this.X&&(hr(this,b),b.clear());!c&&this.R&&(this.R.clear(),delete this.R);this.C=0};
|
||||
function hr(a,b){if(Ca("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.qa,d=a.ke(),e=b.toString(),f={app:"PCjs"};f.ver=er;f.url=c;f.user=d;f.type="bug";f.data=e;za("http://www.pcjs.org/api/v1/report",!0,f)}}
|
||||
function Wq(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Xe(a,er),g=new Xe(a,er,"validate"),k=ua();Ye(g,"timestamp",k);Ye(f,"timestamp",k);Ye(f,"version","1.20.7");Ye(f,"url",window?window.location.href:null);Ye(f,"browser",window?window.navigator.userAgent:"");a.M&&a.M.nc&&(c&&a.M.$b(),d=a.M.nc(b,c),"object"===typeof d&&Ye(f,a.M.id,d),c&&(a.M.ra.ec=!1,!1===d&&(e=null)));for(var k=gb(a.id),q=0;q<k.length;q++){var r=k[q];r.ra.ec&&(r.nc&&(d=r.nc(b,c),"object"===typeof d&&Ye(f,r.id,d)),c&&
|
||||
function Wq(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Xe(a,er),g=new Xe(a,er,"validate"),k=ua();Ye(g,"timestamp",k);Ye(f,"timestamp",k);Ye(f,"version","1.20.8");Ye(f,"url",window?window.location.href:null);Ye(f,"browser",window?window.navigator.userAgent:"");a.M&&a.M.nc&&(c&&a.M.$b(),d=a.M.nc(b,c),"object"===typeof d&&Ye(f,a.M.id,d),c&&(a.M.ra.ec=!1,!1===d&&(e=null)));for(var k=gb(a.id),q=0;q<k.length;q++){var r=k[q];r.ra.ec&&(r.nc&&(d=r.nc(b,c),"object"===typeof d&&Ye(f,r.id,d)),c&&
|
||||
(r.ra.ec=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.A&&jr(a,a.A,f.toString()),Zq(g)&&Zq(f)||(e=null,d=k=!0)):a.Lc&&(d=!0,k=3==a.Lc),d&&f.clear(k)):e=f.toString());c&&(a.ra.ec=!1,b=a.ya.power)&&(b.textContent="Off");a.C=0;return e}h.reset=function(){this.ja&&this.ja.reset&&(ob(this,"Resetting "+this.ja.type),this.ja.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ja&&c.reset&&(ob(this,"Resetting "+c.type),c.reset())}};
|
||||
h.start=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};h.stop=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
h.Vb=function(a,b,c){var d=this;switch(b){case "power":return this.ya[b]=c,c.onclick=function(){d.C||(d.ra.ec?Wq(d,!1,!0):fr(d,d.Rf))},!0;case "reset":return this.ya[b]=c,c.onclick=function(){if(d.ra.ec&&!d.C)if(d.Lc&&!d.zg){var a=Ca("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Wq(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.ah=!0),d.Rf(cr),d.ah=!1)}else d.reset(),d.M&&Rc(d.M)},!0;case "save":return this.ya[b]=c,c.onclick=
|
||||
|
|
@ -1217,6 +1217,6 @@ function nr(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{if(c){var k=b;k&&
|
|||
k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(B){k=null,a=B.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,k)}}a?e?yr(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function yr(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");za(e,!0,null,null,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var q=k[0],r,x=/( [a-z]+=)(['"])(.*?)\2/g;r=x.exec(f);)q=0>q.indexOf(r[1])?q.replace(">",r[0]+">"):q.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);k[0]!=q&&(g=g.replace(k[0],q))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);yr(a,b,c)}})}else c(a,null)}
|
||||
function zr(a,b,c,d){function e(a){if(void 0===k){var b=g&&lb(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--lr||Ua(!0));q=!1}var g,k,q=!0;lr++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.20.7/components.xsl");var r=function(d,k){if(k){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var r=k.transformNode(q);r?(g.outerHTML=r,--lr||Ua(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
|
||||
function zr(a,b,c,d){function e(a){if(void 0===k){var b=g&&lb(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--lr||Ua(!0));q=!1}var g,k,q=!0;lr++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.20.8/components.xsl");var r=function(d,k){if(k){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var r=k.transformNode(q);r?(g.outerHTML=r,--lr||Ua(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
|
||||
window.document.implementation.createDocument?(r=new XSLTProcessor,r.importStylesheet(q),(r=r.transformToFragment(k,window.document))?g.parentNode?(g.parentNode.replaceChild(r,g),--lr||Ua(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};k?mr(c,null,null,!1,e,q):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?mr(b,a,d,!0,e,r):nr(b,null,a,d,!1,e,r)}else f("missing machine element: "+
|
||||
a)}catch(x){f(x.message)}return q}window.embedPC=function(a,b,c,d){Ua(!1);return zr(a,b,c,d)};window.enableEvents=Ua;window.sendEvent=Va;})();
|
||||
|
|
|
|||
|
|
@ -1018,14 +1018,14 @@ Qd.prototype={constructor:Qd,value:function(){return this[this.id]},data:functio
|
|||
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function Am(a,b){a[a.id]={};b&&D(a,"parms",b);a.A=!1}function Bm(a){var b=!0;if(ua()){var c=JSON.stringify(a[a.id]);wa(a.key,c)||(ra("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Cm(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){ra(c.message||c),b=!1}return b}function Dm(a,b){return a[a.id][b]||null}function D(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function Em(a,b,c){Ia.call(this,"Computer",a,Em);this.ja.Pb=!1;this.N=a.autoPower;this.D=0;this.Z=a.busWidth||a.buswidth;this.pc=Fm;this.J=null;this.H=this.S=!1;this.V=b;this.da=Jl(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=Gm(this);if(this.A=Ta("CPU",this.id)){this.Ta=Ta("Debugger",this.id);this.na=new ob({id:this.ph+".bus",buswidth:this.Z},this.A,this.Ta);var d,e=Ra(this.id);if((this.md=Ta("Panel",this.id))&&this.md.fg)for(b=0;b<e.length;b++)d=e[b],d.Ka=this.md.Ka,
|
||||
d.ic=this.md.ic,d.fg=this.md.fg;for(b=0;b<e.length;b++)d=e[b],d.yc&&d.yc(this,this.na,this.A,this.Ta);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.rf=d:this.pc=parseInt(d,10));var k;if(a=La&&La.state||Jl(this,"state")||(k=!0,a.state))b=this.T=a,k||(this.H=!0,this.pc=Fm),this.pc&&(this.K=new Qd(this,Hm),this.K.load()?b=null:delete this.K);!b&&this.pc&&(k=null,this.B&&(k=qa()+"/api/v1/user?req=load&user="+this.B+"&state="+zm(this,Hm)),b=k)&&(this.H=!0);b?pa(b,!0,null,this,this.oj):Ya(this);this.ra.power||
|
||||
(this.N=!0);!c&&this.N&&Im(this,this.$e)}else ra("Unable to find CPU component")}Qa(Em);var Hm="1.20.7",Fm=0;f=Em.prototype;f.pe=function(){return this.ha};function Jl(a,b){return a.V&&a.V[b]}f.yd=function(){return this.B?this.B:""};f.oj=function(a,b,c){c?(this.rf=null,this.H=!1,this.Ka("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(this.J=b,this.S=!0);Ya(this)};
|
||||
(this.N=!0);!c&&this.N&&Im(this,this.$e)}else ra("Unable to find CPU component")}Qa(Em);var Hm="1.20.8",Fm=0;f=Em.prototype;f.pe=function(){return this.ha};function Jl(a,b){return a.V&&a.V[b]}f.yd=function(){return this.B?this.B:""};f.oj=function(a,b,c){c?(this.rf=null,this.H=!1,this.Ka("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(this.J=b,this.S=!0);Ya(this)};
|
||||
function Im(a,b,c){for(var d=Ra(a.id),e=0;e<=d.length;e++){var k=e<d.length?d[e]:a;if(!Za(k)){Za(k,function(){Im(a,b,c)});return}}b.call(a,c)}function Jm(a,b){var c=new Qd(a,Hm,"validate");if(c.load()&&Cm(c)){var d=Dm(c,"timestamp"),e=b?Dm(b,"timestamp"):"unknown";d!=e&&(a.Ka("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
f.$e=function(a){void 0===a&&(a=this.pc||(this.J?1:Fm));if(!this.D){this.D++;var b=!1,c=!1;this.R=!1;var d=this.K||new Qd(this,Hm);if(-1==a)b=!0;else if(a>Fm){if(d.load(this.J)){this.F=new Qd(this,Hm,"failsafe");this.F.load()&&(Km(this,d),a=2,Am(this.F));D(this.F,"timestamp",la());Bm(this.F);var e=this.pc&&!this.H;if(1==a||sa("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Cm(d)){var k=Dm(d,"code"),l=Dm(d,"data");k&&("ok"==k?d.load(l):("error"==k&&"no machine state"!=
|
||||
l?(this.Ka("Error: "+l),"unable to verify user"==l&&(wa("user",""),this.B=null)):this.ic(k+": "+l),Am(d),d.load()?(c=Cm(d),e=!0):c=!1))}e&&Jm(this,c?d:null)}else 2==a&&d.clear()}else Jm(this);delete this.J;delete this.K}e=Ra(this.id);for(k=0;k<e.length;k++)l=e[k],l!==this&&l!=this.A&&(c=Lm(this,l,d,b,c));b=[d,a,c];-1!=a?Im(this,this.Oh,b):this.Oh(b)}};
|
||||
function Lm(a,b,c,d,e){if(!b.ja.Pb){b.ja.Pb=!0;if(b.ac){var k=null;e&&((k=Dm(c,b.id))||(k=Dm(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof k&&(k=null);!b.ac(k,d)&&k&&(ra("Unable to restore state for "+b.type),a.T&&!a.S?(c.clear(),a.pc=Fm,window&&window.location.reload()):a.R=!0,b.ac(null),e=!1)}if(!d&&b.zh)for(a=b.zh.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
f.Oh=function(a){var b=a[0],c=0>a[1];a=a[2];this.ja.Pb=!0;var d=this.ra.power;d&&(d.textContent="On");this.Ah||(this.ic("PCjs v"+Hm+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ah=!0);this.A&&(Lm(this,this.A,b,c,a),ic(this.A));this.R&&(Km(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.D=0};
|
||||
function Km(a,b){if(sa("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.da,d=a.yd(),e=b.toString(),k={app:"PCjs"};k.ver=Hm;k.url=c;k.user=d;k.type="bug";k.data=e;pa("http://www.pcjs.org/api/v1/report",!0,k)}}
|
||||
function Mm(a,b,c){var d,e="none";if(a.D)return null;a.D--;var k=new Qd(a,Hm),l=new Qd(a,Hm,"validate"),p=la();D(l,"timestamp",p);D(k,"timestamp",p);D(k,"version","1.20.7");D(k,"url",window?window.location.href:null);D(k,"browser",window?window.navigator.userAgent:"");a.A&&a.A.$b&&(c&&lc(a.A),d=a.A.$b(b,c),"object"===typeof d&&D(k,a.A.id,d),c&&(a.A.ja.Pb=!1,!1===d&&(e=null)));for(var p=Ra(a.id),q=0;q<p.length;q++){var w=p[q];w.ja.Pb&&(w.$b&&(d=w.$b(b,c),"object"===typeof d&&D(k,w.id,d)),c&&(w.ja.Pb=
|
||||
function Mm(a,b,c){var d,e="none";if(a.D)return null;a.D--;var k=new Qd(a,Hm),l=new Qd(a,Hm,"validate"),p=la();D(l,"timestamp",p);D(k,"timestamp",p);D(k,"version","1.20.8");D(k,"url",window?window.location.href:null);D(k,"browser",window?window.navigator.userAgent:"");a.A&&a.A.$b&&(c&&lc(a.A),d=a.A.$b(b,c),"object"===typeof d&&D(k,a.A.id,d),c&&(a.A.ja.Pb=!1,!1===d&&(e=null)));for(var p=Ra(a.id),q=0;q<p.length;q++){var w=p[q];w.ja.Pb&&(w.$b&&(d=w.$b(b,c),"object"===typeof d&&D(k,w.id,d)),c&&(w.ja.Pb=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(p=d=!1,b?(a.B&&Nm(a,a.B,k.toString()),Bm(l)&&Bm(k)||(e=null,d=p=!0)):a.pc&&(d=!0,p=3==a.pc),d&&k.clear(p)):e=k.toString());c&&(a.ja.Pb=!1,b=a.ra.power)&&(b.textContent="Off");a.D=0;return e}f.reset=function(){this.na&&this.na.reset&&this.na.reset();for(var a=Ra(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.na&&c.reset&&c.reset()}};f.start=function(a,b){for(var c=Ra(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
f.stop=function(a,b){for(var c=Ra(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
f.Fb=function(a,b,c){var d=this;switch(b){case "power":return this.ra[b]=c,c.onclick=function(){d.D||(d.ja.Pb?Mm(d,!1,!0):Im(d,d.$e))},!0;case "reset":return this.ra[b]=c,c.onclick=function(){if(d.ja.Pb&&!d.D)if(d.pc&&!d.rf){var a=sa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Mm(d,a,!0);!a&&d.T?window&&window.location.reload():(a||(d.jg=!0),d.$e(Fm),d.jg=!1)}else d.reset(),d.A&&ic(d.A)},!0;case "save":return this.ra[b]=c,c.onclick=
|
||||
|
|
@ -1038,6 +1038,6 @@ function Rm(a,b,c,d,e,k,l){function p(a,k){if(k)l(k,null);else{if(c){var p=b;p&&
|
|||
p.async=!1,p.loadXML(a)):p=(new window.DOMParser).parseFromString(a,"text/xml")}catch(G){p=null,a=G.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);l(a,p)}}a?e?Sm(a,k,p):p(a,null):l("no data"+(b?" for file: "+b:""),null)}
|
||||
function Sm(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");pa(e,!0,null,null,function(k,l,p){if(p||!l)c(a,"unable to resolve XML reference: "+d[0]+" ("+p+")");else{if(k=d[3])if(p=l.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var q=p[0],w,B=/( [a-z]+=)(['"])(.*?)\2/g;w=B.exec(k);)q=0>q.indexOf(w[1])?q.replace(">",w[0]+">"):q.replace(new RegExp(w[1]+"(['\"])(.*?)\\1"),w[0]);p[0]!=q&&(l=l.replace(p[0],q))}else{c(a,"missing <"+d[1]+"> in "+e);return}l=l.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],l);Sm(a,b,c)}})}else c(a,null)}
|
||||
function Tm(a,b,c,d){function e(a){if(void 0===p){var b=l&&Wa(l,"machine-warning");p=b&&b[0]||l}p&&(p.innerHTML=ha(a))}function k(a){e("Error: "+a);q&&(--Pm||Ga(!0));q=!1}var l,p,q=!0;Pm++;try{if(l=window.document.getElementById(a)){c||(c="/versions/pcjs/1.20.7/components.xsl");var w=function(d,p){if(p){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var w=p.transformNode(q);w?(l.outerHTML=w,--Pm||Ga(!0)):k("transformNodeToObject failed")}else window.document.implementation&&
|
||||
function Tm(a,b,c,d){function e(a){if(void 0===p){var b=l&&Wa(l,"machine-warning");p=b&&b[0]||l}p&&(p.innerHTML=ha(a))}function k(a){e("Error: "+a);q&&(--Pm||Ga(!0));q=!1}var l,p,q=!0;Pm++;try{if(l=window.document.getElementById(a)){c||(c="/versions/pcjs/1.20.8/components.xsl");var w=function(d,p){if(p){var q=function(d,q){if(q)if(q)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var w=p.transformNode(q);w?(l.outerHTML=w,--Pm||Ga(!0)):k("transformNodeToObject failed")}else window.document.implementation&&
|
||||
window.document.implementation.createDocument?(w=new XSLTProcessor,w.importStylesheet(q),(w=w.transformToFragment(p,window.document))?l.parentNode?(l.parentNode.replaceChild(w,l),--Pm||Ga(!0)):k("invalid machine element: "+a):k("transformToFragment failed")):k("unable to transform XML: unsupported browser");else k("failed to load XSL file: "+c);else k(d)};p?Qm(c,null,null,!1,e,q):k("failed to load XML file: "+b)}else k(d)};"<"!=b.charAt(0)?Qm(b,a,d,!0,e,w):Rm(b,null,a,d,!1,e,w)}else k("missing machine element: "+
|
||||
a)}catch(B){k(B.message)}return q}window.embedPC=function(a,b,c,d){Ga(!1);return Tm(a,b,c,d)};window.enableEvents=Ga;window.sendEvent=Ha;})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue