Fixed PC-DOS 7.00 CPU detection logic (see SGDT)

This commit is contained in:
Jeff Parsons 2014-10-23 16:46:58 -07:00 committed by jeffpar
commit 0173492ef2
12 changed files with 198 additions and 93 deletions

View file

@ -31,13 +31,13 @@ Xa.prototype={Mh:function(a){D(this.X,this.X.Hg)&&!a&&this.X.message("attempt to
null:this.ra},restore:function(a){return this.ia?null===a:this.Cm==a.length<<2?(this.ra=a,this.lb=!0):!1},Qe:function(a,b){a||(a=[]);void 0===b&&(b=!0);sb(this,a,b);tb(this,a,b)},Vd:function(a,b){b?0===this.tk++&&tb(this,ub):0===this.sk++&&sb(this,ub)}};function wb(a,b){b?0===--a.tk&&(a.Dc=a.oh?a.yf:a.Cg,a.lm=a.oh?a.yf:a.ak):0===--a.sk&&(a.sc=a.ug,a.Zl=a.Sj)}function Wa(a,b,c,d,e){a.S=b;a.X=c;a.Wd=d;a.sk=a.tk=0;a.X&&xb(a.X,d,e)}
function tb(a,b,c){a.Dc=b[2]&&!a.oh?b[2]:a.yf;a.lm=b[3]&&!a.oh?b[3]:a.yf;c&&(a.Cg=b[2]?b[2]:a.yf,a.ak=b[3]?b[3]:a.yf)}function sb(a,b,c){a.sc=b[0]?b[0]:a.Mh;a.Zl=b[1]?b[1]:a.Mh;c&&(a.ug=b[0]?b[0]:a.Mh,a.Sj=b[1]?b[1]:a.Mh)}var pb=[Xa.prototype.ip,Xa.prototype.kp,Xa.prototype.sp,Xa.prototype.up],ub=[Xa.prototype.jp,Xa.prototype.lp,Xa.prototype.tp,Xa.prototype.vp];
function yb(a,b){x.call(this,"CPU",a,yb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.yh=Math.round(this.Hd/1E4)/100;this.He=this.yh*this.Gd;this.Ob=this.Nb=!1;this.xi=a.autoStart;c=Fa.autostart;void 0!==c&&(this.xi="true"==c?!0:"false"==c?!1:null);this.df=!1;this.eg=this.nf=0;this.gg=a.csStart;this.mf=a.csInterval;this.of=a.csStop;var d=this;this.mo=function(){d.Oe()};this.Ta()}y(x,yb);k=yb.prototype;
k.oc=function(a,b,c,d){this.na=b;this.X=d;this.Da=a;var e=C(a,"Video");e&&(this.si=function(){zb(e)},this.Md=function(){e.Md()});this.ka=C(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ac=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.X?this.X.On():this.ca("No debugger detected")}this.Nb=!0;!Cb(this)&&this.X&&Db(this.X);Eb(this);return!0};
k.Wb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Cb(a){return!0===a.xi||null===a.xi&&!a.X&&void 0===a.sa.run?(a.Oe(),!0):!1}k.Md=function(){};k.Gk=function(){return 0};function Bb(a){void 0===a.gg&&(a.gg=0);void 0===a.mf&&(a.mf=-1);void 0===a.of&&(a.of=-1);a.df=0<=a.gg&&0<a.mf;a.df&&(a.eg=0,a.nf=a.gg-a.Le)}
k.oc=function(a,b,c,d){this.na=b;this.X=d;this.Da=a;var e=C(a,"Video");e&&(this.si=function(){zb(e)},this.Nd=function(){e.Nd()});this.ka=C(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ac=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.X?this.X.On():this.ca("No debugger detected")}this.Nb=!0;!Cb(this)&&this.X&&Db(this.X);Eb(this);return!0};
k.Wb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Cb(a){return!0===a.xi||null===a.xi&&!a.X&&void 0===a.sa.run?(a.Oe(),!0):!1}k.Nd=function(){};k.Gk=function(){return 0};function Bb(a){void 0===a.gg&&(a.gg=0);void 0===a.mf&&(a.mf=-1);void 0===a.of&&(a.of=-1);a.df=0<=a.gg&&0<a.mf;a.df&&(a.eg=0,a.nf=a.gg-a.Le)}
function Fb(a,b){if(a.df){var c=!1;a.eg=a.eg+a.Gk()|0;a.nf-=b;0>=a.nf&&(a.nf+=a.mf,c=!0);0<=a.of&&a.of<=F(a)&&(a.mf=a.of=-1,Bb(a),a.Ab(),c=!0);c&&a.ca(F(a)+" cycles: checksum="+p(a.eg))}}function G(a,b,c,d){void 0!==a.sa[b]&&(void 0===d&&(d=4),void 0===c&&(Sa(a,"Register "+b+" is invalid"),a.Ab()),c=p(c,d),a.sa[b].innerHTML!=c&&(a.sa[b].innerHTML=c))}k.gh=function(){};k.si=function(){};
k.xb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.sa[c]=d;d.onclick=function(){e.Ob?e.Ab(!0):e.Oe(!0)};a=!0;break;case "reset":this.sa[c]=d;d.onclick=function(){e.Da&&Gb(e.Da)};a=!0;break;case "speed":this.sa[c]=d;a=!0;break;case "setSpeed":this.sa[c]=d,d.onclick=function(){Hb(e,e.Gd<<1,!0)},d.innerHTML=this.He.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.Le+=b;c&&(a.Oc=a.A=0)}
function Jb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Gd&&a.ld&&(d=a.ld/a.yh);a.Nk=Math.round(1E3/30);a.co=Math.floor(a.Hd/c*d);a.Vi=Math.floor(a.Hd/30*d);a.Rk=Math.floor(a.Hd/60*d);a.Qk=Math.floor(a.Hd/2*d);b||(a.pf=a.Vi,a.ig=a.Rk,a.hg=a.Qk);a.Lj=0}function F(a,b){var c=a.Le+a.ke+a.Oc-a.A;b&&1<a.Gd&&a.ld>a.yh&&(c=Math.round(c/a.Gd));return c}function Ab(a){a.ld=0;a.Bh=1;a.Le=a.ke=a.Oc=a.A=0;Bb(a);Hb(a,1)}
function Hb(a,b,c){void 0!==b&&(0.8>a.ld/a.He&&(b=1),a.Gd=b,b=a.yh*a.Gd,a.He!=b&&(a.He=b,b=a.He.toFixed(2)+"Mhz",a.sa.setSpeed&&(a.sa.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Md());Ib(a,a.ke);a.ke=0;a.lf=oa();a.Ie=0;Jb(a)}
k.Oe=function(a){if(Pa(this,!0)){this.Ob||(Hb(this),this.Da&&this.Da.start(this.lf,F(this)),this.Ob=!0,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Halt"),a&&this.Md());this.Lj>=this.Hd&&Jb(this,!0);this.jg=0;this.zh=oa();this.Ie&&(a=this.zh-this.Ie,a>this.Nk&&(this.lf+=a,this.lf>this.zh&&(this.lf=this.zh)));try{do{this.xf(this.df?1:Math.round(this.co/this.Bh));var b=this.Oc-this.A;this.ke+=b;this.jg+=b;Ib(this,0,!0);Fb(this,b);this.ig-=b;0>=this.ig&&(this.ig+=this.Rk,this.si());this.hg-=
function Hb(a,b,c){void 0!==b&&(0.8>a.ld/a.He&&(b=1),a.Gd=b,b=a.yh*a.Gd,a.He!=b&&(a.He=b,b=a.He.toFixed(2)+"Mhz",a.sa.setSpeed&&(a.sa.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Nd());Ib(a,a.ke);a.ke=0;a.lf=oa();a.Ie=0;Jb(a)}
k.Oe=function(a){if(Pa(this,!0)){this.Ob||(Hb(this),this.Da&&this.Da.start(this.lf,F(this)),this.Ob=!0,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Halt"),a&&this.Nd());this.Lj>=this.Hd&&Jb(this,!0);this.jg=0;this.zh=oa();this.Ie&&(a=this.zh-this.Ie,a>this.Nk&&(this.lf+=a,this.lf>this.zh&&(this.lf=this.zh)));try{do{this.xf(this.df?1:Math.round(this.co/this.Bh));var b=this.Oc-this.A;this.ke+=b;this.jg+=b;Ib(this,0,!0);Fb(this,b);this.ig-=b;0>=this.ig&&(this.ig+=this.Rk,this.si());this.hg-=
b;0>=this.hg&&(this.hg+=this.Qk,this.gh());this.pf-=b;if(0>=this.pf){this.pf+=this.Vi;break}}while(this.Ob)}catch(c){this.Ab();Eb(this);this.Da&&this.Da.stop(oa(),F(this));Pa(this,!1);Sa(this,c.message);return}b=setTimeout;a=this.mo;this.Ie=oa();var d=this.Nk;this.jg&&(d=Math.round(d*this.jg/this.Vi));var d=d-(this.Ie-this.zh),e=this.Ie-this.lf;e&&(this.ld=Math.round(this.ke/(10*e))/100,864E5<=e&&(this.Le=0,this.ka&&Lb(this.ka,!0),Hb(this)));if(0>d||this.ld<this.He)d=0;this.Lj+=this.jg;this.Ie+=d;
b(a,d)}else Eb(this),this.Da&&this.Da.stop(oa(),F(this))};k.Ab=function(a){Qa(this,!0);this.Oc-=this.A;this.A=0;Ib(this,this.ke);this.ke=0;this.Ob&&(this.Ob=!1,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Run"));this.mh=a};k.xf=function(){return 0};function Eb(a){a.si();a.gh()}
var Mb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
@ -52,7 +52,7 @@ bc,this.Sa[97]=cc,this.Sa[98]=dc,this.Sa[99]=ac,this.Sa[100]=ac,this.Sa[101]=ac,
14,this.Uk=16,this.Tb=2,this.hc=this.sb=7,this.Gh=0,this.Yk=7,this.$k=13,this.bl=7,this.al=11,this.Zk=16,this.Wk=3,this.ej=6,this.Xk=2,this.Vk=13,this.fj=this.gj=5,this.ng=2,this.mg=7,this.pl=23,this.ql=0,this.rl=1,this.sl=3,this.ol=17,this.hj=7,this.ul=11,this.Ub=7,this.Vb=3,this.wl=7,this.vl=11,this.tl=15,this.Cb=2,this.xl=3,this.ij=7,this.zl=this.nj=this.yl=8,this.oj=this.mj=4,this.El=2,this.Dl=3,this.Bl=5,this.Cl=2,this.Al=3,this.pj=5,this.qj=3,this.dl=14,this.fl=22,this.cl=17,this.el=25,this.hl=
17,this.jl=25,this.gl=20,this.il=28,this.Gl=13,this.Il=21,this.Fl=16,this.Hl=24,this.ll=13,this.nl=21,this.kl=16,this.ml=24,this.pg=2,this.og=7,this.uj=this.vj=5,this.Jl=19,this.Kl=this.ic=5,this.Ll=17,this.pc=3,this.Ml=5,this.qg=3,this.Pb=0,this.bj=8,this.cj=5,this.dj=9,this.kj=this.jj=5,this.lj=4,this.sj=this.rj=5,this.tj=4,this.wj=7,this.xj=5,this.yj=8,this.Cj=3,this.Dj=4,this.Ej=3,this.Ql=this.Nl=11,this.Pl=this.Ol=15,this.Rl=7,this.Aj=5,this.zj=8,this.Bj=0,this.Hj=2,this.rg=6,this.Gj=3,this.Fj=
6,this.Jj=3,this.Sl=this.Ij=5));this.Ng=[];this.Og=[];this.Oc=this.dh=0;this.mh=this.Bi=!1;this.Aa=[];this.ve=this.Ib=this.rb=this.eb=this.ze=0;this.T=this.Mm;this.U=this.Nm;this.N=this.Un;this.O=this.Vn;this.Q=this.qp;this.R=this.rp;xc(this)}y(yb,Zb);k=Zb.prototype;k.Oi=function(a,b,c,d,e){this.Aa=a;this.ve=this.Ib=b;this.rb=c;this.eb=d;this.ze=e};k.reset=function(){this.Ob&&this.Ab();xc(this);Ab(this);this.jd=!1};
function xc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.Y=0;a.H=0;a.F=0;a.D=0;a.ad=65520;a.dd=0;a.ue=1023;a.Jc={Nj:0,oa:0,ab:0,xh:-1};a.ua=new Nb(a,"CS");a.Eb=new Nb(a,"DS");a.wb=new Nb(a,"SS");a.Za=new Nb(a,"ES");a.im=new Nb(a,"ZERO");yc(a,0,65535);80286<=a.Fa&&(a.Sc=a.Ze=0,a.Ld=new Nb(a,"LDT",!0),a.Bg=new Nb(a,"TSS",!0),a.Qb=new Nb(a,"VER",!0),yc(a,65520,61440),a.ua.Ua=16711680);zc(a,0);Ac(a);a.mb=0;a.Db=a.vg=-1;a.Wg=0;a.ha=a.Ka=-1;a.C=a.Eb;a.M=a.wb;a.$=a.wa=0}
function xc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.Y=0;a.H=0;a.F=0;a.D=0;a.ad=65520;a.dd=0;a.ue=1023;a.Jc={Nj:0,oa:0,ab:0,xh:-1};a.ua=new Nb(a,"CS");a.Eb=new Nb(a,"DS");a.wb=new Nb(a,"SS");a.Za=new Nb(a,"ES");a.im=new Nb(a,"ZERO");yc(a,0,65535);80286<=a.Fa&&(a.Sc=0,a.Ze=65535,a.Ld=new Nb(a,"LDT",!0),a.Bg=new Nb(a,"TSS",!0),a.Qb=new Nb(a,"VER",!0),yc(a,65520,61440),a.ua.Ua=16711680);zc(a,0);Ac(a);a.mb=0;a.Db=a.vg=-1;a.Wg=0;a.ha=a.Ka=-1;a.C=a.Eb;a.M=a.wb;a.$=a.wa=0}
k.Gk=function(){var a=this.G+this.B+this.I+this.J+this.Y+this.H+this.F+this.D|0;return a=a+this.qa+this.ua.oa+this.Eb.oa+this.wb.oa+this.Za.oa+Bc(this)|0};function Cc(a,b,c,d){void 0!==d&&(void 0===a.Ng[b]&&(a.Ng[b]=[]),a.Ng[b].push([c,d]))}function Dc(a,b){var c=a.Ng[b];if(void 0!==c)for(var d=0;d<c.length;d++){if(!c[d][1].call(c[d][0],a.Ba))return!1}else a.Bi&&D(a.X,a.X.Gg)&&(Ec(a.X,b,a.Ba),Fc(a,a.Ba,function(a,c){return function(d){Gc(a.X,b,d,F(a)-c)}}(a,F(a))));return!0}
function Fc(a,b,c){void 0!==c&&(null==a.Og[b]&&a.dh++,a.Og[b]=c)}function Hc(a,b){var c=a.Og[b];null!=c&&(c(--a.dh),delete a.Og[b])}function Ac(a,b){void 0===b&&(b=!!(a.ad&1));Ic=b?Jc:Kc;Ob(a.ua,b);Ob(a.Eb,b);Ob(a.wb,b);Ob(a.Za,b)}
k.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.Y,this.H,this.F,this.D]);a.set(1,[this.qa,this.ua.save(),this.Eb.save(),this.wb.save(),this.Za.save(),Bc(this),null!=this.Sc?[this.ad,this.Sc,this.Ze,this.dd,this.ue,this.Ld.save(),this.Bg.save()]:null]);a.set(2,[this.C.yg,this.M.yg,this.$,this.wa,this.mb,this.ha,this.Ka]);a.set(3,[this.Bh,this.Le,this.Gd]);a.set(4,fb(this.na));return a.data()};
@ -63,9 +63,9 @@ function Nc(a,b){a.Ba=a.ua.load(b)+a.qa;a.$|=a.Lg}function Oc(a,b){a.Eb.load(b);
function Zc(a){return(a.ja^a.ma^a.ja>>1)&a.da>>1?2048:0}function $c(a){a.Z&=~a.da}function ad(a){a.ma=a.ja&16|a.ma&-17}function bd(a){a.Z|=a.da-1}function cd(a){Yc(a)&&(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function dd(a){a.ja&=~a.da;a.ma=a.ja&32896|a.ma&-32897}function ed(a){a.Z|=a.da}function fd(a){a.ma=~(a.ja&16)&16|a.ma&-17}function gd(a){a.Z&=~(a.da-1)}function hd(a){Yc(a)||(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function id(a){a.ja|=a.da;a.ma=a.ja&32896|a.ma&-32897}
function Bc(a){return a.xa&-2262|Uc(a)|Vc(a)|Wc(a)|Xc(a)|Yc(a)|Zc(a)}function zc(a,b){a.da=256;a.Z=a.ja=a.ma=0;b&1&&ed(a);b&4||(a.ja|=1);b&16&&(a.ma|=16);b&64||bd(a);b&128&&hd(a);b&2048&&id(a);a.xa=a.xa&-1793|b&1792|a.gk;a.xa&256&&(a.mb|=2,a.$|=4)}
k.xb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.sa[c]=d;e=!0;break;default:e=yb.prototype.xb.call(this,a,b,c,d)}return e};k.ub=function(a){return this.Aa[(a&this.Ib)>>this.rb].sc(a&this.eb)};
k.Ia=function(a){var b=a&this.eb;a=(a&this.Ib)>>this.rb;this.A-=this.Mj;return b!=this.eb?this.Aa[a].Zl(b):this.Aa[a++].sc(b)|this.Aa[a&this.ze].sc(0)<<8};k.bd=function(a,b){this.Aa[(a&this.Ib)>>this.rb].Dc(a&this.eb,b&255)};k.Nd=function(a,b){var c=a&this.eb,d=(a&this.Ib)>>this.rb;this.A-=this.Mj;c!=this.eb?this.Aa[d].lm(c,b&65535):(this.Aa[d++].Dc(c,b&255),this.Aa[d&this.ze].Dc(0,b>>8&255))};k.Mm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};
k.Nm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.Un=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};k.Vn=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.qp=function(a){this.$&2||this.bd(this.Ag.Yb(this.sg,1),a)};k.rp=function(a){this.$&2||this.Nd(this.Ag.Yb(this.sg,2),a)};k.ea=function(){var a=this.ub(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a};
k.L=function(){var a=this.ub(this.Ba)<<24>>24;this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a&65535};k.K=function(){var a=this.Ia(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+2&65535);return a};k.Ja=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.Ia(this.wb.Wc(a,1))};function K(a,b){var c=a.Y=a.Y-2&65535;a.Nd(a.wb.Yb(c,1),b)}
k.Ia=function(a){var b=a&this.eb;a=(a&this.Ib)>>this.rb;this.A-=this.Mj;return b!=this.eb?this.Aa[a].Zl(b):this.Aa[a++].sc(b)|this.Aa[a&this.ze].sc(0)<<8};k.Md=function(a,b){this.Aa[(a&this.Ib)>>this.rb].Dc(a&this.eb,b&255)};k.bd=function(a,b){var c=a&this.eb,d=(a&this.Ib)>>this.rb;this.A-=this.Mj;c!=this.eb?this.Aa[d].lm(c,b&65535):(this.Aa[d++].Dc(c,b&255),this.Aa[d&this.ze].Dc(0,b>>8&255))};k.Mm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};
k.Nm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.Un=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};k.Vn=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.qp=function(a){this.$&2||this.Md(this.Ag.Yb(this.sg,1),a)};k.rp=function(a){this.$&2||this.bd(this.Ag.Yb(this.sg,2),a)};k.ea=function(){var a=this.ub(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a};
k.L=function(){var a=this.ub(this.Ba)<<24>>24;this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a&65535};k.K=function(){var a=this.Ia(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+2&65535);return a};k.Ja=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.Ia(this.wb.Wc(a,1))};function K(a,b){var c=a.Y=a.Y-2&65535;a.bd(a.wb.Yb(c,1),b)}
k.gh=function(){G(this,"AX",this.G);G(this,"BX",this.B);G(this,"CX",this.I);G(this,"DX",this.J);G(this,"SP",this.Y);G(this,"BP",this.H);G(this,"SI",this.F);G(this,"DI",this.D);G(this,"CS",this.ua.oa);G(this,"DS",this.Eb.oa);G(this,"SS",this.wb.oa);G(this,"ES",this.Za.oa);G(this,"IP",this.qa);var a=Bc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024?
1:0,1);G(this,"O",a&2048?1:0,1);this.sa.speed&&(this.sa.speed.innerHTML=this.Ob&&this.ld?this.ld.toFixed(2)+"Mhz":"Stopped")};
k.xf=function(a){this.mh=!0;this.Bi=a&&this.X&&jd(this.X);this.Oc=this.A=a;this.ka&&Lb(this.ka);a||!this.X||D(this.X,this.X.Ue)||(this.$|=4);do{var b=this.$&240;if(b)this.wa|=b;else if(this.Jh=this.Ba,this.ha=this.Ka=-1,this.C=this.Eb,this.M=this.wb,this.wa=this.$&256,this.mb){a:{if(!(this.$&4))if(this.mb&1&&this.xa&512){if(b=kd(this.ka),-1<=b&&(this.mb&=-2,0<=b)){this.mb&=-5;ld.call(this,b,null,11);b=!0;break a}}else if(this.mb&2){this.mb&=-3;ld.call(this,1,null,11);b=!0;break a}if(b=this.mb&8){for(var b=
@ -373,11 +373,11 @@ b.call(this))},function(a,b){this.B=a[6].call(this,this.B,b.call(this))},functio
b){this.B=a[7].call(this,this.B,b.call(this))},function(a,b){this.Y=a[7].call(this,this.Y,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],dh=[function(){var a=this.ea();16>(a&56)&&(this.$|=1);bh[a].call(this,Ic,Wd)},function(){var a=this.ea();a&16||(this.$|=1);bh[a].call(this,ch,Wd)},function(){N[this.ea()].call(this,xe)},function(){N[this.ea()].call(this,ye)},
M,M,M,M,M,M,M,ac,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,
M,M],Jc=[function(){this.A-=2+(0>this.ha?0:1);return this.Ld.oa},function(){this.A-=2+(0>this.ha?0:1);return this.Bg.oa},function(a){this.$|=2;this.Ld.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.Bg.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.A-=14+(0>this.ha?0:2);if(0<=this.Qb.load(a,!0)&&2048!=(this.Qb.ab&2560)&&(3072==(this.Qb.ab&3072)||this.Qb.Mc>=(this.ua.oa&3)&&this.Qb.Mc>=(a&3)))return gd(this),a;bd(this);return a},function(a){this.$|=
2;this.A-=14+(0>this.ha?0:2);if(0<=this.Qb.load(a,!0)&&512==(this.Qb.ab&2560)&&this.Qb.Mc>=(this.ua.oa&3)&&this.Qb.Mc>=(a&3))return gd(this),a;bd(this);return a},L,L],Kc=[sc,sc,sc,sc,sc,sc,L,L],Ic=Kc,ch=[function(a){0>this.ha?ac.call(this):(this.Nd(this.ha+2,this.Sc),this.bd(this.ha+4,this.Sc>>16),a=this.Ze-this.Sc,this.A-=11);return a},function(a){0>this.ha?ac.call(this):(this.Nd(this.ha+2,this.dd),this.bd(this.ha+4,this.dd>>16),a=this.ue-this.dd,this.A-=12);return a},function(a){0>this.ha?ac.call(this):
(this.Sc=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.Ze=this.Sc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ha?ac.call(this):(this.dd=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.ue=this.dd+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.ad},L,function(a){this.ad=this.ad&65520|a&-65521;this.A-=3+(0>this.ha?0:3);this.ad&1&&Ac(this,!0);this.$|=2;return a},L];function uc(){dh[this.ea()].call(this)}function wc(){K(this,this.Y);this.A-=this.pc}
function bc(){var a=this.Y;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.Ll}function cc(){this.D=this.Ja();this.F=this.Ja();this.H=this.Ja();this.Y+=2;this.B=this.Ja();this.J=this.Ja();this.I=this.Ja();this.G=this.Ja();this.A-=this.Jl}function dc(){N[this.ea()].call(this,ve)}function vc(){Zg[this.ea()].call(this,we)}function ec(){K(this,this.K());this.A-=this.pc}function fc(){N[this.ea()].call(this,qe)}
function gc(){K(this,this.ea());this.A-=this.pc}function hc(){N[this.ea()].call(this,pe)}function ic(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=jb(this.na,this.J,this.Ba-b-1);this.bd(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
function jc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ba-b-1,d=jb(this.na,this.J,d)|jb(this.na,this.J,d)<<8;this.Nd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
2;this.A-=14+(0>this.ha?0:2);if(0<=this.Qb.load(a,!0)&&512==(this.Qb.ab&2560)&&this.Qb.Mc>=(this.ua.oa&3)&&this.Qb.Mc>=(a&3))return gd(this),a;bd(this);return a},L,L],Kc=[sc,sc,sc,sc,sc,sc,L,L],Ic=Kc,ch=[function(a){0>this.ha?ac.call(this):(a=this.Ze-this.Sc,this.bd(this.ha+2,this.Sc),this.bd(this.ha+4,65280|this.Sc>>16),this.A-=11);return a},function(a){0>this.ha?ac.call(this):(a=this.ue-this.dd,this.bd(this.ha+2,this.dd),this.bd(this.ha+4,65280|this.dd>>16),this.A-=12);return a},function(a){0>this.ha?
ac.call(this):(this.Sc=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.Ze=this.Sc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ha?ac.call(this):(this.dd=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.ue=this.dd+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.ad},L,function(a){this.ad=this.ad&65520|a&-65521;this.A-=3+(0>this.ha?0:3);this.ad&1&&Ac(this,!0);this.$|=2;return a},L];function uc(){dh[this.ea()].call(this)}
function wc(){K(this,this.Y);this.A-=this.pc}function bc(){var a=this.Y;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.Ll}function cc(){this.D=this.Ja();this.F=this.Ja();this.H=this.Ja();this.Y+=2;this.B=this.Ja();this.J=this.Ja();this.I=this.Ja();this.G=this.Ja();this.A-=this.Jl}function dc(){N[this.ea()].call(this,ve)}function vc(){Zg[this.ea()].call(this,we)}function ec(){K(this,this.K());this.A-=this.pc}
function fc(){N[this.ea()].call(this,qe)}function gc(){K(this,this.ea());this.A-=this.pc}function hc(){N[this.ea()].call(this,pe)}function ic(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=jb(this.na,this.J,this.Ba-b-1);this.Md(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
function jc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ba-b-1,d=jb(this.na,this.J,d)|jb(this.na,this.J,d)<<8;this.bd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
function kc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.ub(this.Eb.Wc(this.F,0));this.F=this.F+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;nb(this.na,this.J,d,this.Ba-b-1);a&&(J(this,-2),this.$|=256)}}
function lc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ia(this.Eb.Wc(this.F,1));this.F=this.F+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ba-b-1;nb(this.na,this.J,d&255,b);nb(this.na,this.J,d>>8,b);a&&(J(this,-2),this.$|=256)}}function eh(){var a=this.L();Zc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function fh(){var a=this.L();Zc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}
function gh(){var a=this.L();Uc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function hh(){var a=this.L();Uc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function ih(){var a=this.L();Xc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function jh(){var a=this.L();Xc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function kh(){var a=this.L();Uc(this)||Xc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}
@ -404,11 +404,11 @@ be,this.K);this.A-=0>this.Ka?1:this.Gh},uh,function(){bh[this.ea()].call(this,be
break;case 6:a=this.F;break;case 7:a=this.D}}N[b].call(this,le);switch(c){case 0:Tc(this,this.G);this.G=a;break;case 1:Nc(this,this.I);this.I=a;break;case 2:Pc(this,this.J);this.J=a;break;case 3:Oc(this,this.B);this.B=a;break;case 4:Tc(this,this.Y);this.Y=a;break;case 5:Nc(this,this.H);this.H=a;break;case 6:Pc(this,this.F);this.F=a;break;case 7:Oc(this,this.D),this.D=a}},function(){this.$|=1;bh[this.ea()].call(this,ce,this.Ja)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;
this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.Y;this.Y=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Xk},function(){var a=this.K(),b=this.K();
K(this,this.ua.oa);K(this,this.qa);yc(this,a,b);this.A-=this.$k},function(){M.call(this)},function(){K(this,Bc(this));this.A-=this.pc},function(){zc(this,this.Ja());this.A-=this.ic},function(){var a=this.G>>8;a&1?ed(this):$c(this);a&4?Vc(this)||(this.ja^=1):Vc(this)&&(this.ja^=1);a&16?fd(this):ad(this);a&64?gd(this):bd(this);a&128?hd(this):cd(this);this.A-=this.Cb},function(){this.G=this.G&255|(Bc(this)&213)<<8;this.A-=this.Cb},function(){this.G=this.G&-256|this.T(this.C,this.K());this.A-=this.pj},
function(){this.G=this.U(this.C,this.K());this.A-=this.pj},function(){var a=this.K(),b=this.G;this.bd(this.C.Yb(a,0),b);this.A-=this.qj},function(){var a=this.K(),b=this.G;this.Nd(this.C.Yb(a,1),b);this.A-=this.qj},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F);this.bd(this.Za.Yb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=
256)}},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F);this.Nd(this.Za.Yb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.Za,this.D);vd.call(this,
function(){this.G=this.U(this.C,this.K());this.A-=this.pj},function(){var a=this.K(),b=this.G;this.Md(this.C.Yb(a,0),b);this.A-=this.qj},function(){var a=this.K(),b=this.G;this.bd(this.C.Yb(a,1),b);this.A-=this.qj},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F);this.Md(this.Za.Yb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=
256)}},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F);this.bd(this.Za.Yb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.Za,this.D);vd.call(this,
e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F),f=this.O(this.Za,this.D);Dd.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){this.Z=
this.ja=this.ma=this.G&255&this.ea();this.da=256;this.A-=this.Je},function(){this.Z=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.Je},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=this.G;this.bd(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=
this.G;this.Nd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.xa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.U(this.C,
this.ja=this.ma=this.G&255&this.ea();this.da=256;this.A-=this.Je},function(){this.Z=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.Je},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=this.G;this.Md(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=
this.G;this.bd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.xa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.U(this.C,
this.F),this.F=this.F+(this.xa&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.wj;this.wa&192&&(a=this.I,b=1,c=this.yj,this.wa&256||(this.A-=this.xj));a--&&(vd.call(this,this.G&255,this.N(this.Za,this.D)),this.D=this.D+(this.xa&1024?-1:1)&65535,this.A-=c-this.sb,this.I-=b,a&&Xc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){var a=1,b=0,c=this.wj;this.wa&192&&(a=this.I,b=1,c=this.yj,this.wa&256||(this.A-=this.xj));a--&&(Dd.call(this,
this.G,this.O(this.Za,this.D)),this.D=this.D+(this.xa&1024?-2:2)&65535,this.A-=c-this.sb,this.I-=b,a&&Xc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){this.G=this.G&-256|this.ea();this.A-=this.Cb},function(){this.I=this.I&-256|this.ea();this.A-=this.Cb},function(){this.J=this.J&-256|this.ea();this.A-=this.Cb},function(){this.B=this.B&-256|this.ea();this.A-=this.Cb},function(){this.G=this.G&255|this.ea()<<8;this.A-=this.Cb},function(){this.I=this.I&255|this.ea()<<8;this.A-=this.Cb},function(){this.J=
this.J&255|this.ea()<<8;this.A-=this.Cb},function(){this.B=this.B&255|this.ea()<<8;this.A-=this.Cb},function(){this.G=this.K();this.A-=this.Cb},function(){this.I=this.K();this.A-=this.Cb},function(){this.J=this.K();this.A-=this.Cb},function(){this.B=this.K();this.A-=this.Cb},function(){this.Y=this.K();this.A-=this.Cb},function(){this.H=this.K();this.A-=this.Cb},function(){this.F=this.K();this.A-=this.Cb},function(){this.D=this.K();this.A-=this.Cb},vh,wh,vh,wh,function(){N[this.ea()].call(this,ue)},
@ -481,7 +481,7 @@ var Yi={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,backspace:
P[55]=8;P[38]=61448;P[56]=9;P[42]=61449;P[57]=10;P[40]=61450;P[48]=11;P[41]=61451;P[45]=12;P[95]=61452;P[61]=13;P[43]=61453;P[113]=16;P[81]=61456;P[119]=17;P[87]=61457;P[101]=18;P[69]=61458;P[114]=19;P[82]=61459;P[116]=20;P[84]=61460;P[121]=21;P[89]=61461;P[117]=22;P[85]=61462;P[105]=23;P[73]=61463;P[111]=24;P[79]=61464;P[112]=25;P[80]=61465;P[91]=26;P[123]=61466;P[93]=27;P[125]=61467;P[97]=30;P[65]=61470;P[115]=31;P[83]=61471;P[100]=32;P[68]=61472;P[102]=33;P[70]=61473;P[103]=34;P[71]=61474;
P[104]=35;P[72]=61475;P[106]=36;P[74]=61476;P[107]=37;P[75]=61477;P[108]=38;P[76]=61478;P[59]=39;P[58]=61479;P[39]=40;P[34]=61480;P[96]=41;P[126]=61481;P[92]=43;P[124]=61483;P[122]=44;P[90]=61484;P[120]=45;P[88]=61485;P[99]=46;P[67]=61486;P[118]=47;P[86]=61487;P[98]=48;P[66]=61488;P[110]=49;P[78]=61489;P[109]=50;P[77]=61490;P[44]=51;P[60]=61491;P[46]=52;P[62]=61492;P[47]=53;P[63]=61493;P[8]=14;P[9]=15;P[13]=28;P[27]=1;P[240]=42;P[224]=54;P[241]=29;P[242]=56;P[244]=58;P[336]=59;P[337]=60;P[338]=61;
P[339]=62;P[340]=63;P[341]=64;P[342]=65;P[343]=66;P[344]=67;P[345]=68;P[261]=75;P[262]=72;P[263]=77;P[264]=80;P[254]=61766;P[255]=15921491;k=Xi.prototype;
k.xb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.sa[a])switch(c){case "kbd":return this.sa[a]=d,d.onkeydown=function(a){return $i(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Ea&32?e.Ea&=-33:b=e.Ea&12?!1:!aj(e,a);return b},d.onkeyup=function(a){return $i(e,a,!1)},!0;default:if(void 0!==Zi[c]&&"button"==b)return this.sa[a]=d,d.onclick=function(a,b,c){return function(){a.S&&a.S.Md();return!aj(a,c)}}(this,c,Zi[c]),!0;if(void 0!==Yi[c])return this.sa[a]=
k.xb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.sa[a])switch(c){case "kbd":return this.sa[a]=d,d.onkeydown=function(a){return $i(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Ea&32?e.Ea&=-33:b=e.Ea&12?!1:!aj(e,a);return b},d.onkeyup=function(a){return $i(e,a,!1)},!0;default:if(void 0!==Zi[c]&&"button"==b)return this.sa[a]=d,d.onclick=function(a,b,c){return function(){a.S&&a.S.Nd();return!aj(a,c)}}(this,c,Zi[c]),!0;if(void 0!==Yi[c])return this.sa[a]=
d,b=function(a,b,c){return function(){bj(a,c)}}(this,c,Yi[c]),c=function(a,b,c){return function(){bj(a,c)}}(this,c,Yi[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.oc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.ka=C(a,"ChipSet")};k.Ta=function(){this.Bk=(this.Rm=va("iOS"))||va("Android");this.Qa("mobile keyboard support: "+(this.Bk?"true":"false"));return x.prototype.Ta.call(this)};
function Li(a){a.Qa("keyboard reset",!0);a.zc=[170];a.ka&&zi(a.ka,1,4)}function Hi(a,b,c){var d=!1;a.Ai!==c&&(a.Ai=a.Gi=c);a.nh!==b&&(a.nh=b)&&!a.Gi&&Mi(a);a.nh&&a.Gi&&(Li(a),a.Gi=!1,d=!0);return d}function Fi(a,b){var c=0;a.zc.length&&(c=a.zc[0],a.Qa("scan code "+r(c)+" delivered"),b&&Mi(a));return c}function Mi(a,b){0<a.zc.length&&(b?a.zc=[]:(a.zc.shift(),0<a.zc.length&&a.ka&&zi(a.ka,1)))}k.ac=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie();this.Ea=0;this.zc=[];if(this.qd)for(var a in this.qd)ba(a)||this.qd[a]&&clearTimeout(this.qd[a]);this.qd=[];this.Yl=this.Ne=0};k.save=function(){var a=new H(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ie(a[0])};k.ie=function(a){var b=0;void 0===a&&(a=[]);this.Ai=a[b++];this.nh=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.Ai;b[a]=this.nh;return b};
@ -513,7 +513,7 @@ a.Kj;c[17]=a.gb;c[18]=a.md;c[19]=a.nb;c[20]=a.Hh;c[21]=a.le;c[22]=a.Ke;c[23]=a.S
oj.prototype.Rh=function(a){if(null!=a&&a!=this.Ah){var b=a&255,c=U[b];c||b&1&&(c=U[1]);var b=a&65280,d=U[b];d||b&256&&(d=U[256]);this.Kf||(this.Kf=[null,xj,null,yj]);this.Kf[0]=c;this.Kf[2]=d;this.Ah=a}};var pj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Q.prototype;
k.oc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;ib(b,this,Bj);mb(b,this,Cj);"ega"==this.Fa&&(ib(b,this,Dj),mb(b,this,Ej));if(d){var e=this;Cc(this.S,16,this,this.Rn);Qh(d,d.Jg,function(a){if(e.Ca)if(a){var b=e.Ca;if(b.ed){a=ca(a);a=void 0!==a?a-b.cb:b.hp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.cb+a)+":",q=0;8>q&&a<b.ed.length;q++)var t=b.ed[a++],n=n+(" "+p(t));c&&(c+="\n");c+=n}c&&b.X.message(c);b.hp=a}else b.X.message("no buffer")}else{e.X.message("BIOSMODE: "+r(e.Jd));b=e.Ca;Aj(b,
"CRTC",b.nc,b.cc,b.Sg);if(1==b.he||3==b.he)Aj(b," MODEREG",b.Bc),Aj(b," STATUS1",b.wf);3==b.he&&Aj(b," COLOR",b.af);5==b.he&&(b.X.message(" ATCDATA: "+b.hd),Aj(b," ATC",b.Bd,b.Rd,b.fi),Aj(b," GRC",b.Cd,b.te,b.gi),Aj(b," SEQ",b.Dd,b.Gf,b.hi),Aj(b," FEAT",b.sh),Aj(b," MISC",b.cg),Aj(b," STATUS0",b.Uh),Aj(b," LATCHES",b.vb),b.X.message(" ACCESS: "+u(b.Ah)),b.X.message("Use 'dump video buffer' to dump video memory"))}else e.X.message("no active video card")})}(this.bb=C(a,"Keyboard"))&&this.Lb&&
this.bb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Lb);this.Ug=9;(this.ka=C(a,"ChipSet"))&&this.fm&&(this.Ug=Ch(this.fm,this.Ug));this.bb&&this.Km&&Fj(this)};k.Rn=function(a){this.X&&D(this.X,this.X.Jg)&&(Ec(this.X,16,a),Fc(this.S,a,function(a,c){return function(d){Gc(a.X,16,d,F(a.S)-c)}}(this,F(this.S))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.sa[c]=d,d.onclick=function(){zb(e,!0)},!0}return!1};k.Md=function(){this.Lb&&this.Lb.focus()};
this.bb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Lb);this.Ug=9;(this.ka=C(a,"ChipSet"))&&this.fm&&(this.Ug=Ch(this.fm,this.Ug));this.bb&&this.Km&&Fj(this)};k.Rn=function(a){this.X&&D(this.X,this.X.Jg)&&(Ec(this.X,16,a),Fc(this.S,a,function(a,c){return function(d){Gc(a.X,16,d,F(a.S)-c)}}(this,F(this.S))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.sa[c]=d,d.onclick=function(){zb(e,!0)},!0}return!1};k.Nd=function(){this.Lb&&this.Lb.focus()};
function Fj(a){var b=a.Lb;b&&!a.zi&&(b.addEventListener("touchstart",function(b){Gj(a,b)},!1),b.addEventListener("touchmove",function(b){Gj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.zi=!0)}
function Gj(a,b){a.Ci&&b.preventDefault();var c=0,d=0,e=a.Lb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.xd/a.Lb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.xd/3)|0;d=a.fe/a.Lb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.fe/3)|0;1!=d?d?aj(a.bb,264,!0):aj(a.bb,262,!0):1!=c&&(c?aj(a.bb,263,!0):aj(a.bb,261,!0))}k.ac=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.Wb=function(a){return a&&this.save?this.save():!0};
@ -580,9 +580,9 @@ function sk(a){a=JSON.stringify(a.pb);a=a.replace(/,"length":512/gm,"").replace(
k.seek=function(a,b,c,d,e){var f=null,g=this.Pa,h=this.pb[a];if(h){var m=h[b];if(!m&&g.Mf&&b<g.$b)for(m=h[b]=Array(g.$d),h=0;h<m.length;h++)m[h]=nk(null,a,b,h+1,g.Wa,0);if(m){for(h=0;h<m.length;h++)if(m[h]&&m[h].sector==c){f=m[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<m.length;)null===m[h].pattern&&d++;ok(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.Mf&&9==g.Na&&(f=m[h]=nk(null,a,b,g.Na,g.Wa,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function rk(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function tk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.gf)return!1;if(b<a.length){if(c!=tk(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f<a.Zc?(a.Hc+=a.Zc-f,a.Zc=f):f>=a.Zc+a.Hc&&(a.Hc+=f-(a.Zc+a.Hc)+1):(a.Zc=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Ad&&pk(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.uf,this.ih];if(!this.Ad&&!this.gf)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g.Hc){for(var h=[],m=0,n=g.Zc,q=g.Zc+g.Hc;n<q;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Zc,h]}}return b};
k.save=function(){var a=0,b=[];b[a++]=[this.uf,this.ih];if(!this.Ad&&!this.gf)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Hc){for(var h=[],m=0,n=g.Zc,q=g.Zc+g.Hc;n<q;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Zc,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(this.pb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.ih&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.ih+")",b=-1);for(;d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],m=g[f++],n=g[f++];if(h>=this.pb.length||m>=this.pb[h].length||n>=this.pb[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.gf){c="unable to modify write-protected disk";b=-1;break}e=
g[f++];f=g[f++];g=e+f.length;h=this.pb[h][m][n];for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Zc=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[m++];b++}}0>b&&this.Ga("unable to restore disk '"+this.Kd+": "+c);return b};k.Qa=function(a){this.X&&D(this.X,this.X.rm)&&this.X.message(a)};
g[f++];f=g[f++];g=e+f.length;if(h=this.pb[h][m][n]){for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Zc=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[m++];b++}}}0>b&&this.Ga("unable to restore disk '"+this.Kd+": "+c);return b};k.Qa=function(a){this.X&&D(this.X,this.X.rm)&&this.X.message(a)};
function uk(a){x.call(this,"FDC",a,uk);this.dmaRead=this.ti;this.dmaWrite=this.ui;this.dmaFormat=this.Dm;this.Me=null;if(a.autoMount&&(this.Me=a.autoMount,"string"==typeof this.Me))try{this.Me=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Me=null}this.wc=[]}y(x,uk);l={};aa={};
var vk={3:{wd:3,be:0,name:aa.Mp},4:{wd:2,be:1,name:aa.Kp},5:{wd:9,be:7,name:aa.Vp},6:{wd:9,be:7,name:aa.Fp},7:{wd:2,be:0,name:aa.Hp},8:{wd:1,be:2,name:aa.Lp},10:{wd:2,be:7,name:aa.Gp},13:{wd:6,be:7,name:aa.Ap},15:{wd:3,be:0,name:aa.Jp}};k=uk.prototype;
k.xb=function(a,b,c,d){switch(c){case "listDisks":return this.sa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.sa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){w("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d='<a href="'+m+'" target="_blank">'+d+"</a>");c.innerHTML=
@ -662,7 +662,7 @@ Ma:"state"},vm:{La:131072,Ma:"mouse"},pm:{La:262144,Ma:"computer"},qm:{La:524288
89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};k=Qk.prototype;
k.oc=function(a,b,c){this.na=b;this.S=c;this.Da=a;this.Lm=C(a,"FDC");this.Hk=C(a,"HDC");this.Hf=Xk;80186<=this.S.Fa&&(this.Hf=Xk.slice(),this.Hf[15]=Z,80286<=this.S.Fa&&(this.Hf[15]=Wk));Cc(this.S,33,this,this.Sn);this.Ta();if(this.Vj){a=al(this,this.Vj);delete this.Vj;for(var d in a)bl(this,a[d])}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Uf=this.sa[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=al(e,b,!0);for(b in c)bl(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.sa[c]=d,xa(d,function(){if(e.Uf){var a=e.Uf.value;e.Uf.value="";var b=al(e,a,!0);for(a in b)bl(e,b[a]);return!0}return!1}),!0;case "step":return this.sa[c]=d,xa(d,function(a){var b=!1;Qa(e,!0)||(Pa(e,!0),b=e.xf(a?1:0),Pa(e,!1));return b}),
!0}return!1};k.Md=function(){this.Uf&&this.Uf.focus()};function Ph(a,b,c,d){d&&(a.ei=[]);d=0;c=al(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.ca(Y[e].Ma+" messages enabled"));void 0===a.ec&&(a.ec=0);a.ec|=d}function Qh(a,b,c){for(var d in Y)if(b==Y[d].La){a.ei[d]=c;break}}function D(a,b){return(a.ec&b)===b}
!0}return!1};k.Nd=function(){this.Uf&&this.Uf.focus()};function Ph(a,b,c,d){d&&(a.ei=[]);d=0;c=al(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.ca(Y[e].Ma+" messages enabled"));void 0===a.ec&&(a.ec=0);a.ec|=d}function Qh(a,b,c){for(var d in Y)if(b==Y[d].La){a.ei[d]=c;break}}function D(a,b){return(a.ec&b)===b}
function Ec(a,b,c){if(32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.S.G>>8,e=$k[b];if(e=e&&e[d]||""){var f=a.S;a.ib[X[0]]=r(f.G&255);a.ib[X[1]]=r(f.I&255);a.ib[X[2]]=r(f.J&255);a.ib[X[3]]=r(f.B&255);a.ib[X[4]]=r(f.G>>8);a.ib[X[5]]=r(f.I>>8);a.ib[X[6]]=r(f.J>>8);a.ib[X[7]]=r(f.B>>8);a.ib[X[8]]=u(f.G);a.ib[X[9]]=u(f.I);a.ib[X[10]]=u(f.J);a.ib[X[11]]=u(f.B);a.ib[X[12]]=u(f.Y);a.ib[X[13]]=u(f.H);a.ib[X[14]]=u(f.F);a.ib[X[15]]=u(f.D);a.ib[X[16]]=u(f.Za.oa);a.ib[X[17]]=u(f.ua.oa);a.ib[X[18]]=u(f.wb.oa);
a.ib[X[19]]=u(f.Eb.oa);a.ib[X[20]]=u(f.qa);e=" "+ia(a.ib,e)}a.message("INT 0x"+r(b)+": AH="+r(d)+" at "+da(c-a.S.ua.Ua,a.S.ua.oa)+e)}}function Gc(a,b,c,d,e){32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b&&a.message("INT 0x"+r(b)+"("+c+"): C="+(Uc(a.S)?1:0)+(e||"")+" (cycles="+d+")")}
k.ba=function(a,b,c,d,e,f,g){f||(f=0);f|=Y.ek.La;if(null==d||(this.ec&f)==f)f=null,null!=d&&(f=this.S.ua.oa,d-=this.S.ua.Ua),this.message(a.uh+"."+(null!=c?"outPort":"inPort")+"(0x"+u(b)+","+(e?e:"unknown")+(null!=c?",0x"+r(c):"")+")"+(null!=g?": 0x"+r(g):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.ca(a);this.S&&(this.ec&Y.tm.La&&this.S.Ab(),a=this.S,a.pf=0,a.Oc-=a.A,a.A=0,a.gh())};k.Sn=function(a){D(this,this.sm)&&Ec(this,33,a);return!0};k.On=function(){this.ca("Type ? for list of debugger commands")};
@ -670,10 +670,10 @@ function Sk(a){var b;if(jd(a)){if(!a.Ud||!a.Ud.length){a.Ud=Array(1E4);for(b=0;b
k.xf=function(a,b,c){if(!cl(this))return!1;this.$c=0;do{a||jd(this)&&nd(this,this.S.Ba,!0);try{var d=this.S.xf(a);0<d&&(this.$c+=d,Ib(this.S,d,!0),Fb(this.S,d),this.bh++)}catch(e){this.$c=0,Sa(this.S,e.message||e)}}while(this.S.$&240);!1!==c&&Eb(this.S);Db(this,b||!1,!1);return 0<this.$c};k.Ab=function(){this.S.Ab()};function Db(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Ec=[a.S.qa,a.S.ua.oa,void 0];b&&1!=a.mc?dl(a,null,c):el(a)}
function cl(a){a.S&&Ra(a.S)&&a.S.Nb&&!Qa(a.S)?(a=a.S,a.jd?(a.ca(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ac=function(a,b){return!b&&(this.reset(!0),this.ca(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Wb=function(a,b){b&&this.ca(a?"suspending":"shutting down");return a&&this.save?this.save():!0};k.reset=function(a){Sk(this);this.$c=this.bh=0;this.Ec=[this.S.qa,this.S.ua.oa,void 0];void 0===this.Ob||a||this.ca("reset");this.Ob=!1;fl(this);a||Db(this)};
k.save=function(){var a=new H(this);a.set(0,this.Ec);a.set(1,this.re);a.set(2,[this.Lh,this.cf,this.ec]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Ec=a[b++],this.re=a[b++],this.Lh=a[b][0],this.cf=a[b][1],this.ec||(this.ec=a[b][2]));return!0};k.start=function(a,b){this.mc||this.ca("running");this.Ob=!0;this.$n=a;this.eo=b};
k.stop=function(a,b){if(this.Ob){this.Ob=!1;this.$c=b-this.eo;if(!this.mc){var c="stopped";if(this.$c){var d=a-this.$n,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";jd(this)&&(c+=this.bh+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.ca(c)}Db(this,!0,2!=this.mc);this.Md();fl(this,this.S.Ba)}};function jd(a){return 1<a.vc.length||D(a,a.Gg)}
k.stop=function(a,b){if(this.Ob){this.Ob=!1;this.$c=b-this.eo;if(!this.mc){var c="stopped";if(this.$c){var d=a-this.$n,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";jd(this)&&(c+=this.bh+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.ca(c)}Db(this,!0,2!=this.mc);this.Nd();fl(this,this.S.Ba)}};function jd(a){return 1<a.vc.length||D(a,a.Gg)}
function nd(a,b,c){if(!c&&gl(a,b,a.vc))return!0;a.Rc.length&&(a.bh++,c=bb(a.na,b),a.Rc[c][1]++,c=a.Ud[a.kf],c[0]=a.S.qa,c[1]=a.S.ua.oa,c[2]=b,++a.kf==a.Ud.length&&(a.kf=0));return!1}function qb(a,b){return gl(a,b,a.Sd)?(a.S.Ab(!0),!0):!1}function rb(a,b){return gl(a,b,a.Qc)?(a.S.Ab(!0),!0):!1}function kb(a,b,c){a.ca("break on input from port "+u(b)+": "+r(c));a.S.Ab(!0)}function ob(a,b,c){a.ca("break on output to port "+u(b)+": "+r(c));a.S.Ab(!0)}
function hl(a,b){if(b==a.S.ua.oa)return a.S.ua;if(b==a.S.Eb.oa)return a.S.Eb;if(b==a.S.Za.oa)return a.S.Za;if(b==a.S.wb.oa)return a.S.wb;var c=new Nb(a.S);c.load(b,!0);return c}function il(a,b,c,d){var e=b[2];null==e&&(a=hl(a,b[1]),e=c?a.Yb(b[0],d||0,!0):a.Wc(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.ub=function(a,b){var c=255,d=il(this,a,!1,0);0<=d&&(c=bb(this.na,d),void 0!==b&&jl(a,b));return c};
k.Ia=function(a,b){var c=65535,d=il(this,a,!1,1);0<=d&&(c=cb(this.na,d),void 0!==b&&jl(a,b));return c};k.bd=function(a,b,c){var d=il(this,a,!0,0);0<=d&&(db(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};k.Nd=function(a,b,c){var d=il(this,a,!0,1);0<=d&&(eb(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};function $(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])}function jl(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
k.Ia=function(a,b){var c=65535,d=il(this,a,!1,1);0<=d&&(c=cb(this.na,d),void 0!==b&&jl(a,b));return c};k.Md=function(a,b,c){var d=il(this,a,!0,0);0<=d&&(db(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};k.bd=function(a,b,c){var d=il(this,a,!0,1);0<=d&&(eb(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};function $(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])}function jl(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function Rk(a){var b;a.vc=["exec"];if(void 0!==a.Sd)for(b=1;b<a.Sd.length;b++){var c=a.na,d=il(a,a.Sd[b]);wb(c.Aa[d>>c.rb],!1)}a.Sd=["read"];if(void 0!==a.Qc)for(b=1;b<a.Qc.length;b++)c=a.na,d=il(a,a.Qc[b]),wb(c.Aa[d>>c.rb],!0);a.Qc=["write"]}k.Vd=function(a,b,c){if(!kl(this,a,b)){b[2]=il(this,b);b[3]=c;a.push(b);if(a!=this.vc){var d=this.na,e=il(this,b);d.Aa[e>>d.rb].Vd(e&d.eb,a==this.Qc)}c||this.ca("breakpoint enabled: "+$(b)+" ("+a[0]+")");Sk(this);return!0}return!1};
function kl(a,b,c,d){var e=!1;c=il(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==il(a,g)){e=!0;if(d){b.splice(f,1);b!=a.vc&&(d=a.na,wb(d.Aa[c>>d.rb],b==a.Qc));g[3]||a.ca("breakpoint cleared: "+$(g)+" ("+b[0]+")");Sk(a);break}a.ca("breakpoint exists: "+$(g)+" ("+b[0]+")");break}}return e}function ll(a,b){for(var c=1;c<b.length;c++)a.ca("breakpoint enabled: "+$(b[c])+" ("+b[0]+")");return b.length-1}
function xb(a,b,c,d){if(void 0===d)xb(a,b,c,a.Sd),xb(a,b,c,a.Qc);else for(var e=1;e<d.length;e++){var f=il(a,d[e]);if(f>=b&&f<b+c){var g=a.na;g.Aa[f>>g.rb].Vd(f&g.eb,d==a.Qc)}}}function fl(a,b){if(void 0!==b)gl(a,b,a.vc,!0),a.mc=0;else for(var c=1;c<a.vc.length;c++){var d=a.vc[c];if(d[3]){if(!kl(a,a.vc,d,!0))break;c=0}}}
@ -689,7 +689,7 @@ function Pi(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],
function nl(a,b,c){for(var d=[],e=il(a,b),f=0;f<a.xc.length;f++){var g=a.xc[f][0],h=a.xc[f][1];if(e>=g&&e<g+h){b=ka(a.xc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?vl(a,f,b,d):c&&(b=~b,vl(a,f,b-1,d),vl(a,f,b,d));break}}return d}function vl(a,b,c,d){var e={},f=a.xc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.xc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function wl(a,b){if("?"==b)a.ca("\nfrequency commands:"),a.ca("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Rc)if("clear"==b){for(c=0;c<a.Rc.length;c++)a.Rc[c]=[c,0];a.ca("frequency data cleared");d++}else if(void 0!==b)a.ca("unknown frequency command: "+b),d++;else{var e=a.Rc.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.ca((Uk[a.Hf[f][0]]+" ").substr(0,5)+" ("+r(f)+"): "+g+" times"),d++)}}d||a.ca("no frequency data available")}}
function xl(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.ca("\nlist/load commands:"),a.ca("\tl [address] [drive #] [sector #] [# sectors]"),a.ca("\tln [address] lists symbol(s) nearest to address");else{var c=[],d,e=0,f=0,g=!1;if("json"==b[1])g=!0;else if(d="ln"==b[0],c=tl(a,b[1],d?1:2),d){c=nl(a,c,!0);c.length?(c[0]&&a.ca(u(c[1])+": "+c[0]),4<c.length&&c[4]&&a.ca(u(c[5])+": "+c[4])):a.ca("no symbols");return}d=ul(a,b[2],"drive #");if(void 0!==d){if(!g){e=ul(a,b[3],"sector #");if(void 0===e)return;
f=ul(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Lm;2<=d&&a.Hk&&(d-=2,h=a.Hk);if(h){var m=h.wk(d);if(m)if(m.va)if(g)a.ca(sk(m.va));else if(h.hm(m,e,f)){for(var n=0,q=!1,e=$(c);!q&&0<m.Wa--;)(function(a,b){h.sc(m,function(c){0>c?(a.ca("out of data at address "+$(b)),q=!0):(a.bd(b,c,1),n++)})})(a,c);a.ca(n+" bytes read at "+e)}else a.ca("sector "+e+" request out of range");else a.ca("drive "+d+" not loaded");else a.ca("invalid drive: "+d)}else a.ca("disk controller not present")}}}
f=ul(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Lm;2<=d&&a.Hk&&(d-=2,h=a.Hk);if(h){var m=h.wk(d);if(m)if(m.va)if(g)a.ca(sk(m.va));else if(h.hm(m,e,f)){for(var n=0,q=!1,e=$(c);!q&&0<m.Wa--;)(function(a,b){h.sc(m,function(c){0>c?(a.ca("out of data at address "+$(b)),q=!0):(a.Md(b,c,1),n++)})})(a,c);a.ca(n+" bytes read at "+e)}else a.ca("sector "+e+" request out of range");else a.ca("drive "+d+" not loaded");else a.ca("invalid drive: "+d)}else a.ca("disk controller not present")}}}
function dl(a,b,c){if(b&&"?"==b[1])a.ca("\nregister commands:"),a.ca("\tr\t\tdisplay all registers"),a.ca("\tr [target=#]\tmodify target register"),a.ca("supported targets:"),a.ca("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1<b.length){var f=b[1];if("p"==f)e=void 0!==a.S.Sc;else{var d=!1,g=null,h=f.indexOf("=");if(0<h)g=f.substr(h+1),f=f.substr(0,h);else if(2<b.length)g=b[2];else{a.ca("missing value for "+b[1]);return}b=parseInt(g,16);if(isNaN(b)){a.ca("invalid value: "+
g);return}switch(f.toUpperCase()){case "AL":a.S.G=a.S.G&65280|b&255;break;case "AH":a.S.G=a.S.G&255|b<<8&255;break;case "AX":a.S.G=b&65535;break;case "BL":a.S.B=a.S.B&65280|b&255;break;case "BH":a.S.B=a.S.B&255|b<<8&255;break;case "BX":a.S.B=b&65535;break;case "CL":a.S.I=a.S.I&65280|b&255;break;case "CH":a.S.I=a.S.I&255|b<<8&255;break;case "CX":a.S.I=b&65535;break;case "DL":a.S.J=a.S.J&65280|b&255;break;case "DH":a.S.J=a.S.J&255|b<<8&255;break;case "DX":a.S.J=b&65535;break;case "SP":a.S.Y=b&65535;
break;case "BP":a.S.H=b&65535;break;case "SI":a.S.F=b&65535;break;case "DI":a.S.D=b&65535;break;case "DS":Oc(a.S,b);break;case "ES":Tc(a.S,b);break;case "SS":Pc(a.S,b);break;case "CS":d=!0;Nc(a.S,b);a.Ec=[a.S.qa,a.S.ua.oa,void 0];break;case "IP":d=!0;I(a.S,b);a.Ec=[a.S.qa,a.S.ua.oa,void 0];break;case "C":b?ed(a.S):$c(a.S);break;case "P":b?(f=a.S,Vc(f)||(f.ja^=1)):(f=a.S,Vc(f)&&(f.ja^=1));break;case "A":b?fd(a.S):ad(a.S);break;case "Z":b?gd(a.S):bd(a.S);break;case "S":b?hd(a.S):cd(a.S);break;case "I":b?
@ -698,17 +698,17 @@ break;case "BP":a.S.H=b&65535;break;case "SI":a.S.F=b&65535;break;case "DI":a.S.
function el(a,b,c,d){b=tl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.na.ve];if(void 0!==c){e=tl(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.ca("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Ec[0];d--&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){var f=a.ub(b),g=Qa(a,!1)||a.mc?a.$c:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=nl(a,b);if(h[0]){var m=h[0]+":";c=!1;h[2]&&(m+=" "+h[2]);a.ca(m)}c&&a.ca();h[3]&&(f=h[3],
g=null);c=ml(a,b,f,g);a.ca(c);a.Ec=b;c=!1}}}function al(a,b,c){c&&(b?a.Lh=b:b=a.Lh);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a}
function bl(a,b){!b.length&&a.cf&&(a.ca("ended assemble @"+$(a.re)),a.Ec=a.re,a.cf=!1);b=b.toLowerCase();if(Ra(a)&&!Qa(a,!0)&&0<b.length){if(a.cf)b="a "+$(a.re)+" "+b;else{var c,d,e;switch(b){case "reset":a.Da&&a.Da.reset();return;default:for(d=b.charAt(0),e=1;e<b.length;e++){c=b.charAt(e);if(" "==c)break;if("r"==d||"a">c||"z"<c){b=b.substring(0,e)+" "+b.substring(e);break}}}}c=b.split(" ");switch(c[0].charAt(0)){case "a":var f=tl(a,c[1],1);if(null!=f[0])if(a.re=f,void 0===c[2])a.ca("begin assemble @"+
$(f)),a.cf=!0,Eb(a.S);else if(a.ca("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.bd(f,c[g],1);a.ca(ml(a,a.re))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+ll(a,a.vc),f+=ll(a,a.Sd),(f+=ll(a,a.Qc))||a.ca("no breakpoints");else if(void 0===f)a.ca("missing breakpoint address");else{g=[];if("*"!=f&&(g=tl(a,f,1),null==g[0]))break a;f=null==g[0]?f:u(g[0]);"c"==c?null==g[0]?(Rk(a),a.ca("all breakpoints cleared")):kl(a,a.vc,g,!0)||kl(a,a.Sd,g,!0)||kl(a,a.Qc,g,!0)||
$(f)),a.cf=!0,Eb(a.S);else if(a.ca("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.Md(f,c[g],1);a.ca(ml(a,a.re))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+ll(a,a.vc),f+=ll(a,a.Sd),(f+=ll(a,a.Qc))||a.ca("no breakpoints");else if(void 0===f)a.ca("missing breakpoint address");else{g=[];if("*"!=f&&(g=tl(a,f,1),null==g[0]))break a;f=null==g[0]?f:u(g[0]);"c"==c?null==g[0]?(Rk(a),a.ca("all breakpoints cleared")):kl(a,a.vc,g,!0)||kl(a,a.Sd,g,!0)||kl(a,a.Qc,g,!0)||
a.ca("breakpoint missing: "+$(g)):"i"==c?a.ca("breakpoint "+(hb(a.na,g[0])?"enabled":"cleared")+": port "+f+" (input)"):"o"==c?a.ca("breakpoint "+(lb(a.na,g[0])?"enabled":"cleared")+": port "+f+" (output)"):null!=g[0]&&("p"==c?a.Vd(a.vc,g):"r"==c?a.Vd(a.Sd,g):"w"==c?a.Vd(a.Qc,g):a.ca("unknown breakpoint command: "+c))}else a.ca("\nbreakpoint commands:"),a.ca("\tbi [p]\ttoggle break on input port [p]"),a.ca("\tbo [p]\ttoggle break on output port [p]"),a.ca("\tbp [a]\tset exec breakpoint at addr [a]"),
a.ca("\tbr [a]\tset read breakpoint at addr [a]"),a.ca("\tbw [a]\tset write breakpoint at addr [a]"),a.ca("\tbc [a]\tclear breakpoint at addr [a]"),a.ca("\tbl\tlist all breakpoints");break;case "c":a.Vf&&(a.Vf.value="");break;case "d":a:{var h=c[0],g=c[1],m=c[2],n;if("?"==g){f="symbols";for(n in Y)a.ei[n]&&(f.length&&(f+=","),f+=Y[n].Ma);f+=",state";a.ca("\ndump commands:");a.ca("\tdb [a] [#] dump bytes at address a");a.ca("\tdw [a] [#] dump words at address a");a.ca("\tds [s] dump descriptor for selector s");
f.length&&a.ca("dumps are also available for: "+f)}else if("state"==g)a.ca(zl(a.Da,!0));else if("symbols"==g)for(c=0;c<a.xc.length;c++)for(f in g=a.xc[c][0],h=a.xc[c][2],h)"."!=f.charAt(0)&&(m=h[f],n=m.o,void 0!==n&&(m=m.s,void 0===m&&(m=g>>>4),(d=h[f].l)&&(f=d),a.ca(da(n,m)+" "+f)));else{for(n in Y)if(g==Y[n].Ma){(f=a.ei[n])?f(m):a.ca("no dump registered for "+g);break a}f=tl(a,g,2);if(null!=f[0])if("ds"==h)if(c=hl(a,f[0]),null!=c.oa){f="selector="+u(f[0])+" limit="+u(c.Nc)+" base="+p(c.Ua);if(c.ab){f+=
" access="+u(c.ab);if(c.ab&4096)c.ab&2048?(f=f+"code:"+(c.ab&512?"readable,":"execonly,"),f+=c.ab&1024?"conforming,":"nonconforming,"):(f+="data:",f+=c.ab&512?"writeable,":"readonly,",f+=c.ab&1024?"expand down,":"expand up,"),f+=c.ab&256?"accessed":"not accessed";else switch(f+="type:",c.ab&7936){case 256:f+="tss";break;case 512:f+="ldt";break;case 768:f+="tss(busy)";break;case 1024:f+="call";break;case 1280:f+="task";break;case 1536:f+="int";break;case 1792:f+="trap";break;default:f+="unknown"}f+=
",dpl"+(c.ab>>13&24576);f+=c.ab&32768?",present":",not present"}a.ca(f)}else a.ca("invalid selector: "+u(f[0]));else{c=0;void 0!==m&&("l"==m.charAt(0)&&(m=m.substr(1)),c=parseInt(m,10));n="";c||(c=8);for(m=0;m<c;m++){e=d="";for(var g=$(f),q=0,t=0;16>t;t++){var s=a.ub(f,1);"dw"==h?t&1&&(d+=u(q|s<<8)+(7==t?" - ":" ")):d+=r(s)+(7==t?"-":" ");e+=32<=s&&128>s?String.fromCharCode(s):".";q=s}n&&(n+="\n");n+=g+" "+d+" "+e}n&&a.ca(n);a.hk=f}}}break;case "e":f=c[1];if(void 0===f)a.ca("missing address");else if(f=
tl(a,f,2),null!=f[0])for(g=2;g<c.length;g++)h=parseInt(c[g],16),a.ca("setting "+$(f)+" to "+r(h)),a.bd(f,h,1);break;case "f":wl(a,c[1]);break;case "g":a:{f=c[1];if(void 0!==f){f=tl(a,f,1);if(null==f[0])break a;a.Vd(a.vc,f,!0)}a.Oe(!0)||a.ca('cpu not available, "g" command ignored')}break;case "h":m=c[1];if(a.Ob&&void 0===m)a.Ab();else{f="";c=10;g=a.kf;h=a.Ud;if(h.length)for(n=void 0===m?a.Ul:parseInt(m,10),isNaN(n)?n=c:f="more ",n>h.length&&(a.ca("note: only "+h.length+" available"),n=h.length),g-=
tl(a,f,2),null!=f[0])for(g=2;g<c.length;g++)h=parseInt(c[g],16),a.ca("setting "+$(f)+" to "+r(h)),a.Md(f,h,1);break;case "f":wl(a,c[1]);break;case "g":a:{f=c[1];if(void 0!==f){f=tl(a,f,1);if(null==f[0])break a;a.Vd(a.vc,f,!0)}a.Oe(!0)||a.ca('cpu not available, "g" command ignored')}break;case "h":m=c[1];if(a.Ob&&void 0===m)a.Ab();else{f="";c=10;g=a.kf;h=a.Ud;if(h.length)for(n=void 0===m?a.Ul:parseInt(m,10),isNaN(n)?n=c:f="more ",n>h.length&&(a.ca("note: only "+h.length+" available"),n=h.length),g-=
n,0>g&&(null!=h[h.length-1][1]?g+=h.length:(n=g+n,g=0)),void 0!==m&&a.ca(n+" instructions earlier:");c&&g!=a.kf;){m=h[g];if(null==m[1])break;m=[m[0],m[1],m[2]];a.ca(ml(a,m,"history",-n));++g==h.length&&(g=0);a.Ul=--n;c--}10==c&&(a.ca("no "+f+"history available"),a.Ul=void 0)}break;case "i":(f=c[1])&&"?"!=f?(f=ul(a,f),void 0!==f&&(c=jb(a.na,f),a.ca(u(f)+": "+r(c)))):(a.ca("\ninput commands:"),a.ca("\ti [p]\tread port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "l":xl(a,
c);break;case "m":a:{f=null;h=c[1];"?"==h&&(h=void 0);if(void 0!==h){n=0;if("all"==h)n=4294967295,h=null;else if("on"==h)f=!0,h=null;else if("off"==h)f=!1,h=null;else{for(g in Y)if(h==Y[g].Ma){n=Y[g].La;f=!!(a.ec&n);break}if(!n){a.ca("unknown message category: "+h);break a}}n&&("on"==c[2]?(a.ec|=n,f=!0):"off"==c[2]&&(a.ec&=~n,f=!1))}c=0;n="";for(g in Y)if(!h||h==Y[g].Ma)if(m=!!(a.ec&Y[g].La),null===f||f==m)n&&(n+=","),++c%10||(n+="\n\t"),n+=Y[g].Ma;void 0===h&&a.ca("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");
a.ca((null!==f?f?"messages on: ":"messages off: ":"message categories:\n\t")+(n||"none"))}break;case "o":f=c[1];c=c[2];f&&"?"!=f?(f=ul(a,f,"port #"),c=ul(a,c),void 0!==f&&void 0!==c&&nb(a.na,f,c)):(a.ca("\noutput commands:"),a.ca("\to [p] [d]\twrite data [d] to port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "p":case "pr":f="pr"==c[0]?1:0;c=1+f;if(a.mc)a.ca("step in progress");else{h=!1;n=[a.S.qa,a.S.ua.oa,void 0];do switch(g=!1,a.ub(n)){case 38:case 46:case 54:case 62:case 240:jl(n,
1);g=!0;break;case 204:case 206:a.mc=c;jl(n,1);break;case 205:case 224:case 225:case 226:a.mc=c;jl(n,2);break;case 232:a.mc=c;jl(n,3);break;case 154:a.mc=c;jl(n,5);break;case 255:a.mc=0<=ml(a,n).indexOf("CALL")?c:0;break;case 243:case 242:jl(n,1);h=g=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:h&&(a.mc=c,jl(n,1))}while(g);a.mc?(a.Vd(a.vc,n,!0),a.Oe()||(a.S.Md(),a.mc=0)):yl(a,f?"tr":"t")}break;case "r":dl(a,c);break;case "t":case "tr":yl(a,c[0],
1);g=!0;break;case 204:case 206:a.mc=c;jl(n,1);break;case 205:case 224:case 225:case 226:a.mc=c;jl(n,2);break;case 232:a.mc=c;jl(n,3);break;case 154:a.mc=c;jl(n,5);break;case 255:a.mc=0<=ml(a,n).indexOf("CALL")?c:0;break;case 243:case 242:jl(n,1);h=g=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:h&&(a.mc=c,jl(n,1))}while(g);a.mc?(a.Vd(a.vc,n,!0),a.Oe()||(a.S.Nd(),a.mc=0)):yl(a,f?"tr":"t")}break;case "r":dl(a,c);break;case "t":case "tr":yl(a,c[0],
c[1]);break;case "u":el(a,c[1],c[2],8);break;case "x":a:if(void 0===c[1]||"?"==c[1])a.ca("\nexecution options:"),a.ca("\tcs int #\tset checksum cycle interval to #"),a.ca("\tcs start #\tset checksum cycle start count to #"),a.ca("\tcs stop #\tset checksum cycle stop count to #"),a.ca("\tsp #\t\tset speed multiplier to #");else switch(c[1]){case "cs":void 0!==c[3]&&(m=parseInt(c[3],10));switch(c[2]){case "int":a.S.mf=m;break;case "start":a.S.gg=m;break;case "stop":a.S.of=m;break;default:a.ca("unknown cs option");
break a}void 0!==m&&Bb(a.S);a.ca("checksums "+(a.S.df?"enabled":"disabled"));break;case "sp":void 0!==c[2]&&Hb(a.S,parseInt(c[2],10));a.ca("target speed: "+(a.S.He.toFixed(2)+"Mhz")+" ("+a.S.Gd+"x)");break;default:a.ca("unknown option: "+c[1])}break;case "?":f="commands:";for(h in Tk)f+="\n"+h+" ".substr(0,7-h.length)+Tk[h];jd(a)||(f+="\nnote: frequency/history disabled if no exec breakpoints");a.ca(f);break;default:a.ca("unknown command: "+b)}}}
Ba(function(){for(var a=B(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Qk(d);Oa(d,c)}});function H(a,b,c){this.id=a.id;this.key=Al(a,b,c);this.X=a.X;Bl(this,a.gp)}function Al(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}function Cl(){try{return"undefined"!==typeof window.localStorage}catch(a){return!1}}

View file

@ -3,8 +3,8 @@ function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function h
function t(a,b,c,d,e,f){b=!!b;var l=0,k=null,m=da(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f))});if(c){var q="",s;for(s in c)c.hasOwnProperty(s)&&(q&&(q+="&"),q+=s+"="+encodeURIComponent(c[s]));q=q.replace(/%20/g,"+");n.open("POST",a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");
n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f),a=[l,k]);return a}function ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}function u(a){window?window.alert(a):console.log(a)}function la(a){var b=!1;window&&(b=window.confirm(a));return b}function ma(a){if(window)try{window.localStorage.setItem("user",a)}catch(b){}}
function na(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var oa={init:[],show:[],exit:[]},pa=!0;function qa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function v(a){oa.init.push(a)}function ra(a){if(pa)for(var b=0;b<a.length;b++)a[b]()}qa("onload",function(){ra(oa.init)});qa("onpageshow",function(){ra(oa.show)});
qa(na("Opera")||na("iOS")?"onunload":"onbeforeunload",function(){ra(oa.exit)});function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.lj=b.comment;this.Bn=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.pg=this.id.substr(0,b),this.Hh=this.id.substr(b+1)):this.Hh=this.id;this[a]=c;this.Ch=null;this.Yc=this.Ab=this.Ec=this.sh=this.kg=!1;this.oa={};this.Na=null;this.pg&&this.pg.match(/\d+/);x[x.length]=this}var ta=void 0,ua={};
if(window){ta||(ta=window.location.search.substr(1));for(var va,wa=/\+/g,xa=/([^&=]+)=?([^&]*)/g;va=xa.exec(ta);)ua[decodeURIComponent(va[1].replace(wa," "))]=decodeURIComponent(va[2].replace(wa," "))}function ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function z(a,b){b.prototype=ya(a.prototype)}var x=[];
qa(na("Opera")||na("iOS")?"onunload":"onbeforeunload",function(){ra(oa.exit)});function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.lj=b.comment;this.Bn=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.pg=this.id.substr(0,b),this.Hh=this.id.substr(b+1)):this.Hh=this.id;this[a]=c;this.Ch=null;this.Yc=this.Ab=this.Ec=this.sh=this.kg=!1;this.oa={};this.Na=null;this.pg&&this.pg.match(/\d+/);x[x.length]=this}var sa=void 0,ua={};
if(window){sa||(sa=window.location.search.substr(1));for(var va,wa=/\+/g,xa=/([^&=]+)=?([^&]*)/g;va=xa.exec(sa);)ua[decodeURIComponent(va[1].replace(wa," "))]=decodeURIComponent(va[2].replace(wa," "))}function ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function z(a,b){b.prototype=ya(a.prototype)}var x=[];
function za(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Aa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<x.length;c++)if(x[c].id===a)return x[c]}return null}
function Ba(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){u(c.message+" ("+a+")")}return b}
function B(a,b){var c,d;d=C(b.parentNode,"pcjs-control");for(c=0;c<d.length;c++){var e,f;f=d[c].childNodes;for(e=0;e<f.length;e++){var l=f[e];if(l.nodeType===window.document.ELEMENT_NODE){var k=l.getAttribute("class");if(k){var m,n;n=k.split(" ");for(m=0;m<n.length;m++)switch(k=n[m],k){case "pcjs-input":case "pcjs-output":(n=A(l))&&n.binding&&a.vb(k,n.type,n.binding,l),n=[]}}}}}}
@ -25,17 +25,17 @@ null:this.la},restore:function(a){return this.ea?null===a:this.fl==a.length<<2?(
function Ya(a,b){w.call(this,"CPU",a,Ya);var c=a.multiplier||1;this.cd=a.cycles||b;this.yd=c;this.sg=Math.round(this.cd/1E4)/100;this.xe=this.sg*this.yd;this.rc=this.Ab=!1;this.rh=a.autoStart;c=ua.autostart;void 0!==c&&(this.rh="true"==c?!0:"false"==c?!1:null);this.hg=!1;this.xg=this.ze=0;this.yg=a.csStart;this.lf=a.csInterval;this.mf=a.csStop;var d=this;this.Gm=function(){Za(d)};this.Pa()}z(w,Ya);g=Ya.prototype;
g.ic=function(a,b,c,d){this.ma=b;this.Na=d;this.Fa=a;var e=D(a,"Video");e&&(this.ef=function(){$a(e)},this.Fe=function(){e.Fe()});this.ga=D(a,"ChipSet");this.Pa()};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Tb=function(a,b){if(!b){if(a&&this.restore){ab(this);if(!this.restore(a))return!1;bb(this)}else this.reset();this.Ub("No debugger detected")}this.Ab=!0;!cb(this)&&this.Na&&this.Na.wo();this.ef();this.df();return!0};
g.Kb=function(a){this.Ab=!1;return a&&this.save?this.save():!0};function cb(a){return!0===a.rh||null===a.rh&&void 0===a.oa.run?(Za(a),!0):!1}g.Fe=function(){};g.vj=function(){return 0};function bb(a){void 0===a.yg&&(a.yg=0);void 0===a.lf&&(a.lf=-1);void 0===a.mf&&(a.mf=-1);a.hg=0<=a.yg&&0<a.lf;a.hg&&(a.xg=0,a.ze=a.yg-a.ce)}function E(a,b,c,d){void 0!==a.oa[b]&&(void 0===d&&(d=4),void 0===c&&(Ea(a,"Register "+b+" is invalid"),db(a)),c=p(c,d),a.oa[b].innerHTML!=c&&(a.oa[b].innerHTML=c))}g.df=function(){};
g.ef=function(){};g.vb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.oa[c]=d;d.onclick=function(){e.rc?db(e,!0):Za(e,!0)};a=!0;break;case "reset":this.oa[c]=d;d.onclick=function(){e.Fa&&eb(e.Fa)};a=!0;break;case "speed":this.oa[c]=d;a=!0;break;case "setSpeed":this.oa[c]=d,d.onclick=function(){fb(e,e.yd<<1,!0)},d.innerHTML=this.xe.toFixed(2)+"Mhz",a=!0}return a};function hb(a,b,c){a.ce+=b;c&&(a.Lc=a.A=0)}
function ib(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.yd&&a.Kc&&(d=a.Kc/a.sg);a.Bj=Math.round(1E3/30);a.zm=Math.floor(a.cd/c*d);a.Qh=Math.floor(a.cd/30*d);a.Fj=Math.floor(a.cd/60*d);a.Ej=Math.floor(a.cd/2*d);b||(a.pf=a.Qh,a.of=a.Fj,a.nf=a.Ej);a.Gi=0}function jb(a,b){var c=a.ce+a.Bd+a.Lc-a.A;b&&1<a.yd&&a.Kc>a.sg&&(c=Math.round(c/a.yd));return c}function ab(a){a.Kc=0;a.vg=1;a.ce=a.Bd=a.Lc=a.A=0;bb(a);fb(a,1)}
function fb(a,b,c){void 0!==b&&(0.8>a.Kc/a.xe&&(b=1),a.yd=b,b=a.sg*a.yd,a.xe!=b&&(a.xe=b,b=a.xe.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),a.Ub("target speed: "+b)),c&&a.Fe());hb(a,a.Bd);a.Bd=0;a.ye=ha();a.$d=0;ib(a)}
function Za(a,b){if(Ca(a,!0)){a.rc||(fb(a),a.Fa&&a.Fa.start(a.ye,jb(a)),a.rc=!0,a.ga&&kb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.Fe());a.Gi>=a.cd&&ib(a,!0);a.qf=0;a.ug=ha();if(a.$d){var c=a.ug-a.$d;c>a.Bj&&(a.ye+=c,a.ye>a.ug&&(a.ye=a.ug))}try{do{a.Wk(a.hg?1:Math.round(a.zm/a.vg));var d=a.Lc-a.A;a.Bd+=d;a.qf+=d;hb(a,0,!0);var c=a,e=d;if(c.hg){var f=!1;c.xg=c.xg+c.vj()|0;c.ze-=e;0>=c.ze&&(c.ze+=c.lf,f=!0);0<=c.mf&&c.mf<=jb(c)&&(c.lf=c.mf=-1,bb(c),db(c),f=!0);f&&c.Ub(jb(c)+" cycles: checksum="+
p(c.xg))}a.of-=d;0>=a.of&&(a.of+=a.Fj,a.ef());a.nf-=d;0>=a.nf&&(a.nf+=a.Ej,a.df());a.pf-=d;if(0>=a.pf){a.pf+=a.Qh;break}}while(a.rc)}catch(l){db(a);a.ef();a.df();a.Fa&&a.Fa.stop(ha(),jb(a));Ca(a,!1);Ea(a,l.message);return}d=setTimeout;c=a.Gm;a.$d=ha();e=a.Bj;a.qf&&(e=Math.round(e*a.qf/a.Qh));e-=a.$d-a.ug;if(f=a.$d-a.ye)a.Kc=Math.round(a.Bd/(10*f))/100,864E5<=f&&(a.ce=0,a.ga&&lb(a.ga,!0),fb(a));if(0>e||a.Kc<a.xe)e=0;a.Gi+=a.qf;a.$d+=e;d(c,e)}else a.ef(),a.df(),a.Fa&&a.Fa.stop(ha(),jb(a))}
g.ef=function(){};g.vb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.oa[c]=d;d.onclick=function(){e.rc?db(e,!0):Za(e,!0)};a=!0;break;case "reset":this.oa[c]=d;d.onclick=function(){e.Fa&&eb(e.Fa)};a=!0;break;case "speed":this.oa[c]=d;a=!0;break;case "setSpeed":this.oa[c]=d,d.onclick=function(){gb(e,e.yd<<1,!0)},d.innerHTML=this.xe.toFixed(2)+"Mhz",a=!0}return a};function hb(a,b,c){a.ce+=b;c&&(a.Lc=a.A=0)}
function ib(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.yd&&a.Kc&&(d=a.Kc/a.sg);a.Bj=Math.round(1E3/30);a.zm=Math.floor(a.cd/c*d);a.Qh=Math.floor(a.cd/30*d);a.Fj=Math.floor(a.cd/60*d);a.Ej=Math.floor(a.cd/2*d);b||(a.pf=a.Qh,a.of=a.Fj,a.nf=a.Ej);a.Gi=0}function jb(a,b){var c=a.ce+a.Bd+a.Lc-a.A;b&&1<a.yd&&a.Kc>a.sg&&(c=Math.round(c/a.yd));return c}function ab(a){a.Kc=0;a.vg=1;a.ce=a.Bd=a.Lc=a.A=0;bb(a);gb(a,1)}
function gb(a,b,c){void 0!==b&&(0.8>a.Kc/a.xe&&(b=1),a.yd=b,b=a.sg*a.yd,a.xe!=b&&(a.xe=b,b=a.xe.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),a.Ub("target speed: "+b)),c&&a.Fe());hb(a,a.Bd);a.Bd=0;a.ye=ha();a.$d=0;ib(a)}
function Za(a,b){if(Ca(a,!0)){a.rc||(gb(a),a.Fa&&a.Fa.start(a.ye,jb(a)),a.rc=!0,a.ga&&kb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.Fe());a.Gi>=a.cd&&ib(a,!0);a.qf=0;a.ug=ha();if(a.$d){var c=a.ug-a.$d;c>a.Bj&&(a.ye+=c,a.ye>a.ug&&(a.ye=a.ug))}try{do{a.Wk(a.hg?1:Math.round(a.zm/a.vg));var d=a.Lc-a.A;a.Bd+=d;a.qf+=d;hb(a,0,!0);var c=a,e=d;if(c.hg){var f=!1;c.xg=c.xg+c.vj()|0;c.ze-=e;0>=c.ze&&(c.ze+=c.lf,f=!0);0<=c.mf&&c.mf<=jb(c)&&(c.lf=c.mf=-1,bb(c),db(c),f=!0);f&&c.Ub(jb(c)+" cycles: checksum="+
p(c.xg))}a.of-=d;0>=a.of&&(a.of+=a.Fj,a.ef());a.nf-=d;0>=a.nf&&(a.nf+=a.Ej,a.df());a.pf-=d;if(0>=a.pf){a.pf+=a.Qh;break}}while(a.rc)}catch(l){db(a);a.ef();a.df();a.Fa&&a.Fa.stop(ha(),jb(a));Ca(a,!1);Ea(a,l.message);return}d=setTimeout;c=a.Gm;a.$d=ha();e=a.Bj;a.qf&&(e=Math.round(e*a.qf/a.Qh));e-=a.$d-a.ug;if(f=a.$d-a.ye)a.Kc=Math.round(a.Bd/(10*f))/100,864E5<=f&&(a.ce=0,a.ga&&lb(a.ga,!0),gb(a));if(0>e||a.Kc<a.xe)e=0;a.Gi+=a.qf;a.$d+=e;d(c,e)}else a.ef(),a.df(),a.Fa&&a.Fa.stop(ha(),jb(a))}
function db(a,b){a.Ec&&(a.sh=!0);a.Lc-=a.A;a.A=0;hb(a,a.Bd);a.Bd=0;a.rc&&(a.rc=!1,a.ga&&kb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Run"));a.ig=b}g.Wk=function(){return 0};
var mb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function nb(a,b,c){this.ia=a;this.hb=this.ua=0;this.ad=65535;this.uc=this.lc=0;this.Lg=b;ob(this,c)}function pb(a){this.ua=a;this.ad=65535;return this.hb=a<<4}
function qb(a){var b,c;a&4?(b=this.ia.Ee.hb,c=this.ia.Ee.ad):(b=this.ia.Rc,c=this.ia.Oe);b+=a&65528;if(b+7<=c){this.Ic=rb;this.Ob=tb;this.ia.A-=15;c=F(this.ia,b+0);var d=F(this.ia,b+4),e=F(this.ia,b+2)|(d&255)<<16;F(this.ia,b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.Ob=ub);if(b&2048||!(b&512))this.Ob=vb;this.ua=a;this.ad=c;this.lc=d;this.uc=(d&24576)>>13;return this.hb=e}if(b&&768>=b)return this.ua=a,this.ad=c,this.lc=d,this.uc=(d&24576)>>13,this.hb=e}return-1}
function wb(a){return this.hb+a}function xb(a){return this.hb+a}function rb(a,b,c){return a+b<=this.ad?this.hb+a:ub.call(this,0,0,c)}function ub(a,b,c){c||yb.call(this.ia,13,0);return-1}function tb(a,b,c){return a+b<=this.ad?this.hb+a:vb.call(this,0,0,c)}function vb(a,b,c){c||yb.call(this.ia,13,0);return-1}nb.prototype.save=function(){return[this.ua,this.hb,this.ad,this.lc,this.uc,this.Lg]};
nb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.hb=a[1],this.ad=a[2],this.lc=a[3],this.uc=a[4],this.Lg=a[5])};function ob(a,b){void 0===b&&(b=!!(a.ia.ed&1));b?(a.load=qb,a.Ic=rb,a.Ob=tb):(a.load=pb,a.Ic=wb,a.Ob=xb)}
function qb(a){var b,c;a&4?(b=this.ia.Ee.hb,c=this.ia.Ee.ad):(b=this.ia.Rc,c=this.ia.Oe);b+=a&65528;if(b+7<=c){this.Ic=sb;this.Ob=tb;this.ia.A-=15;c=F(this.ia,b+0);var d=F(this.ia,b+4),e=F(this.ia,b+2)|(d&255)<<16;F(this.ia,b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.Ob=ub);if(b&2048||!(b&512))this.Ob=vb;this.ua=a;this.ad=c;this.lc=d;this.uc=(d&24576)>>13;return this.hb=e}if(b&&768>=b)return this.ua=a,this.ad=c,this.lc=d,this.uc=(d&24576)>>13,this.hb=e}return-1}
function wb(a){return this.hb+a}function xb(a){return this.hb+a}function sb(a,b,c){return a+b<=this.ad?this.hb+a:ub.call(this,0,0,c)}function ub(a,b,c){c||yb.call(this.ia,13,0);return-1}function tb(a,b,c){return a+b<=this.ad?this.hb+a:vb.call(this,0,0,c)}function vb(a,b,c){c||yb.call(this.ia,13,0);return-1}nb.prototype.save=function(){return[this.ua,this.hb,this.ad,this.lc,this.uc,this.Lg]};
nb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.hb=a[1],this.ad=a[2],this.lc=a[3],this.uc=a[4],this.Lg=a[5])};function ob(a,b){void 0===b&&(b=!!(a.ia.ed&1));b?(a.load=qb,a.Ic=sb,a.Ob=tb):(a.load=pb,a.Ic=wb,a.Ob=xb)}
function zb(a){this.Ca=a.model||8088;var b=0;switch(this.Ca){default:case 8088:b=4772727;break;case 80286:b=6E6}Ya.call(this,a,b);this.Zi=61442;this.Lf=4;this.Ae=255;this.Hi=4;this.Z=5;this.na=6;this.ba=7;this.ca=8;this.P=9;this.U=11;this.V=12;this.ae=4;this.Hj=60;this.Ij=83;this.Cb=3;this.fb=9;this.Rb=16;this.Cg=1;this.Mj=19;this.Oj=28;this.Qj=16;this.Pj=21;this.Nj=37;this.Kj=2;this.$h=9;this.Lj=5;this.Jj=33;this.bi=10;this.ai=8;this.uf=3;this.tf=15;this.dk=51;this.ek=1;this.fk=2;this.gk=4;this.ck=
32;this.ik=this.ci=15;this.Db=16;this.Eb=4;this.kk=11;this.jk=18;this.hk=24;this.nb=4;this.lk=2;this.di=16;this.mk=17;this.ii=18;this.nk=19;this.hi=5;this.ji=6;this.sk=2;this.rk=8;this.pk=9;this.li=this.ki=this.ok=this.qk=10;this.Sj=80;this.Uj=144;this.Rj=86;this.Tj=154;this.Wj=101;this.Yj=165;this.Vj=107;this.Xj=171;this.uk=70;this.wk=113;this.tk=76;this.vk=124;this.$j=80;this.bk=128;this.Zj=86;this.ak=134;this.wf=3;this.vf=16;this.qi=10;this.pi=8;this.xk=51;this.Sb=8;this.yk=17;this.zk=36;this.$b=
11;this.Ak=16;this.xf=10;this.tb=2;this.Xh=18;this.Yh=9-this.tb;this.Zh=17-this.tb;this.ei=12;this.fi=9-this.tb;this.gi=13-this.tb;this.mi=18;this.ni=9-this.tb;this.oi=17-this.tb;this.ri=15;this.si=9-this.tb;this.ti=15-this.tb;this.xi=11;this.yi=9-this.tb;this.zi=10-this.tb;this.Bk=8;this.Ek=12;this.Ck=18;this.Dk=17;this.Fk=15;this.vi=8;this.ui=20;this.wi=2;this.Ci=3;this.yf=9;this.Bi=5;this.Ai=11;this.Ei=4;this.Di=17;this.Gk=11;this.Ma=Ab.slice();80186<=this.Ca&&(this.Ae=31,this.Ma[15]=G,this.Ma[96]=
@ -43,11 +43,11 @@ Bb,this.Ma[97]=Cb,this.Ma[98]=Db,this.Ma[99]=G,this.Ma[100]=G,this.Ma[101]=G,thi
16,this.Cb=2,this.Rb=this.fb=7,this.Cg=0,this.Mj=7,this.Oj=13,this.Qj=7,this.Pj=11,this.Nj=16,this.Kj=3,this.$h=6,this.Lj=2,this.Jj=13,this.ai=this.bi=5,this.uf=2,this.tf=7,this.dk=23,this.ek=0,this.fk=1,this.gk=3,this.ck=17,this.ci=7,this.ik=11,this.Db=7,this.Eb=3,this.kk=7,this.jk=11,this.hk=15,this.nb=2,this.lk=3,this.di=7,this.nk=this.ii=this.mk=8,this.ji=this.hi=4,this.sk=2,this.rk=3,this.pk=5,this.qk=2,this.ok=3,this.ki=5,this.li=3,this.Sj=14,this.Uj=22,this.Rj=17,this.Tj=25,this.Wj=17,this.Yj=
25,this.Vj=20,this.Xj=28,this.uk=13,this.wk=21,this.tk=16,this.vk=24,this.$j=13,this.bk=21,this.Zj=16,this.ak=24,this.wf=2,this.vf=7,this.pi=this.qi=5,this.xk=19,this.yk=this.Sb=5,this.zk=17,this.$b=3,this.Ak=5,this.xf=3,this.tb=0,this.Xh=8,this.Yh=5,this.Zh=9,this.fi=this.ei=5,this.gi=4,this.ni=this.mi=5,this.oi=4,this.ri=7,this.si=5,this.ti=8,this.xi=3,this.yi=4,this.zi=3,this.Ek=this.Bk=11,this.Dk=this.Ck=15,this.Fk=7,this.vi=5,this.ui=8,this.wi=0,this.Ci=2,this.yf=6,this.Bi=3,this.Ai=6,this.Ei=
3,this.Gk=this.Di=5));this.bl=[];this.$i=[];this.Lc=this.gh=0;this.ig=!1;this.ya=[];this.Pe=this.xb=this.Ib=this.eb=this.Qd=0;this.S=this.pl;this.T=this.ql;this.N=this.rm;this.O=this.sm;this.Q=this.Kn;this.R=this.Ln;Xb(this)}z(Ya,zb);g=zb.prototype;g.Jh=function(a,b,c,d,e){this.ya=a;this.Pe=this.xb=b;this.Ib=c;this.eb=d;this.Qd=e};g.reset=function(){this.rc&&db(this);Xb(this);ab(this);this.Yc=!1};
function Xb(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ed=65520;a.Sc=0;a.ne=1023;a.qc={Ii:0,ua:0,lc:0,rg:-1};a.Ia=new nb(a,"CS");a.cc=new nb(a,"DS");a.Vb=new nb(a,"SS");a.jb=new nb(a,"ES");a.Uk=new nb(a,"ZERO");Yb(a,0,65535);80286<=a.Ca&&(a.Rc=a.Oe=0,a.Ee=new nb(a,"LDT",!0),a.Ng=new nb(a,"TSS",!0),a.ub=new nb(a,"VER",!0),Yb(a,65520,61440),a.Ia.hb=16711680);Zb(a,0);$b(a);a.Ya=0;a.ob=a.Cf=-1;a.Wf=0;a.da=a.Ba=-1;a.C=a.cc;a.M=a.Vb;a.Y=a.pa=0}
function Xb(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ed=65520;a.Sc=0;a.ne=1023;a.qc={Ii:0,ua:0,lc:0,rg:-1};a.Ia=new nb(a,"CS");a.cc=new nb(a,"DS");a.Vb=new nb(a,"SS");a.jb=new nb(a,"ES");a.Uk=new nb(a,"ZERO");Yb(a,0,65535);80286<=a.Ca&&(a.Rc=0,a.Oe=65535,a.Ee=new nb(a,"LDT",!0),a.Ng=new nb(a,"TSS",!0),a.ub=new nb(a,"VER",!0),Yb(a,65520,61440),a.Ia.hb=16711680);Zb(a,0);$b(a);a.Ya=0;a.ob=a.Cf=-1;a.Wf=0;a.da=a.Ba=-1;a.C=a.cc;a.M=a.Vb;a.Y=a.pa=0}
g.vj=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.qa+this.Ia.ua+this.cc.ua+this.Vb.ua+this.jb.ua+ac(this)|0};function bc(a,b){var c=a.$i[b];null!=c&&(c(--a.gh),delete a.$i[b])}function $b(a,b){void 0===b&&(b=!!(a.ed&1));cc=b?dc:ec;ob(a.Ia,b);ob(a.cc,b);ob(a.Vb,b);ob(a.jb,b)}
g.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.qa,this.Ia.save(),this.cc.save(),this.Vb.save(),this.jb.save(),ac(this),null!=this.Rc?[this.ed,this.Rc,this.Oe,this.Sc,this.ne,this.Ee.save(),this.Ng.save()]:null]);a.set(2,[this.C.Lg,this.M.Lg,this.Y,this.pa,this.Ya,this.da,this.Ba]);a.set(3,[this.vg,this.ce,this.yd]);a.set(4,Sa(this.ma));return a.data()};
g.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.Ia.restore(b[1]);this.cc.restore(b[2]);this.Vb.restore(b[3]);this.jb.restore(b[4]);Zb(this,b[5]);var c=b[6];c&&c.length&&(this.ed=c[0],this.Rc=c[1],this.Oe=c[2],this.Sc=c[3],this.ne=c[4],this.Ee.restore(c[5]),this.Ng.restore(c[6]),$b(this));I(this,b[0]);b=a[2];this.C=fc(this,b[0]);this.M=fc(this,b[1]);this.Y=b[2];this.pa=b[3];this.Ya=b[4];this.da=b[5];this.Ba=
b[6];b=a[3];this.vg=b[0];this.ce=b[1];fb(this,b[2]);a:{b=this.ma;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.jj){for(var f=0,l=Array(b.jj),k=0;k<e.length-1;)for(var m=e[k++],n=e[k++];m--;)l[f++]=n;e=l}f=b.ya[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ja(b,a[c]);b=!0}return b};
b[6];b=a[3];this.vg=b[0];this.ce=b[1];gb(this,b[2]);a:{b=this.ma;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.jj){for(var f=0,l=Array(b.jj),k=0;k<e.length-1;)for(var m=e[k++],n=e[k++];m--;)l[f++]=n;e=l}f=b.ya[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ja(b,a[c]);b=!0}return b};
function fc(a,b){switch(b){case "CS":return a.Ia;case "DS":return a.cc;case "SS":return a.Vb;case "ES":return a.jb;case "ZERO":return a.Uk;default:return[0,b,0,0,""]}}function gc(a,b){var c;if(a.ed&1){if(c=a.Sc+(b<<3),c+7<=a.ne){a.qc.Ii=F(a,c);a.qc.ua=F(a,c+2);a.qc.lc=F(a,c+4);switch(a.qc.lc&7936){case 1536:a.qc.rg=-17153;break;case 1792:a.qc.rg=-16641;break;default:return!1}return!0}}else if(c=a.Sc+(b<<2),c+7<=a.ne)return a.qc.Ii=F(a,c),a.qc.ua=F(a,c+2),a.qc.rg=-769,!0;return!1}
function hc(a,b){a.Da=a.Ia.load(b)+a.qa;a.Y|=a.Lf}function ic(a,b){a.cc.load(b);a.Y|=a.Lf}function jc(a,b){a.Vb.load(b);a.Y|=4}function kc(a,b){a.jb.load(b);a.Y|=a.Lf}function I(a,b){a.Da=a.Ia.hb+(a.qa=b&65535)}function Yb(a,b,c){a.Da=a.Ia.load(c)+(a.qa=b)}function J(a,b){a.Da=a.Ia.hb+(a.qa=a.qa+b&65535)}function oc(a){return a.W&a.$?1:0}function pc(a){return mb[a.fa&255]?4:0}function qc(a){return(a.fa^a.ha)&16?16:0}function rc(a){return a.W&a.$-1?0:64}function sc(a){return a.fa&a.$>>1?128:0}
function tc(a){return(a.fa^a.ha^a.fa>>1)&a.$>>1?2048:0}function uc(a){a.W&=~a.$}function vc(a){a.ha=a.fa&16|a.ha&-17}function wc(a){a.W|=a.$-1}function xc(a){a.fa&=~a.$;a.ha=a.fa&32896|a.ha&-32897}function yc(a){a.W|=a.$}function zc(a){a.ha=~(a.fa&16)&16|a.ha&-17}function Ac(a){a.W&=~(a.$-1)}function Bc(a){sc(a)||(a.fa^=a.$>>1|a.$>>2,a.ha^=32896)}function Cc(a){a.fa|=a.$;a.ha=a.fa&32896|a.ha&-32897}function ac(a){return a.Ha&-2262|oc(a)|pc(a)|qc(a)|rc(a)|sc(a)|tc(a)}
@ -361,8 +361,8 @@ b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(th
function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],xg=[function(){var a=this.aa();16>(a&56)&&(this.Y|=1);vg[a].call(this,cc,td)},function(){var a=this.aa();a&16||(this.Y|=1);vg[a].call(this,wg,td)},function(){P[this.aa()].call(this,Sd)},function(){P[this.aa()].call(this,Td)},N,N,N,N,N,N,N,G,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],dc=[function(){this.A-=2+(0>this.da?0:1);return this.Ee.ua},function(){this.A-=2+(0>this.da?0:1);return this.Ng.ua},function(a){this.Y|=2;this.Ee.load(a);this.A-=
17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.Ng.load(a);this.A-=17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.ub.load(a,!0)&&2048!=(this.ub.lc&2560)&&(3072==(this.ub.lc&3072)||this.ub.uc>=(this.Ia.ua&3)&&this.ub.uc>=(a&3)))return Ac(this),a;wc(this);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.ub.load(a,!0)&&512==(this.ub.lc&2560)&&this.ub.uc>=(this.Ia.ua&3)&&this.ub.uc>=(a&3))return Ac(this),a;wc(this);return a},L,L],
ec=[Sb,Sb,Sb,Sb,Sb,Sb,L,L],cc=ec,wg=[function(a){0>this.da?G.call(this):(Fc(this,this.da+2,this.Rc),Ec(this,this.da+4,this.Rc>>16),a=this.Oe-this.Rc,this.A-=11);return a},function(a){0>this.da?G.call(this):(Fc(this,this.da+2,this.Sc),Ec(this,this.da+4,this.Sc>>16),a=this.ne-this.Sc,this.A-=12);return a},function(a){0>this.da?G.call(this):(this.Rc=F(this,this.da+2)|Dc(this,this.da+4)<<16,this.Oe=this.Rc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?G.call(this):(this.Sc=F(this,this.da+2)|
Dc(this,this.da+4)<<16,this.ne=this.Sc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.ed},L,function(a){this.ed=this.ed&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.ed&1&&$b(this,!0);this.Y|=2;return a},L];function Ub(){xg[this.aa()].call(this)}function Wb(){K(this,this.X);this.A-=this.$b}function Bb(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.zk}
ec=[Sb,Sb,Sb,Sb,Sb,Sb,L,L],cc=ec,wg=[function(a){0>this.da?G.call(this):(a=this.Oe-this.Rc,Fc(this,this.da+2,this.Rc),Fc(this,this.da+4,65280|this.Rc>>16),this.A-=11);return a},function(a){0>this.da?G.call(this):(a=this.ne-this.Sc,Fc(this,this.da+2,this.Sc),Fc(this,this.da+4,65280|this.Sc>>16),this.A-=12);return a},function(a){0>this.da?G.call(this):(this.Rc=F(this,this.da+2)|Dc(this,this.da+4)<<16,this.Oe=this.Rc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?G.call(this):(this.Sc=F(this,
this.da+2)|Dc(this,this.da+4)<<16,this.ne=this.Sc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.ed},L,function(a){this.ed=this.ed&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.ed&1&&$b(this,!0);this.Y|=2;return a},L];function Ub(){xg[this.aa()].call(this)}function Wb(){K(this,this.X);this.A-=this.$b}function Bb(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.zk}
function Cb(){this.D=this.Aa();this.F=this.Aa();this.H=this.Aa();this.X+=2;this.B=this.Aa();this.J=this.Aa();this.I=this.Aa();this.G=this.Aa();this.A-=this.xk}function Db(){P[this.aa()].call(this,Qd)}function Vb(){O[this.aa()].call(this,Rd)}function Eb(){K(this,this.K());this.A-=this.$b}function Fb(){P[this.aa()].call(this,Ld)}function Gb(){K(this,this.aa());this.A-=this.$b}function Hb(){P[this.aa()].call(this,Kd)}
function Ib(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Ua(this.ma,this.J,this.Da-b-1);Ec(this,this.jb.Ob(this.D,0),d);this.D=this.D+(this.Ha&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
function Jb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=this.Da-b-1,d=Ua(this.ma,this.J,d)|Ua(this.ma,this.J,d)<<8;Fc(this,this.jb.Ob(this.D,1),d);this.D=this.D+(this.Ha&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
@ -497,8 +497,8 @@ g.restore=function(a){var b=a[2];this.Ad=b[0];this.Nc=b[1];this.zd=b[2];this.za=
g.Em=function(a,b,c){if(c)this.xa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){u("Empty font ROM image: "+a);return}if(1==d.length){u(d[0]);return}if(8192==d.length)ei(this,d,[0,6144]);else{this.xa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.xa("Font ROM data error: "+e.message);return}this.Pa()}};
function Qi(a,b){if(1==b)return a.Qc[0]=W[0],a.Qc[1]=W[7],a.Qc;if(2==b){var c=a.za.Ze;if(a.za===a.ja){var d=a.ja.Jd[0],c=d&7;d&16&&(c|=8);18!=a.ja.Jd[1]&&(c|=32)}a.Qc[0]=W[c&15];c=c&32?vi:ui;for(d=0;d<c.length;d++)a.Qc[d+1]=W[c[d]];return a.Qc}if(a.Nb===a.ag)return W;c=null!=a.ja.Jd[15]?a.ja.Jd:wi;for(d=0;d<a.Qc.length;d++){var e=c[d]||0;a.Qc[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.Qc}function ei(a,b,c,d){a.Qf=b;a.Yg=c;a.Wd=d}
function Mi(a){var b=!1;if(window&&a.Qf){var c=a.Wd?0:2048,d=a.Wd?a.Wd:9;Ri(a,1,a.Yg[0],c,d,14,a.Qf,si,ti)&&(b=!0);c=Qi(a);d=a.Wd?a.Wd:8;Ri(a,3,a.Yg[1],0,d,8,a.Qf,c)&&(b=!0);a.Wd&&Ri(a,5,a.Yg[0],0,a.Wd,14,a.Qf,c)&&(b=!0)}return b}function Ri(a,b,c,d,e,f,l,k,m){var n=!1;Si(a,b,c,d,e,f,l,k,m)&&(n=!0);a.jl&&Si(a,b<<1,c,d,e,f,l,k,m)&&(n=!0);return n}
function Si(a,b,c,d,e,f,l,k,m){var n=!1,q=b&1?0:1,s=a.jd[b];s||(s={Xb:e<<q,Yb:f<<q,je:Array(k.length),aj:k.slice(),Me:m,Wg:Array(k.length)});for(m=0;m<k.length;m++){var r=k[m],y=s.je[m]?s.aj[m]:[];if(r[0]!==y[0]||r[1]!==y[1]||r[2]!==y[2]){var n=s,y=m,M=q,V=c,aa=d,ba=e,gb=f,lc=l,jd=[0,0,0,0],mc=window.document.createElement("canvas");mc.width=n.Xb<<4;mc.height=n.Yb<<4;for(var Qh=mc.getContext("2d"),sa=void 0,sb=void 0,Ra=void 0,nc=8>gb||!aa?gb:8,kd=Qh.createImageData(n.Xb,n.Yb),sa=0;256>sa;sa++){for(Ra=
0;Ra<gb;Ra++)for(var Rj=n.Me&&y&1&&Ra>=gb-2,Sj=lc[Ra<nc?V+sa*nc+Ra:aa+sa*nc+Ra-nc],ld=0;ld<=M;ld++)for(sb=0;sb<ba;sb++){var Rh=sb<<M,Sh=(Ra<<M)+ld,Th=Rj||Sj&128>>(8<=sb&&176<=sa&&223>=sa?7:sb)?r:jd;Ti(kd,Rh,Sh,Th);M&&Ti(kd,Rh+1,Sh,Th)}Qh.putImageData(kd,(sa&15)*n.Xb,(sa>>4)*n.Yb)}n.je[y]="#"+p(r[0],2)+p(r[1],2)+p(r[2],2);n.aj[y]=r;n.Wg[y]=mc;n=!0}}a.jd[b]=s;return n}function Ui(a){0<a.Sd||0<=a.tc?0>a.Td&&(a.Td=0):a.Td=-1}
function Si(a,b,c,d,e,f,l,k,m){var n=!1,q=b&1?0:1,s=a.jd[b];s||(s={Xb:e<<q,Yb:f<<q,je:Array(k.length),aj:k.slice(),Me:m,Wg:Array(k.length)});for(m=0;m<k.length;m++){var r=k[m],y=s.je[m]?s.aj[m]:[];if(r[0]!==y[0]||r[1]!==y[1]||r[2]!==y[2]){var n=s,y=m,M=q,V=c,aa=d,ba=e,fb=f,lc=l,jd=[0,0,0,0],mc=window.document.createElement("canvas");mc.width=n.Xb<<4;mc.height=n.Yb<<4;for(var Qh=mc.getContext("2d"),ta=void 0,rb=void 0,Ra=void 0,nc=8>fb||!aa?fb:8,kd=Qh.createImageData(n.Xb,n.Yb),ta=0;256>ta;ta++){for(Ra=
0;Ra<fb;Ra++)for(var Rj=n.Me&&y&1&&Ra>=fb-2,Sj=lc[Ra<nc?V+ta*nc+Ra:aa+ta*nc+Ra-nc],ld=0;ld<=M;ld++)for(rb=0;rb<ba;rb++){var Rh=rb<<M,Sh=(Ra<<M)+ld,Th=Rj||Sj&128>>(8<=rb&&176<=ta&&223>=ta?7:rb)?r:jd;Ti(kd,Rh,Sh,Th);M&&Ti(kd,Rh+1,Sh,Th)}Qh.putImageData(kd,(ta&15)*n.Xb,(ta>>4)*n.Yb)}n.je[y]="#"+p(r[0],2)+p(r[1],2)+p(r[2],2);n.aj[y]=r;n.Wg[y]=mc;n=!0}}a.jd[b]=s;return n}function Ui(a){0<a.Sd||0<=a.tc?0>a.Td&&(a.Td=0):a.Td=-1}
function Pi(a){if(a.Bb){for(var b=10;15>=b;b++)if(null==a.za.Wb[b])return;var c=a.za.Wb[10],b=c&31,d=a.za.Wb[11]&31,e=a.za.Wb[9]&31,f=!1;a.za===a.ja&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Vi(a);else{c=a.za.Wb[15]+((a.za.Wb[14]&63)<<8);a.tc!=c&&(Vi(a),a.tc=c);d=d-b+1;if(a.Zk!=b||a.mj!=d)a.Zk=b,a.mj=d;a.td=e+1;Ui(a)}}}
function Vi(a){if(0<=a.tc){if(void 0!==a.Mb){var b=a.Mb[a.tc];if(b&131072){var b=b&-131073,c=a.tc%a.mb,d=Math.floor(a.tc/a.mb);a.Bb&&a.jd[a.Bb]&&(a.qe&&Wi(a,c,d,b,a.qe),Wi(a,c,d,b));a.Mb[a.tc]=b}}a.tc=-1}}
function Xi(a){var b;a=a.za;var c=a.ke[5];if(null!=c){b=2;var d=512,e=a.ke[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Mc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}g.ge=function(a){var b=this.za;null!=a&&b&&a!=b.Kh&&(b.Og(a),this.ma.Og(b.ab,b.dc,b.Re))};
@ -511,7 +511,7 @@ function Wi(a,b,c,d,e){var f=d&255,l=d>>8;d=l&15;var k=a.jd[a.Bb];k.Me&&(d=k.Me[
e.fillStyle=k.je[d],e.fillRect(b,c+f,k.Xb,l)):(a.td&&a.td!==a.Xc&&(f=Math.floor(f*a.Xc/a.td),l=Math.floor(l*a.Xc/a.td)),a.Cc.fillStyle=k.je[d],a.Cc.fillRect(b,c+f,a.Wc,l)))}
function $a(a,b){if(a.Ab){var c=!1;a.za&&(a.za===a.ja?a.ja.Zd&32&&(c=!0):a.za.jc&8&&(c=!0));if(c||b){if(b)Yi(a,!0);else if(void 0===a.Mb)return;var d=!1;!(b||++a.el&15)&&0<=a.Td&&(a.Td++,d=!0);var e=0,f=a.Dj,c=a.za.ab,l=c+a.za.dc,k=(a.za.Wb[12]<<8)+a.za.Wb[13];a.Bb&&(k<<=1);var c=c+k,m=a.ih;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(k=!b){for(var k=a.ma,n=!0,q=c>>k.Ib;0<m&&q<k.ya.length;)k.ya[q].Xa&&(k.ya[q].Xa=n=!1,k.ya[q].oj=!0),m-=k.nc,q++;k=n}if(k){if(!d)return;if(!a.Sd){if(0>a.tc)return;e=a.tc;f=e+1}}if(a.Bb){if(a.jd[a.Bb]){d=
0;k=a.Sd=0;m=1048575;a.za.jc&32&&(k=32768,m&=~k,a.Td&2||(m&=-65537));for(c+=e<<1;c<l&&e<f;)n=Oa(a.ma,c),n|=65536,n&k&&(a.Sd++,n&=m),e==a.tc&&(n|=a.Td&1?131072:0),q=a.Mb[e],q!=n&&(Wi(a,e%a.mb,Math.floor(e/a.mb),n,a.qe),a.Mb[e]=n,d++),c+=2,e++;d&&a.qe&&a.Cc.drawImage(a.pe,0,0,a.bf,a.cf,a.Xi,a.Yi,a.lh,a.mh);Ui(a)}}else if(a.kj){for(var f=l,s,r,e=c,l=a.Sd=0,d=a.Mh,k=16==d?65536:196608,m=16==d?1:2,n=Qi(a,m),y=q=0,M=a.mb,V=0,aa=a.ac,ba=0;e<f;){s=Oa(a.ma,e);r=a.Mb[l];if(r===s)q+=d;else{a.Mb[l]=s;s=s>>8|
(s&255)<<8;r=k;var gb=16;q<M&&(M=q);for(var lc=0;lc<d;lc++){var jd=(s&(r>>=m))>>(gb-=m);Ti(a.qg,q++,y,n[jd])}q>V&&(V=q);y<aa&&(aa=y);y>=ba&&(ba=y+1)}e+=2;l++;if(q>=a.mb){q=0;y+=2;if(y>a.ac)break;y==a.ac&&(y=1,e=c+a.kj)}}M<a.mb&&(a.qe.putImageData(a.qg,0,0,M,aa,V-M,ba-aa),a.Cc.drawImage(a.pe,0,0,a.mb,a.ac,0,0,a.Vc,a.ud))}else{f=l;e=a.Sd=0;l=Qi(a);d=a.za.Md;m=k=0;n=a.mb;q=0;y=a.ac;for(M=0;c<f;){V=c++-a.ab;V=d[V];aa=a.Mb[e];if(aa===V)k+=8;else{a.Mb[e]=V;k<n&&(n=k);for(aa=0;8>aa;aa++)ba=V&2155905152,
(s&255)<<8;r=k;var fb=16;q<M&&(M=q);for(var lc=0;lc<d;lc++){var jd=(s&(r>>=m))>>(fb-=m);Ti(a.qg,q++,y,n[jd])}q>V&&(V=q);y<aa&&(aa=y);y>=ba&&(ba=y+1)}e+=2;l++;if(q>=a.mb){q=0;y+=2;if(y>a.ac)break;y==a.ac&&(y=1,e=c+a.kj)}}M<a.mb&&(a.qe.putImageData(a.qg,0,0,M,aa,V-M,ba-aa),a.Cc.drawImage(a.pe,0,0,a.mb,a.ac,0,0,a.Vc,a.ud))}else{f=l;e=a.Sd=0;l=Qi(a);d=a.za.Md;m=k=0;n=a.mb;q=0;y=a.ac;for(M=0;c<f;){V=c++-a.ab;V=d[V];aa=a.Mb[e];if(aa===V)k+=8;else{a.Mb[e]=V;k<n&&(n=k);for(aa=0;8>aa;aa++)ba=V&2155905152,
0>ba&&(ba=-ba),ba=X[ba]||0,Ti(a.qg,k++,m,l[ba]),V<<=1;k>q&&(q=k);m<y&&(y=m);m>=M&&(M=m+1)}e++;if(k>=a.mb&&(k=0,++m>a.ac))break}n<a.mb&&(a.qe.putImageData(a.qg,0,0,n,y,q-n,M-y),a.Cc.drawImage(a.pe,0,0,a.mb,a.ac,0,0,a.Vc,a.ud))}}}}g.$l=function(){return this.Ac.sc};g.kn=function(a,b){var c=this.Ac;c.ng=c.sc;c.sc=b&31};g.Zl=function(){return Zi(this.Ac)};g.jn=function(a,b){$i(this,this.Ac,b)};g.am=function(){return this.Ac.jc};g.ln=function(a,b){this.Ac.jc=b;Oi(this,!1)};
g.bm=function(){return aj(this,this.Ac)};g.Jk=function(a,b){this.ja.Bh=this.ja.Bh&-4|b&3};g.zj=function(){var a=this.ja.vd?this.ja.Jd[this.ja.Zd&31]:this.ja.Zd;this.ja.vd=!this.ja.vd;return a};g.Ik=function(a,b){var c=this.ja.Zd&32;if(this.ja.vd){var d=this.ja.Zd&31;if(16<=d||!c)this.ja.Jd[d]=b;this.ja.vd=!1}else this.ja.Zd=b,this.ja.vd=!0,b&32&&!c&&Mi(this)&&$a(this,!0)};g.lm=function(){var a=3-((this.ja.tg&12)>>2),a=this.ja.Ui&-17|(this.Tf&1<<a)<<4-a;return this.ja.Ui=a};
g.nn=function(a,b){this.ja.tg=b;Li(this)};g.km=function(){return this.ja.we};g.un=function(a,b){this.ja.we=b};g.jm=function(){return this.ja.Pf[this.ja.we]};g.tn=function(a,b){this.ja.Pf[this.ja.we]=b;2==this.ja.we&&(this.ja.Ua=xi[b&15])};g.Sl=function(){return this.ja.Eh};g.dn=function(a,b){this.ja.Eh=b};g.Tl=function(){return this.ja.Fh};g.en=function(a,b){this.ja.Fh=b};g.Rl=function(){return this.ja.ve};g.cn=function(a,b){this.ja.ve=b};g.Ql=function(){return this.ja.ke[this.ja.ve]};
@ -549,9 +549,9 @@ g.Hm=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ah=!1;if(0<=a
g.seek=function(a,b,c,d,e){var f=null,l=this.Oa,k=this.gb[a];if(k){var m=k[b];if(!m&&l.Te&&b<l.Jb)for(m=k[b]=Array(l.od),k=0;k<m.length;k++)m[k]=oj(null,a,b,k+1,l.$a,0);if(m){for(k=0;k<m.length;k++)if(m[k]&&m[k].sector==c){f=m[k];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++k<m.length;)null===m[k].pattern&&d++;pj(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&l.Te&&9==l.Ka&&(f=m[k]=oj(null,a,b,l.Ka,l.$a,0))}}e&&e(f,!1);return f};
g.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function sj(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var l=f<e.length?e[f]:a;c[d++]=l&255;c[d++]=l>>8&255;c[d++]=l>>16&255;c[d++]=l>>24&255}return c}function tj(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
g.write=function(a,b,c){if(this.te)return!1;if(b<a.length){if(c!=tj(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.oc?f<a.Fc?(a.oc+=a.Fc-f,a.Fc=f):f>=a.Fc+a.oc&&(a.oc+=f-(a.Fc+a.oc)+1):(a.Fc=f,a.oc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Zc&&qj(this,a,!0)}return!0}return null};
g.save=function(){var a=0,b=[];b[a++]=[this.De,this.dg];if(!this.Zc&&!this.te)for(var c=this.gb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var l=c[d][e][f];if(l.oc){for(var k=[],m=0,n=l.Fc,q=l.Fc+l.oc;n<q;)k[m++]=l.data[n++];b[a++]=[d,e,f,l.Fc,k]}}return b};
g.save=function(){var a=0,b=[];b[a++]=[this.De,this.dg];if(!this.Zc&&!this.te)for(var c=this.gb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var l=c[d][e][f];if(l&&l.oc){for(var k=[],m=0,n=l.Fc,q=l.Fc+l.oc;n<q;)k[m++]=l.data[n++];b[a++]=[d,e,f,l.Fc,k]}}return b};
g.restore=function(a){var b=0,c="unsupported restore format";if(this.gb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.dg&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.dg+")",b=-1);for(;d<a.length&&0<=b;){var f=0,l=a[d++],k=l[f++],m=l[f++],n=l[f++];if(k>=this.gb.length||m>=this.gb[k].length||n>=this.gb[k][m].length){c="sector "+k+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.te){c="unable to modify write-protected disk";b=-1;break}e=
l[f++];f=l[f++];l=e+f.length;k=this.gb[k][m][n];for(m=k.data.length;m<e;)k.data[m++]=k.pattern;m=0;k.Fc=e;for(k.oc=f.length;e<l;)k.data[e++]=f[m++];b++}}0>b&&this.xa("unable to restore disk '"+this.fd+": "+c);return b};
l[f++];f=l[f++];l=e+f.length;if(k=this.gb[k][m][n]){for(m=k.data.length;m<e;)k.data[m++]=k.pattern;m=0;k.Fc=e;for(k.oc=f.length;e<l;)k.data[e++]=f[m++];b++}}}0>b&&this.xa("unable to restore disk '"+this.fd+": "+c);return b};
function uj(a){w.call(this,"FDC",a,uj);this.dmaRead=this.nh;this.dmaWrite=this.oh;this.dmaFormat=this.gl;this.de=null;if(a.autoMount&&(this.de=a.autoMount,"string"==typeof this.de))try{this.de=eval("("+a.autoMount+")")}catch(b){u("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.de=null}this.ec=[]}z(w,uj);h={};ca={};
var vj={3:{Uc:3,qd:0,name:ca.io},4:{Uc:2,qd:1,name:ca.fo},5:{Uc:9,qd:7,name:ca.ro},6:{Uc:9,qd:7,name:ca.$n},7:{Uc:2,qd:0,name:ca.bo},8:{Uc:1,qd:2,name:ca.ho},10:{Uc:2,qd:7,name:ca.ao},13:{Uc:6,qd:7,name:ca.Un},15:{Uc:3,qd:0,name:ca.eo}};g=uj.prototype;
g.vb=function(a,b,c,d){switch(c){case "listDisks":return this.oa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.oa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){u("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d='<a href="'+m+'" target="_blank">'+d+"</a>");c.innerHTML=