Added more demos and support for mixed-case properties (including a new 'debugger' property in Markdown files)
This commit is contained in:
parent
ef480867e9
commit
7ca64fcea5
162 changed files with 84341 additions and 345 deletions
|
|
@ -82,7 +82,7 @@ Next, we can add a Floppy Disk Controller (FDC) component. And since we want to
|
|||
disks at will, we'll include some UI controls.
|
||||
|
||||
<machine id="ibm" class="pc" width="720px">
|
||||
<fdc id="fdcNEC" automount="{A: {name: 'PC-DOS 1.0', path: 'pcdos-1.00.json'}}">
|
||||
<fdc id="fdcNEC" autoMount="{A: {name: 'PC-DOS 1.0', path: 'pcdos-1.00.json'}}">
|
||||
<control type="container">
|
||||
<control type="list" class="input" binding="listDrives"/>
|
||||
<control type="list" class="input" binding="listDisks">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ Attributes
|
|||
to the whims of JavaScript, your web browser, and your machine's overall workload.
|
||||
* *multiplier* (optional; default is 1)
|
||||
* Provides an easy way to multiply the default CPU speed.
|
||||
* *autostart* (optional)
|
||||
* *autoStart* (optional)
|
||||
* This can be set to "true" or "false" to explicitly control whether or not the machine starts running automatically.
|
||||
If this parameter is omitted, the machine will autostart only if no Debugger component is included and no "Run" button is defined.
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ Bindings
|
|||
|
||||
Example
|
||||
---
|
||||
<cpu id="cpu8088" model="8088" autostart="true">
|
||||
<cpu id="cpu8088" model="8088" autoStart="true">
|
||||
<control type="button" class="input" binding="run">Run</control>
|
||||
</cpu>
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ Output
|
|||
---
|
||||
<div id="..." class="pc-cpu pc-component" style="">
|
||||
<div class="pc-container" style="">
|
||||
<div class="pcjs-cpu" data-value="id:'...',name:'...',model:'...',cycles:'...',multiplier:'...',autostart:'...'">
|
||||
<div class="pcjs-cpu" data-value="id:'...',name:'...',model:'...',cycles:'...',multiplier:'...',autoStart:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@
|
|||
<xsl:choose>
|
||||
<xsl:when test="@pos = 'left'">float:left;</xsl:when>
|
||||
<xsl:when test="@pos = 'right'">float:right;</xsl:when>
|
||||
<xsl:when test="@pos = 'center'">margin:0 auto;</xsl:when>
|
||||
<xsl:when test="@pos = 'center'">margin:0 auto;clear:both;</xsl:when>
|
||||
<xsl:when test="@pos">position:<xsl:value-of select="@pos"/>;</xsl:when>
|
||||
<xsl:when test="$left != '' or $top != ''">position:relative;</xsl:when>
|
||||
<xsl:otherwise/>
|
||||
|
|
@ -348,11 +348,16 @@
|
|||
<xsl:if test="@label"><xsl:text> </xsl:text><xsl:value-of select="$APPCLASS"/><xsl:text>-label</xsl:text></xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="labelWidth">
|
||||
<xsl:if test="@labelwidth">width:<xsl:value-of select="@labelwidth"/>;</xsl:if>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@labelwidth">width:<xsl:value-of select="@labelwidth"/>;</xsl:when>
|
||||
<xsl:when test="@labelWidth">width:<xsl:value-of select="@labelWidth"/>;</xsl:when>
|
||||
<xsl:otherwise/>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="labelStyle">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@labelstyle"><xsl:value-of select="@labelstyle"/></xsl:when>
|
||||
<xsl:when test="@labelStyle"><xsl:value-of select="@labelStyle"/></xsl:when>
|
||||
<xsl:otherwise>text-align:right;</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
|
@ -557,24 +562,28 @@
|
|||
<xsl:variable name="autoStart">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@autostart"><xsl:value-of select="@autostart"/></xsl:when>
|
||||
<xsl:when test="@autoStart"><xsl:value-of select="@autoStart"/></xsl:when>
|
||||
<xsl:otherwise>null</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="csStart">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@csstart"><xsl:value-of select="@csstart"/></xsl:when>
|
||||
<xsl:when test="@csStart"><xsl:value-of select="@csStart"/></xsl:when>
|
||||
<xsl:otherwise>-1</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="csInterval">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@csinterval"><xsl:value-of select="@csinterval"/></xsl:when>
|
||||
<xsl:when test="@csInterval"><xsl:value-of select="@csInterval"/></xsl:when>
|
||||
<xsl:otherwise>-1</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="csStop">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@csstop"><xsl:value-of select="@csstop"/></xsl:when>
|
||||
<xsl:when test="@csStop"><xsl:value-of select="@csStop"/></xsl:when>
|
||||
<xsl:otherwise>-1</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
|
@ -746,12 +755,14 @@
|
|||
<xsl:variable name="charBOL">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@charbol"><xsl:value-of select="@charbol"/></xsl:when>
|
||||
<xsl:when test="@charBOL"><xsl:value-of select="@charBOL"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="tabSize">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@tabsize"><xsl:value-of select="@tabsize"/></xsl:when>
|
||||
<xsl:when test="@tabSize"><xsl:value-of select="@tabSize"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
|
@ -936,12 +947,14 @@
|
|||
<xsl:variable name="screenWidth">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@screenwidth"><xsl:value-of select="@screenwidth"/></xsl:when>
|
||||
<xsl:when test="@screenWidth"><xsl:value-of select="@screenWidth"/></xsl:when>
|
||||
<xsl:otherwise>256</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="screenHeight">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@screenheight"><xsl:value-of select="@screenheight"/></xsl:when>
|
||||
<xsl:when test="@screenHeight"><xsl:value-of select="@screenHeight"/></xsl:when>
|
||||
<xsl:otherwise>224</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
|
@ -966,12 +979,14 @@
|
|||
<xsl:variable name="charCols">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@cols"><xsl:value-of select="@cols"/></xsl:when>
|
||||
<xsl:when test="@charCols"><xsl:value-of select="@charCols"/></xsl:when>
|
||||
<xsl:otherwise>80</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="charRows">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@rows"><xsl:value-of select="@rows"/></xsl:when>
|
||||
<xsl:when test="@charRows"><xsl:value-of select="@charRows"/></xsl:when>
|
||||
<xsl:otherwise>25</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
|
@ -979,24 +994,28 @@
|
|||
<xsl:choose>
|
||||
<xsl:when test="@charset"><xsl:value-of select="@charset"/></xsl:when>
|
||||
<xsl:when test="@fontrom"><xsl:value-of select="@fontrom"/></xsl:when>
|
||||
<xsl:when test="@fontROM"><xsl:value-of select="@fontROM"/></xsl:when>
|
||||
<xsl:otherwise/>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="screenColor">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@screencolor"><xsl:value-of select="@screencolor"/></xsl:when>
|
||||
<xsl:when test="@screenColor"><xsl:value-of select="@screenColor"/></xsl:when>
|
||||
<xsl:otherwise>black</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="touchScreen">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@touchscreen"><xsl:value-of select="@touchscreen"/></xsl:when>
|
||||
<xsl:when test="@touchScreen"><xsl:value-of select="@touchScreen"/></xsl:when>
|
||||
<xsl:otherwise/>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="autoLock">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@autolock"><xsl:value-of select="@autolock"/></xsl:when>
|
||||
<xsl:when test="@autoLock"><xsl:value-of select="@autoLock"/></xsl:when>
|
||||
<xsl:otherwise>false</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
|
@ -1064,12 +1083,14 @@
|
|||
<xsl:variable name="autoPower">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@autopower"><xsl:value-of select="@autopower"/></xsl:when>
|
||||
<xsl:when test="@autoPower"><xsl:value-of select="@autoPower"/></xsl:when>
|
||||
<xsl:otherwise>true</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="busWidth">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@buswidth"><xsl:value-of select="@buswidth"/></xsl:when>
|
||||
<xsl:when test="@busWidth"><xsl:value-of select="@busWidth"/></xsl:when>
|
||||
<xsl:otherwise>20</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
|
|
|||
|
|
@ -67,13 +67,14 @@ b,this.eb[a+1]=b>>8,this.eb[a+2]=b>>16,this.eb[a+3]=b>>24):this.ha[a>>2]=b;this.
|
|||
function Jc(a,b,c){c&&a.Se||(a.Cc=!a.O&&b[3]||a.ia,a.hg=!a.O&&b[4]||a.Y,a.gg=!a.O&&b[5]||a.W);if(c||void 0===c)a.tf=b[3]||a.ia,a.ri=b[4]||a.Y,a.qa=b[5]||a.W}function Hc(a,b,c){c&&a.Re||(a.sc=b[0]||a.ka,a.$f=b[1]||a.la,a.Xd=b[2]||a.da);if(c||void 0===c)a.oe=b[0]||a.ka,a.ag=b[1]||a.la,a.ji=b[2]||a.da}function fc(a,b,c){b||(b=5==a.type?Pc:6==a.type?Qc:Rc);Hc(a,b,c);Jc(a,b,c)}
|
||||
var Rc=[],lc=[Tb.prototype.Ba,Tb.prototype.qb,Tb.prototype.Ra,Tb.prototype.cc,Tb.prototype.ud,Tb.prototype.Xc],Ic=[Tb.prototype.wa,Tb.prototype.Yb,Tb.prototype.Oa,Tb.prototype.Vb,Tb.prototype.qd,Tb.prototype.Vc],Qc=[Tb.prototype.Ha,Tb.prototype.xb,Tb.prototype.Va,Tb.prototype.pc,Tb.prototype.Gd,Tb.prototype.hd],Pc=[Tb.prototype.Ja,Tb.prototype.Ib,Tb.prototype.cb,Tb.prototype.be,Tb.prototype.Hd,Tb.prototype.re];
|
||||
if(Cb)var kc=[Tb.prototype.ta,Tb.prototype.ib,Tb.prototype.Ma,Tb.prototype.Jb,Tb.prototype.rd,Tb.prototype.Lc],jc=[Tb.prototype.za,Tb.prototype.lb,Tb.prototype.Qa,Tb.prototype.Zb,Tb.prototype.td,Tb.prototype.Wc],Sc=[Tb.prototype.Ea,Tb.prototype.rb,Tb.prototype.Ta,Tb.prototype.oc,Tb.prototype.Fd,Tb.prototype.gd];
|
||||
function Tc(a,b){Za.call(this,"CPU",a,Tc,1);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Id=c;this.ba.Td=d;this.ba.tg=Math.round(this.ba.Id/1E4)/100;this.ba.Ce=this.ba.tg*this.ba.Td;this.ra.Ob=!1;this.ra.fh=!1;this.ra.ah=a.autoStart;this.ra.Oi=!1;c=cb.autostart;void 0!==c&&(this.ra.ah="true"==c?!0:"false"==c?!1:null);this.ra.We=!1;this.ba.Ff=this.ba.gf=0;this.ba.Gf=a.csStart;this.ba.ff=a.csInterval;this.ba.hf=a.csStop;this.gd=[];this.si=this.Ie.bind(this);zb(this)}ib(Tc);
|
||||
function Tc(a,b){Za.call(this,"CPU",a,Tc,1);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Id=c;this.ba.Td=d;this.ba.tg=Math.round(this.ba.Id/1E4)/100;this.ba.Ce=this.ba.tg*this.ba.Td;this.ra.Ob=!1;this.ra.fh=!1;this.ra.ah=a.autoStart;this.ra.Oi=!1;c=cb.autostart||cb.autoStart;void 0!==c&&(this.ra.ah="true"==c?!0:"false"==c?!1:null);this.ra.We=!1;this.ba.Ff=this.ba.gf=0;this.ba.Gf=a.csStart;this.ba.ff=a.csInterval;this.ba.hf=a.csStop;this.gd=[];this.si=this.Ie.bind(this);zb(this)}ib(Tc);
|
||||
var Uc=["power","reset"];h=Tc.prototype;h.Jc=function(a,b,c,d){this.ia=a;this.ja=b;this.ma=d;for(b=0;b<Uc.length;b++)(c=this.xa[Uc[b]])&&this.ia.Ub(null,Uc[b],c);this.Yb=Lb(a,"FPU");for(b=null;b=Lb(a,"Video",b);)this.gd.push(b);this.R=Lb(a,"ChipSet");zb(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
||||
h.lc=function(a,b){if(!b){if(a&&this.restore){Vc(this);if(!this.restore(a))return!1;Xc(this)}else this.reset();this.ma?this.ma.ih():this.U("No debugger detected")}$c(this);return!0};h.kc=function(a){return a?this.save():!0};function ad(a){(!0===a.ra.ah||null===a.ra.ah&&!a.ma&&void 0===a.xa.run)&&a.Ie()}h.Qi=function(){return 0};
|
||||
h.lc=function(a,b){if(!b){if(a&&this.restore){Vc(this);if(!this.restore(a))return!1;Xc(this)}else this.reset();this.ma?this.ma.ih():this.U("No debugger detected")}$c(this);return!0};h.kc=function(a){return a?this.save():!0};function ad(a){(!0===a.ra.ah||null===a.ra.ah&&!a.ma&&void 0===a.xa.run)&&a.Ie(!0)}h.Qi=function(){return 0};
|
||||
function Xc(a){void 0===a.ba.Gf&&(a.ba.Gf=0);void 0===a.ba.ff&&(a.ba.ff=-1);void 0===a.ba.hf&&(a.ba.hf=-1);a.ra.We=0<=a.ba.Gf&&0<a.ba.ff;a.ra.We&&(a.ba.Ff=0,a.ba.gf=a.ba.Gf-a.Zb)}function bd(a,b){if(a.ra.We){var c=!1;a.ba.Ff=a.ba.Ff+a.Qi()|0;a.ba.gf-=b;0>=a.ba.gf&&(a.ba.gf+=a.ba.ff,c=!0);0<=a.ba.hf&&a.ba.hf<=cd(a)&&(a.ba.ff=a.ba.hf=-1,Xc(a),a.bc(),c=!0);c&&a.U(cd(a)+" cycles: checksum="+l(a.ba.Ff))}}h.pd=function(){this.ia&&this.ia.Wd&&this.ia.Wd.pd()};
|
||||
function dd(a,b){for(var c=0;c<a.gd.length;c++)ed(a.gd[c],b);if(a.ia&&a.ia.Wd&&(c=a.ia.Wd,c.Ra)){Pb(c,18,c.da,c.Qa);if(c.qb){var d=c.ja,e=c.A,f,g;null==f&&(f=0);null==g&&(g=d.Y-f|0);null==e&&(e={$g:0,Pd:0,Rg:[]});var k=f>>>d.Pa;f=f+g-1>>>d.Pa;e.$g=0;for(e.Pd=0;k<=f;)g=d.ya[k],e.$g+=g.size,g.size&&(e.Rg.push(wa(Ob,k,0,0,g.type)),e.Pd++),k++;c.A=e;c.Ha=c.A.Pd*c.ja.Rb/691200;d=0;c.A.Bi=0;c.A.xf||(c.A.xf=[]);var e=-1,k=0,q=-1;for(f=0;f<c.A.Pd;f++){var r=c.A.Rg[f];g=xa(Ob.type,r);r=xa(Ob.$j,r);if(g!=e||
|
||||
r!=q+1)(q=f-k)&&(d+=Rb(c,k,q,e)),e=g,k=f;q=r}d+=Rb(c,k,f-k,e);e=c.A.Jk!=d;c.A.Jk=d;if(e){e=new Jb(0,0,c.da.width,c.da.height);c.A.Ne=[];k=c.A.Pd;for(d=0;d<c.A.Bi;d++)f=c.A.xf[d].Pd,c.A.Ne.push(Kb(e,f,k,!d)),k-=f;for(d=0;d<c.A.Ne.length;d++)e=c.A.xf[d],k=f=c.A.Ne[d],g=c.Qa,(q=Fc[e.type])||(q=new Ib),g.strokeStyle="black",g.strokeRect(k.x,k.y,k.ad,k.A),g.fillStyle="string"==typeof q?q:q.toString(),g.fillRect(k.x,k.y,k.ad,k.A),k=c,g=f,k.la=k.Ba,k.Y=k.Ea,f=g.x+(g.ad>>1),q=g.y+(g.A>>1),r=g.A,g.ad<g.A&&
|
||||
(r=g.ad,k.za=!0,k.R.save(),k.R.translate(f,q),k.R.rotate(-Math.PI/2),f=q=0),r<k.Y&&(k.Y=r,k.la=k.Y+"px Monaco, Lucida Console, Courier New"),g=q,k.C=f,k.W=g,k=c,e=Ec[e.type]+" ("+(e.Pd*c.ja.Rb/1024|0)+"Kb)",k.R.font=k.la,k.C-=k.R.measureText(e).width>>1,k.W+=(k.Y>>1)-2,Qb(k,e),k.za&&(k.R.restore(),k.za=!1)}}else Qb(c,"This space intentionally left blank");c.context.drawImage(c.da,0,0,c.da.width,c.da.height,c.Ib,c.Vb,c.ib,c.lb);c.Ra=!1}}h.Uc=function(){this.gd.length&&this.gd[0].Uc()};
|
||||
(r=g.ad,k.za=!0,k.R.save(),k.R.translate(f,q),k.R.rotate(-Math.PI/2),f=q=0),r<k.Y&&(k.Y=r,k.la=k.Y+"px Monaco, Lucida Console, Courier New"),g=q,k.C=f,k.W=g,k=c,e=Ec[e.type]+" ("+(e.Pd*c.ja.Rb/1024|0)+"Kb)",k.R.font=k.la,k.C-=k.R.measureText(e).width>>1,k.W+=(k.Y>>1)-2,Qb(k,e),k.za&&(k.R.restore(),k.za=!1)}}else Qb(c,"This space intentionally left blank");c.context.drawImage(c.da,0,0,c.da.width,c.da.height,c.Ib,c.Vb,c.ib,c.lb);c.Ra=!1}}
|
||||
h.Uc=function(){if(this.gd.length){var a=window.scrollX,b=window.scrollY;this.gd[0].Uc();window.scrollTo(a,b)}};
|
||||
h.Ub=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.xa[b]=c;a=!0;break;case "run":this.xa[b]=c;c.onclick=function(){var a;if(a=d.ia)if(a=d.ia,a.ra.hc)a=!0;else{var b=null,c,k=lb(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.ra.Ze);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.ra.hc);c++);c==k.length&&(b=a);Ca("The "+b.type+" component ("+b.id+") is not "+(b.ra.Ze?"powered yet":"ready yet"+(b.rg?" (waiting for notification)":""))+".");a=!1}a&&(d.ra.Ob?d.bc(!0):d.Ie(!0))};
|
||||
a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){fd(d,d.ba.Td<<1,!0)},c.textContent=this.ba.Ce.toFixed(2)+"Mhz",a=!0}return a};function gd(a,b){if(a.ra.Ob){var c=a.A-b;a.A-=c;a.cb-=c}}function hd(a,b,c){a.Zb+=b;c&&(a.cb=a.A=0)}
|
||||
function id(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ba.Td&&a.ba.me&&(d=a.ba.me/a.ba.tg);a.ba.Xi=Math.round(1E3/30);a.ba.gm=Math.floor(a.ba.Id/c*d);a.ba.sh=Math.floor(a.ba.Id/30*d);a.ba.Zi=Math.floor(a.ba.Id/60*d);a.ba.Yi=Math.floor(a.ba.Id/2*d);b||(a.ba.jf=a.ba.sh,a.ba.If=a.ba.Zi,a.ba.Hf=a.ba.Yi);a.ba.th=0}function cd(a,b){var c=a.Zb+a.Jb+a.cb-a.A;b&&1<a.ba.Td&&a.ba.me>a.ba.tg&&(c=Math.round(c/a.ba.Td));return c}function Vc(a){a.ba.me=0;a.Zb=a.Jb=a.cb=a.A=0;Xc(a);fd(a,1)}
|
||||
|
|
@ -99,7 +100,7 @@ h.restore=function(a){"number"==typeof a?this.load(a):(this.ga=a[0],this.Fa=a[1]
|
|||
function nd(a,b,c,d){void 0===c&&(c=!!(a.M.hb&1));a.cd=!1;if(c)if(a.load=a.sg,a.Wi=a.bm,a.Fc=a.Di,a.Gc=a.Fi,void 0===d&&(d=!!(a.M.ea&131072)),d)a.load=a.xa,a.Fc=a.P,a.Gc=a.ja,a.$b=a.Mc=3,a.fa=a.fd=2,a.B=a.Ga=65535,a.Za=65535,a.fc=a.Za+1,a.fd=a.fa,a.dc=-1,a.af=!1;else{if(!(a.ga&-4))a.Fc=a.ng,a.Gc=a.og;else if(a.type&4096){6144==(a.type&6656)&&(a.Fc=a.ng);if(a.type&2048||!(a.type&512))a.Gc=a.og;1024==(a.type&3072)&&(a.Fc==a.Di&&(a.Fc=a.Hk),a.Gc==a.Fi&&(a.Gc=a.Ik),a.cd=!0);b&&6>a.id&&a.ga&-4&&-1!==a.dc&&
|
||||
(c=a.dc+5,d=a.M.Wa(c),d&1||a.M.tc(c,d|1))}b&&(a.$b=a.ga&3,a.Mc=(a.Bb&24576)>>13,80386>a.M.na||!(a.ext&64)?(a.fa=2,a.B=65535):(a.fa=4,a.B=-1),a.fd=a.fa,a.Ga=a.B)}else a.load=a.mh,a.Wi=a.cm,a.Fc=a.Ei,a.Gc=a.Gi,a.$b=a.Mc=0,a.dc=-1,a.af=!1}
|
||||
function Kd(a){this.na=a.model||8088;var b=a.stepping;this.oc=this.na+(b?ca(b,16):0);b=0;switch(this.na){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Tc.call(this,a,b);this.Yf=61442;this.cc=1792;this.Vf=28672;this.Fd=4;this.wa=255;this.C=80286<=this.na?Fb:Db;this.W=Ld;this.eg=Md;this.fg=Nd;this.Ng=Od;if(80186<=this.na&&(this.W=Ld.slice(),this.eg=Md.slice(),this.fg=Nd.slice(),this.wa=31,this.W[15]=Pd,this.W[96]=Qd,this.W[97]=Rd,this.W[98]=Sd,this.W[99]=Pd,this.W[100]=Pd,this.W[101]=
|
||||
Pd,this.W[102]=Pd,this.W[103]=Pd,this.W[104]=Td,this.W[105]=Xd,this.W[106]=Yd,this.W[107]=Zd,this.W[108]=$d,this.W[109]=ae,this.W[110]=ge,this.W[111]=he,this.W[192]=ie,this.W[193]=je,this.W[200]=ke,this.W[201]=le,this.W[241]=me,this.eg[7]=ne,this.fg[7]=ne,80286<=this.na)){this.Yf=2;this.cc|=28672;this.Fd=0;this.W[15]=oe;this.Vb=pe.slice();for(a=0;a<this.Vb.length;a++)this.Vb[a]||(this.Vb[a]=qe);this.W[84]=re;this.W[99]=se;if(80386<=this.na){var c;this.Vf=0;this.cc|=196608;this.W[100]=te;this.W[101]=
|
||||
Pd,this.W[102]=Pd,this.W[103]=Pd,this.W[104]=Td,this.W[105]=Ud,this.W[106]=Yd,this.W[107]=Zd,this.W[108]=$d,this.W[109]=ae,this.W[110]=be,this.W[111]=he,this.W[192]=ie,this.W[193]=je,this.W[200]=ke,this.W[201]=le,this.W[241]=me,this.eg[7]=ne,this.fg[7]=ne,80286<=this.na)){this.Yf=2;this.cc|=28672;this.Fd=0;this.W[15]=oe;this.Vb=pe.slice();for(a=0;a<this.Vb.length;a++)this.Vb[a]||(this.Vb[a]=qe);this.W[84]=re;this.W[99]=se;if(80386<=this.na){var c;this.Vf=0;this.cc|=196608;this.W[100]=te;this.W[101]=
|
||||
ue;this.W[102]=ve;this.W[103]=we;for(c in w)this.Vb[+c]=w[c];80546<=this.oc&&80562>=this.oc&&(this.Vb[166]=xe,this.Vb[167]=ye)}}this.ie=[];this.je=[];this.le=0;Vc(this);this.ra.Rd=this.ra.Mi=!1;this.Pg=0;this.jd=this.ya=[];this.Pa=this.Rb=this.Ha=this.Gd=this.hd=this.Mb=this.qb=0;ze(this)}ib(Kd,Tc);function Ae(a,b,c,d){Oc((d?a.jd:a.ya)[b>>>a.Pa],c);d&&cc(a)}
|
||||
function Be(a){var b;if(a.ya===a.jd){a.ya=Array(a.Gd);a.ke=new Tb(null,0,0,5,null,a);Ub(a.ke,a.ma);for(b=0;b<a.Gd;b++)a.ya[b]=a.ke;a.rd=new Tb;a.Zf=Array(512);a.ye=0}else for(var c=0;c<a.Hd.length;c++){b=a.Hd[c];var d=a.ya[b];512>a.ye&&(a.Zf[a.ye++]=d);a.ya[b]=a.ke}a.Hd=[]}function cc(a){a.hb&-2147483648&&Be(a)}
|
||||
function Nc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.jd[(a.Ld+e&a.Mb)>>>a.Pa],g=f.Xd(e);if(!(g&1))return d||Ce.call(a,b,!1,c),a.rd;if(!(g&4)&&3==a.ta)return d||Ce.call(a,b,!0,c),a.rd;var k=(b&4190208)>>>10,g=a.jd[((g&-4096)+k&a.Mb)>>>a.Pa],q=g.Xd(k);if(!(q&1))return d||Ce.call(a,b,!1,c),a.rd;if(!(q&4)&&3==a.ta)return d||Ce.call(a,b,!0,c),a.rd;c=a.jd[((q&-4096)+(b&4095)&a.Mb)>>>a.Pa];if(d)return c;d=b>>>a.Pa;q=a.ya[d];b=b&-4096;var r;0<a.ye?(r=a.Zf[--a.ye],r.ih(b)):r=new Tb(b,0,0,6);b=r;b.Cd=c;b.Db=f;
|
||||
|
|
@ -107,8 +108,8 @@ b.A=e>>2;b.Eb=g;b.C=k>>2;Cb&&ic&&c.ha&&!c.controller&&!c.Re&&!c.Se?(b.eb=c.eb,b.
|
|||
function Ee(a,b){var c;switch(b){case 0:c=a.F;break;case 1:c=a.G;break;case 2:c=a.H;break;case 3:c=a.D;break;case 4:c=u(a);break;case 5:c=a.K;break;case 6:c=a.J;break;case 7:c=a.I}return c}function Fe(a,b,c){switch(b){case 0:a.F=c;break;case 1:a.G=c;break;case 2:a.H=c;break;case 3:a.D=c;break;case 4:t(a,c);break;case 5:a.K=c;break;case 6:a.J=c;break;case 7:a.I=c}}
|
||||
function ze(a){a.F=0;a.D=0;a.G=0;a.H=0;a.ib=0;a.K=0;a.J=0;a.I=0;a.Va=!1;a.la=a.Ba=0;a.xb=0;a.Og=0;a.pc=0;a.hb=65520;a.Oc=0;a.Od=1023;a.ea=a.Ra=0;a.Wc=a.ud=a.Vc=a.Xc=0;a.lb=-1;a.Lc=a.qd=-1;a.Ge=a.Y=-1;a.Ca=new md(a,1,"CS");a.Ab=new md(a,2,"DS");a.bb=new md(a,2,"ES");a.Aa=new md(a,3,"SS");t(a,0);xd(a,0);if(80386<=a.na){switch(a.oc){case 80562:case 80563:a.H=771;break;case 80578:a.H=772;break;case 80594:a.H=773;break;case 80595:case 80596:a.H=776}a.hb=16;a.ki=0;a.pe=0;a.Ld=0;a.Ma=[0,0,0,0,null,null,
|
||||
0,0];a.Be=[null,null,null,null,null,null,0,0];a.Sb=new md(a,2,"FS");a.Tb=new md(a,2,"GS");De(a)}a.of=new md(a,0,"NULL");a.O=a.Ab;a.P=a.Aa;a.V=a.La=0;a.Z=a.X=-1;a.od=a.of;a.za=0;if(80286>a.na)Id(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new md(a,5,"LDT",!0);a.Ya=new md(a,4,"TSS",!0);a.Ea=new md(a,6,"VER",!0);Id(a,65520,61440);var b,c=v(a);b=a.Ca;var d=-65536;80386>b.M.na&&(d&=16777215);b=b.Fa=d;a.Na=b+c|0;a.nf=b+a.Ca.Za|0}Hd(a,0);zd(a)}
|
||||
function Ge(a,b){b.ga&65528&&b.Mc<a.ta&&7168!=(b.Bb&7168)&&b.load(0)}function He(a){2==a.fd?(a.ic=a.va,a.Qa=A,a.Ta=Ie,a.Ib=Je,a.da=B,a.qa=Me,a.Oa=Ne):(a.ic=a.ua,a.Qa=C,a.Ta=Oe,a.Ib=Pe,a.da=D,a.qa=Qe,a.Oa=Re)}function Ad(a,b){a.fa!=b&&(a.La|=1024,a.fa=b,a.B=2==b?65535:-1,Se(a))}function Se(a){2==a.fa?(a.Ja=32768,a.vb=a.va,a.uc=a.pb):(a.Ja=-2147483648,a.vb=a.ua,a.uc=a.ub)}function Te(a){a.fd=a.Ca.fd;a.Ga=a.Ca.Ga;He(a);a.fa=a.Ca.fa;a.B=a.Ca.B;Se(a);a.La&=-3073}
|
||||
h.Qi=function(){var a=this.F+this.D+this.G+this.H+u(this)+this.K+this.J+this.I|0;return a=a+v(this)+this.Ca.ga+this.Ab.ga+this.Aa.ga+this.bb.ga+Gd(this)|0};function Ue(a,b,c){void 0===a.ie[b]&&(a.ie[b]=[]);a.ie[b].push(c)}function Ve(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function cf(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
|
||||
function Ge(a,b){b.ga&65528&&b.Mc<a.ta&&7168!=(b.Bb&7168)&&b.load(0)}function He(a){2==a.fd?(a.ic=a.va,a.Qa=A,a.Ta=Ie,a.Ib=Je,a.da=B,a.qa=Ke,a.Oa=Ne):(a.ic=a.ua,a.Qa=C,a.Ta=Oe,a.Ib=Pe,a.da=D,a.qa=Qe,a.Oa=Re)}function Ad(a,b){a.fa!=b&&(a.La|=1024,a.fa=b,a.B=2==b?65535:-1,Se(a))}function Se(a){2==a.fa?(a.Ja=32768,a.vb=a.va,a.uc=a.pb):(a.Ja=-2147483648,a.vb=a.ua,a.uc=a.ub)}function Te(a){a.fd=a.Ca.fd;a.Ga=a.Ca.Ga;He(a);a.fa=a.Ca.fa;a.B=a.Ca.B;Se(a);a.La&=-3073}
|
||||
h.Qi=function(){var a=this.F+this.D+this.G+this.H+u(this)+this.K+this.J+this.I|0;return a=a+v(this)+this.Ca.ga+this.Ab.ga+this.Aa.ga+this.bb.ga+Gd(this)|0};function Ue(a,b,c){void 0===a.ie[b]&&(a.ie[b]=[]);a.ie[b].push(c)}function Ve(a,b,c){void 0!==c&&(null==a.je[b]&&a.le++,a.je[b]=c)}function We(a,b){var c=a.je[b];null!=c&&(c(--a.le),delete a.je[b])}
|
||||
function df(a,b){for(var c=a.Ma[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ma[e],g=g&~(d>>2&3);b?a.ya[g>>>a.Pa].Nd(g&a.Ha,f,a):Oc(a.ya[g>>>a.Pa],f)}c>>=2;d>>=4}}function Lc(a,b,c,d){if(!(a.V&8192)&&a.Ma[7]&255){c--;var e=a.Ma[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var k=f>>2;if(b+c>=a.Ma[g]&&b<=a.Ma[g]+k){a.Ma[6]|=1<<g;a.za|=2;break}}e>>=2;f>>=4}}}
|
||||
function zd(a,b,c){void 0===b&&(b=!!(a.hb&1));void 0===c&&(c=!!(a.ea&131072));a.Ng=b&&!c?ef:Od;nd(a.Ca,!1,b,c);nd(a.Ab,!1,b,c);nd(a.Aa,!1,b,c);nd(a.bb,!1,b,c);80386<=a.na&&(nd(a.Sb,!1,b,c),nd(a.Tb,!1,b,c));Te(a)}
|
||||
h.save=function(){var a=new ff(this);gf(a,0,[this.F,this.D,this.G,this.H,u(this),this.K,this.J,this.I]);var b=v(this),c=this.Ca.save(),d=this.Ab.save(),e=this.Aa.save(),f=this.bb.save(),g;null!=this.Ec?(g=[this.hb,this.Ec,this.Ad,this.Oc,this.Od,this.Bc.save(),this.Ya.save(),this.Ra],80386<=this.na&&(g.push(this.ki),g.push(this.pe),g.push(this.Ld),g.push(this.Ma),g.push(this.Be))):g=null;b=[b,c,d,e,f,g,Gd(this)];80386<=this.na&&(b.push(this.Sb.save()),b.push(this.Tb.save()));gf(a,1,b);gf(a,2,[this.O.nc,
|
||||
|
|
@ -179,7 +180,7 @@ function Sh(a,b){this.A-=14+(-1===this.Z?0:2);Df(this);-1!==this.Ea.load(b)&&thi
|
|||
function Wh(a,b){if(-1===this.Z)return qe.call(this),a;Ed(this,this.va(this.Z+this.fa));this.A-=this.C.lf;return b}function Xh(a,b){if(-1===this.Z)return qe.call(this),a;var c=this.va(this.Z+this.fa);this.Sb.load(c);this.A-=this.C.lf;return b}function Yh(a,b){if(-1===this.Z)return qe.call(this),a;var c=this.va(this.Z+this.fa);this.Tb.load(c);this.A-=this.C.lf;return b}
|
||||
function Zh(a,b){this.A-=14+(-1===this.Z?0:2);if(b&65528&&-1!==this.Ea.load(b)&&(7168==(this.Ea.Bb&7168)||this.Ea.Mc>=this.ta)&&this.Ea.Mc>=(b&3))return Ff(this),this.Ea.Za;Df(this);return a}function $h(a,b){if(-1===this.Z)return qe.call(this),a;xd(this,this.va(this.Z+this.fa));this.A-=this.C.lf;return b}function ai(a,b){this.A-=-1===this.X?-1===this.Z?this.C.Lj:this.C.Kj:this.C.Ij;return b}function bi(a,b){return b}function ci(){-1!==this.X&&Ad(this,2);return ai.call(this,0,this.xb)}
|
||||
function Ph(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,k=e>>>16,e=(e&65535)+c*f;this.la=e<<16|g&65535;this.Ba=k+((e>>>16)+d*f)|0}else this.la=a*b|0,this.Ba=0}function di(a,b){this.A-=-1===this.X?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return vf(this,a|b,128)}function ei(a,b){this.A-=-1===this.X?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return vf(this,a|b,this.Ja)&this.B}
|
||||
function fi(a){this.Y=this.ka;var b=sd(this),c=sd(this);a&&t(this,u(this)+a);Id(this,b,c,!1)&&(a&&t(this,u(this)+a),Ge(this,this.Ab),Ge(this,this.bb),80386<=this.na&&(Ge(this,this.Sb),Ge(this,this.Tb)));2==a&&this.le&&cf(this,this.Na);this.Y=-1}function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.X?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}
|
||||
function fi(a){this.Y=this.ka;var b=sd(this),c=sd(this);a&&t(this,u(this)+a);Id(this,b,c,!1)&&(a&&t(this,u(this)+a),Ge(this,this.Ab),Ge(this,this.bb),80386<=this.na&&(Ge(this,this.Sb),Ge(this,this.Tb)));2==a&&this.le&&We(this,this.Na);this.Y=-1}function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.X?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}
|
||||
function hi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ja|63,!0);this.A-=-1===this.X?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&this.B}function ii(a){this.V|=1;this.Ta[this.ca()].call(this,a);this.A-=-1===this.Z?4:5}function ji(){return uf(this)?1:0}function ki(){return pf(this)?1:0}function Ci(){return pf(this)?0:1}function Di(){return sf(this)?1:0}function Ei(){return sf(this)?0:1}function Fi(){return pf(this)||sf(this)?1:0}function Gi(){return pf(this)||sf(this)?0:1}
|
||||
function Hi(){return tf(this)?1:0}function Ii(){return tf(this)?0:1}function Ji(){return qf(this)?1:0}function Ki(){return qf(this)?0:1}function Li(){return!tf(this)!=!uf(this)?1:0}function Mi(){return!tf(this)!=!uf(this)?0:1}function Ni(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Oi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Pi(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;vf(this,a,32768,d&32768)}return a}
|
||||
function Qi(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a}function Ri(a,b){return Pi.call(this,a,b,this.ca())}function Si(a,b){return Qi.call(this,a,b,this.ca())}function Ti(a,b){return Pi.call(this,a,b,this.G&31)}function Ui(a,b){return Qi.call(this,a,b,this.G&31)}function Vi(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}
|
||||
|
|
@ -193,10 +194,10 @@ function p(a,b,c,d){var e=!1;this.ra.Rd?80186<=this.na&&(e=!0,0>this.lb?(-1!=thi
|
|||
k|-2147483648)&&(d=!0);if(n(this,k)||d){var r=this.ra.Ob,f="Fault "+ga(f)+(null!=g?" ("+ia(g)+")":"")+" on opcode "+ga(q);d&&r&&(f+=" (blocked by PCjs Debugger)");this.ma?(wb(this,f,d||k,!0),d&&(d=r,this.ma.bc())):(this.Ua(f),this.bc())}if(d&&e)throw-1;if(e)throw this.lb=a,Rh.call(this,a,b,c),this.Ge=this.Na,this.V=1==a?this.V|8192:this.V|4096,a;}function Ce(a,b,c){this.pe=a;a=0;b&&(a|=1);c&&(a|=2);3==this.ta&&(a|=4);p.call(this,14,a)}function oe(){this.Vb[this.ca()].call(this)}
|
||||
function re(){Fd(this,u(this)&this.B);this.A-=this.C.Sc}function Qd(){this.Y=this.ka;var a=u(this)&this.B;Fd(this,this.F&this.B);Fd(this,this.G&this.B);Fd(this,this.H&this.B);Fd(this,this.D&this.B);Fd(this,a);Fd(this,this.K&this.B);Fd(this,this.J&this.B);Fd(this,this.I&this.B);this.A-=this.C.Sj;this.Y=-1}
|
||||
function Rd(){this.Y=this.ka;this.I=this.I&~this.B|sd(this);this.J=this.J&~this.B|sd(this);this.K=this.K&~this.B|sd(this);t(this,u(this)+this.fa);this.D=this.D&~this.B|sd(this);this.H=this.H&~this.B|sd(this);this.G=this.G&~this.B|sd(this);this.F=this.F&~this.B|sd(this);this.A-=this.C.Qj;this.Y=-1}function Sd(){this.da[this.ca()].call(this,sh)}function se(){!(this.hb&1)||this.ea&131072?p.call(this,6):this.qa[this.ca()].call(this,rh)}
|
||||
function te(){this.V|=20;this.O=this.P=this.Sb;this.A-=this.C.md}function ue(){this.V|=20;this.O=this.P=this.Tb;this.A-=this.C.md}function ve(){this.V|=1024;this.La&1024||(this.fa^=6,this.B^=-65536,Se(this));this.A-=this.C.md}function we(){this.V|=2048;this.La&2048||(this.fd^=6,this.Ga^=-65536,He(this));this.A-=this.C.md}function Td(){Fd(this,this.Sa());this.A-=this.C.Sc}function Xd(){this.da[this.ca()].call(this,Mh)}function Yd(){Fd(this,this.L());this.A-=this.C.Sc}
|
||||
function te(){this.V|=20;this.O=this.P=this.Sb;this.A-=this.C.md}function ue(){this.V|=20;this.O=this.P=this.Tb;this.A-=this.C.md}function ve(){this.V|=1024;this.La&1024||(this.fa^=6,this.B^=-65536,Se(this));this.A-=this.C.md}function we(){this.V|=2048;this.La&2048||(this.fd^=6,this.Ga^=-65536,He(this));this.A-=this.C.md}function Td(){Fd(this,this.Sa());this.A-=this.C.Sc}function Ud(){this.da[this.ca()].call(this,Mh)}function Yd(){Fd(this,this.L());this.A-=this.C.Sc}
|
||||
function Zd(){this.da[this.ca()].call(this,Kh)}function $d(){var a=1,b=0,c=this.Ga,d=5;this.La&192&&(a=this.G&c,b=1,this.La&256&&(d=4));if(a--){var e=this.H&65535;Hf(this,e,1,!0)&&(e=qc(this.ja,e,1,this.Na-b-1),this.tc(this.bb.Gc(this.I&c,1),e),this.I=this.I&~c|this.I+(this.ea&1024?-1:1)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(nf(this),this.V|=256))}}
|
||||
function ae(){var a=1,b=0,c=this.Ga,d=5;this.La&192&&(a=this.G&c,b=1,this.La&256&&(d=4));if(a--){var e=this.H&65535;Hf(this,e,this.fa,!0)&&(e=qc(this.ja,e,this.fa,this.Na-b-1),this.uc(this.bb.Gc(this.I&c,this.fa),e),this.I=this.I&~c|this.I+(this.ea&1024?-this.fa:this.fa)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(nf(this),this.V|=256))}}
|
||||
function ge(){var a=1,b=0,c=this.Ga,d=5;this.La&192&&(a=this.G&c,b=1,this.La&256&&(d=4));if(a--){var e=this.H&65535;if(Hf(this,e,1,!1)){var f=this.Wa(this.Ab.Fc(this.J&c,1));uc(this.ja,e,1,f,this.Na-b-1);this.J=this.J&~c|this.J+(this.ea&1024?-1:1)&c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(nf(this),this.V|=256)}}}
|
||||
function be(){var a=1,b=0,c=this.Ga,d=5;this.La&192&&(a=this.G&c,b=1,this.La&256&&(d=4));if(a--){var e=this.H&65535;if(Hf(this,e,1,!1)){var f=this.Wa(this.Ab.Fc(this.J&c,1));uc(this.ja,e,1,f,this.Na-b-1);this.J=this.J&~c|this.J+(this.ea&1024?-1:1)&c;this.G=this.G&~c|this.G-b&c;this.A-=d;a&&(nf(this),this.V|=256)}}}
|
||||
function he(){var a=1,b=0,c=this.Ga,d=5;this.La&192&&(a=this.G&c,b=1,this.La&256&&(d=4));if(a--){var e=Bd(this,this.Ab,this.J&c),f=this.H&65535;Hf(this,f,this.fa,!1)&&(uc(this.ja,f,this.fa,e,this.Na-b-1),this.J=this.J&~c|this.J+(this.ea&1024?-this.fa:this.fa)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(nf(this),this.V|=256))}}function sj(){var a=this.L();uf(this)?(kf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}
|
||||
function tj(){var a=this.L();uf(this)?this.A-=this.C.gb:(kf(this,v(this)+a),this.A-=this.C.fb)}function uj(){var a=this.L();pf(this)?(kf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function vj(){var a=this.L();pf(this)?this.A-=this.C.gb:(kf(this,v(this)+a),this.A-=this.C.fb)}function wj(){var a=this.L();sf(this)?(kf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function xj(){var a=this.L();sf(this)?this.A-=this.C.gb:(kf(this,v(this)+a),this.A-=this.C.fb)}
|
||||
function yj(){var a=this.L();pf(this)||sf(this)?(kf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function zj(){var a=this.L();pf(this)||sf(this)?this.A-=this.C.gb:(kf(this,v(this)+a),this.A-=this.C.fb)}function Aj(){var a=this.L();tf(this)?(kf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}function Bj(){var a=this.L();tf(this)?this.A-=this.C.gb:(kf(this,v(this)+a),this.A-=this.C.fb)}function Cj(){var a=this.L();qf(this)?(kf(this,v(this)+a),this.A-=this.C.fb):this.A-=this.C.gb}
|
||||
|
|
@ -235,7 +236,7 @@ this.D&-256|this.ca();this.A-=this.C.jc},function(){this.F=this.F&-65281|this.ca
|
|||
this.D&~this.B|this.Sa();this.A-=this.C.jc},function(){t(this,u(this)&~this.B|this.Sa());this.A-=this.C.jc},function(){this.K=this.K&~this.B|this.Sa();this.A-=this.C.jc},function(){this.J=this.J&~this.B|this.Sa();this.A-=this.C.jc},function(){this.I=this.I&~this.B|this.Sa();this.A-=this.C.jc},Rj,Sj,Rj,Sj,function(){this.da[this.ca()].call(this,Wh)},function(){this.da[this.ca()].call(this,Uh)},function(){this.V|=1;this.Ib[this.ca()].call(this,Zj,this.ca)},function(){this.V|=1;this.Oa[this.ca()].call(this,
|
||||
Zj,this.Sa)},Tj,Uj,Tj,Uj,function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.xj;this.lb=-1;Rh.call(this,3,null,a)}},function(){var a=this.ca();if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var b;a:{b=this.ie[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.Na)){b=!1;break a}this.ra.Mi&&n(this,16)&&ak(this.ma,a,this.Na);b=!0}b?(this.lb=-1,Rh.call(this,a,null,0)):this.A--}},function(){if(uf(this))if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.yj;
|
||||
this.lb=-1;Rh.call(this,4,null,a)}else this.A-=this.C.zj},function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{this.Y=this.ka;this.A-=this.C.vj;if(this.hb&1&&this.ea&16384){var a=this.va(this.Ya.Fa+0);yd(this.Ca,a,!1)}else{var a=this.ta,b=sd(this),c=sd(this),d=sd(this);if(this.ea&131072)d=d&131071|this.ea&-131072;else if(d&131072){var e=sd(this),f=sd(this),g=sd(this),k=sd(this),q=sd(this),r=sd(this);zd(this,!0,!0);xd(this,f);t(this,e);Ed(this,g);Dd(this,k);this.Sb.load(q);this.Tb.load(r)}null!=
|
||||
Id(this,b,c,!1)&&(Hd(this,d,a),this.le&&cf(this,this.Na))}this.Y=-1}},function(){this.Ib[this.ca()].call(this,Oj,nj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Pj:Qj,nj)},function(){this.Ib[this.ca()].call(this,Oj,oj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Pj:Qj,oj)},function(){var a=this.ca();if(a){var b=this.F&255;this.F=this.F&-65536|b/a<<8|b%a;vf(this,this.F,128);this.A-=this.C.aj}else mj.call(this)},function(){var a=this.F&255,b=(this.F>>8&255)*this.ca()|0,c=a+b|0;this.F=
|
||||
Id(this,b,c,!1)&&(Hd(this,d,a),this.le&&We(this,this.Na))}this.Y=-1}},function(){this.Ib[this.ca()].call(this,Oj,nj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Pj:Qj,nj)},function(){this.Ib[this.ca()].call(this,Oj,oj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Pj:Qj,oj)},function(){var a=this.ca();if(a){var b=this.F&255;this.F=this.F&-65536|b/a<<8|b%a;vf(this,this.F,128);this.A-=this.C.aj}else mj.call(this)},function(){var a=this.F&255,b=(this.F>>8&255)*this.ca()|0,c=a+b|0;this.F=
|
||||
this.F&-65536|c&255;of(this,a,b,c,191);this.A-=this.C.$i},function(){this.F=this.F&-256|(pf(this)?255:0);this.A-=2},function(){this.F=this.F&-256|Jf(this,this.O,this.D+(this.F&255)&65535);this.A-=this.C.Zj},function(){Vj.call(this,216)},function(){Vj.call(this,217)},function(){Vj.call(this,218)},function(){Vj.call(this,219)},function(){Vj.call(this,220)},function(){Vj.call(this,221)},function(){Vj.call(this,222)},function(){Vj.call(this,223)},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&
|
||||
~this.Ga|b;b&&!sf(this)?(kf(this,v(this)+a),this.A-=this.C.Gj):this.A-=this.C.Hh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b&&sf(this)?(kf(this,v(this)+a),this.A-=this.C.Ih):this.A-=this.C.Jh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b?(kf(this,v(this)+a),this.A-=this.C.Fj):this.A-=this.C.Hh},function(){var a=this.L();this.G&this.Ga?this.A-=this.C.Jh:(kf(this,v(this)+a),this.A-=this.C.Ih)},function(){var a=this.ca();Hf(this,a,1,!0)&&(this.F=
|
||||
this.F&-256|qc(this.ja,a,1,this.Na-2)&255,this.A-=this.C.Ch)},function(){var a=this.ca();Hf(this,a,this.fa,!0)&&(this.F=this.F&~this.B|qc(this.ja,a,this.fa,this.Na-2)&this.B,this.A-=this.C.Ch)},function(){var a=this.ca();Hf(this,a,1,!1)&&(uc(this.ja,a,1,this.F&255,this.Na-2),this.A-=this.C.Qh)},function(){var a=this.ca();Hf(this,a,this.fa,!1)&&(uc(this.ja,a,this.fa,this.F&this.B,this.Na-2),this.A-=this.C.Qh)},function(){var a=this.Sa(),b=v(this),a=b+a;Fd(this,b);kf(this,a);this.A-=this.C.ej},function(){var a=
|
||||
|
|
@ -466,7 +467,7 @@ t(this,u(this)&~this.B|a)},function(a){a=a.call(this,u(this)&this.B,this.D&this.
|
|||
this.K&~this.B|a},function(a){a=a.call(this,this.K&this.B,this.G&this.B);this.K=this.K&~this.B|a},function(a){a=a.call(this,this.K&this.B,this.H&this.B);this.K=this.K&~this.B|a},function(a){a=a.call(this,this.K&this.B,this.D&this.B);this.K=this.K&~this.B|a},function(a){a=a.call(this,this.K&this.B,u(this)&this.B);this.K=this.K&~this.B|a},function(a){a=a.call(this,this.K&this.B,this.K&this.B);this.K=this.K&~this.B|a},function(a){a=a.call(this,this.K&this.B,this.J&this.B);this.K=this.K&~this.B|a},function(a){a=
|
||||
a.call(this,this.K&this.B,this.I&this.B);this.K=this.K&~this.B|a},function(a){a=a.call(this,this.J&this.B,this.F&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.J&this.B,this.G&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.J&this.B,this.H&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.J&this.B,this.D&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.J&this.B,u(this)&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.J&this.B,
|
||||
this.K&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.J&this.B,this.J&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.J&this.B,this.I&this.B);this.J=this.J&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.F&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.G&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.H&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.D&this.B);this.I=
|
||||
this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,u(this)&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.K&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.J&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.I&this.B);this.I=this.I&~this.B|a}],Me=[function(a){a=a.call(this,N(this,this.D+this.J),this.F&this.B);R(this,a);this.A-=this.C.oa},function(a){a=a.call(this,N(this,this.D+this.I),this.F&this.B);R(this,
|
||||
this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,u(this)&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.K&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.J&this.B);this.I=this.I&~this.B|a},function(a){a=a.call(this,this.I&this.B,this.I&this.B);this.I=this.I&~this.B|a}],Ke=[function(a){a=a.call(this,N(this,this.D+this.J),this.F&this.B);R(this,a);this.A-=this.C.oa},function(a){a=a.call(this,N(this,this.D+this.I),this.F&this.B);R(this,
|
||||
a);this.A-=this.C.pa},function(a){a=a.call(this,O(this,this.K+this.J),this.F&this.B);R(this,a);this.A-=this.C.pa},function(a){a=a.call(this,O(this,this.K+this.I),this.F&this.B);R(this,a);this.A-=this.C.oa},function(a){a=a.call(this,N(this,this.J),this.F&this.B);R(this,a);this.A-=this.C.aa},function(a){a=a.call(this,N(this,this.I),this.F&this.B);R(this,a);this.A-=this.C.aa},function(a){a=a.call(this,N(this,S(this)),this.F&this.B);R(this,a);this.A-=this.C.Ka},function(a){a=a.call(this,N(this,this.D),
|
||||
this.F&this.B);R(this,a);this.A-=this.C.aa},function(a){a=a.call(this,N(this,this.D+this.J),this.G&this.B);R(this,a);this.A-=this.C.oa},function(a){a=a.call(this,N(this,this.D+this.I),this.G&this.B);R(this,a);this.A-=this.C.pa},function(a){a=a.call(this,O(this,this.K+this.J),this.G&this.B);R(this,a);this.A-=this.C.pa},function(a){a=a.call(this,O(this,this.K+this.I),this.G&this.B);R(this,a);this.A-=this.C.oa},function(a){a=a.call(this,N(this,this.J),this.G&this.B);R(this,a);this.A-=this.C.aa},function(a){a=
|
||||
a.call(this,N(this,this.I),this.G&this.B);R(this,a);this.A-=this.C.aa},function(a){a=a.call(this,N(this,S(this)),this.G&this.B);R(this,a);this.A-=this.C.Ka},function(a){a=a.call(this,N(this,this.D),this.G&this.B);R(this,a);this.A-=this.C.aa},function(a){a=a.call(this,N(this,this.D+this.J),this.H&this.B);R(this,a);this.A-=this.C.oa},function(a){a=a.call(this,N(this,this.D+this.I),this.H&this.B);R(this,a);this.A-=this.C.pa},function(a){a=a.call(this,O(this,this.K+this.J),this.H&this.B);R(this,a);this.A-=
|
||||
|
|
@ -935,7 +936,7 @@ function bn(a,b){if(1==b)return a.Ja[0]=tm[0],a.Ja[1]=tm[7],a.Ja;if(2==b){var c=
|
|||
(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],k=g<<2&252,q=g>>4&252,g=g>>10&252):(k=(g&4?170:0)|(g&32?85:0),q=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ja[f]=[k,q,g,255]}a.xb=!0}return a.Ja}function Fl(a,b,c,d){a.Lc=b;a.rd=c;a.rb=d}
|
||||
function Ym(a,b){var c=!1;if(window&&a.Lc&&(!b||a.W)){var d=0,e=a.rb?a.rb:8,f=bn(a);cn(a,3,a.rd[0],d,e,8,a.Lc,f)&&(c=!0);d=a.rb?0:2048;e=a.rb?a.rb:9;cn(a,1,a.rd[1],d,e,14,a.Lc,rm,sm)&&(c=!0);a.rb&&cn(a,a.nb,a.rd[1],0,a.rb,14,a.Lc,f)&&(c=!0)}return c}function cn(a,b,c,d,e,f,g,k,q){var r=!1;null!=c&&(dn(a,b,c,d,e,f,g,k,q)&&(r=!0),a.Pg&&dn(a,b<<1,c,d,e,f,g,k,q)&&(r=!0));return r}
|
||||
function dn(a,b,c,d,e,f,g,k,q){var r=!1,x=b&1?0:1,z=a.Va[b],y=16>k.length?k.length:16;z||(z={Qc:e<<x,Rc:f<<x,Me:Array(y),ui:k.slice(0,y),wf:q,Sg:Array(y)});for(q=0;q<y;q++){var I=k[q],P=z.Me[q]?z.ui[q]:[];if(I[0]!==P[0]||I[1]!==P[1]||I[2]!==P[2]){var r=z,P=q,F=x,L=c,V=d,Y=e,ha=f,da=g,eb=[0,0,0,0],va=document.createElement("canvas");va.width=r.Qc<<4;va.height=r.Rc<<4;for(var pa=va.getContext("2d"),Oa=void 0,ab=void 0,Ja=void 0,Vb=8>ha||!V?ha:8,Da=pa.createImageData(r.Qc,r.Rc),Oa=0;256>Oa;Oa++){for(Ja=
|
||||
0;Ja<ha;Ja++)for(var Ud=r.wf&&P&1&&Ja>=ha-2,Wc=da[Ja<Vb?L+Oa*Vb+Ja:V+Oa*Vb+Ja-Vb],Vd=0;Vd<=F;Vd++)for(ab=0;ab<Y;ab++){var Ke=ab<<F,Wd=(Ja<<F)+Vd,Le=Ud||Wc&128>>(8<=ab&&192<=Oa&&223>=Oa?7:ab)?I:eb;en(Da,Ke,Wd,Le);F&&en(Da,Ke+1,Wd,Le)}pa.putImageData(Da,(Oa&15)*r.Qc,(Oa>>4)*r.Rc)}r.Me[P]="#"+l(I[0],2)+l(I[1],2)+l(I[2],2);r.ui[P]=I;r.Sg[P]=va;r=!0}}a.Va[b]=z;return r}function fn(a){0<a.cb||0<=a.ta?0>a.Yb&&(a.Yb=0):a.Yb=-1}
|
||||
0;Ja<ha;Ja++)for(var Vd=r.wf&&P&1&&Ja>=ha-2,Wc=da[Ja<Vb?L+Oa*Vb+Ja:V+Oa*Vb+Ja-Vb],Wd=0;Wd<=F;Wd++)for(ab=0;ab<Y;ab++){var Le=ab<<F,Xd=(Ja<<F)+Wd,Me=Vd||Wc&128>>(8<=ab&&192<=Oa&&223>=Oa?7:ab)?I:eb;en(Da,Le,Xd,Me);F&&en(Da,Le+1,Xd,Me)}pa.putImageData(Da,(Oa&15)*r.Qc,(Oa>>4)*r.Rc)}r.Me[P]="#"+l(I[0],2)+l(I[1],2)+l(I[2],2);r.ui[P]=I;r.Sg[P]=va;r=!0}}a.Va[b]=z;return r}function fn(a){0<a.cb||0<=a.ta?0>a.Yb&&(a.Yb=0):a.Yb=-1}
|
||||
function an(a){if(a.W){for(var b=10;15>=b;b++)if(null==a.C.zb[b])return;var c=a.C.zb[10],b=c&31,d=a.C.zb[11]&31,e=a.C.zb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)gn(a);else{c=a.C.zb[15]+((a.C.zb[14]&63)<<8);a.ta!=c&&(gn(a),a.ta=c);d=d-b+1;if(a.fg!=b||a.ye!=d)a.fg=b,a.ye=d;a.ib=e+1;fn(a)}}}
|
||||
function gn(a){if(0<=a.ta){if(void 0!==a.ka){var b=a.ka[a.ta];if(b&131072){var b=b&-131073,c=a.ta%a.P,d=a.ta/a.P|0;a.W&&a.Va[a.W]&&(a.qb&&hn(a,c,d,b,a.qb),hn(a,c,d,b));a.ka[a.ta]=b}}a.ta=-1}}
|
||||
function En(a){var b,c=a.C;a.Be=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.nb==Gl&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Be=!0));b|=e}return b}
|
||||
|
|
@ -987,7 +988,7 @@ h.Jc=function(a,b,c,d){this.ia=a;this.ja=b;this.M=c;this.ma=d;for(b=null;b=Lb(a,
|
|||
h.kc=function(a){return a?this.save():!0};h.reset=function(){eo(this)};h.save=function(){var a=new ff(this),b=0,c=[];c[b++]=this.Ic;c[b++]=this.P;c[b++]=this.X;c[b++]=this.W;c[b++]=this.Y;c[b++]=this.da;c[b++]=this.ka;c[b]=this.O;gf(a,0,c);return a.data()};h.restore=function(a){return eo(this,a[0])};function eo(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Ic=d;a.P=b[c++];a.X=b[c++];a.W=b[c++];a.Y=b[c++];a.da=b[c++];a.ka=b[c++];a.O=b[c];return!0}h.Sf=function(a){this.la=a};
|
||||
function ao(a){if(!a.qa)for(var b=0;b<a.A.length;b++)fo(a,a.A[b])&&(a.qa=!0)}function bo(a){if(a.qa)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function fo(a,b){return b?(b.addEventListener("mousemove",function(b){go(a,b)},!1),b.addEventListener("mousedown",function(b){go(a,b,!0)},!1),b.addEventListener("mouseup",function(b){go(a,b,!1)},!1),b.style.cursor="none",!0):!1}
|
||||
function go(a,b,c){if(void 0!==c){var d;!(d=!1!==a.la)&&(d=a.C.length)&&(d=a.C[0],d=d.Og?d.ze(!0):!1);d||(a.la=null);a.ge(b.button,c)}else{if(0>a.P||0>a.X)a.P=b.clientX,a.X=b.clientY;a.la?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.P,d=b.clientY-a.X);a.P=b.clientX;a.X=b.clientY;a.Ef(c,d,a.P,a.X)}}
|
||||
h.ge=function(a,b){if(this.Ic&&this.M&&this.M.ra.Ob){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case Wm:this.da!=b&&(this.da=b,ho(this,c));break;case 2:this.ka!=b&&(this.ka=b,ho(this,c))}}};h.Ef=function(a,b,c,d){this.Ic&&this.M&&this.M.ra.Ob&&(a||b)&&(this.W=a,this.Y=b,ho(this,null,c,d))};
|
||||
h.ge=function(a,b){if(this.Ic&&this.M&&this.M.ra.Ob){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case Wm:if(this.da!=b){this.da=b;ho(this,c);return}break;case 2:if(this.ka!=b){this.ka=b;ho(this,c);return}}wb(this,c+": ignored")}};h.Ef=function(a,b,c,d){this.Ic&&this.M&&this.M.ra.Ob&&(a||b)&&(this.W=a,this.Y=b,ho(this,null,c,d))};
|
||||
function ho(a,b,c,d){var e=64|(a.da?32:0)|(a.ka?16:0)|(a.Y&192)>>4|(a.W&192)>>6,f=a.W&63,g=a.Y&63;n(a,8388608)&&wb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+ga(e)+","+ga(f)+","+ga(g)+"]",0,!0);Wn(a.R,[e,f,g]);a.W=a.Y=0}Ua(function(){for(var a=sb(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new co(d);rb(d,c)}});
|
||||
function io(a,b,c){Za.call(this,"Disk",{id:a.re+".disk"+l(++jo,4)},io,2097152);this.controller=a;this.ia=a.ia;this.ma=a.ma;this.C=b;this.P=b.name;this.$e=b.$e;this.qg=this.O=!1;ko(this,c,b.Gb,b.yb,b.ob,b.$a);this.W=[];this.ka=[];this.ja=null;this.qa=0;this.la=!1;zb(this)}var jo=0;ib(io);function lo(a,b,c,d,e,f){this.Da=a;this.nc=c;this.Wg=d;this.Ci=e;this.te=f}var mo=[0,2],no=[24,2],oo=[60,4],po=[0,2],qo=[4,2],ro=[6,2],so=[28,2],to=[32,2],uo=[34,2],vo=[38,2],wo=[44,4],xo=[50,2];
|
||||
function yo(a,b,c){var d;c=c||2;var e=b&511,f=zo(a.Da,a.te[b>>9]);if(f){if(e+c<=f.length)return Ao(a.Da,f,e,c);for(e=d=0;c--;)d|=yo(a,b++,1)<<e,e+=8}return d}function Bo(a,b,c){return yo(a,b[0]+(c||0),b[1])}function Co(a,b,c){for(var d=0;!c||b<c;){var e=yo(a,b,1);if(!e)break;var f;f=a;var g=b+1,k=e,q="";for(k||(k=-1);k--;){var r=yo(f,g++,1);if(!r)break;q+=String.fromCharCode(r)}f=q;if(!f)break;b+=1+e;if(d){if(e=yo(a,b),g=a.A[e])g=g[0],a.zd[g]&&a.zd[g].se[e].push(f)}else c||(a.dg=f);b+=2;d++}}
|
||||
|
|
@ -1186,22 +1187,22 @@ zq(a,g[1],!0);if(z)if(a.Ba=z,void 0===g[2])a.U("begin assemble at "+sq(z)),a.Ma=
|
|||
a.U("\tbc [a]\tclear breakpoint at addr [a]"),a.U("\tbl\tlist all breakpoints"),a.U("\tbn [n]\tbreak after [n] instruction(s)");else{var V=P.charAt(1);if("l"==V){var Y=0,Y=Y+Qq(a,a.A),Y=Y+Qq(a,a.za);(Y+=Qq(a,a.la))||a.U("no breakpoints")}else if("n"==V)a.Va=eq(a,F),a.U("break after "+a.Va+" instruction(s)");else if(void 0===F)a.U("missing breakpoint address");else{var ha={};if("*"!=F&&(ha=zq(a,F,!0,!0),!ha))break a;F=null==ha.Xa?F:ia(ha.Xa);"c"==V?null==ha.Xa?(Kp(a),a.U("all breakpoints cleared")):
|
||||
rq(a,a.A,ha)||rq(a,a.za,ha)||rq(a,a.la,ha)||a.U("breakpoint missing: "+sq(ha)):"i"==V?a.U("breakpoint "+(oc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (input)"):"o"==V?a.U("breakpoint "+(sc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (output)"):null!=ha.Xa&&(Cq(a,ha,L),"p"==V?a.Nd(a.A,ha):"r"==V?a.Nd(a.za,ha):"w"==V?a.Nd(a.la,ha):a.U("unknown breakpoint command: "+V))}}}break;case "c":fr(a);break;case "d":a:{var da=g,eb,va=da[0],pa=da[1],Oa=da[2],ab=da[3];if("?"==pa){var Ja="";for(eb in Xp)a.ib[eb]&&
|
||||
(Ja&&(Ja+=","),Ja+=eb);Ja+=",state,symbols";a.U("dump memory commands:");a.U("\tdb [a] [#] dump # bytes at address a");a.U("\tdw [a] [#] dump # words at address a");a.U("\tdd [a] [#] dump # dwords at address a");a.U("\tdh [#] [#] dump # instructions from history");a.U("\tds [#] dump descriptor info for selector #");Ja.length&&a.U("dump extension commands:\n\t"+Ja)}else if("state"==pa){var Vb=nr(a.ia,!0);"console"==Oa?console.log(Vb):(fr(a),a.U(Vb))}else if("symbols"==pa)for(var Da=
|
||||
0;Da<a.C.length;Da++){var Ud=a.C[Da],Wc;for(Wc in Ud.Md)if("."!=Wc.charAt(0)){var Vd=Ud.Md[Wc],Ke=Vd.o;if(void 0!==Ke){var Wd=Vd.s;void 0===Wd&&(Wd=Ud.ga);var Le=Ud.Md[Wc].l;Le&&(Wc=Le);a.U(kq(Ke,Wd)+" "+Wc)}}}else{if("ds"==va||"dg"==va||"dl"==va)va="d",da=[va,"desc",pa];"d"==va&&"page"==pa&&(va="dp",da.shift());if("dp"==va){da.shift();var li=da[0];if(li){var We=a.ic(zq(a,li));if(-1===We)a.U("invalid address: "+li);else{var be,La=null;if(80386<=a.M.na){var ce=a.ja,La={};La.bk=(We&-4194304)>>>20;La.wi=
|
||||
a.M.Ld+La.bk;La.Db=ce.ya[(La.wi&ce.Mb)>>>ce.Pa];La.Ui=La.Db.Xd(La.bk);La.ck=(We&4190208)>>>10;La.xi=(La.Ui&-4096)+La.ck;La.Eb=ce.ya[(La.xi&ce.Mb)>>>ce.Pa];La.Vi=La.Eb.Xd(La.ck);La.Ek=(La.Vi&-4096)+(We&4095)}if(be=La){a.U("linear PDE addr PDE PTE addr PTE physical");a.U("--------- ---------- -------- ---------- -------- ----------");var td="%"+l(We),td=td+(" %%"+Eq(be.wi,be.Ui)),td=td+(" %%"+Eq(be.xi,be.Vi,!0)),td=td+(" %%"+l(be.Ek));a.U(td)}else a.U("unsupported operation")}}else a.U("missing address")}else{if("d"==
|
||||
va){if("disk"==pa){da[0]="l";da[1]="json";jr(a,da);break a}for(eb in Xp)if(da[1]==eb){var jn=a.ib[eb];jn?(da.shift(),da.shift(),jn(da)):a.U("no dump registered for "+pa);break a}pa||(va=a.Lc||"db")}else a.Lc=va;if("dh"==va){var kn=pa,ln=Oa,mn="",nn=0,tb=a.Oa,xc=a.qa;if(xc.length){var Eb=+kn||a.Zb,de=+ln||10;isNaN(Eb)?Eb=de:mn="more ";Eb>xc.length&&(a.U("note: only "+xc.length+" available"),Eb=xc.length);tb-=Eb;0>tb&&(null==xc[xc.length-1].ga?(Eb=tb+Eb,tb=0):tb+=xc.length);var mi=[];"call"==ln&&(de=
|
||||
1E5,mi=["CALL"]);for(void 0!==kn&&a.U(Eb+" instructions earlier:");0<de&&tb!=a.Oa;){var ub=xc[tb++];if(null==ub.ga)break;var ub=Jp(a,ub.Xa,ub.ga,ub.Ia,ub.type,ub.Xb,ub.rc),on=Sq(a,ub,"history",Eb--);(!mi.length||0<=on.indexOf(mi[0]))&&a.U(on);ub.Qe&&(tb+=ub.Qe,de-=ub.Qe,Eb-=ub.Qe);tb>=xc.length&&(tb=0);a.Zb=Eb;nn++;de--}}nn||(a.U("no "+mn+"history available"),a.Zb=void 0)}else if("di"==va)da.shift(),a.U("no information");else{var ee=zq(a,pa);if(ee&&(null!=ee.ga||null!=ee.Ia)){var ug=0;Oa&&("l"==Oa.charAt(0)&&
|
||||
(Oa=Oa.substr(1)||ab),ug=eq(a,Oa)>>>0,65536<ug&&(ug=65536));for(var ud="",Hr=(ug||128)+15>>4||1,ni="dd"==va?4:"dw"==va?2:1,pn=0;pn<Hr;pn++){for(var vg=0,oi=0,Xe="",pi="",pa=sq(ee),qi=0;16>qi;qi++){var wg=a.Wa(ee,1),vg=vg|wg<<(oi++<<3);oi==ni&&(Xe+=l(vg,2*ni),Xe+=1==ni?7==qi?"-":" ":" ",vg=oi=0);pi+=32<=wg&&128>wg?String.fromCharCode(wg):"."}ud&&(ud+="\n");ud+=pa+" "+Xe+" "+pi}ud&&a.U(ud);a.Jb=ee}}}}}break;case "e":if("else"==g[0])break;var xg=1,qn=255,rn=a.Wa,sn=a.tc;"ew"==g[0]&&(xg=2,qn=65535,
|
||||
rn=a.va,sn=a.pb);var tn=xg<<1,un=g[1];if(null==un)a.U("edit memory commands:"),a.U("\teb [a] [...] edit bytes at address a"),a.U("\tew [a] [...] edit words at address a");else{var yg=zq(a,un);if(yg)for(var zg=2;zg<g.length;zg++){var Ye=Bq(a,g[zg]);if(void 0===Ye){a.U("unrecognized value: "+g[zg]);break}Ye&~qn&&a.U("warning: "+l(Ye)+" exceeds "+xg+"-byte value");var Ir=rn.call(a,yg);a.U("changing "+sq(yg)+" from 0x"+l(Ir,tn)+" to 0x"+l(Ye,tn));sn.call(a,yg,Ye,xg)}}break;case "f":gr(a,g[1]);break;
|
||||
case "g":a:{var vn=g[1],Jr=b;"gt"==g[0]&&(a.lb=!0);if(void 0!==vn){var ri=zq(a,vn,!0);if(!ri)break a;Cq(a,ri,Jr);a.Nd(a.A,ri,!0)}a.Ie(!0)||c||a.U("cpu busy or unavailable, run command ignored")}break;case "h":var si;a.ra.Ob?(si="halting",a.bc()):si="already halted";c||a.U(si);break;case "i":if("if"==g[0]){var ti;var Ze=b.substr(2),Ze=qa(Ze);Bq(a,Ze)?(c||a.U("true: "+Ze),ti=!0):(c||a.U("false: "+Ze),ti=!1);ti||(d=!1);break}if("int"==g[0]){var Ag;a:switch(eq(a,g[1])){case 19:ak(a,19,a.M.Na,!0);a.Ha=
|
||||
a.wa;Ag=!0;break a;case 33:ak(a,33,a.M.Na,!0);a.Ha=a.wa;Ag=!0;break a;default:Ag=!1}Ag||(d=!1);break}var ui=g[1];if(ui&&"?"!=ui){var vi=eq(a,ui);if(void 0!==vi){var Kr=qc(a.ja,vi,1);a.U(ia(vi)+": "+ga(Kr))}}else a.U("input commands:"),a.U("\ti [p]\tread port [p]"),a.U("warning: port accesses can affect hardware state");break;case "k":var Lr=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var wi=0,wn=a.M.Ca.ga,$e=Jp(a),Yc=Jp(a,
|
||||
u(a.M),a.M.Aa.ga);for(a.U("stack trace for "+sq(Yc));10>wi;){for(var yc=null,Mr=256;Yc.Xa>>>0<a.M.Kg>>>0;){$e.Xa=a.vb(Yc,!0);if(null==Yc.Ia||!Mr--)break;$e.ga=wn;if(yc=lr(a,$e))break;$e.ga=a.vb(Yc);if(yc=lr(a,$e,!0)){wn=a.vb(Yc,!0);0<yc.indexOf("INT")&&a.vb(Yc,!0);break}}if(!yc||null==yc)break;var xn=null;if("ks"==Lr){var yn=yc.match(/[0-9A-F]+$/);yn&&(xn=ir(a,yn[0]))}yc=oa(yc,50)+" ;"+(xn||"stack="+sq(Yc));a.U(yc);wi++}wi||a.U("no return addresses found")}break;case "l":if("ln"==g[0]){ir(a,g[1],
|
||||
0;Da<a.C.length;Da++){var Vd=a.C[Da],Wc;for(Wc in Vd.Md)if("."!=Wc.charAt(0)){var Wd=Vd.Md[Wc],Le=Wd.o;if(void 0!==Le){var Xd=Wd.s;void 0===Xd&&(Xd=Vd.ga);var Me=Vd.Md[Wc].l;Me&&(Wc=Me);a.U(kq(Le,Xd)+" "+Wc)}}}else{if("ds"==va||"dg"==va||"dl"==va)va="d",da=[va,"desc",pa];"d"==va&&"page"==pa&&(va="dp",da.shift());if("dp"==va){da.shift();var li=da[0];if(li){var Xe=a.ic(zq(a,li));if(-1===Xe)a.U("invalid address: "+li);else{var ce,La=null;if(80386<=a.M.na){var de=a.ja,La={};La.bk=(Xe&-4194304)>>>20;La.wi=
|
||||
a.M.Ld+La.bk;La.Db=de.ya[(La.wi&de.Mb)>>>de.Pa];La.Ui=La.Db.Xd(La.bk);La.ck=(Xe&4190208)>>>10;La.xi=(La.Ui&-4096)+La.ck;La.Eb=de.ya[(La.xi&de.Mb)>>>de.Pa];La.Vi=La.Eb.Xd(La.ck);La.Ek=(La.Vi&-4096)+(Xe&4095)}if(ce=La){a.U("linear PDE addr PDE PTE addr PTE physical");a.U("--------- ---------- -------- ---------- -------- ----------");var td="%"+l(Xe),td=td+(" %%"+Eq(ce.wi,ce.Ui)),td=td+(" %%"+Eq(ce.xi,ce.Vi,!0)),td=td+(" %%"+l(ce.Ek));a.U(td)}else a.U("unsupported operation")}}else a.U("missing address")}else{if("d"==
|
||||
va){if("disk"==pa){da[0]="l";da[1]="json";jr(a,da);break a}for(eb in Xp)if(da[1]==eb){var jn=a.ib[eb];jn?(da.shift(),da.shift(),jn(da)):a.U("no dump registered for "+pa);break a}pa||(va=a.Lc||"db")}else a.Lc=va;if("dh"==va){var kn=pa,ln=Oa,mn="",nn=0,tb=a.Oa,xc=a.qa;if(xc.length){var Eb=+kn||a.Zb,ee=+ln||10;isNaN(Eb)?Eb=ee:mn="more ";Eb>xc.length&&(a.U("note: only "+xc.length+" available"),Eb=xc.length);tb-=Eb;0>tb&&(null==xc[xc.length-1].ga?(Eb=tb+Eb,tb=0):tb+=xc.length);var mi=[];"call"==ln&&(ee=
|
||||
1E5,mi=["CALL"]);for(void 0!==kn&&a.U(Eb+" instructions earlier:");0<ee&&tb!=a.Oa;){var ub=xc[tb++];if(null==ub.ga)break;var ub=Jp(a,ub.Xa,ub.ga,ub.Ia,ub.type,ub.Xb,ub.rc),on=Sq(a,ub,"history",Eb--);(!mi.length||0<=on.indexOf(mi[0]))&&a.U(on);ub.Qe&&(tb+=ub.Qe,ee-=ub.Qe,Eb-=ub.Qe);tb>=xc.length&&(tb=0);a.Zb=Eb;nn++;ee--}}nn||(a.U("no "+mn+"history available"),a.Zb=void 0)}else if("di"==va)da.shift(),a.U("no information");else{var fe=zq(a,pa);if(fe&&(null!=fe.ga||null!=fe.Ia)){var ug=0;Oa&&("l"==Oa.charAt(0)&&
|
||||
(Oa=Oa.substr(1)||ab),ug=eq(a,Oa)>>>0,65536<ug&&(ug=65536));for(var ud="",Hr=(ug||128)+15>>4||1,ni="dd"==va?4:"dw"==va?2:1,pn=0;pn<Hr;pn++){for(var vg=0,oi=0,Ye="",pi="",pa=sq(fe),qi=0;16>qi;qi++){var wg=a.Wa(fe,1),vg=vg|wg<<(oi++<<3);oi==ni&&(Ye+=l(vg,2*ni),Ye+=1==ni?7==qi?"-":" ":" ",vg=oi=0);pi+=32<=wg&&128>wg?String.fromCharCode(wg):"."}ud&&(ud+="\n");ud+=pa+" "+Ye+" "+pi}ud&&a.U(ud);a.Jb=fe}}}}}break;case "e":if("else"==g[0])break;var xg=1,qn=255,rn=a.Wa,sn=a.tc;"ew"==g[0]&&(xg=2,qn=65535,
|
||||
rn=a.va,sn=a.pb);var tn=xg<<1,un=g[1];if(null==un)a.U("edit memory commands:"),a.U("\teb [a] [...] edit bytes at address a"),a.U("\tew [a] [...] edit words at address a");else{var yg=zq(a,un);if(yg)for(var zg=2;zg<g.length;zg++){var Ze=Bq(a,g[zg]);if(void 0===Ze){a.U("unrecognized value: "+g[zg]);break}Ze&~qn&&a.U("warning: "+l(Ze)+" exceeds "+xg+"-byte value");var Ir=rn.call(a,yg);a.U("changing "+sq(yg)+" from 0x"+l(Ir,tn)+" to 0x"+l(Ze,tn));sn.call(a,yg,Ze,xg)}}break;case "f":gr(a,g[1]);break;
|
||||
case "g":a:{var vn=g[1],Jr=b;"gt"==g[0]&&(a.lb=!0);if(void 0!==vn){var ri=zq(a,vn,!0);if(!ri)break a;Cq(a,ri,Jr);a.Nd(a.A,ri,!0)}a.Ie(!0)||c||a.U("cpu busy or unavailable, run command ignored")}break;case "h":var si;a.ra.Ob?(si="halting",a.bc()):si="already halted";c||a.U(si);break;case "i":if("if"==g[0]){var ti;var $e=b.substr(2),$e=qa($e);Bq(a,$e)?(c||a.U("true: "+$e),ti=!0):(c||a.U("false: "+$e),ti=!1);ti||(d=!1);break}if("int"==g[0]){var Ag;a:switch(eq(a,g[1])){case 19:ak(a,19,a.M.Na,!0);a.Ha=
|
||||
a.wa;Ag=!0;break a;case 33:ak(a,33,a.M.Na,!0);a.Ha=a.wa;Ag=!0;break a;default:Ag=!1}Ag||(d=!1);break}var ui=g[1];if(ui&&"?"!=ui){var vi=eq(a,ui);if(void 0!==vi){var Kr=qc(a.ja,vi,1);a.U(ia(vi)+": "+ga(Kr))}}else a.U("input commands:"),a.U("\ti [p]\tread port [p]"),a.U("warning: port accesses can affect hardware state");break;case "k":var Lr=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var wi=0,wn=a.M.Ca.ga,af=Jp(a),Yc=Jp(a,
|
||||
u(a.M),a.M.Aa.ga);for(a.U("stack trace for "+sq(Yc));10>wi;){for(var yc=null,Mr=256;Yc.Xa>>>0<a.M.Kg>>>0;){af.Xa=a.vb(Yc,!0);if(null==Yc.Ia||!Mr--)break;af.ga=wn;if(yc=lr(a,af))break;af.ga=a.vb(Yc);if(yc=lr(a,af,!0)){wn=a.vb(Yc,!0);0<yc.indexOf("INT")&&a.vb(Yc,!0);break}}if(!yc||null==yc)break;var xn=null;if("ks"==Lr){var yn=yc.match(/[0-9A-F]+$/);yn&&(xn=ir(a,yn[0]))}yc=oa(yc,50)+" ;"+(xn||"stack="+sq(Yc));a.U(yc);wi++}wi||a.U("no return addresses found")}break;case "l":if("ln"==g[0]){ir(a,g[1],
|
||||
!0);break}jr(a,g);break;case "m":if("mouse"==g[0]){var xi=g[1],Bg=g[2];if(a.X){var zn=1;"-"==Bg.charAt(0)&&(zn=-1,Bg=Bg.substr(1));var vd=eq(a,Bg,xi);if(void 0!==vd)switch(vd=vd*zn|0,xi){case "x":a.X.Ef(vd,0);break;case "y":a.X.Ef(0,vd);break;case "click":a.X.ge(vd,!0);a.X.ge(vd,!1);break;default:a.U("unknown action: "+xi)}}else a.U("no mouse");break}a:{var zc,Ac=null,Va=g[1];"?"==Va&&(Va=void 0);if(void 0!==Va){var wd=0;if("all"==Va)wd=1610481663,Va=null;else if("on"==Va)Ac=!0,Va=null;else if("off"==
|
||||
Va)Ac=!1,Va=null;else{"keys"==Va&&(Va="key");"kbd"==Va&&(Va="keyboard");for(zc in Xp)if(Va==zc){wd=Xp[zc];Ac=!!(a.wc&wd);break}if(!wd){a.U("unknown message category: "+Va);break a}}wd&&("on"==g[2]?(a.wc|=wd,Ac=!0):"off"==g[2]&&(a.wc&=~wd,Ac=!1))}var Nr=0,Zc="";for(zc in Xp)if(!Va||Va==zc){var Or=!!(a.wc&Xp[zc]);if(null===Ac||Ac==Or)Zc&&(Zc+=","),++Nr%10||(Zc+="\n\t"),"key"==zc&&(zc="keys"),Zc+=zc}void 0===Va&&a.U("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.U((null!==Ac?
|
||||
Ac?"messages on: ":"messages off: ":"message categories:\n\t")+(Zc||"none"));Lp(a)}break;case "o":var yi=g[1],Pr=g[2];if(yi&&"?"!=yi){var zi=eq(a,yi,"port #"),Ai=eq(a,Pr);void 0!==zi&&void 0!==Ai&&(uc(a.ja,zi,1,Ai),a.U(ia(zi)+": "+ga(Ai)))}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]){kr(a,b.substr(5));break}var An="pr"==g[0]?1:0,fe=1+An;if(a.O)a.U("step in progress");else{var Cg,
|
||||
Bn=!1,ob=Jp(a,v(a.M),a.M.Ca.ga);do switch(Cg=!1,a.Wa(ob)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:uq(a,ob,1);Cg=!0;break;case 204:case 206:a.O=fe;uq(a,ob,1);break;case 205:case 224:case 225:case 226:a.O=fe;uq(a,ob,ob.Xb?4:2);break;case 232:a.O=fe;uq(a,ob,ob.Xb?5:3);break;case 154:a.O=fe;uq(a,ob,ob.Xb?7:5);break;case 255:var Cn=a.vb(ob)&14591;if(4351==Cn||6399==Cn)a.O=fe,Sq(a,ob);break;case 243:case 242:uq(a,ob,1);Bn=Cg=!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:Bn&&
|
||||
(a.O=fe,uq(a,ob,1))}while(Cg);a.O?(a.Nd(a.A,ob,!0),a.Ie()||(a.M.Uc(),a.O=0)):mr(a,An?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}Kq(a,g);break;case "t":mr(a,g[0],g[1]);break;case "u":Lq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){hr(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.9 ("+a.M.na+",RELEASE,NOPREFETCH"+(Cb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.U(Ba());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var af;void 0!==g[3]&&(af=+g[3]);switch(g[2]){case "int":a.M.ba.ff=
|
||||
af;break;case "start":a.M.ba.Gf=af;break;case "stop":a.M.ba.hf=af;break;default:a.U("unknown cs option");break a}void 0!==af&&Xc(a.M);a.U("checksums "+(a.M.ra.We?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.M,+g[2])||a.U("warning: using 1x multiplier, previous target not reached"));a.U("target speed: "+(a.M.ba.Ce.toFixed(2)+"Mhz")+" ("+a.M.ba.Td+"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]){kr(a,b.substr(1));break}var bf="commands:",Bi;for(Bi in Qp)bf+="\n"+oa(Bi,7)+Qp[Bi];Qf(a)||(bf+="\nnote: frequency/history disabled if no exec breakpoints");a.U(bf);break;default:a.U("unknown command: "+b),d=!1}}}catch(Dn){a.U("debugger error: "+(Dn.stack||Dn.message)),d=!1}return d}function Np(a,b,c){b=Dq(a,b,c);for(var d in b)if(!Rq(a,b[d]))return!1;return!0}
|
||||
Ac?"messages on: ":"messages off: ":"message categories:\n\t")+(Zc||"none"));Lp(a)}break;case "o":var yi=g[1],Pr=g[2];if(yi&&"?"!=yi){var zi=eq(a,yi,"port #"),Ai=eq(a,Pr);void 0!==zi&&void 0!==Ai&&(uc(a.ja,zi,1,Ai),a.U(ia(zi)+": "+ga(Ai)))}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]){kr(a,b.substr(5));break}var An="pr"==g[0]?1:0,ge=1+An;if(a.O)a.U("step in progress");else{var Cg,
|
||||
Bn=!1,ob=Jp(a,v(a.M),a.M.Ca.ga);do switch(Cg=!1,a.Wa(ob)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:uq(a,ob,1);Cg=!0;break;case 204:case 206:a.O=ge;uq(a,ob,1);break;case 205:case 224:case 225:case 226:a.O=ge;uq(a,ob,ob.Xb?4:2);break;case 232:a.O=ge;uq(a,ob,ob.Xb?5:3);break;case 154:a.O=ge;uq(a,ob,ob.Xb?7:5);break;case 255:var Cn=a.vb(ob)&14591;if(4351==Cn||6399==Cn)a.O=ge,Sq(a,ob);break;case 243:case 242:uq(a,ob,1);Bn=Cg=!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:Bn&&
|
||||
(a.O=ge,uq(a,ob,1))}while(Cg);a.O?(a.Nd(a.A,ob,!0),a.Ie()||(a.M.Uc(),a.O=0)):mr(a,An?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}Kq(a,g);break;case "t":mr(a,g[0],g[1]);break;case "u":Lq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){hr(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.9 ("+a.M.na+",RELEASE,NOPREFETCH"+(Cb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.U(Ba());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var bf;void 0!==g[3]&&(bf=+g[3]);switch(g[2]){case "int":a.M.ba.ff=
|
||||
bf;break;case "start":a.M.ba.Gf=bf;break;case "stop":a.M.ba.hf=bf;break;default:a.U("unknown cs option");break a}void 0!==bf&&Xc(a.M);a.U("checksums "+(a.M.ra.We?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.M,+g[2])||a.U("warning: using 1x multiplier, previous target not reached"));a.U("target speed: "+(a.M.ba.Ce.toFixed(2)+"Mhz")+" ("+a.M.ba.Td+"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]){kr(a,b.substr(1));break}var cf="commands:",Bi;for(Bi in Qp)cf+="\n"+oa(Bi,7)+Qp[Bi];Qf(a)||(cf+="\nnote: frequency/history disabled if no exec breakpoints");a.U(cf);break;default:a.U("unknown command: "+b),d=!1}}}catch(Dn){a.U("debugger error: "+(Dn.stack||Dn.message)),d=!1}return d}function Np(a,b,c){b=Dq(a,b,c);for(var d in b)if(!Rq(a,b[d]))return!1;return!0}
|
||||
Ua(function(){for(var a=sb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=pb(c),d=new Ip(d);rb(d,c)}});function ff(a,b,c){this.id=a.id;this.key=or(a,b,c);this.ma=a.ma;pr(this,a.sk)}function or(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}
|
||||
ff.prototype={constructor:ff,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ga()&&(a=Ha(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){pr(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==
|
||||
this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function pr(a,b){a[a.id]={};b&&gf(a,"parms",b);a.A=!1}function qr(a){var b=!0;if(Ga()){var c=JSON.stringify(a[a.id]);Ia(a.key,c)||(Ca("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function rr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){Ca(c.message||c),b=!1}return b}function sr(a,b){return a[a.id][b]||null}function gf(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
|
|
@ -1218,8 +1219,9 @@ function Br(a,b){if(Ea("There may be a problem with your PCjs machine.\n\nTo hel
|
|||
function nr(a,b,c){var d,e="none";if(a.R)return null;a.R--;var f=new ff(a,xr),g=new ff(a,xr,"validate"),k=ta();gf(g,"timestamp",k);gf(f,"timestamp",k);gf(f,"version","1.20.9");gf(f,"url",window?window.location.href:null);gf(f,"browser",Ba());a.M&&a.M.kc&&(c&&a.M.bc(),d=a.M.kc(b,c),"object"===typeof d&&gf(f,a.M.id,d),c&&(a.M.ra.hc=!1,!1===d&&(e=null)));for(var k=lb(a.id),q=0;q<k.length;q++){var r=k[q];r.ra.hc&&(r.kc&&(d=r.kc(b,c),"object"===typeof d&&gf(f,r.id,d)),c&&(r.ra.hc=!1,!1===d&&(e=null)))}e&&
|
||||
(c?(k=d=!1,b?(a.C&&Dr(a,a.C,f.toString()),qr(g)&&qr(f)||(e=null,d=k=!0)):a.A&&(d=!0,k=3==a.A),d&&f.clear(k)):e=f.toString());c&&(a.ra.hc=!1,b=a.xa.power)&&(b.textContent="Power");a.R=0;return e}h.reset=function(){this.ja&&this.ja.reset&&(wb(this,"Resetting "+this.ja.type),this.ja.reset());for(var a=lb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ja&&c.reset&&(wb(this,"Resetting "+c.type),c.reset())}};
|
||||
h.start=function(a,b){for(var c=lb(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=lb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
h.Ub=function(a,b,c){var d=this;switch(b){case "power":return this.xa[b]=c,c.onclick=function(){d.R||(d.ra.hc?nr(d,!1,!0):zr(d,d.Xf))},!0;case "reset":return this.xa[b]=c,c.onclick=function(){if(d.ra.hc&&!d.R)if(d.A&&!d.X){var a=Ea("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nr(d,a,!0);!a&&d.ka?window&&window.location.reload():(a||(d.eh=!0),d.Xf(vr),d.eh=!1)}else d.reset(),d.M&&ad(d.M)},!0;case "save":return this.xa[b]=c,c.onclick=
|
||||
function(){var a=wr(d,!0);if(a){var b=!!(d.A&&!d.X||d.ka),c=nr(d,b);b?Dr(d,a,c):d.Ua("Resume disabled, machine state not saved")}},!0}return!1};function wr(a,b){var c=a.C;c||(c=Ha("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Er(a,c))||a.Ua("The user ID is invalid."))):b&&a.Ua("Browser local storage is not available"));return c}
|
||||
h.Ub=function(a,b,c){var d=this;switch(b){case "power":return this.xa[b]=c,c.onclick=function(){d.R||(d.ra.hc?nr(d,!1,!0):zr(d,d.Xf))},!0;case "reset":return this.xa[b]=c,c.onclick=function(){if(d.ra.hc&&!d.R)if(d.A&&!d.X){var a=Ea("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");nr(d,a,!0);!a&&d.ka?window&&window.location.reload():(a||(d.eh=!0),d.Xf(vr),d.eh=!1)}else d.reset(),d.M&&ad(d.M)},!0;case "save":if(la(Aa(),"pcjs.org")){c.style.display=
|
||||
"none";break}this.xa[b]=c;c.onclick=function(){var a=wr(d,!0);if(a){var b=!!(d.A&&!d.X||d.ka),c=nr(d,b);b?Dr(d,a,c):d.Ua("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function wr(a,b){var c=a.C;c||(c=Ha("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Er(a,c))||a.Ua("The user ID is invalid."))):b&&a.Ua("Browser local storage is not available"));return c}
|
||||
function Er(a,b){a.C=null;var c=za(Aa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ia("user",c.data),a.C=c.data)}catch(e){Ca(e.message+" ("+d+")")}return a.C}function yr(a){var b=null;a.C&&(b=Aa()+"/api/v1/user?req=load&user="+a.C+"&state="+or(a,xr));return b}
|
||||
function Dr(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=or(a,xr);d.data=c;b=za(Aa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ua("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ua(c),Ia("user",""),a.C=null)}}
|
||||
function Lb(a,b,c){a=lb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Ua(function(){for(var a=sb(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=pb(c),c=sb(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=pb(f),g=new tr(g,d,!0);rb(g,f);g.da&&zr(g,g.Xf)}});Qa.show.push(function(){for(var a=sb(document,"pcjs","computer"),b=0;b<a.length;b++){var c=pb(a[b]);(c=nb("Computer",c.id))&&c.la&&!c.ra.hc&&c.Xf(-1)}});
|
||||
|
|
|
|||
|
|
@ -52,12 +52,13 @@ b,!0);this.Oa=!0},xc:function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.sd[
|
|||
2]=b;this.B.aa[this.F]|=32;this.D.aa[this.H]|=96;this.T.Oa=!0}};function tb(a,b,c){a.Ta=b;a.ee=a.fe=0;c&&(c.A&&(a.A=c.A),(a.ee=c.ee)&&ac(a,bc,!1),(a.fe=c.fe)&&cc(a,bc,!1))}function cc(a,b,c){c&&a.fe||(a.dc=!a.K&&b[3]||a.Z,a.lf=!a.K&&b[4]||a.oa,a.kf=!a.K&&b[5]||a.pa);if(c||void 0===c)a.jf=b[3]||a.Z,a.qh=b[4]||a.oa,a.ka=b[5]||a.pa}function ac(a,b,c){c&&a.ee||(a.cc=b[0]||a.ha,a.cf=b[1]||a.ta,a.Rd=b[2]||a.da);if(c||void 0===c)a.Bd=b[0]||a.ha,a.df=b[1]||a.ta,a.kh=b[2]||a.da}
|
||||
function Fb(a,b,c){b||(b=5==a.type?ec:6==a.type?fc:gc);ac(a,b,c);cc(a,b,c)}var gc=[],Lb=[h.prototype.ua,h.prototype.Wa,h.prototype.Ja,h.prototype.Fb,h.prototype.yc,h.prototype.lc],bc=[h.prototype.qa,h.prototype.Qa,h.prototype.Da,h.prototype.wb,h.prototype.wc,h.prototype.Vb],fc=[h.prototype.xa,h.prototype.fb,h.prototype.La,h.prototype.Jb,h.prototype.Gc,h.prototype.mc],ec=[h.prototype.ya,h.prototype.kb,h.prototype.Ma,h.prototype.Ob,h.prototype.Nc,h.prototype.rc];
|
||||
if(eb)var Kb=[h.prototype.na,h.prototype.Na,h.prototype.Ca,h.prototype.vb,h.prototype.vc,h.prototype.Pb],Jb=[h.prototype.sa,h.prototype.Va,h.prototype.Fa,h.prototype.Ab,h.prototype.xc,h.prototype.kc],hc=[h.prototype.va,h.prototype.ab,h.prototype.Ka,h.prototype.Ib,h.prototype.Fc,h.prototype.jc];
|
||||
function ic(a,b){Ja.call(this,"CPU",a,ic);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Zc=c;this.Y.zd=d;this.Y.Ff=Math.round(this.Y.Zc/1E4)/100;this.Y.re=this.Y.Ff*this.Y.zd;this.ja.Rb=!1;this.ja.Rh=!1;this.ja.ig=a.autoStart;this.ja.Qh=!1;c=Ma.autostart;void 0!==c&&(this.ja.ig="true"==c?!0:"false"==c?!1:null);this.ja.Bf=!1;this.Y.Hf=this.Y.te=0;this.Y.If=a.csStart;this.Y.Ke=a.csInterval;this.Y.Le=a.csStop;this.Vd=[];this.xj=this.oh.bind(this);bb(this)}Ra(ic);var jc=["power","reset"];f=ic.prototype;
|
||||
f.nc=function(a,b,c,d){this.ta=a;this.oa=b;this.Ta=d;for(b=0;b<jc.length;b++)(c=this.pa[jc[b]])&&this.ta.Eb(null,jc[b],c);this.ld=lb(a,"FPU");for(b=null;b=lb(a,"Video",b);)this.Vd.push(b);this.T=lb(a,"ChipSet");bb(this)};f.reset=function(){};f.save=function(){return null};f.restore=function(){return!1};f.Tb=function(a,b){if(!b){if(a&&this.restore){kc(this);if(!this.restore(a))return!1;lc(this)}else this.reset();this.pc("No debugger detected")}mc(this);return!0};
|
||||
f.Sb=function(a){return a?this.save():!0};function nc(a){(!0===a.ja.ig||null===a.ja.ig&&void 0===a.pa.run)&&a.oh()}f.Th=function(){return 0};function lc(a){void 0===a.Y.If&&(a.Y.If=0);void 0===a.Y.Ke&&(a.Y.Ke=-1);void 0===a.Y.Le&&(a.Y.Le=-1);a.ja.Bf=0<=a.Y.If&&0<a.Y.Ke;a.ja.Bf&&(a.Y.Hf=0,a.Y.te=a.Y.If-a.Gc)}f.Wd=function(){this.ta&&this.ta.md&&this.ta.md.Wd()};
|
||||
function ic(a,b){Ja.call(this,"CPU",a,ic);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Zc=c;this.Y.zd=d;this.Y.Ff=Math.round(this.Y.Zc/1E4)/100;this.Y.re=this.Y.Ff*this.Y.zd;this.ja.Rb=!1;this.ja.Rh=!1;this.ja.ig=a.autoStart;this.ja.Qh=!1;c=Ma.autostart||Ma.autoStart;void 0!==c&&(this.ja.ig="true"==c?!0:"false"==c?!1:null);this.ja.Bf=!1;this.Y.Hf=this.Y.te=0;this.Y.If=a.csStart;this.Y.Ke=a.csInterval;this.Y.Le=a.csStop;this.Vd=[];this.xj=this.oh.bind(this);bb(this)}Ra(ic);
|
||||
var jc=["power","reset"];f=ic.prototype;f.nc=function(a,b,c,d){this.ta=a;this.oa=b;this.Ta=d;for(b=0;b<jc.length;b++)(c=this.pa[jc[b]])&&this.ta.Eb(null,jc[b],c);this.ld=lb(a,"FPU");for(b=null;b=lb(a,"Video",b);)this.Vd.push(b);this.T=lb(a,"ChipSet");bb(this)};f.reset=function(){};f.save=function(){return null};f.restore=function(){return!1};f.Tb=function(a,b){if(!b){if(a&&this.restore){kc(this);if(!this.restore(a))return!1;lc(this)}else this.reset();this.pc("No debugger detected")}mc(this);return!0};
|
||||
f.Sb=function(a){return a?this.save():!0};function nc(a){(!0===a.ja.ig||null===a.ja.ig&&void 0===a.pa.run)&&a.oh(!0)}f.Th=function(){return 0};function lc(a){void 0===a.Y.If&&(a.Y.If=0);void 0===a.Y.Ke&&(a.Y.Ke=-1);void 0===a.Y.Le&&(a.Y.Le=-1);a.ja.Bf=0<=a.Y.If&&0<a.Y.Ke;a.ja.Bf&&(a.Y.Hf=0,a.Y.te=a.Y.If-a.Gc)}f.Wd=function(){this.ta&&this.ta.md&&this.ta.md.Wd()};
|
||||
function oc(a,b){for(var c=0;c<a.Vd.length;c++)pc(a.Vd[c],b);if(a.ta&&a.ta.md&&(c=a.ta.md,c.Ca)){pb(c,18,c.O,c.ya);if(c.Na){var d=c.oa,e=c.B,k,l;null==k&&(k=0);null==l&&(l=d.T-k|0);null==e&&(e={gg:0,bd:0,bg:[]});var p=k>>>d.ha;k=k+l-1>>>d.ha;e.gg=0;for(e.bd=0;p<=k;)l=d.W[p],e.gg+=l.size,l.size&&(e.bg.push(oa(ob,p,0,0,l.type)),e.bd++),p++;c.B=e;c.sa=c.B.bd*c.oa.yb/691200;d=0;c.B.Ih=0;c.B.Ee||(c.B.Ee=[]);var e=-1,p=0,q=-1;for(k=0;k<c.B.bd;k++){var v=c.B.bg[k];l=pa(ob.type,v);v=pa(ob.bj,v);if(l!=e||
|
||||
v!=q+1)(q=k-p)&&(d+=rb(c,p,q,e)),e=l,p=k;q=v}d+=rb(c,p,k-p,e);e=c.B.Bj!=d;c.B.Bj=d;if(e){e=new jb(0,0,c.O.width,c.O.height);c.B.ae=[];p=c.B.bd;for(d=0;d<c.B.Ih;d++)k=c.B.Ee[d].bd,c.B.ae.push(kb(e,k,p,!d)),p-=k;for(d=0;d<c.B.ae.length;d++)e=c.B.Ee[d],p=k=c.B.ae[d],l=c.ya,(q=Xb[e.type])||(q=new ib),l.strokeStyle="black",l.strokeRect(p.x,p.y,p.Ec,p.A),l.fillStyle="string"==typeof q?q:q.toString(),l.fillRect(p.x,p.y,p.Ec,p.A),p=c,l=k,p.W=p.na,p.T=p.qa,k=l.x+(l.Ec>>1),q=l.y+(l.A>>1),v=l.A,l.Ec<l.A&&(v=
|
||||
l.Ec,p.ka=!0,p.H.save(),p.H.translate(k,q),p.H.rotate(-Math.PI/2),k=q=0),v<p.T&&(p.T=v,p.W=p.T+"px Monaco, Lucida Console, Courier New"),l=q,p.F=k,p.N=l,p=c,e=Wb[e.type]+" ("+(e.bd*c.oa.yb/1024|0)+"Kb)",p.H.font=p.W,p.F-=p.H.measureText(e).width>>1,p.N+=(p.T>>1)-2,qb(p,e),p.ka&&(p.H.restore(),p.ka=!1)}}else qb(c,"This space intentionally left blank");c.context.drawImage(c.O,0,0,c.O.width,c.O.height,c.Wa,c.fb,c.Ka,c.Ma);c.Ca=!1}}f.Tc=function(){this.Vd.length&&this.Vd[0].Tc()};
|
||||
l.Ec,p.ka=!0,p.H.save(),p.H.translate(k,q),p.H.rotate(-Math.PI/2),k=q=0),v<p.T&&(p.T=v,p.W=p.T+"px Monaco, Lucida Console, Courier New"),l=q,p.F=k,p.N=l,p=c,e=Wb[e.type]+" ("+(e.bd*c.oa.yb/1024|0)+"Kb)",p.H.font=p.W,p.F-=p.H.measureText(e).width>>1,p.N+=(p.T>>1)-2,qb(p,e),p.ka&&(p.H.restore(),p.ka=!1)}}else qb(c,"This space intentionally left blank");c.context.drawImage(c.O,0,0,c.O.width,c.O.height,c.Wa,c.fb,c.Ka,c.Ma);c.Ca=!1}}
|
||||
f.Tc=function(){if(this.Vd.length){var a=window.scrollX,b=window.scrollY;this.Vd[0].Tc();window.scrollTo(a,b)}};
|
||||
f.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.pa[b]=c;a=!0;break;case "run":this.pa[b]=c;c.onclick=function(){var a;if(a=d.ta)if(a=d.ta,a.ja.Qb)a=!0;else{var b=null,c,p=Ua(a.id);for(c=0;c<p.length&&(b=p[c],b===a||b.ja.le);c++);if(c==p.length)for(c=0;c<p.length&&(b=p[c],b===a||b.ja.Qb);c++);c==p.length&&(b=a);g("The "+b.type+" component ("+b.id+") is not "+(b.ja.le?"powered yet":"ready yet"+(b.Df?" (waiting for notification)":""))+".");a=!1}a&&(d.ja.Rb?qc(d,!0):d.oh(!0))};
|
||||
a=!0;break;case "speed":this.pa[b]=c;a=!0;break;case "setSpeed":this.pa[b]=c,c.onclick=function(){rc(d,d.Y.zd<<1,!0)},c.textContent=this.Y.re.toFixed(2)+"Mhz",a=!0}return a};function sc(a,b){if(a.ja.Rb){var c=a.A-b;a.A-=c;a.kc-=c}}function tc(a,b,c){a.Gc+=b;c&&(a.kc=a.A=0)}
|
||||
function uc(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Y.zd&&a.Y.yd&&(d=a.Y.yd/a.Y.Ff);a.Y.Yh=Math.round(1E3/30);a.Y.Uk=Math.floor(a.Y.Zc/c*d);a.Y.vg=Math.floor(a.Y.Zc/30*d);a.Y.$h=Math.floor(a.Y.Zc/60*d);a.Y.Zh=Math.floor(a.Y.Zc/2*d);b||(a.Y.Oe=a.Y.vg,a.Y.Ne=a.Y.$h,a.Y.Me=a.Y.Zh);a.Y.wg=0}function vc(a,b){var c=a.Gc+a.yc+a.kc-a.A;b&&1<a.Y.zd&&a.Y.yd>a.Y.Ff&&(c=Math.round(c/a.Y.zd));return c}function kc(a){a.Y.yd=0;a.Gc=a.yc=a.kc=a.A=0;lc(a);rc(a,1)}
|
||||
|
|
@ -82,7 +83,7 @@ r(d,d.la(p+l)));c&&d.gb(p+0,k);d.Ua|=8;return!0}f.save=function(){return[this.ra
|
|||
function Ac(a,b,c,d){void 0===c&&(c=!!(a.A.Ua&1));a.wd=!1;if(c)if(a.load=a.Ef,a.Wh=a.Qk,a.gc=a.Jh,a.hc=a.Lh,void 0===d&&(d=!!(a.A.ca&131072)),d)a.load=a.T,a.gc=a.K,a.hc=a.N,a.Cb=a.uc=3,a.ba=a.Uc=2,a.C=a.wa=65535,a.cb=65535,a.D=a.cb+1,a.Uc=a.ba,a.fc=-1,a.ne=!1;else{if(!(a.ra&-4))a.gc=a.yf,a.hc=a.zf;else if(a.type&4096){6144==(a.type&6656)&&(a.gc=a.yf);if(a.type&2048||!(a.type&512))a.hc=a.zf;1024==(a.type&3072)&&(a.gc==a.Jh&&(a.gc=a.zj),a.hc==a.Lh&&(a.hc=a.Aj),a.wd=!0);b&&6>a.id&&a.ra&-4&&-1!==a.fc&&
|
||||
(c=a.fc+5,d=a.A.Lb(c),d&1||a.A.Kc(c,d|1))}b&&(a.Cb=a.ra&3,a.uc=(a.rb&24576)>>13,80386>a.A.ia||!(a.ext&64)?(a.ba=2,a.C=65535):(a.ba=4,a.C=-1),a.Uc=a.ba,a.wa=a.C)}else a.load=a.Xh,a.Wh=a.Rk,a.gc=a.Kh,a.hc=a.Mh,a.Cb=a.uc=0,a.fc=-1,a.ne=!1}
|
||||
function Sc(a){this.ia=a.model||8088;var b=a.stepping;this.fd=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}ic.call(this,a,b);this.sh=61442;this.ed=1792;this.rh=28672;this.nf=4;this.Ja=255;this.D=80286<=this.ia?gb:fb;this.qa=Tc;this.vh=Uc;this.wh=Vc;this.xh=Wc;if(80186<=this.ia&&(this.qa=Tc.slice(),this.vh=Uc.slice(),this.wh=Vc.slice(),this.Ja=31,this.qa[15]=Xc,this.qa[96]=Yc,this.qa[97]=Zc,this.qa[98]=$c,this.qa[99]=Xc,this.qa[100]=Xc,
|
||||
this.qa[101]=Xc,this.qa[102]=Xc,this.qa[103]=Xc,this.qa[104]=ad,this.qa[105]=bd,this.qa[106]=cd,this.qa[107]=dd,this.qa[108]=ed,this.qa[109]=fd,this.qa[110]=gd,this.qa[111]=hd,this.qa[192]=id,this.qa[193]=jd,this.qa[200]=kd,this.qa[201]=ld,this.qa[241]=md,this.vh[7]=nd,this.wh[7]=nd,80286<=this.ia)){this.sh=2;this.ed|=28672;this.nf=0;this.qa[15]=od;this.Fc=pd.slice();for(a=0;a<this.Fc.length;a++)this.Fc[a]||(this.Fc[a]=qd);this.qa[84]=sd;this.qa[99]=td;if(80386<=this.ia){var c;this.rh=0;this.ed|=
|
||||
this.qa[101]=Xc,this.qa[102]=Xc,this.qa[103]=Xc,this.qa[104]=ad,this.qa[105]=bd,this.qa[106]=cd,this.qa[107]=dd,this.qa[108]=ed,this.qa[109]=fd,this.qa[110]=gd,this.qa[111]=hd,this.qa[192]=id,this.qa[193]=jd,this.qa[200]=kd,this.qa[201]=ld,this.qa[241]=md,this.vh[7]=nd,this.wh[7]=nd,80286<=this.ia)){this.sh=2;this.ed|=28672;this.nf=0;this.qa[15]=od;this.Fc=pd.slice();for(a=0;a<this.Fc.length;a++)this.Fc[a]||(this.Fc[a]=qd);this.qa[84]=rd;this.qa[99]=td;if(80386<=this.ia){var c;this.rh=0;this.ed|=
|
||||
196608;this.qa[100]=ud;this.qa[101]=vd;this.qa[102]=wd;this.qa[103]=xd;for(c in w)this.Fc[+c]=w[c];80546<=this.fd&&80562>=this.fd&&(this.Fc[166]=yd,this.Fc[167]=zd)}}this.qf=[];this.uh=[];this.Yf=0;kc(this);this.ja.Ie=this.ja.Hj=!1;this.zh=0;this.rc=this.W=[];this.ha=this.yb=this.ab=this.of=this.Xd=this.La=this.lc=0;Ad(this)}Ra(Sc,ic);
|
||||
function Bb(a){var b;if(a.W===a.rc){a.W=Array(a.of);a.rf=new h(null,0,0,5,null,a);tb(a.rf,a.Ta);for(b=0;b<a.of;b++)a.W[b]=a.rf;a.Yd=new h;a.th=Array(512);a.sf=0}else for(var c=0;c<a.pf.length;c++){b=a.pf[c];var d=a.W[b];512>a.sf&&(a.th[a.sf++]=d);a.W[b]=a.rf}a.pf=[]}
|
||||
function $b(a,b,c,d){var e=(b&-4194304)>>>20,k=a.rc[(a.Nc+e&a.La)>>>a.ha],l=k.Rd(e);if(!(l&1))return d||Bd.call(a,b,!1,c),a.Yd;if(!(l&4)&&3==a.Fa)return d||Bd.call(a,b,!0,c),a.Yd;var p=(b&4190208)>>>10,l=a.rc[((l&-4096)+p&a.La)>>>a.ha],q=l.Rd(p);if(!(q&1))return d||Bd.call(a,b,!1,c),a.Yd;if(!(q&4)&&3==a.Fa)return d||Bd.call(a,b,!0,c),a.Yd;c=a.rc[((q&-4096)+(b&4095)&a.La)>>>a.ha];if(d)return c;d=b>>>a.ha;q=a.W[d];b=b&-4096;var v;0<a.sf?(v=a.th[--a.sf],v.Nk(b)):v=new h(b,0,0,6);b=v;b.T=c;b.B=k;b.F=
|
||||
|
|
@ -134,7 +135,7 @@ function mf(a,b){var c=a.A;c.Ub(b,a.J);c.Ub(b+=c.ba,a.ga|a.D<<11);c.Ub(b+=c.ba,I
|
|||
function uf(){Ue(this,U(this,0),U(this,this.B))}function vf(){Ue(this,U(this,0),U(this,this.B))&&jf(this)}function wf(){vf.call(this)}function xf(){V(this,0,Te(this,U(this,0),bf(this)))}function yf(){this.F&=~(1<<this.D)}function zf(){He(this)}function Af(){this.J=this.A.ma(this.A.U)&-57409}function Bf(){lf(this,this.A.U)}function Cf(){for(var a=this.A,b=lf(this,a.U),c=this.H,d=0;d<this.N.length;d++)c[0]=a.la(b),c[1]=a.la(b+=4),c[2]=a.ma(b+=4),c&&V(this,d,ff(this,c)),b+=2}
|
||||
function Df(){for(var a=this.A,b=mf(this,a.U),c=0;c<this.N.length;c++){var d=Ze(this,c,!0);a.$a(b,d[0]);a.$a(b+=4,d[1]);a.gb(b+=4,d[2]);b+=2}He(this)}function Ef(){mf(this,this.A.U);this.J|=63}function Ff(){V(this,this.B,U(this,0))&&jf(this)}function Gf(){Ff.call(this)}function Hf(){this.A.gb(this.A.U,this.J)}function If(){this.A.gb(this.A.U,this.ga|this.D<<11)}function Jf(){80287<=this.ia&&(this.A.G=this.A.G&-65536|this.ga|this.D<<11)}
|
||||
function Kf(){var a=U(this,0);V(this,0,U(this,this.B));V(this,this.B,a)}function Lf(){Kf.call(this)}
|
||||
var Of={216:{0:function(){V(this,0,Qe(this,U(this,0),bf(this)))},1:function(){V(this,0,Se(this,U(this,0),bf(this)))},2:function(){Ue(this,U(this,0),bf(this))},3:function(){Ue(this,U(this,0),bf(this))&&jf(this)},4:function(){V(this,0,Re(this,U(this,0),bf(this)))},5:function(){V(this,0,Re(this,bf(this),U(this,0)))},6:xf,7:xf,48:function(){V(this,0,Qe(this,U(this,0),U(this,this.B)))},49:function(){V(this,0,Se(this,U(this,0),U(this,this.B)))},50:uf,51:vf,52:function(){V(this,0,Re(this,U(this,0),U(this,
|
||||
var Mf={216:{0:function(){V(this,0,Qe(this,U(this,0),bf(this)))},1:function(){V(this,0,Se(this,U(this,0),bf(this)))},2:function(){Ue(this,U(this,0),bf(this))},3:function(){Ue(this,U(this,0),bf(this))&&jf(this)},4:function(){V(this,0,Re(this,U(this,0),bf(this)))},5:function(){V(this,0,Re(this,bf(this),U(this,0)))},6:xf,7:xf,48:function(){V(this,0,Qe(this,U(this,0),U(this,this.B)))},49:function(){V(this,0,Se(this,U(this,0),U(this,this.B)))},50:uf,51:vf,52:function(){V(this,0,Re(this,U(this,0),U(this,
|
||||
this.B)))},53:function(){V(this,0,Re(this,U(this,this.B),U(this,0)))},54:function(){V(this,0,Te(this,U(this,0),U(this,this.B)))},55:function(){V(this,0,Te(this,U(this,this.B),U(this,0)))}},217:{0:function(){kf(this,bf(this))},2:function(){Xe(this)&&this.lj()},3:function(){Xe(this)&&(this.lj(),jf(this))},4:Bf,5:Af,6:Ef,7:Hf,48:function(){kf(this,U(this,this.B))},49:Kf,50:function(){},51:Gf,64:function(){V(this,0,-U(this,0))},65:function(){V(this,0,Math.abs(U(this,0)))},68:function(){Ue(this,U(this,
|
||||
0),0)},69:function(){this.ga&=-18177;this.ka[((this.D+0&7)<<1)+1]&-2147483648&&(this.ga|=512);if(3==We(this,this.D))this.ga|=16640;else{var a=U(this,0);this.ga=isNaN(a)?this.ga|256:0===a?this.ga|16384:Infinity===a||-Infinity===a?this.ga|1280:this.ga|1024}},80:function(){kf(this,1)},81:function(){kf(this,nf)},82:function(){kf(this,of)},83:function(){kf(this,pf)},84:function(){kf(this,qf)},85:function(){kf(this,rf)},86:function(){kf(this,0)},96:function(){V(this,0,Math.pow(2,U(this,0))-1)},97:function(){V(this,
|
||||
1,U(this,1)*Math.log(U(this,0))/Math.LN2)&&jf(this)},98:function(){V(this,0,Math.tan(U(this,0)))&&kf(this,1)},99:function(){V(this,1,Math.atan2(U(this,1),U(this,0)))&&jf(this)},100:function(){var a=U(this,0);null!=a&&(this.W[0]=a,V(this,0,(this.K[1]>>20&2047)-1023),this.K[1]=(this.K[1]|1072693248)&-1073741825,kf(this,this.W[0]))},102:function(){this.D=this.D-1&7;this.ga&=-513},103:function(){this.D=this.D+1&7;this.ga&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this,
|
||||
|
|
@ -155,7 +156,7 @@ function fg(a,b){if(-1===this.U)return bg.call(this,a,b);var c=this.ba<<3;if(b>=
|
|||
function hg(a,b){this.nd=this.Ia.ra;this.Zd=this.Z.ra;this.sa=this.xa;var c=u(this),d=this.ba;null!=Qc(this,a,b,!0)&&(Jc(this,this.nd,d,2),Jc(this,c,d,d));this.nd=this.Zd=this.sa=-1}function ig(a,b){ae(this,a,b,a-b|0,191,!0);this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Cg:this.D.Db;this.N|=2;return a}function jg(a,b){ae(this,a,b,a-b|0,this.Wa|63,!0);this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Cg:this.D.Db;this.N|=2;return a}
|
||||
function kg(a){var b=a-1|0;ae(this,a,1,b,this.Wa|62,!0);this.A-=2;return a&~this.C|b&this.C}function lg(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}
|
||||
function mg(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<lg(a,c);){var k=b=c;b[0]+=k[0];b[1]+=k[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=lg(a,c)&&(b=a,k=c,b[0]-=k[0],b[1]-=k[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ya=d;this.Ma=a[0];return!0}
|
||||
function ng(a){if(this.ld){var b=this.ld,c=this.yh,d=this.kd,e=d>>3&7;b.B=d&7;var k=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=k&&(k=e<<4|b.B);if(e=Of[c][k]){if(0>Pf.indexOf(e)){var k=b.A,l=k.Qd;8087==b.ia&&(k.Ba&16&&l++,k.Ba&32&&l++);b.Z=k.Ia.ra;b.O=l-k.Ia.Ea;-1!==k.U&&(b.oa=k.Pc.ra,b.S=k.U-k.Pc.Ea);b.da=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.U?2:8;return a}function og(a,b){var c=pg.call(this,this.L(),b);80386>this.ia&&(this.A-=12);return c}
|
||||
function ng(a){if(this.ld){var b=this.ld,c=this.yh,d=this.kd,e=d>>3&7;b.B=d&7;var k=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=k&&(k=e<<4|b.B);if(e=Mf[c][k]){if(0>Pf.indexOf(e)){var k=b.A,l=k.Qd;8087==b.ia&&(k.Ba&16&&l++,k.Ba&32&&l++);b.Z=k.Ia.ra;b.O=l-k.Ia.Ea;-1!==k.U&&(b.oa=k.Pc.ra,b.S=k.U-k.Pc.Ea);b.da=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.U?2:8;return a}function og(a,b){var c=pg.call(this,this.L(),b);80386>this.ia&&(this.A-=12);return c}
|
||||
function qg(a,b){var c;a=this.Ga();c=2==this.ba?pg.call(this,a,b):rg.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function sg(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);tg.call(this,a,b);c&&(this.ya=~this.ya+1|0,this.Ma=~this.Ma+(this.ya?0:1)|0)}function pg(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(ie(this),ke(this)):(je(this),le(this));this.A-=-1===this.U?9:12;return c&65535}
|
||||
function rg(a,b){sg.call(this,a,b);this.Ma!=this.ya>>31?(ie(this),ke(this)):(je(this),le(this));this.A-=-1===this.U?9:12;return this.ya}function ug(a){var b=a+1|0;ae(this,a,1,b,this.Wa|62);this.A-=2;return a&~this.C|b&this.C}function vg(a,b,c){this.A-=this.D.yi+(c||0);c=Nc(this);var d=this.Ia.ra,e=u(this);a=this.Ia.Wh(a);-1!==a&&(Mc(this,c),Mc(this,d),Mc(this,e),null!=b&&Mc(this,b),this.Vb=-1,Yd(this,a))}
|
||||
function wg(a,b){this.A-=14+(-1===this.U?0:2);pe(this);-1!==this.Na.load(b)&&this.Na.uc>=this.Fa&&this.Na.uc>=(b&3)&&(re(this),a=this.Na.rb&-256,2<this.ba&&(a|=(this.Na.ext&-65281)<<16));return a}function Rc(a){this.Nc=a;this.Ua&-2147483648&&Bb(this)}function xg(a,b){if(-1===this.U)return qd.call(this),a;Kc(this,this.ma(this.U+this.ba));this.A-=this.D.ue;return b}function yg(){this.A-=this.D.Gi;return this.U}
|
||||
|
|
@ -173,7 +174,7 @@ function uh(a,b){if(-1===this.U){switch(this.kd&7){case 0:this.G=this.G&~this.C|
|
|||
function vh(a,b){var c=a^b;he(this,c,128);this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Db:this.D.oc;return c}function wh(a,b){this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Db:this.D.oc;return he(this,a^b,this.Wa)&this.C}function xh(a){if(80186>this.ia)return yh.call(this,a);m.call(this,13,0);return a}function nd(a){m.call(this,6);return a}function yh(a){qd.call(this);return a}function zh(){8086==this.ia?(this.Vb=-1,vg.call(this,0,null,2)):m.call(this,0,null,2)}
|
||||
function Ah(){this.A-=-1===this.U?2:this.D.$i;return 1}function Bh(){var a=this.F&255;this.A-=(-1===this.U?this.D.Xg:this.D.Wg)+(a<<this.D.Yg);return a}function Ch(){var a=this.X();this.A-=(-1===this.U?this.D.Xg:this.D.Wg)+(a<<this.D.Yg);return a}function Dh(){return null}function Eh(){return this.mc}function Fe(a,b){this.Vb=a;void 0===b&&(b=11);vg.call(this,a,null,b)}
|
||||
function m(a,b,c,d){var e=!1;this.ja.Ie?80186<=this.ia&&(e=!0,0>this.Vb?(-1!=this.nd&&(this.Ia.Cb=3,Xd(this,this.nd),this.nd=-1),Yd(this,this.Qd),-1!=this.Zd&&(Ec(this,this.Zd),this.Zd=-1),-1!==this.sa&&(r(this,this.Ob&~this.Z.wa|this.sa-this.Z.Ea),this.sa=-1)):8!=this.Vb?(b=0,a=8):(b=0,a=-1,Ad(this),e=d=!1)):Yd(this,this.Qd);var k=a,l=b,p=ue(this,this.da);204!=p||this.xc||(d=!1);this.ca&131072&&(6==k&&99==p||13==k&&205==p)&&(d=!1);983040<=this.da&&1048575>=this.da&&(d=!1);if(d){var q=this.ja.Rb,
|
||||
k="Fault 0x"+ea(k,2)+(null!=l?" (0x"+ea(l,4)+")":"")+" on opcode "+("0x"+ea(p,2));d&&q&&(k+=" (blocked by PCjs Debugger)");this.Ha(k);qc(this)}if(d&&e)throw-1;if(e)throw this.Vb=a,vg.call(this,a,b,c),this.Qd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;}function Bd(a,b,c){this.od=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Fa&&(a|=4);m.call(this,14,a)}function od(){this.Fc[this.X()].call(this)}function sd(){Mc(this,t(this)&this.C);this.A-=this.D.zc}
|
||||
k="Fault 0x"+ea(k,2)+(null!=l?" (0x"+ea(l,4)+")":"")+" on opcode "+("0x"+ea(p,2));d&&q&&(k+=" (blocked by PCjs Debugger)");this.Ha(k);qc(this)}if(d&&e)throw-1;if(e)throw this.Vb=a,vg.call(this,a,b,c),this.Qd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;}function Bd(a,b,c){this.od=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Fa&&(a|=4);m.call(this,14,a)}function od(){this.Fc[this.X()].call(this)}function rd(){Mc(this,t(this)&this.C);this.A-=this.D.zc}
|
||||
function Yc(){this.sa=this.xa;var a=t(this)&this.C;Mc(this,this.G&this.C);Mc(this,this.F&this.C);Mc(this,this.I&this.C);Mc(this,this.B&this.C);Mc(this,a);Mc(this,this.K&this.C);Mc(this,this.J&this.C);Mc(this,this.H&this.C);this.A-=this.D.Ui;this.sa=-1}
|
||||
function Zc(){this.sa=this.xa;this.H=this.H&~this.C|n(this);this.J=this.J&~this.C|n(this);this.K=this.K&~this.C|n(this);r(this,t(this)+this.ba);this.B=this.B&~this.C|n(this);this.I=this.I&~this.C|n(this);this.F=this.F&~this.C|n(this);this.G=this.G&~this.C|n(this);this.A-=this.D.Si;this.sa=-1}function $c(){this.ua[this.X()].call(this,Xf)}function td(){!(this.Ua&1)||this.ca&131072?m.call(this,6):this.Da[this.X()].call(this,Wf)}function ud(){this.N|=20;this.O=this.S=this.Qa;this.A-=this.D.Oc}
|
||||
function vd(){this.N|=20;this.O=this.S=this.Va;this.A-=this.D.Oc}function wd(){this.N|=1024;this.Ba&1024||(this.ba^=6,this.C^=-65536,Pd(this));this.A-=this.D.Oc}function xd(){this.N|=2048;this.Ba&2048||(this.Uc^=6,this.wa^=-65536,Gd(this));this.A-=this.D.Oc}function ad(){Mc(this,this.Ga());this.A-=this.D.zc}function bd(){this.ua[this.X()].call(this,qg)}function cd(){Mc(this,this.L());this.A-=this.D.zc}function dd(){this.ua[this.X()].call(this,og)}
|
||||
|
|
@ -900,8 +901,8 @@ function wk(a,b,c,d){if(d)a.Ha("Unable to load font ROM (error "+d+": "+b+")");e
|
|||
function dl(a,b){if(1==b)return a.ua[0]=Bk[0],a.ua[1]=Bk[7],a.ua;if(2==b){var c=a.F.ef;if(a.F===a.B){var d=a.B.Ic[0],c=d&7;d&16&&(c|=8);18!=a.B.Ic[1]&&(c|=32)}a.ua[0]=Bk[c&15];c=c&32?Dk:Ck;for(d=0;d<c.length;d++)a.ua[d+1]=Bk[c[d]];return a.ua}if(a.S===a.Jb)return Bk;a.Va&&b&&!a.ua[16]&&(a.Va=!1);if(!a.Va){var c=a.B,d=c.we,e,k,l,p,q;if(8==b)for(k=0;256>k;k++)l=d[k]||0,p=l<<2&252,q=l>>4&252,l=l>>10&252,a.ua[k]=[p,q,l,255];else{var v=d&&d[255];e=null!=c.Ic[15]?c.Ic:Ek;for(k=0;16>k;k++)l=e[k]&63,v?(l|=
|
||||
(c.Ic[20]&12)<<4,c.Ic[16]&128&&(l&=-49,l|=(c.Ic[20]&3)<<4),l=d[l],p=l<<2&252,q=l>>4&252,l=l>>10&252):(p=(l&4?170:0)|(l&32?85:0),q=(l&2?170:0)|(l&16?85:0),l=(l&1?170:0)|(l&8?85:0)),a.ua[k]=[p,q,l,255]}a.Va=!0}return a.ua}function Nj(a,b,c,d){a.Fb=b;a.kc=c;a.Qa=d}
|
||||
function $k(a,b){var c=!1;if(window&&a.Fb&&(!b||a.K)){var d=0,e=a.Qa?a.Qa:8,k=dl(a);el(a,3,a.kc[0],d,e,8,a.Fb,k)&&(c=!0);d=a.Qa?0:2048;e=a.Qa?a.Qa:9;el(a,1,a.kc[1],d,e,14,a.Fb,zk,Ak)&&(c=!0);a.Qa&&el(a,a.nb,a.kc[1],0,a.Qa,14,a.Fb,k)&&(c=!0)}return c}function el(a,b,c,d,e,k,l,p,q){var v=!1;null!=c&&(fl(a,b,c,d,e,k,l,p,q)&&(v=!0),a.Xd&&fl(a,b<<1,c,d,e,k,l,p,q)&&(v=!0));return v}
|
||||
function fl(a,b,c,d,e,k,l,p,q){var v=!1,B=b&1?0:1,E=a.Fa[b],C=16>p.length?p.length:16;E||(E={sc:e<<B,tc:k<<B,$d:Array(C),Dh:p.slice(0,C),De:q,cg:Array(C)});for(q=0;q<C;q++){var J=p[q],R=E.$d[q]?E.Dh[q]:[];if(J[0]!==R[0]||J[1]!==R[1]||J[2]!==R[2]){var v=E,R=q,W=B,da=c,ka=d,Ba=e,Ca=k,rd=l,Nm=[0,0,0,0],xe=document.createElement("canvas");xe.width=v.sc<<4;xe.height=v.tc<<4;for(var gj=xe.getContext("2d"),Cb=void 0,Oc=void 0,dc=void 0,ye=8>Ca||!ka?Ca:8,Mf=gj.createImageData(v.sc,v.tc),Cb=0;256>Cb;Cb++){for(dc=
|
||||
0;dc<Ca;dc++)for(var Om=v.De&&R&1&&dc>=Ca-2,Pm=rd[dc<ye?da+Cb*ye+dc:ka+Cb*ye+dc-ye],Nf=0;Nf<=W;Nf++)for(Oc=0;Oc<Ba;Oc++){var hj=Oc<<W,ij=(dc<<W)+Nf,jj=Om||Pm&128>>(8<=Oc&&192<=Cb&&223>=Cb?7:Oc)?J:Nm;gl(Mf,hj,ij,jj);W&&gl(Mf,hj+1,ij,jj)}gj.putImageData(Mf,(Cb&15)*v.sc,(Cb>>4)*v.tc)}v.$d[R]="#"+ea(J[0],2)+ea(J[1],2)+ea(J[2],2);v.Dh[R]=J;v.cg[R]=xe;v=!0}}a.Fa[b]=E;return v}function hl(a){0<a.Ja||0<=a.ha?0>a.La&&(a.La=0):a.La=-1}
|
||||
function fl(a,b,c,d,e,k,l,p,q){var v=!1,B=b&1?0:1,E=a.Fa[b],C=16>p.length?p.length:16;E||(E={sc:e<<B,tc:k<<B,$d:Array(C),Dh:p.slice(0,C),De:q,cg:Array(C)});for(q=0;q<C;q++){var J=p[q],R=E.$d[q]?E.Dh[q]:[];if(J[0]!==R[0]||J[1]!==R[1]||J[2]!==R[2]){var v=E,R=q,W=B,da=c,ka=d,Ba=e,Ca=k,sd=l,Nm=[0,0,0,0],xe=document.createElement("canvas");xe.width=v.sc<<4;xe.height=v.tc<<4;for(var gj=xe.getContext("2d"),Cb=void 0,Oc=void 0,dc=void 0,ye=8>Ca||!ka?Ca:8,Nf=gj.createImageData(v.sc,v.tc),Cb=0;256>Cb;Cb++){for(dc=
|
||||
0;dc<Ca;dc++)for(var Om=v.De&&R&1&&dc>=Ca-2,Pm=sd[dc<ye?da+Cb*ye+dc:ka+Cb*ye+dc-ye],Of=0;Of<=W;Of++)for(Oc=0;Oc<Ba;Oc++){var hj=Oc<<W,ij=(dc<<W)+Of,jj=Om||Pm&128>>(8<=Oc&&192<=Cb&&223>=Cb?7:Oc)?J:Nm;gl(Nf,hj,ij,jj);W&&gl(Nf,hj+1,ij,jj)}gj.putImageData(Nf,(Cb&15)*v.sc,(Cb>>4)*v.tc)}v.$d[R]="#"+ea(J[0],2)+ea(J[1],2)+ea(J[2],2);v.Dh[R]=J;v.cg[R]=xe;v=!0}}a.Fa[b]=E;return v}function hl(a){0<a.Ja||0<=a.ha?0>a.La&&(a.La=0):a.La=-1}
|
||||
function cl(a){if(a.K){for(var b=10;15>=b;b++)if(null==a.F.jb[b])return;var c=a.F.jb[10],b=c&31,d=a.F.jb[11]&31,e=a.F.jb[9]&31,k=!1;a.F===a.B&&(k=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!k||b>e)il(a);else{c=a.F.jb[15]+((a.F.jb[14]&63)<<8);a.ha!=c&&(il(a),a.ha=c);d=d-b+1;if(a.qd!=b||a.Nc!=d)a.qd=b,a.Nc=d;a.Ka=e+1;hl(a)}}}
|
||||
function il(a){if(0<=a.ha){if(void 0!==a.W){var b=a.W[a.ha];if(b&131072){var b=b&-131073,c=a.ha%a.H,d=a.ha/a.H|0;a.K&&a.Fa[a.K]&&(a.Na&&jl(a,c,d,b,a.Na),jl(a,c,d,b));a.W[a.ha]=b}}a.ha=-1}}
|
||||
function kl(a){var b,c=a.F;a.ed=!1;var d=c.Cd[5];if(null!=d){b=1024;var e=0,k=c.Cd[3]&31;switch(d&3){case 0:if(k){e=32;switch(k&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Hc=k&7}break;case 1:e=1;break;case 2:switch(k&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.nb==Oj&&(e=3,c.Hc=k&7)}d&8&&(b=1280);c=c.ye[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.ed=!0));b|=e}return b}
|
||||
|
|
@ -915,7 +916,7 @@ function jl(a,b,c,d,e){var k=d&255,l=d>>8;d=l&15;var p=a.Fa[a.K];p.De&&(d=p.De[d
|
|||
e.fillRect(b,c+k,p.sc,l)):(a.Ka&&a.Ka!==a.Ca&&(k=k*a.Ca/a.Ka|0,l=l*a.Ca/a.Ka|0),a.da.fillStyle=p.$d[d],a.da.fillRect(b,c+k,a.ya,l)))}
|
||||
function pc(a,b){if(a.ja.Qb){var c=!1,d=a.F;d&&(d!==a.B?d.Jc&8&&(c=!0):d.Sd&32&&(c=!0));if(c||b){if(b)nl(a);else if(void 0===a.W)return;var e=!1;!(b||++a.Dd&15)&&0<=a.La&&(a.La++,e=!0);var k=0,l=a.ld,p=a.hb,c=p,q=c+a.Hb;19<=a.Da&&(p=c=655360,q=c+65536);if(ol(a,d)&8||d.ve&&d.ve<d.ih)d.af=(d.jb[12]<<8)+d.jb[13]|0,d.ve=0;var v=d.af;a.K&&(v<<=1);c+=v;v=a.fb;5<=a.nb&&d.jb[19]&&d.jb[19]<<1!=d.jb[1]+1&&(a.ab=d.jb[19]<<(a.K?1:d.jb[20]&64?3:4),v=(a.ab*(a.O-1)+a.H)/a.Pb|0,a.Da<=tk&&(v<<=1));c+v>q&&(v=q-c,0>
|
||||
v&&(v=0));q=c+v;if(d=!b&&a.xa){for(var d=a.oa,B=!0,E=c>>>d.ha;0<v&&E<d.W.length;)d.W[E].Oa&&(d.W[E].Oa=B=!1,d.W[E].Ph=!0),v-=d.yb,E++;d=B}if(d){if(!e)return;if(!a.Ja){if(0>a.ha)return;k=a.ha;l=k+1}}if(a.K){if(a.Fa[a.K]){e=0;p=a.Ja=0;d=1048575;v=a.F.Jc&32;5<=a.nb&&(v=a.F.Ic[16]&8);v&&(p=32768,d&=~p,a.La&2||(d&=-65537));for(c+=k<<1;c<q&&k<l;)v=Mb(a.oa,c),v|=65536,v&p&&(a.Ja++,v&=d),k==a.ha&&(v|=a.La&1?131072:0),a.xa&&v===a.W[k]||(jl(a,k%a.H,k/a.H|0,v,a.Na),a.W[k]=v,e++),c+=2,k++;a.xa=!0;e&&a.Na&&a.da.drawImage(a.Ma,
|
||||
0,0,a.kb,a.vb,a.Fc,a.Gc,a.mc,a.rc);hl(a)}}else if(a.jc){for(var l=q,C,q=c,k=a.Ja=0,e=a.Pb,p=16==e?65536:196608,d=16==e?1:2,v=dl(a,d),E=B=0,J=a.H,R=0,W=a.O,da=0;q<l;){C=Mb(a.oa,q);if(a.xa&&C===a.W[k])B+=e;else{a.W[k]=C;C=C>>8|(C&255)<<8;var ka=p,Ba=16;B<J&&(J=B);for(var Ca=0;Ca<e;Ca++){var rd=(C&(ka>>=d))>>(Ba-=d);gl(a.Wa,B++,E,v[rd])}B>R&&(R=B);E<W&&(W=E);E>=da&&(da=E+1)}q+=2;k++;if(B>=a.H){B=0;E+=2;if(E>a.O)break;E==a.O&&(E=1,q=c+a.jc)}}a.xa=!0;J<a.H&&(a.Na.putImageData(a.Wa,0,0,J,W,R-J,da-W),a.da.drawImage(a.Ma,
|
||||
0,0,a.kb,a.vb,a.Fc,a.Gc,a.mc,a.rc);hl(a)}}else if(a.jc){for(var l=q,C,q=c,k=a.Ja=0,e=a.Pb,p=16==e?65536:196608,d=16==e?1:2,v=dl(a,d),E=B=0,J=a.H,R=0,W=a.O,da=0;q<l;){C=Mb(a.oa,q);if(a.xa&&C===a.W[k])B+=e;else{a.W[k]=C;C=C>>8|(C&255)<<8;var ka=p,Ba=16;B<J&&(J=B);for(var Ca=0;Ca<e;Ca++){var sd=(C&(ka>>=d))>>(Ba-=d);gl(a.Wa,B++,E,v[sd])}B>R&&(R=B);E<W&&(W=E);E>=da&&(da=E+1)}q+=2;k++;if(B>=a.H){B=0;E+=2;if(E>a.O)break;E==a.O&&(E=1,q=c+a.jc)}}a.xa=!0;J<a.H&&(a.Na.putImageData(a.Wa,0,0,J,W,R-J,da-W),a.da.drawImage(a.Ma,
|
||||
0,0,a.H,a.O,0,0,a.na,a.va))}else if(a.ed){l=p;e=a.Ja=0;p=dl(a,8);d=a.F.rd;B=v=0;E=a.H;J=0;R=a.O;W=0;da=a.F.ye[4]&8?4:1;C=a.F.Ic[19]&15;for(ka=a.ab>a.H?a.ab-a.H-C>>3:0;c<q;){k=d[c-l];Ca=4;C||(a.xa&&k===a.W[e]?(v+=Ca,Ca=0):a.W[e]=k,e++);if(Ca){v<E&&(E=v);for(Ba=0;Ba<Ca;Ba++)gl(a.Wa,v++,B,p[k&255]),k>>=8;v>J&&(J=v);B<R&&(R=B);B>=W&&(W=B+1)}c+=da;if(v>=a.H){v=0;if(++B>a.O)break;c+=ka}}C||(a.xa=!0);E<a.H&&(a.Na.putImageData(a.Wa,0,0,E,R,J-E,W-R),a.da.drawImage(a.Ma,0,0,a.H,a.O,0,0,a.na,a.va))}else{l=p;
|
||||
k=a.Ja=0;e=dl(a);p=a.F.rd;v=d=0;B=a.H;E=0;J=a.O;R=0;W=a.F.Ic[19]&15;for(da=a.ab>a.H?a.ab-a.H-W>>3:0;c<q;){C=c++-l;C=p[C];Ba=8;W?d?(ka=a.H-d,Ba>ka&&(Ba=ka)):(C<<=W,Ba-=W,a.xa=!1):(a.xa&&C===a.W[k]?(d+=Ba,Ba=0):a.W[k]=C,k++);if(Ba){d<B&&(B=d);for(ka=0;ka<Ba;ka++)Ca=Gk[C&-2139062144]||0,gl(a.Wa,d++,v,e[Ca]),C<<=1;d>E&&(E=d);v<J&&(J=v);v>=R&&(R=v+1)}if(d>=a.H){d=0;if(++v>a.O)break;c+=da}}W||(a.xa=!0);B<a.H&&(a.Na.putImageData(a.Wa,0,0,B,J,E-B,R-J),a.da.drawImage(a.Ma,0,0,a.H,a.O,0,0,a.na,a.va))}}}}
|
||||
function ol(a,b){var c=0,d=vc(a.A)-b.yg;0>d&&(b.yg=d,d=-d|0);d%b.ug>b.Tk&&(c|=1);d%b.xg>b.Vk&&(c|=9);b.ih=d/b.xg|0;return c}f.tk=function(){var a=this.ka,b;a.$b&&(b=a.qc);return b};f.Gl=function(a,b){var c=this.ka;c.Sf=c.qc;c.qc=b&31};f.sk=function(){return pl(this.ka)};f.Fl=function(a,b){ql(this,this.ka,b)};f.uk=function(){return this.ka.Jc};f.Hl=function(a,b){this.ka.Jc=b;bl(this,!1)};f.vk=function(){return rl(this,this.ka)};f.dj=function(a,b){this.B.Uf=this.B.Uf&-4|b&3};f.Sj=function(){return this.B.Sd};
|
||||
|
|
@ -946,12 +947,12 @@ f.nc=function(a,b,c,d){this.ta=a;this.oa=b;this.A=c;this.Ta=d;for(b=null;b=lb(a,
|
|||
f.Sb=function(a){return a?this.save():!0};f.reset=function(){Il(this)};f.save=function(){var a=new Vd(this),b=0,c=[];c[b++]=this.$b;c[b++]=this.J;c[b++]=this.K;c[b++]=this.N;c[b++]=this.T;c[b++]=this.O;c[b++]=this.S;c[b]=this.D;D(a,0,c);return a.data()};f.restore=function(a){return Il(this,a[0])};function Il(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.$b=d;a.J=b[c++];a.K=b[c++];a.N=b[c++];a.T=b[c++];a.O=b[c++];a.S=b[c++];a.D=b[c];return!0}f.Ze=function(a){this.W=a};
|
||||
function Fl(a){if(!a.Z)for(var b=0;b<a.B.length;b++)Jl(a,a.B[b])&&(a.Z=!0)}function Gl(a){if(a.Z)for(var b=0;b<a.B.length;b++){var c=a.B[b];c&&(c.style.cursor="auto")}}function Jl(a,b){return b?(b.addEventListener("mousemove",function(b){Kl(a,b)},!1),b.addEventListener("mousedown",function(b){Kl(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Kl(a,b,!1)},!1),b.style.cursor="none",!0):!1}
|
||||
function Kl(a,b,c){if(void 0!==c){var d;!(d=!1!==a.W)&&(d=a.F.length)&&(d=a.F[0],d=d.Vd?d.Ld(!0):!1);d||(a.W=null);a.he(b.button,c)}else{if(0>a.J||0>a.K)a.J=b.clientX,a.K=b.clientY;a.W?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.J,d=b.clientY-a.K);a.J=b.clientX;a.K=b.clientY;a.pg(c,d,a.J,a.K)}}
|
||||
f.he=function(a,b){if(this.$b&&this.A&&this.A.ja.Rb)switch(a){case Yk:this.O!=b&&(this.O=b,Ll(this));break;case 2:this.S!=b&&(this.S=b,Ll(this))}};f.pg=function(a,b){this.$b&&this.A&&this.A.ja.Rb&&(a||b)&&(this.N=a,this.T=b,Ll(this))};function Ll(a){Al(a.H,[64|(a.O?32:0)|(a.S?16:0)|(a.T&192)>>4|(a.N&192)>>6,a.N&63,a.T&63]);a.N=a.T=0}Fa(function(){for(var a=$a(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Xa(c),d=new Hl(d);Za(d,c)}});
|
||||
f.he=function(a,b){if(this.$b&&this.A&&this.A.ja.Rb)switch(a){case Yk:if(this.O!=b){this.O=b;Ll(this);break}break;case 2:this.S!=b&&(this.S=b,Ll(this))}};f.pg=function(a,b){this.$b&&this.A&&this.A.ja.Rb&&(a||b)&&(this.N=a,this.T=b,Ll(this))};function Ll(a){Al(a.H,[64|(a.O?32:0)|(a.S?16:0)|(a.T&192)>>4|(a.N&192)>>6,a.N&63,a.T&63]);a.N=a.T=0}Fa(function(){for(var a=$a(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Xa(c),d=new Hl(d);Za(d,c)}});
|
||||
function Ml(a,b,c){Ja.call(this,"Disk",{id:a.mf+".disk"+ea(++Nl,4)},Ml);this.controller=a;this.ta=a.ta;this.Ta=a.Ta;this.D=b;this.B=b.name;this.me=b.me;this.Cf=this.F=!1;Ol(this,c,b.ob,b.pb,b.ib,b.tb);this.K=[];this.O=[];this.H=null;this.W=0;this.S=!1;bb(this)}var Nl=0;Ra(Ml);f=Ml.prototype;f.nc=function(a,b,c,d){this.Ta=d};f.Tb=function(a,b){b||!this.Cf||this.F||(bb(this,!1),this.load(this.B,this.J,null,this.Gj,this));return!0};f.Gj=function(){bb(this,!0)};
|
||||
f.Sb=function(a,b){if(this.F){var c,d=0;if(this.S&&!sa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Pl(this,!1);)if(d=c[0]){this.controller.Ha('Unable to save "'+this.B+'" (error '+d+")");break}b&&this.F&&(c="action=close&volume="+this.J,c+="&machine="+this.controller.qe(),c+="&user="+this.controller.xd(),qa(ra()+"/api/v1/disk?"+c,null,!0),this.F=!1);!d&&a&&this.controller.Ha(this.B+" saved")}return!0};
|
||||
function Ol(a,b,c,d,e,k){a.mode=b;a.ob=c;a.pb=d;a.ib=e;a.tb=k;a.A=[];if("preload"!=a.mode){b=Array(a.ob);for(c=0;c<b.length;c++){d=Array(a.pb);for(e=0;e<d.length;e++){k=Array(a.ib);for(var l=1;l<=k.length;l++)k[l-1]=Ql(null,c,e,l,a.tb,"local"==a.mode?0:null);d[e]=k}b[c]=d}a.A=b}a.T=null}
|
||||
f.load=function(a,b,c,d,e){var k=b;if(this.N)return!0;this.B=a;this.J=b;this.gj=fa(b);var l=this;this.N=d;this.Z=e||this.controller;if(c){var p=new FileReader;p.onload=function(){var a=p.result,b,c=a?a.byteLength:0,d=ba[c];if(d){l.ob=d[0];l.pb=d[1];l.ib=d[2];l.tb=512;b=l.tb>>2;var e=d=0,a=new DataView(a,0,c);l.A=Array(l.ob);for(c=0;c<l.A.length;c++)for(var k=l.A[c]=Array(l.pb),R=0;R<k.length;R++)for(var W=k[R]=Array(l.ib),da=0;da<W.length;da++){for(var ka=Ql(null,c,R,da+1,l.tb,0),Ba=ka.data,Ca=0;Ca<
|
||||
b;Ca++,e+=4)var rd=Ba[Ca]=a.getInt32(e,!0),d=d+rd&-1;ka.Cc=b;W[da]=ka}l.T=d;b=l}else l.Ha("Unrecognized diskette format ("+c+" bytes)");l.N&&(l.N.call(l.controller,l.D,b,l.B,l.J),l.N=null)};p.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?k=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(k=Rl(this,b),this.Cf=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):
|
||||
b;Ca++,e+=4)var sd=Ba[Ca]=a.getInt32(e,!0),d=d+sd&-1;ka.Cc=b;W[da]=ka}l.T=d;b=l}else l.Ha("Unrecognized diskette format ("+c+" bytes)");l.N&&(l.N.call(l.controller,l.D,b,l.B,l.J),l.N=null)};p.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?k=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(k=Rl(this,b),this.Cf=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):
|
||||
ha(b,"/")&&(c="dir"),k=ra()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.me?"":d)+"&format=json"));return!!qa(k,null,!0,function(a,b,c){Sl(l,a,b,c)})};
|
||||
function Sl(a,b,c,d){var e=null;a.pe=!1;var k=0>d&&a.ta&&!a.ta.ja.Qb;if(a.Cf)d?a.controller.Ha('Unable to connect to disk "'+a.J+'" (error '+d+": "+c+")",k):(a.F=!0,e=a);else if(d)a.controller.Ha('Unable to load disk "'+a.B+'" (error '+d+": "+b+")",k);else{Ta(a.controller.mf,b,c);try{if(0<fa(a.gj,!0).toLowerCase().indexOf("-readonly"))a.pe=!0;else{var l=c.indexOf("\n");0<l&&1024>l&&0<c.substring(0,l).indexOf("write-protected")&&(a.pe=!0)}var p;"<"==c.substr(0,1)?p=["Missing disk image: "+a.B]:p=0>
|
||||
c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(p.length)if(1==p.length)g(p[0]);else{a.ob=p.length;a.pb=p[0].length;a.ib=p[0][0].length;var q=p[0][0][0];a.tb=q&&q.length||512;for(d=c=0;d<a.ob;d++)for(k=0;k<a.pb;k++)for(l=0;l<a.ib;l++)if(q=p[d][k][l]){var v=q.length;void 0===v&&(v=q.length=512);var v=v>>2,B=q.pattern;void 0===B&&(B=q.pattern=0);var E=q.data;if(void 0===E){var C=q.bytes;if(void 0!==C&&C.length){for(var J=
|
||||
|
|
@ -1036,8 +1037,9 @@ function hn(a,b){if(sa("There may be a problem with your PCjs machine.\n\nTo hel
|
|||
function kn(a,b,c){var d,e="none";if(a.F)return null;a.F--;var k=new Vd(a,dn),l=new Vd(a,dn,"validate"),p=ma();D(l,"timestamp",p);D(k,"timestamp",p);D(k,"version","1.20.9");D(k,"url",window?window.location.href:null);D(k,"browser",window?window.navigator.userAgent:"");a.A&&a.A.Sb&&(c&&qc(a.A),d=a.A.Sb(b,c),"object"===typeof d&&D(k,a.A.id,d),c&&(a.A.ja.Qb=!1,!1===d&&(e=null)));for(var p=Ua(a.id),q=0;q<p.length;q++){var v=p[q];v.ja.Qb&&(v.Sb&&(d=v.Sb(b,c),"object"===typeof d&&D(k,v.id,d)),c&&(v.ja.Qb=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(p=d=!1,b?(a.D&&ln(a,a.D,k.toString()),Xm(l)&&Xm(k)||(e=null,d=p=!0)):a.B&&(d=!0,p=3==a.B),d&&k.clear(p)):e=k.toString());c&&(a.ja.Qb=!1,b=a.pa.power)&&(b.textContent="Power");a.F=0;return e}f.reset=function(){this.oa&&this.oa.reset&&this.oa.reset();for(var a=Ua(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&c.reset()}};f.start=function(a,b){for(var c=Ua(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=Ua(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
f.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.pa[b]=c,c.onclick=function(){d.F||(d.ja.Qb?kn(d,!1,!0):fn(d,d.bf))},!0;case "reset":return this.pa[b]=c,c.onclick=function(){if(d.ja.Qb&&!d.F)if(d.B&&!d.N){var a=sa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kn(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.lg=!0),d.bf(bn),d.lg=!1)}else d.reset(),d.A&&nc(d.A)},!0;case "save":return this.pa[b]=c,c.onclick=
|
||||
function(){var a=cn(d,!0);if(a){var b=!!(d.B&&!d.N||d.W),c=kn(d,b);b?ln(d,a,c):d.Ha("Resume disabled, machine state not saved")}},!0}return!1};function cn(a,b){var c=a.D;c||(c=va("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=mn(a,c))||a.Ha("The user ID is invalid."))):b&&a.Ha("Browser local storage is not available"));return c}
|
||||
f.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.pa[b]=c,c.onclick=function(){d.F||(d.ja.Qb?kn(d,!1,!0):fn(d,d.bf))},!0;case "reset":return this.pa[b]=c,c.onclick=function(){if(d.ja.Qb&&!d.F)if(d.B&&!d.N){var a=sa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kn(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.lg=!0),d.bf(bn),d.lg=!1)}else d.reset(),d.A&&nc(d.A)},!0;case "save":if(ha(ra(),"pcjs.org")){c.style.display=
|
||||
"none";break}this.pa[b]=c;c.onclick=function(){var a=cn(d,!0);if(a){var b=!!(d.B&&!d.N||d.W),c=kn(d,b);b?ln(d,a,c):d.Ha("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function cn(a,b){var c=a.D;c||(c=va("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=mn(a,c))||a.Ha("The user ID is invalid."))):b&&a.Ha("Browser local storage is not available"));return c}
|
||||
function mn(a,b){a.D=null;var c=qa(ra()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(wa("user",c.data),a.D=c.data)}catch(e){g(e.message+" ("+d+")")}return a.D}function en(a){var b=null;a.D&&(b=ra()+"/api/v1/user?req=load&user="+a.D+"&state="+Vm(a,dn));return b}
|
||||
function ln(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Vm(a,dn);d.data=c;b=qa(ra()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ha(c),wa("user",""),a.D=null)}}
|
||||
function lb(a,b,c){a=Ua(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Fa(function(){for(var a=$a(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Xa(c),c=$a(c,"pcjs","computer"),e=0;e<c.length;e++){var k=c[e],l=Xa(k),l=new $m(l,d,!0);Za(l,k);l.S&&fn(l,l.bf)}});za.show.push(function(){for(var a=$a(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Xa(a[b]);(c=Wa("Computer",c.id))&&c.Z&&!c.ja.Qb&&c.bf(-1)}});
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ Creates an instance of the Floppy Disk Controller (FDC) component. The FDC is re
|
|||
|
||||
Attributes
|
||||
---
|
||||
* *automount* (optional)
|
||||
* *autoMount* (optional)
|
||||
|
||||
This is an object definition containing one or more drive-letter properties.
|
||||
Each drive-letter property should contain, in turn, another object definition with 'name' and 'path' properties.
|
||||
|
|
@ -53,7 +53,7 @@ Bindings
|
|||
|
||||
Example
|
||||
---
|
||||
<fdc id="fdcNEC" automount="'{A: {name: "PC-DOS 1.0", path: "pcdos-1.00.json"}}'">
|
||||
<fdc id="fdcNEC" autoMount="'{A: {name: "PC-DOS 1.0", path: "pcdos-1.00.json"}}'">
|
||||
<control type="container">
|
||||
<control type="list" class="input" binding="listDrives"/>
|
||||
<control type="list" class="input" binding="listDisks">
|
||||
|
|
|
|||
Loading…
Reference in a new issue