=d&&(A=d,q=!0);break;case "p":0<=
d&&3>=d&&(F=d);break;case "w":d=b.nb&&(f-=b.nb);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-A);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.B,Qm(b,"CRTC",b.Ac,b.rb,b.jg),5<=b.kb&&(Qm(b," GRC",b.Zd,b.Yd,b.Ug),Qm(b," SEQ",b.$d,b.He,b.Vg),Qm(b," ATC",b.Ld,b.Sc,b.Tg),Qm(b," ATCINDX",
-b.Ld),b.ha.O(" ATCDATA: "+b.Ve),Qm(b," FEAT",b.dg),Qm(b," MISC",b.sf),Qm(b," STATUS0",b.Lg)),Qm(b," STATUS1",b.ma),1!=b.kb&&3!=b.kb||Qm(b," MODEREG",b.fd),3==b.kb&&Qm(b," COLOR",b.qf),5<=b.kb&&(b.ha.O(" LATCHES: 0x"+r(b.Fb)),b.ha.O(" ACCESS: "+u(b.vg)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.C=Eb(a,"Keyboard"))&&this.pa){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.nf?(this.pa.style.width=a,this.pa.style.width=a,this.pa.style.display="block",this.pa.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.Ue();a=!0}this.Tc()}return a};
-function sm(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.C&&(a.C.bh=b)}m.ze=function(a){var b=!1;this.da&&(a?this.da.ze&&(this.da.ze(),this.V&&this.V.Vf(!0),b=!0):this.da.qk&&(this.da.qk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.C&&(this.C.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.tk)};
-function Zm(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){$m(a,b,!0)},!1),c.addEventListener("touchmove",function(b){$m(a,b)},!0),c.addEventListener("touchend",function(b){$m(a,b,!1)},!1),a.je=b,a.nc=a.Cc=a.gg=-1,a.Gd=!1,a.gd=null,a.Fd=!1,a.pn=function(){a.Fd=!0;a.V.ge(an,!0)})}m.Fg=function(a){this.C&&this.C.Fg(a)};
+function sm(a,b){!b&&a.ga&&(a.nf?a.pa.style.width=a.pa.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.C&&(a.C.bh=b)}m.Ae=function(a){var b=!1;this.da&&(a?this.da.Ae&&(this.da.Ae(),this.V&&this.V.Vf(!0),b=!0):this.da.qk&&(this.da.qk(),this.V&&this.V.Vf(!1),b=!0),this.Tc());return b};m.Vf=function(a){this.V&&(this.V.Vf(a),this.C&&(this.C.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.tk)};
+function Zm(a,b){var c=a.da;c&&!a.je&&(c.addEventListener("touchstart",function(b){$m(a,b,!0)},!1),c.addEventListener("touchmove",function(b){$m(a,b)},!0),c.addEventListener("touchend",function(b){$m(a,b,!1)},!1),a.je=b,a.nc=a.Cc=a.gg=-1,a.Gd=!1,a.Xc=null,a.Fd=!1,a.pn=function(){a.Fd=!0;a.V.ge(an,!0)})}m.Fg=function(a){this.C&&this.C.Fg(a)};
function $m(a,b,c){var d,e,f=0,g=0;e=a.pa;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ua/a.pa.offsetWidth,k=a.Ea/a.pa.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.je)d=d/(a.ua/3)|0,e=e/(a.Ea/3)|0,1!=e?e?gm(a.C,1040,!0):gm(a.C,1038,!0):1!=d&&(d?gm(a.C,1039,!0):gm(a.C,1037,!0));else if(a.V){g=a.Gd;f=b.timeStamp-a.gg;!0===c?(a.Gd=500f){a.V.ge(an,!0);a.V.ge(an,!1);return}}if(c||0>a.nc||0>a.Cc)a.nc=d,a.Cc=e;c=Math.round(d-a.nc);b=Math.round(e-a.Cc);a.nc=d;a.Cc=e;a.V.Hf(c,b,a.nc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};
-m.reset=function(){var a=!0,b=0;this.N&&(b=Mk(this.N));this.ja||(this.kb=3==b?1:3);this.wa=3;switch(this.kb){case Ol:b=7;break;case 5:var c=vm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.B=null;this.ra=this.qd=new Em(this,1);this.Y=this.Wc=new Em(this,3);5>this.kb?this.A=new Em:(this.A=new Em(this,this.kb,null,this.Cd),bn(this));cn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;dn(this,this.wa);if(this.B.nb&&a){a=this.B.nb+this.Ub;
+a.Xc=setTimeout(a.pn,500)):null!=a.Xc&&(clearTimeout(a.Xc),a.Xc=null);void 0===c&&(a.Gd=!1);g||b.preventDefault();if(!1===c){a.Fd?(a.V.ge(an,!1),a.Fd=!1,b=!0):b=!1;if(b)return;if(200>f){a.V.ge(an,!0);a.V.ge(an,!1);return}}if(c||0>a.nc||0>a.Cc)a.nc=d,a.Cc=e;c=Math.round(d-a.nc);b=Math.round(e-a.Cc);a.nc=d;a.Cc=e;a.V.Hf(c,b,a.nc,a.Cc)}}m.jc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.ic=function(a){return a?this.save():!0};
+m.reset=function(){var a=!0,b=0;this.N&&(b=Mk(this.N));this.ja||(this.kb=3==b?1:3);this.wa=3;switch(this.kb){case Ol:b=7;break;case 5:var c=vm[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.za!==b&&(this.za=b,a=!0);this.B=null;this.ra=this.qd=new Em(this,1);this.Y=this.Wc=new Em(this,3);5>this.kb?this.A=new Em:(this.A=new Em(this,this.kb,null,this.Cd),bn(this));cn(this);this.Ia=null;this.bb=this.ka=-1;this.Pa=0;dn(this,this.wa);if(this.B.nb&&a){a=this.B.nb+this.Rb;
for(b=this.B.nb;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}Yc(this,!0)}};function bn(a){a.A.sf&1?(a.ra=a.qd,a.Y=a.A):(a.ra=a.A,a.Y=a.Wc)}m.save=function(){var a=new jf(this);N(a,0,Pm(this.qd));N(a,1,Pm(this.Wc));N(a,2,[this.za,this.wa,this.Ia]);N(a,3,Pm(this.A));return a.data()};
m.restore=function(a){var b=a[2];this.za=b[0];this.wa=b[1];this.Ia=b[2];this.B=null;this.ra=this.qd=new Em(this,1,a[0]);this.Y=this.Wc=new Em(this,3,a[1]);this.A=new Em(this,this.kb,a[3],this.Cd);this.A.Gc&&bn(this);cn(this);if(!en(this))return!1;fn(this);return!0};
-function tm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.re,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)Nl(a,f,[6144,0]);else if(2048==f.length)Nl(a,f,[0]);else{a.Oa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Oa("Font ROM data error: "+g.message);return}(a.ia||a.ha)&&sb(a)}}
+function tm(a,b,c,d){if(d)a.Oa("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.se,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)Nl(a,f,[6144,0]);else if(2048==f.length)Nl(a,f,[0]);else{a.Oa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Oa("Font ROM data error: "+g.message);return}(a.ia||a.ha)&&sb(a)}}
function gn(a,b){if(1==b)return a.Ba[0]=ym[0],a.Ba[1]=ym[7],a.Ba;if(2==b){var c=a.B.qf;if(a.B===a.A){var d=a.A.Sc[0],c=d&7;d&16&&(c|=8);18!=a.A.Sc[1]&&(c|=32)}a.Ba[0]=ym[c&15];c=c&32?Am:zm;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ba[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Sc[15]?c.Sc:Bm;for(f=0;16>f;f++)g=e[f]&63,l?(g|=
-(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function Nl(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d}
-function cn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=gn(a);null!=a.Jb[0]&&hn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(hn(a,1,a.Jb[1],d,e,14,a.Uc,wm,xm)&&(c=!0),a.Tb&&hn(a,a.kb,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function hn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(jn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&jn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
+(c.Sc[20]&12)<<4,c.Sc[16]&128&&(g&=-49,g|=(c.Sc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ba[f]=[h,k,g,255]}a.pb=!0}return a.Ba}function Nl(a,b,c,d){a.Uc=b;a.Jb=c;a.Ub=d}
+function cn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Ub?a.Ub:8,f=gn(a);null!=a.Jb[0]&&hn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Ub?0:2048;e=a.Ub?a.Ub:9;null!=a.Jb[1]&&(hn(a,1,a.Jb[1],d,e,14,a.Uc,wm,xm)&&(c=!0),a.Ub&&hn(a,a.kb,a.Jb[1],0,a.Ub,14,a.Uc,f)&&(c=!0))}return c}function hn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(jn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.Pg&&jn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
function jn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Na[b],p=16>h.length?h.length:16;q||(q={Pc:e<V||!H?V:8,va=ga.createImageData(l.Pc,l.Qc),Ga=0;256>Ga;Ga++){for(Aa=
0;Aa=V-2,Oc=R[Aa>(8<=Wa&&192<=Ga&&223>=Ga?7:Wa)?A:$a;kn(va,Ee,Sd,Fe);v&&kn(va,Ee+1,Sd,Fe)}ga.putImageData(va,(Ga&15)*l.Pc,(Ga>>4)*l.Qc)}l.Me[F]="#"+r(A[0],2)+r(A[1],2)+r(A[2],2);l.ti[F]=A;l.Sg[F]=ma;l=!0}}a.Na[b]=q;return l}function ln(a){0a.bb&&(a.bb=0):a.bb=-1}
-function fn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.B.rb[b])return;var c=a.B.rb[10],b=c&31,d=a.B.rb[11]&31,e=a.B.rb[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mn(a);else{c=a.B.rb[15]+((a.B.rb[14]&63)<<8);a.ka!=c&&(mn(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ye!=d)a.hg=b,a.ye=d;a.Ya=e+1;ln(a)}}}
+function fn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.B.rb[b])return;var c=a.B.rb[10],b=c&31,d=a.B.rb[11]&31,e=a.B.rb[9]&31,f=!1;a.B===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mn(a);else{c=a.B.rb[15]+((a.B.rb[14]&63)<<8);a.ka!=c&&(mn(a),a.ka=c);d=d-b+1;if(a.hg!=b||a.ze!=d)a.hg=b,a.ze=d;a.Ya=e+1;ln(a)}}}
function mn(a){if(0<=a.ka){if(void 0!==a.fa){var b=a.fa[a.ka];if(b&131072){var b=b&-131073,c=a.ka%a.L,d=a.ka/a.L|0;a.U&&a.Na[a.U]&&(a.fb&&nn(a,c,d,b,a.fb),nn(a,c,d,b));a.fa[a.ka]=b}}a.ka=-1}}
-function on(a){var b,c=a.B;a.Be=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.cd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==Ol&&(e=3,c.cd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Be=!0));b|=e}return b}
+function on(a){var b,c=a.B;a.Ce=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.dd=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.kb==Ol&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.He[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Ce=!0));b|=e}return b}
function Kn(a,b){var c=a.B;return c&&null!=b&&b!=c.vg?(c.Mg(b),a.ea.Mg(c.nb,c.bc,c.gh(),!0),!0):!1}
function en(a,b){var c,d=a.Ia,e=a.B;if(e)if(1==e.kb)d=7;else if(5<=e.kb){var d=null,f=e.Cd>>2,g=32768=e.rb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=on(a)}}else e.fd&8&&(e.fd&2?(d=e.fd&16?6:5,e.fd&4||--d):(d=e.fd&1?3:1,e.fd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!dn(a,d,b))return!1;Kn(a,c);return!0}
-function dn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.B||(7==b?a.ra:a.Y);if(b!=a.B||b.nb!=a.nb||b.bc!=a.bc){mn(a);if(a.nb){if(!Zb(a.ea,a.nb,a.bc))return!1;a.B&&(a.B.Gc=!1)}a.B=b;b.Gc=!0;a.nb=b.nb;a.bc=b.bc;if(!Tb(a.ea,b.nb,b.bc,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.ie;a.Db=a.L;a.hd=qm[7][2];b=0;if(c=qm[a.Ia])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.B!==a.A||3!=a.U||(7==a.A.rb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.hd|0;a.Ub=a.of;a.sd=0;
-void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.sd=a.Ub+b>>1);if(a.Na.length){a.Ja=a.ua/a.L|0;a.Ka=a.Ea/a.W|0;if(a.U){b=a.Na[a.U];if(!b)break a;c=a.Na[a.U<<1];a.ri&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc));a.Vb=a.mc=0;b&&(a.Vb=a.L*b.Pc,a.mc=a.W*b.Qc)}else a.Ja=a.Ka=1,a.Vb=a.L,a.mc=a.W;a.vb=a.ia.createImageData(a.Vb,a.mc);a.eb=document.createElement("canvas");a.eb.width=a.Vb;a.eb.height=a.mc;a.fb=a.eb.getContext("2d");a.ke=a.le=0;a.td=a.ua;a.Ed=a.Ea;b=a.ua-
+64?d=k&31?143>=e.rb[18]?19:20:21:k&128||350>g?d=f?13:14:480<=g&&(d=3==a.za?17:18):d=f?7-d:6:d-=f?2:0);c=on(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!dn(a,d,b))return!1;Kn(a,c);return!0}
+function dn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Ng=0;a.Ia=b;a.pb=!1;b=a.B||(7==b?a.ra:a.Y);if(b!=a.B||b.nb!=a.nb||b.bc!=a.bc){mn(a);if(a.nb){if(!Zb(a.ea,a.nb,a.bc))return!1;a.B&&(a.B.Gc=!1)}a.B=b;b.Gc=!0;a.nb=b.nb;a.bc=b.bc;if(!Tb(a.ea,b.nb,b.bc,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.jd;a.W=a.ie;a.Db=a.L;a.hd=qm[7][2];b=0;if(c=qm[a.Ia])a.L=c[0],a.W=c[1],a.hd=c[2],b=c[3],a.U=c[4],4!=a.za&&7!=a.za||a.B!==a.A||3!=a.U||(7==a.A.rb[9]?a.W=43:a.U=a.kb);a.Yf=a.L*a.W|0;a.of=a.Yf/a.hd|0;a.Rb=a.of;a.sd=0;
+void 0!==b&&(a.Rb=(a.Rb<<1)+b|0,a.sd=a.Rb+b>>1);if(a.Na.length){a.Ja=a.ua/a.L|0;a.Ka=a.Ea/a.W|0;if(a.U){b=a.Na[a.U];if(!b)break a;c=a.Na[a.U<<1];a.ri&&80==a.L?c&&a.Ja>=3*c.Pc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Pc&&(a.U<<=1,b=c),b&&(a.Ja=b.Pc,a.Ka=b.Qc));a.Vb=a.cc=0;b&&(a.Vb=a.L*b.Pc,a.cc=a.W*b.Qc)}else a.Ja=a.Ka=1,a.Vb=a.L,a.cc=a.W;a.vb=a.ia.createImageData(a.Vb,a.cc);a.eb=document.createElement("canvas");a.eb.width=a.Vb;a.eb.height=a.cc;a.fb=a.eb.getContext("2d");a.ke=a.le=0;a.td=a.ua;a.Ed=a.Ea;b=a.ua-
a.L*a.Ja;c=a.Ea-a.W*a.Ka;0>1,a.td-=b);0>1,a.Ed-=c);if(b||c)a.ia.fillStyle=a.pa.style.backgroundColor,a.ia.fillRect(0,0,a.ua,a.Ea)}}Ln(a,!0);Yc(a)}return!0}function kn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mn(a){a.Pa=-1;a.Fa=!1;var b=a.of;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function Ln(a,b){b||(a.pb=!1);Mn(a)}
-function nn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ia.fillStyle=h.Me[k],a.ia.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ia.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ye,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Me[d],
+function nn(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Na[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Pc,c*=h.Qc,e.fillStyle=h.Me[k],e.fillRect(b,c,h.Pc,h.Qc)):(b=b*a.Ja+a.ke,c=c*a.Ka+a.le,a.ia.fillStyle=h.Me[k],a.ia.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Pc,f=(f>>4)*h.Qc,e?e.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,h.Pc,h.Qc):a.ia.drawImage(h.Sg[d],k,f,h.Pc,h.Qc,b,c,a.Ja,a.Ka));g&512&&(f=a.hg,g=a.ze,e?(a.Ya&&a.Ya!==h.Qc&&(f=f*h.Qc/a.Ya|0,g=g*h.Qc/a.Ya|0),e.fillStyle=h.Me[d],
e.fillRect(b,c+f,h.Pc,g)):(a.Ya&&a.Ya!==a.Ka&&(f=f*a.Ka/a.Ya|0,g=g*a.Ka/a.Ya|0),a.ia.fillStyle=h.Me[d],a.ia.fillRect(b,c+f,a.Ja,g)))}
-function Yc(a,b){if(a.la.cc){var c=!1,d=a.B;d&&(d!==a.A?d.fd&8&&(c=!0):d.Ld&32&&(c=!0));if(c||b){if(b)Mn(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Ng&15)&&0<=a.bb&&(a.bb++,e=!0);var f=0,g=a.Yf,h=a.nb,c=h,k=c+a.bc;19<=a.Ia&&(h=c=655360,k=c+65536);if(Nn(a,d)&8||d.mf&&d.mf=a.Ia&&(l<<=1));c+l>k&&(l=k-c,0>
-l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Pa=0;d=1048575;l=a.B.fd&32;5<=a.kb&&(l=a.B.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c>8|(p&255)<<8;var H=h,L=16;n>=d))>>(L-=d);kn(a.vb,n++,q,l[R])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;Aa.L?a.Db-a.L-p>>3:0;c>=8;l>A&&(A=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);q=a.Ia&&(l<<=1));c+l>k&&(l=k-c,0>
+l&&(l=0));k=c+l;if(d=!b&&a.Fa){for(var d=a.ea,n=!0,q=c>>>d.La;0a.ka)return;f=a.ka;g=f+1}}if(a.U){if(a.Na[a.U]){e=0;h=a.Pa=0;d=1048575;l=a.B.gd&32;5<=a.kb&&(l=a.B.Sc[16]&8);l&&(h=32768,d&=~h,a.bb&2||(d&=-65537));for(c+=f<<1;c>8|(p&255)<<8;var H=h,L=16;n>=d))>>(L-=d);kn(a.vb,n++,q,l[R])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;f++;if(n>=a.L){n=0;q+=2;if(q>a.W)break;q==a.W&&(q=1,k=c+a.sd)}}a.Fa=!0;Aa.L?a.Db-a.L-p>>3:0;c>=8;l>A&&(A=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.W)break;c+=H}}p||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(p<<=v,L-=v,a.Fa=!1):(a.Fa&&p===a.fa[f]?(d+=L,L=0):a.fa[f]=p,f++);if(L){dq&&(q=d);l=F&&(F=l+1)}if(d>=a.L){d=0;if(++l>a.W)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.fm&&(c|=1);d%b.th>b.hm&&(c|=9);b.ei=d/b.th|0;return c}m.Bl=function(a,b){return On(this,this.ra,a,b)};m.Vm=function(a,b,c){var d=this.ra;d.Ig=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Al=function(a,b){return Pn(this,this.ra,a,b)};m.Um=function(a,b,c){Qn(this,this.ra,a,b,c)};m.Cl=function(a,b){return Rn(this,this.ra,b)};m.Wm=function(a,b,c){a=this.ra;x(this,a.port+4,b,c,"MODE");a.fd=b;en(this,!1)};
+function Nn(a,b){var c=0,d=Wc(a.F)-b.vh;0>d&&(b.vh=d,d=-d|0);d%b.qh>b.fm&&(c|=1);d%b.th>b.hm&&(c|=9);b.ei=d/b.th|0;return c}m.Bl=function(a,b){return On(this,this.ra,a,b)};m.Vm=function(a,b,c){var d=this.ra;d.Ig=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Al=function(a,b){return Pn(this,this.ra,a,b)};m.Um=function(a,b,c){Qn(this,this.ra,a,b,c)};m.Cl=function(a,b){return Rn(this,this.ra,b)};m.Wm=function(a,b,c){a=this.ra;x(this,a.port+4,b,c,"MODE");a.gd=b;en(this,!1)};
m.Dl=function(a,b){return Sn(this,this.ra,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.al=function(a,b){var c=this.A.Ld;b&&!z(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Bk=function(a,b){var c=this.A.Sc[this.A.Ld&31];b&&!z(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Ld&31],c);return c};
m.dk=function(a,b,c){var d=this.A,e=d.Ld&32;if(d.Ve){d.Ve=!1;var f=d.Ld&31;if(16<=f||!e)c&&!z(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Sc[f]=b,Ln(this,!1)}else d.Ld=b,x(this,a,b,c,"ATC.INDX"),d.Ve=!0,b&32&&!e&&cn(this,!0)&&Yc(this,!0),d.Xf=(d.rb[12]<<8)+d.rb[13]|0,d.mf=0};m.Ol=function(a,b){var c=0;if(5==this.kb)c=3-((this.A.sf&12)>>2),c=(this.Vc&1<Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());c.appendChild(e);var f=document.createElement("textarea");Ha("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}});
function Tn(a){this.V=a.adapter;switch(this.V){case 1:this.L=956;this.C=7;break;case 2:this.L=888;this.C=7;break;case 3:this.L=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.V);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,Tn,4194304);a=a.binding;"console"==a?this.B="":lb(this,a,Un)}db(Tn);var Un="buffer";m=Tn.prototype;m.Qb=function(a,b,c){switch(b){case Un:return this.qa[b]=this.A=c,!0}return!1};
-m.Hc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,Vn,this.L);lc(b,this,Wn,this.L);sb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){Xn(this)};m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.da;c[b++]=this.Zb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return Xn(this,a[0])};
+m.Hc=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,Vn,this.L);lc(b,this,Wn,this.L);sb(this)};m.jc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.ic=function(a){return a?this.save():!0};m.reset=function(){Xn(this)};m.save=function(){var a=new jf(this),b=0,c=[];c[b++]=this.da;c[b++]=this.Zb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return Xn(this,a[0])};
function Xn(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.da=b[c++];a.Zb=b[c++];a.Bf=b[c];return!0}m.pl=function(a,b){var c=this.da;x(this,a,null,b,"DATA",c);return c};m.Nl=function(a,b){var c=this.Zb;x(this,a,null,b,"STAT",c);return c};m.ll=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c};
m.Hm=function(a,b,c){x(this,a,b,c,"DATA");this.da=b;this.Zb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Zb&=-65);Yn(this)};m.Cm=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;Yn(this)};function Yn(a){a.N&&a.C&&(a.Bf&16&&!(a.Zb&64)?fg(a.N,a.C):eg(a.N,a.C))}
var Vn={0:Tn.prototype.pl,1:Tn.prototype.Nl,2:Tn.prototype.ll},Wn={0:Tn.prototype.Hm,2:Tn.prototype.Cm};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.wl=function(a,b){var c=this.da;x(this,a,null,b,"IIR",c);return c};
m.xl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.zl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.yl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.El=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c};
@@ -549,41 +549,41 @@ m.fn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.Y=t
"";10!=b&&(this.U+=String.fromCharCode(b));b=!0}else b=!1;b&&(this.A|=96)}};m.Rm=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.Y=this.Y&255|b<<8:this.ia=b};m.Sm=function(a,b,c){x(this,a,b,c,"LCR");this.B=b};
m.Tm=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.V&&(d^b)&3&&(a=this.V,b=this.C,(c=3==(b&3))?a.Gc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(ao(a.N,[77,77]),y(a,"serial mouse ID sent")),go(a),a.Gc=c):a.Gc&&(y(a,"serial mouse inactive"),ho(a),a.Gc=c),a.C=b)};
var bo={0:Zn.prototype.Kl,1:Zn.prototype.vl,2:Zn.prototype.wl,3:Zn.prototype.xl,4:Zn.prototype.zl,5:Zn.prototype.yl,6:Zn.prototype.El},co={0:Zn.prototype.fn,1:Zn.prototype.Rm,3:Zn.prototype.Sm,4:Zn.prototype.Tm};Qa(function(){for(var a=nb(document,"pcjs","serial"),b=0;ba.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}}
+function lo(a,b,c){if(void 0!==c){var d;!(d=!1!==a.ga)&&(d=a.B.length)&&(d=a.B[0],d=d.Og?d.Ae(!0):!1);d||(a.ga=null);a.ge(b.button,c)}else{if(0>a.L||0>a.V)a.L=b.clientX,a.V=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.V);a.L=b.clientX;a.V=b.clientY;a.Hf(c,d,a.L,a.V)}}
m.ge=function(a,b){if(this.Gc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case an:if(this.Y!=b){this.Y=b;mo(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;mo(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Gc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.W=b,mo(this,null,c,d))};
function mo(a,b,c,d){var e=64|(a.Y?32:0)|(a.fa?16:0)|(a.W&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.W&63;z(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);ao(a.N,[e,f,g]);a.U=a.W=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Fo(a.ya,f,e,c);for(e=d=0;c--;)d|=Do(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.se){var h=e.se[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>9]);if(f){if(e+c<=f.length)return Fo(a.ya,f,e,c);for(e=d=0;c--;)d|=Do(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.te){var h=e.te[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ko(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ia(b,"/")&&
+e+=4)var R=L[V]=a.getInt32(e,!0),d=d+R&-1;H.Zc=b;v[E]=H}g.Y=d;b=g}else g.Oa("Unrecognized diskette format ("+c+" bytes)");g.W&&(g.W.call(g.controller,g.B,b,g.ea,g.V),g.W=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Ko(this,b),this.qg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ia(b,"/")&&
(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.$e?"":d)+"&format=json"));return!!wa(f,null,!0,function(a,b,c){Lo(g,a,b,c)})};
-function Lo(a,b,c,d){var e=null;a.cf=!1;var f=0>d&&a.da&&!a.da.la.cc;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,Mo(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.re,b,c);try{if(0g&&0d&&a.da&&!a.da.la.dc;if(a.qg)d?a.controller.Oa('Unable to connect to disk "'+a.V+'" (error '+d+": "+c+")",f):(a.N=!0,Mo(a),e=a);else if(d)a.controller.Oa('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.se,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.tb=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Ua=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var A=
l<<2,F=p.length;Fb;b++){if(128==Fo(a,e,c+0,1)){d.Zf=Fo(a,e,c+8,4);(e=Eo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Fo(a,e,19,2)||Fo(a,e,32,4),d.Ff=Fo(a,e,14,2),d.kh=d.Ff+Fo(a,e,22,2)*Fo(a,e,16,1),d.uh=Fo(a,e,17,2),d.xg=Fo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Ua-1))/d.Ua|0);d.em=(d.Gf-d.ih)/d.xg|0;d.zg=4084>=d.em?12:16;d.Rk=12==d.zg?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Do(d,f,1),254>=k?(n=k,q=Do(d,f+1),f+=3):(n=Do(d,f+3,1),q=Do(d,f+4),f+=6),d.yd[n]&&(d.yd[n].se[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Go(e,Ao,c))&&Ho(e,g+c);g=Go(e,Bo,c);h=Go(e,yo,c);g&&h&&Ho(e,g,g+h)}}}}
-function Po(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.uo=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.xg,E=0;E>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
-function Eo(a,b){var c=a.tb*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function Jo(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Sk=b;a.Tk=c;a.wd=a.Yc=0;a.Va=!1;return a}
+d.uh=112,f=!0;else for(c=446,b=0;4>b;b++){if(128==Fo(a,e,c+0,1)){d.Zf=Fo(a,e,c+8,4);(e=Eo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Fo(a,e,19,2)||Fo(a,e,32,4),d.Ff=Fo(a,e,14,2),d.kh=d.Ff+Fo(a,e,22,2)*Fo(a,e,16,1),d.uh=Fo(a,e,17,2),d.xg=Fo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Ua-1))/d.Ua|0);d.em=(d.Gf-d.ih)/d.xg|0;d.zg=4084>=d.em?12:16;d.Rk=12==d.zg?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Do(d,f,1),254>=k?(n=k,q=Do(d,f+1),f+=3):(n=Do(d,f+3,1),q=Do(d,f+4),f+=6),d.yd[n]&&(d.yd[n].te[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=Go(e,Ao,c))&&Ho(e,g+c);g=Go(e,Bo,c);h=Go(e,yo,c);g&&h&&Ho(e,g,g+h)}}}}
+function Po(a,b,c,d,e){var f,g=a.C.length,h=b.Ua/32|0;b.uo=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.xg,E=0;E>3,1),d?e=16==b.zg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e}
+function Eo(a,b){var c=a.tb*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function Jo(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Sk=b;a.Tk=c;a.wd=a.Zc=0;a.Va=!1;return a}
function Ko(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;c+="&machine="+a.controller.df();c+="&user="+a.controller.he();return xa()+"/api/v1/disk?"+c}
function Ro(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.V;h+="&chs="+a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.df());h+="&user="+a.controller.he();wa(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],A=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,A,F,!0);if(!E)break;No(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)}
-function So(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.V;h.chs=a.Bb+":"+a.tb+":"+a.lb+":"+a.Ua;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.df();h.user=a.controller.he();h.data=JSON.stringify(f);wa(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],A=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c};
-m.write=function(a,b,c){if(this.cf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Yc?f=a.wd+a.Yc&&(a.Yc+=f-(a.wd+a.Yc)+1):(a.wd=f,a.Yc=1);d[f]=d[f]&~(255<>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+
-b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):Mo(this);return b};
+b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Oa("Unable to restore disk '"+this.ea+": "+c):Mo(this);return b};
m.toJSON=function(){var a;a=0;for(var b;b=Eo(this,a++);)Wo(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function Wo(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function Xo(a){Ua.call(this,"FDC",a,Xo,524288);this.dmaRead=this.vk;this.dmaWrite=this.wk;this.dmaFormat=this.Kk;this.U=a.autoMount||null;this.B=[];this.ga=!Ha("Mobi")&&window&&"FileReader"in window}db(Xo);aa={};
var Yo={3:{Rd:3,fe:0,name:aa.Tn},4:{Rd:2,fe:1,name:aa.Rn},5:{Rd:9,fe:7,name:aa.ao},6:{Rd:9,fe:7,name:aa.Mn},7:{Rd:2,fe:0,name:aa.On},8:{Rd:1,fe:2,name:aa.Sn},10:{Rd:2,fe:7,name:aa.Nn},13:{Rd:6,fe:7,name:aa.zn},15:{Rd:3,fe:0,name:aa.Qn}};m=Xo.prototype;
@@ -591,35 +591,35 @@ m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.qa[b]=c,c
case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&$o(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ga){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;if(a&&a.options&&d.A)if(a=ca(a.value,10),a=d.A[a])if(a.ya){for(var b=a.ya,c="",h=0,k;k=Eo(b,h++);)for(var l=0,n=k.length;lg.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Rb,g.jb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
-m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Rb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1};
+9;break;case 1200:g.Bb=80;g.lb=15;break;case 1440:g.Bb=80,g.lb=18}}var k=a,l=d,n=f[d],q=0;h=!0;g.gb=l;g.bd=g.Ye=!1;void 0===n&&(n=[192,!0,0,2,0]);"boolean"==typeof n[1]&&(n[1]=["Floppy Drive",g.Bb||40,g.tb||n[3],g.lb||9,g.Ua||512,n[1],g.yg,g.Nf,g.Of]);g.Cb=n[q++];var p=n[q++];g.name=p[0];g.Bb=p[1];g.tb=p[2];g.lb=p[3];g.Ua=p[4];g.$e=p[5];(g.yg=p[6])?(g.Nf=p[7],g.Of=p[8]):(g.yg=g.Bb,g.Nf=g.tb,g.Of=g.lb);g.jb=n[q++];g.de=n[q++];g.Sb=n[q++];g.de=100<=g.de?g.de-100:g.de-g.Sb;g.xb=n[q++];g.ee=n[q++];g.Hb=
+n[q++];g.cb=n[q++];g.ob=null;g.ya||(g.Je="");p=n[q++];102==p&&(p=!1);if("boolean"==typeof p){var A=p,p=n[q++],n=n[q];A?(q=p,p=k.A[l],fp(k,l,!0,!0),p.Ye=!0,l=new no(k,p,"preload"),k.Hi(p,l,q,n,!0)):hp(k,l,p,n,!0)?g.ya&&n&&ip(k,p,n,g.ya):sb(k,!1)}else void 0!==p&&g.ya&&0>g.ya.restore(p)&&(h=!1);h&&g.ya&&void 0!==g.cb&&(g.ob=g.ya.seek(g.Sb,g.jb,g.xb));h||(e=!1)}a.W=b[c++]||0;a.lc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
+m.jk=function(a,b,c){if(a.ya){var d=a.ya.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Sb=Math.floor(b/f),b%=f,a.jb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1};
function ep(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;ga.Bb||f[1]>a.tb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.ik=c,a.Je=d,ip(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.we||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.we&&(a.we=!1,--this.fa||sb(this));Zo(this,a.gb)};
+e,!1,!0)}}else fp(a,e);else a.Oa("Unable to load the selected drive")}function hp(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Je!=d){fp(a,b,e,!0);if(g.bd)return a.Oa("Drive "+b+" busy"),!0;g.bd=!0;e&&(g.xe=!0,a.fa++,z(a)&&y(a,"loading diskette '"+c+"'"));g.Ye=!!f;if(!(new no(a,g,"preload")).load(c,d,f,a.Hi))return!1}return!0}
+m.Hi=function(a,b,c,d,e){var f;a.bd=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.tb)&&(this.Oa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.gb)),b=null);b?(a.ya=b,a.ik=c,a.Je=d,ip(this,c,d,b),f=b.info(),this.W|=128,this.Oa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.gb),a.xe||e),a.yg=f[0],a.Nf=f[1],a.Of=f[2]):a.Ye=!1;a.xe&&(a.xe=!1,--this.fa||sb(this));Zo(this,a.gb)};
function dp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d=this.C&&(this.ma&=-81,this.L=this.C=0);return c};
-m.Jm=function(a,b,c){z(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=Yo[a].Rd){b=!1;this.L=0;a=jp(this);var d,e,f,g,h=a&31;switch(h){case 3:jp(this);jp(this);kp(this);break;case 4:c=jp(this);this.gb=c&3;d=this.A[this.gb];kp(this);lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Rb=jp(this);e=jp(this);f=d.xb=jp(this);g=jp(this);d.Hb=128<>2&1;this.gb=c&3;d=
-this.A[this.gb];c=d.Rb;e=d.jb=b;f=d.xb=1;g=0;d.Cb=0;d.ya&&(d.ob=d.ya.seek(d.Rb,d.jb,d.xb))?g=d.ob.length>>8:d.Cb=72;mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Rb;e=d.jb=b;f=1;g=jp(this);d.Hb=128<>2&1,c=jp(this),d.Rb+=c-d.de,0>d.Rb&&(d.Rb=0),d.Rb>=d.Bb&&(d.Rb=d.Bb-1),d.de=c,d.Cb=32,d.Rb||(d.Cb|=268435456),kp(this),b=!0}0>>8);lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Rb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));lp(a,e+k);lp(a,f);lp(a,g);lp(a,h)}function jp(a){var b=a.V[a.L];a.L++;return b}function kp(a){a.L=a.C=0}function lp(a,b){a.V[a.C++]=b}
-m.vk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Rb,a.jb,a.xb);if(!a.ob){a.Cb=1088;break}a.cb=0;np(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.wk=function(a,b){return void 0!==b&&0<=b?op(a,b):-1};
-m.Kk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.ld[a.Te++]=c;if(a.Te==a.ld.length){a.Rb=a.ld[0];a.jb=a.ld[1];a.xb=a.ld[2];a.Hb=128<op(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function op(a,b){if(a.Cb||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Rb,a.jb,a.xb);if(!a.ob){a.Cb=8256;b=-1;break}a.cb=0;np(a)}while(1);return b}
-function np(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Rb++))}var bp={1012:Xo.prototype.sl,1013:Xo.prototype.ql,1015:Xo.prototype.rl},cp={1010:Xo.prototype.Km,1013:Xo.prototype.Jm,1015:Xo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;b=Yo[a].Rd){b=!1;this.L=0;a=jp(this);var d,e,f,g,h=a&31;switch(h){case 3:jp(this);jp(this);kp(this);break;case 4:c=jp(this);this.gb=c&3;d=this.A[this.gb];kp(this);lp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];d.jb=b;c=d.Sb=jp(this);e=jp(this);f=d.xb=jp(this);g=jp(this);d.Hb=128<>2&1;this.gb=c&3;d=
+this.A[this.gb];c=d.Sb;e=d.jb=b;f=d.xb=1;g=0;d.Cb=0;d.ya&&(d.ob=d.ya.seek(d.Sb,d.jb,d.xb))?g=d.ob.length>>8:d.Cb=72;mp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=jp(this);b=c>>2&1;this.gb=c&3;d=this.A[this.gb];c=d.Sb;e=d.jb=b;f=1;g=jp(this);d.Hb=128<>2&1,c=jp(this),d.Sb+=c-d.de,0>d.Sb&&(d.Sb=0),d.Sb>=d.Bb&&(d.Sb=d.Bb-1),d.de=c,d.Cb=32,d.Sb||(d.Cb|=268435456),kp(this),b=!0}0>>8);lp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Sb||f!=b.jb)k=g=1;c&128&&(f^=k,d||(k=0));lp(a,e+k);lp(a,f);lp(a,g);lp(a,h)}function jp(a){var b=a.V[a.L];a.L++;return b}function kp(a){a.L=a.C=0}function lp(a,b){a.V[a.C++]=b}
+m.vk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.ya){do{if(a.ob&&(e=a.cb,0<=(b=a.ya.read(a.ob,a.cb++)))){d=a.ob;break}a.ob=a.ya.seek(a.Sb,a.jb,a.xb);if(!a.ob){a.Cb=1088;break}a.cb=0;np(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.wk=function(a,b){return void 0!==b&&0<=b?op(a,b):-1};
+m.Kk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.ld[a.Te++]=c;if(a.Te==a.ld.length){a.Sb=a.ld[0];a.jb=a.ld[1];a.xb=a.ld[2];a.Hb=128<op(a,a.yi)){c=-1;break a}a.mg++}a.mg>=a.ee&&(c=-1)}else c=-1;return c};function op(a,b){if(a.Cb||!a.ya)return-1;do{if(a.ob&&a.ya.write(a.ob,a.cb++,b))break;a.ob=a.ya.seek(a.Sb,a.jb,a.xb);if(!a.ob){a.Cb=8256;b=-1;break}a.cb=0;np(a)}while(1);return b}
+function np(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.jb++,a.jb>=a.Nf&&(a.jb=0,a.Sb++))}var bp={1012:Xo.prototype.sl,1013:Xo.prototype.ql,1015:Xo.prototype.rl},cp={1010:Xo.prototype.Km,1013:Xo.prototype.Jm,1015:Xo.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;b