Added more demos and support for mixed-case properties (including a new 'debugger' property in Markdown files)

This commit is contained in:
Jeff Parsons 2016-03-05 18:09:41 -08:00
commit 7ca64fcea5
162 changed files with 84341 additions and 345 deletions

View file

@ -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">

View file

@ -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>

View file

@ -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>

View file

@ -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)}});

View file

@ -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)}});

View file

@ -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">