Demonstration of C1Pjs loading and running *without* a web server

file:///pcjs/configs/c1p/machines/8kb/large/debugger/demo.html (your root directory may vary)
This commit is contained in:
Jeff Parsons 2014-10-29 16:41:32 -07:00 • committed by jeffpar
commit f2e092e57c
10 changed files with 408 additions and 317 deletions

View file

@ -1,10 +1,10 @@
(function(){var k,aa,m;function ba(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}function ca(a){var b,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null===d&&(a=a.substr(0,a.length-1))}var e;ba(a,b)&&!isNaN(e=parseInt(a,b))&&(c=e)}return c}
function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return p(a,2)}function t(a){return p(a,4)}function da(a,b){return void 0!==b?t(b)+":"+t(a):p(a)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}
function p(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return p(a,2)}function u(a){return p(a,4)}function da(a,b){return void 0!==b?u(b)+":"+u(a):p(a)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}
function fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ga={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}function ia(a,b){var c="",d;for(d in a)d=d.replace(/([\\[\]*{}().+?])/g,"\\$1"),c+=(c?"|":"")+d;return b.replace(new RegExp("("+c+")","g"),function(b){return a[b]})}function ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function ma(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}function na(a,b,c){c=ma(a,b,c);0>c&&a.splice(-(c+1),0,b)}function oa(){return Date.now()||+new Date}function pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
var qa=[31,28,31,30,31,30,31,31,30,31,30,31],ra;
function sa(a,b,c,d,e,f){b=!!b;var g=0,h=null,l=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(h=n.responseText,200!=n.status&&(g=n.status||-1),e&&(d?e.call(d,l,h,g,f):e(l,h,g,f)))});if(c){var q="",u;for(u in c)c.hasOwnProperty(u)&&(q&&(q+="&"),q+=u+"="+encodeURIComponent(c[u]));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||(h=n.responseText,200!=n.status&&(g=n.status||-1),e&&(d?e.call(d,l,h,g,f):e(l,h,g,f)),a=[g,h]);return a}function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window?window.alert(a):console.log(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}
function sa(a,b,c,d,e,f){b=!!b;var g=0,h=null,l=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(h=n.responseText,200==n.status||!n.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=n.status||-1),e&&(d?e.call(d,l,h,g,f):e(l,h,g,f)))});if(c){var q="",t;for(t in c)c.hasOwnProperty(t)&&(q&&(q+="&"),q+=t+"="+encodeURIComponent(c[t]));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||(h=n.responseText,200!=n.status&&(g=n.status||-1),e&&(d?e.call(d,l,h,g,f):e(l,h,g,f)),a=[g,h]);return a}function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window?window.alert(a):console.log(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}
function va(){if(void 0===ra){var a;try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"===window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ra=a}return ra}function wa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function xa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function ya(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}function za(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Aa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ba={init:[],show:[],exit:[]},Ca=!1,Da=!0;function Ea(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Fa(a){Ba.init.push(a)}
@ -24,12 +24,12 @@ ab.prototype.Pi=function(){this.Ba=Array(this.eh);for(var a=0;a<this.eh;a++){var
function eb(a,b,c,d,e){if(!(b&a.gb||!c||c&a.gb)){for(var f=b>>a.rb;0<c&&f<a.Ba.length;){var g=a.Ba[f];if(void 0!==g&&g.size)return fb(1,b,c);b=f*a.ic;g=a.Ba[f++]=new cb(b,a.ic,d,e);bb(g,a.T,a.Y,b,a.ic);c-=a.ic}return!0}return fb(2,b,c)}function db(a,b){if(void 0!==b&&20<a.gg){var c=a.Ib&-1048577|(b?1048576:0);c!=a.Ib&&(a.Ib=c,a.T&&(a.T.Ib=c))}}
ab.prototype.Wh=function(a,b,c){if(!(a&this.gb||!b||b&this.gb)){for(var d=a>>this.rb;0<b;){var e=this.Ba[d];if(!e.ga)return fb(5,a,b);e.Se(c);b-=this.ic;d++}return!0}return fb(3,a,b)};function hb(a,b,c){if(!(b&a.gb||!c||c&a.gb)){for(var d=b>>a.rb;0<c;)b=d*a.ic,bb(a.Ba[d++]=new cb(b),a.T,a.Y,b,a.ic),c-=a.ic;return!0}return fb(4,b,c)}function ib(a,b){return a.Ba[(b&a.Ib)>>a.rb].zg(b&a.gb)}
function jb(a,b){var c=b&a.gb,d=(b&a.Ib)>>a.rb;return c!=a.gb?a.Ba[d].Sj(c):a.Ba[d++].zg(c)|a.Ba[d&a.Be].zg(0)<<8}function kb(a,b,c){a.Ba[(b&a.Ib)>>a.rb].Hg(b&a.gb,c&255)}function lb(a,b,c){var d=b&a.gb;b=(b&a.Ib)>>a.rb;d!=a.gb?a.Ba[b].ak(d,c&65535):(a.Ba[b++].Hg(d,c&255),a.Ba[b&a.Be].Hg(0,c>>8&255))}
function mb(a){for(var b=0,c=[],d=0;d<a.eh;d++){var e=a.Ba[d];if(e.lb||e.Bk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,l=0,n=[];h<e.length;){for(var q=e[h],u=h+1;u<e.length&&e[u]===q;)u++;n[l++]=u-h;n[l++]=q;h=u}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.xe==a.Ib;return c}function nb(a,b){if(void 0===b)return a.cg=!a.cg,a.cg;void 0===a.rd[b]&&(a.rd[b]=[null,null,!1]);a.rd[b][2]=!a.rd[b][2];return a.rd[b][2]}
function ob(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.rd[n]?w("Input port "+t(n)+" registered by "+f.rd[n][0].id+", ignoring "+h.id):f.rd[n]=[h,l,!1,!1]}}function pb(a,b,c){var d=255,e=a.rd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.Y&&a.cg!=e[2]&&qb(a.Y,b,d)):a.Y&&(a.Y.ca(a,b,null,c),a.cg&&qb(a.Y,b,d));return d}
function rb(a,b){if(void 0===b)return a.dg=!a.dg,a.dg;void 0===a.sd[b]&&(a.sd[b]=[null,null,!1]);a.sd[b][2]=!a.sd[b][2];return a.sd[b][2]}function sb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.sd[n]?w("Output port "+t(n)+" registered by "+f.sd[n][0].id+", ignoring "+h.id):f.sd[n]=[h,l,!1,!1]}}
function mb(a){for(var b=0,c=[],d=0;d<a.eh;d++){var e=a.Ba[d];if(e.lb||e.Bk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,l=0,n=[];h<e.length;){for(var q=e[h],t=h+1;t<e.length&&e[t]===q;)t++;n[l++]=t-h;n[l++]=q;h=t}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.xe==a.Ib;return c}function nb(a,b){if(void 0===b)return a.cg=!a.cg,a.cg;void 0===a.rd[b]&&(a.rd[b]=[null,null,!1]);a.rd[b][2]=!a.rd[b][2];return a.rd[b][2]}
function ob(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.rd[n]?w("Input port "+u(n)+" registered by "+f.rd[n][0].id+", ignoring "+h.id):f.rd[n]=[h,l,!1,!1]}}function pb(a,b,c){var d=255,e=a.rd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.Y&&a.cg!=e[2]&&qb(a.Y,b,d)):a.Y&&(a.Y.ca(a,b,null,c),a.cg&&qb(a.Y,b,d));return d}
function rb(a,b){if(void 0===b)return a.dg=!a.dg,a.dg;void 0===a.sd[b]&&(a.sd[b]=[null,null,!1]);a.sd[b][2]=!a.sd[b][2];return a.sd[b][2]}function sb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.sd[n]?w("Output port "+u(n)+" registered by "+f.sd[n][0].id+", ignoring "+h.id):f.sd[n]=[h,l,!1,!1]}}
function tb(a,b,c,d){var e=a.sd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.Y&&a.dg!=e[2]&&ub(a.Y,b,c)):a.Y&&(a.Y.ca(a,b,c,d),a.dg&&ub(a.Y,b,c))}function fb(a,b,c){w("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function cb(a,b,c,d){this.Fm=b||0;this.sa=null;this.offset=0;this.sh=c;this.ga=null;this.lb=this.Bk=!1;if(b)if(d)this.ga=d,a=[d.ed,a-d.Ta],this.sa=a[0],this.offset=a[1],this.Se(d.Nf);else{this.sa=Array(b>>2);for(d=0;d<this.sa.length;d++)this.sa[d]=0;this.Se(vb)}else this.Se()}
cb.prototype={Qh:function(a){D(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to read invalid block %"+p(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa));return 0},Bf:function(a,b){D(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to write 0x"+t(b)+" to invalid block %"+p(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa))},pp:function(a){return this.sa[a>>2]>>>((a&3)<<3)&255},rp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.sa[b]>>>a;return 24>a?c&65535:c&255|(this.sa[b+1]&255)<<8},zp:function(a,b){var c=a>>
cb.prototype={Qh:function(a){D(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to read invalid block %"+p(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa));return 0},Bf:function(a,b){D(this.Y,this.Y.Lg)&&!a&&this.Y.message("attempt to write 0x"+u(b)+" to invalid block %"+p(this.Yd)+" from "+da(this.T.ra,this.T.wa.pa))},pp:function(a){return this.sa[a>>2]>>>((a&3)<<3)&255},rp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.sa[b]>>>a;return 24>a?c&65535:c&255|(this.sa[b+1]&255)<<8},zp:function(a,b){var c=a>>
2,d=(a&3)<<3;this.sa[c]=this.sa[c]&~(255<<d)|b<<d;this.lb=!0},Bp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.sa[c]=this.sa[c]&~(65535<<d)|b<<d:(this.sa[c]=this.sa[c]&16777215|b<<24,c++,this.sa[c]=this.sa[c]&4294967040|b>>8);this.lb=!0},op:function(a){xb(this.Y,this.Yd+a);return this.zg(a)},qp:function(a){xb(this.Y,this.Yd+a)||xb(this.Y,this.Yd+a+1);return this.Sj(a)},yp:function(a,b){yb(this.Y,this.Yd+a);this.Hg(a,b)},Ap:function(a,b){yb(this.Y,this.Yd+a)||yb(this.Y,this.Yd+a+1);this.ak(a,b)},save:function(){return this.ga?
null:this.sa},restore:function(a){return this.ga?null==a:a&&this.Fm==a.length<<2?(this.sa=a,this.lb=!0):!1},Se:function(a,b){a||(a=[]);void 0===b&&(b=!0);zb(this,a,b);Ab(this,a,b)},Xd:function(a,b){b?0===this.uk++&&Ab(this,Bb):0===this.tk++&&zb(this,Bb)}};function Cb(a,b){b?0===--a.uk&&(a.Cc=a.sh?a.Bf:a.Hg,a.lm=a.sh?a.Bf:a.ak):0===--a.tk&&(a.tc=a.zg,a.Zl=a.Sj)}function bb(a,b,c,d,e){a.T=b;a.Y=c;a.Yd=d;a.tk=a.uk=0;a.Y&&Db(a.Y,d,e)}
function Ab(a,b,c){a.Cc=b[2]&&!a.sh?b[2]:a.Bf;a.lm=b[3]&&!a.sh?b[3]:a.Bf;c&&(a.Hg=b[2]?b[2]:a.Bf,a.ak=b[3]?b[3]:a.Bf)}function zb(a,b,c){a.tc=b[0]?b[0]:a.Qh;a.Zl=b[1]?b[1]:a.Qh;c&&(a.zg=b[0]?b[0]:a.Qh,a.Sj=b[1]?b[1]:a.Qh)}var vb=[cb.prototype.pp,cb.prototype.rp,cb.prototype.zp,cb.prototype.Bp],Bb=[cb.prototype.op,cb.prototype.qp,cb.prototype.yp,cb.prototype.Ap];
@ -97,7 +97,7 @@ function Be(a,b){if(0>this.ja)return M.call(this),a;Zc(this,this.Ia(this.ja+2));
function Ee(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,od(this),a;jd(this);return a}function Fe(a,b){this.A-=14+(0>this.ja?0:2);if(0<=this.Ob.load(b,!0)&&this.Ob.Lc>=(this.wa.pa&3)&&this.Ob.Lc>=(b&3))return od(this),this.Ob.cb&65280;jd(this);return a}function Ge(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&0<=this.Ob.load(b,!0)&&(3072==(this.Ob.cb&3072)||this.Ob.Lc>=(this.wa.pa&3))&&this.Ob.Lc>=(b&3))return od(this),this.Ob.Mc;jd(this);return a}
function He(a,b){if(0>this.ja){switch(this.Zg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Jj}else this.Ka=this.ja,this.R(a),this.A-=this.B.Ij;return b}
function Ie(a,b){if(0>this.ja){switch(this.Zg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Z=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Jj}else this.Ka=this.ja,this.S(a),this.A-=this.B.Ij;return b}function td(a,b,c){Xc(this,a)&&(K(this,Jc(this)),this.ya&=this.Ic.Ch,K(this,this.wa.pa),K(this,this.ra),null!=b&&K(this,b),Gc(this,this.Ic.Nj,this.Ic.pa),this.A-=this.B.ql+c)}
function oe(){I(this,this.Nh-this.wa.Xa);td.call(this,0,null,2)}function dc(a,b){this.Y&&D(this.Y,this.Y.sm)&&this.Y.message("Fault 0x"+r(a)+(null!=b?" (0x"+t(b)+")":"")+" on opcode 0x"+r(ib(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));80186<=this.Ga&&(I(this,this.Nh-this.wa.Xa),td.call(this,a,b,0))}function ic(){dc.call(this,6);this.Ab()}function M(){I(this,this.Nh-this.wa.Xa);Ya(this,"Undefined opcode 0x"+r(ib(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));this.Ab()}
function oe(){I(this,this.Nh-this.wa.Xa);td.call(this,0,null,2)}function dc(a,b){this.Y&&D(this.Y,this.Y.sm)&&this.Y.message("Fault 0x"+r(a)+(null!=b?" (0x"+u(b)+")":"")+" on opcode 0x"+r(ib(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));80186<=this.Ga&&(I(this,this.Nh-this.wa.Xa),td.call(this,a,b,0))}function ic(){dc.call(this,6);this.Ab()}function M(){I(this,this.Nh-this.wa.Xa);Ya(this,"Undefined opcode 0x"+r(ib(this.oa,this.Ca))+" at "+da(this.ra,this.wa.pa));this.Ab()}
function Je(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function Ke(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function Le(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function Me(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function Ne(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function Oe(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}
function Pe(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function Qe(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function Re(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Se(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Te(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function Ue(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}
function Ve(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function We(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function Xe(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Ye(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Ze(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function $e(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}
@ -429,7 +429,7 @@ function O(a){x.call(this,"ChipSet",a,O);this.Ga=a.model;this.Ga=void 0!==this.G
this.vp=a.rtcDate;this.Fk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ri=new webkitAudioContext);this.reset(!0);this.Sa()}y(x,O);var Jh=5150,Oh=5170,Ph={none:0,tv:1,color:2,mono:3,ega:0},Nh={$h:1,ONE:0,Zp:64,Xp:128,Hp:192,Ff:192,Hf:6},Lh=12,Mh={Yp:16,Cp:32,Am:48,Ff:48,Hf:4};k=O.prototype;
k.xb=function(a,b,c,d){switch(c){case "sw1":return this.ta[c]=d,Qh(this,c,d,this.$b,{0:this.Ga==Jh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==Jh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==Jh)return this.ta[c]=d,Qh(this,c,d,this.se,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ta[c]=d,!0}return!1};
k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;this.Ea=a;this.fb=C(a,"Keyboard");this.Ul=Math.round(c.Hd/1193181);ob(b,this,Rh);sb(b,this,Sh);this.Ga<Oh?(ob(b,this,Th),sb(b,this,Uh)):(ob(b,this,Vh),sb(b,this,Wh));if(d){var e=this;Xh(d,O);Yh(d,O.Ye,function(){for(var a=0;a<e.tb.length;a++){for(var b=e.tb[a],c="PIC"+a+":",d=0;d<b.pd.length;d++)c+=" IC"+(d+1)+"="+r(b.pd[d]);c+=" IMR="+r(b.vd)+" IRR="+r(b.Jb)+" ISR="+r(b.Ec);e.Y.message(c)}});Yh(d,O.Ze,function(){for(var a=0;a<e.Hb.length;a++){Zh(e,
a);var b=e.Hb[a],c="TIMER"+a+":",d=0;if(void 0!==b.gd)for(var n=0;n<=b.gd;n++)d|=b.bc[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.gd+" COUNT="+t(d);e.Y.message(c)}});Yh(d,O.Gf,function(){for(var a="",b=0;64>b;b++){var c=13>=b?$h(e,b):e.qa[b];a&&(a+="\n");a+="CMOS[0x"+r(b)+"]: 0x"+r(c)}e.Y.message(a)})}Kc(c,26,this,this.Yn)};k.Zb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
a);var b=e.Hb[a],c="TIMER"+a+":",d=0;if(void 0!==b.gd)for(var n=0;n<=b.gd;n++)d|=b.bc[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.gd+" COUNT="+u(d);e.Y.message(c)}});Yh(d,O.Gf,function(){for(var a="",b=0;64>b;b++){var c=13>=b?$h(e,b):e.qa[b];a&&(a+="\n");a+="CMOS[0x"+r(b)+"]: 0x"+r(c)}e.Y.message(a)})}Kc(c,26,this,this.Yn)};k.Zb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.cd=this.$b;this.Ue=this.se;ai(this);this.bb=Array(this.Tf);for(b=0;b<this.Tf;b++)bi(this,b);this.tb=Array(this.Uf);ci(this,0,32);1<this.Uf&&ci(this,1,160);this.oi=void 0;this.Hb=Array(3);for(b=0;b<this.Hb.length;b++)di(this,b);this.Sf=this.mi=this.Ac=this.ah=void 0;this.$g=0;if(this.Ga>=Oh){this.jb=16;this.ud=0;this.Zd=16;this.Wg=0;this.ye=160;512<=ei(this)&&(this.ye|=16);3==fi(this)&&(this.ye|=64);this.ki=3;this.Qf=0;this.Sg=Array(7);this.ze=0;a&&(this.qa=Array(64));
gi(this,this.vp);for(a=21;24>=a;a++)this.qa[a]=0;for(a=14;46>a;a++)void 0===this.qa[a]&&(this.qa[a]=0);this.qa[20]=this.cd&(Mh.Ff|2|Nh.$h|Nh.Ff);this.qa[16]=hi(this,0)<<4|hi(this,1);ii(this)}};
function gi(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.da("CMOS date invalid ("+b+"), using "+c)):b&&a.da("CMOS date: "+c);a.qa[0]=c.getSeconds();a.qa[1]=0;a.qa[2]=c.getMinutes();a.qa[3]=0;a.qa[4]=c.getHours();a.qa[5]=0;a.qa[6]=c.getDay()+1;a.qa[7]=c.getDate();a.qa[8]=c.getMonth()+1;c=c.getFullYear();a.qa[9]=c%100;c/=100;a.qa[50]=c%10|c/10<<4;a.ig=-1;a.qa[10]=38;a.qa[11]=2;a.qa[12]=0;a.qa[13]=128}
@ -464,7 +464,7 @@ k.vo=function(a,b,c){this.ca(a,b,c,"8042_RWREG",O.We);Oi(this,b)};k.bn=function(
k.to=function(a,b,c){this.ca(a,b,c,"8042_INBUFF.CMD",O.We);this.ud=b;this.jb|=8;a=0;240<=this.ud&&(a=this.ud^15,this.ud=240);switch(this.ud){case 192:Qi(this,this.ye);break;case 173:Ri(this,this.Zd|16);break;case 174:Ri(this,this.Zd&-17);break;case 170:this.fb&&Ui(this.fb,!0);Ri(this,this.Zd|16);Qi(this,85);Si(this,3);break;case 224:Qi(this,this.Zd&16?0:1);break;case 240:a&1&&Fc(this.T)}};function Ri(a,b){a.Zd=b;a.jb=a.jb&-5|b&4;a.fb&&Pi(a.fb,!!(b&8),!(b&16))&&Qi(a,Ni(a.fb,!0))}
function Qi(a,b){0<=b&&(a.Wg=b,a.jb&=-2,a.jb|=256)}function Si(a,b){a.ki=b;db(a.oa,!!(b&2));b&1||Fc(a.T)}k.qn=function(a,b){this.ca(a,null,b,"CMOS_ADDR",O.Gf,this.ze);return this.ze};k.Jo=function(a,b,c){this.ca(a,b,c,"CMOS_ADDR",O.Gf);this.ze=b;this.$g=b&128?0:128};k.rn=function(a,b){var c=this.ze&63,d=13>=c?$h(this,c):this.qa[c];this.ca(a,null,b,"CMOS_DATA["+r(c)+"]",O.Gf,d);return d};
k.Ko=function(a,b,c){var d=this.ze&63;this.ca(a,b,c,"CMOS_DATA["+r(d)+"]",O.Gf);a=this.qa;13>=d&&10>d&&(c=!1,this.qa[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12<b&&(b+=48),this.qa[11]&2||(12>=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.In=function(a,b){this.ca(a,null,b,"MFG_DATA",O.uc,this.Qf);return this.Qf};k.Yo=function(a,b,c){this.ca(a,b,c,"MFG_DATA",O.uc);this.Qf=b};k.$o=function(a,b,c){this.ca(a,b,c,"NMI",O.uc);this.$g=b};
k.Yn=function(a){var b=this.T.H>>8;this.Y&&D(this.Y,O.ym)&&(Mc(this.Y,26,a),Nc(this.T,a,function(a,d){return function(e){d=F(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+t(h)+" CL(min)="+r(g)+" DH(sec)="+r(n);else if(4==b||5==b)f=" CX(year)="+t(a.T.J)+" DH(month)="+r(n)+" DL(day)="+r(l);Oc(a.Y,26,e,d,f)}}(this,F(this.T))));return!0};function Kh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
k.Yn=function(a){var b=this.T.H>>8;this.Y&&D(this.Y,O.ym)&&(Mc(this.Y,26,a),Nc(this.T,a,function(a,d){return function(e){d=F(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+r(g)+" DH(sec)="+r(n);else if(4==b||5==b)f=" CX(year)="+u(a.T.J)+" DH(month)="+r(n)+" DL(day)="+r(l);Oc(a.Y,26,e,d,f)}}(this,F(this.T))));return!0};function Kh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function Rb(a,b){if(a.ri){void 0!==b?a.Fk=b:b=a.Fk&&a.T&&a.T.Nb;var c=Math.round(1193181/Mi(a,2));if(20>c||2E4<c)b=!1;b?a.od?(a.od.frequency.value=c,a.Qa("speaker set to "+c+"hz",O.Mg)):(a.od=a.ri.createOscillator(),a.od.type=1,a.od.connect(a.ri.destination),a.od.frequency.value=c,a.Qa("speaker on at "+c+"hz",O.Mg),a.od.noteOn(0)):a.od&&(a.od.noteOff(0),a.od.disconnect(),delete a.od,a.Qa("speaker off at "+c+"hz",O.Mg))}else b&&a.Qa("BEEP",O.Mg)}
k.Qa=function(a,b,c){this.Y&&(null==b&&(b=O.uc),void 0!==c&&(b|=0==c?O.Ze:1==c?O.dk:6==c?O.Kg:0),D(this.Y,b)&&this.Y.message(a))};k.ca=function(a,b,c,d,e,f){this.Y&&(null==e&&(e=O.uc),this.Y.ca(this,a,b,c,d,e,f))};
var Rh={0:function(a,b){return ni(this,0,0,a,b)},1:function(a,b){return pi(this,0,0,a,b)},2:function(a,b){return ni(this,0,1,a,b)},3:function(a,b){return pi(this,0,1,a,b)},4:function(a,b){return ni(this,0,2,a,b)},5:function(a,b){return pi(this,0,2,a,b)},6:function(a,b){return ni(this,0,3,a,b)},7:function(a,b){return pi(this,0,3,a,b)},8:function(a,b){return ri(this,0,a,b)},32:function(a,b){return Ci(this,0,b)},33:function(a,b){return Fi(this,0,b)},64:function(a,b){return Ji(this,0,b)},65:function(a,
@ -518,8 +518,8 @@ U[40960]=function(a,b){var c=a+this.offset,d=vj[b&15],d=d|this.ga.vb,d=d&this.ga
function Hj(a){var b=[];if(void 0!==a.je){b[0]=a.nc;b[1]=a.Bc;b[2]=a.ef;b[3]=a.zf;b[4]=a.pc|a.yh<<8;b[5]=a.fc;if(5==a.je){var c=[];c[0]=a.hd;c[1]=a.Bd;c[2]=a.Sd;c[3]=a.Zh;c[4]=a.fg;c[5]=a.wh;c[6]=a.Dd;c[7]=a.Jf;c[8]=a.Li;c[9]=a.Mi;c[10]=a.Cd;c[11]=a.ve;c[12]=a.vb;c[13]=[a.Ta,a.Pb,a.Vc];var d;a:if(d=a.ed){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var l=d[h],n=h+2;n<d.length&&d[n]===l;)n+=2;f[e++]=n-h>>1;f[e++]=l;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Fh;c[16]=a.Kj;c[17]=a.hb;c[18]=a.md;c[19]=a.nb;c[20]=a.Lh;c[21]=a.oe;c[22]=a.Me;c[23]=a.Ti;c[24]=a.Ui;b[6]=c}b[7]=a.aj}return b}function Ij(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var l=e[g],f=f+(b+"["+r(g)+"]: "+(l+" ".substr(0,h-l.length))+r(d[g])+(g===c?"*":""))}a.Y.message(f)}else a.Y.message(b+": "+r(c))}
wj.prototype.Wh=function(a){if(null!=a&&a!=this.Fh){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.Nf||(this.Nf=[null,Fj,null,Gj]);this.Nf[0]=c;this.Nf[2]=d;this.Fh=a}};var xj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Q.prototype;
k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;ob(b,this,Jj);sb(b,this,Kj);"ega"==this.Ga&&(ob(b,this,Lj),sb(b,this,Mj));if(d){var e=this;Xh(d,Q);Kc(this.T,16,this,this.Zn);Yh(d,Q.Ng,function(a){if(e.Da)if(a){var b=e.Da;if(b.ed){a=ca(a);a=void 0!==a?a-b.Ta:b.np||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.Ta+a)+":",q=0;8>q&&a<b.ed.length;q++)var u=b.ed[a++],n=n+(" "+p(u));c&&(c+="\n");c+=n}c&&b.Y.message(c);b.np=a}else b.Y.message("no buffer")}else{e.Y.message("BIOSMODE: "+r(e.Jd));b=
e.Da;Ij(b,"CRTC",b.pc,b.fc,b.Vg);if(1==b.je||3==b.je)Ij(b," MODEREG",b.Bc),Ij(b," STATUS1",b.zf);3==b.je&&Ij(b," COLOR",b.ef);5==b.je&&(b.Y.message(" ATCDATA: "+b.hd),Ij(b," ATC",b.Bd,b.Sd,b.hi),Ij(b," GRC",b.Cd,b.ve,b.ii),Ij(b," SEQ",b.Dd,b.Jf,b.ji),Ij(b," FEAT",b.wh),Ij(b," MISC",b.fg),Ij(b," STATUS0",b.Zh),Ij(b," LATCHES",b.vb),b.Y.message(" ACCESS: "+t(b.Fh)),b.Y.message("Use 'dump video buffer' to dump video memory"))}else e.Y.message("no active video card")})}(this.fb=C(a,"Keyboard"))&&
k.qc=function(a,b,c,d){this.oa=b;this.T=c;this.Y=d;ob(b,this,Jj);sb(b,this,Kj);"ega"==this.Ga&&(ob(b,this,Lj),sb(b,this,Mj));if(d){var e=this;Xh(d,Q);Kc(this.T,16,this,this.Zn);Yh(d,Q.Ng,function(a){if(e.Da)if(a){var b=e.Da;if(b.ed){a=ca(a);a=void 0!==a?a-b.Ta:b.np||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.Ta+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.Y.message(c);b.np=a}else b.Y.message("no buffer")}else{e.Y.message("BIOSMODE: "+r(e.Jd));b=
e.Da;Ij(b,"CRTC",b.pc,b.fc,b.Vg);if(1==b.je||3==b.je)Ij(b," MODEREG",b.Bc),Ij(b," STATUS1",b.zf);3==b.je&&Ij(b," COLOR",b.ef);5==b.je&&(b.Y.message(" ATCDATA: "+b.hd),Ij(b," ATC",b.Bd,b.Sd,b.hi),Ij(b," GRC",b.Cd,b.ve,b.ii),Ij(b," SEQ",b.Dd,b.Jf,b.ji),Ij(b," FEAT",b.wh),Ij(b," MISC",b.fg),Ij(b," STATUS0",b.Zh),Ij(b," LATCHES",b.vb),b.Y.message(" ACCESS: "+u(b.Fh)),b.Y.message("Use 'dump video buffer' to dump video memory"))}else e.Y.message("no active video card")})}(this.fb=C(a,"Keyboard"))&&
this.Kb&&this.fb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Kb);this.Xg=9;(this.ma=C(a,"ChipSet"))&&this.fm&&(this.Xg=Kh(this.fm,this.Xg));this.fb&&this.Sm&&Nj(this)};k.Zn=function(a){this.Y&&D(this.Y,Q.Ng|Q.Xe)&&(Mc(this.Y,16,a),Nc(this.T,a,function(a,c){return function(d){Oc(a.Y,16,d,F(a.T)-c)}}(this,F(this.T))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.ta[c]=d,d.onclick=function(){Fb(e,!0)},!0}return!1};k.Od=function(){this.Kb&&this.Kb.focus()};
function Nj(a){var b=a.Kb;b&&!a.Bi&&(b.addEventListener("touchstart",function(b){Oj(a,b)},!1),b.addEventListener("touchmove",function(b){Oj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Bi=!0)}
function Oj(a,b){a.Ei&&b.preventDefault();var c=0,d=0,e=a.Kb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.xd/a.Kb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.xd/3)|0;d=a.he/a.Kb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.he/3)|0;1!=d?d?ij(a.fb,264,!0):ij(a.fb,262,!0):1!=c&&(c?ij(a.fb,263,!0):ij(a.fb,261,!0))}k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
@ -530,8 +530,8 @@ k.restore=function(a){var b=a[2];this.le=b[0];this.nd=b[1];this.Jd=b[2];this.Da=
k.po=function(a,b,c){if(c)this.Ha("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)cj(this,d,[0,6144]);else{this.Ha("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ha("Font ROM data error: "+e.message);return}this.Sa()}};
function Uj(a,b){if(1==b)return a.td[0]=S[0],a.td[1]=S[7],a.td;if(2==b){var c=a.Da.ef;if(a.Da===a.la){var d=a.la.Sd[0],c=d&7;d&16&&(c|=8);18!=a.la.Sd[1]&&(c|=32)}a.td[0]=S[c&15];c=c&32?tj:sj;for(d=0;d<c.length;d++)a.td[d+1]=S[c[d]];return a.td}if(a.zb===a.hh)return S;c=null!=a.la.Sd[15]?a.la.Sd:uj;for(d=0;d<a.td.length;d++){var e=c[d]||0;a.td[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.td}function cj(a,b,c,d){a.Tg=b;a.di=c;a.Ge=d}
function Qj(a){var b=!1;if(window&&a.Tg){var c=a.Ge?0:2048,d=a.Ge?a.Ge:9;Vj(a,1,a.di[0],c,d,14,a.Tg,qj,rj)&&(b=!0);c=Uj(a);d=a.Ge?a.Ge:8;Vj(a,3,a.di[1],0,d,8,a.Tg,c)&&(b=!0);a.Ge&&Vj(a,5,a.di[0],0,a.Ge,14,a.Tg,c)&&(b=!0)}return b}function Vj(a,b,c,d,e,f,g,h,l){var n=!1;Wj(a,b,c,d,e,f,g,h,l)&&(n=!0);a.Om&&Wj(a,b<<1,c,d,e,f,g,h,l)&&(n=!0);return n}
function Wj(a,b,c,d,e,f,g,h,l){var n=!1,q=b&1?0:1,u=a.Vd[b];u||(u={lc:e<<q,mc:f<<q,$e:Array(h.length),jk:h.slice(),If:l,bi:Array(h.length)});for(l=0;l<h.length;l++){var s=h[l],v=u.$e[l]?u.jk[l]:[];if(s[0]!==v[0]||s[1]!==v[1]||s[2]!==v[2]){var n=u,v=l,z=q,E=c,ka=d,la=e,wb=f,Uc=g,$d=[0,0,0,0],Vc=window.document.createElement("canvas");Vc.width=n.lc<<4;Vc.height=n.mc<<4;for(var Xi=Vc.getContext("2d"),Ha=void 0,Pb=void 0,gb=void 0,Wc=8>wb||!ka?wb:8,ae=Xi.createImageData(n.lc,n.mc),Ha=0;256>Ha;Ha++){for(gb=
0;gb<wb;gb++)for(var yl=n.If&&v&1&&gb>=wb-2,zl=Uc[gb<Wc?E+Ha*Wc+gb:ka+Ha*Wc+gb-Wc],be=0;be<=z;be++)for(Pb=0;Pb<la;Pb++){var Yi=Pb<<z,Zi=(gb<<z)+be,$i=yl||zl&128>>(8<=Pb&&176<=Ha&&223>=Ha?7:Pb)?s:$d;Xj(ae,Yi,Zi,$i);z&&Xj(ae,Yi+1,Zi,$i)}Xi.putImageData(ae,(Ha&15)*n.lc,(Ha>>4)*n.mc)}n.$e[v]="#"+r(s[0])+r(s[1])+r(s[2]);n.jk[v]=s;n.bi[v]=Vc;n=!0}}a.Vd[b]=u;return n}function Yj(a){0<a.De||0<=a.Kc?0>a.Ee&&(a.Ee=0):a.Ee=-1}
function Wj(a,b,c,d,e,f,g,h,l){var n=!1,q=b&1?0:1,t=a.Vd[b];t||(t={lc:e<<q,mc:f<<q,$e:Array(h.length),jk:h.slice(),If:l,bi:Array(h.length)});for(l=0;l<h.length;l++){var s=h[l],v=t.$e[l]?t.jk[l]:[];if(s[0]!==v[0]||s[1]!==v[1]||s[2]!==v[2]){var n=t,v=l,z=q,E=c,ka=d,la=e,wb=f,Uc=g,$d=[0,0,0,0],Vc=window.document.createElement("canvas");Vc.width=n.lc<<4;Vc.height=n.mc<<4;for(var Xi=Vc.getContext("2d"),Ha=void 0,Pb=void 0,gb=void 0,Wc=8>wb||!ka?wb:8,ae=Xi.createImageData(n.lc,n.mc),Ha=0;256>Ha;Ha++){for(gb=
0;gb<wb;gb++)for(var yl=n.If&&v&1&&gb>=wb-2,zl=Uc[gb<Wc?E+Ha*Wc+gb:ka+Ha*Wc+gb-Wc],be=0;be<=z;be++)for(Pb=0;Pb<la;Pb++){var Yi=Pb<<z,Zi=(gb<<z)+be,$i=yl||zl&128>>(8<=Pb&&176<=Ha&&223>=Ha?7:Pb)?s:$d;Xj(ae,Yi,Zi,$i);z&&Xj(ae,Yi+1,Zi,$i)}Xi.putImageData(ae,(Ha&15)*n.lc,(Ha>>4)*n.mc)}n.$e[v]="#"+r(s[0])+r(s[1])+r(s[2]);n.jk[v]=s;n.bi[v]=Vc;n=!0}}a.Vd[b]=t;return n}function Yj(a){0<a.De||0<=a.Kc?0>a.Ee&&(a.Ee=0):a.Ee=-1}
function Tj(a){if(a.Tb){for(var b=10;15>=b;b++)if(null==a.Da.fc[b])return;var c=a.Da.fc[10],b=c&31,d=a.Da.fc[11]&31,e=a.Da.fc[9]&31,f=!1;a.Da===a.la&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Zj(a);else{c=a.Da.fc[15]+((a.Da.fc[14]&63)<<8);a.Kc!=c&&(Zj(a),a.Kc=c);d=d-b+1;if(a.nm!=b||a.yk!=d)a.nm=b,a.yk=d;a.ge=e+1;Yj(a)}}}
function Zj(a){if(0<=a.Kc){if(void 0!==a.gc){var b=a.gc[a.Kc];if(b&131072){var b=b&-131073,c=a.Kc%a.Bb,d=Math.floor(a.Kc/a.Bb);a.Tb&&a.Vd[a.Tb]&&(a.ff&&ak(a,c,d,b,a.ff),ak(a,c,d,b));a.gc[a.Kc]=b}}a.Kc=-1}}
function bk(a){var b;a=a.Da;var c=a.ve[5];if(null!=c){b=2;var d=512,e=a.ve[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.md=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}k.Se=function(a){var b=this.Da;null!=a&&b&&a!=b.Fh&&(b.Wh(a),this.oa.Wh(b.Ta,b.Pb,b.Nf))};
@ -543,8 +543,8 @@ b=a.xd-a.Bb*a.yd,d=a.he-a.sc*a.zd,0<b&&(a.bk=b>>1,a.si-=b),0<d&&(a.ck=d>>1,a.ti-
function ak(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Vd[a.Tb];h.If&&(d=h.If[d]);var l=g>>4&15;h.If&&(l=h.If[l]);e?(b*=h.lc,c*=h.mc,e.fillStyle=h.$e[l],e.fillRect(b,c,h.lc,h.mc)):(b=b*a.yd+a.bk,c=c*a.zd+a.ck,a.Xc.fillStyle=h.$e[l],a.Xc.fillRect(b,c,a.yd,a.zd));g&256&&(l=(f&15)*h.lc,f=(f>>4)*h.mc,e?e.drawImage(h.bi[d],l,f,h.lc,h.mc,b,c,h.lc,h.mc):a.Xc.drawImage(h.bi[d],l,f,h.lc,h.mc,b,c,a.yd,a.zd));g&512&&(f=a.nm,g=a.yk,e?(a.ge&&a.ge!==h.mc&&(f=Math.floor(f*h.mc/a.ge),g=Math.floor(g*h.mc/a.ge)),
e.fillStyle=h.$e[d],e.fillRect(b,c+f,h.lc,g)):(a.ge&&a.ge!==a.zd&&(f=Math.floor(f*a.zd/a.ge),g=Math.floor(g*a.zd/a.ge)),a.Xc.fillStyle=h.$e[d],a.Xc.fillRect(b,c+f,a.yd,g)))}
function Fb(a,b){if(a.Mb){var c=!1;a.Da&&(a.Da===a.la?a.la.Bd&32&&(c=!0):a.Da.Bc&8&&(c=!0));if(c||b){if(b)ck(a,!0);else if(void 0===a.gc)return;var d=!1;!(b||++a.Em&15)&&0<=a.Ee&&(a.Ee++,d=!0);var e=0,f=a.Qk,c=a.Da.Ta,g=c+a.Da.Pb,h=(a.Da.fc[12]<<8)+a.Da.fc[13];a.Tb&&(h<<=1);var c=c+h,l=a.qi;c+l>g&&(l=g-c,0>l&&(l=0));g=c+l;if(h=!b){for(var h=a.oa,n=!0,q=c>>h.rb;0<l&&q<h.Ba.length;)h.Ba[q].lb&&(h.Ba[q].lb=n=!1,h.Ba[q].Bk=!0),l-=h.ic,q++;h=n}if(h){if(!d)return;if(!a.De){if(0>a.Kc)return;e=a.Kc;f=e+1}}if(a.Tb){if(a.Vd[a.Tb]){d=
0;h=a.De=0;l=1048575;a.Da.Bc&32&&(h=32768,l&=~h,a.Ee&2||(l&=-65537));for(c+=e<<1;c<g&&e<f;)n=jb(a.oa,c),n|=65536,n&h&&(a.De++,n&=l),e==a.Kc&&(n|=a.Ee&1?131072:0),q=a.gc[e],q!=n&&(ak(a,e%a.Bb,Math.floor(e/a.Bb),n,a.ff),a.gc[e]=n,d++),c+=2,e++;d&&a.ff&&a.Xc.drawImage(a.df,0,0,a.$f,a.ag,a.bk,a.ck,a.si,a.ti);Yj(a)}}else if(a.vk){for(var f=g,u,s,e=c,g=a.De=0,d=a.Si,h=16==d?65536:196608,l=16==d?1:2,n=Uj(a,l),v=q=0,z=a.Bb,E=0,ka=a.sc,la=0;e<f;){u=jb(a.oa,e);s=a.gc[g];if(s===u)q+=d;else{a.gc[g]=u;u=u>>8|
(u&255)<<8;s=h;var wb=16;q<z&&(z=q);for(var Uc=0;Uc<d;Uc++){var $d=(u&(s>>=l))>>(wb-=l);Xj(a.Bh,q++,v,n[$d])}q>E&&(E=q);v<ka&&(ka=v);v>=la&&(la=v+1)}e+=2;g++;if(q>=a.Bb){q=0;v+=2;if(v>a.sc)break;v==a.sc&&(v=1,e=c+a.vk)}}z<a.Bb&&(a.ff.putImageData(a.Bh,0,0,z,ka,E-z,la-ka),a.Xc.drawImage(a.df,0,0,a.Bb,a.sc,0,0,a.xd,a.he))}else{f=g;e=a.De=0;g=Uj(a);d=a.Da.ed;l=h=0;n=a.Bb;q=0;v=a.sc;for(z=0;c<f;){E=c++-a.Ta;E=d[E];ka=a.gc[e];if(ka===E)h+=8;else{a.gc[e]=E;h<n&&(n=h);for(ka=0;8>ka;ka++)la=E&2155905152,
0;h=a.De=0;l=1048575;a.Da.Bc&32&&(h=32768,l&=~h,a.Ee&2||(l&=-65537));for(c+=e<<1;c<g&&e<f;)n=jb(a.oa,c),n|=65536,n&h&&(a.De++,n&=l),e==a.Kc&&(n|=a.Ee&1?131072:0),q=a.gc[e],q!=n&&(ak(a,e%a.Bb,Math.floor(e/a.Bb),n,a.ff),a.gc[e]=n,d++),c+=2,e++;d&&a.ff&&a.Xc.drawImage(a.df,0,0,a.$f,a.ag,a.bk,a.ck,a.si,a.ti);Yj(a)}}else if(a.vk){for(var f=g,t,s,e=c,g=a.De=0,d=a.Si,h=16==d?65536:196608,l=16==d?1:2,n=Uj(a,l),v=q=0,z=a.Bb,E=0,ka=a.sc,la=0;e<f;){t=jb(a.oa,e);s=a.gc[g];if(s===t)q+=d;else{a.gc[g]=t;t=t>>8|
(t&255)<<8;s=h;var wb=16;q<z&&(z=q);for(var Uc=0;Uc<d;Uc++){var $d=(t&(s>>=l))>>(wb-=l);Xj(a.Bh,q++,v,n[$d])}q>E&&(E=q);v<ka&&(ka=v);v>=la&&(la=v+1)}e+=2;g++;if(q>=a.Bb){q=0;v+=2;if(v>a.sc)break;v==a.sc&&(v=1,e=c+a.vk)}}z<a.Bb&&(a.ff.putImageData(a.Bh,0,0,z,ka,E-z,la-ka),a.Xc.drawImage(a.df,0,0,a.Bb,a.sc,0,0,a.xd,a.he))}else{f=g;e=a.De=0;g=Uj(a);d=a.Da.ed;l=h=0;n=a.Bb;q=0;v=a.sc;for(z=0;c<f;){E=c++-a.Ta;E=d[E];ka=a.gc[e];if(ka===E)h+=8;else{a.gc[e]=E;h<n&&(n=h);for(ka=0;8>ka;ka++)la=E&2155905152,
0>la&&(la+=4294967296),la=T[la]||0,Xj(a.Bh,h++,l,g[la]),E<<=1;h>q&&(q=h);l<v&&(v=l);l>=z&&(z=l+1)}e++;if(h>=a.Bb&&(h=0,++l>a.sc))break}n<a.Bb&&(a.ff.putImageData(a.Bh,0,0,n,v,q-n,z-v),a.Xc.drawImage(a.df,0,0,a.Bb,a.sc,0,0,a.xd,a.he))}}}}k.Fn=function(a,b){return dk(this,this.Uc,b)};k.Wo=function(a,b,c){a=this.Uc;a.yh=a.pc;a.pc=b&31;this.ca(a.port,b,c,"CRTC.INDX")};k.En=function(a,b){return ek(this,this.Uc,b)};k.Vo=function(a,b,c){fk(this,this.Uc,b,c)};k.Gn=function(a,b){return gk(this,this.Uc,b)};
k.Xo=function(a,b,c){a=this.Uc;this.ca(a.port+4,b,c,"MODE");a.Bc=b;Sj(this,!1)};k.Hn=function(a,b){return hk(this,this.Uc,b)};k.Xl=function(a,b,c){this.la.wh=this.la.wh&-4|b&3;this.ca(a,b,c,"FEAT")};k.Mk=function(a,b){var c=this.la.hd?this.la.Sd[this.la.Bd&31]:this.la.Bd;this.ca(960,null,b,"ATC."+(this.la.hd?this.la.hi[this.la.Bd&31]:"INDX"),c);this.la.hd=!this.la.hd;return c};
k.Wl=function(a,b,c){var d=this.la.Bd&32;if(this.la.hd){var e=this.la.Bd&31;if(16<=e||!d)this.ca(a,b,c,"ATC."+this.la.hi[e]),this.la.Sd[e]=b;this.la.hd=!1}else this.la.Bd=b,this.ca(a,b,c,"ATC.INDX"),this.la.hd=!0,b&32&&!d&&Qj(this)&&Fb(this,!0)};k.Rn=function(a,b){var c=3-((this.la.fg&12)>>2),c=this.la.Zh&-17|(this.Xg&1<<c)<<4-c;this.la.Zh=c;this.ca(962,null,b,"STATUS0",c);return c};k.Zo=function(a,b,c){this.la.fg=b;Pj(this);this.ca(962,b,c,"MISC")};
@ -578,8 +578,8 @@ k.create=function(){this.pb=[];if("preload"!=this.mode){for(var a=Array(this.Sb)
k.load=function(a,b,c,d){var e=b;this.xh||(this.Ld=a,this.yf=b,this.xh=c,this.Gm=d||this.ga,0>b.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?e=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(a="action=open&volume="+b+("&mode="+this.mode),a+="&chs="+this.Sb+":"+this.Ub+":"+this.cc+":"+this.Lb,a+="&machine="+this.ga.mf(),a+="&user="+this.ga.ie(),e=ta()+"/api/v1/disk?"+a,this.rh=!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"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),e=ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.kf?"":d)+"&format=json")),sa(e,!0,null,this,this.Km,b))};
k.Km=function(a,b,c,d){var e=null;this.lf=!1;var f=0>c&&this.Ea&&!this.Ea.Mb;if(this.rh)c?this.ga.Ha('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ad=!0,e=this);else if(c)this.ga.Ha('Unable to load disk "'+this.Ld+'" (error '+c+")",f);else try{if(0<ea(a,!0).toLowerCase().indexOf("-readonly"))this.lf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.lf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.Ld]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{for(b=a=0;b<h.length;b++)for(c=0;c<h[b].length;c++)for(d=0;d<h[b][c].length;d++){var l=h[b][c][d];if(l){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var u=l.data;if(void 0===u){var s=l.bytes;if(void 0!==s&&s.length){for(var f=n<<2,v=s.length;v<f;v++)s[v]=q;this.fill(l,s,0)}else u=[],q=l.pattern=q|q<<8|
q<<16|q<<24,l.data=u;delete l.bytes}vk(l,b,c);for(f=0;f<u.length;f++)a=a+u[f]&4294967295}}this.pb=h;this.lh=a;e=this}else w("Empty disk image: "+this.Ld)}catch(z){w("Disk image error: "+z.message)}this.xh&&(this.xh.call(this.Gm,this.Pa,e,this.Ld,this.yf),this.xh=null)};function vk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wm=b;a.Ym=c;a.Zc=a.Gc=0;a.lb=!1;return a}
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{for(b=a=0;b<h.length;b++)for(c=0;c<h[b].length;c++)for(d=0;d<h[b][c].length;d++){var l=h[b][c][d];if(l){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var t=l.data;if(void 0===t){var s=l.bytes;if(void 0!==s&&s.length){for(var f=n<<2,v=s.length;v<f;v++)s[v]=q;this.fill(l,s,0)}else t=[],q=l.pattern=q|q<<8|
q<<16|q<<24,l.data=t;delete l.bytes}vk(l,b,c);for(f=0;f<t.length;f++)a=a+t[f]&4294967295}}this.pb=h;this.lh=a;e=this}else w("Empty disk image: "+this.Ld)}catch(z){w("Disk image error: "+z.message)}this.xh&&(this.xh.call(this.Gm,this.Pa,e,this.Ld,this.yf),this.xh=null)};function vk(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Wm=b;a.Ym=c;a.Zc=a.Gc=0;a.lb=!1;return a}
k.no=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var l=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,l);l+=n.length;g++}}(d=d[5])&&d(c,a)};function wk(a,b,c,d,e,f){if(a.Ad){var g;g="action=read&volume="+a.yf;g+="&chs="+a.Sb+":"+a.Ub+":"+a.cc+":"+a.Lb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.mf());g+="&user="+a.ga.ie();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.no,[b,c,d,e,!0,f])}else f&&f(-1,!1)}
function xk(a,b,c){b.lb=!0;var d=a.ue.indexOf(b);0<=d&&(a.ue.splice(d,1),a.Pg.splice(d,1));a.ue.push(b);a.Pg.push(oa());c&&yk(a)}function yk(a){if(a.ue.length){var b=a.Pg[0]+2E3;a.Qd&&a.Pk<b&&(clearTimeout(a.Qd),a.Qd=null);if(!a.Qd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Qd=setTimeout(function(){uk(a,!0)},b);a.Pk=c+b}}else a.Qd&&(clearTimeout(a.Qd),a.Qd=null)}
function uk(a,b){b&&(a.Qd=null);var c=a.ue[0];if(c){for(var d=c.Wm,e=c.Ym,c=c.sector,f=0,g=[],h=c-1;h<a.pb[d][e].length;h++){var l=a.pb[d][e][h];if(!l.lb)break;var n=a.ue.indexOf(l);a.ue.splice(n,1);a.Pg.splice(n,1);g=g.concat(zk(l));l.lb=!1;f++}a.Ad?(h={},a.Ii=!0,h.action="write",h.volume=a.yf,h.chs=a.Sb+":"+a.Ub+":"+a.cc+":"+a.Lb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.mf(),h.user=a.ga.ie(),h.data=JSON.stringify(g),d=sa(ta()+"/api/v1/disk",b,h,a,a.so,[d,e,c,f,b])):d=!1;return b||d}return!1}
@ -637,8 +637,8 @@ k.Co=function(a,b,c){this.ca(a,b,c,"SECCNT");this.re=b};k.jn=function(a,b){var c
k.Ao=function(a,b,c){this.ca(a,b,c,"DRVHD");this.wf=b;this.za=this.Aa[this.wf&16?1:0]?this.za|64:this.za&-65};k.kn=function(a,b){var c=this.za;this.ca(a,null,b,"STATUS",c);return c};k.wo=function(a,b,c){this.ca(a,b,c,"COMMAND");this.Tj=b;this.ma&&Ii(this.ma,14);Vk(this)};k.Bo=function(a,b,c){this.ca(a,b,c,"FDR");this.Th&4&&!(b&4)&&(this.Kd=1);this.Th=b};
function Vk(a){var b=!1,c=a.Tj,d=a.wf&16?1:0,e=a.wf&15,f=a.Sh|(a.Rh&3)<<8,g=a.Uh,h=a.re||256;a.Pa=null;a.Kd=0;a.za=80;(d=a.Aa[d])?(d.Rd=f,d.Na=e,d.Va=g,d.Za=h*d.Lb,c=144<=c?c:c&240,d.Ra=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.tc(d,function(b){0<=b&&a.ma?(Uk(a),a.za=136):(a.za=1,a.Kd=16)},!1);break;case 48:a.ma?(Uk(a),a.za=136):(a.za=1,a.Kd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Kd=1;b=!0;break;case 145:d.Ub=e+1,d.cc=h,b=!0}b&&Uk(a)}
function Uk(a){!a.ma||a.Th&2||Hi(a.ma,14)}
function Tk(a){a.ob=0;var b=a.Oa(),c=a.Oa(),d=c&32,e=d>>5,f=c&31,g=a.Oa(),h=a.Oa(),l=g<<2&768|h,n=g&63,q=a.Oa(),u=a.Oa(),s=a.Aa[e];s&&(s.Rd=l,s.Na=f,s.Va=n,s.Za=q*s.Lb);switch(b){case 3:a.Rb(s?s.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Oa());)s&&c<s.af.length&&(s.af[c++]=b);s&&Sk(a,s);b=0;s||a.nf!=e||(a.nf=-1,b=2);a.Rb(b|d);b=-1;break;case 224:case 228:a.Rb(0|d),b=-1}if(0<=b)switch(void 0===s?b=-1:(s.errorCode=0,s.jm=0),b){case 0:a.Rb(0|d);break;case 1:s.aq=
u;a.Rb(0|d);break;case 5:a.Rb(0|d);break;case 8:a.xi(s,function(b){a.Rb(b|d)});break;case 10:a.yi(s,function(b){a.Rb(b|d)});break;case 15:Wk(a,s,function(b){a.Rb(b|d)});break;default:a.Rb(2|d)}}k.Oa=function(){var a=-1;this.ob<this.$a&&(a=this.ec[this.ob++]);return a};k.Rb=function(a){this.ob=this.$a=0;void 0!==a&&this.dc(a);this.ma&&Hi(this.ma,5);this.za|=32};k.dc=function(a){this.ec[this.$a++]=a};k.vi=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};
function Tk(a){a.ob=0;var b=a.Oa(),c=a.Oa(),d=c&32,e=d>>5,f=c&31,g=a.Oa(),h=a.Oa(),l=g<<2&768|h,n=g&63,q=a.Oa(),t=a.Oa(),s=a.Aa[e];s&&(s.Rd=l,s.Na=f,s.Va=n,s.Za=q*s.Lb);switch(b){case 3:a.Rb(s?s.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Oa());)s&&c<s.af.length&&(s.af[c++]=b);s&&Sk(a,s);b=0;s||a.nf!=e||(a.nf=-1,b=2);a.Rb(b|d);b=-1;break;case 224:case 228:a.Rb(0|d),b=-1}if(0<=b)switch(void 0===s?b=-1:(s.errorCode=0,s.jm=0),b){case 0:a.Rb(0|d);break;case 1:s.aq=
t;a.Rb(0|d);break;case 5:a.Rb(0|d);break;case 8:a.xi(s,function(b){a.Rb(b|d)});break;case 10:a.yi(s,function(b){a.Rb(b|d)});break;case 15:Wk(a,s,function(b){a.Rb(b|d)});break;default:a.Rb(2|d)}}k.Oa=function(){var a=-1;this.ob<this.$a&&(a=this.ec[this.ob++]);return a};k.Rb=function(a){this.ob=this.$a=0;void 0!==a&&this.dc(a);this.ma&&Hi(this.ma,5);this.za|=32};k.dc=function(a){this.ec[this.$a++]=a};k.vi=function(a,b,c){void 0===b||0>b?this.tc(a,c):c(-1,!1)};
k.wi=function(a,b){return void 0!==b&&0<=b?this.Cc(a,b):-1};k.Im=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ya<a.bf.length?a.bf[a.Ya++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Jm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.xi=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.errorCode=0;Ai(this.ma,3,this,"dmaRead",a);ui(this.ma,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.yi=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.errorCode=0;Ai(this.ma,3,this,"dmaWrite",a);ui(this.ma,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function Wk(a,b,c){b.errorCode=4;b.bf&&b.bf.length==b.Za||(b.bf=Array(b.Za));b.Ya=0;a.ma?(b.errorCode=0,Ai(a.ma,3,a,"dmaWriteBuffer",b),ui(a.ma,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.zk=function(a,b){a.errorCode=4;if(a.ua&&(a.Ra=null,this.ma)){a.Fe=0;a.yc=Array(4);a.Pf=!0;a.Vf=0;a.errorCode=0;Ai(this.ma,3,this,"dmaWriteFormat",a);ui(this.ma,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Pf=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
@ -672,49 +672,49 @@ Ma:"state"},xm:{La:131072,Ma:"mouse"},rm:{La:262144,Ma:"computer"},sm:{La:524288
k.qc=function(a,b,c){this.oa=b;this.T=c;this.Ea=a;this.Tm=C(a,"FDC");this.Ik=C(a,"HDC");this.Kf=dl;80186<=this.T.Ga&&(this.Kf=dl.slice(),this.Kf[15]=Z,80286<=this.T.Ga&&(this.Kf[15]=cl));Kc(this.T,33,this,this.$n);this.Sa();if(this.Vj){a=hl(this,this.Vj);delete this.Vj;for(var d in a)il(this,a[d])}};
k.xb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Xf=this.ta[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=hl(e,b,!0);for(b in c)il(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.ta[c]=d,Aa(d,function(){if(e.Xf){var a=e.Xf.value;e.Xf.value="";var b=hl(e,a,!0);for(a in b)il(e,b[a]);return!0}return!1}),!0;case "step":return this.ta[c]=d,Aa(d,function(a){var b=!1;Wa(e,!0)||(Va(e,!0),b=e.Af(a?1:0),Va(e,!1));return b}),
!0}return!1};k.Od=function(){this.Xf&&this.Xf.focus()};function Xh(a,b,c,d){d&&(a.gi=[]);d=0;c=hl(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.da(Y[e].Ma+" messages enabled"));void 0===a.hc&&(a.hc=0);a.hc|=d}function Yh(a,b,c){for(var d in Y)if(b==Y[d].La){a.gi[d]=c;break}}function D(a,b){return(a.hc&b)===b}
function Mc(a,b,c){if(16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.T.H>>8,e=gl[b];if(e=e&&e[d]||""){var f=a.T;a.ib[X[0]]=r(f.H&255);a.ib[X[1]]=r(f.J&255);a.ib[X[2]]=r(f.K&255);a.ib[X[3]]=r(f.C&255);a.ib[X[4]]=r(f.H>>8);a.ib[X[5]]=r(f.J>>8);a.ib[X[6]]=r(f.K>>8);a.ib[X[7]]=r(f.C>>8);a.ib[X[8]]=t(f.H);a.ib[X[9]]=t(f.J);a.ib[X[10]]=t(f.K);a.ib[X[11]]=t(f.C);a.ib[X[12]]=t(f.Z);a.ib[X[13]]=t(f.I);a.ib[X[14]]=t(f.G);a.ib[X[15]]=t(f.F);a.ib[X[16]]=t(f.ab.pa);a.ib[X[17]]=t(f.wa.pa);a.ib[X[18]]=t(f.wb.pa);a.ib[X[19]]=
t(f.Eb.pa);a.ib[X[20]]=t(f.ra);e=" "+ia(a.ib,e)}a.message("INT 0x"+r(b)+": AH="+r(d)+" at "+da(c-a.T.wa.Xa,a.T.wa.pa)+e)}}function Oc(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="+(bd(a.T)?1:0)+(e||"")+" (cycles="+d+")")}
k.ca=function(a,b,c,d,e,f,g){f||(f=0);f|=Y.ek.La;if(null==d||(this.hc&f)==f)f=null,null!=d&&(f=this.T.wa.pa,d-=this.T.wa.Xa),this.message(a.zh+"."+(null!=c?"outPort":"inPort")+"(0x"+t(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.da(a);this.T&&(this.hc&Y.vm.La&&this.T.Ab(),a=this.T,a.tf=0,a.Nc-=a.A,a.A=0,a.jh())};k.$n=function(a){D(this,this.um|this.Xe)&&Mc(this,33,a);return!0};k.Wn=function(){this.da("Type ? for list of debugger commands")};
function Mc(a,b,c){if(16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.T.H>>8,e=gl[b];if(e=e&&e[d]||""){var f=a.T;a.ib[X[0]]=r(f.H&255);a.ib[X[1]]=r(f.J&255);a.ib[X[2]]=r(f.K&255);a.ib[X[3]]=r(f.C&255);a.ib[X[4]]=r(f.H>>8);a.ib[X[5]]=r(f.J>>8);a.ib[X[6]]=r(f.K>>8);a.ib[X[7]]=r(f.C>>8);a.ib[X[8]]=u(f.H);a.ib[X[9]]=u(f.J);a.ib[X[10]]=u(f.K);a.ib[X[11]]=u(f.C);a.ib[X[12]]=u(f.Z);a.ib[X[13]]=u(f.I);a.ib[X[14]]=u(f.G);a.ib[X[15]]=u(f.F);a.ib[X[16]]=u(f.ab.pa);a.ib[X[17]]=u(f.wa.pa);a.ib[X[18]]=u(f.wb.pa);a.ib[X[19]]=
u(f.Eb.pa);a.ib[X[20]]=u(f.ra);e=" "+ia(a.ib,e)}a.message("INT 0x"+r(b)+": AH="+r(d)+" at "+da(c-a.T.wa.Xa,a.T.wa.pa)+e)}}function Oc(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="+(bd(a.T)?1:0)+(e||"")+" (cycles="+d+")")}
k.ca=function(a,b,c,d,e,f,g){f||(f=0);f|=Y.ek.La;if(null==d||(this.hc&f)==f)f=null,null!=d&&(f=this.T.wa.pa,d-=this.T.wa.Xa),this.message(a.zh+"."+(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.da(a);this.T&&(this.hc&Y.vm.La&&this.T.Ab(),a=this.T,a.tf=0,a.Nc-=a.A,a.A=0,a.jh())};k.$n=function(a){D(this,this.um|this.Xe)&&Mc(this,33,a);return!0};k.Wn=function(){this.da("Type ? for list of debugger commands")};
function Zk(a){var b;if(rd(a)){if(!a.Wd||!a.Wd.length){a.Wd=Array(1E4);for(b=0;b<a.Wd.length;b++)a.Wd[b]=[0,null,0];a.of=0}if(!a.Rc||!a.Rc.length)for(a.Rc=Array(256),b=0;b<a.Rc.length;b++)a.Rc[b]=[b,0]}else a.of=0,a.Wd=[],a.Rc=[]}k.Qe=function(a){if(!jl(this))return!1;this.T.Qe(a);return!0};
k.Af=function(a,b,c){if(!jl(this))return!1;this.$c=0;do{a||rd(this)&&vd(this,this.T.Ca,!0);try{var d=this.T.Af(a);0<d&&(this.$c+=d,Ob(this.T,d,!0),Lb(this.T,d),this.fh++)}catch(e){this.$c=0,Ya(this.T,e.message||e)}}while(this.T.aa&240);!1!==c&&Kb(this.T);Jb(this,b||!1,!1);return 0<this.$c};k.Ab=function(){this.T.Ab()};function Jb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Dc=[a.T.ra,a.T.wa.pa,void 0];b&&1!=a.oc?kl(a,null,c):ll(a)}
function jl(a){var b;if(b=a.T&&Xa(a.T))b=a.T,b.Mb?b=!0:(b.da(b.toString()+" not powered"),b=!1);b&&!Wa(a.T)?(a=a.T,a.jd?(a.da(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.Zb=function(a,b){return!b&&(this.reset(!0),this.da(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Yb=function(a,b){b&&this.da(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){Zk(this);this.$c=this.fh=0;this.Dc=[this.T.ra,this.T.wa.pa,void 0];void 0===this.Nb||a||this.da("reset");this.Nb=!1;ml(this);a||Jb(this)};k.save=function(){var a=new H(this);a.set(0,this.Dc);a.set(1,this.te);a.set(2,[this.Ph,this.gf,this.hc]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Dc=a[b++],this.te=a[b++],this.Ph=a[b][0],this.gf=a[b][1],this.hc||(this.hc=a[b][2]));return!0};
k.start=function(a,b){this.oc||this.da("running");this.Nb=!0;this.ho=a;this.lo=b};k.stop=function(a,b){if(this.Nb){this.Nb=!1;this.$c=b-this.lo;if(!this.oc){var c="stopped";if(this.$c){var d=a-this.ho,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";rd(this)&&(c+=this.fh+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.da(c)}Jb(this,!0,2!=this.oc);this.Od();ml(this,this.T.Ca)}};function rd(a){return 1<a.vc.length||D(a,a.Xe)}
function vd(a,b,c){if(!c&&nl(a,b,a.vc))return!0;a.Rc.length&&(a.fh++,c=ib(a.oa,b),a.Rc[c][1]++,c=a.Wd[a.of],c[0]=a.T.ra,c[1]=a.T.wa.pa,c[2]=b,++a.of==a.Wd.length&&(a.of=0));return!1}function xb(a,b){return nl(a,b,a.Td)?(a.T.Ab(!0),!0):!1}function yb(a,b){return nl(a,b,a.Qc)?(a.T.Ab(!0),!0):!1}function qb(a,b,c){a.da("break on input from port "+t(b)+": "+r(c));a.T.Ab(!0)}function ub(a,b,c){a.da("break on output to port "+t(b)+": "+r(c));a.T.Ab(!0)}
function vd(a,b,c){if(!c&&nl(a,b,a.vc))return!0;a.Rc.length&&(a.fh++,c=ib(a.oa,b),a.Rc[c][1]++,c=a.Wd[a.of],c[0]=a.T.ra,c[1]=a.T.wa.pa,c[2]=b,++a.of==a.Wd.length&&(a.of=0));return!1}function xb(a,b){return nl(a,b,a.Td)?(a.T.Ab(!0),!0):!1}function yb(a,b){return nl(a,b,a.Qc)?(a.T.Ab(!0),!0):!1}function qb(a,b,c){a.da("break on input from port "+u(b)+": "+r(c));a.T.Ab(!0)}function ub(a,b,c){a.da("break on output to port "+u(b)+": "+r(c));a.T.Ab(!0)}
function ol(a,b){if(b==a.T.wa.pa)return a.T.wa;if(b==a.T.Eb.pa)return a.T.Eb;if(b==a.T.ab.pa)return a.T.ab;if(b==a.T.wb.pa)return a.T.wb;var c=new Ub(a.T);c.load(b,!0);return c}function pl(a,b,c,d){var e=b[2];null==e&&(a=ol(a,b[1]),e=c?a.ac(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=pl(this,a,!1,0);0<=d&&(c=ib(this.oa,d),void 0!==b&&ql(a,b));return c};
k.Ia=function(a,b){var c=65535,d=pl(this,a,!1,1);0<=d&&(c=jb(this.oa,d),void 0!==b&&ql(a,b));return c};k.Nd=function(a,b,c){var d=pl(this,a,!0,0);0<=d&&(kb(this.oa,d,b),void 0!==c&&ql(a,c),Kb(this.T))};k.bd=function(a,b,c){var d=pl(this,a,!0,1);0<=d&&(lb(this.oa,d,b),void 0!==c&&ql(a,c),Kb(this.T))};function $(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])}function ql(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 Yk(a){var b;a.vc=["exec"];if(void 0!==a.Td)for(b=1;b<a.Td.length;b++){var c=a.oa,d=pl(a,a.Td[b]);Cb(c.Ba[d>>c.rb],!1)}a.Td=["read"];if(void 0!==a.Qc)for(b=1;b<a.Qc.length;b++)c=a.oa,d=pl(a,a.Qc[b]),Cb(c.Ba[d>>c.rb],!0);a.Qc=["write"]}k.Xd=function(a,b,c){if(!rl(this,a,b)){b[2]=pl(this,b);b[3]=c;a.push(b);if(a!=this.vc){var d=this.oa,e=pl(this,b);d.Ba[e>>d.rb].Xd(e&d.gb,a==this.Qc)}c||this.da("breakpoint enabled: "+$(b)+" ("+a[0]+")");Zk(this);return!0}return!1};
function rl(a,b,c,d){var e=!1;c=pl(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==pl(a,g)){e=!0;if(d){b.splice(f,1);b!=a.vc&&(d=a.oa,Cb(d.Ba[c>>d.rb],b==a.Qc));g[3]||a.da("breakpoint cleared: "+$(g)+" ("+b[0]+")");Zk(a);break}a.da("breakpoint exists: "+$(g)+" ("+b[0]+")");break}}return e}function sl(a,b){for(var c=1;c<b.length;c++)a.da("breakpoint enabled: "+$(b[c])+" ("+b[0]+")");return b.length-1}
function Db(a,b,c,d){if(void 0===d)Db(a,b,c,a.Td),Db(a,b,c,a.Qc);else for(var e=1;e<d.length;e++){var f=pl(a,d[e]);if(f>=b&&f<b+c){var g=a.oa;g.Ba[f>>g.rb].Xd(f&g.gb,d==a.Qc)}}}function ml(a,b){if(void 0!==b)nl(a,b,a.vc,!0),a.oc=0;else for(var c=1;c<a.vc.length;c++){var d=a.vc[c];if(d[3]){if(!rl(a,a.vc,d,!0))break;c=0}}}
function nl(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var g=c[f];if(b==pl(a,g)){g[3]?rl(a,c,g,!0):d||a.da("breakpoint hit: "+$(g)+" ("+c[0]+")");e=!0;break}}return e}
function tl(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.ub(b,1),g=a.Kf[f],h=g[0],l=-1;204==h&&(h=a.ub(b,1),g=el[h]||Z,f|=h<<8,h=g[0]);h>=al.length&&(l=a.ub(b,1),g=fl[h-al.length][l>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",u=g[f];if(void 0!==u){var s=u&15;if(0!=s&&15!=s){var v=u&240;if(128<=v)if(0>l&&(l=a.ub(b,1)),160<=v)q=l>>3&7,176==(u&240)?q+=16:3<=(u&15)&&(q+=8),q=X[q];else{if(128<=v){var q=a,z=u,s=b,E="",v=l>>6,E=l&7;3>v?(z=void 0,v||6!=E?(E=bl[E],1==v?(z=q.ub(s,
1),z&128?(z=z<<24>>24,E+="-"+r(-z)):E+="+"+r(z)):2==v&&(z=q.Ia(s,2),E+="+"+t(z))):(z=q.Ia(s,2),E=t(z)),E="["+E+"]"):E=X[E+(1==(z&15)?0:8)];q=E}}else if(16==v)q="1";else if(0==v){q=a;v=u;s=b;z=" ";switch(v&15){case 1:v&12288&&(z=r(q.ub(s,1)));break;case 2:z=t(q.ub(s,1)<<24>>24);break;case 3:case 4:z=t(q.Ia(s,2));break;case 6:v=q.Ia(s,2);q=q.Ia(s,2);z=$([v,q,void 0]);break;default:z="imm("+t(v)+")"}q=z}else 32==v?q="["+t(a.Ia(b,2))+"]":48==v?(1==s?(q=a.ub(b,1),q=q<<24>>24):q=a.Ia(b,2),q=b[0]+q&65535,
q=ul(a,[q,b[1],void 0])[0]||t(q)):96==v?q=X[(u&3840)>>8]:112==v?q=X[((u&3840)>>8)+16]:64==v?q="DS:[SI]":80==v&&(q="ES:[DI]");q.length||(q="type("+t(u)+")");0<h.length&&(h+=",");h+=q}}}l=$(e)+" ";n="";do n+=r(a.ub(e,1));while(e[0]!=b[0]);l+=(n+" ").substr(0,14);l+=(al[g[0]]+" ").substr(0,8);h&&(l+=" "+h);c&&(l=(l+" ").substr(0,50),l+=";",l=a.T.hf?l+("cycles="+F(a.T).toString()+" cs="+p(a.T.hg)):l+(c+(null!=d?"="+d.toString():"")));return l}
function vl(a,b){var c;switch(b){case "V":c=gd(a.T);break;case "D":c=a.T.ya&1024;break;case "I":c=a.T.ya&512;break;case "T":c=a.T.ya&256;break;case "S":c=fd(a.T);break;case "Z":c=ed(a.T);break;case "A":c=dd(a.T);break;case "P":c=cd(a.T);break;case "C":c=bd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function wl(a,b){return a.Dg+"="+t(a.pa)+(b?"["+p(a.Xa,6)+","+t(a.Mc)+"]":"")}function xl(a,b,c,d){return a+"="+(null!=b?t(b):"")+"["+p(c,6)+","+t(d-c)+"]"}
function tl(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.ub(b,1),g=a.Kf[f],h=g[0],l=-1;204==h&&(h=a.ub(b,1),g=el[h]||Z,f|=h<<8,h=g[0]);h>=al.length&&(l=a.ub(b,1),g=fl[h-al.length][l>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",t=g[f];if(void 0!==t){var s=t&15;if(0!=s&&15!=s){var v=t&240;if(128<=v)if(0>l&&(l=a.ub(b,1)),160<=v)q=l>>3&7,176==(t&240)?q+=16:3<=(t&15)&&(q+=8),q=X[q];else{if(128<=v){var q=a,z=t,s=b,E="",v=l>>6,E=l&7;3>v?(z=void 0,v||6!=E?(E=bl[E],1==v?(z=q.ub(s,
1),z&128?(z=z<<24>>24,E+="-"+r(-z)):E+="+"+r(z)):2==v&&(z=q.Ia(s,2),E+="+"+u(z))):(z=q.Ia(s,2),E=u(z)),E="["+E+"]"):E=X[E+(1==(z&15)?0:8)];q=E}}else if(16==v)q="1";else if(0==v){q=a;v=t;s=b;z=" ";switch(v&15){case 1:v&12288&&(z=r(q.ub(s,1)));break;case 2:z=u(q.ub(s,1)<<24>>24);break;case 3:case 4:z=u(q.Ia(s,2));break;case 6:v=q.Ia(s,2);q=q.Ia(s,2);z=$([v,q,void 0]);break;default:z="imm("+u(v)+")"}q=z}else 32==v?q="["+u(a.Ia(b,2))+"]":48==v?(1==s?(q=a.ub(b,1),q=q<<24>>24):q=a.Ia(b,2),q=b[0]+q&65535,
q=ul(a,[q,b[1],void 0])[0]||u(q)):96==v?q=X[(t&3840)>>8]:112==v?q=X[((t&3840)>>8)+16]:64==v?q="DS:[SI]":80==v&&(q="ES:[DI]");q.length||(q="type("+u(t)+")");0<h.length&&(h+=",");h+=q}}}l=$(e)+" ";n="";do n+=r(a.ub(e,1));while(e[0]!=b[0]);l+=(n+" ").substr(0,14);l+=(al[g[0]]+" ").substr(0,8);h&&(l+=" "+h);c&&(l=(l+" ").substr(0,50),l+=";",l=a.T.hf?l+("cycles="+F(a.T).toString()+" cs="+p(a.T.hg)):l+(c+(null!=d?"="+d.toString():"")));return l}
function vl(a,b){var c;switch(b){case "V":c=gd(a.T);break;case "D":c=a.T.ya&1024;break;case "I":c=a.T.ya&512;break;case "T":c=a.T.ya&256;break;case "S":c=fd(a.T);break;case "Z":c=ed(a.T);break;case "A":c=dd(a.T);break;case "P":c=cd(a.T);break;case "C":c=bd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function wl(a,b){return a.Dg+"="+u(a.pa)+(b?"["+p(a.Xa,6)+","+u(a.Mc)+"]":"")}function xl(a,b,c,d){return a+"="+(null!=b?u(b):"")+"["+p(c,6)+","+u(d-c)+"]"}
function Al(a,b,c){var d=2==c?a.ik:a.Dc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],g=f.toUpperCase(),h=0;h<a.xc.length;h++){var f=a.xc[h][0],l=a.xc[h][2][g];if(void 0!==l){g=l.o;void 0!==g&&(h=l.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Bl(a,b),d=null):d=Bl(a,b):(e=Bl(a,b.substring(0,d)),c=Bl(a,b.substring(d+1)),d=
null)}return[c,e,d]}
function Bl(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Z;break;case "CS":d=a.T.wa.pa;break;case "DS":d=a.T.Eb.pa;break;case "ES":d=a.T.ab.pa;break;case "SS":d=a.T.wb.pa;break;case "IP":d=a.T.ra;break;default:d=ca(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d}
function aj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var l=d[h];"number"==typeof l&&(d[h]=l={o:l});var n=l.o,q=l.s,u=l.a;void 0!==n&&(void 0!==q&&(f[0]=n,f[1]=q,l.p=pl(a,f)),na(g,[n,h],e));u&&(l.a=u.replace(/''/g,'"'))}a.xc.push([b,c,d,g])}
function aj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var l=d[h];"number"==typeof l&&(d[h]=l={o:l});var n=l.o,q=l.s,t=l.a;void 0!==n&&(void 0!==q&&(f[0]=n,f[1]=q,l.p=pl(a,f)),na(g,[n,h],e));t&&(l.a=t.replace(/''/g,'"'))}a.xc.push([b,c,d,g])}
function ul(a,b,c){for(var d=[],e=pl(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=ma(a.xc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Cl(a,f,b,d):c&&(b=~b,Cl(a,f,b-1,d),Cl(a,f,b,d));break}}return d}function Cl(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 Dl(a,b){if("?"==b)a.da("\nfrequency commands:"),a.da("\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.da("frequency data cleared");d++}else if(void 0!==b)a.da("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.da((al[a.Kf[f][0]]+" ").substr(0,5)+" ("+r(f)+"): "+g+" times"),d++)}}d||a.da("no frequency data available")}}
function El(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.da("\nlist/load commands:"),a.da("\tl [address] [drive #] [sector #] [# sectors]"),a.da("\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=Al(a,b[1],d?1:2),d){c=ul(a,c,!0);c.length?(c[0]&&a.da(t(c[1])+": "+c[0]),4<c.length&&c[4]&&a.da(t(c[5])+": "+c[4])):a.da("no symbols");return}d=Bl(a,b[2],"drive #");if(void 0!==d){if(!g){e=Bl(a,b[3],"sector #");if(void 0===e)return;
function El(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.da("\nlist/load commands:"),a.da("\tl [address] [drive #] [sector #] [# sectors]"),a.da("\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=Al(a,b[1],d?1:2),d){c=ul(a,c,!0);c.length?(c[0]&&a.da(u(c[1])+": "+c[0]),4<c.length&&c[4]&&a.da(u(c[5])+": "+c[4])):a.da("no symbols");return}d=Bl(a,b[2],"drive #");if(void 0!==d){if(!g){e=Bl(a,b[3],"sector #");if(void 0===e)return;
f=Bl(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Tm;2<=d&&a.Ik&&(d-=2,h=a.Ik);if(h){var l=h.xk(d);if(l)if(l.ua)if(g)a.da(Ak(l.ua));else if(h.hm(l,e,f)){for(var n=0,q=!1,e=$(c);!q&&0<l.Za--;)(function(a,b){h.tc(l,function(c){0>c?(a.da("out of data at address "+$(b)),q=!0):(a.Nd(b,c,1),n++)})})(a,c);a.da(n+" bytes read at "+e)}else a.da("sector "+e+" request out of range");else a.da("drive "+d+" not loaded");else a.da("invalid drive: "+d)}else a.da("disk controller not present")}}}
function kl(a,b,c){if(b&&"?"==b[1])a.da("\nregister commands:"),a.da("\tr\t\tdisplay all registers"),a.da("\tr [target=#]\tmodify target register"),a.da("supported targets:"),a.da("\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.T.Sc;else{d=!1;c=null;var g=f.indexOf("=");if(0<g)c=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)c=b[2];else{a.da("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.da("invalid value: "+
c);return}switch(f.toUpperCase()){case "AL":a.T.H=a.T.H&65280|b&255;break;case "AH":a.T.H=a.T.H&255|b<<8&255;break;case "AX":a.T.H=b&65535;break;case "BL":a.T.C=a.T.C&65280|b&255;break;case "BH":a.T.C=a.T.C&255|b<<8&255;break;case "BX":a.T.C=b&65535;break;case "CL":a.T.J=a.T.J&65280|b&255;break;case "CH":a.T.J=a.T.J&255|b<<8&255;break;case "CX":a.T.J=b&65535;break;case "DL":a.T.K=a.T.K&65280|b&255;break;case "DH":a.T.K=a.T.K&255|b<<8&255;break;case "DX":a.T.K=b&65535;break;case "SP":a.T.Z=b&65535;
break;case "BP":a.T.I=b&65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":Zc(a.T,b);break;case "ES":ad(a.T,b);break;case "SS":$c(a.T,b);break;case "CS":d=!0;Yc(a.T,b);a.Dc=[a.T.ra,a.T.wa.pa,void 0];break;case "IP":d=!0;I(a.T,b);a.Dc=[a.T.ra,a.T.wa.pa,void 0];break;case "C":b?md(a.T):hd(a.T);break;case "P":b?(c=a.T,cd(c)||(c.ka^=1)):(c=a.T,cd(c)&&(c.ka^=1));break;case "A":b?nd(a.T):id(a.T);break;case "Z":b?od(a.T):jd(a.T);break;case "S":b?pd(a.T):kd(a.T);break;case "I":b?
(c=a.T,c.ya|=512):(c=a.T,c.ya&=-513);break;case "D":b?(c=a.T,c.ya|=1024):(c=a.T,c.ya&=-1025);break;case "V":b?qd(a.T):ld(a.T);break;default:a.da("unknown register: "+f);return}Kb(a.T);a.da("\nupdated registers:");c=!0}}f=e;void 0===f&&(f=!!(a.T.ad&1));e="AX="+t(a.T.H)+" BX="+t(a.T.C)+" CX="+t(a.T.J)+" DX="+t(a.T.K)+" SP="+t(a.T.Z)+" BP="+t(a.T.I)+" SI="+t(a.T.G)+" DI="+t(a.T.F)+"\n";e+=wl(a.T.Eb,f)+" "+wl(a.T.ab,f)+" "+wl(a.T.wb,f);e=e+(f?"\n":" ")+(wl(a.T.wa,f)+" IP="+t(a.T.ra)+vl(a,"V")+vl(a,"D")+
vl(a,"I")+vl(a,"T")+vl(a,"S")+vl(a,"Z")+vl(a,"A")+vl(a,"P")+vl(a,"C"));f&&(f=a.oa,e+=" MS="+t(a.T.ad)+"\n"+xl("LD",a.T.Md.pa,a.T.Md.Xa,a.T.Md.Mc)+" "+xl("GD",null,a.T.Sc,a.T.cf)+" "+xl("ID",null,a.T.dd,a.T.we)+" TR="+t(a.T.Gg.pa)+" A20="+(f.xe==f.Ib?"ON":"OFF"));a.da((c?"":"\n")+e);d&&(a.Dc=[a.T.ra,a.T.wa.pa,void 0],ll(a,$(a.Dc)))}}function Fl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;za(b,function(){return Va(a,!0)&&a.Af(e,d,!1)},function(){Kb(a.T);Va(a,!1)})}
(c=a.T,c.ya|=512):(c=a.T,c.ya&=-513);break;case "D":b?(c=a.T,c.ya|=1024):(c=a.T,c.ya&=-1025);break;case "V":b?qd(a.T):ld(a.T);break;default:a.da("unknown register: "+f);return}Kb(a.T);a.da("\nupdated registers:");c=!0}}f=e;void 0===f&&(f=!!(a.T.ad&1));e="AX="+u(a.T.H)+" BX="+u(a.T.C)+" CX="+u(a.T.J)+" DX="+u(a.T.K)+" SP="+u(a.T.Z)+" BP="+u(a.T.I)+" SI="+u(a.T.G)+" DI="+u(a.T.F)+"\n";e+=wl(a.T.Eb,f)+" "+wl(a.T.ab,f)+" "+wl(a.T.wb,f);e=e+(f?"\n":" ")+(wl(a.T.wa,f)+" IP="+u(a.T.ra)+vl(a,"V")+vl(a,"D")+
vl(a,"I")+vl(a,"T")+vl(a,"S")+vl(a,"Z")+vl(a,"A")+vl(a,"P")+vl(a,"C"));f&&(f=a.oa,e+=" MS="+u(a.T.ad)+"\n"+xl("LD",a.T.Md.pa,a.T.Md.Xa,a.T.Md.Mc)+" "+xl("GD",null,a.T.Sc,a.T.cf)+" "+xl("ID",null,a.T.dd,a.T.we)+" TR="+u(a.T.Gg.pa)+" A20="+(f.xe==f.Ib?"ON":"OFF"));a.da((c?"":"\n")+e);d&&(a.Dc=[a.T.ra,a.T.wa.pa,void 0],ll(a,$(a.Dc)))}}function Fl(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;za(b,function(){return Va(a,!0)&&a.Af(e,d,!1)},function(){Kb(a.T);Va(a,!1)})}
function ll(a,b,c,d){b=Al(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.oa.xe];if(void 0!==c){e=Al(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.da("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Dc[0];d--&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){var f=a.ub(b),g=Wa(a,!1)||a.oc?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=ul(a,b);if(h[0]){var l=h[0]+":";c=!1;h[2]&&(l+=" "+h[2]);a.da(l)}c&&a.da();h[3]&&(f=h[3],
g=null);c=tl(a,b,f,g);a.da(c);a.Dc=b;c=!1}}}function hl(a,b,c){c&&(b?a.Ph=b:b=a.Ph);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a}
function il(a,b){!b.length&&a.gf&&(a.da("ended assemble @"+$(a.te)),a.Dc=a.te,a.gf=!1);b=b.toLowerCase();if(Xa(a)&&!Wa(a,!0)&&0<b.length){if(a.gf)b="a "+$(a.te)+" "+b;else{var c,d,e;switch(b){case "reset":a.Ea&&a.Ea.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=Al(a,c[1],1);if(null!=f[0])if(a.te=f,void 0===c[2])a.da("begin assemble @"+
$(f)),a.gf=!0,Kb(a.T);else if(a.da("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.Nd(f,c[g],1);a.da(tl(a,a.te))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+sl(a,a.vc),f+=sl(a,a.Td),(f+=sl(a,a.Qc))||a.da("no breakpoints");else if(void 0===f)a.da("missing breakpoint address");else{g=[];if("*"!=f&&(g=Al(a,f,1),null==g[0]))break a;f=null==g[0]?f:t(g[0]);"c"==c?null==g[0]?(Yk(a),a.da("all breakpoints cleared")):rl(a,a.vc,g,!0)||rl(a,a.Td,g,!0)||rl(a,a.Qc,g,!0)||
$(f)),a.gf=!0,Kb(a.T);else if(a.da("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.Nd(f,c[g],1);a.da(tl(a,a.te))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+sl(a,a.vc),f+=sl(a,a.Td),(f+=sl(a,a.Qc))||a.da("no breakpoints");else if(void 0===f)a.da("missing breakpoint address");else{g=[];if("*"!=f&&(g=Al(a,f,1),null==g[0]))break a;f=null==g[0]?f:u(g[0]);"c"==c?null==g[0]?(Yk(a),a.da("all breakpoints cleared")):rl(a,a.vc,g,!0)||rl(a,a.Td,g,!0)||rl(a,a.Qc,g,!0)||
a.da("breakpoint missing: "+$(g)):"i"==c?a.da("breakpoint "+(nb(a.oa,g[0])?"enabled":"cleared")+": port "+f+" (input)"):"o"==c?a.da("breakpoint "+(rb(a.oa,g[0])?"enabled":"cleared")+": port "+f+" (output)"):null!=g[0]&&("p"==c?a.Xd(a.vc,g):"r"==c?a.Xd(a.Td,g):"w"==c?a.Xd(a.Qc,g):a.da("unknown breakpoint command: "+c))}else a.da("\nbreakpoint commands:"),a.da("\tbi [p]\ttoggle break on input port [p]"),a.da("\tbo [p]\ttoggle break on output port [p]"),a.da("\tbp [a]\tset exec breakpoint at addr [a]"),
a.da("\tbr [a]\tset read breakpoint at addr [a]"),a.da("\tbw [a]\tset write breakpoint at addr [a]"),a.da("\tbc [a]\tclear breakpoint at addr [a]"),a.da("\tbl\tlist all breakpoints");break;case "c":a.Yf&&(a.Yf.value="");break;case "d":a:{var h=c[0],g=c[1],l=c[2],n;if("?"==g){f="symbols";for(n in Y)a.gi[n]&&(f.length&&(f+=","),f+=Y[n].Ma);f+=",state";a.da("\ndump commands:");a.da("\tdb [a] [#] dump bytes at address a");a.da("\tdw [a] [#] dump words at address a");a.da("\tds [s] dump descriptor for selector s");
f.length&&a.da("dumps are also available for: "+f)}else if("state"==g)a.da(Gl(a.Ea,!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)&&(l=h[f],n=l.o,void 0!==n&&(l=l.s,void 0===l&&(l=g>>>4),(d=h[f].l)&&(f=d),a.da(da(n,l)+" "+f)));else{for(n in Y)if(g==Y[n].Ma){(f=a.gi[n])?f(l):a.da("no dump registered for "+g);break a}f=Al(a,g,2);if(null!=f[0])if("ds"==h)if(c=ol(a,f[0]),null!=c.pa){f="selector="+t(f[0])+" limit="+t(c.Mc)+" base="+p(c.Xa);if(c.cb){f+=
" access="+t(c.cb);if(c.cb&4096)c.cb&2048?(f=f+"code:"+(c.cb&512?"readable,":"execonly,"),f+=c.cb&1024?"conforming,":"nonconforming,"):(f+="data:",f+=c.cb&512?"writeable,":"readonly,",f+=c.cb&1024?"expand down,":"expand up,"),f+=c.cb&256?"accessed":"not accessed";else switch(f+="type:",c.cb&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.cb>>13&24576);f+=c.cb&32768?",present":",not present"}a.da(f)}else a.da("invalid selector: "+t(f[0]));else{c=0;void 0!==l&&("l"==l.charAt(0)&&(l=l.substr(1)),c=parseInt(l,10));n="";c||(c=8);for(l=0;l<c;l++){e=d="";for(var g=$(f),q=0,u=0;16>u;u++){var s=a.ub(f,1);"dw"==h?u&1&&(d+=t(q|s<<8)+(7==u?" - ":" ")):d+=r(s)+(7==u?"-":" ");e+=32<=s&&128>s?String.fromCharCode(s):".";q=s}n&&(n+="\n");n+=g+" "+d+" "+e}n&&a.da(n);a.ik=f}}}break;case "e":f=c[1];if(void 0===f)a.da("missing address");else if(f=
f.length&&a.da("dumps are also available for: "+f)}else if("state"==g)a.da(Gl(a.Ea,!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)&&(l=h[f],n=l.o,void 0!==n&&(l=l.s,void 0===l&&(l=g>>>4),(d=h[f].l)&&(f=d),a.da(da(n,l)+" "+f)));else{for(n in Y)if(g==Y[n].Ma){(f=a.gi[n])?f(l):a.da("no dump registered for "+g);break a}f=Al(a,g,2);if(null!=f[0])if("ds"==h)if(c=ol(a,f[0]),null!=c.pa){f="selector="+u(f[0])+" limit="+u(c.Mc)+" base="+p(c.Xa);if(c.cb){f+=
" access="+u(c.cb);if(c.cb&4096)c.cb&2048?(f=f+"code:"+(c.cb&512?"readable,":"execonly,"),f+=c.cb&1024?"conforming,":"nonconforming,"):(f+="data:",f+=c.cb&512?"writeable,":"readonly,",f+=c.cb&1024?"expand down,":"expand up,"),f+=c.cb&256?"accessed":"not accessed";else switch(f+="type:",c.cb&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.cb>>13&24576);f+=c.cb&32768?",present":",not present"}a.da(f)}else a.da("invalid selector: "+u(f[0]));else{c=0;void 0!==l&&("l"==l.charAt(0)&&(l=l.substr(1)),c=parseInt(l,10));n="";c||(c=8);for(l=0;l<c;l++){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.da(n);a.ik=f}}}break;case "e":f=c[1];if(void 0===f)a.da("missing address");else if(f=
Al(a,f,2),null!=f[0])for(g=2;g<c.length;g++)h=parseInt(c[g],16),a.da("setting "+$(f)+" to "+r(h)),a.Nd(f,h,1);break;case "f":Dl(a,c[1]);break;case "g":a:{f=c[1];if(void 0!==f){f=Al(a,f,1);if(null==f[0])break a;a.Xd(a.vc,f,!0)}a.Qe(!0)||a.da('cpu not available, "g" command ignored')}break;case "h":l=c[1];if(a.Nb&&void 0===l)a.Ab();else{f="";c=10;g=a.of;h=a.Wd;if(h.length)for(n=void 0===l?a.Vl:parseInt(l,10),isNaN(n)?n=c:f="more ",n>h.length&&(a.da("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!==l&&a.da(n+" instructions earlier:");c&&g!=a.of;){l=h[g];if(null==l[1])break;l=[l[0],l[1],l[2]];a.da(tl(a,l,"history",-n));++g==h.length&&(g=0);a.Vl=--n;c--}10==c&&(a.da("no "+f+"history available"),a.Vl=void 0)}break;case "i":(f=c[1])&&"?"!=f?(f=Bl(a,f),void 0!==f&&(c=pb(a.oa,f),a.da(t(f)+": "+r(c)))):(a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state"));break;case "l":El(a,
n,0>g&&(null!=h[h.length-1][1]?g+=h.length:(n=g+n,g=0)),void 0!==l&&a.da(n+" instructions earlier:");c&&g!=a.of;){l=h[g];if(null==l[1])break;l=[l[0],l[1],l[2]];a.da(tl(a,l,"history",-n));++g==h.length&&(g=0);a.Vl=--n;c--}10==c&&(a.da("no "+f+"history available"),a.Vl=void 0)}break;case "i":(f=c[1])&&"?"!=f?(f=Bl(a,f),void 0!==f&&(c=pb(a.oa,f),a.da(u(f)+": "+r(c)))):(a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state"));break;case "l":El(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.hc&n);break}if(!n){a.da("unknown message category: "+h);break a}}n&&("on"==c[2]?(a.hc|=n,f=!0):"off"==c[2]&&(a.hc&=~n,f=!1))}c=0;n="";for(g in Y)if(!h||h==Y[g].Ma)if(l=!!(a.hc&Y[g].La),null===f||f==l)n&&(n+=","),++c%10||(n+="\n\t"),n+=Y[g].Ma;void 0===h&&a.da("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");
a.da((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=Bl(a,f,"port #"),c=Bl(a,c),void 0!==f&&void 0!==c&&tb(a.oa,f,c)):(a.da("\noutput commands:"),a.da("\to [p] [d]\twrite data [d] to port [p]"),a.da("warning: port accesses can affect hardware state"));break;case "p":case "pr":f="pr"==c[0]?1:0;c=1+f;if(a.oc)a.da("step in progress");else{h=!1;n=[a.T.ra,a.T.wa.pa,void 0];do switch(g=!1,a.ub(n)){case 38:case 46:case 54:case 62:case 240:ql(n,
1);g=!0;break;case 204:case 206:a.oc=c;ql(n,1);break;case 205:case 224:case 225:case 226:a.oc=c;ql(n,2);break;case 232:a.oc=c;ql(n,3);break;case 154:a.oc=c;ql(n,5);break;case 255:a.oc=0<=tl(a,n).indexOf("CALL")?c:0;break;case 243:case 242:ql(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.oc=c,ql(n,1))}while(g);a.oc?(a.Xd(a.vc,n,!0),a.Qe()||(a.T.Od(),a.oc=0)):Fl(a,f?"tr":"t")}break;case "r":kl(a,c);break;case "t":case "tr":Fl(a,c[0],
@ -742,11 +742,11 @@ function Sl(a,b){a.Pc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[
function Rl(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hl(a,"1.15.7");d.data=c;b=sa(ta()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ha(c),xa("user",""),a.Pc=null)}}
function Mb(a){if(a.Oc&&!a.Vh){var b=!ua("Click OK to save the PCjs machine state.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Gl(a,b,!0);!b&&a.gm?window&&window.location.reload():(b||(a.Gi=!0),a.Oh(Ll),a.Gi=!1)}else a.reset(),a.T&&Ib(a.T)}function C(a,b,c){a=Ra(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}k.Qa=function(a,b){this.Y&&(b||D(this.Y,this.Y.rm))&&this.Y.message(a)};
Fa(function(){for(var a=B(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=B(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=A(f),g=new Kl(g,d,!0);Ua(g,f);Nl(g,g.Oh)}});Ba.show.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ta("Computer",c.id))&&c.Ck&&!c.Mb&&c.Oh(-1)}});
Ba.exit.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ta("Computer",c.id))&&c.Mb&&Gl(c,!(!c.Oc||c.Vh),!0)}});var Tl=0;function Ul(a,b,c,d,e){sa(a,!0,null,null,function(f,g,h){h?e(g,null):Vl(g,a,b,c,d,e)})}
function Vl(a,b,c,d,e,f){function g(a,g){if(g)f(g,null);else{if(c){var n=b;n&&0>n.indexOf("/")&&(n=window.location.pathname+n);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(n?" url=$2"+n+"$2":""))}n=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),n=new window.ActiveXObject("Microsoft.XMLDOM"),n.async=!1,n.loadXML(a)):n=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){n=
null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);f(a,n)}}a?e?Wl(a,g):g(a,null):f("no data"+(b?" for file: "+b:""),null)}
function Wl(a,b){var c;if(c=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var d=c[2];sa(d,!0,null,null,function(e,f,g){if(g||!f)b(a,"unable to resolve XML reference: "+c[0]+" ("+g+")");else{if(e=c[3])if(g=f.match(new RegExp("<"+c[1]+"[^>]*>"))){for(var h=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(e);)h=0>h.indexOf(l[1])?h.replace(">",l[0]+">"):h.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=h&&(f=f.replace(g[0],h))}else{b(a,"missing <"+c[1]+"> in "+d);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(c[0],f);Wl(a,b)}})}else b(a,null)}
function Xl(a,b,c,d){function e(a){if(g){var b=B(g,"machine-warning");b[0]&&(b[0].innerHTML="Error: "+ha(a))}h&&f();h=!1}function f(){0==--Tl&&Ia(!0)}var g,h=!0;Tl++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.15.7/components.xsl");var l=function(a,d){if(d){var h=function(a,b){if(b)if(b)if(window.ActiveXObject||"ActiveXObject"in window){var h=d.transformNode(b);h?(g.outerHTML=h,f()):e("transformNodeToObject failed")}else window.document.implementation&&window.document.implementation.createDocument?
(h=new XSLTProcessor,h.importStylesheet(b),(h=h.transformToFragment(d,window.document))?(g.parentNode.replaceChild(h,g),f()):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e("failed to load XSL file: "+c);else e(a)};d?Ul(c,null,null,!1,h):e("failed to load XML file: "+b)}else e(a)};"<"!=b.substr(0,1)?Ul(b,a,d,!0,l):Vl(b,null,a,d,!1,l)}else e("failed to find machine element: "+a)}catch(n){e(n.message)}return h}
Ba.exit.push(function(){for(var a=B(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ta("Computer",c.id))&&c.Mb&&Gl(c,!(!c.Oc||c.Vh),!0)}});var Tl=0;function Ul(a,b,c,d,e,f){e("Loading "+a+"...");sa(a,!0,null,null,function(g,h,l){l?f(h,null):Vl(h,a,b,c,d,e,f)})}
function Vl(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if(0===a.indexOf("<"))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){h=
null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Wl(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Wl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Wl(a,b,c)}})}else c(a,null)}
function Xl(a,b,c,d){function e(a){if(void 0===l){var b=h&&B(h,"machine-warning");l=b&&b[0]||null}l&&(l.innerHTML=ha(a))}function f(a){e("Error: "+a);n&&g();n=!1}function g(){0==--Tl&&Ia(!0)}var h,l,n=!0;Tl++;try{if(h=window.document.getElementById(a)){c||(c="/versions/pcjs/1.15.7/components.xsl");var q=function(a,d){if(d){var l=function(a,l){if(l)if(l)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=d.transformNode(l);n?(h.outerHTML=n,g()):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(d,window.document))?(h.parentNode.replaceChild(n,h),g()):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Ul(c,null,null,!1,e,l):f("failed to load XML file: "+b)}else f(a)};"<"!=b.substr(0,1)?Ul(b,a,d,!0,e,q):Vl(b,null,a,d,!1,e,q)}else f("failed to find machine element: "+a)}catch(t){f(t.message)}return n}
window.embedPC=function(a,b,c,d){return Xl(a,b,c,d)};window.enableEvents=Ia;window.sendEvent=Ja;Ia(!1);})();//@ sourceMappingURL=/tmp/pcjs/1.15.7/pc-dbg.map