Merge in old master changes

This commit is contained in:
Jeff Parsons 2015-12-16 12:41:02 -08:00
commit fbb9c14f59
6 changed files with 202 additions and 191 deletions

View file

@ -1,16 +1,9 @@
About JavaScript Machines
---
layout: page
title: JavaScript Machines
menu_title: About
menu_order: 10
permalink: /docs/about/
---
## About JavaScript Machines
The JavaScript Machines Project (originally at [jsmachines.net](http://jsmachines.net/)) is a collection of computer
simulations written in JavaScript. It has now been released on [GitHub](https://github.com/) as the
[PCjs Project](https://github.com/jeffpar/pcjs/tree/gh-pages), a copy of which is hosted here at [{{ site.pcjs.domain }}]({{ site.url }}/).
[PCjs Project](https://github.com/jeffpar/pcjs), a copy of which is hosted here at [pcjs.org](http://www.pcjs.org/).
The goals of the project are to create fast, full-featured simulations of classic computer
hardware, help people understand how these early machines worked, make it easy to experiment with different machine
@ -29,7 +22,7 @@ The first JavaScript Machines simulation was [C1Pjs](/docs/c1pjs/), a simulation
Challenger 1P, which was a 6502-based microcomputer introduced by Ohio Scientific in 1978.
C1Pjs v1.0 was released in July 2012, first on ecpsim.org and cpusim.org, then on [jsmachines.net](http://jsmachines.net/c1pjs),
and finally [{{ site.pcjs.domain }}]({{ site.url }}/). More information about the first release of C1Pjs was also
and finally [pcjs.org](http://www.pcjs.org/). More information about the first release of C1Pjs was also
[posted](http://osiweb.org/osiforum/viewtopic.php?f=3&t=103) on the [OSI Discussion Forum](http://osiweb.org/osiforum/index.php)
at [osiweb.org](http://osiweb.org/).
@ -53,8 +46,8 @@ Read [About PCjs](/docs/about/pcjs/) to learn more about its history, features,
### Migrating to Node: The PCjs Project
The JavaScript Machines Project was migrated to a [Node.js](http://nodejs.org) web server in 2014, and became the
PCjs Project.
The JavaScript Machines Project was migrated to a [Node.js](http://nodejs.org) web server ([pcjs.org](http://www.pcjs.org/))
in 2014, and became the PCjs Project.
The goals included:
@ -76,9 +69,9 @@ All published portions are free for redistribution and/or modification under the
[GNU General Public License](/LICENSE) as published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
You are required to include the following copyright notice, with a link to [{{ site.pcjs.domain }}]({{ site.url }}/):
You are required to include the following copyright notice, with a link to [http://pcjs.org]():
> [PCjs]({{ site.url }}/) © 2012-2015 by [Jeff Parsons](mailto:Jeff@pcjs.org) ([@jeffpar](http://twitter.com/jeffpar))
> [PCjs](http://pcjs.org) © 2012-2015 by [Jeff Parsons](mailto:Jeff@pcjs.org) ([@jeffpar](http://twitter.com/jeffpar))
in every source code file of every copy or modified version of this work, and to display that notice on every web page
or computer that runs any version of this software.

View file

@ -44,7 +44,7 @@ b.length;a.ed=a.Dd-1;a=this.M;a.Jb=a.qb=this.Jb;sb(this)}eb(Nb);var Ib,Qb={Qj:20
function Vb(a,b,c,d,e){for(var f=b>>>a.La;0<c&&f<a.wa.length;){var g=a.wa[f],k=f*a.Pb,q=c>a.Pb?a.Pb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Sa)return g.Ie+=g.Sa-b,g.Sa=b,!0;if(b>=g.Sa+g.Ie){q=g.size-(b-k);q>c&&(q=c);g.Ie=b-g.Sa+q;c-=q;b=k+a.Pb;continue}}return Wb(a,1,b,c)}g=a.wa[f];b=new Ob(b,q,a.Pb,d,e);Pb(b,a.ma,g);a.wa[f++]=b;b=k+a.Pb;c-=q}return 0<c?Wb(a,2,b,c):!0}
function Ub(a,b){if(32==a.O)b?a.ja&&(Xb(a,1048576,1048576,a.ja),a.ja=null):a.ja||(a.ja=Yb(a,1048576,1048576),Xb(a,1048576,1048576,Yb(a,0,1048576)));else if(20<a.O){var c=a.Jb&-1048577|(b?1048576:0);if(c!=a.Jb&&(a.Jb=c,a.M)){var d=a.M;d.Jb=d.qb=c}}}h.Ig=function(a,b,c,d){if(!(a&this.A||!b||b&this.A)){for(var e=a>>>this.La;0<b;){var f=this.wa[e];if(!f.controller)return Wb(this,3,a,b,d);Zb(f,c,!0);b-=this.Pb;e++}return!0}return Wb(this,4,a,b)};
function $b(a,b,c){if(!(b&a.A||!c||c&a.A)){for(var d=b>>>a.La;0<c;){var e=a.wa[d];b=new Ob(b);Pb(b,a.ma,e);a.wa[d++]=b;b=d*a.Pb;c-=a.Pb}return!0}return Wb(a,5,b,c)}function Yb(a,b,c){var d=[];for(b>>>=a.La;0<c&&b<a.wa.length;)d.push(a.wa[b++]),c-=a.Pb;return d}
function Xb(a,b,c,d,e){for(var f=0,g=b>>>a.La;0<c&&g<a.wa.length;){var k=d[f++];if(!k)break;if(void 0!==e){var q=new Ob(b),r=q,x=e,B=a.ma;r.id=k.id|1;r.Ie=k.Ie;r.size=k.size;x&&(r.type=x,r.ja=x==ac);vb?(r.Z=k.Z,r.ia=k.ia,r.cb=k.cb,r.fe=k.fe,r.fa=k.fa,Zb(r,bc?cc:dc)):(r.fa=k.fa,Zb(r,ec));Pb(r,B,k);k=q}a.wa[g++]=k;c-=a.Pb}}h.Xa=function(a){return this.wa[(a&this.Jb)>>>this.La].nc(a&this.A,a)};function Lb(a,b){return a.wa[(b&a.Jb)>>>a.La].ne(b&a.A,b)}
function Xb(a,b,c,d,e){for(var f=0,g=b>>>a.La;0<c&&g<a.wa.length;){var k=d[f++];if(!k)break;if(void 0!==e){var q=new Ob(b),r=q,x=e,B=a.ma;r.id=k.id|1;r.Ie=k.Ie;r.size=k.size;x&&(r.type=x,r.ja=x==ac);vb?(r.Z=k.Z,r.ia=k.ia,r.cb=k.cb,r.fe=k.fe,r.fa=k.fa,Zb(r,bc?cc:dc)):(r.fa=k.fa,Zb(r,ec));Pb(r,B,k);k=q}a.wa[g++]=k;c-=a.Pb}}h.Wa=function(a){return this.wa[(a&this.Jb)>>>this.La].nc(a&this.A,a)};function Lb(a,b){return a.wa[(b&a.Jb)>>>a.La].ne(b&a.A,b)}
h.ua=function(a){var b=a&this.A,c=(a&this.Jb)>>>this.La;return b!=this.A?this.wa[c].Tf(b,a):this.wa[c++].nc(b,a)|this.wa[c&this.P].nc(0,a+1)<<8};function fc(a,b){var c=b&a.A,d=(b&a.Jb)>>>a.La;return c!=a.A?a.wa[d].Uf(c,b):a.wa[d++].ne(c,b)|a.wa[d&a.P].ne(0,b+1)<<8}h.Ta=function(a){var b=a&this.A,c=(a&this.Jb)>>>this.La;if(b<this.A-2)return this.wa[c].Yd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;)d|=this.wa[c].nc(b++,a++)<<f,--g||(c=c+1&this.P,b=0),f+=8;return d};
h.xc=function(a,b){this.wa[(a&this.Jb)>>>this.La].yc(a&this.A,b&255,a)};h.pb=function(a,b){var c=a&this.A,d=(a&this.Jb)>>>this.La;c!=this.A?this.wa[d].bg(c,b&65535,a):(this.wa[d++].yc(c,b&255,a),this.wa[d&this.P].yc(0,b>>8&255,a+1))};function gc(a,b,c){var d=b&a.A,e=(b&a.Jb)>>>a.La;d!=a.A?a.wa[e].li(d,c&65535,b):(a.wa[e++].of(d,c&255,b),a.wa[e&a.P].of(0,c>>8&255,b+1))}
h.ub=function(a,b){var c=a&this.A,d=(a&this.Jb)>>>this.La;if(c<this.A-2)this.wa[d].ag(c,b);else for(var e=4,f=4-(c&3);e--;)this.wa[d].yc(c++,b&255,a++),--f||(d=d+1&this.P,c=0),b>>>=8};h.Ki=function(){return null};function hc(a,b){if(void 0===b)return a.ia=!a.ia,a.ia;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}
@ -96,7 +96,7 @@ function nd(a,b,c){var d=a.M,e=a.ac,f=d.ab.ga,g=d.ab.Ca;if(!c){if(!(d.ab.type&51
!0),t(d,d.Ta(k+g)));c&&d.pb(k+0,f);d.gb|=8;return!0}h.save=function(){return[this.ga,this.Ca,this.$a,this.Gb,this.id,this.hc,this.ac,this.Gc,this.cc,this.cd,this.Ea,this.ha,this.B,this.type,this.fc]};
h.restore=function(a){"number"==typeof a?this.load(a):(this.ga=a[0],this.Ca=a[1],this.$a=a[2],this.Gb=a[3],this.id=a[4],this.hc=a[5],this.ac=a[6],this.Gc=a[7],this.cc=a[8],this.cd=a[9]||2,this.Ea=a[10]||65535,this.ha=a[11]||2,this.B=a[12]||65535,this.type=a[13]||this.Gb&7936,this.fc=a[14]||(this.$a>>>0)+1)};
function gd(a,b,c,d){void 0===c&&(c=!!(a.M.gb&1));a.Zc=!1;if(c)if(a.load=a.mg,a.Mi=a.Vl,a.Fc=a.vi,a.Ac=a.xi,void 0===d&&(d=!!(a.M.ea&131072)),d)a.load=a.ya,a.Fc=a.P,a.Ac=a.ja,a.ac=a.Gc=3,a.ha=a.cd=2,a.B=a.Ea=65535,a.$a=65535,a.fc=a.$a+1,a.cd=a.ha,a.cc=-1,a.We=!1;else{if(!(a.ga&-4))a.Fc=a.hg,a.Ac=a.ig;else if(a.type&4096){6144==(a.type&6656)&&(a.Fc=a.hg);if(a.type&2048||!(a.type&512))a.Ac=a.ig;1024==(a.type&3072)&&(a.Fc==a.vi&&(a.Fc=a.Bk),a.Ac==a.xi&&(a.Ac=a.Ck),a.Zc=!0);b&&6>a.id&&a.ga&-4&&-1!==a.cc&&
(c=a.cc+5,a.M.xc(c,a.M.Xa(c)|1))}b&&(a.ac=a.ga&3,a.Gc=(a.Gb&24576)>>13,80386>a.M.na||!(a.ext&64)?(a.ha=2,a.B=65535):(a.ha=4,a.B=-1),a.cd=a.ha,a.Ea=a.B)}else a.load=a.ih,a.Mi=a.Wl,a.Fc=a.wi,a.Ac=a.yi,a.ac=a.Gc=0,a.cc=-1,a.We=!1}
(c=a.cc+5,a.M.xc(c,a.M.Wa(c)|1))}b&&(a.ac=a.ga&3,a.Gc=(a.Gb&24576)>>13,80386>a.M.na||!(a.ext&64)?(a.ha=2,a.B=65535):(a.ha=4,a.B=-1),a.cd=a.ha,a.Ea=a.B)}else a.load=a.ih,a.Mi=a.Wl,a.Fc=a.wi,a.Ac=a.yi,a.ac=a.Gc=0,a.cc=-1,a.We=!1}
function Cd(a){this.na=a.model||8088;var b=a.stepping;this.ic=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}Mc.call(this,a,b);this.Rf=61442;this.$b=1792;this.Pf=28672;this.Ad=4;this.va=255;this.C=80286<=this.na?xb:wb;this.W=Dd;this.Yf=Ed;this.Zf=Fd;this.$f=Gd;if(80186<=this.na&&(this.W=Dd.slice(),this.Yf=Ed.slice(),this.Zf=Fd.slice(),this.va=31,this.W[15]=Hd,this.W[96]=Id,this.W[97]=Jd,this.W[98]=Kd,this.W[99]=Hd,this.W[100]=Hd,this.W[101]=
Hd,this.W[102]=Hd,this.W[103]=Hd,this.W[104]=Ld,this.W[105]=Md,this.W[106]=Nd,this.W[107]=Rd,this.W[108]=Sd,this.W[109]=Td,this.W[110]=Yd,this.W[111]=Zd,this.W[192]=$d,this.W[193]=ae,this.W[200]=be,this.W[201]=ce,this.W[241]=de,this.Yf[7]=ee,this.Zf[7]=ee,80286<=this.na)){this.Rf=2;this.$b|=28672;this.Ad=0;this.W[15]=fe;this.Qb=ge.slice();for(a=0;a<this.Qb.length;a++)this.Qb[a]||(this.Qb[a]=he);this.W[84]=ie;this.W[99]=je;if(80386<=this.na){var c;this.Pf=0;this.$b|=196608;this.W[100]=ke;this.W[101]=
le;this.W[102]=me;this.W[103]=ne;for(c in w)this.Qb[+c]=w[c];80546<=this.ic&&80562>=this.ic&&(this.Qb[166]=oe,this.Qb[167]=pe)}}this.Fd=[];this.Gd=[];this.Id=0;Nc(this);this.sa.Sd=this.sa.Ei=!1;this.Kg=0;this.Lc=this.wa=[];this.La=this.Pb=this.Ga=this.Dd=this.ed=this.Jb=this.qb=0;qe(this)}eb(Cd,Mc);
@ -121,14 +121,14 @@ function lf(a,b,c,d,e){a.resultType=c|26;a.Sc=b;d?mf(a):nf(a);e?of(a):pf(a);retu
function gf(a){a.resultType&4&&(a.ea&=-17,(a.Qc^a.Rc^a.sd)&16&&(a.ea|=16),a.resultType&=-5);return a.ea&16}function hf(a){a.resultType&8&&(a.ea&=-65,a.Sc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ea|=64),a.resultType&=-9);return a.ea&64}function jf(a){a.resultType&16&&(a.ea&=-129,a.Sc&a.resultType&-2147450752&&(a.ea|=128),a.resultType&=-17);return a.ea&128}
function kf(a){a.resultType&32&&(a.ea&=-2049,(a.Rc^a.Qc)&(a.sd^a.Qc)&a.resultType&-2147450752&&(a.ea|=2048),a.resultType&=-33);return a.ea&2048}function nf(a){a.resultType&=-2;a.ea&=-2}function sf(a){a.resultType&=-5;a.ea&=-17}function tf(a){a.resultType&=-9;a.ea&=-65}function pf(a){a.resultType&=-33;a.ea&=-2049}function mf(a){a.resultType&=-2;a.ea|=1}function uf(a){a.resultType&=-5;a.ea|=16}function vf(a){a.resultType&=-9;a.ea|=64}function of(a){a.resultType&=-33;a.ea|=2048}
function yd(a){return a.ea&-2262|ef(a)|ff(a)|gf(a)|hf(a)|jf(a)|kf(a)}function wf(a,b){b=b|a.gb&1|65520;a.gb=a.gb&-65536|b&65535;a.gb&1&&sd(a,!0)}function zd(a,b,c){a.gb&1||(b&=~a.Pf);void 0===c&&(c=a.ta);c?b=b&-12289|a.ea&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ea&512);a.resultType=128;a.ea=a.ea&~(a.$b|2261)|b&(a.$b|2261)|a.Rf;a.ea&256&&(a.xa|=2,a.V|=4)}
function xf(a,b,c,d){var e=0;if(a.gb&1&&(a.ta>a.Pa||a.ea&131072)&&a.ab.oi)for(var f=a.ab.oi+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.ab.yk&&!(a.Xa(f)&e);)e>>>=8,f++;return e?(n(a,256)&&nb(a,"checkIOPM("+ga(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),p.call(a,13,0),!1):!0}
function xf(a,b,c,d){var e=0;if(a.gb&1&&(a.ta>a.Pa||a.ea&131072)&&a.ab.oi)for(var f=a.ab.oi+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.ab.yk&&!(a.Wa(f)&e);)e>>>=8,f++;return e?(n(a,256)&&nb(a,"checkIOPM("+ga(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),p.call(a,13,0),!1):!0}
h.Yb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ya[b]=c;this.Kg++;d=!0;break;default:d=this.parent.Yb.call(this,a,b,c)}return d};
function yf(a,b,c,d){var e=(!1===d?a.Lc:a.wa)[(b&a.qb)>>>a.La];e&&5==e.type&&(e=Gc(a,b,!1,!0));if(e){var f=b&a.Ga;if(!c||1==c)return e.ne(f,b);if(2==c)return f<a.Ga?e.Uf(f,b):e.ne(f,b)|yf(a,b+1,1,d)<<8;if(4==c)return f<a.Ga-2?e.fi(f,b):f==a.Ga-1?e.Uf(f,b)|yf(a,b+2,2,d)<<16:e.ne(f,b)|yf(a,b+1,1,d)<<8|yf(a,b+2,1,d)<<16|yf(a,b+3,1,d)<<24}return null}h.Xa=function(a){return this.wa[(a&this.qb)>>>this.La].nc(a&this.Ga,a)};
function yf(a,b,c,d){var e=(!1===d?a.Lc:a.wa)[(b&a.qb)>>>a.La];e&&5==e.type&&(e=Gc(a,b,!1,!0));if(e){var f=b&a.Ga;if(!c||1==c)return e.ne(f,b);if(2==c)return f<a.Ga?e.Uf(f,b):e.ne(f,b)|yf(a,b+1,1,d)<<8;if(4==c)return f<a.Ga-2?e.fi(f,b):f==a.Ga-1?e.Uf(f,b)|yf(a,b+2,2,d)<<16:e.ne(f,b)|yf(a,b+1,1,d)<<8|yf(a,b+2,1,d)<<16|yf(a,b+3,1,d)<<24}return null}h.Wa=function(a){return this.wa[(a&this.qb)>>>this.La].nc(a&this.Ga,a)};
h.ua=function(a){var b=a&this.Ga,c=(a&this.qb)>>>this.La;this.A-=this.C.yg;if(b<this.Ga)return this.wa[c].Tf(b,a);b=this.wa[c].nc(b,a);this.V&4096||(b|=this.wa[c+1&this.ed].nc(0,a+1)<<8);return b};h.Ta=function(a){var b=a&this.Ga,c=(a&this.qb)>>>this.La;if(b<this.Ga-2)return this.wa[c].Yd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.wa[c].nc(b++,a++)<<f;if(this.V&4096)break;--g||(c=c+1&this.ed,b=0);f+=8}return d};h.xc=function(a,b){this.wa[(a&this.qb)>>>this.La].yc(a&this.Ga,b&255,a)};
h.pb=function(a,b){var c=a&this.Ga,d=(a&this.qb)>>>this.La;this.A-=this.C.yg;c<this.Ga?this.wa[d].bg(c,b&65535,a):(this.wa[d++].yc(c,b&255,a),this.V&4096||this.wa[d&this.ed].yc(0,b>>8&255,a+1))};h.ub=function(a,b){var c=a&this.Ga,d=(a&this.qb)>>>this.La;this.A-=this.C.yg;if(c<this.Ga-2)this.wa[d].ag(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.wa[d].yc(c++,b&255,a++);if(this.V&4096)break;--f||(d=d+1&this.ed,c=0);b>>>=8}};function zf(a,b,c){a.nd=b;a.X=b.Fc(a.rb=c,1);return a.V&1?0:a.Xa(a.X)}
function E(a,b){return zf(a,a.O,b&a.Ea)}function G(a,b){return zf(a,a.P,b&a.Ea)}function Af(a,b,c){a.nd=b;a.X=b.Fc(a.rb=c,a.ha);return a.V&1?0:a.vb(a.X)}function H(a,b){return Af(a,a.O,b&a.Ea)}function J(a,b){return Af(a,a.P,b&a.Ea)}function Bf(a,b,c){a.nd=b;a.Z=a.X=b.Fc(a.rb=c,1);return a.V&1?0:a.Xa(a.X)}function K(a,b){return Bf(a,a.O,b&a.Ea)}function M(a,b){return Bf(a,a.P,b&a.Ea)}function Cf(a,b,c){a.nd=b;a.Z=a.X=b.Fc(a.rb=c,a.ha);return a.V&1?0:a.vb(a.X)}
function N(a,b){return Cf(a,a.O,b&a.Ea)}function O(a,b){return Cf(a,a.P,b&a.Ea)}function Q(a,b){a.V&2||a.xc(a.nd.Ac(a.rb,1),b)}function R(a,b){a.V&2||a.oc(a.nd.Ac(a.rb,a.ha),b)}function ud(a,b,c){return a.vb(b.Fc(c,a.ha))}h.ca=function(){var a=this.Xa(this.Ma);bf(this,1);return a};function Df(a){var b=a.ua(a.Ma);bf(a,2);return b}function S(a){var b=a.dc(a.Ma);bf(a,a.cd);return b}h.Qa=function(){var a=this.vb(this.Ma);bf(this,this.ha);return a};
h.L=function(){var a=this.Xa(this.Ma)<<24>>24;bf(this,1);return a};function T(a,b){var c=a.Xa(a.Ma);bf(a,1);return Ef[c].call(a,b)}function ld(a){var b=a.vb(a.ka);a.ka=a.ka+a.ha|0;var c=a.Gg-a.ka|0;0>c&&0<=(a.Gg^a.ka)&&(8088>=a.na||!a.za.Zc&&a.za.$a==a.za.Ea||a.za.Zc&&!a.za.$a?t(a,a.ka-a.za.Ca&a.za.Ea):-1>c&&p.call(a,12,0));return b}
h.pb=function(a,b){var c=a&this.Ga,d=(a&this.qb)>>>this.La;this.A-=this.C.yg;c<this.Ga?this.wa[d].bg(c,b&65535,a):(this.wa[d++].yc(c,b&255,a),this.V&4096||this.wa[d&this.ed].yc(0,b>>8&255,a+1))};h.ub=function(a,b){var c=a&this.Ga,d=(a&this.qb)>>>this.La;this.A-=this.C.yg;if(c<this.Ga-2)this.wa[d].ag(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.wa[d].yc(c++,b&255,a++);if(this.V&4096)break;--f||(d=d+1&this.ed,c=0);b>>>=8}};function zf(a,b,c){a.nd=b;a.X=b.Fc(a.rb=c,1);return a.V&1?0:a.Wa(a.X)}
function E(a,b){return zf(a,a.O,b&a.Ea)}function G(a,b){return zf(a,a.P,b&a.Ea)}function Af(a,b,c){a.nd=b;a.X=b.Fc(a.rb=c,a.ha);return a.V&1?0:a.vb(a.X)}function H(a,b){return Af(a,a.O,b&a.Ea)}function J(a,b){return Af(a,a.P,b&a.Ea)}function Bf(a,b,c){a.nd=b;a.Z=a.X=b.Fc(a.rb=c,1);return a.V&1?0:a.Wa(a.X)}function K(a,b){return Bf(a,a.O,b&a.Ea)}function M(a,b){return Bf(a,a.P,b&a.Ea)}function Cf(a,b,c){a.nd=b;a.Z=a.X=b.Fc(a.rb=c,a.ha);return a.V&1?0:a.vb(a.X)}
function N(a,b){return Cf(a,a.O,b&a.Ea)}function O(a,b){return Cf(a,a.P,b&a.Ea)}function Q(a,b){a.V&2||a.xc(a.nd.Ac(a.rb,1),b)}function R(a,b){a.V&2||a.oc(a.nd.Ac(a.rb,a.ha),b)}function ud(a,b,c){return a.vb(b.Fc(c,a.ha))}h.ca=function(){var a=this.Wa(this.Ma);bf(this,1);return a};function Df(a){var b=a.ua(a.Ma);bf(a,2);return b}function S(a){var b=a.dc(a.Ma);bf(a,a.cd);return b}h.Qa=function(){var a=this.vb(this.Ma);bf(this,this.ha);return a};
h.L=function(){var a=this.Wa(this.Ma)<<24>>24;bf(this,1);return a};function T(a,b){var c=a.Wa(a.Ma);bf(a,1);return Ef[c].call(a,b)}function ld(a){var b=a.vb(a.ka);a.ka=a.ka+a.ha|0;var c=a.Gg-a.ka|0;0>c&&0<=(a.Gg^a.ka)&&(8088>=a.na||!a.za.Zc&&a.za.$a==a.za.Ea||a.za.Zc&&!a.za.$a?t(a,a.ka-a.za.Ca&a.za.Ea):-1>c&&p.call(a,12,0));return b}
function Ff(a,b,c){var d=a.ka-c|0;0>(d-a.pd|0)&&0<=(a.pd^d)&&(8088>=a.na||!a.za.Zc&&a.za.$a==a.za.Ea||a.za.Zc&&!a.za.$a?(t(a,d-a.za.Ca&a.za.Ea),d=a.ka):p.call(a,12,0));2==c?a.pb(d,b):a.ub(d,b);a.ka=d}function vd(a,b){var c=a.ka-a.ha|0;0>(c-a.pd|0)&&0<=(a.pd^c)&&(8088>=a.na||!a.za.Zc&&a.za.$a==a.za.Ea||a.za.Zc&&!a.za.$a?(t(a,c-a.za.Ca&a.za.Ea),c=a.ka):p.call(a,12,0));a.oc(c,b);a.ka=c}
function Gf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.na)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.ya[b]&&(void 0===c&&(ub(a,"Value for "+b+" is invalid"),a.Zb()),d=!a.sa.Mb||a.sa.Gi?l(c,d):"--------".substr(0,d),a.ya[b].textContent!=d&&(a.ya[b].textContent=d))}
h.od=function(a){if(this.Kg&&(a||!this.sa.Mb||this.sa.Gi)){Gf(this,"EAX",this.F);Gf(this,"EBX",this.D);Gf(this,"ECX",this.G);Gf(this,"EDX",this.H);Gf(this,"ESP",u(this));Gf(this,"EBP",this.K);Gf(this,"ESI",this.J);Gf(this,"EDI",this.I);Gf(this,"CS",this.Ba.ga);Gf(this,"DS",this.Db.ga);Gf(this,"SS",this.za.ga);Gf(this,"ES",this.hb.ga);Gf(this,"EIP",v(this));var b=yd(this);Gf(this,"PS",b);Gf(this,"V",b&2048);Gf(this,"D",b&1024);Gf(this,"I",b&512);Gf(this,"T",b&256);Gf(this,"S",b&128);Gf(this,"Z",b&
@ -195,7 +195,7 @@ function Jd(){this.Y=this.ka;this.I=this.I&~this.B|ld(this);this.J=this.J&~this.
function ke(){this.V|=20;this.O=this.P=this.Tb;this.A-=this.C.ld}function le(){this.V|=20;this.O=this.P=this.Ub;this.A-=this.C.ld}function me(){this.V|=1024;this.Ja&1024||(this.ha^=6,this.B^=-65536,Ie(this));this.A-=this.C.ld}function ne(){this.V|=2048;this.Ja&2048||(this.cd^=6,this.Ea^=-65536,xe(this));this.A-=this.C.ld}function Ld(){vd(this,this.Qa());this.A-=this.C.Oc}function Md(){this.da[this.ca()].call(this,Dh)}function Nd(){vd(this,this.L());this.A-=this.C.Oc}
function Rd(){this.da[this.ca()].call(this,Bh)}function Sd(){var a=1,b=0,c=this.Ea,d=5;this.Ja&192&&(a=this.G&c,b=1,this.Ja&256&&(d=4));if(a--){var e=this.H&65535;xf(this,e,1,!0)&&(e=jc(this.ja,e,1,this.Ma-b-1),this.xc(this.hb.Ac(this.I&c,1),e),this.V&4096||(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&&(cf(this),this.V|=256)))}}
function Td(){var a=1,b=0,c=this.Ea,d=5;this.Ja&192&&(a=this.G&c,b=1,this.Ja&256&&(d=4));if(a--){var e=this.H&65535;xf(this,e,this.ha,!0)&&(e=jc(this.ja,e,this.ha,this.Ma-b-1),this.oc(this.hb.Ac(this.I&c,this.ha),e),this.V&4096||(this.I=this.I&~c|this.I+(this.ea&1024?-this.ha:this.ha)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(cf(this),this.V|=256)))}}
function Yd(){var a=1,b=0,c=this.Ea,d=5;this.Ja&192&&(a=this.G&c,b=1,this.Ja&256&&(d=4));if(a--){var e=this.H&65535;if(xf(this,e,1,!1)){var f=this.Xa(this.Db.Fc(this.J&c,1));this.V&4096||(nc(this.ja,e,1,f,this.Ma-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&&(cf(this),this.V|=256))}}}
function Yd(){var a=1,b=0,c=this.Ea,d=5;this.Ja&192&&(a=this.G&c,b=1,this.Ja&256&&(d=4));if(a--){var e=this.H&65535;if(xf(this,e,1,!1)){var f=this.Wa(this.Db.Fc(this.J&c,1));this.V&4096||(nc(this.ja,e,1,f,this.Ma-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&&(cf(this),this.V|=256))}}}
function Zd(){var a=1,b=0,c=this.Ea,d=5;this.Ja&192&&(a=this.G&c,b=1,this.Ja&256&&(d=4));if(a--){var e=ud(this,this.Db,this.J&c);if(!(this.V&4096)){var f=this.H&65535;xf(this,f,this.ha,!1)&&(nc(this.ja,f,this.ha,e,this.Ma-b-1),this.J=this.J&~c|this.J+(this.ea&1024?-this.ha:this.ha)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(cf(this),this.V|=256))}}}function jj(){var a=this.L();kf(this)?($e(this,v(this)+a),this.A-=this.C.eb):this.A-=this.C.fb}
function kj(){var a=this.L();kf(this)?this.A-=this.C.fb:($e(this,v(this)+a),this.A-=this.C.eb)}function lj(){var a=this.L();ef(this)?($e(this,v(this)+a),this.A-=this.C.eb):this.A-=this.C.fb}function mj(){var a=this.L();ef(this)?this.A-=this.C.fb:($e(this,v(this)+a),this.A-=this.C.eb)}function nj(){var a=this.L();hf(this)?($e(this,v(this)+a),this.A-=this.C.eb):this.A-=this.C.fb}function oj(){var a=this.L();hf(this)?this.A-=this.C.fb:($e(this,v(this)+a),this.A-=this.C.eb)}
function pj(){var a=this.L();ef(this)||hf(this)?($e(this,v(this)+a),this.A-=this.C.eb):this.A-=this.C.fb}function qj(){var a=this.L();ef(this)||hf(this)?this.A-=this.C.fb:($e(this,v(this)+a),this.A-=this.C.eb)}function rj(){var a=this.L();jf(this)?($e(this,v(this)+a),this.A-=this.C.eb):this.A-=this.C.fb}function sj(){var a=this.L();jf(this)?this.A-=this.C.fb:($e(this,v(this)+a),this.A-=this.C.eb)}function tj(){var a=this.L();ff(this)?($e(this,v(this)+a),this.A-=this.C.eb):this.A-=this.C.fb}
@ -221,12 +221,12 @@ case 7:a=this.I}}this.da[b].call(this,Sh);switch(c){case 0:b=this.F;this.F=a;xd(
this.Na[this.ca()].call(this,Lj,ij);this.Y=-1},function(){this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.G&this.B;this.G=this.G&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.H&this.B;this.H=this.H&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.D&this.B;this.D=this.D&~this.B|a&this.B;this.A-=3},function(){var a=this.F,b=u(this);this.F=this.F&~this.B|b&this.B;t(this,b&~this.B|a&this.B);this.A-=3},function(){var a=this.F;
this.F=this.F&~this.B|this.K&this.B;this.K=this.K&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.J&this.B;this.J=this.J&~this.B|a&this.B;this.A-=3},function(){var a=this.F;this.F=this.F&~this.B|this.I&this.B;this.I=this.I&~this.B|a&this.B;this.A-=3},function(){this.F=2==this.ha?this.F&-65536|this.F<<24>>24&65535:this.F<<16>>16;this.A-=2},function(){this.H=2==this.ha?this.H&-65536|(this.F&32768?65535:0):this.F&-2147483648?-1:0;this.A-=this.C.Ui},function(){uh.call(this,
this.Qa(),Df(this));this.A-=this.C.Xi},function(){this.A-=3},function(){var a=yd(this);a&131072&&3>this.Pa?p.call(this,13,0):(vd(this,a&-196609),this.A-=this.C.Oc)},function(){if(this.ea&131072&&3>this.Pa)p.call(this,13,0);else{var a=ld(this),a=a&65535|this.ea&-65536;zd(this,a);this.A-=this.C.vc}},function(){var a=this.F>>8&255;a&1?mf(this):nf(this);a&4?(this.resultType&=-3,this.ea|=4):(this.resultType&=-3,this.ea&=-5);a&16?uf(this):sf(this);a&64?vf(this):tf(this);a&128?(this.resultType&=-17,this.ea|=
128):(this.resultType&=-17,this.ea&=-129);this.A-=this.C.ec},function(){this.F=this.F&-65281|(yd(this)&213)<<8;this.A-=this.C.ec},function(){var a=this.F&-256,b;b=S(this);b=this.Xa(this.O.Fc(b,1));this.F=a|b;this.A-=this.C.Gh},function(){this.F=this.F&~this.B|ud(this,this.O,S(this));this.A-=this.C.Gh},function(){var a=S(this),b=this.F;this.xc(this.O.Ac(a,1),b);this.A-=this.C.Hh},function(){var a=S(this),b=this.F;this.oc(this.O.Ac(a,this.ha),b);this.A-=this.C.Hh},function(){var a=1,b=0,c=this.Ea,d=
this.C.Ih;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Kh,this.Ja&256||(this.A-=this.C.Jh));if(a--){var e=this.Xa(this.O.Fc(this.J&c,1));this.xc(this.hb.Ac(this.I&c,1),e);this.V&4096||(e=this.ea&1024?-1:1,this.J=this.J&~c|this.J+e&c,this.I=this.I&~c|this.I+e&c,this.A-=d,this.G=this.G&~c|this.G-b&c,a&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.Ih;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Kh,this.Ja&256||(this.A-=this.C.Jh));if(a--){var e=ud(this,this.O,this.J&c);this.oc(this.hb.Ac(this.I&
128):(this.resultType&=-17,this.ea&=-129);this.A-=this.C.ec},function(){this.F=this.F&-65281|(yd(this)&213)<<8;this.A-=this.C.ec},function(){var a=this.F&-256,b;b=S(this);b=this.Wa(this.O.Fc(b,1));this.F=a|b;this.A-=this.C.Gh},function(){this.F=this.F&~this.B|ud(this,this.O,S(this));this.A-=this.C.Gh},function(){var a=S(this),b=this.F;this.xc(this.O.Ac(a,1),b);this.A-=this.C.Hh},function(){var a=S(this),b=this.F;this.oc(this.O.Ac(a,this.ha),b);this.A-=this.C.Hh},function(){var a=1,b=0,c=this.Ea,d=
this.C.Ih;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Kh,this.Ja&256||(this.A-=this.C.Jh));if(a--){var e=this.Wa(this.O.Fc(this.J&c,1));this.xc(this.hb.Ac(this.I&c,1),e);this.V&4096||(e=this.ea&1024?-1:1,this.J=this.J&~c|this.J+e&c,this.I=this.I&~c|this.I+e&c,this.A-=d,this.G=this.G&~c|this.G-b&c,a&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.Ih;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Kh,this.Ja&256||(this.A-=this.C.Jh));if(a--){var e=ud(this,this.O,this.J&c);this.oc(this.hb.Ac(this.I&
c,this.ha),e);this.V&4096||(e=this.ea&1024?-this.ha:this.ha,this.J=this.J&~c|this.J+e&c,this.I=this.I&~c|this.I+e&c,this.A-=d,this.G=this.G&~c|this.G-b&c,a&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.th;this.Ja&192&&(a=this.G&c,b=1,d=this.C.vh,this.Ja&256||(this.A-=this.C.uh));if(a--){var e=zf(this,this.O,this.J&c),f=Bf(this,this.hb,this.I&c);this.V&4096||(vh.call(this,e,f),e=this.ea&1024?-1:1,this.J=this.J&~c|this.J+e&c,this.I=this.I&~c|this.I+e&c,this.G=this.G&~c|this.G-
b&c,this.A-=d-this.C.Xb,a&&hf(this)==(this.Ja&64)&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.th;this.Ja&192&&(a=this.G&c,b=1,d=this.C.vh,this.Ja&256||(this.A-=this.C.uh));if(a--){var e=Af(this,this.O,this.J&c),f=Cf(this,this.hb,this.I&c);this.V&4096||(wh.call(this,e,f),e=this.ea&1024?-this.ha:this.ha,this.J=this.J&~c|this.J+e&c,this.I=this.I&~c|this.I+e&c,this.G=this.G&~c|this.G-b&c,this.A-=d-this.C.Xb,a&&hf(this)==(this.Ja&64)&&(cf(this),this.V|=256))}},function(){lf(this,
this.F&this.ca(),128);this.A-=this.C.Be},function(){lf(this,this.F&this.Qa(),this.Ha);this.A-=this.C.Be},function(){var a=1,b=0,c=this.Ea,d=this.C.Th;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Vh,this.Ja&256||(this.A-=this.C.Uh));if(a--){var e=this.F;this.xc(this.hb.Ac(this.I&c,1),e);this.V&4096||(this.G=this.G&~c|this.G-b&c,80546<=this.ic&&80564>=this.ic&&!(this.Ja&2048)!=(103!=this.Xa(this.Ma))&&(c^=-65536),this.I=this.I&~c|this.I+(this.ea&1024?-1:1)&c,this.A-=d,a&&(cf(this),this.V|=256))}},function(){var a=
1,b=0,c=this.Ea,d=this.C.Th;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Vh,this.Ja&256||(this.A-=this.C.Uh));if(a--){var e=this.F;this.oc(this.hb.Ac(this.I&c,this.ha),e);this.V&4096||(this.I=this.I&~c|this.I+(this.ea&1024?-this.ha:this.ha)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.Ah;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Ch,this.Ja&256||(this.A-=this.C.Bh));if(a--){var e=this.Xa(this.O.Fc(this.J&c,1));this.V&4096||(this.F=this.F&-256|
this.F&this.ca(),128);this.A-=this.C.Be},function(){lf(this,this.F&this.Qa(),this.Ha);this.A-=this.C.Be},function(){var a=1,b=0,c=this.Ea,d=this.C.Th;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Vh,this.Ja&256||(this.A-=this.C.Uh));if(a--){var e=this.F;this.xc(this.hb.Ac(this.I&c,1),e);this.V&4096||(this.G=this.G&~c|this.G-b&c,80546<=this.ic&&80564>=this.ic&&!(this.Ja&2048)!=(103!=this.Wa(this.Ma))&&(c^=-65536),this.I=this.I&~c|this.I+(this.ea&1024?-1:1)&c,this.A-=d,a&&(cf(this),this.V|=256))}},function(){var a=
1,b=0,c=this.Ea,d=this.C.Th;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Vh,this.Ja&256||(this.A-=this.C.Uh));if(a--){var e=this.F;this.oc(this.hb.Ac(this.I&c,this.ha),e);this.V&4096||(this.I=this.I&~c|this.I+(this.ea&1024?-this.ha:this.ha)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.Ah;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Ch,this.Ja&256||(this.A-=this.C.Bh));if(a--){var e=this.Wa(this.O.Fc(this.J&c,1));this.V&4096||(this.F=this.F&-256|
e,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&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.Ah;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Ch,this.Ja&256||(this.A-=this.C.Bh));if(a--){var e=ud(this,this.O,this.J&c);this.V&4096||(this.F=this.F&~this.B|e,this.J=this.J&~c|this.J+(this.ea&1024?-this.ha:this.ha)&c,this.G=this.G&~c|this.G-b&c,this.A-=d,a&&(cf(this),this.V|=256))}},function(){var a=1,b=0,c=this.Ea,d=this.C.Nh;this.Ja&192&&(a=this.G&
c,b=1,d=this.C.Ph,this.Ja&256||(this.A-=this.C.Oh));a--&&(vh.call(this,this.F&255,Bf(this,this.hb,this.I&c)),this.V&4096||(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-this.C.Xb,a&&hf(this)==(this.Ja&64)&&(cf(this),this.V|=256)))},function(){var a=1,b=0,c=this.Ea,d=this.C.Nh;this.Ja&192&&(a=this.G&c,b=1,d=this.C.Ph,this.Ja&256||(this.A-=this.C.Oh));a--&&(wh.call(this,this.F&this.B,Cf(this,this.hb,this.I&c)),this.V&4096||(this.I=this.I&~c|this.I+(this.ea&1024?
-this.ha:this.ha)&c,this.G=this.G&~c|this.G-b&c,this.A-=d-this.C.Xb,a&&hf(this)==(this.Ja&64)&&(cf(this),this.V|=256)))},function(){this.F=this.F&-256|this.ca();this.A-=this.C.ec},function(){this.G=this.G&-256|this.ca();this.A-=this.C.ec},function(){this.H=this.H&-256|this.ca();this.A-=this.C.ec},function(){this.D=this.D&-256|this.ca();this.A-=this.C.ec},function(){this.F=this.F&-65281|this.ca()<<8;this.A-=this.C.ec},function(){this.G=this.G&-65281|this.ca()<<8;this.A-=this.C.ec},function(){this.H=
@ -255,8 +255,8 @@ a&&(this.Aa=0);this.Aa?(mf(this),of(this)):(nf(this),pf(this));this.Ua=!0;this.A
cj,cj,cj,cj,cj,cj],Fd=[function(a){var b=a+1|0;df(this,a,1,b,this.Ha|62);this.A-=-1===this.X?this.C.Hf:this.C.Gf;return b&this.B},function(a){var b=a-1|0;df(this,a,1,b,this.Ha|62,!0);this.A-=-1===this.X?this.C.Hf:this.C.Gf;return b&this.B},function(a){vd(this,v(this));$e(this,a);this.A-=-1===this.X?this.C.Zi:this.C.Yi;this.V|=2;return a},function(a){if(-1===this.X)return cj.call(this,a);this.Y=this.ka;uh.call(this,a,this.ua(this.X+this.ha));this.A-=this.C.Wi;this.V|=2;this.Y=-1;return a},function(a){$e(this,
a);this.A-=-1===this.X?this.C.tj:this.C.sj;this.V|=2;return a},function(a){if(-1===this.X)return cj.call(this,a);Ad(this,a,this.ua(this.X+this.ha));this.A-=this.C.qj;this.V|=2;return a},function(a){var b=a;this.V&512&&(a=a-2&65535,80286>this.na&&(b=a));vd(this,b);this.A-=-1===this.X?this.C.Oc:this.C.Jj;this.V|=2;return a},bj];function oe(){this.da[this.ca()].call(this,Xi);this.A-=-1===this.X?6:13}function pe(){this.qa[this.ca()].call(this,Wi);this.A-=-1===this.X?12:19}var ge=Array(256);
ge[0]=function(){var a=this.ca();16>(a&56)&&(this.V|=1);this.Na[a].call(this,this.$f,hj)};ge[1]=function(){var a=this.ca();a&16||(this.V|=1);this.Na[a].call(this,Qj,hj)};ge[2]=function(){!(this.gb&1)||this.ea&131072?p.call(this,6):this.da[this.ca()].call(this,Jh)};ge[3]=function(){!(this.gb&1)||this.ea&131072?p.call(this,6):this.da[this.ca()].call(this,Qh)};
ge[5]=function(){this.ta?p.call(this,13,0,0,!0):(wf(this,this.ua(2054)),this.I=this.ua(2086),this.J=this.ua(2088),this.K=this.ua(2090),this.D=this.ua(2094),this.H=this.ua(2096),this.G=this.ua(2098),this.F=this.ua(2100),kd(this.hb,2102,this.ua(2084)),kd(this.Ba,2108,this.ua(2082)),kd(this.za,2114,this.ua(2080)),kd(this.Db,2120,this.ua(2078)),zd(this,this.ua(2072)),$e(this,this.ua(2074)),t(this,this.ua(2092)),this.gd=this.ua(2126)|this.Xa(2128)<<16,this.de=this.gd+this.ua(2130),kd(this.Jc,2132,this.ua(2076)),
this.hd=this.ua(2138)|this.Xa(2140)<<16,this.ee=this.hd+this.ua(2142),kd(this.ab,2144,this.ua(2070)),this.A-=195)};ge[6]=function(){this.ta?p.call(this,13,0):(this.gb&=-9,this.A-=2)};ge[11]=Hd;ge[166]=Hd;ge[255]=Hd;var w=[];w[5]=Hd;w[7]=function(){this.ta?p.call(this,13,0,0,!0):(he.call(this),this.A-=100)};
ge[5]=function(){this.ta?p.call(this,13,0,0,!0):(wf(this,this.ua(2054)),this.I=this.ua(2086),this.J=this.ua(2088),this.K=this.ua(2090),this.D=this.ua(2094),this.H=this.ua(2096),this.G=this.ua(2098),this.F=this.ua(2100),kd(this.hb,2102,this.ua(2084)),kd(this.Ba,2108,this.ua(2082)),kd(this.za,2114,this.ua(2080)),kd(this.Db,2120,this.ua(2078)),zd(this,this.ua(2072)),$e(this,this.ua(2074)),t(this,this.ua(2092)),this.gd=this.ua(2126)|this.Wa(2128)<<16,this.de=this.gd+this.ua(2130),kd(this.Jc,2132,this.ua(2076)),
this.hd=this.ua(2138)|this.Wa(2140)<<16,this.ee=this.hd+this.ua(2142),kd(this.ab,2144,this.ua(2070)),this.A-=195)};ge[6]=function(){this.ta?p.call(this,13,0):(this.gb&=-9,this.A-=2)};ge[11]=Hd;ge[166]=Hd;ge[255]=Hd;var w=[];w[5]=Hd;w[7]=function(){this.ta?p.call(this,13,0,0,!0):(he.call(this),this.A-=100)};
w[32]=function(){if(this.ta)p.call(this,13,0);else{var a,b=this.ca();switch((b&56)>>3){case 0:a=this.gb;break;case 2:a=this.oe;break;case 3:a=this.Nd;break;default:he.call(this);return}ve(this,b&7,a);this.A-=6}};w[33]=function(){if(this.ta)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;4==b||5==b?he.call(this):(ve(this,a&7,this.Ka[b]),this.A-=22)}};
w[34]=function(){if(this.ta)p.call(this,13,0);else{var a=this.ca(),b=ue(this,a&7);switch((a&56)>>3){case 0:Kh.call(this,b);this.A-=10;break;case 2:this.oe=b;this.A-=4;break;case 3:Bd.call(this,b);this.A-=5;break;default:he.call(this)}}};w[35]=function(){if(this.ta)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;4==b||5==b?he.call(this):(a=ue(this,a&7),a!=this.Ka[b]&&(Ue(this,!1),this.Ka[b]=a,Ue(this,!0)),this.A-=4>b?22:14)}};
w[36]=function(){if(this.ta)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;6>b?he.call(this):(ve(this,a&7,this.we[b]),this.A-=12)}};w[38]=function(){if(this.ta)p.call(this,13,0);else{var a=this.ca(),b=(a&56)>>3;6>b?he.call(this):(this.we[b]=ue(this,a&7),this.A-=12)}};w[128]=function(){var a=this.Qa();kf(this)?($e(this,v(this)+a),this.A-=this.C.eb):this.A-=this.C.fb};w[129]=function(){var a=this.Qa();kf(this)?this.A-=this.C.fb:($e(this,v(this)+a),this.A-=this.C.eb)};
@ -821,7 +821,7 @@ function Fk(a,b,c,d,e){var f=a.R[b],g=f.zc[c],k=g.Hb[f.Nb];n(a,768)&&m(a,d,null,
function Hk(a,b,c,d,e){var f=a.R[b],g=f.zc[c],k=g.Bb[f.Nb];n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.Nb+"]",k,!0);f.Nb^=1;b||0!=c||f.Nb||(g.Bb[0]--,0>g.Bb[0]&&(g.Bb[0]=255,g.Bb[1]--,0>g.Bb[1]&&(g.Bb[1]=255)));return k}function Ik(a,b,c,d,e,f){var g=a.R[b];n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Nb+"]",null,!0);a=g.zc[c];a.Bb[g.Nb]=a.Bc[g.Nb]=e;g.Nb^=1}function Jk(a,b,c,d){var e=a.R[b],f=e.jd|1;e.jd&=-16;n(a,768)&&m(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
function Kk(a,b,c,d,e){var f=a.R[b];n(a,768)&&m(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.jd=f.jd&~(16<<a)|(d&4)<<a+2;f.si=d}function Lk(a,b,c,d,e){var f=a.R[b];n(a,768)&&m(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.zc[b];c.ye=!!(d&4);c.ye||Mk(a,f.Xl+b)}function Nk(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA"+b+".MODE",null,!0);a.R[b].zc[d&3].mode=d}function Ok(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.R[b];for(b=0;b<a.zc.length;b++)yk(a,b)}
function Pk(a,b,c,d,e){var f=a.R[b].zc[c].eg;n(a,768)&&m(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function Qk(a,b,c,d,e,f){n(a,768)&&m(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.R[b].zc[c].eg=e}function Rk(a,b,c,d){var e=a.Ga[b];n(a,768)&&m(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}function Sk(a,b,c,d,e){n(a,768)&&m(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Ga[b]=d}function Tk(a,b,c,d,e){Ak(a.R[b>>2].zc[b&3],c,d,e)}
function Mk(a,b,c){b=a.R[b>>2].zc[b&3];b.jg&&b.bh&&b.zg?(c&&(b.done=c),b.ye||Uk(a,b,!0)):c&&c(!0)}function Uk(a,b,c){c&&(b.count=b.Bb[1]<<8|b.Bb[0],b.type=b.mode&12,b.Hi=b.td=!1);for(var d=!1;0<=b.count&&(c=b.eg<<16|b.Hb[1]<<8|b.Hb[0],4==b.type?(d=!0,function(c){b.bh.call(b.jg,b.zg,-1,function(f,g){0>f&&(b.Hi||(b.Hi=!0),f=255);b.ye||a.ja.xc(c,f);(d=g)&&setTimeout(function(){Vk(b)||Uk(a,b)},0)})}(c)):8==b.type?(c=a.ja.Xa(c),0>b.bh.call(b.jg,b.zg,c)&&(b.td=!0)):0!=b.type&&(b.td=!0)),!d&&!Vk(b););}
function Mk(a,b,c){b=a.R[b>>2].zc[b&3];b.jg&&b.bh&&b.zg?(c&&(b.done=c),b.ye||Uk(a,b,!0)):c&&c(!0)}function Uk(a,b,c){c&&(b.count=b.Bb[1]<<8|b.Bb[0],b.type=b.mode&12,b.Hi=b.td=!1);for(var d=!1;0<=b.count&&(c=b.eg<<16|b.Hb[1]<<8|b.Hb[0],4==b.type?(d=!0,function(c){b.bh.call(b.jg,b.zg,-1,function(f,g){0>f&&(b.Hi||(b.Hi=!0),f=255);b.ye||a.ja.xc(c,f);(d=g)&&setTimeout(function(){Vk(b)||Uk(a,b)},0)})}(c)):8==b.type?(c=a.ja.Wa(c),0>b.bh.call(b.jg,b.zg,c)&&(b.td=!0)):0!=b.type&&(b.td=!0)),!d&&!Vk(b););}
function Vk(a){if(!a.td&&0<=--a.count&&(a.mode&32?(a.Hb[0]--,0>a.Hb[0]&&(a.Hb[0]=255,a.Hb[1]--,0>a.Hb[1]&&(a.Hb[1]=255))):(a.Hb[0]++,255<a.Hb[0]&&(a.Hb[0]=0,a.Hb[1]++,255<a.Hb[1]&&(a.Hb[1]=0))),!a.ye))return!1;var b=a.controller;b.jd=b.jd&~(16<<a.Li)|1<<a.Li;a.mode&16||(a.ye=!0,a.jg=a.zg=null);a.done&&(a.done(!a.td),a.done=null);return!0}function Wk(a,b,c){var d=0,e=a.pc[b];if(null!=e.tf)switch(e.tf&3){case 2:d=e.kc;break;case 3:d=e.Uc}n(a,34048)&&m(a,e.port,null,c,"PIC"+b,d,!0);return d}
function Xk(a,b,c,d){var e=a.pc[b];n(a,34048)&&m(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Vd=0,e.Tc[e.Vd++]=c,e.yd=0,e.se=7,e.kc=e.Uc=0,e.tf=10;else if(c&8)c&100&&n(a,1073741824)&&nb(a,"PIC"+b+"("+fa(e.port)+"): unsupported OCW3 command "+fa(c),!0,!0),e.tf=c;else if(d=c&224,d&32){var f,g=0;if(96==(d&96))g=1<<(c&7);else for(f=e.se+1;;){f&=7;var k=1<<f;if(e.Uc&k){g=k;break}if(f++==e.se)break}e.Uc&g&&(e.Uc&=~g,Yk(a));d&128&&n(a,1073741824)&&nb(a,"PIC"+b+"("+fa(e.port)+"): unsupported OCW2 rotate command "+
fa(c),!0,!0)}else 192==d?e.se=c&7:n(a,1073741824)&&nb(a,"PIC"+b+"("+fa(e.port)+"): unsupported OCW2 automatic EOI command "+fa(c),!0,!0)}function Zk(a,b,c){var d=a.pc[b],e=d.yd;n(a,34048)&&m(a,d.port+1,null,c,"PIC"+b,e,!0);return e}function $k(a,b,c,d){var e=a.pc[b];n(a,34048)&&m(a,e.port+1,c,d,"PIC"+b,null,!0);e.Vd<e.Tc.length?(e.Tc[e.Vd++]=c,2==e.Vd&&e.Tc[0]&2&&e.Vd++,3!=e.Vd||e.Tc[0]&1||e.Vd++):(e.yd=c,d=a.M,d.V|=4,Yk(a,b||253!=c?0:6))}
@ -861,8 +861,8 @@ function pl(a){if(!tb(a))if(!a.P)sb(a);else if(a.A&&a.ja){if(a.A.length!=a.R)ub(
b.nb?rl(b,c,d||[12640,8752],8):b.nb==sl&&rl(b,c,d||[14221,16269],8),sb(b)):a.Va("Unable to find component: "+a.C));delete a.A}}sb(a)}}Qa(function(){for(var a=kb(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=ib(c),d=new ol(d);jb(d,c)}});function tl(a){Wa.call(this,"RAM",a,tl);this.C=a.addr;this.A=a.size;this.ia=a.test;this.P=!!this.A;this.O=!1}eb(tl);h=tl.prototype;h.Hc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.R=Eb(a,"ChipSet");sb(this)};
h.mc=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};h.lc=function(a){return a&&this.controller?this.save():!0};
h.reset=function(){if(!this.C&&!this.P&&this.R){var a=1024*rk(this.R);this.A&&a!=this.A&&($b(this.ja,this.C,this.A),this.O=!1);this.A=a}!this.O&&this.A&&Vb(this.ja,this.C,this.A,1)&&(this.O=!0,this.status(Math.floor(this.A/1024)+"Kb allocated"),"ramCPQ"==this.ce&&(this.controller=new ul(this),Vb(this.ja,vl,4,4,this.controller)));if(this.O){if(this.ia||gc(this.ja,1138,4660),"ramCPQ"!=this.ce&&this.R&&(a=this.R,a.A)){var b=1048576>this.C?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+
1]=c>>8;vk(a)}}else Ba("No RAM allocated")};h.save=function(){var a=new We(this);this.controller&&Xe(a,0,this.controller.save());return a.data()};h.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function ul(a){this.O=a;this.ma=wl;this.R=xl;this.C=yl;this.A=null}var vl=-2134900736,wl=65535,xl=2575,yl=2,zl=[null,0],Al=[function(a){return this.controller.Xa(a)},null,null,function(a,b){this.controller.xc(a,b)},null,null];h=ul.prototype;h.save=function(){return[this.ma,this.C]};
h.restore=function(a){this.xc(0,a[0]&255);this.xc(2,a[1]&255);return!0};h.Xa=function(a){var b=255;2>a?b=a&1?this.R>>8:this.R&255:4>a&&(b=a&1?this.C>>8:this.C&255);return b};h.xc=function(a,b){if(a)2==a&&(this.C=this.C&-256|b);else if(b!=(this.ma&255)){var c=this.O.ja;if(b&1)this.A&&(Xb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Yb(c,917504,131072));var d=Yb(c,16646144,131072);Xb(c,917504,131072,d,b&2?1:ac)}this.ma=this.ma&-256|b}};h.Ji=function(){return zl};h.dh=function(){return Al};
1]=c>>8;vk(a)}}else Ba("No RAM allocated")};h.save=function(){var a=new We(this);this.controller&&Xe(a,0,this.controller.save());return a.data()};h.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function ul(a){this.O=a;this.ma=wl;this.R=xl;this.C=yl;this.A=null}var vl=-2134900736,wl=65535,xl=2575,yl=2,zl=[null,0],Al=[function(a){return this.controller.Wa(a)},null,null,function(a,b){this.controller.xc(a,b)},null,null];h=ul.prototype;h.save=function(){return[this.ma,this.C]};
h.restore=function(a){this.xc(0,a[0]&255);this.xc(2,a[1]&255);return!0};h.Wa=function(a){var b=255;2>a?b=a&1?this.R>>8:this.R&255:4>a&&(b=a&1?this.C>>8:this.C&255);return b};h.xc=function(a,b){if(a)2==a&&(this.C=this.C&-256|b);else if(b!=(this.ma&255)){var c=this.O.ja;if(b&1)this.A&&(Xb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Yb(c,917504,131072));var d=Yb(c,16646144,131072);Xb(c,917504,131072,d,b&2?1:ac)}this.ma=this.ma&-256|b}};h.Ji=function(){return zl};h.dh=function(){return Al};
Qa(function(){for(var a=kb(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=ib(c),d=new tl(d);jb(d,c)}});function Bl(a){Wa.call(this,"Keyboard",a,Bl,65536);Cl(this,a.model);this.da=Ja("Mobi");this.la=Ja("MSIE");nb(this,"mobile keyboard support: "+(this.da?"true":"false"));this.Y=0;this.ka=this.Zg=!1;this.C=[];this.ta=50;sb(this)}eb(Bl);
var Dl=["US83","US84","US101"],Y={jn:1,kn:3,mn:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,en:65,fn:66,gn:67,nn:68,E:69,on:70,rn:71,sn:72,tn:73,un:74,vn:75,wn:76,xn:77,yn:78,zn:79,An:80,Q:81,Bn:82,Fn:83,Kn:84,On:85,Pn:86,Qn:87,Sn:88,Tn:89,Un:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Vn:97,Wn:98,Zn:99,d:100,e:101,$n:102,ao:103,bo:104,
co:105,eo:106,k:107,fo:108,ho:109,n:110,jo:111,p:112,q:113,r:114,ko:115,t:116,mo:117,no:118,oo:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},El={};El[186]=Y[";"];El[187]=Y["="];El[188]=Y[","];El[189]=Y["-"];El[190]=Y["."];El[191]=Y["/"];El[192]=Y["`"];El[219]=Y["["];El[220]=Y["\\"];El[221]=Y["]"];El[222]=Y["'"];El[173]=Y["-"];var Fl={};Fl[Y["1"]]=Y["!"];Fl[Y["2"]]=Y["@"];Fl[Y["3"]]=Y["#"];Fl[Y["4"]]=Y.$;Fl[Y["5"]]=Y["%"];Fl[Y["6"]]=Y["^"];Fl[Y["7"]]=Y["&"];Fl[Y["8"]]=Y["*"];Fl[Y["9"]]=Y["("];
@ -1093,7 +1093,7 @@ bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:1638
h.Hc=function(a,b,c,d){this.ja=b;this.M=c;this.ia=a;this.ic=Eb(a,"FDC");this.Qb=Eb(a,"HDC");this.Vb=Eb(a,"FPU");this.Z=Eb(a,"Mouse");this.Ha=b.O>>2;this.Ea=b.rg;this.$b=new fd(this.M,8,"DBG");this.Oa=Hp;80186<=this.M.na&&(this.Oa=Hp.slice(),this.Oa[15]=Fp,80286<=this.M.na&&(this.Oa[15]=Gp,80386<=this.M.na&&(this.Pa=8)));jk(this,64,function(a){Lp(d,d.M.Lc,a[0])});jk(this,128,function(a){Lp(d,d.M.wa,a[0],d.M.wa!==d.M.Lc)});jk(this,4,function(a){if(a=a[0]){var b=Mp(d,a);if(void 0===b)d.U("invalid selector: "+
a);else if(a=Np(d,b,2),d.U("dumpSel("+ga(a?a.ga:b)+"): %"+l(a?a.cc:null,d.Ha)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var k=Op[a.type];k&&(c=k[0],b=k[1])}!c||a.Gb&32768||(c+=",not present");d.U((b?"seg="+ga(a.Ca&65535)+" off="+ga(a.$a):"base="+l(a.Ca,d.Ha)+" limit="+Pp(a.$a))+" type="+fa(a.type>>8)+" ("+c+") ext="+
ga(a.ext&-65296)+" dpl="+fa(a.Gc))}}else d.U("no selector")});jk(this,8,function(a){a:{if(a=a[0]){var b=Mp(d,a);if(void 0===b){d.U("invalid task selector: "+a);break a}a=Np(d,b,2)}else a=d.M.ab;d.U("dumpTSS("+ga(a?a.ga:b)+"): %"+l(a?a.Ca:null,d.Ha));if(a){var b="",c=a.type&-513,k=256==c?4:8,q=256==c?Qp:Rp,r,x,B,y;for(y in q)r=q[y],x=a.Ca+r,B=yf(d.M,x,2),2304==c&&(B|=yf(d.M,x+2,2)<<16),b&&(b+="\n"),b+=ga(r)+" "+na(y+":",11)+l(B,k);if(2304==c)for(y=0,r=B>>>16;r<a.fc&&1023>y;)x=a.Ca+r,B=yf(d.M,x,2),
b+="\n"+ga(r)+" ports "+ga(y)+"-"+ga(y+15)+": "+ea(B,2),y+=16,r+=2;d.U(b)}}});jk(this,134217728,function(a){var b;(a=a[0])&&(b=Mp(d,a));if(void 0===b)d.U("invalid MCB");else for(d.U("dumpMCB("+ga(b)+")");b;){a=qp(d,0,b);var c=d.Xa(a,1),k=d.ua(a,2),q=d.ua(a,5);if(77!=c&&90!=c)break;d.U(Sp(0,b)+": '"+String.fromCharCode(c)+"' PID="+ga(k)+" LEN="+ga(q)+' "'+Tp(d,a,8)+'"');b+=1+q}});this.R=null;this.xb=0;this.lb=!1;Ke(this.M,48,this.Rl.bind(this));Ke(this.M,65,this.Sl.bind(this));this.ta=null;Ke(this.M,
b+="\n"+ga(r)+" ports "+ga(y)+"-"+ga(y+15)+": "+ea(B,2),y+=16,r+=2;d.U(b)}}});jk(this,134217728,function(a){var b;(a=a[0])&&(b=Mp(d,a));if(void 0===b)d.U("invalid MCB");else for(d.U("dumpMCB("+ga(b)+")");b;){a=qp(d,0,b);var c=d.Wa(a,1),k=d.ua(a,2),q=d.ua(a,5);if(77!=c&&90!=c)break;d.U(Sp(0,b)+": '"+String.fromCharCode(c)+"' PID="+ga(k)+" LEN="+ga(q)+' "'+Tp(d,a,8)+'"');b+=1+q}});this.R=null;this.xb=0;this.lb=!1;Ke(this.M,48,this.Rl.bind(this));Ke(this.M,65,this.Sl.bind(this));this.ta=null;Ke(this.M,
104,this.Tl.bind(this));sb(this)};function Up(a,b,c,d,e,f){b=Tp(a,b);var g=Np(a,d),g=g?g.$a+1:0,k=(e?"_CODE":"_DATA")+l(c,2);f&&n(a,128)&&a.message(b+" "+(e?"code":"data")+"("+l(c,4)+")=#"+l(d,4)+" len "+l(g));e=Vp(a,b,c);e[b+k]=0;ql(a,b,c,d,0,null,g,e)}
function Wp(a,b,c,d){var e=a.ua(b,2),f=a.ua(b,2),g=a.Ta(b,4),k=a.Ta(b,4),q=qp(a,a.Ta(b,4),a.ua(b,2));b=qp(a,a.Ta(b,4),a.ua(b,2));b=Tp(a,b).toUpperCase();var q=Tp(a,q).toUpperCase(),r=(c?"_CODE":"_DATA")+l(e,2);d&&n(a,128)&&a.message((b==q?"":b+"!")+q+" "+(c?"code":"data")+"("+l(e,4)+")="+l(f,4)+":"+l(g)+" len "+l(k));c=Vp(a,q,e);c[q+r]=g;ql(a,q,e,f,g,null,k,c)}function Xp(a,b,c){c=Tp(a,c).toUpperCase();Yp(a,c,b)}
h.Rl=function(){var a=this.M;if(null!=this.R&&2752554==a.F){var b=a.H&65535,c=a.J&65535,d=qp(this,u(a)+12,a.za.ga);switch(this.Ta(d)){case 336:Wp(this,qp(this,a.D,b),!c,!!this.R)}}return!0};
@ -1104,13 +1104,13 @@ h.Tl=function(a){var b=this.M,c=b.F&255,d=b.F>>8&255,e=b.D&65535,f=b.G&65535,g=b
h.Yb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ra=this.ya[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",up(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.W<d.P.length-1&&(b=d.P[++d.W]):40==a.keyCode&&(0<d.W?b=d.P[--d.W]:(b="",d.W=-1)),null!=b){var g=b.length;c.value=b;c.setSelectionRange(g,g)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.ya[b]=c,La(c,function(){if(d.Ra){var a=d.Ra.value;d.Ra.value=
"";up(d,a,!0);return!0}return!1}),!0;case "step":return this.ya[b]=c,La(c,function(a){var b=!1;rb(d,!0)||(qb(d,!0),b=d.nf(a?1:0),qb(d,!1));return b}),!0}return!1};h.bd=function(){this.Ra&&this.Ra.focus()};function aq(a){return a.M&&!!(a.M.gb&1)&&!(a.M.ea&131072)}
function Np(a,b,c){var d=aq(a)?2:1;c||(c=d);if(c==d){if(b===a.M.Ba.ga)return a.M.Ba;if(b===a.M.Db.ga)return a.M.Db;if(b===a.M.hb.ga)return a.M.hb;if(b===a.M.za.ga)return a.M.za;if(80386<=a.M.na){if(b===a.M.Tb.ga)return a.M.Tb;if(b===a.M.Ub.ga)return a.M.Ub}if(a.qb&&2==c||!a.$b)return null}a=a.$b;if(2!=c)a.ih(b),a.$a=65535,a.fc=65536;else{var e;c=a.M;b=b&65535;b&4?(d=c.Jc.Ca,e=d+c.Jc.$a|0):(d=c.gd,e=c.de);d=d+(b&65528)|0;if(e-d|0){e=yf(c,d+0,2);var f=yf(c,d+4,2),g=f&7936,k=yf(c,d+2,2)|(f&255)<<16,
q=yf(c,d+6,2);80386<=c.na&&(k|=(q&65280)<<16,e|=(q&15)<<16,q&128&&(e=e<<12|4095));a.ga=b;a.Ca=k;a.$a=e;a.fc=(e>>>0)+1;a.Gb=f;a.type=g;a.ext=q;a.cc=d;gd(a,!0,!0,!1)}}return a}h.dc=function(a,b,c){var d=a&&a.Sa;if(null==d&&(d=-1,a)){var e=Np(this,a.ga,a.type);e&&(b=a.Wa||0,c=c||1,d=e=-1===e.cc||e.Zc&&(b>>>0)+c>e.fc||!e.Zc&&(b>>>0)+c<=e.fc?e.Ca+b|0:-1,a.Sa=d)}return d};h.Xa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=yf(this.M,d,1,5!=a.type)|0,b&&bq(this,a,b));return c};
q=yf(c,d+6,2);80386<=c.na&&(k|=(q&65280)<<16,e|=(q&15)<<16,q&128&&(e=e<<12|4095));a.ga=b;a.Ca=k;a.$a=e;a.fc=(e>>>0)+1;a.Gb=f;a.type=g;a.ext=q;a.cc=d;gd(a,!0,!0,!1)}}return a}h.dc=function(a,b,c){var d=a&&a.Sa;if(null==d&&(d=-1,a)){var e=Np(this,a.ga,a.type);e&&(b=a.Xa||0,c=c||1,d=e=-1===e.cc||e.Zc&&(b>>>0)+c>e.fc||!e.Zc&&(b>>>0)+c<=e.fc?e.Ca+b|0:-1,a.Sa=d)}return d};h.Wa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=yf(this.M,d,1,5!=a.type)|0,b&&bq(this,a,b));return c};
h.vb=function(a,b){return a.Sb?this.Ta(a,b?4:0):this.ua(a,b?2:0)};h.ua=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=yf(this.M,d,2,5!=a.type),b&&bq(this,a,b));return c};h.Ta=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=yf(this.M,d,4,5!=a.type),b&&bq(this,a,b));return c};h.xc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.M.xc(d,b);else{var e=this.ja;e.wa[(d&e.Jb)>>>e.La].of(d&e.A,b&255,d)}c&&bq(this,a,c);Qc(this.M,!0)}};
h.pb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.M.pb(d,b):gc(this.ja,d,b),c&&bq(this,a,c),Qc(this.M,!0))};function qp(a,b,c,d,e,f,g){return cq(a,{},b,c,d,e,f,g)}function cq(a,b,c,d,e,f,g,k){b.Wa=c||0;b.ga=d;b.Sa=e;b.type=f||(aq(a)?2:1);b.Sb=null!=g?g:a.M&&4==a.M.Ba.ha;b.sc=null!=k?k:a.M&&4==a.M.Ba.cd;b.Td=!1;return b}function dq(a){return[a.Wa,a.ga,a.Sa,a.Td,a.Sb,a.sc,a.Ne,a.Sd]}function eq(a){return{Wa:a[0],ga:a[1],Sa:a[2],Td:a[3],Sb:a[4],sc:a[5],Ne:a[6],Sd:a[7]}}
function fq(a,b,c){if(null!=b.ga&&(a=Np(a,b.ga,b.type))){var d=b.Wa&a.Ea;if(!a.Zc){if(d>>>0>=a.fc)return!1}else if(d>>>0<a.fc)return!1;c&&(b.Wa=d,b.Sb=4==a.ha,b.sc=4==a.cd)}return!0}
function gq(a,b,c,d){var e,f=c?a.da:a.Fb;c=d?0:f.type;var g=f.Wa,k=f.ga,f=f.Sa;if(void 0!==b){b=hq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;k=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var q;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var r=e.toUpperCase(),x=0;x<a.C.length;x++){e=a.C[x];var B=e.Od[r];if(void 0!==B){r=B.o;void 0!==r&&(q=B.s,void 0===q&&(q=e.ga),q=qp(a,r,q,B.p));
break}}if(e=q)return e;0>f?null!=k?(g=iq(a,b,void 0),f=null):(f=iq(a,b,void 0),null==f&&(g=null)):(k=iq(a,b.substring(0,f),void 0),g=iq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=qp(a,g,k,f,c),d||fq(a,e,!0)||(a.U("invalid offset: "+$p(e)),e=null));return e}function jq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.xk=kq(a,b.Wj=c[2]))}function bq(a,b,c){c=c||1;null!=b.Sa&&(b.Sa+=c);null!=b.ga&&(b.Wa+=c,fq(a,b)||(b.Wa=0,b.Sa=null))}
function Sp(a,b,c){return null!=b?l(b,4)+":"+l(a,a&-65536||c?8:4):l(a)}function $p(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.ga?"":"%"}return null==a.ga?b+l(a.Sa):b+Sp(a.Wa,a.ga,a.sc)}function Tp(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Xa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
h.pb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.M.pb(d,b):gc(this.ja,d,b),c&&bq(this,a,c),Qc(this.M,!0))};function qp(a,b,c,d,e,f,g){return cq(a,{},b,c,d,e,f,g)}function cq(a,b,c,d,e,f,g,k){b.Xa=c||0;b.ga=d;b.Sa=e;b.type=f||(aq(a)?2:1);b.Sb=null!=g?g:a.M&&4==a.M.Ba.ha;b.sc=null!=k?k:a.M&&4==a.M.Ba.cd;b.Td=!1;return b}function dq(a){return[a.Xa,a.ga,a.Sa,a.Td,a.Sb,a.sc,a.Ne,a.Sd]}function eq(a){return{Xa:a[0],ga:a[1],Sa:a[2],Td:a[3],Sb:a[4],sc:a[5],Ne:a[6],Sd:a[7]}}
function fq(a,b,c){if(null!=b.ga&&(a=Np(a,b.ga,b.type))){var d=b.Xa&a.Ea;if(!a.Zc){if(d>>>0>=a.fc)return!1}else if(d>>>0<a.fc)return!1;c&&(b.Xa=d,b.Sb=4==a.ha,b.sc=4==a.cd)}return!0}
function gq(a,b,c,d){var e,f=c?a.da:a.Fb;c=d?0:f.type;var g=f.Xa,k=f.ga,f=f.Sa;if(void 0!==b){b=hq(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=1;break;case "#":c=2;break;case "%":c=4;e=b.charAt(1);"%"==e&&(c=5,e+=e);g=0;k=null;break;default:0<=f&&(c=0),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var q;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var r=e.toUpperCase(),x=0;x<a.C.length;x++){e=a.C[x];var B=e.Od[r];if(void 0!==B){r=B.o;void 0!==r&&(q=B.s,void 0===q&&(q=e.ga),q=qp(a,r,q,B.p));
break}}if(e=q)return e;0>f?null!=k?(g=iq(a,b,void 0),f=null):(f=iq(a,b,void 0),null==f&&(g=null)):(k=iq(a,b.substring(0,f),void 0),g=iq(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=qp(a,g,k,f,c),d||fq(a,e,!0)||(a.U("invalid offset: "+$p(e)),e=null));return e}function jq(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.xk=kq(a,b.Wj=c[2]))}function bq(a,b,c){c=c||1;null!=b.Sa&&(b.Sa+=c);null!=b.ga&&(b.Xa+=c,fq(a,b)||(b.Xa=0,b.Sa=null))}
function Sp(a,b,c){return null!=b?l(b,4)+":"+l(a,a&-65536||c?8:4):l(a)}function $p(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.ga?"":"%"}return null==a.ga?b+l(a.Sa):b+Sp(a.Xa,a.ga,a.sc)}function Tp(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Wa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function Lp(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.dc(gq(a,c));if(-1===e){a.U("invalid address: "+c);return}f=e>>>a.M.La;g=1}a.U("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.U("-------- --------- ---------- ------ ------ ----");c=-1;for(var k=0;g--;)(d=b[f])&&5==d.type&&(d=Gc(a.M,e,!1,!0)),d.type==c?k++||a.U("..."):(c=d.type,k=xc[c],6==c&&(d=d.zd,k+=" -> "+xc[d.type]),d&&a.U(l(d.id)+" %"+l(f<<a.M.La)+" %%"+l(d.Sa)+" "+ga(d.Ie)+" "+ga(d.size)+" "+k),
c!=wc&&5!=c&&(c=-1),k=0),e+=a.M.Pb,f++}function lq(a,b,c){a=l(a)+" "+l(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
var Op={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},Qp={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
@ -1132,15 +1132,15 @@ h.stop=function(a,b){if(this.sa.Mb){this.sa.Mb=!1;this.ka=b-this.wd;if(!this.O){
function Kf(a,b,c){if(0<c&&(a.Ua&&!--a.Ua||uq(a,b,1,a.A)))return!0;0<=c&&a.Y.length&&(a.va++,b=yf(a.M,b),null!=b&&(a.Y[b][1]++,cq(a,a.qa[a.Na],v(a.M),a.M.Ba.ga),++a.Na==a.qa.length&&(a.Na=0)));return!1}function Dc(a,b,c){return uq(a,b,c||1,a.xa)?(a.Zb(!0),!0):!1}function Fc(a,b,c){return uq(a,b,c||1,a.la)?(a.Zb(!0),!0):!1}function kc(a,b,c){a.U("break on input from port "+ga(b)+": "+l(c));a.Zb(!0)}function oc(a,b,c){a.U("break on output to port "+ga(b)+": "+l(c));a.Zb(!0)}
function rp(a){var b,c;a.A=["bp"];if(void 0!==a.xa)for(b=1;b<a.xa.length;b++){c=a.xa[b];var d=a.M,e=a.dc(c);Hc((5!=c.type?d.wa:d.Lc)[e>>>d.La],!1)}a.xa=["br"];if(void 0!==a.la)for(b=1;b<a.la.length;b++)c=a.la[b],d=a.M,e=a.dc(c),Hc((5!=c.type?d.wa:d.Lc)[e>>>d.La],!0);a.la=["bw"];a.qb=0}
h.Pd=function(a,b,c){var d=!0;c||Zp(this,a,b,!1,!0);if(a!=this.A){var e=this.dc(b);if(-1===e)this.U("invalid address: "+$p(b)),d=!1;else{var f=this.M;(5!=b.type?f.wa:f.Lc)[e>>>f.La].Pd(e&f.Ga,a==this.la);b.ga=null}}d&&(a.push(b),c?(null!=b.Sa&&(b.ga=null),b.Td=!0):(vq(this,a,a.length-1,"set"),sp(this)));return d};
function Zp(a,b,c,d,e){for(var f=!1,g=wq(a,a.dc(c)),k=1;k<b.length;k++){var q=b[k];if(-1!==g&&g==wq(a,a.dc(q))||-1===g&&c.ga==q.ga&&c.Wa==q.Wa)if(!d||q.Td){f=!0;q.Td||e||vq(a,b,k,"cleared");b.splice(k,1);b!=a.A&&(c=a.M,Hc((5!=q.type?c.wa:c.Lc)[g>>>c.La],b==a.la));q.Td||sp(a);break}}return f}function xq(a,b){for(var c=1;c<b.length;c++)vq(a,b,c);return b.length-1}function vq(a,b,c,d){c=b[c];a.U(b[0]+" "+$p(c)+(d?" "+d:c.Wj?' "'+c.Wj+'"':""))}
function Zp(a,b,c,d,e){for(var f=!1,g=wq(a,a.dc(c)),k=1;k<b.length;k++){var q=b[k];if(-1!==g&&g==wq(a,a.dc(q))||-1===g&&c.ga==q.ga&&c.Xa==q.Xa)if(!d||q.Td){f=!0;q.Td||e||vq(a,b,k,"cleared");b.splice(k,1);b!=a.A&&(c=a.M,Hc((5!=q.type?c.wa:c.Lc)[g>>>c.La],b==a.la));q.Td||sp(a);break}}return f}function xq(a,b){for(var c=1;c<b.length;c++)vq(a,b,c);return b.length-1}function vq(a,b,c,d){c=b[c];a.U(b[0]+" "+$p(c)+(d?" "+d:c.Wj?' "'+c.Wj+'"':""))}
function tq(a,b){if(void 0!==b)uq(a,b,1,a.A,!0),a.O=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.Td){if(!Zp(a,a.A,d,!0))break;c=0}}}function wq(a,b){if(-1!==b){var c=a.Ea&-65536;(b&c)==c&&(b&=1048575)}return b}
function uq(a,b,c,d,e){var f=!1;if(!a.qb++){b=wq(a,b);n(a,-2147483632)&&204==yf(a.M,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var k=d[g];if(!e||k.Td){null!=k.ga&&(k.Sa=null);for(var q=wq(a,a.dc(k)),r=0;r<c;r++)if(b+r==q){var x,f=!0;k.Td&&(Zp(a,d,k,!0),e=!0);if(x=k.xk){for(var f=!1,B=0;B<x.length;B++)if(!yq(a,x[B],!0)){if(x[B].indexOf("if")){f=!0;break}for(var y=B+1;y<x.length&&x[y].indexOf("else");y++)B++;if(y==x.length){f=!0;break}}a.M.sa.Mb||(f=!0)}if(f){e||vq(a,d,g,"hit");break}}}}}a.qb--;return f}
function zq(a,b,c,d){for(var e=qp(a,b.Wa,b.ga,b.Sa,b.type),f=a.Xa(b,1),g=4,k=0,q=!1,r=!1;(102==f||103==f)&&g--;)102==f?q||(b.Sb=!b.Sb,q=!0):r||(b.sc=!b.sc,r=!0),k++,f=a.Xa(b,1);var g=-1,r=yp,q=a.Oa[f],x=q[0];if(176==x)var B=a.Xa(b,1),q=Ip[B]||Fp,f=f|B<<8,x=q[0];if(36==x){var g=a.Xa(b,1),B=null,y=g>>3&7,L=(3>(g>>6&3)?0:48)+y;(217==f||219==f)&&52<=L&&(L=y<<4|g&7);(y=Jp[f])&&(B=y[L]);B&&(r=zp,q=B,x=q[0])}x>=r.length&&(g=a.Xa(b,1),q=Kp[x-r.length][g>>3&7],x=q[0]);r=r[x];L=q.length-1;B="";b.Sb&&(18==x?
r="CWDE":28==x?r="CDQ":104<=x&&107>=x&&(r+="D"));if(164<=f&&167>=f||170<=f&&175>=f)L=0,b.Sb&&"W"==r.slice(-1)&&(r=r.slice(0,-1)+"D");f=null;x=!0;for(y=1;y<=L;y++){var F,I;F="";I=q[y];if(void 0!==I){null==f&&(f=I>>14);var V=I&15;if(0!=V)if(8==V)x=!1;else{var P=I&240;if(128<=P)if(0>g&&(g=a.Xa(b,1)),160>P){F=a;var ua=L,V=b,X="",oa=g>>6,Za=g&7;if(3>oa){var ia=void 0,P=0==r.indexOf("FI");if(!oa&&(!V.sc&&6==Za||V.sc&&5==Za))oa=2;else{if(V.sc)if(4!=Za)Za+=8;else{var X=F,ia=oa,Ra=V,xa=X.Xa(Ra,1),Gb=xa>>6,
Ia=xa>>3&7,xa=xa&7,Da="";if(ia||5!=xa)Da=Dp[xa+8];4!=Ia&&(Da&&(Da+="+"),Da+=Dp[Ia+8],Gb&&(Da+="*"+(1<<Gb)));ia||5!=xa||(Da&&(Da+="+"),Da+=l(X.Ta(Ra,4)));X=Da}X||(X=Dp[Za])}1==oa?(ia=F.Xa(V,1),ia&128?(ia=ia<<24>>24,X+="-"+l(-ia,2)):X+="+"+l(ia,2)):2==oa&&(X&&(X+="+"),V.sc?(ia=F.Ta(V,4),X+=l(ia)):(ia=F.ua(V,2),X+=l(ia,4)));X="["+X+"]";if(1==ua){F="";I&=15;4==I&&(I=V.Sb?5:3);switch(I){case 7:F="FAR";break;case 1:F="BYTE";break;case 3:if(P){F="INT16";break}F="WORD";break;case 5:F="DWORD";break;case 11:if(P){F=
"INT32";break}case 11:F="REAL32";break;case 12:if(P){F="INT64";break}case 12:F="REAL64";break;case 13:F="REAL80";break;case 14:F="BCD80"}F&&(X=F+" "+X)}}else X=Aq(F,Za,I,V);F=X}else F=160==P?Aq(a,g&7,I,b):Aq(a,g>>3&7,I,b);else if(16==P)F="1";else if(0==P){F=a;V=I;P=b;I=" ";switch(V&15){case 1:V&12288&&(I=l(F.Xa(P,1),2));break;case 2:I=l(F.Xa(P,1)<<24>>24,P.Sb?8:4);break;case 4:if(P.Sb){I=l(F.Ta(P,4));break}case 3:I=l(F.ua(P,2),4);break;case 7:P=qp(F,F.vb(P,!0),F.ua(P,2),null,P.type,P.Sb,P.sc);I=$p(P);
F=Bq(F,P);F[0]&&(I+=" ("+F[0]+")");break;default:I="imm("+ga(V)+")"}F=I}else 32==P?(b.sc?(F=8,I=a.Ta(b,4)):(F=4,I=a.ua(b,2)),F="["+l(I,F)+"]"):48==P?(F=1==V?a.Xa(b,1)<<24>>24:a.vb(b,!0),I=b.Wa+F&(b.Sb?-1:65535),F=l(I,b.Sb?8:4),I=Bq(a,qp(a,I,b.ga)),I[0]&&(F+=" ("+I[0]+")")):96==P?F=9==V?"ST":10==V?"ST("+(g&7)+")":Aq(a,(I&3840)>>8,I,b):112==P?F=Aq(a,(I&3840)>>8,192,b):64==P?F="DS:[SI]":80==P&&(F="ES:[DI]");if(!F||!F.length){B="INVALID";break}0<B.length&&(B+=",");B+=F||"???"}}}g="";q=$p(e)+" ";if(-1!==
e.Sa&&-1!==b.Sa){do if(g+=l(a.Xa(e,1),2),null==e.Sa)break;while(e.Sa!=b.Sa)}q+=na(g,e.sc?24:16);q+=na(r,8);B&&(q+=" "+B);a.M.na<Bp[f]&&(c=Bp[f]+" CPU only");c&&x&&(q=na(q,e.sc?74:56)+";"+c,q=a.M.sa.Re?q+("cycles="+Vc(a.M).toString()+" cs="+l(a.M.ba.zf)):q+(null!=d?"="+d.toString():""));Cq(b,x,k);return q}
function zq(a,b,c,d){for(var e=qp(a,b.Xa,b.ga,b.Sa,b.type),f=a.Wa(b,1),g=4,k=0,q=!1,r=!1;(102==f||103==f)&&g--;)102==f?q||(b.Sb=!b.Sb,q=!0):r||(b.sc=!b.sc,r=!0),k++,f=a.Wa(b,1);var g=-1,r=yp,q=a.Oa[f],x=q[0];if(176==x)var B=a.Wa(b,1),q=Ip[B]||Fp,f=f|B<<8,x=q[0];if(36==x){var g=a.Wa(b,1),B=null,y=g>>3&7,L=(3>(g>>6&3)?0:48)+y;(217==f||219==f)&&52<=L&&(L=y<<4|g&7);(y=Jp[f])&&(B=y[L]);B&&(r=zp,q=B,x=q[0])}x>=r.length&&(g=a.Wa(b,1),q=Kp[x-r.length][g>>3&7],x=q[0]);r=r[x];L=q.length-1;B="";b.Sb&&(18==x?
r="CWDE":28==x?r="CDQ":104<=x&&107>=x&&(r+="D"));if(164<=f&&167>=f||170<=f&&175>=f)L=0,b.Sb&&"W"==r.slice(-1)&&(r=r.slice(0,-1)+"D");f=null;x=!0;for(y=1;y<=L;y++){var F,I;F="";I=q[y];if(void 0!==I){null==f&&(f=I>>14);var V=I&15;if(0!=V)if(8==V)x=!1;else{var P=I&240;if(128<=P)if(0>g&&(g=a.Wa(b,1)),160>P){F=a;var ua=L,V=b,X="",oa=g>>6,Za=g&7;if(3>oa){var ia=void 0,P=0==r.indexOf("FI");if(!oa&&(!V.sc&&6==Za||V.sc&&5==Za))oa=2;else{if(V.sc)if(4!=Za)Za+=8;else{var X=F,ia=oa,Ra=V,xa=X.Wa(Ra,1),Gb=xa>>6,
Ia=xa>>3&7,xa=xa&7,Da="";if(ia||5!=xa)Da=Dp[xa+8];4!=Ia&&(Da&&(Da+="+"),Da+=Dp[Ia+8],Gb&&(Da+="*"+(1<<Gb)));ia||5!=xa||(Da&&(Da+="+"),Da+=l(X.Ta(Ra,4)));X=Da}X||(X=Dp[Za])}1==oa?(ia=F.Wa(V,1),ia&128?(ia=ia<<24>>24,X+="-"+l(-ia,2)):X+="+"+l(ia,2)):2==oa&&(X&&(X+="+"),V.sc?(ia=F.Ta(V,4),X+=l(ia)):(ia=F.ua(V,2),X+=l(ia,4)));X="["+X+"]";if(1==ua){F="";I&=15;4==I&&(I=V.Sb?5:3);switch(I){case 7:F="FAR";break;case 1:F="BYTE";break;case 3:if(P){F="INT16";break}F="WORD";break;case 5:F="DWORD";break;case 11:if(P){F=
"INT32";break}case 11:F="REAL32";break;case 12:if(P){F="INT64";break}case 12:F="REAL64";break;case 13:F="REAL80";break;case 14:F="BCD80"}F&&(X=F+" "+X)}}else X=Aq(F,Za,I,V);F=X}else F=160==P?Aq(a,g&7,I,b):Aq(a,g>>3&7,I,b);else if(16==P)F="1";else if(0==P){F=a;V=I;P=b;I=" ";switch(V&15){case 1:V&12288&&(I=l(F.Wa(P,1),2));break;case 2:I=l(F.Wa(P,1)<<24>>24,P.Sb?8:4);break;case 4:if(P.Sb){I=l(F.Ta(P,4));break}case 3:I=l(F.ua(P,2),4);break;case 7:P=qp(F,F.vb(P,!0),F.ua(P,2),null,P.type,P.Sb,P.sc);I=$p(P);
F=Bq(F,P);F[0]&&(I+=" ("+F[0]+")");break;default:I="imm("+ga(V)+")"}F=I}else 32==P?(b.sc?(F=8,I=a.Ta(b,4)):(F=4,I=a.ua(b,2)),F="["+l(I,F)+"]"):48==P?(F=1==V?a.Wa(b,1)<<24>>24:a.vb(b,!0),I=b.Xa+F&(b.Sb?-1:65535),F=l(I,b.Sb?8:4),I=Bq(a,qp(a,I,b.ga)),I[0]&&(F+=" ("+I[0]+")")):96==P?F=9==V?"ST":10==V?"ST("+(g&7)+")":Aq(a,(I&3840)>>8,I,b):112==P?F=Aq(a,(I&3840)>>8,192,b):64==P?F="DS:[SI]":80==P&&(F="ES:[DI]");if(!F||!F.length){B="INVALID";break}0<B.length&&(B+=",");B+=F||"???"}}}g="";q=$p(e)+" ";if(-1!==
e.Sa&&-1!==b.Sa){do if(g+=l(a.Wa(e,1),2),null==e.Sa)break;while(e.Sa!=b.Sa)}q+=na(g,e.sc?24:16);q+=na(r,8);B&&(q+=" "+B);a.M.na<Bp[f]&&(c=Bp[f]+" CPU only");c&&x&&(q=na(q,e.sc?74:56)+";"+c,q=a.M.sa.Re?q+("cycles="+Vc(a.M).toString()+" cs="+l(a.M.ba.zf)):q+(null!=d?"="+d.toString():""));Cq(b,x,k);return q}
function Aq(a,b,c,d){var e=c&240;if(192==e){if(5<b||4<=b&&80386>a.M.na)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Sb))b+=16;return Cp[b]}
function Dq(a,b){var c;switch(b){case "V":c=kf(a.M);break;case "D":c=a.M.ea&1024;break;case "I":c=a.M.ea&512;break;case "T":c=a.M.ea&256;break;case "S":c=jf(a.M);break;case "Z":c=hf(a.M);break;case "A":c=gf(a.M);break;case "P":c=ff(a.M);break;case "C":c=ef(a.M);break;default:c=0}return b+(c?"1":"0")+" "}function Pp(a){return l(a,a&-65536?8:4)}function Eq(a,b){8<=b&&15>=b&&4<a.Pa&&(b+=16);var c=Cp[b];32==b&&80286==a.M.na&&(c="MS");return c+"="+nq(a,b)+" "}
function Fq(a,b,c){return b.hc+"="+l(b.ga,4)+(c?"["+l(b.Ca,a.Ha)+","+Pp(b.$a)+"]":"")}function Gq(a,b,c,d,e){return b+"="+(null!=c?l(c,4):"")+"["+l(d,a.Ha)+","+l(e-d,4)+"]"}
@ -1151,12 +1151,12 @@ case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d
function iq(a,b,c){var d;if(b){b=hq(a,b);for(var e=0,f=!1,g=b,k=[],q=[],r=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<r.length;){var x=r[e++],B=x.length,x=pa(x);if(!x){f=!0;break}x=Mp(a,x,null,!1===c);if(void 0===x){f=!0;c=!1;break}k.push(x);if(e==r.length)break;var x=r[e++],y=x.length;q.length&&Iq[x]<Iq[q[q.length-1]]&&Jq(k,q,1);q.push(x);b=b.substr(B+y)}Jq(k,q)&&1==k.length||(f=!0);f?c&&a.U("error parsing '"+g+"' at character "+(g.length-b.length)):(d=k.pop(),c&&Kq(a,null,
d))}return d}function hq(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=iq(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?l(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=gq(a,c[1]),b=b.replace("["+c[1]+"]",d?l(a.vb(d),d.Sb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.va-a.Ga}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function Mp(a,b,c,d){var e;void 0!==b?(e=mq(b),0<=e?e=oq(a,e):(e=a.Fa[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.U("invalid "+(c?c:"value")+": "+b)):d||a.U("missing "+(c||"value"));return e}function Kq(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d="0x"+l(c)+" "+c+". ("+ea(c)+")");a.U((null!=b?b+": ":"")+d);return e}function Lq(a,b){if(b)return Kq(a,b,a.Fa[b]);var c=0;for(b in a.Fa)Kq(a,b,a.Fa[b]),c++;return 0<c}pp.prototype.Eb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function ql(a,b,c,d,e,f,g,k){var q={},r=[],x;for(x in k){var B=k[x];"number"==typeof B&&(k[x]=B={o:B});var y=B.o,L=B.s,F=B.a;if(void 0!==y){void 0!==L&&(q.Wa=y,q.ga=L,q.Sa=null,a.dc(q),(q.Sa&-65536)==(a.ja.rg&-65536)&&(q.Sa&=1048575),B.p=q.Sa);var L=r,y=[y>>>0,x],I=qa(L,y,a.Eb);0>I&&L.splice(-(I+1),0,y)}F&&(B.a=F.replace(/''/g,'"'))}a.C.push({Xf:b,bm:c,ga:d,Wa:e,Sa:f,Ul:g,Od:k,mi:r})}
function Yp(a,b,c){for(var d=0;d<a.C.length;d++){var e=a.C[d];if(!b||e.Xf==b)if(b&&c==e.bm||!b&&c==e.ga){a.C.splice(d,1);break}}}function Bq(a,b,c){for(var d=[],e=b.Wa>>>0,f=a.dc(b)>>>0,g=0;g<a.C.length;g++){var k=a.C[g],q=k.ga,r=k.Wa>>>0,x=k.Sa;null!=x&&(x>>>=0);var B=k.Ul;48==q&&(q=40);if(q==b.ga&&e>=r&&e<r+B||null!=x&&f>=x&&f<x+B){b=qa(k.mi,[e],a.Eb);0<=b?Mq(a,g,b,d):c&&(b=~b,Mq(a,g,b-1,d),Mq(a,g,b,d));break}}!d.length&&(a=a.ja.Ki(f,!0))&&(d.push(a),d.push(f));return d}
function ql(a,b,c,d,e,f,g,k){var q={},r=[],x;for(x in k){var B=k[x];"number"==typeof B&&(k[x]=B={o:B});var y=B.o,L=B.s,F=B.a;if(void 0!==y){void 0!==L&&(q.Xa=y,q.ga=L,q.Sa=null,a.dc(q),(q.Sa&-65536)==(a.ja.rg&-65536)&&(q.Sa&=1048575),B.p=q.Sa);var L=r,y=[y>>>0,x],I=qa(L,y,a.Eb);0>I&&L.splice(-(I+1),0,y)}F&&(B.a=F.replace(/''/g,'"'))}a.C.push({Xf:b,bm:c,ga:d,Xa:e,Sa:f,Ul:g,Od:k,mi:r})}
function Yp(a,b,c){for(var d=0;d<a.C.length;d++){var e=a.C[d];if(!b||e.Xf==b)if(b&&c==e.bm||!b&&c==e.ga){a.C.splice(d,1);break}}}function Bq(a,b,c){for(var d=[],e=b.Xa>>>0,f=a.dc(b)>>>0,g=0;g<a.C.length;g++){var k=a.C[g],q=k.ga,r=k.Xa>>>0,x=k.Sa;null!=x&&(x>>>=0);var B=k.Ul;48==q&&(q=40);if(q==b.ga&&e>=r&&e<r+B||null!=x&&f>=x&&f<x+B){b=qa(k.mi,[e],a.Eb);0<=b?Mq(a,g,b,d):c&&(b=~b,Mq(a,g,b-1,d),Mq(a,g,b,d));break}}!d.length&&(a=a.ja.Ki(f,!0))&&(d.push(a),d.push(f));return d}
function Mq(a,b,c,d){var e={},f=a.C[b].mi,g=0,k=null;0<=c&&c<f.length&&(g=f[c][0],k=f[c][1]);k&&(e=a.C[b].Od[k],k="."==k.charAt(0)?null:e.l||k);d.push(k);d.push(g);d.push(e.a);d.push(e.c)}function Nq(a){a.uf&&(a.uf.value="")}
function Oq(a,b){if("?"==b)a.U("frequency commands:"),a.U("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Y)if("clear"==b){for(c=0;c<a.Y.length;c++)a.Y[c]=[c,0];a.U("frequency data cleared");d++}else if(void 0!==b)a.U("unknown frequency command: "+b),d++;else{var e=a.Y.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.U((yp[a.Oa[f][0]]+" ").substr(0,5)+" ("+fa(f)+"): "+g+" times"),d++)}}d||a.U("no frequency data available")}}
function Pq(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Lq(a)||a.U("no variables"),!0;if(!c[2])return Lq(a,c[1]);if(!c[3])return delete a.Fa[c[1]],!0;var d=iq(a,c[3]);return void 0!==d?(a.Fa[c[1]]=d,!0):!1}a.U("invalid assignment:"+b);return!1}
function Qq(a,b,c){var d=null;if(b=gq(a,b,!0)){a.dc(b);var e=Bq(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Wa-e[1])&&(g=" + "+ga(f)),f=e[0]+" ("+Sp(e[1],b.ga)+")"+g,c&&a.U(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Wa)&&(g=" - "+ga(f)),f=e[4]+" ("+Sp(e[5],b.ga)+")"+g,c&&a.U(f),d||(d=f))}else c&&a.U("no symbols")}return d}
function Qq(a,b,c){var d=null;if(b=gq(a,b,!0)){a.dc(b);var e=Bq(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Xa-e[1])&&(g=" + "+ga(f)),f=e[0]+" ("+Sp(e[1],b.ga)+")"+g,c&&a.U(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Xa)&&(g=" - "+ga(f)),f=e[4]+" ("+Sp(e[5],b.ga)+")"+g,c&&a.U(f),d||(d=f))}else c&&a.U("no symbols")}return d}
function Rq(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:gq(a,b[1]);if(g&&(d=Mp(a,b[2],"drive #"),void 0!==d)){if(!c){e=Mp(a,b[3],"sector #");if(void 0===e)return;f=Mp(a,b[4],"# of sectors");void 0===f&&(f=1)}var k=a.ic;2<=d&&a.Qb&&(d-=2,k=a.Qb);if(k){var q=k.zi(d);if(q)if(q.Da)if(c)Nq(a),a.U(q.Da.toJSON());else if(k.Yj(q,e,f)){for(var r=0,x=!1,c=$p(g);!x&&0<q.Kb--;)(function(a,b){k.nc(q,function(c){0>c?(a.U("out of data at address "+$p(b)),x=!0):(a.xc(b,c,1),r++)})})(a,g);a.U(r+" bytes read at "+
c)}else a.U("sector "+e+" request out of range");else a.U("drive "+d+" not loaded");else a.U("invalid drive: "+d)}else a.U("disk controller not present")}}else a.U("list/load commands:"),a.U("\tl [address] [drive #] [sector #] [# sectors]")}
function rq(a,b){var c;if(b&&"?"==b[1])a.U("register commands:"),a.U("\tr\tdump registers"),a.Vb&&a.U("\trfp\tdump floating-point registers"),a.U("\trp\tdump all registers"),a.U("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1];if(a.Vb&&"fp"==e){c=a.Vb;d=Nf(c);for(var f=c.gc,g=0;8>g;g++){var k=c,e=null;if(g<k.ja.length){var e=[],q=k.C+g&7;e[0]=q;e[1]=bg(k,q);e[2]=k.ja[q];q<<=1;e[3]=k.da[q];e[4]=k.da[q+1];k=fg(k,e[3],e[4]);e[5]=k[0];e[6]=k[1];
@ -1165,27 +1165,27 @@ null),q){case "AL":a.M.F=a.M.F&-256|k&255;break;case "AH":a.M.F=a.M.F&-65281|k<<
65535;break;case "SP":t(a.M,u(a.M)&-65536|k&65535);break;case "BP":a.M.K=a.M.K&-65536|k&65535;break;case "SI":a.M.J=a.M.J&-65536|k&65535;break;case "DI":a.M.I=a.M.I&-65536|k&65535;break;case "DS":wd(a.M,k);break;case "ES":xd(a.M,k);break;case "SS":md(a.M,k);break;case "CS":Ze(a.M,k);a.da=qp(a,v(a.M),a.M.Ba.ga);break;case "IP":case "EIP":$e(a.M,k);a.da=qp(a,v(a.M),a.M.Ba.ga);break;case "PC":case "PS":zd(a.M,k);break;case "C":k?mf(a.M):nf(a.M);break;case "P":k?(e=a.M,e.resultType&=-3,e.ea|=4):(e=a.M,
e.resultType&=-3,e.ea&=-5);break;case "A":k?uf(a.M):sf(a.M);break;case "Z":k?vf(a.M):tf(a.M);break;case "S":k?(e=a.M,e.resultType&=-17,e.ea|=128):(e=a.M,e.resultType&=-17,e.ea&=-129);break;case "I":k?(e=a.M,e.ea|=512):(e=a.M,e.ea&=-513);break;case "D":k?(e=a.M,e.ea|=1024):(e=a.M,e.ea&=-1025);break;case "V":k?of(a.M):pf(a.M);break;default:var r=!0;if(80286<=a.M.na)switch(r=!1,q){case "MS":wf(a.M,k);break;case "TR":-1===a.M.ab.load(k)&&(g=!1);break;default:if(r=!0,80386<=a.M.na)switch(r=!1,q){case "EAX":a.M.F=
k;break;case "EBX":a.M.D=k;break;case "ECX":a.M.G=k;break;case "EDX":a.M.H=k;break;case "ESP":t(a.M,k);break;case "EBP":a.M.K=k;break;case "ESI":a.M.J=k;break;case "EDI":a.M.I=k;break;case "FS":a.M.Tb.load(k);break;case "GS":a.M.Ub.load(k);break;case "CR0":a.M.gb=k;Kh.call(a.M,k);break;case "CR2":a.M.oe=k;break;case "CR3":a.M.Nd=k;Bd.call(a.M,k);break;default:r=!0}}if(r){a.U("unknown register: "+e);return}}if(!g){a.U("invalid value: "+f);return}Qc(a.M);a.U("updated registers:")}}a.U(Hq(a,d));c&&(a.da=
qp(a,v(a.M),a.M.Ba.ga),sq(a,$p(a.da)))}}function Sq(a,b){b=pa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.U(pq(a,c[2])):iq(a,b,!0)}function Tq(a,b,c){for(var d=null,e=b.Wa,f=e,g=1;6>=g&&e;g++){if(2<g){b.Wa=e;b.Sa=null;var k=zq(a,b);if(0<k.indexOf("CALL")||c&&0<k.indexOf("INT")){var q=k.indexOf(" ");if(e+(k.indexOf(" ",q+1)-q-1)/2==f){d=k;break}}}e--}b.Wa=f;return d}
qp(a,v(a.M),a.M.Ba.ga),sq(a,$p(a.da)))}}function Sq(a,b){b=pa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.U(pq(a,c[2])):iq(a,b,!0)}function Tq(a,b,c){for(var d=null,e=b.Xa,f=e,g=1;6>=g&&e;g++){if(2<g){b.Xa=e;b.Sa=null;var k=zq(a,b);if(0<k.indexOf("CALL")||c&&0<k.indexOf("INT")){var q=k.indexOf(" ");if(e+(k.indexOf(" ",q+1)-q-1)/2==f){d=k;break}}}e--}b.Xa=f;return d}
function Uq(a,b,c){var d="tr"==b;b=Mp(a,c,null,!0)||1;var e=1==b?0:1;Ka(b,function(){return qb(a,!0)&&a.nf(e,d,!1)},function(){Qc(a.M);qb(a,!1)})}function Cq(a,b,c){if(a.Sd=b)null!=a.Di&&(a.Sb=a.Di),null!=a.Ci&&(a.sc=a.Ci),a.Di=a.Sb,a.Ci=a.sc;a.Ne=c||0}
function sq(a,b,c,d){if(b=gq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=gq(a,c,!0);if(!d||d.Wa<b.Wa)return;e=d.Wa-b.Wa;if(256<e){a.U("range too large");return}d=-1}c=0;var f;for(Cq(b,!0);0<e&&d--;){var g=b.Sa;f=rb(a,!1)||a.O?a.ka:null;var k=null!=f?"cycles":null,q=Bq(a,b);if(q[0]&&d&&(!c&&d||0>q[0].indexOf("+"))){var r=q[0]+":";q[2]&&(r+=" "+q[2]);a.U(r)}q[3]&&(k=q[3],f=null);f=zq(a,b,k,f);b.Sd||d||d++;a.U(f);a.da=b;e-=b.Sa-g;c++}}}
function sq(a,b,c,d){if(b=gq(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=gq(a,c,!0);if(!d||d.Xa<b.Xa)return;e=d.Xa-b.Xa;if(256<e){a.U("range too large");return}d=-1}c=0;var f;for(Cq(b,!0);0<e&&d--;){a.Wa(b);var g=b.Sa;f=rb(a,!1)||a.O?a.ka:null;var k=null!=f?"cycles":null,q=Bq(a,b);if(q[0]&&d&&(!c&&d||0>q[0].indexOf("+"))){var r=q[0]+":";q[2]&&(r+=" "+q[2]);a.U(r)}q[3]&&(k=q[3],f=null);f=zq(a,b,k,f);b.Sd||d||d++;a.U(f);a.da=b;e-=b.Sa-g;c++}}}
function kq(a,b,c,d){if(c)if(b){0>a.W&&a.P.length&&(a.W=0);if(0>a.W||b!=a.P[a.W])a.P.splice(0,0,b),a.W=0;a.W--}else b=a.P[a.W+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(pa(b.substring(c,f))),c=f+1}}return a}
function yq(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ka&&(a.U("ended assemble at "+$p(a.Aa)),a.da=a.Aa,a.Ka=!1),b="";else if(!c){var e=">> ";a.M.gb&1&&(e=a.M.ea&131072?"-- ":"## ");a.U(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.bb=null;if(tb(a)&&0<b.length){a.Ka&&(b="a "+$p(a.Aa)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var k=g[0],q=k.charAt(0),r=1;r<k.length;r++){var x=k.charAt(r);if("?"==q||"r"==q||"a">x||"z"<x){g[0]=k.substr(r);g.unshift(k.substr(0,r));break}}switch(g[0].charAt(0)){case "a":var B=
gq(a,g[1],!0);if(B)if(a.Aa=B,void 0===g[2])a.U("begin assemble at "+$p(B)),a.Ka=!0,Qc(a.M);else{var y;a.U("not supported yet");y=[];if(y.length){for(var L=0;L<y.length;L++)a.xc(B,y[L],1);a.U(zq(a,a.Aa))}}break;case "b":a:{var F=g[0],I=g[1],V=b;if("?"==I)a.U("breakpoint commands:"),a.U("\tbi [p]\ttoggle break on input port [p]"),a.U("\tbo [p]\ttoggle break on output port [p]"),a.U("\tbp [a]\tset exec breakpoint at addr [a]"),a.U("\tbr [a]\tset read breakpoint at addr [a]"),a.U("\tbw [a]\tset write breakpoint at addr [a]"),
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 P=F.charAt(1);if("l"==P){var ua=0,ua=ua+xq(a,a.A),ua=ua+xq(a,a.xa);(ua+=xq(a,a.la))||a.U("no breakpoints")}else if("n"==P)a.Ua=Mp(a,I),a.U("break after "+a.Ua+" instruction(s)");else if(void 0===I)a.U("missing breakpoint address");else{var X={};if("*"!=I&&(X=gq(a,I,!0,!0),!X))break a;I=null==X.Wa?I:ga(X.Wa);"c"==P?null==X.Wa?(rp(a),a.U("all breakpoints cleared")):
Zp(a,a.A,X)||Zp(a,a.xa,X)||Zp(a,a.la,X)||a.U("breakpoint missing: "+$p(X)):"i"==P?a.U("breakpoint "+(hc(a.ja,X.Wa)?"enabled":"cleared")+": port "+I+" (input)"):"o"==P?a.U("breakpoint "+(lc(a.ja,X.Wa)?"enabled":"cleared")+": port "+I+" (output)"):null!=X.Wa&&(jq(a,X,V),"p"==P?a.Pd(a.A,X):"r"==P?a.Pd(a.xa,X):"w"==P?a.Pd(a.la,X):a.U("unknown breakpoint command: "+P))}}}break;case "c":Nq(a);break;case "d":a:{var oa=g,Za,ia=oa[0],Ra=oa[1],xa=oa[2],Gb=oa[3];if("?"==Ra){var Ia="";for(Za in Ep)a.ib[Za]&&
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 P=F.charAt(1);if("l"==P){var ua=0,ua=ua+xq(a,a.A),ua=ua+xq(a,a.xa);(ua+=xq(a,a.la))||a.U("no breakpoints")}else if("n"==P)a.Ua=Mp(a,I),a.U("break after "+a.Ua+" instruction(s)");else if(void 0===I)a.U("missing breakpoint address");else{var X={};if("*"!=I&&(X=gq(a,I,!0,!0),!X))break a;I=null==X.Xa?I:ga(X.Xa);"c"==P?null==X.Xa?(rp(a),a.U("all breakpoints cleared")):
Zp(a,a.A,X)||Zp(a,a.xa,X)||Zp(a,a.la,X)||a.U("breakpoint missing: "+$p(X)):"i"==P?a.U("breakpoint "+(hc(a.ja,X.Xa)?"enabled":"cleared")+": port "+I+" (input)"):"o"==P?a.U("breakpoint "+(lc(a.ja,X.Xa)?"enabled":"cleared")+": port "+I+" (output)"):null!=X.Xa&&(jq(a,X,V),"p"==P?a.Pd(a.A,X):"r"==P?a.Pd(a.xa,X):"w"==P?a.Pd(a.la,X):a.U("unknown breakpoint command: "+P))}}}break;case "c":Nq(a);break;case "d":a:{var oa=g,Za,ia=oa[0],Ra=oa[1],xa=oa[2],Gb=oa[3];if("?"==Ra){var Ia="";for(Za in Ep)a.ib[Za]&&
(Ia&&(Ia+=","),Ia+=Za);Ia+=",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 #");Ia.length&&a.U("dump extension commands:\n\t"+Ia)}else if("state"==Ra){var Da=Vq(a.ia,!0);"console"==xa?console.log(Da):(Nq(a),a.U(Da))}else if("symbols"==Ra)for(var hd=
0;hd<a.C.length;hd++){var Od=a.C[hd],Pc;for(Pc in Od.Od)if("."!=Pc.charAt(0)){var Pd=Od.Od[Pc],Ae=Pd.o;if(void 0!==Ae){var Qd=Pd.s;void 0===Qd&&(Qd=Od.ga);var Be=Od.Od[Pc].l;Be&&(Pc=Be);a.U(Sp(Ae,Qd)+" "+Pc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",oa=[ia,"desc",Ra];"d"==ia&&"page"==Ra&&(ia="dp",oa.shift());if("dp"==ia){oa.shift();var Zh=oa[0];if(Zh){var Me=a.dc(gq(a,Zh));if(-1===Me)a.U("invalid address: "+Zh);else{var Ud=a.ja,Pm=(Me&-4194304)>>>20,Qm=a.M.Nd+Pm,Rm=Ud.wa[(Qm&Ud.Jb)>>>Ud.La].Yd(Pm),
Sm=(Me&4190208)>>>10,Tm=(Rm&-4096)+Sm,Um=Ud.wa[(Tm&Ud.Jb)>>>Ud.La].Yd(Sm),nr=(Um&-4096)+(Me&4095);a.U("linear PDE addr PDE PTE addr PTE physical");a.U("--------- ---------- -------- ---------- -------- ----------");var od="%"+l(Me),od=od+(" %%"+lq(Qm,Rm)),od=od+(" %%"+lq(Tm,Um,!0)),od=od+(" %%"+l(nr));a.U(od)}}else a.U("missing address")}else{if("d"==ia){if("disk"==Ra){oa[0]="l";oa[1]="json";Rq(a,oa);break a}for(Za in Ep)if(oa[1]==Za){var Vm=a.ib[Za];
Vm?(oa.shift(),oa.shift(),Vm(oa)):a.U("no dump registered for "+Ra);break a}Ra||(ia=a.Ec||"db")}else a.Ec=ia;if("dh"==ia){var Wm=Ra,Xm=xa,Ym="",Zm=0,ob=a.Na,qc=a.qa;if(qc.length){var Ab=+Wm||a.Wb,Vd=+Xm||10;isNaN(Ab)?Ab=Vd:Ym="more ";Ab>qc.length&&(a.U("note: only "+qc.length+" available"),Ab=qc.length);ob-=Ab;0>ob&&(null==qc[qc.length-1].ga?(Ab=ob+Ab,ob=0):ob+=qc.length);var $h=[];"call"==Xm&&(Vd=1E5,$h=["CALL"]);for(void 0!==Wm&&a.U(Ab+" instructions earlier:");0<Vd&&ob!=a.Na;){var pb=qc[ob++];
if(null==pb.ga)break;var pb=qp(a,pb.Wa,pb.ga,pb.Sa,pb.type,pb.Sb,pb.sc),$m=zq(a,pb,"history",Ab--);(!$h.length||0<=$m.indexOf($h[0]))&&a.U($m);pb.Ne&&(ob+=pb.Ne,Vd-=pb.Ne,Ab-=pb.Ne);ob>=qc.length&&(ob=0);a.Wb=Ab;Zm++;Vd--}}Zm||(a.U("no "+Ym+"history available"),a.Wb=void 0)}else if("di"==ia)oa.shift(),a.U("no information");else{var Wd=gq(a,Ra);if(Wd&&(null!=Wd.ga||null!=Wd.Sa)){var jg=0;xa&&("l"==xa.charAt(0)&&(xa=xa.substr(1)||Gb),jg=Mp(a,xa)>>>0,65536<jg&&(jg=65536));for(var pd="",or=(jg||128)+
15>>4||1,ai="dd"==ia?4:"dw"==ia?2:1,an=0;an<or;an++){for(var kg=0,bi=0,Ne="",ci="",Ra=$p(Wd),di=0;16>di;di++){var lg=a.Xa(Wd,1),kg=kg|lg<<(bi++<<3);bi==ai&&(Ne+=l(kg,2*ai),Ne+=1==ai?7==di?"-":" ":" ",kg=bi=0);ci+=32<=lg&&128>lg?String.fromCharCode(lg):"."}pd&&(pd+="\n");pd+=Ra+" "+Ne+" "+ci}pd&&a.U(pd);a.Fb=Wd}}}}}break;case "e":if("else"==g[0])break;var mg=1,bn=255,cn=a.Xa,dn=a.xc;"ew"==g[0]&&(mg=2,bn=65535,cn=a.ua,dn=a.pb);var en=mg<<1,fn=g[1];if(null==fn)a.U("edit memory commands:"),a.U("\teb [a] [...] edit bytes at address a"),
if(null==pb.ga)break;var pb=qp(a,pb.Xa,pb.ga,pb.Sa,pb.type,pb.Sb,pb.sc),$m=zq(a,pb,"history",Ab--);(!$h.length||0<=$m.indexOf($h[0]))&&a.U($m);pb.Ne&&(ob+=pb.Ne,Vd-=pb.Ne,Ab-=pb.Ne);ob>=qc.length&&(ob=0);a.Wb=Ab;Zm++;Vd--}}Zm||(a.U("no "+Ym+"history available"),a.Wb=void 0)}else if("di"==ia)oa.shift(),a.U("no information");else{var Wd=gq(a,Ra);if(Wd&&(null!=Wd.ga||null!=Wd.Sa)){var jg=0;xa&&("l"==xa.charAt(0)&&(xa=xa.substr(1)||Gb),jg=Mp(a,xa)>>>0,65536<jg&&(jg=65536));for(var pd="",or=(jg||128)+
15>>4||1,ai="dd"==ia?4:"dw"==ia?2:1,an=0;an<or;an++){for(var kg=0,bi=0,Ne="",ci="",Ra=$p(Wd),di=0;16>di;di++){var lg=a.Wa(Wd,1),kg=kg|lg<<(bi++<<3);bi==ai&&(Ne+=l(kg,2*ai),Ne+=1==ai?7==di?"-":" ":" ",kg=bi=0);ci+=32<=lg&&128>lg?String.fromCharCode(lg):"."}pd&&(pd+="\n");pd+=Ra+" "+Ne+" "+ci}pd&&a.U(pd);a.Fb=Wd}}}}}break;case "e":if("else"==g[0])break;var mg=1,bn=255,cn=a.Wa,dn=a.xc;"ew"==g[0]&&(mg=2,bn=65535,cn=a.ua,dn=a.pb);var en=mg<<1,fn=g[1];if(null==fn)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 ng=gq(a,fn);if(ng)for(var og=2;og<g.length;og++){var Oe=iq(a,g[og]);if(void 0===Oe){a.U("unrecognized value: "+g[og]);break}Oe&~bn&&a.U("warning: "+l(Oe)+" exceeds "+mg+"-byte value");var pr=cn.call(a,ng);a.U("changing "+$p(ng)+" from 0x"+l(pr,en)+" to 0x"+l(Oe,en));dn.call(a,ng,Oe,mg)}}break;case "f":Oq(a,g[1]);break;case "g":a:{var gn=g[1],qr=b;"gt"==g[0]&&(a.lb=!0);if(void 0!==gn){var ei=gq(a,gn,!0);if(!ei)break a;jq(a,ei,qr);a.Pd(a.A,ei,
!0)}a.Fe(!0)||c||a.U("cpu busy or unavailable, run command ignored")}break;case "h":var fi;a.sa.Mb?(fi="halting",a.Zb()):fi="already halted";c||a.U(fi);break;case "i":if("if"==g[0]){var gi;var Pe=b.substr(2),Pe=pa(Pe);iq(a,Pe)?(c||a.U("true: "+Pe),gi=!0):(c||a.U("false: "+Pe),gi=!1);gi||(d=!1);break}if("int"==g[0]){var pg;a:switch(Mp(a,g[1])){case 19:Nj(a,19,a.M.Ma,!0);a.Ga=a.va;pg=!0;break a;case 33:Nj(a,33,a.M.Ma,!0);a.Ga=a.va;pg=!0;break a;default:pg=!1}pg||(d=!1);break}var hi=g[1];if(hi&&"?"!=
hi){var ii=Mp(a,hi);if(void 0!==ii){var rr=jc(a.ja,ii,1);a.U(ga(ii)+": "+fa(rr))}}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 sr=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var ji=0,hn=a.M.Ba.ga,Qe=qp(a),Rc=qp(a,u(a.M),a.M.za.ga);for(a.U("stack trace for "+$p(Rc));10>ji;){for(var rc=null,tr=256;Rc.Wa>>>0<a.M.Gg>>>0;){Qe.Wa=a.vb(Rc,!0);
hi){var ii=Mp(a,hi);if(void 0!==ii){var rr=jc(a.ja,ii,1);a.U(ga(ii)+": "+fa(rr))}}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 sr=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var ji=0,hn=a.M.Ba.ga,Qe=qp(a),Rc=qp(a,u(a.M),a.M.za.ga);for(a.U("stack trace for "+$p(Rc));10>ji;){for(var rc=null,tr=256;Rc.Xa>>>0<a.M.Gg>>>0;){Qe.Xa=a.vb(Rc,!0);
if(null==Rc.Sa||!tr--)break;Qe.ga=hn;if(rc=Tq(a,Qe))break;Qe.ga=a.vb(Rc);if(rc=Tq(a,Qe,!0)){hn=a.vb(Rc,!0);0<rc.indexOf("INT")&&a.vb(Rc,!0);break}}if(!rc||null==rc)break;var jn=null;if("ks"==sr){var kn=rc.match(/[0-9A-F]+$/);kn&&(jn=Qq(a,kn[0]))}rc=na(rc,50)+" ;"+(jn||"stack="+$p(Rc));a.U(rc);ji++}ji||a.U("no return addresses found")}break;case "l":if("ln"==g[0]){Qq(a,g[1],!0);break}Rq(a,g);break;case "m":if("mouse"==g[0]){var ki=g[1],qg=g[2];if(a.Z){var ln=1;"-"==qg.charAt(0)&&(ln=-1,qg=qg.substr(1));
var qd=Mp(a,qg,ki);if(void 0!==qd)switch(qd=qd*ln|0,ki){case "x":a.Z.yf(qd,0);break;case "y":a.Z.yf(0,qd);break;case "click":a.Z.je(qd,!0);a.Z.je(qd,!1);break;default:a.U("unknown action: "+ki)}}else a.U("no mouse");break}a:{var sc,tc=null,Ta=g[1];"?"==Ta&&(Ta=void 0);if(void 0!==Ta){var rd=0;if("all"==Ta)rd=1610481663,Ta=null;else if("on"==Ta)tc=!0,Ta=null;else if("off"==Ta)tc=!1,Ta=null;else{"keys"==Ta&&(Ta="key");"kbd"==Ta&&(Ta="keyboard");for(sc in Ep)if(Ta==sc){rd=Ep[sc];tc=!!(a.qc&rd);break}if(!rd){a.U("unknown message category: "+
Ta);break a}}rd&&("on"==g[2]?(a.qc|=rd,tc=!0):"off"==g[2]&&(a.qc&=~rd,tc=!1))}var ur=0,Sc="";for(sc in Ep)if(!Ta||Ta==sc){var vr=!!(a.qc&Ep[sc]);if(null===tc||tc==vr)Sc&&(Sc+=","),++ur%10||(Sc+="\n\t"),"key"==sc&&(sc="keys"),Sc+=sc}void 0===Ta&&a.U("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.U((null!==tc?tc?"messages on: ":"messages off: ":"message categories:\n\t")+(Sc||"none"));sp(a)}break;case "o":var li=g[1],wr=g[2];if(li&&"?"!=li){var mi=Mp(a,li,"port #"),ni=Mp(a,
wr);void 0!==mi&&void 0!==ni&&(nc(a.ja,mi,1,ni),a.U(ga(mi)+": "+fa(ni)))}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]){Sq(a,b.substr(5));break}var mn="pr"==g[0]?1:0,Xd=1+mn;if(a.O)a.U("step in progress");else{var rg,nn=!1,lb=qp(a,v(a.M),a.M.Ba.ga);do switch(rg=!1,a.Xa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:bq(a,lb,1);rg=!0;break;case 204:case 206:a.O=
wr);void 0!==mi&&void 0!==ni&&(nc(a.ja,mi,1,ni),a.U(ga(mi)+": "+fa(ni)))}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]){Sq(a,b.substr(5));break}var mn="pr"==g[0]?1:0,Xd=1+mn;if(a.O)a.U("step in progress");else{var rg,nn=!1,lb=qp(a,v(a.M),a.M.Ba.ga);do switch(rg=!1,a.Wa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:bq(a,lb,1);rg=!0;break;case 204:case 206:a.O=
Xd;bq(a,lb,1);break;case 205:case 224:case 225:case 226:a.O=Xd;bq(a,lb,lb.Sb?4:2);break;case 232:a.O=Xd;bq(a,lb,lb.Sb?5:3);break;case 154:a.O=Xd;bq(a,lb,lb.Sb?7:5);break;case 255:var on=a.vb(lb)&14591;if(4351==on||6399==on)a.O=Xd,zq(a,lb);break;case 243:case 242:bq(a,lb,1);nn=rg=!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:nn&&(a.O=Xd,bq(a,lb,1))}while(rg);a.O?(a.Pd(a.A,lb,!0),a.Fe()||(a.M.bd(),a.O=0)):Uq(a,
mn?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}rq(a,g);break;case "t":Uq(a,g[0],g[1]);break;case "u":sq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Pq(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.2 ("+a.M.na+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Re;void 0!==g[3]&&(Re=+g[3]);switch(g[2]){case "int":a.M.ba.af=Re;break;case "start":a.M.ba.Af=Re;break;case "stop":a.M.ba.cf=Re;
break;default:a.U("unknown cs option");break a}void 0!==Re&&Oc(a.M);a.U("checksums "+(a.M.sa.Re?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Zc(a.M,+g[2])||a.U("warning: using 1x multiplier, previous target not reached"));a.U("target speed: "+(a.M.ba.ze.toFixed(2)+"Mhz")+" ("+a.M.ba.Ud+"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 #"),