v1.16.3: Keyboard module rewrite
There are still a few regressions to address, but keyCode-to-simCode-to-scanCode conversion feels more robust/cleaner, and new features like programmable repeat rates will actually be doable now
This commit is contained in:
parent
028684366e
commit
88cc526c32
146 changed files with 8127 additions and 1880 deletions
|
|
@ -1,113 +1,114 @@
|
|||
(function(){var k,ba,l,ca={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36]};function da(a,b){return b&&10!=b?16==b?null!==a.match(/^[0-9a-f]+$/i):!0:null!==a.match(/^[0-9]+$/)}
|
||||
function ea(a,b){var 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;da(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(null==a||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 q(a){return p(a,2)}function v(a){return p(a,4)}function fa(a,b){return void 0!==b?v(b)+":"+v(a):p(a)}function ga(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 ha(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ja={"&":"&","<":"<",">":">",'"':""","'":"'"};function ka(a){return a.replace(/[&<>"']/g,function(a){return ja[a]})}
|
||||
function la(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 ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(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 pa(a,b,c){c=oa(a,b,c);0>c&&a.splice(-(c+1),0,b)}
|
||||
function qa(){return Date.now()||+new Date}function ra(){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 sa=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||
function ta(a,b,c,d,e,f){b=!!b;var g=0,h=null,n=ga(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(h=m.responseText,200==m.status||!m.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)))});if(c){var s="",r;for(r in c)c.hasOwnProperty(r)&&(s&&(s+="&"),s+=r+"="+encodeURIComponent(c[r]));s=s.replace(/%20/g,"+");m.open("POST",
|
||||
a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");m.send(s)}else m.open("GET",a,b),m.send();a=[];b||(h=m.responseText,200!=m.status&&(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)),a=[g,h]);return a}function ua(){return"http://"+(window?window.location.host:"www.pcjs.org")}function x(a){window&&window.alert(a)}function va(a){var b=!1;window&&(b=window.confirm(a));return b}var wa=null;
|
||||
function xa(){if(null==wa){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}wa=a}return wa}function Aa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ba(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
|
||||
function Ca(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 Da(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Ea(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 Ga={init:[],show:[],exit:[]},Ha=!1,Ia=!0;function Ja(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ka(a){Ga.init.push(a)}
|
||||
function La(a){if(Ia)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Ma(a){!Ia&&a?(Ia=!0,Ha&&Na("init")):Ia=a}function Na(a){Ga[a]&&La(Ga[a])}Ja("onload",function(){Ha=!0;La(Ga.init)});Ja("onpageshow",function(){La(Ga.show)});Ja(Ca("Opera")||Ca("iOS")?"onunload":"onbeforeunload",function(){La(Ga.exit)});
|
||||
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Ak=b.comment;this.mp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Tk=this.id.substr(0,b),this.Eh=this.id.substr(b+1)):this.Eh=this.id;this[a]=c;this.na={zh:!1,Kc:!1,Ei:!1,Tb:!1,fd:!1};this.Oi=null;this.na.fd=!1;this.xa={};this.ka=null;this.Yb=d||-1;Oa[Oa.length]=this}var Pa=void 0,Qa={};
|
||||
if(window){Pa||(Pa=window.location.search.substr(1));for(var Ra,Ua=/\+/g,Va=/([^&=]+)=?([^&]*)/g;Ra=Va.exec(Pa);)Qa[decodeURIComponent(Ra[1].replace(Ua," "))]=decodeURIComponent(Ra[2].replace(Ua," "))}function Wa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function Xa(a,b){b.prototype=Wa(a.prototype)}var Oa=[];
|
||||
function Ya(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Oa.length;b++){var d=Oa[b];a&&d.id.indexOf(a)||c.push(d)}return c}function $a(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Oa.length;c++)if(Oa[c].id===a)return Oa[c]}return null}
|
||||
function ab(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Oa.length;d++)if(c)c==Oa[d]&&(c=null);else if(!(a!=Oa[d].type||b&&Oa[d].id.indexOf(b)))return Oa[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){x(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
|
||||
function bb(a,b){for(var c=A(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h)for(var n=h.split(" "),m=0;m<n.length;m++)switch(h=n[m],h){case "pcjs-binding":(h=z(g))&&h.binding&&a.Ib(h.type,h.binding,g),m=n.length}}}}
|
||||
function A(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||
y.prototype={toString:function(){return this.name?this.name:this.id||this.type},Ib:function(a,b,c){switch(b){case "clear":return this.xa[b]||(this.xa[b]=c,c.onclick=function(a){return function(){a.xa.print&&(a.xa.print.value="")}}(this)),!0;case "print":return this.xa[b]||(this.gg=this.xa[b]=c,c.value="",this.Z=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.Ia=function(a,
|
||||
b,c){this.Z(a,"notice",c)}),!0;default:return!1}},log:function(){},Z:function(){},status:function(a){this.Z(this.Eh+": "+a)},Ia:function(a,b){b||x(a)},Wa:function(a){this.na.fd||(this.na.zh=!1!==a,this.na.zh&&(this.name&&this.log("ready"),a=this.Oi,this.Oi=null,a&&a()))},ec:function(){return this.na.Tb=!0},dc:function(a,b){b&&(this.na.Tb=!1);return!0},va:function(a){if(this.ka){a=this===this.ka?a|0:a||this.Yb;var b=this.ka.Yb&a;return b===a||!!(b&this.ka.Em)}return!1},qb:function(a,b,c){return this.ka?
|
||||
((!0===b||this.va(b|0))&&this.ka.message(a,c),!0):!1}};function B(a,b,c,d,e,f,g){a.ka&&(!0===g?g=0:null==g&&(g=a.Yb),cb(a.ka,a,b,c,d,e,f,g))}function db(a,b){if(a.na.Ei)return a.na.Kc&&(a.na.Kc=!1),a.na.Ei=!1;if(a.na.fd)return a.Z(a.toString()+" error"),!1;a.na.Kc=b;return a.na.Kc}function eb(a,b){a.na.Kc&&(b?a.na.Ei=!0:void 0===b&&a.Z(a.toString()+" busy"));return a.na.Kc}function fb(a,b){b&&(a.na.zh?b():a.Oi=b);return a.na.zh}function gb(a,b){a.na.fd=!0;a.Ia("Fatal error: "+b)}
|
||||
function hb(a){y.call(this,"Panel",a,hb)}Xa(y,hb);hb.prototype.Ib=function(a,b,c){return this.Ma&&this.Ma.Ib(a,b,c)||this.T&&this.T.Ib(a,b,c)||this.Va&&this.Va.Ib(a,b,c)||this.ka&&this.ka.Ib(a,b,c)?!0:y.prototype.Ib.call(this,a,b,c)};hb.prototype.vc=function(a,b,c,d){this.Ma=a;this.T=c;this.ka=d;this.Va=ib(a,"Keyboard")};hb.prototype.ec=function(a,b){b||jb();return!0};hb.prototype.dc=function(){return!0};
|
||||
function jb(){for(var a=!1,b=A(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=$a(e.id);f||(a=!0,f=new hb(e));bb(f,d);a&&f.Wa()}}Ka(jb);function kb(a,b,c){y.call(this,"Bus",a,kb);this.T=b;this.ka=c;this.Af=a.buswidth||20;this.Wf=this.md=(1<<this.Af)-1;this.Eb=20>=this.Af?12:14;this.mc=1<<this.Eb;this.wk=this.mc>>2;this.ob=this.mc-1;this.jh=(this.Wf+this.mc)/this.mc|0;this.He=this.jh-1;this.Ad=[];this.Bd=[];this.lg=this.mg=!1;this.Ui();this.Wa()}Xa(y,kb);
|
||||
kb.prototype.Ui=function(){this.Ha=Array(this.jh);for(var a=0;a<this.jh;a++){var b=a*this.mc;lb(this.Ha[a]=new mb(b),this.T,this.ka,b,this.mc)}this.T.Ui(this.Ha,this.Wf,this.Eb,this.ob,this.He);this.T.De=this.md};kb.prototype.reset=function(){nb(this,!0)};kb.prototype.ec=function(a,b){b||this.reset();return!0};
|
||||
function ob(a,b,c,d,e){if(!(b&a.ob||!c||c&a.ob)){for(var f=b>>a.Eb;0<c&&f<a.Ha.length;){var g=a.Ha[f];if(void 0!==g&&g.size)return pb(1,b,c);b=f*a.mc;g=a.Ha[f++]=new mb(b,a.mc,d,e);lb(g,a.T,a.ka,b,a.mc);c-=a.mc}return!0}return pb(2,b,c)}function nb(a,b){if(void 0!==b&&20<a.Af){var c=a.md&-1048577|(b?1048576:0);c!=a.md&&(a.md=c,a.T&&(a.T.De=c))}}
|
||||
kb.prototype.$h=function(a,b,c){if(!(a&this.ob||!b||b&this.ob)){for(var d=a>>this.Eb;0<b;){var e=this.Ha[d];if(!e.ga)return pb(5,a,b);e.bf(c);b-=this.mc;d++}return!0}return pb(3,a,b)};function qb(a,b,c){if(!(b&a.ob||!c||c&a.ob)){for(var d=b>>a.Eb;0<c;)b=d*a.mc,lb(a.Ha[d++]=new mb(b),a.T,a.ka,b,a.mc),c-=a.mc;return!0}return pb(4,b,c)}function rb(a,b){return a.Ha[(b&a.md)>>a.Eb].Ig(b&a.ob)}
|
||||
function sb(a,b){var c=b&a.ob,d=(b&a.md)>>a.Eb;return c!=a.ob?a.Ha[d].Vj(c):a.Ha[d++].Ig(c)|a.Ha[d&a.He].Ig(0)<<8}function tb(a,b,c){a.Ha[(b&a.md)>>a.Eb].Og(b&a.ob,c&255)}function ub(a,b,c){var d=b&a.ob;b=(b&a.md)>>a.Eb;d!=a.ob?a.Ha[b].ek(d,c&65535):(a.Ha[b++].Og(d,c&255),a.Ha[b&a.He].Og(0,c>>8&255))}
|
||||
function vb(a){for(var b=0,c=[],d=0;d<a.jh;d++){var e=a.Ha[d];if(e.xb||e.Gk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,n=0,m=[];h<e.length;){for(var s=e[h],r=h+1;r<e.length&&e[r]===s;)r++;m[n++]=r-h;m[n++]=s;h=r}if(m.length<e.length){e=m;break a}}f[g]=e}}c[b]=a.Wf==a.md;return c}function wb(a,b){if(void 0===b)return a.lg=!a.lg,a.lg;void 0===a.Ad[b]&&(a.Ad[b]=[null,null,!1]);a.Ad[b][2]=!a.Ad[b][2];return a.Ad[b][2]}
|
||||
function xb(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,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.Ad[m]?x("Input port "+v(m)+" registered by "+f.Ad[m][0].id+", ignoring "+h.id):f.Ad[m]=[h,n,!1,!1]}}function yb(a,b,c){var d=255,e=a.Ad[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.ka&&a.lg!=e[2]&&zb(a.ka,b,d)):a.ka&&(cb(a.ka,a,b,null,c),a.lg&&zb(a.ka,b,d));return d}
|
||||
function Ab(a,b){if(void 0===b)return a.mg=!a.mg,a.mg;void 0===a.Bd[b]&&(a.Bd[b]=[null,null,!1]);a.Bd[b][2]=!a.Bd[b][2];return a.Bd[b][2]}function Bb(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,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.Bd[m]?x("Output port "+v(m)+" registered by "+f.Bd[m][0].id+", ignoring "+h.id):f.Bd[m]=[h,n,!1,!1]}}
|
||||
function Cb(a,b,c,d){var e=a.Bd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.ka&&a.mg!=e[2]&&Db(a.ka,b,c)):a.ka&&(cb(a.ka,a,b,c,d),a.mg&&Db(a.ka,b,c))}function pb(a,b,c){x("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
|
||||
function mb(a,b,c,d){this.Gm=b||0;this.ya=null;this.offset=0;this.yh=c;this.ga=null;this.xb=this.Gk=!1;if(b)if(d)this.ga=d,a=[d.nd,a-d.Xa],this.ya=a[0],this.offset=a[1],this.bf(d.Yf);else{this.ya=Array(b>>2);for(d=0;d<this.ya.length;d++)this.ya[d]=0;this.bf(Eb)}else this.bf()}
|
||||
mb.prototype={Th:function(){this.ka.va(Fb)&&this.ka.message("attempt to read invalid block %"+p(this.be)+" from "+fa(this.T.wa,this.T.ua.ta));return 0},Of:function(a,b){this.ka.va(Fb)&&this.ka.message("attempt to write 0x"+v(b)+" to invalid block %"+p(this.be),!0)},pp:function(a){return this.ya[a>>2]>>>((a&3)<<3)&255},rp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Cp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<<d)|b<<
|
||||
d;this.xb=!0},Ep:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<<d)|b<<d:(this.ya[c]=this.ya[c]&16777215|b<<24,c++,this.ya[c]=this.ya[c]&4294967040|b>>8);this.xb=!0},op:function(a){Gb(this.ka,this.be+a);return this.Ig(a)},qp:function(a){Gb(this.ka,this.be+a)||Gb(this.ka,this.be+a+1);return this.Vj(a)},Bp:function(a,b){Hb(this.ka,this.be+a);this.Og(a,b)},Dp:function(a,b){Hb(this.ka,this.be+a)||Hb(this.ka,this.be+a+1);this.ek(a,b)},save:function(){return this.ga?null:this.ya},
|
||||
restore:function(a){return this.ga?null==a:a&&this.Gm==a.length<<2?(this.ya=a,this.xb=!0):!1},bf:function(a,b){a||(a=[]);void 0===b&&(b=!0);Ib(this,a,b);Jb(this,a,b)},ae:function(a,b){b?0===this.yk++&&Jb(this,Kb):0===this.xk++&&Ib(this,Kb)}};function Lb(a,b){b?0===--a.yk&&(a.Mc=a.yh?a.Of:a.Og,a.um=a.yh?a.Of:a.ek):0===--a.xk&&(a.yc=a.Ig,a.hm=a.Vj)}function lb(a,b,c,d,e){a.T=b;a.ka=c;a.be=d;a.xk=a.yk=0;a.ka&&Mb(a.ka,d,e)}
|
||||
function Jb(a,b,c){a.Mc=b[2]&&!a.yh?b[2]:a.Of;a.um=b[3]&&!a.yh?b[3]:a.Of;c&&(a.Og=b[2]?b[2]:a.Of,a.ek=b[3]?b[3]:a.Of)}function Ib(a,b,c){a.yc=b[0]?b[0]:a.Th;a.hm=b[1]?b[1]:a.Th;c&&(a.Ig=b[0]?b[0]:a.Th,a.Vj=b[1]?b[1]:a.Th)}var Eb=[mb.prototype.pp,mb.prototype.rp,mb.prototype.Cp,mb.prototype.Ep],Kb=[mb.prototype.op,mb.prototype.qp,mb.prototype.Bp,mb.prototype.Dp];
|
||||
function Nb(a,b){y.call(this,"CPU",a,Nb,Ob);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.vd=c;this.da.Pd=d;this.da.Gh=Math.round(this.da.vd/1E4)/100;this.da.Te=this.da.Gh*this.da.Pd;this.na.Tb=!1;this.na.Fb=!1;this.na.Mi=!1;this.na.Di=a.autoStart;this.na.Hk=!1;c=Qa.autostart;void 0!==c&&(this.na.Di="true"==c?!0:"false"==c?!1:null);this.na.rf=!1;this.da.pg=this.da.Cf=0;this.da.qg=a.csStart;this.da.Bf=a.csInterval;this.da.Df=a.csStop;var e=this;this.po=function(){e.Ze()};this.Wa()}Xa(y,Nb);
|
||||
k=Nb.prototype;k.vc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=ib(a,"Video");e&&(this.Ai=function(){Pb(e)},this.Yc=function(){e.Yc()});this.pa=ib(a,"ChipSet");this.Wa()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ec=function(a,b){if(!b){if(a&&this.restore){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.Wn():this.Z("No debugger detected")}this.na.Tb=!0;!Sb(this)&&this.ka&&Ub(this.ka);Vb(this);return!0};
|
||||
k.dc=function(a){this.na.Tb=!1;return a&&this.save?this.save():!0};function Sb(a){return!0===a.na.Di||null===a.na.Di&&!a.ka&&void 0===a.xa.run?(a.Ze(),!0):!1}k.Yc=function(){};k.Pk=function(){return 0};function Rb(a){void 0===a.da.qg&&(a.da.qg=0);void 0===a.da.Bf&&(a.da.Bf=-1);void 0===a.da.Df&&(a.da.Df=-1);a.na.rf=0<=a.da.qg&&0<a.da.Bf;a.na.rf&&(a.da.pg=0,a.da.Cf=a.da.qg-a.Xe)}
|
||||
function Wb(a,b){if(a.na.rf){var c=!1;a.da.pg=a.da.pg+a.Pk()|0;a.da.Cf-=b;0>=a.da.Cf&&(a.da.Cf+=a.da.Bf,c=!0);0<=a.da.Df&&a.da.Df<=D(a)&&(a.da.Bf=a.da.Df=-1,Rb(a),a.Jb(),c=!0);c&&a.Z(D(a)+" cycles: checksum="+p(a.da.pg))}}function F(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(gb(a,"Register "+b+" is invalid"),a.Jb()),c=!a.na.Fb||a.na.Hk?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.qh=function(){};k.Ai=function(){};
|
||||
k.Ib=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.na.Fb?d.Jb(!0):d.Ze(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Xb(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Yb(d,d.da.Pd<<1,!0)},c.textContent=this.da.Te.toFixed(2)+"Mhz",a=!0}return a};function Zb(a,b){if(a.na.Fb){var c=a.A-b;a.A-=c;a.Uc-=c}}function $b(a,b,c){a.Xe+=b;c&&(a.Uc=a.A=0)}
|
||||
function ac(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.da.Pd&&a.da.ud&&(d=a.da.ud/a.da.Gh);a.da.Xk=Math.round(1E3/30);a.da.jo=Math.floor(a.da.vd/c*d);a.da.$i=Math.floor(a.da.vd/30*d);a.da.al=Math.floor(a.da.vd/60*d);a.da.$k=Math.floor(a.da.vd/2*d);b||(a.da.Ef=a.da.$i,a.da.sg=a.da.al,a.da.rg=a.da.$k);a.da.aj=0}function D(a,b){var c=a.Xe+a.se+a.Uc-a.A;b&&1<a.da.Pd&&a.da.ud>a.da.Gh&&(c=Math.round(c/a.da.Pd));return c}function Qb(a){a.da.ud=0;a.Xe=a.se=a.Uc=a.A=0;Rb(a);Yb(a,1)}
|
||||
function Yb(a,b,c){if(void 0!==b){0.8>a.da.ud/a.da.Te&&(b=1);a.da.Pd=b;b=a.da.Gh*a.da.Pd;if(a.da.Te!=b){a.da.Te=b;b=a.da.Te.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Yc()}$b(a,a.se);a.se=0;a.da.zf=qa();a.da.Ue=0;ac(a)}
|
||||
k.Ze=function(a){if(db(this,!0)){if(!this.na.Fb){Yb(this);this.Ma&&this.Ma.start(this.da.zf,D(this));this.na.Fb=!0;this.na.Mi=!0;this.pa&&bc(this.pa);var b=this.xa.run;b&&(b.textContent="Halt");this.qh(!0);a&&this.Yc()}this.da.aj>=this.da.vd&&ac(this,!0);this.da.tg=0;this.da.Hh=qa();this.da.Ue&&(a=this.da.Hh-this.da.Ue,a>this.da.Xk&&(this.da.zf+=a,this.da.zf>this.da.Hh&&(this.da.zf=this.da.Hh)));try{do{var c=this.na.rf?1:this.da.jo;if(this.pa){cc(this.pa);var d=this.pa;a=c;var e=d.Lb[0];if(e.Re){var f=
|
||||
(D(d.T,d.le)-e.jd)/d.Qh|0,g=dc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Qh|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.pa;a=c;if(n.ma&&n.ma[11]&64){var m=n.Hf-D(n.T,n.le);0<m&&a>m&&(a=m)}c=a}this.Nf(c);var s=this.Uc-this.A;this.se+=s;this.da.tg+=s;$b(this,0,!0);Wb(this,s);this.da.sg-=s;0>=this.da.sg&&(this.da.sg+=this.da.al,this.Ai());this.da.rg-=s;0>=this.da.rg&&(this.da.rg+=this.da.$k,this.qh());this.da.Ef-=s;if(0>=this.da.Ef){this.da.Ef+=this.da.$i;break}}while(this.na.Fb)}catch(r){this.Jb();Vb(this);
|
||||
this.Ma&&this.Ma.stop(qa(),D(this));db(this,!1);gb(this,r.message);return}c=setTimeout;d=this.po;this.da.Ue=qa();e=this.da.Xk;this.da.tg&&(e=Math.round(e*this.da.tg/this.da.$i));e-=this.da.Ue-this.da.Hh;if(f=this.da.Ue-this.da.zf)this.da.ud=Math.round(this.se/(10*f))/100,864E5<=f&&(this.Xe=0,this.pa&&cc(this.pa,!0),Yb(this));if(0>e||this.da.ud<this.da.Te)e=0;this.da.aj+=this.da.tg;this.da.Ue+=e;c(d,e)}else Vb(this),this.Ma&&this.Ma.stop(qa(),D(this))};k.Nf=function(){return 0};
|
||||
k.Jb=function(a){eb(this,!0);this.Uc-=this.A;this.A=0;$b(this,this.se);this.se=0;if(this.na.Fb){this.na.Fb=!1;this.pa&&bc(this.pa);var b=this.xa.run;b&&(b.textContent="Run")}this.na.jg=a};function Vb(a){a.Ai();a.qh()}
|
||||
(function(){var k,aa,l,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36]};
|
||||
function da(a,b){var 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,d=a;(b&&10!=b?16==b?null!==d.match(/^[0-9a-f]+$/i):1:null!==d.match(/^[0-9]+$/))&&!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(null==a||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 q(a){return p(a,2)}function s(a){return p(a,4)}function ea(a,b){return void 0!==b?s(b)+":"+s(a):p(a)}function fa(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 ga(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}var ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function ia(a){return a.replace(/[&<>"']/g,function(a){return ha[a]})}function ja(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 la(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 qa(){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 ra=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||
function sa(a,b,c,d,e,f){b=!!b;var g=0,h=null,n=fa(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(h=m.responseText,200==m.status||!m.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)))});if(c){var t="",r;for(r in c)c.hasOwnProperty(r)&&(t&&(t+="&"),t+=r+"="+encodeURIComponent(c[r]));t=t.replace(/%20/g,"+");m.open("POST",
|
||||
a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");m.send(t)}else m.open("GET",a,b),m.send();a=[];b||(h=m.responseText,200!=m.status&&(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,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)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;
|
||||
function wa(){if(null==va){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}va=a}return va}function xa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
|
||||
function za(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 Ca(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Da(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 Ea={init:[],show:[],exit:[]},Fa=!1,Ga=!0;function Ia(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ja(a){Ea.init.push(a)}
|
||||
function Ka(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function La(a){!Ga&&a?(Ga=!0,Fa&&Ma("init")):Ga=a}function Ma(a){Ea[a]&&Ka(Ea[a])}Ia("onload",function(){Fa=!0;Ka(Ea.init)});Ia("onpageshow",function(){Ka(Ea.show)});Ia(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Ka(Ea.exit)});
|
||||
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Bk=b.comment;this.op=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Uk=this.id.substr(0,b),this.Fh=this.id.substr(b+1)):this.Fh=this.id;this[a]=c;this.na={Ah:!1,Kc:!1,Ei:!1,Sb:!1,fd:!1};this.Pi=null;this.na.fd=!1;this.xa={};this.ka=null;this.Yb=d||-1;Na[Na.length]=this}var Oa=void 0,Pa={};
|
||||
if(window){Oa||(Oa=window.location.search.substr(1));for(var Qa,Ra=/\+/g,Sa=/([^&=]+)=?([^&]*)/g;Qa=Sa.exec(Oa);)Pa[decodeURIComponent(Qa[1].replace(Ra," "))]=decodeURIComponent(Qa[2].replace(Ra," "))}function Ta(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function Wa(a,b){b.prototype=Ta(a.prototype)}var Na=[];
|
||||
function Xa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ya(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Na.length;c++)if(Na[c].id===a)return Na[c]}return null}
|
||||
function Za(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function $a(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){w(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
|
||||
function bb(a,b){for(var c=z(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h)for(var n=h.split(" "),m=0;m<n.length;m++)switch(h=n[m],h){case "pcjs-binding":(h=$a(g))&&h.binding&&a.Hb(h.type,h.binding,g),m=n.length}}}}
|
||||
function z(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||
y.prototype={toString:function(){return this.name?this.name:this.id||this.type},Hb:function(a,b,c){switch(b){case "clear":return this.xa[b]||(this.xa[b]=c,c.onclick=function(a){return function(){a.xa.print&&(a.xa.print.value="")}}(this)),!0;case "print":return this.xa[b]||(this.gg=this.xa[b]=c,c.value="",this.Z=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),this.Ia=function(a,
|
||||
b,c){this.Z(a,"notice",c)}),!0;default:return!1}},log:function(){},Z:function(){},status:function(a){this.Z(this.Fh+": "+a)},Ia:function(a,b){b||w(a)},ec:function(){return this.na.Sb=!0},dc:function(a,b){b&&(this.na.Sb=!1);return!0},ua:function(a){if(this.ka){a=this===this.ka?a|0:a||this.Yb;var b=this.ka.Yb&a;return b===a||!!(b&this.ka.Fm)}return!1},cb:function(a,b,c){return this.ka?((!0===b||this.ua(b|0))&&this.ka.message(a,c),!0):!1}};
|
||||
function A(a,b,c,d,e,f,g){a.ka&&(!0===g?g=0:null==g&&(g=a.Yb),cb(a.ka,a,b,c,d,e,f,g))}function db(a,b){if(a.na.Ei)return a.na.Kc&&(a.na.Kc=!1),a.na.Ei=!1;if(a.na.fd)return a.Z(a.toString()+" error"),!1;a.na.Kc=b;return a.na.Kc}function eb(a,b){a.na.Kc&&(b?a.na.Ei=!0:void 0===b&&a.Z(a.toString()+" busy"));return a.na.Kc}function B(a,b){if(!a.na.fd&&(a.na.Ah=!1!==b,a.na.Ah)){a.name&&a.log("ready");var c=a.Pi;a.Pi=null;c&&c()}}function fb(a,b){b&&(a.na.Ah?b():a.Pi=b);return a.na.Ah}
|
||||
function gb(a,b){a.na.fd=!0;a.Ia("Fatal error: "+b)}function hb(a){y.call(this,"Panel",a,hb)}Wa(y,hb);hb.prototype.Hb=function(a,b,c){return this.Ma&&this.Ma.Hb(a,b,c)||this.T&&this.T.Hb(a,b,c)||this.Sa&&this.Sa.Hb(a,b,c)||this.ka&&this.ka.Hb(a,b,c)?!0:y.prototype.Hb.call(this,a,b,c)};hb.prototype.vc=function(a,b,c,d){this.Ma=a;this.T=c;this.ka=d;this.Sa=ib(a,"Keyboard")};hb.prototype.ec=function(a,b){b||jb();return!0};hb.prototype.dc=function(){return!0};
|
||||
function jb(){for(var a=!1,b=z(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=$a(d),f=Ya(e.id);f||(a=!0,f=new hb(e));bb(f,d);a&&B(f)}}Ja(jb);function kb(a,b,c){y.call(this,"Bus",a,kb);this.T=b;this.ka=c;this.zf=a.buswidth||20;this.Wf=this.ld=(1<<this.zf)-1;this.Eb=20>=this.zf?12:14;this.mc=1<<this.Eb;this.xk=this.mc>>2;this.qb=this.mc-1;this.jh=(this.Wf+this.mc)/this.mc|0;this.He=this.jh-1;this.xd=[];this.yd=[];this.lg=this.mg=!1;this.Vi();B(this)}Wa(y,kb);
|
||||
kb.prototype.Vi=function(){this.Ha=Array(this.jh);for(var a=0;a<this.jh;a++){var b=a*this.mc;lb(this.Ha[a]=new mb(b),this.T,this.ka,b,this.mc)}this.T.Vi(this.Ha,this.Wf,this.Eb,this.qb,this.He);this.T.De=this.ld};kb.prototype.reset=function(){nb(this,!0)};kb.prototype.ec=function(a,b){b||this.reset();return!0};
|
||||
function ob(a,b,c,d,e){if(!(b&a.qb||!c||c&a.qb)){for(var f=b>>a.Eb;0<c&&f<a.Ha.length;){var g=a.Ha[f];if(void 0!==g&&g.size)return pb(1,b,c);b=f*a.mc;g=a.Ha[f++]=new mb(b,a.mc,d,e);lb(g,a.T,a.ka,b,a.mc);c-=a.mc}return!0}return pb(2,b,c)}function nb(a,b){if(void 0!==b&&20<a.zf){var c=a.ld&-1048577|(b?1048576:0);c!=a.ld&&(a.ld=c,a.T&&(a.T.De=c))}}
|
||||
kb.prototype.ai=function(a,b,c){if(!(a&this.qb||!b||b&this.qb)){for(var d=a>>this.Eb;0<b;){var e=this.Ha[d];if(!e.ga)return pb(5,a,b);e.af(c);b-=this.mc;d++}return!0}return pb(3,a,b)};function qb(a,b,c){if(!(b&a.qb||!c||c&a.qb)){for(var d=b>>a.Eb;0<c;)b=d*a.mc,lb(a.Ha[d++]=new mb(b),a.T,a.ka,b,a.mc),c-=a.mc;return!0}return pb(4,b,c)}function rb(a,b){return a.Ha[(b&a.ld)>>a.Eb].Ig(b&a.qb)}
|
||||
function sb(a,b){var c=b&a.qb,d=(b&a.ld)>>a.Eb;return c!=a.qb?a.Ha[d].Wj(c):a.Ha[d++].Ig(c)|a.Ha[d&a.He].Ig(0)<<8}function tb(a,b,c){a.Ha[(b&a.ld)>>a.Eb].Og(b&a.qb,c&255)}function ub(a,b,c){var d=b&a.qb;b=(b&a.ld)>>a.Eb;d!=a.qb?a.Ha[b].fk(d,c&65535):(a.Ha[b++].Og(d,c&255),a.Ha[b&a.He].Og(0,c>>8&255))}
|
||||
function vb(a){for(var b=0,c=[],d=0;d<a.jh;d++){var e=a.Ha[d];if(e.xb||e.Hk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,n=0,m=[];h<e.length;){for(var t=e[h],r=h+1;r<e.length&&e[r]===t;)r++;m[n++]=r-h;m[n++]=t;h=r}if(m.length<e.length){e=m;break a}}f[g]=e}}c[b]=a.Wf==a.ld;return c}function wb(a,b){if(void 0===b)return a.lg=!a.lg,a.lg;void 0===a.xd[b]&&(a.xd[b]=[null,null,!1]);a.xd[b][2]=!a.xd[b][2];return a.xd[b][2]}
|
||||
function xb(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,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.xd[m]?w("Input port "+s(m)+" registered by "+f.xd[m][0].id+", ignoring "+h.id):f.xd[m]=[h,n,!1,!1]}}function yb(a,b,c){var d=255,e=a.xd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.ka&&a.lg!=e[2]&&zb(a.ka,b,d)):a.ka&&(cb(a.ka,a,b,null,c),a.lg&&zb(a.ka,b,d));return d}
|
||||
function Ab(a,b){if(void 0===b)return a.mg=!a.mg,a.mg;void 0===a.yd[b]&&(a.yd[b]=[null,null,!1]);a.yd[b][2]=!a.yd[b][2];return a.yd[b][2]}function Bb(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,n=c[e];if(void 0!==n)for(var m=e+d;m<=g;m++)void 0!==f.yd[m]?w("Output port "+s(m)+" registered by "+f.yd[m][0].id+", ignoring "+h.id):f.yd[m]=[h,n,!1,!1]}}
|
||||
function Cb(a,b,c,d){var e=a.yd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.ka&&a.mg!=e[2]&&Db(a.ka,b,c)):a.ka&&(cb(a.ka,a,b,c,d),a.mg&&Db(a.ka,b,c))}function pb(a,b,c){w("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
|
||||
function mb(a,b,c,d){this.Hm=b||0;this.ya=null;this.offset=0;this.zh=c;this.ga=null;this.xb=this.Hk=!1;if(b)if(d)this.ga=d,a=[d.md,a-d.Wa],this.ya=a[0],this.offset=a[1],this.af(d.Yf);else{this.ya=Array(b>>2);for(d=0;d<this.ya.length;d++)this.ya[d]=0;this.af(Eb)}else this.af()}
|
||||
mb.prototype={Uh:function(){this.ka.ua(Fb)&&this.ka.message("attempt to read invalid block %"+p(this.$d)+" from "+ea(this.T.wa,this.T.va.ta));return 0},Of:function(a,b){this.ka.ua(Fb)&&this.ka.message("attempt to write 0x"+s(b)+" to invalid block %"+p(this.$d),!0)},rp:function(a){return this.ya[a>>2]>>>((a&3)<<3)&255},tp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},Dp:function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<<d)|b<<
|
||||
d;this.xb=!0},Fp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<<d)|b<<d:(this.ya[c]=this.ya[c]&16777215|b<<24,c++,this.ya[c]=this.ya[c]&4294967040|b>>8);this.xb=!0},qp:function(a){Gb(this.ka,this.$d+a);return this.Ig(a)},sp:function(a){Gb(this.ka,this.$d+a)||Gb(this.ka,this.$d+a+1);return this.Wj(a)},Cp:function(a,b){Hb(this.ka,this.$d+a);this.Og(a,b)},Ep:function(a,b){Hb(this.ka,this.$d+a)||Hb(this.ka,this.$d+a+1);this.fk(a,b)},save:function(){return this.ga?null:this.ya},
|
||||
restore:function(a){return this.ga?null==a:a&&this.Hm==a.length<<2?(this.ya=a,this.xb=!0):!1},af:function(a,b){a||(a=[]);void 0===b&&(b=!0);Ib(this,a,b);Jb(this,a,b)},Zd:function(a,b){b?0===this.zk++&&Jb(this,Kb):0===this.yk++&&Ib(this,Kb)}};function Lb(a,b){b?0===--a.zk&&(a.Mc=a.zh?a.Of:a.Og,a.vm=a.zh?a.Of:a.fk):0===--a.yk&&(a.yc=a.Ig,a.hm=a.Wj)}function lb(a,b,c,d,e){a.T=b;a.ka=c;a.$d=d;a.yk=a.zk=0;a.ka&&Mb(a.ka,d,e)}
|
||||
function Jb(a,b,c){a.Mc=b[2]&&!a.zh?b[2]:a.Of;a.vm=b[3]&&!a.zh?b[3]:a.Of;c&&(a.Og=b[2]?b[2]:a.Of,a.fk=b[3]?b[3]:a.Of)}function Ib(a,b,c){a.yc=b[0]?b[0]:a.Uh;a.hm=b[1]?b[1]:a.Uh;c&&(a.Ig=b[0]?b[0]:a.Uh,a.Wj=b[1]?b[1]:a.Uh)}var Eb=[mb.prototype.rp,mb.prototype.tp,mb.prototype.Dp,mb.prototype.Fp],Kb=[mb.prototype.qp,mb.prototype.sp,mb.prototype.Cp,mb.prototype.Ep];
|
||||
function Nb(a,b){y.call(this,"CPU",a,Nb,Ob);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.sd=c;this.da.Nd=d;this.da.Hh=Math.round(this.da.sd/1E4)/100;this.da.Te=this.da.Hh*this.da.Nd;this.na.Sb=!1;this.na.mb=!1;this.na.Mi=!1;this.na.Di=a.autoStart;this.na.Ik=!1;c=Pa.autostart;void 0!==c&&(this.na.Di="true"==c?!0:"false"==c?!1:null);this.na.qf=!1;this.da.pg=this.da.Bf=0;this.da.qg=a.csStart;this.da.Af=a.csInterval;this.da.Cf=a.csStop;var e=this;this.ro=function(){e.Ye()};B(this)}Wa(y,Nb);
|
||||
k=Nb.prototype;k.vc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=ib(a,"Video");e&&(this.Ai=function(){Pb(e)},this.Yc=function(){e.Yc()});this.oa=ib(a,"ChipSet");B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ec=function(a,b){if(!b){if(a&&this.restore){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.Xn():this.Z("No debugger detected")}this.na.Sb=!0;!Sb(this)&&this.ka&&Tb(this.ka);Ub(this);return!0};
|
||||
k.dc=function(a){this.na.Sb=!1;return a&&this.save?this.save():!0};function Sb(a){return!0===a.na.Di||null===a.na.Di&&!a.ka&&void 0===a.xa.run?(a.Ye(),!0):!1}k.Yc=function(){};k.Qk=function(){return 0};function Rb(a){void 0===a.da.qg&&(a.da.qg=0);void 0===a.da.Af&&(a.da.Af=-1);void 0===a.da.Cf&&(a.da.Cf=-1);a.na.qf=0<=a.da.qg&&0<a.da.Af;a.na.qf&&(a.da.pg=0,a.da.Bf=a.da.qg-a.Xe)}
|
||||
function Wb(a,b){if(a.na.qf){var c=!1;a.da.pg=a.da.pg+a.Qk()|0;a.da.Bf-=b;0>=a.da.Bf&&(a.da.Bf+=a.da.Af,c=!0);0<=a.da.Cf&&a.da.Cf<=D(a)&&(a.da.Af=a.da.Cf=-1,Rb(a),a.Ib(),c=!0);c&&a.Z(D(a)+" cycles: checksum="+p(a.da.pg))}}function F(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(gb(a,"Register "+b+" is invalid"),a.Ib()),c=!a.na.mb||a.na.Ik?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.qh=function(){};k.Ai=function(){};
|
||||
k.Hb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.na.mb?d.Ib(!0):d.Ye(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Xb(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Yb(d,d.da.Nd<<1,!0)},c.textContent=this.da.Te.toFixed(2)+"Mhz",a=!0}return a};function Zb(a,b){if(a.na.mb){var c=a.A-b;a.A-=c;a.Uc-=c}}function $b(a,b,c){a.Xe+=b;c&&(a.Uc=a.A=0)}
|
||||
function ac(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.da.Nd&&a.da.ne&&(d=a.da.ne/a.da.Hh);a.da.Yk=Math.round(1E3/30);a.da.lo=Math.floor(a.da.sd/c*d);a.da.aj=Math.floor(a.da.sd/30*d);a.da.bl=Math.floor(a.da.sd/60*d);a.da.al=Math.floor(a.da.sd/2*d);b||(a.da.Df=a.da.aj,a.da.sg=a.da.bl,a.da.rg=a.da.al);a.da.bj=0}function D(a,b){var c=a.Xe+a.re+a.Uc-a.A;b&&1<a.da.Nd&&a.da.ne>a.da.Hh&&(c=Math.round(c/a.da.Nd));return c}function Qb(a){a.da.ne=0;a.Xe=a.re=a.Uc=a.A=0;Rb(a);Yb(a,1)}
|
||||
function Yb(a,b,c){if(void 0!==b){0.8>a.da.ne/a.da.Te&&(b=1);a.da.Nd=b;b=a.da.Hh*a.da.Nd;if(a.da.Te!=b){a.da.Te=b;b=a.da.Te.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Yc()}$b(a,a.re);a.re=0;a.da.yf=oa();a.da.Ue=0;ac(a)}
|
||||
k.Ye=function(a){if(db(this,!0)){if(!this.na.mb){Yb(this);this.Ma&&this.Ma.start(this.da.yf,D(this));this.na.mb=!0;this.na.Mi=!0;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Halt");this.qh(!0);a&&this.Yc()}this.da.bj>=this.da.sd&&ac(this,!0);this.da.tg=0;this.da.Ih=oa();this.da.Ue&&(a=this.da.Ih-this.da.Ue,a>this.da.Yk&&(this.da.yf+=a,this.da.yf>this.da.Ih&&(this.da.yf=this.da.Ih)));try{do{var c=this.na.qf?1:this.da.lo;if(this.oa){cc(this.oa);var d=this.oa;a=c;var e=d.Kb[0];if(e.Re){var f=
|
||||
(D(d.T,d.je)-e.jd)/d.Rh|0,g=dc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Rh|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.oa;a=c;if(n.ma&&n.ma[11]&64){var m=n.Gf-D(n.T,n.je);0<m&&a>m&&(a=m)}c=a}this.Nf(c);var t=this.Uc-this.A;this.re+=t;this.da.tg+=t;$b(this,0,!0);Wb(this,t);this.da.sg-=t;0>=this.da.sg&&(this.da.sg+=this.da.bl,this.Ai());this.da.rg-=t;0>=this.da.rg&&(this.da.rg+=this.da.al,this.qh());this.da.Df-=t;if(0>=this.da.Df){this.da.Df+=this.da.aj;break}}while(this.na.mb)}catch(r){this.Ib();Ub(this);
|
||||
this.Ma&&this.Ma.stop(oa(),D(this));db(this,!1);gb(this,r.message);return}c=setTimeout;d=this.ro;this.da.Ue=oa();e=this.da.Yk;this.da.tg&&(e=Math.round(e*this.da.tg/this.da.aj));e-=this.da.Ue-this.da.Ih;if(f=this.da.Ue-this.da.yf)this.da.ne=Math.round(this.re/(10*f))/100,864E5<=f&&(this.Xe=0,this.oa&&cc(this.oa,!0),Yb(this));if(0>e||this.da.ne<this.da.Te)e=0;this.da.bj+=this.da.tg;this.da.Ue+=e;c(d,e)}else Ub(this),this.Ma&&this.Ma.stop(oa(),D(this))};k.Nf=function(){return 0};
|
||||
k.Ib=function(a){eb(this,!0);this.Uc-=this.A;this.A=0;$b(this,this.re);this.re=0;if(this.na.mb){this.na.mb=!1;this.oa&&bc(this.oa);var b=this.xa.run;b&&(b.textContent="Run")}this.na.jg=a};function Ub(a){a.Ai();a.qh()}
|
||||
var ec=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
|
||||
0,0,1,1,0,1,0,0,1];function fc(a,b,c,d){this.T=a;this.ka=a.ka;this.id=b;this.Lg=c||"";this.Ga=this.ta=0;this.oc=65535;this.nb=0;this.Dd=-4;this.nc=this.cb=0;this.qk=this.id==gc?Array(32):[];this.Fi=null;this.Bh=!1;hc(this,d)}var gc=1;function ic(a){this.ta=a;return this.Ga=a<<4}function jc(a,b){var c,d,e=this.T;a&4?(c=e.Xc.Ga,d=c+e.Xc.oc):(c=e.Ec,d=e.Be);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),kc(this,c,a,b);b||lc.call(e,13,a)}return-4}
|
||||
function mc(a){var b=this.T;a=b.Qc+(a<<2);b.wa=b.ra(a);this.ta=b.ra(a+2);b.Ba&=-769;return this.Ga=this.ta<<4}function oc(a){var b=this.T;a<<=3;var c=b.Qc+a;if(c+7<=b.Ce)return kc(this,c,a);lc.call(b,13,a|3,!0);return-4}function pc(a){return this.Ga+a}function rc(a){return this.Ga+a}function sc(a,b,c){return a+b<=this.oc?this.Ga+a:tc.call(this,0,0,c)}function uc(a,b,c){return a+b>this.oc?this.Ga+a:tc.call(this,0,0,c)}function tc(a,b,c){c||lc.call(this.T,13,0);return-4}
|
||||
0,0,1,1,0,1,0,0,1];function fc(a,b,c,d){this.T=a;this.ka=a.ka;this.id=b;this.Lg=c||"";this.Ga=this.ta=0;this.oc=65535;this.ob=0;this.Ad=-4;this.nc=this.bb=0;this.rk=this.id==gc?Array(32):[];this.Fi=null;this.Ch=!1;hc(this,d)}var gc=1;function ic(a){this.ta=a;return this.Ga=a<<4}function jc(a,b){var c,d,e=this.T;a&4?(c=e.Xc.Ga,d=c+e.Xc.oc):(c=e.Ec,d=e.Be);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),kc(this,c,a,b);b||lc.call(e,13,a)}return-4}
|
||||
function mc(a){var b=this.T;a=b.Qc+(a<<2);b.wa=b.ra(a);this.ta=b.ra(a+2);b.Ba&=-769;return this.Ga=this.ta<<4}function nc(a){var b=this.T;a<<=3;var c=b.Qc+a;if(c+7<=b.Ce)return kc(this,c,a);lc.call(b,13,a|3,!0);return-4}function oc(a){return this.Ga+a}function qc(a){return this.Ga+a}function rc(a,b,c){return a+b<=this.oc?this.Ga+a:tc.call(this,0,0,c)}function uc(a,b,c){return a+b>this.oc?this.Ga+a:tc.call(this,0,0,c)}function tc(a,b,c){c||lc.call(this.T,13,0);return-4}
|
||||
function vc(a,b,c){return a+b<=this.oc?this.Ga+a:wc.call(this,0,0,c)}function xc(a,b,c){return a+b>this.oc?this.Ga+a:wc.call(this,0,0,c)}function wc(a,b,c){c||lc.call(this.T,13,0);return-4}
|
||||
function yc(a,b){var c=this.T,d=c.gb.Ga,e=this.cb,f=c.gb.ta;if(!b){if(768!=c.gb.type)return lc.call(c,10,a,!0),!1;c.Ta(c.gb.Dd+4,c.gb.nb&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ga;if(b){if(768==c.gb.type)return lc.call(c,13,a,!0),!1;c.Ta(c.gb.Dd+4,c.gb.nb|=768);c.gb.type=768}c.Ta(d+14,c.wa);c.Ta(d+16,zc(c));c.Ta(d+18,c.H);c.Ta(d+20,c.J);c.Ta(d+22,c.K);c.Ta(d+24,c.C);c.Ta(d+26,c.Y);c.Ta(d+28,c.I);c.Ta(d+30,c.G);c.Ta(d+32,c.F);c.Ta(d+34,c.La.ta);c.Ta(d+36,c.ua.ta);c.Ta(d+38,c.Za.ta);c.Ta(d+
|
||||
40,c.fb.ta);var d=38,h=26;Ac(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.fb.load(c.ra(g+40));Bc(c,c.ra(g+14),c.ra(g+36));this.cb<e&&(h=(this.cb<<2)+2,d=h+2);c.Y=c.ra(g+h);c.Za.load(c.ra(g+d));c.Xc.load(c.ra(g+42));b&&c.Ta(g+0,f);c.fc|=8;return!0}function Cc(a,b,c){var d=a.T,e=d.ra(b+2),f=d.ra(b+0)|(e&255)<<16,d=d.ra(b+4);a.ta=c;a.Ga=f;a.oc=d;a.nb=e&65280;a.Dd=b;hc(a)}
|
||||
function kc(a,b,c,d){for(var e=a.T,f=e.ra(b+0),g=e.ra(b+4),h=g&7936,n=e.ra(b+2)|(g&255)<<16,m=c&65528;;){var s;if(a.id==gc){a.Bh=!1;var m=a.Fi,r,t,w=c&3,u=(g&24576)>>13;if(6144<=h){w=c&3;if(w>a.cb){if(!1!==m&&!(u==a.cb||g&1024&&u<=a.cb)){n=-4;break}r=e.Oa();e.Za.load(e.Oa());e.Y=r;a.Bh=!0}r=!1}else if(1024==h)r=!0,t=-1,s=c,w<a.cb&&(w=a.cb);else if(1536==h)r=!0,t=-17153,s=c|1;else if(1792==h)r=!0,t=-16641,s=c|1;else if(1280==h){if(!yc.call(a,n&65535,!0)){n=-4;break}return a.Ga}if(r){b=n&65535;if(w<=
|
||||
u){d=a.cb;if(-4==a.load(b,!0)){n=-4;break}e.wa=f;if(a.cb<d){if(!0!==m){n=-4;break}r=e.Y;f=0;for(g&=31;g--;)a.qk[f++]=e.ra(e.Za.Ic(r,1)),r+=2;g=e.gb.Ga;d=(a.cb<<2)+2;m=d+2;s=e.Y;b=e.Za.ta;e.Y=e.ra(g+d);e.Za.load(e.ra(g+m));G(e,b);for(G(e,s);f;)G(e,a.qk[--f]);a.Bh=!0}e.Ba&=t;return a.Ga}d||lc.call(e,13,s,!0);n=-4;break}else if(!1!==r){d||lc.call(e,13,c,!0);n=-4;break}}else if(2==a.id){if(m&&(4096>h||2048==(h&2560))){d||lc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!m||4096>h||2048==(h&2560)){d||
|
||||
lc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!m||256!=h&&768!=h){d||lc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){n=-4;break}a.ta=c;a.Ga=n;a.oc=f;a.nb=g;a.type=h;a.Dd=b;hc(a);break}return n}fc.prototype.save=function(){return[this.ta,this.Ga,this.oc,this.nb,this.id,this.Lg,this.cb,this.nc,this.Dd]};
|
||||
fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.Ga=a[1],this.oc=a[2],this.nb=a[3],this.id=a[4],this.Lg=a[5],this.cb=a[6],this.nc=a[7],this.Dd=a[8])};
|
||||
function hc(a,b){void 0===b&&(b=!!(a.T.fc&1));if(b){a.load=jc;a.Wk=oc;a.Ic=sc;a.Zb=vc;if(a.nb&4096){6144==(a.nb&6656)&&(a.Zb=tc);if(a.nb&2048||!(a.nb&512))a.Zb=wc;1024==(a.nb&3072)&&(a.Ic==sc&&(a.Ic=uc),a.Zb==vc&&(a.Zb=xc))}a.cb=a.ta&3;a.nc=(a.nb&24576)>>13}else a.load=ic,a.Wk=mc,a.Ic=pc,a.Zb=rc,a.oc=65535,a.cb=a.nc=0,a.Dd=-4}
|
||||
function Dc(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Nb.call(this,a,b);this.jk=61442;this.Sg=1792;this.Rg=4;this.If=255;this.B=80286<=this.Ka?Ec:Fc;this.$a=Gc.slice();this.Bm=Kc.slice();this.Cm=Lc.slice();this.mk=Mc;80186<=this.Ka&&(this.If=31,this.$a[15]=Nc,this.$a[96]=Pc,this.$a[97]=Qc,this.$a[98]=Rc,this.$a[99]=Nc,this.$a[100]=Nc,this.$a[101]=Nc,this.$a[102]=Nc,this.$a[103]=Nc,this.$a[104]=Sc,this.$a[105]=Tc,this.$a[106]=Uc,this.$a[107]=
|
||||
Vc,this.$a[108]=Wc,this.$a[109]=Xc,this.$a[110]=Yc,this.$a[111]=Zc,this.$a[192]=$c,this.$a[193]=ad,this.$a[200]=bd,this.$a[201]=cd,this.$a[241]=dd,this.Bm[7]=ed,this.Cm[7]=ed,80286<=this.Ka&&(this.jk=2,this.Sg|=28672,this.Rg=0,this.$a[15]=fd,this.$a[99]=gd,this.$a[84]=hd));this.Ug=[];this.Vg=[];this.Uc=this.mh=0;this.na.jg=this.na.Fk=!1;this.Ha=[];this.De=this.Eb=this.ob=this.He=0;this.U=this.Vm;this.V=this.Wm;this.O=this.ao;this.P=this.bo;this.R=this.yp;this.S=this.zp;id(this)}Xa(Nb,Dc);
|
||||
var Fc={Qj:4,ca:5,Aa:6,ha:7,ia:8,Q:9,W:11,X:12,Ve:4,cl:60,dl:83,ac:3,Gb:9,pc:16,Nh:1,hl:19,jl:28,ll:16,kl:21,il:37,fl:2,jj:9,gl:5,el:33,lj:10,kj:8,yg:3,xg:15,zl:51,Al:1,Bl:2,Cl:4,yl:32,mj:15,El:15,bc:16,cc:4,Gl:11,Fl:18,Dl:24,Pb:4,Hl:2,nj:16,Il:17,sj:18,Jl:19,rj:5,tj:6,Ol:2,Nl:8,Ll:9,Ml:10,Kl:10,uj:10,vj:10,nl:80,pl:144,ml:86,ol:154,rl:101,tl:165,ql:107,sl:171,Ql:70,Sl:113,Pl:76,Rl:124,vl:80,xl:128,ul:86,wl:134,Ag:3,zg:16,Aj:10,zj:8,Tl:51,qc:8,Ul:17,Vl:36,wc:11,Wl:16,Bg:10,re:2,gj:18,hj:7,ij:15,oj:12,
|
||||
pj:7,qj:11,wj:18,xj:7,yj:15,Bj:15,Cj:7,Dj:13,Hj:11,Ij:7,Jj:8,Xl:8,$l:12,Yl:18,Zl:17,am:15,Fj:8,Ej:20,Gj:2,Mj:3,Cg:9,Lj:5,Kj:11,Oj:4,Nj:17,bm:11},Ec={Qj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,Ve:3,cl:14,dl:16,ac:2,Gb:7,pc:7,Nh:0,hl:7,jl:13,ll:7,kl:11,il:16,fl:3,jj:6,gl:2,el:13,lj:5,kj:5,yg:2,xg:7,zl:23,Al:0,Bl:1,Cl:3,yl:17,mj:7,El:11,bc:7,cc:3,Gl:7,Fl:11,Dl:15,Pb:2,Hl:3,nj:7,Il:8,sj:8,Jl:8,rj:4,tj:4,Ol:2,Nl:3,Ll:5,Ml:2,Kl:3,uj:5,vj:3,nl:14,pl:22,ml:17,ol:25,rl:17,tl:25,ql:20,sl:28,Ql:13,Sl:21,Pl:16,Rl:24,
|
||||
vl:13,xl:21,ul:16,wl:24,Ag:2,zg:7,Aj:5,zj:5,Tl:19,qc:5,Ul:5,Vl:17,wc:3,Wl:5,Bg:3,re:0,gj:8,hj:5,ij:9,oj:5,pj:5,qj:4,wj:5,xj:5,yj:4,Bj:7,Cj:5,Dj:8,Hj:3,Ij:4,Jj:3,Xl:11,$l:11,Yl:15,Zl:15,am:7,Fj:5,Ej:8,Gj:0,Mj:2,Cg:6,Lj:3,Kj:6,Oj:3,Nj:5,bm:5};k=Dc.prototype;k.Ui=function(a,b,c,d,e){this.Ha=a;this.De=b;this.Eb=c;this.ob=d;this.He=e};k.reset=function(){this.na.Fb&&this.Jb();id(this);Qb(this);this.na.fd=!1};
|
||||
function id(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.fc=65520;a.Qc=0;a.Ce=1023;a.Gf=0;a.Mh=-1;a.ua=new fc(a,gc,"CS");a.fb=new fc(a,2,"DS");a.La=new fc(a,2,"ES");a.Za=new fc(a,3,"SS");a.rm=new fc(a,0,"NULL");Bc(a,0,65535);80286<=a.Ka&&(a.Ec=0,a.Be=65535,a.Xc=new fc(a,5,"LDT",!0),a.gb=new fc(a,4,"TSS",!0),a.Ub=new fc(a,6,"VER",!0),Bc(a,65520,61440),a.ua.Ga=16711680);Ac(a,0);jd(a);a.zb=0;a.Qb=a.Jg=-1;a.eh=0;a.ja=a.Pa=-4;a.D=a.fb;a.N=a.Za;a.ba=a.Da=0}
|
||||
k.Pk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.wa+this.ua.ta+this.fb.ta+this.Za.ta+this.La.ta+zc(this)|0};function kd(a,b,c,d){void 0!==d&&(void 0===a.Ug[b]&&(a.Ug[b]=[]),a.Ug[b].push([c,d]))}function ld(a,b){var c=a.Ug[b];if(void 0!==c)for(var d=0;d<c.length;d++)if(!c[d][1].call(c[d][0],a.Ea))return!1;a.na.Fk&&a.va(md)&&nd(a.ka,b,a.Ea)&&od(a,a.Ea,function(a,c){return function(d){pd(a.ka,b,d,D(a)-c)}}(a,D(a)));return!0}
|
||||
function od(a,b,c){void 0!==c&&(null==a.Vg[b]&&a.mh++,a.Vg[b]=c)}function qd(a,b){var c=a.Vg[b];null!=c&&(c(--a.mh),delete a.Vg[b])}function jd(a,b){void 0===b&&(b=!!(a.fc&1));b||a.qb("returning to real-mode");a.mk=b?rd:Mc;hc(a.ua,b);hc(a.fb,b);hc(a.Za,b);hc(a.La,b)}
|
||||
k.save=function(){var a=new sd(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Gf]);a.set(1,[this.wa,this.ua.save(),this.fb.save(),this.Za.save(),this.La.save(),null!=this.Ec?[this.fc,this.Ec,this.Be,this.Qc,this.Ce,this.Xc.save(),this.gb.save(),this.Gf]:null,zc(this)]);a.set(2,[this.D.Lg,this.N.Lg,this.ba,this.Da,this.zb,this.ja,this.Pa]);a.set(3,[0,this.Xe,this.da.Pd]);a.set(4,vb(this.sa));return a.data()};
|
||||
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Gf=b[8]||0;b=a[1];this.ua.restore(b[1]);this.fb.restore(b[2]);this.Za.restore(b[3]);this.La.restore(b[4]);var c=b[5];c&&c.length&&(this.fc=c[0],this.Ec=c[1],this.Be=c[2],this.Qc=c[3],this.Ce=c[4],this.Xc.restore(c[5]),this.gb.restore(c[6]),this.Gf=c[7],jd(this));Ac(this,b[6]);H(this,b[0]);b=a[2];this.D=td(this,b[0]);this.N=td(this,b[1]);this.ba=b[2];this.Da=b[3];
|
||||
this.zb=b[4];this.ja=b[5];this.Pa=b[6];b=a[3];this.Xe=b[1];Yb(this,b[2]);a:{b=this.sa;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.wk){for(var f=0,g=Array(b.wk),h=0;h<e.length-1;)for(var n=e[h++],m=e[h++];n--;)g[f++]=m;e=g}f=b.Ha[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&nb(b,a[c]);b=!0}return b};
|
||||
function td(a,b){switch(b){case "CS":return a.ua;case "DS":return a.fb;case "SS":return a.Za;case "ES":return a.La;case "NULL":return a.rm;default:return[0,b,0,0,""]}}function ud(a,b){a.Ea=a.ua.load(b)+a.wa;a.ba|=a.Rg}function vd(a,b){a.fb.load(b);a.ba|=a.Rg}function wd(a,b){a.Za.load(b);a.ba|=4}function xd(a,b){a.La.load(b);a.ba|=a.Rg}function H(a,b){a.Ea=a.ua.Ga+(a.wa=b&65535)}function Bc(a,b,c,d){a.ua.Fi=d;a.wa=b;b=a.ua.load(c);return-4!=b?(a.Ea=b+a.wa,a.ua.Bh):null}
|
||||
function yd(a,b){a.Ea=a.ua.Ga+(a.wa=a.wa+b&65535)}function zd(a){return a.aa&a.ea?1:0}function Ad(a){return ec[a.la&255]?4:0}function Bd(a){return(a.la^a.qa)&16?16:0}function Cd(a){return a.aa&a.ea-1?0:64}function Dd(a){return a.la&a.ea>>1?128:0}function Ed(a){return(a.la^a.qa^a.la>>1)&a.ea>>1?2048:0}function Fd(a){a.aa&=~a.ea}function Gd(a){a.qa=a.la&16|a.qa&-17}function Hd(a){a.aa|=a.ea-1}function Id(a){Dd(a)&&(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}
|
||||
function yc(a,b){var c=this.T,d=c.gb.Ga,e=this.bb,f=c.gb.ta;if(!b){if(768!=c.gb.type)return lc.call(c,10,a,!0),!1;c.Ua(c.gb.Ad+4,c.gb.ob&-769|256)}if(-4==c.gb.load(a))return!1;var g=c.gb.Ga;if(b){if(768==c.gb.type)return lc.call(c,13,a,!0),!1;c.Ua(c.gb.Ad+4,c.gb.ob|=768);c.gb.type=768}c.Ua(d+14,c.wa);c.Ua(d+16,zc(c));c.Ua(d+18,c.H);c.Ua(d+20,c.J);c.Ua(d+22,c.K);c.Ua(d+24,c.C);c.Ua(d+26,c.Y);c.Ua(d+28,c.I);c.Ua(d+30,c.G);c.Ua(d+32,c.F);c.Ua(d+34,c.La.ta);c.Ua(d+36,c.va.ta);c.Ua(d+38,c.Ya.ta);c.Ua(d+
|
||||
40,c.fb.ta);var d=38,h=26;Ac(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.fb.load(c.ra(g+40));Bc(c,c.ra(g+14),c.ra(g+36));this.bb<e&&(h=(this.bb<<2)+2,d=h+2);c.Y=c.ra(g+h);c.Ya.load(c.ra(g+d));c.Xc.load(c.ra(g+42));b&&c.Ua(g+0,f);c.fc|=8;return!0}function Cc(a,b,c){var d=a.T,e=d.ra(b+2),f=d.ra(b+0)|(e&255)<<16,d=d.ra(b+4);a.ta=c;a.Ga=f;a.oc=d;a.ob=e&65280;a.Ad=b;hc(a)}
|
||||
function kc(a,b,c,d){for(var e=a.T,f=e.ra(b+0),g=e.ra(b+4),h=g&7936,n=e.ra(b+2)|(g&255)<<16,m=c&65528;;){var t;if(a.id==gc){a.Ch=!1;var m=a.Fi,r,u,x=c&3,v=(g&24576)>>13;if(6144<=h){x=c&3;if(x>a.bb){if(!1!==m&&!(v==a.bb||g&1024&&v<=a.bb)){n=-4;break}r=e.Oa();e.Ya.load(e.Oa());e.Y=r;a.Ch=!0}r=!1}else if(1024==h)r=!0,u=-1,t=c,x<a.bb&&(x=a.bb);else if(1536==h)r=!0,u=-17153,t=c|1;else if(1792==h)r=!0,u=-16641,t=c|1;else if(1280==h){if(!yc.call(a,n&65535,!0)){n=-4;break}return a.Ga}if(r){b=n&65535;if(x<=
|
||||
v){d=a.bb;if(-4==a.load(b,!0)){n=-4;break}e.wa=f;if(a.bb<d){if(!0!==m){n=-4;break}r=e.Y;f=0;for(g&=31;g--;)a.rk[f++]=e.ra(e.Ya.Ic(r,1)),r+=2;g=e.gb.Ga;d=(a.bb<<2)+2;m=d+2;t=e.Y;b=e.Ya.ta;e.Y=e.ra(g+d);e.Ya.load(e.ra(g+m));G(e,b);for(G(e,t);f;)G(e,a.rk[--f]);a.Ch=!0}e.Ba&=u;return a.Ga}d||lc.call(e,13,t,!0);n=-4;break}else if(!1!==r){d||lc.call(e,13,c,!0);n=-4;break}}else if(2==a.id){if(m&&(4096>h||2048==(h&2560))){d||lc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!m||4096>h||2048==(h&2560)){d||
|
||||
lc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!m||256!=h&&768!=h){d||lc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768<h){n=-4;break}a.ta=c;a.Ga=n;a.oc=f;a.ob=g;a.type=h;a.Ad=b;hc(a);break}return n}fc.prototype.save=function(){return[this.ta,this.Ga,this.oc,this.ob,this.id,this.Lg,this.bb,this.nc,this.Ad]};
|
||||
fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.Ga=a[1],this.oc=a[2],this.ob=a[3],this.id=a[4],this.Lg=a[5],this.bb=a[6],this.nc=a[7],this.Ad=a[8])};
|
||||
function hc(a,b){void 0===b&&(b=!!(a.T.fc&1));if(b){a.load=jc;a.Xk=nc;a.Ic=rc;a.Zb=vc;if(a.ob&4096){6144==(a.ob&6656)&&(a.Zb=tc);if(a.ob&2048||!(a.ob&512))a.Zb=wc;1024==(a.ob&3072)&&(a.Ic==rc&&(a.Ic=uc),a.Zb==vc&&(a.Zb=xc))}a.bb=a.ta&3;a.nc=(a.ob&24576)>>13}else a.load=ic,a.Xk=mc,a.Ic=oc,a.Zb=qc,a.oc=65535,a.bb=a.nc=0,a.Ad=-4}
|
||||
function Dc(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Nb.call(this,a,b);this.kk=61442;this.Sg=1792;this.Rg=4;this.If=255;this.B=80286<=this.Ka?Ec:Fc;this.Za=Gc.slice();this.Cm=Hc.slice();this.Dm=Ic.slice();this.nk=Jc;80186<=this.Ka&&(this.If=31,this.Za[15]=Nc,this.Za[96]=Oc,this.Za[97]=Pc,this.Za[98]=Qc,this.Za[99]=Nc,this.Za[100]=Nc,this.Za[101]=Nc,this.Za[102]=Nc,this.Za[103]=Nc,this.Za[104]=Sc,this.Za[105]=Tc,this.Za[106]=Uc,this.Za[107]=
|
||||
Vc,this.Za[108]=Wc,this.Za[109]=Xc,this.Za[110]=Yc,this.Za[111]=Zc,this.Za[192]=$c,this.Za[193]=ad,this.Za[200]=bd,this.Za[201]=cd,this.Za[241]=dd,this.Cm[7]=ed,this.Dm[7]=ed,80286<=this.Ka&&(this.kk=2,this.Sg|=28672,this.Rg=0,this.Za[15]=fd,this.Za[99]=gd,this.Za[84]=hd));this.Ug=[];this.Vg=[];this.Uc=this.mh=0;this.na.jg=this.na.Gk=!1;this.Ha=[];this.De=this.Eb=this.qb=this.He=0;this.U=this.Wm;this.V=this.Xm;this.O=this.bo;this.P=this.co;this.R=this.zp;this.S=this.Ap;id(this)}Wa(Nb,Dc);
|
||||
var Fc={Rj:4,ca:5,Aa:6,ha:7,ia:8,Q:9,W:11,X:12,Ve:4,dl:60,el:83,ac:3,Fb:9,pc:16,Oh:1,il:19,kl:28,ml:16,ll:21,jl:37,gl:2,kj:9,hl:5,fl:33,mj:10,lj:8,yg:3,xg:15,Al:51,Bl:1,Cl:2,Dl:4,zl:32,nj:15,Fl:15,bc:16,cc:4,Hl:11,Gl:18,El:24,Ob:4,Il:2,oj:16,Jl:17,tj:18,Kl:19,sj:5,uj:6,Pl:2,Ol:8,Ml:9,Nl:10,Ll:10,vj:10,wj:10,ol:80,ql:144,nl:86,pl:154,sl:101,ul:165,rl:107,tl:171,Rl:70,Tl:113,Ql:76,Sl:124,wl:80,yl:128,vl:86,xl:134,Ag:3,zg:16,Bj:10,Aj:8,Ul:51,qc:8,Vl:17,Wl:36,wc:11,Xl:16,Bg:10,qe:2,hj:18,ij:7,jj:15,pj:12,
|
||||
qj:7,rj:11,xj:18,yj:7,zj:15,Cj:15,Dj:7,Ej:13,Ij:11,Jj:7,Kj:8,Yl:8,am:12,Zl:18,$l:17,bm:15,Gj:8,Fj:20,Hj:2,Nj:3,Cg:9,Mj:5,Lj:11,Pj:4,Oj:17,cm:11},Ec={Rj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,Ve:3,dl:14,el:16,ac:2,Fb:7,pc:7,Oh:0,il:7,kl:13,ml:7,ll:11,jl:16,gl:3,kj:6,hl:2,fl:13,mj:5,lj:5,yg:2,xg:7,Al:23,Bl:0,Cl:1,Dl:3,zl:17,nj:7,Fl:11,bc:7,cc:3,Hl:7,Gl:11,El:15,Ob:2,Il:3,oj:7,Jl:8,tj:8,Kl:8,sj:4,uj:4,Pl:2,Ol:3,Ml:5,Nl:2,Ll:3,vj:5,wj:3,ol:14,ql:22,nl:17,pl:25,sl:17,ul:25,rl:20,tl:28,Rl:13,Tl:21,Ql:16,Sl:24,
|
||||
wl:13,yl:21,vl:16,xl:24,Ag:2,zg:7,Bj:5,Aj:5,Ul:19,qc:5,Vl:5,Wl:17,wc:3,Xl:5,Bg:3,qe:0,hj:8,ij:5,jj:9,pj:5,qj:5,rj:4,xj:5,yj:5,zj:4,Cj:7,Dj:5,Ej:8,Ij:3,Jj:4,Kj:3,Yl:11,am:11,Zl:15,$l:15,bm:7,Gj:5,Fj:8,Hj:0,Nj:2,Cg:6,Mj:3,Lj:6,Pj:3,Oj:5,cm:5};k=Dc.prototype;k.Vi=function(a,b,c,d,e){this.Ha=a;this.De=b;this.Eb=c;this.qb=d;this.He=e};k.reset=function(){this.na.mb&&this.Ib();id(this);Qb(this);this.na.fd=!1};
|
||||
function id(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.fc=65520;a.Qc=0;a.Ce=1023;a.Ff=0;a.Nh=-1;a.va=new fc(a,gc,"CS");a.fb=new fc(a,2,"DS");a.La=new fc(a,2,"ES");a.Ya=new fc(a,3,"SS");a.rm=new fc(a,0,"NULL");Bc(a,0,65535);80286<=a.Ka&&(a.Ec=0,a.Be=65535,a.Xc=new fc(a,5,"LDT",!0),a.gb=new fc(a,4,"TSS",!0),a.Tb=new fc(a,6,"VER",!0),Bc(a,65520,61440),a.va.Ga=16711680);Ac(a,0);jd(a);a.zb=0;a.Pb=a.Jg=-1;a.eh=0;a.ja=a.Pa=-4;a.D=a.fb;a.N=a.Ya;a.ba=a.Da=0}
|
||||
k.Qk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.wa+this.va.ta+this.fb.ta+this.Ya.ta+this.La.ta+zc(this)|0};function kd(a,b,c,d){void 0!==d&&(void 0===a.Ug[b]&&(a.Ug[b]=[]),a.Ug[b].push([c,d]))}function ld(a,b){var c=a.Ug[b];if(void 0!==c)for(var d=0;d<c.length;d++)if(!c[d][1].call(c[d][0],a.Ea))return!1;a.na.Gk&&a.ua(md)&&nd(a.ka,b,a.Ea)&&od(a,a.Ea,function(a,c){return function(d){pd(a.ka,b,d,D(a)-c)}}(a,D(a)));return!0}
|
||||
function od(a,b,c){void 0!==c&&(null==a.Vg[b]&&a.mh++,a.Vg[b]=c)}function qd(a,b){var c=a.Vg[b];null!=c&&(c(--a.mh),delete a.Vg[b])}function jd(a,b){void 0===b&&(b=!!(a.fc&1));b||a.cb("returning to real-mode");a.nk=b?rd:Jc;hc(a.va,b);hc(a.fb,b);hc(a.Ya,b);hc(a.La,b)}
|
||||
k.save=function(){var a=new sd(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Ff]);a.set(1,[this.wa,this.va.save(),this.fb.save(),this.Ya.save(),this.La.save(),null!=this.Ec?[this.fc,this.Ec,this.Be,this.Qc,this.Ce,this.Xc.save(),this.gb.save(),this.Ff]:null,zc(this)]);a.set(2,[this.D.Lg,this.N.Lg,this.ba,this.Da,this.zb,this.ja,this.Pa]);a.set(3,[0,this.Xe,this.da.Nd]);a.set(4,vb(this.sa));return a.data()};
|
||||
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Ff=b[8]||0;b=a[1];this.va.restore(b[1]);this.fb.restore(b[2]);this.Ya.restore(b[3]);this.La.restore(b[4]);var c=b[5];c&&c.length&&(this.fc=c[0],this.Ec=c[1],this.Be=c[2],this.Qc=c[3],this.Ce=c[4],this.Xc.restore(c[5]),this.gb.restore(c[6]),this.Ff=c[7],jd(this));Ac(this,b[6]);H(this,b[0]);b=a[2];this.D=td(this,b[0]);this.N=td(this,b[1]);this.ba=b[2];this.Da=b[3];
|
||||
this.zb=b[4];this.ja=b[5];this.Pa=b[6];b=a[3];this.Xe=b[1];Yb(this,b[2]);a:{b=this.sa;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.xk){for(var f=0,g=Array(b.xk),h=0;h<e.length-1;)for(var n=e[h++],m=e[h++];n--;)g[f++]=m;e=g}f=b.Ha[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&nb(b,a[c]);b=!0}return b};
|
||||
function td(a,b){switch(b){case "CS":return a.va;case "DS":return a.fb;case "SS":return a.Ya;case "ES":return a.La;case "NULL":return a.rm;default:return[0,b,0,0,""]}}function ud(a,b){a.Ea=a.va.load(b)+a.wa;a.ba|=a.Rg}function vd(a,b){a.fb.load(b);a.ba|=a.Rg}function wd(a,b){a.Ya.load(b);a.ba|=4}function xd(a,b){a.La.load(b);a.ba|=a.Rg}function H(a,b){a.Ea=a.va.Ga+(a.wa=b&65535)}function Bc(a,b,c,d){a.va.Fi=d;a.wa=b;b=a.va.load(c);return-4!=b?(a.Ea=b+a.wa,a.va.Ch):null}
|
||||
function yd(a,b){a.Ea=a.va.Ga+(a.wa=a.wa+b&65535)}function zd(a){return a.aa&a.ea?1:0}function Ad(a){return ec[a.la&255]?4:0}function Bd(a){return(a.la^a.qa)&16?16:0}function Cd(a){return a.aa&a.ea-1?0:64}function Dd(a){return a.la&a.ea>>1?128:0}function Ed(a){return(a.la^a.qa^a.la>>1)&a.ea>>1?2048:0}function Fd(a){a.aa&=~a.ea}function Gd(a){a.qa=a.la&16|a.qa&-17}function Hd(a){a.aa|=a.ea-1}function Id(a){Dd(a)&&(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}
|
||||
function Jd(a){a.la&=~a.ea;a.qa=a.la&32896|a.qa&-32897}function Kd(a){a.aa|=a.ea}function Ld(a){a.qa=~(a.la&16)&16|a.qa&-17}function Md(a){a.aa&=~(a.ea-1)}function Nd(a){Dd(a)||(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}function Od(a){a.la|=a.ea;a.qa=a.la&32896|a.qa&-32897}function zc(a){return a.Ba&-2262|zd(a)|Ad(a)|Bd(a)|Cd(a)|Dd(a)|Ed(a)}
|
||||
function Ac(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Kd(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Hd(a);b&128&&Nd(a);b&2048&&Od(a);a.fc&1||(b&=-61441);void 0===c&&(c=a.ua.cb);c?b=b&-12289|a.Ba&12288:a.Gf=(b&12288)>>12;c>a.Gf&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Sg|b&a.Sg|a.jk;a.Ba&256&&(a.zb|=2,a.ba|=4)}
|
||||
k.Ib=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.xa[b]=c;d=!0;break;default:d=Nb.prototype.Ib.call(this,a,b,c)}return d};k.yb=function(a){return this.Ha[(a&this.De)>>this.Eb].yc(a&this.ob)};
|
||||
k.ra=function(a){var b=a&this.ob;a=(a&this.De)>>this.Eb;this.A-=this.B.Qj;return b!=this.ob?this.Ha[a].hm(b):this.Ha[a++].yc(b)|this.Ha[a&this.He].yc(0)<<8};k.Sd=function(a,b){this.Ha[(a&this.De)>>this.Eb].Mc(a&this.ob,b&255)};k.Ta=function(a,b){var c=a&this.ob,d=(a&this.De)>>this.Eb;this.A-=this.B.Qj;c!=this.ob?this.Ha[d].um(c,b&65535):(this.Ha[d++].Mc(c,b&255),this.Ha[d&this.He].Mc(0,b>>8&255))};k.Vm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};
|
||||
k.Wm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.ao=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};k.bo=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.yp=function(a){this.ba&2||this.Sd(this.Ng.Zb(this.Fg,0),a)};k.zp=function(a){this.ba&2||this.Ta(this.Ng.Zb(this.Fg,1),a)};k.fa=function(){var a=this.yb(this.Ea);this.Ea=this.ua.Ga+(this.wa=this.wa+1&65535);return a};
|
||||
k.M=function(){var a=this.yb(this.Ea)<<24>>24;this.Ea=this.ua.Ga+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Ea);this.Ea=this.ua.Ga+(this.wa=this.wa+2&65535);return a};k.Oa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Za.Ic(a,1))};function G(a,b){var c=a.Y=a.Y-2&65535;a.Ta(a.Za.Zb(c,1),b)}
|
||||
k.qh=function(a){if(a||!this.na.Fb||this.na.Hk)F(this,"AX",this.H),F(this,"BX",this.C),F(this,"CX",this.J),F(this,"DX",this.K),F(this,"SP",this.Y),F(this,"BP",this.I),F(this,"SI",this.G),F(this,"DI",this.F),F(this,"CS",this.ua.ta),F(this,"DS",this.fb.ta),F(this,"SS",this.Za.ta),F(this,"ES",this.La.ta),F(this,"IP",this.wa),a=zc(this),F(this,"PS",a),F(this,"C",a&1?1:0,1),F(this,"P",a&4?1:0,1),F(this,"A",a&16?1:0,1),F(this,"Z",a&64?1:0,1),F(this,"S",a&128?1:0,1),F(this,"T",a&256?1:0,1),F(this,"I",a&
|
||||
512?1:0,1),F(this,"D",a&1024?1:0,1),F(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.na.Fb&&this.da.ud?this.da.ud.toFixed(2)+"Mhz":"Stopped"};
|
||||
k.Nf=function(a){this.na.jg=!0;var b=this.na.Fk=this.ka&&Pd(this.ka),c=this.na.Mi||!a;this.na.Mi=!1;this.Uc=this.A=a;this.pa&&!a&&cc(this.pa);a||this.va(Sd)||(this.ba|=4);do{var d=this.ba&240;if(d)this.Da|=d;else if(this.Gg=this.Ea,this.ja=this.Pa=-4,this.D=this.fb,this.N=this.Za,this.Da=this.ba&256,this.zb){a:{if(!(this.ba&4))if(this.zb&1&&this.Ba&512){if(d=Td(this.pa),-1<=d&&(this.zb&=-2,0<=d)){this.zb&=-5;Ud.call(this,d,null,11);d=!0;break a}}else if(this.zb&2){this.zb&=-3;Ud.call(this,1,null,
|
||||
11);d=!0;break a}if(d=this.zb&8){for(var d=this.pa,e=!1,f=0;f<d.sb;f++)for(var g=d.sb[f],h=0;h<g.Rb.length;h++){var n=g.Rb[h];n.Od||(Vd(d,n),n.Od||(e=!0))}d=!e}d&&(this.zb&=-9);d=!1}if(d&&!a){this.Z("interrupt dispatched");this.ba=0;break}if(this.zb&4){this.ba=this.A=0;break}}if(b){if(Wd(this.ka,this.Ea,c)){this.Jb();break}c=!1}this.ba=0;this.$a[this.fa()].call(this)}while(0<this.A);return this.na.jg?this.Uc-this.A:void 0===this.na.jg?0:-1};
|
||||
Ka(function(){for(var a=A(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Dc(d);bb(d,c)}});function Xd(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a+b)&255}function Yd(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&255}
|
||||
function Zd(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&255}function $d(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&255}function ae(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&255}
|
||||
function be(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a-b)&255}function ce(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&255}function de(a,b){this.qa=a^b;this.ea=256;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.jj:this.B.Gb;this.ba|=2;return a}
|
||||
function ee(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a+b)&65535}function fe(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&65535}function ge(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&65535}
|
||||
function he(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return this.aa&65535}function ie(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&65535}function je(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=a-b)&65535}
|
||||
function ke(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Gb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&65535}function le(a,b){this.qa=a^b;this.ea=65536;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.jj:this.B.Gb;this.ba|=2;return a}function me(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Od(this):Jd(this)}function ne(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;me.call(this,d,256)}return c}
|
||||
function Ac(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Kd(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Hd(a);b&128&&Nd(a);b&2048&&Od(a);a.fc&1||(b&=-61441);void 0===c&&(c=a.va.bb);c?b=b&-12289|a.Ba&12288:a.Ff=(b&12288)>>12;c>a.Ff&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Sg|b&a.Sg|a.kk;a.Ba&256&&(a.zb|=2,a.ba|=4)}
|
||||
k.Hb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.xa[b]=c;d=!0;break;default:d=Nb.prototype.Hb.call(this,a,b,c)}return d};k.yb=function(a){return this.Ha[(a&this.De)>>this.Eb].yc(a&this.qb)};
|
||||
k.ra=function(a){var b=a&this.qb;a=(a&this.De)>>this.Eb;this.A-=this.B.Rj;return b!=this.qb?this.Ha[a].hm(b):this.Ha[a++].yc(b)|this.Ha[a&this.He].yc(0)<<8};k.Qd=function(a,b){this.Ha[(a&this.De)>>this.Eb].Mc(a&this.qb,b&255)};k.Ua=function(a,b){var c=a&this.qb,d=(a&this.De)>>this.Eb;this.A-=this.B.Rj;c!=this.qb?this.Ha[d].vm(c,b&65535):(this.Ha[d++].Mc(c,b&255),this.Ha[d&this.He].Mc(0,b>>8&255))};k.Wm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};
|
||||
k.Xm=function(a,b){this.Ng=a;this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.bo=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,0);return this.ba&1?0:this.yb(this.ja)};k.co=function(a,b){this.Ng=a;this.Pa=this.ja=a.Ic(this.Fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.zp=function(a){this.ba&2||this.Qd(this.Ng.Zb(this.Fg,0),a)};k.Ap=function(a){this.ba&2||this.Ua(this.Ng.Zb(this.Fg,1),a)};k.fa=function(){var a=this.yb(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a};
|
||||
k.M=function(){var a=this.yb(this.Ea)<<24>>24;this.Ea=this.va.Ga+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Ea);this.Ea=this.va.Ga+(this.wa=this.wa+2&65535);return a};k.Oa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Ya.Ic(a,1))};function G(a,b){var c=a.Y=a.Y-2&65535;a.Ua(a.Ya.Zb(c,1),b)}
|
||||
k.qh=function(a){if(a||!this.na.mb||this.na.Ik)F(this,"AX",this.H),F(this,"BX",this.C),F(this,"CX",this.J),F(this,"DX",this.K),F(this,"SP",this.Y),F(this,"BP",this.I),F(this,"SI",this.G),F(this,"DI",this.F),F(this,"CS",this.va.ta),F(this,"DS",this.fb.ta),F(this,"SS",this.Ya.ta),F(this,"ES",this.La.ta),F(this,"IP",this.wa),a=zc(this),F(this,"PS",a),F(this,"C",a&1?1:0,1),F(this,"P",a&4?1:0,1),F(this,"A",a&16?1:0,1),F(this,"Z",a&64?1:0,1),F(this,"S",a&128?1:0,1),F(this,"T",a&256?1:0,1),F(this,"I",a&
|
||||
512?1:0,1),F(this,"D",a&1024?1:0,1),F(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.na.mb&&this.da.ne?this.da.ne.toFixed(2)+"Mhz":"Stopped"};
|
||||
k.Nf=function(a){this.na.jg=!0;var b=this.na.Gk=this.ka&&Pd(this.ka),c=this.na.Mi||!a;this.na.Mi=!1;this.Uc=this.A=a;this.oa&&!a&&cc(this.oa);a||this.ua(Qd)||(this.ba|=4);do{var d=this.ba&240;if(d)this.Da|=d;else if(this.Gg=this.Ea,this.ja=this.Pa=-4,this.D=this.fb,this.N=this.Ya,this.Da=this.ba&256,this.zb){a:{if(!(this.ba&4))if(this.zb&1&&this.Ba&512){if(d=Rd(this.oa),-1<=d&&(this.zb&=-2,0<=d)){this.zb&=-5;Ud.call(this,d,null,11);d=!0;break a}}else if(this.zb&2){this.zb&=-3;Ud.call(this,1,null,
|
||||
11);d=!0;break a}if(d=this.zb&8){for(var d=this.oa,e=!1,f=0;f<d.tb;f++)for(var g=d.tb[f],h=0;h<g.Qb.length;h++){var n=g.Qb[h];n.Md||(Vd(d,n),n.Md||(e=!0))}d=!e}d&&(this.zb&=-9);d=!1}if(d&&!a){this.Z("interrupt dispatched");this.ba=0;break}if(this.zb&4){this.ba=this.A=0;break}}if(b){if(Wd(this.ka,this.Ea,c)){this.Ib();break}c=!1}this.ba=0;this.Za[this.fa()].call(this)}while(0<this.A);return this.na.jg?this.Uc-this.A:void 0===this.na.jg?0:-1};
|
||||
Ja(function(){for(var a=z(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Dc(d);bb(d,c)}});function Xd(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a+b)&255}function Yd(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&255}
|
||||
function Zd(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&255}function $d(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&255}function ae(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&255}
|
||||
function be(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a-b)&255}function ce(a,b){this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&255}function de(a,b){this.qa=a^b;this.ea=256;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.kj:this.B.Fb;this.ba|=2;return a}
|
||||
function ee(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a+b)&65535}function fe(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a|b)&65535}function ge(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&65535}
|
||||
function he(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return this.aa&65535}function ie(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a&b)&65535}function je(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=a-b)&65535}
|
||||
function ke(a,b){this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.Fb:this.B.pc;return(this.aa=this.la=this.qa=a^b)&65535}function le(a,b){this.qa=a^b;this.ea=65536;this.aa=this.la=a-b;this.A-=0>this.Pa?0>this.ja?this.B.ac:this.B.kj:this.B.Fb;this.ba|=2;return a}function me(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Od(this):Jd(this)}function ne(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;me.call(this,d,256)}return c}
|
||||
function oe(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;me.call(this,d,65536)}return c}function pe(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);me.call(this,d,256)}return c}function qe(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);me.call(this,d,65536)}return c}
|
||||
function re(a,b){var c=a;if(b){var d;(d=(b&this.If)%9)?(d=a<<d|(this.aa&this.ea?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.aa&this.ea?1:0)<<8;me.call(this,d,256)}return c}function se(a,b){var c=a;if(b){var d;(d=(b&this.If)%17)?(d=a<<d|(this.aa&this.ea?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.aa&this.ea?1:0)<<16;me.call(this,d,65536)}return c}function te(a,b){var c=a;b&&(c=(b&this.If)%9,c=a>>c|(this.aa&this.ea?1:0)<<8-c|a<<9-c,me.call(this,c,256),c&=255);return c}
|
||||
function ue(a,b){var c=a;b&&(c=(b&this.If)%17,c=a>>c|(this.aa&this.ea?1:0)<<16-c|a<<17-c,me.call(this,c,65536),c&=65535);return c}function ve(a,b){var c=a;b&&(c=8<b?this.aa=this.la=0:(this.aa=this.la=a<<b)&255,this.qa=0,this.ea=256);return c}function we(a,b){var c=a;b&&(c=16<b?this.aa=this.la=0:(this.aa=this.la=a<<b)&65535,this.qa=0,this.ea=65536);return c}
|
||||
function xe(a,b){if(b){var c=8<b?0:a>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255}function ye(a,b){if(b){var c=16<b?0:a>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function ze(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255}
|
||||
function Ae(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function Be(){this.A-=0>this.ja?2:this.B.am;return 1}function Ce(){var a=this.J&this.If;this.A-=(0>this.ja?this.B.Fj:this.B.Ej)+(a<<this.B.Gj);return a}function De(){var a=this.fa();this.A-=(0>this.ja?this.B.Fj:this.B.Ej)+(a<<this.B.Gj);return a}function Ee(){return null}function Fe(a){lc.call(this,13,0);return a}
|
||||
function ed(a){Nc.call(this);return a}function I(a){J.call(this);return a}
|
||||
var Ge=[Xd,Yd,Zd,$d,ae,be,ce,de],He=[ee,fe,ge,he,ie,je,ke,le],Ie=[function(a,b){this.A-=0>this.Pa?this.B.qc:this.B.Ul;return b},Fe,Fe,Fe,Fe,Fe,Fe,Fe],Je=[function(a,b){this.A-=0>this.Pa?this.B.Ml:this.B.Kl;return b},I,I,I,I,I,I,I],Ke=[ne,pe,re,te,ve,xe,I,ze],Le=[oe,qe,se,ue,we,ye,I,Ae],Ne=[function(a,b){b=this.fa();this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.ja?this.B.Lj:this.B.Kj;this.ba|=2;return a},I,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^255},function(a,b){b=0;this.qa=
|
||||
a^b;this.ea=256;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&255},function(a){this.H=this.Qb=(this.aa=(this.H&255)*a)&65535;this.qa=this.la=this.aa;this.ea=256;this.H&65280?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.Ql:this.B.Pl;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Qb=b&65535;this.aa=this.qa=this.la=b;this.ea=256;127<b||-128>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.vl:this.B.ul;this.ba|=
|
||||
2;return a},function(a){if(!a)return Me.call(this),a;var b=this.H/a;if(255<b)return Me.call(this),a;this.Qb=this.H=b&255|(this.H%a&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.nl:this.B.ml;this.ba|=2;return a},function(a){if(!a)return Me.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Me.call(this),a;this.Qb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.rl:this.B.ql;this.ba|=
|
||||
2;return a}],Oe=[function(a,b){b=this.L();this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Lj:this.B.Kj;this.ba|=2;return a},I,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^65535},function(a,b){b=0;this.qa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&65535},function(a){this.Qb=this.H=(this.aa=this.H*a)&65535;this.Jg=this.K=this.aa>>16&65535;this.qa=this.la=this.aa;this.ea=65536;this.K?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=
|
||||
0>this.ja?this.B.Sl:this.B.Rl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Qb=b&65535;this.K=this.Jg=b>>16&65535;this.aa=this.qa=this.la=b;this.ea=65536;32767<b||-32768>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.xl:this.B.wl;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Me.call(this),a;this.Qb=this.H=c&65535;this.Jg=this.K=b%a&65535;this.la=this.qa=this.aa=c|
|
||||
65536;this.ea=65536;this.A-=0>this.ja?this.B.pl:this.B.ol;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Me.call(this),a;this.Qb=this.H=d&65535;this.Jg=this.K=b%c&65535;this.la=this.qa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.tl:this.B.sl;this.ba|=2;return a}],Kc=[function(a){this.qa=a;a=(this.la=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:
|
||||
this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},I,I,I,I,I,I],Lc=[function(a){this.qa=a;a=(this.la=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){G(this,this.wa);H(this,a);this.A-=
|
||||
0>this.ja?this.B.ll:this.B.kl;this.ba|=2;return a},function(a){if(0>this.ja)return I.call(this,a);Pe.call(this,a,this.ra(this.ja+2));this.A-=this.B.il;this.ba|=2;return a},function(a){H(this,a);this.A-=0>this.ja?this.B.Gl:this.B.Fl;this.ba|=2;return a},function(a){if(0>this.ja)return I.call(this,a);Bc(this,a,this.ra(this.ja+2));this.A-=this.B.Dl;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ka&&(b=a));G(this,b);this.A-=0>this.ja?this.B.wc:this.B.Wl;this.ba|=2;return a},
|
||||
Fe],Qe=[ne,pe,re,te,ve,xe,I,ze],Re=[oe,qe,se,ue,we,ye,I,Ae];function Se(a,b){this.A-=0>this.Pa?0>this.ja?this.B.Ol:this.B.Nl:this.B.Ll;return b}function Te(){return Se.call(this,0,this.Qb)}function Ue(a,b){this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.Mj:this.B.Cg:this.B.Cg;this.ba|=2;return a}function Ve(a,b){this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.Mj:this.B.Cg:this.B.Cg;this.ba|=2;return a}
|
||||
function We(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.qa=this.la=c;this.ea=256;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Xe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.aa=this.qa=this.la=c;this.ea=65536;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Ye(a){return a}function Ze(a){if(0>this.ja)return J.call(this),a;this.A-=this.B.Hl;return this.ja}
|
||||
function $e(a,b){if(0>this.ja)return J.call(this),a;vd(this,this.ra(this.ja+2));this.A-=this.B.nj;return b}function af(a,b){if(0>this.ja)return J.call(this),a;xd(this,this.ra(this.ja+2));this.A-=this.B.nj;return b}function bf(a){if(0>this.ja)return Nc.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.el;if(b<c||b>d)H(this,this.Gg-this.ua.Ga),Ud.call(this,5,null,0);this.ba|=2;return a}
|
||||
function cf(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Md(this),a;Hd(this);return a}function df(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Ub.load(b,!0)&&this.Ub.nc>=this.ua.cb&&this.Ub.nc>=(b&3))return Md(this),this.Ub.nb&65280;Hd(this);return a}function hf(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Ub.load(b,!0)&&(7168==(this.Ub.nb&7168)||this.Ub.nc>=this.ua.cb)&&this.Ub.nc>=(b&3))return Md(this),this.Ub.oc;Hd(this);return a}
|
||||
function jf(a,b){if(0>this.ja){switch(this.eh&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.Oj}else this.Pa=this.ja,this.R(a),this.A-=this.B.Nj;return b}
|
||||
function kf(a,b){if(0>this.ja){switch(this.eh&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.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Oj}else this.Pa=this.ja,this.S(a),this.A-=this.B.Nj;return b}function lf(a){a|=this.fc&1;this.fc=this.fc&65520|a&-65521;this.fc&1&&jd(this,!0)}function Pe(a,b){var c=this.ua.ta,d=this.wa;null!=Bc(this,a,b,!0)&&(G(this,c),G(this,d))}
|
||||
function mf(a){var b=this.Oa(),c=this.Oa();a&&(this.Y=this.Y+a&65535);Bc(this,b,c,!1)&&(a&&(this.Y=this.Y+a&65535),this.fb.ta&65528&&this.fb.nc<this.ua.cb&&7168!=(this.fb.nb&7168)&&this.fb.load(0),this.La.ta&65528&&this.La.nc<this.ua.cb&&7168!=(this.La.nb&7168)&&this.La.load(0));2==a&&this.mh&&qd(this,this.Ea)}
|
||||
function Ud(a,b,c){this.A-=this.B.zl+c;this.ua.Fi=!0;c=zc(this);var d=this.ua.ta,e=this.wa;a=this.ua.Wk(a);-4!=a&&(this.Ea=a+this.wa,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Mh=-1)}function Me(){H(this,this.Gg-this.ua.Ga);Ud.call(this,0,null,2)}
|
||||
function lc(a,b,c){if(this.na.jg){var d=!1;if(80186<=this.Ka)if(0>this.Mh)H(this,this.Gg-this.ua.Ga),d=!0;else if(8!=this.Mh)b=0,a=8,d=!0;else{nf.call(this,-1,0,c);id(this);return}nf.call(this,a,b,c)&&(d=!1);d&&Ud.call(this,this.Mh=a,b,0);this.ba&=-4}else this.qb("Fault "+q(a)+" blocked by Debugger",of),H(this,this.Gg-this.ua.Ga)}
|
||||
function nf(a,b,c){var d=pf,e=rb(this.sa,this.Ea);204==e&&(c=!1,d|=Ob);983040<=this.Ea&&1048575>=this.Ea&&(c=!1);this.va(d|qf)&&(c=!0);if(this.va(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+v(b)+")":"")+" on opcode 0x"+q(e)+" at "+fa(this.wa,this.ua.ta)+" (%"+p(this.Ea,6)+")",b=this.na.Fb,this.qb(a,d)?c&&(c=b,this.ka.Jb()):(this.Ia(a),this.Jb());return c}function rf(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}
|
||||
function Ae(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}function Be(){this.A-=0>this.ja?2:this.B.bm;return 1}function Ce(){var a=this.J&this.If;this.A-=(0>this.ja?this.B.Gj:this.B.Fj)+(a<<this.B.Hj);return a}function De(){var a=this.fa();this.A-=(0>this.ja?this.B.Gj:this.B.Fj)+(a<<this.B.Hj);return a}function Ee(){return null}function Fe(a){lc.call(this,13,0);return a}
|
||||
function ed(a){Nc.call(this);return a}function J(a){K.call(this);return a}
|
||||
var Ge=[Xd,Yd,Zd,$d,ae,be,ce,de],He=[ee,fe,ge,he,ie,je,ke,le],Ie=[function(a,b){this.A-=0>this.Pa?this.B.qc:this.B.Vl;return b},Fe,Fe,Fe,Fe,Fe,Fe,Fe],Je=[function(a,b){this.A-=0>this.Pa?this.B.Nl:this.B.Ll;return b},J,J,J,J,J,J,J],Ke=[ne,pe,re,te,ve,xe,J,ze],Le=[oe,qe,se,ue,we,ye,J,Ae],Ne=[function(a,b){b=this.fa();this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.ja?this.B.Mj:this.B.Lj;this.ba|=2;return a},J,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^255},function(a,b){b=0;this.qa=
|
||||
a^b;this.ea=256;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&255},function(a){this.H=this.Pb=(this.aa=(this.H&255)*a)&65535;this.qa=this.la=this.aa;this.ea=256;this.H&65280?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.Rl:this.B.Ql;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Pb=b&65535;this.aa=this.qa=this.la=b;this.ea=256;127<b||-128>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.wl:this.B.vl;this.ba|=
|
||||
2;return a},function(a){if(!a)return Me.call(this),a;var b=this.H/a;if(255<b)return Me.call(this),a;this.Pb=this.H=b&255|(this.H%a&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.ol:this.B.nl;this.ba|=2;return a},function(a){if(!a)return Me.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Me.call(this),a;this.Pb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.sl:this.B.rl;this.ba|=
|
||||
2;return a}],Oe=[function(a,b){b=this.L();this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Mj:this.B.Lj;this.ba|=2;return a},J,function(a){this.A-=0>this.ja?this.B.Ag:this.B.zg;return a^65535},function(a,b){b=0;this.qa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.Ag:this.B.zg;return(this.aa=this.la=b-a)&65535},function(a){this.Pb=this.H=(this.aa=this.H*a)&65535;this.Jg=this.K=this.aa>>16&65535;this.qa=this.la=this.aa;this.ea=65536;this.K?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=
|
||||
0>this.ja?this.B.Tl:this.B.Sl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Pb=b&65535;this.K=this.Jg=b>>16&65535;this.aa=this.qa=this.la=b;this.ea=65536;32767<b||-32768>b?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?this.B.yl:this.B.xl;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Me.call(this),a;this.Pb=this.H=c&65535;this.Jg=this.K=b%a&65535;this.la=this.qa=this.aa=c|
|
||||
65536;this.ea=65536;this.A-=0>this.ja?this.B.ql:this.B.pl;this.ba|=2;return a},function(a,b){if(!a)return Me.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Me.call(this),a;this.Pb=this.H=d&65535;this.Jg=this.K=b%c&65535;this.la=this.qa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.ul:this.B.tl;this.ba|=2;return a}],Hc=[function(a){this.qa=a;a=(this.la=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:
|
||||
this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},J,J,J,J,J,J],Ic=[function(a){this.qa=a;a=(this.la=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){this.qa=a;a=(this.la=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.yg:this.B.xg;return a},function(a){G(this,this.wa);H(this,a);this.A-=
|
||||
0>this.ja?this.B.ml:this.B.ll;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);Pe.call(this,a,this.ra(this.ja+2));this.A-=this.B.jl;this.ba|=2;return a},function(a){H(this,a);this.A-=0>this.ja?this.B.Hl:this.B.Gl;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);Bc(this,a,this.ra(this.ja+2));this.A-=this.B.El;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ka&&(b=a));G(this,b);this.A-=0>this.ja?this.B.wc:this.B.Xl;this.ba|=2;return a},
|
||||
Fe],Qe=[ne,pe,re,te,ve,xe,J,ze],Re=[oe,qe,se,ue,we,ye,J,Ae];function Se(a,b){this.A-=0>this.Pa?0>this.ja?this.B.Pl:this.B.Ol:this.B.Ml;return b}function Te(){return Se.call(this,0,this.Pb)}function Ue(a,b){this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.Pa?0>this.ja?this.B.Nj:this.B.Cg:this.B.Cg;this.ba|=2;return a}function Ve(a,b){this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.Pa?0>this.ja?this.B.Nj:this.B.Cg:this.B.Cg;this.ba|=2;return a}
|
||||
function We(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.qa=this.la=c;this.ea=256;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Xe(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.aa=this.qa=this.la=c;this.ea=65536;32767<c||-32768>c?(Kd(this),Od(this)):(Fd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Ye(a){return a}function Ze(a){if(0>this.ja)return K.call(this),a;this.A-=this.B.Il;return this.ja}
|
||||
function $e(a,b){if(0>this.ja)return K.call(this),a;vd(this,this.ra(this.ja+2));this.A-=this.B.oj;return b}function af(a,b){if(0>this.ja)return K.call(this),a;xd(this,this.ra(this.ja+2));this.A-=this.B.oj;return b}function bf(a){if(0>this.ja)return Nc.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.fl;if(b<c||b>d)H(this,this.Gg-this.va.Ga),Ud.call(this,5,null,0);this.ba|=2;return a}
|
||||
function cf(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Md(this),a;Hd(this);return a}function df(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(b,!0)&&this.Tb.nc>=this.va.bb&&this.Tb.nc>=(b&3))return Md(this),this.Tb.ob&65280;Hd(this);return a}function hf(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Tb.load(b,!0)&&(7168==(this.Tb.ob&7168)||this.Tb.nc>=this.va.bb)&&this.Tb.nc>=(b&3))return Md(this),this.Tb.oc;Hd(this);return a}
|
||||
function jf(a,b){if(0>this.ja){switch(this.eh&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.Pj}else this.Pa=this.ja,this.R(a),this.A-=this.B.Oj;return b}
|
||||
function kf(a,b){if(0>this.ja){switch(this.eh&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.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Pj}else this.Pa=this.ja,this.S(a),this.A-=this.B.Oj;return b}function lf(a){a|=this.fc&1;this.fc=this.fc&65520|a&-65521;this.fc&1&&jd(this,!0)}function Pe(a,b){var c=this.va.ta,d=this.wa;null!=Bc(this,a,b,!0)&&(G(this,c),G(this,d))}
|
||||
function mf(a){var b=this.Oa(),c=this.Oa();a&&(this.Y=this.Y+a&65535);Bc(this,b,c,!1)&&(a&&(this.Y=this.Y+a&65535),this.fb.ta&65528&&this.fb.nc<this.va.bb&&7168!=(this.fb.ob&7168)&&this.fb.load(0),this.La.ta&65528&&this.La.nc<this.va.bb&&7168!=(this.La.ob&7168)&&this.La.load(0));2==a&&this.mh&&qd(this,this.Ea)}
|
||||
function Ud(a,b,c){this.A-=this.B.Al+c;this.va.Fi=!0;c=zc(this);var d=this.va.ta,e=this.wa;a=this.va.Xk(a);-4!=a&&(this.Ea=a+this.wa,G(this,c),G(this,d),G(this,e),null!=b&&G(this,b),this.Nh=-1)}function Me(){H(this,this.Gg-this.va.Ga);Ud.call(this,0,null,2)}
|
||||
function lc(a,b,c){if(this.na.jg){var d=!1;if(80186<=this.Ka)if(0>this.Nh)H(this,this.Gg-this.va.Ga),d=!0;else if(8!=this.Nh)b=0,a=8,d=!0;else{nf.call(this,-1,0,c);id(this);return}nf.call(this,a,b,c)&&(d=!1);d&&Ud.call(this,this.Nh=a,b,0);this.ba&=-4}else this.cb("Fault "+q(a)+" blocked by Debugger",of),H(this,this.Gg-this.va.Ga)}
|
||||
function nf(a,b,c){var d=pf,e=rb(this.sa,this.Ea);204==e&&(c=!1,d|=Ob);983040<=this.Ea&&1048575>=this.Ea&&(c=!1);this.ua(d|qf)&&(c=!0);if(this.ua(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+s(b)+")":"")+" on opcode 0x"+q(e)+" at "+ea(this.wa,this.va.ta)+" (%"+p(this.Ea,6)+")",b=this.na.mb,this.cb(a,d)?c&&(c=b,this.ka.Ib()):(this.Ia(a),this.Ib());return c}function rf(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}
|
||||
function sf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function tf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function uf(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function vf(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function wf(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function xf(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}
|
||||
function yf(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function zf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function Af(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function Bf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function Cf(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function Df(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}
|
||||
function Ef(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function Ff(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function Gf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function Hf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function If(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function Jf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}
|
||||
|
|
@ -386,303 +387,306 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
|
|||
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Y=a[4].call(this,this.Y,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
|
||||
a[5].call(this,this.C,b.call(this))},function(a,b){this.Y=a[5].call(this,this.Y,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
|
||||
function(a,b){this.ba|=512;this.Y=a[6].call(this,this.Y,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Y=a[7].call(this,
|
||||
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function fd(){Sh[this.fa()].call(this)}function hd(){G(this,this.Y);this.A-=this.B.wc}function Pc(){var a=this.Y;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.Vl}
|
||||
function Qc(){this.F=this.Oa();this.G=this.Oa();this.I=this.Oa();this.Y+=2;this.C=this.Oa();this.K=this.Oa();this.J=this.Oa();this.H=this.Oa();this.A-=this.B.Tl}function Rc(){L[this.fa()].call(this,bf)}function gd(){Oh[this.fa()].call(this,cf)}function Sc(){G(this,this.L());this.A-=this.B.wc}function Tc(){L[this.fa()].call(this,Xe)}function Uc(){G(this,this.fa());this.A-=this.B.wc}function Vc(){L[this.fa()].call(this,We)}
|
||||
function Wc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=yb(this.sa,this.K,this.Ea-b-1);this.Sd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
|
||||
function Xc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ea-b-1,d=yb(this.sa,this.K,d)|yb(this.sa,this.K,d)<<8;this.Ta(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
|
||||
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function fd(){Sh[this.fa()].call(this)}function hd(){G(this,this.Y);this.A-=this.B.wc}function Oc(){var a=this.Y;G(this,this.H);G(this,this.J);G(this,this.K);G(this,this.C);G(this,a);G(this,this.I);G(this,this.G);G(this,this.F);this.A-=this.B.Wl}
|
||||
function Pc(){this.F=this.Oa();this.G=this.Oa();this.I=this.Oa();this.Y+=2;this.C=this.Oa();this.K=this.Oa();this.J=this.Oa();this.H=this.Oa();this.A-=this.B.Ul}function Qc(){L[this.fa()].call(this,bf)}function gd(){Oh[this.fa()].call(this,cf)}function Sc(){G(this,this.L());this.A-=this.B.wc}function Tc(){L[this.fa()].call(this,Xe)}function Uc(){G(this,this.fa());this.A-=this.B.wc}function Vc(){L[this.fa()].call(this,We)}
|
||||
function Wc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=yb(this.sa,this.K,this.Ea-b-1);this.Qd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
|
||||
function Xc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.Ea-b-1,d=yb(this.sa,this.K,d)|yb(this.sa,this.K,d)<<8;this.Ua(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}}
|
||||
function Yc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.yb(this.fb.Ic(this.G,0));this.G=this.G+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;Cb(this.sa,this.K,d,this.Ea-b-1);a&&(yd(this,-2),this.ba|=256)}}
|
||||
function Zc(){var a=1,b=0,c=5;this.Da&192&&(a=this.J,b=1,this.Da&256&&(c=4));if(a--){var d=this.ra(this.fb.Ic(this.G,1));this.G=this.G+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ea-b-1;Cb(this.sa,this.K,d&255,b);Cb(this.sa,this.K,d>>8,b);a&&(yd(this,-2),this.ba|=256)}}function Th(){var a=this.M();Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Uh(){var a=this.M();Ed(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}
|
||||
function Vh(){var a=this.M();zd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Wh(){var a=this.M();zd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function Xh(){var a=this.M();Cd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Yh(){var a=this.M();Cd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function Zh(){var a=this.M();zd(this)||Cd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}
|
||||
function $h(){var a=this.M();zd(this)||Cd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function ai(){var a=this.M();Dd(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function bi(){var a=this.M();Dd(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}function ci(){var a=this.M();Ad(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function di(){var a=this.M();Ad(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}
|
||||
function ei(){var a=this.M();!Dd(this)!=!Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function fi(){var a=this.M();!Dd(this)==!Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function gi(){var a=this.M();Cd(this)||!Dd(this)!=!Ed(this)?(H(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function hi(){var a=this.M();Cd(this)||!Dd(this)!=!Ed(this)?this.A-=this.B.cc:(H(this,this.wa+a),this.A-=this.B.bc)}
|
||||
function ii(){Qh[this.fa()].call(this,Ge,this.fa);this.A-=0>this.Pa?1:this.B.Nh}function $c(){Qh[this.fa()].call(this,Qe,De)}function ad(){Rh[this.fa()].call(this,Re,De)}function ji(){var a=this.L();H(this,this.Oa());this.Y=this.Y+a&65535;this.A-=this.B.$l}function ki(){H(this,this.Oa());this.A-=this.B.Xl}
|
||||
function bd(){var a=this.L(),b=this.fa()&31;this.A-=11;G(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,this.ra(this.Za.Ic(this.I,1)));G(this,c)}this.I=c;this.Y=this.Y-a&65535}function cd(){this.Y=this.I;this.I=this.Oa();this.A-=5}function li(){mf.call(this,this.L());this.A-=this.B.Zl}function mi(){mf.call(this,0);this.A-=this.B.Yl}function ni(){L[this.fa()].call(this,Ye);this.A-=8}function oi(){this.ba|=36;this.A-=this.B.re}
|
||||
function dd(){J.call(this)}function Nc(){lc.call(this,6);this.Jb()}function J(){H(this,this.Gg-this.ua.Ga);gb(this,"Undefined opcode 0x"+q(rb(this.sa,this.Ea))+" at "+fa(this.wa,this.ua.ta));this.Jb()}
|
||||
function ii(){Qh[this.fa()].call(this,Ge,this.fa);this.A-=0>this.Pa?1:this.B.Oh}function $c(){Qh[this.fa()].call(this,Qe,De)}function ad(){Rh[this.fa()].call(this,Re,De)}function ji(){var a=this.L();H(this,this.Oa());this.Y=this.Y+a&65535;this.A-=this.B.am}function ki(){H(this,this.Oa());this.A-=this.B.Yl}
|
||||
function bd(){var a=this.L(),b=this.fa()&31;this.A-=11;G(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,G(this,this.ra(this.Ya.Ic(this.I,1)));G(this,c)}this.I=c;this.Y=this.Y-a&65535}function cd(){this.Y=this.I;this.I=this.Oa();this.A-=5}function li(){mf.call(this,this.L());this.A-=this.B.$l}function mi(){mf.call(this,0);this.A-=this.B.Zl}function ni(){L[this.fa()].call(this,Ye);this.A-=8}function oi(){this.ba|=36;this.A-=this.B.qe}
|
||||
function dd(){K.call(this)}function Nc(){lc.call(this,6);this.Ib()}function K(){H(this,this.Gg-this.va.Ga);gb(this,"Undefined opcode 0x"+q(rb(this.sa,this.Ea))+" at "+ea(this.wa,this.va.ta));this.Ib()}
|
||||
var Gc=[function(){var a=this.fa();Nh[a].call(this,Xd)},function(){Oh[this.fa()].call(this,ee)},function(){Ph[this.fa()].call(this,Xd)},function(){L[this.fa()].call(this,ee)},function(){this.H=this.H&-256|Xd.call(this,this.H&255,this.fa());this.A--},function(){this.H=ee.call(this,this.H,this.L());this.A--},function(){G(this,this.La.ta);this.A-=this.B.Bg},function(){xd(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,Yd)},function(){Oh[this.fa()].call(this,fe)},function(){Ph[this.fa()].call(this,
|
||||
Yd)},function(){L[this.fa()].call(this,fe)},function(){this.H=this.H&-256|Yd.call(this,this.H&255,this.fa());this.A--},function(){this.H=fe.call(this,this.H,this.L());this.A--},function(){G(this,this.ua.ta);this.A-=this.B.Bg},function(){ud(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,Zd)},function(){Oh[this.fa()].call(this,ge)},function(){Ph[this.fa()].call(this,Zd)},function(){L[this.fa()].call(this,ge)},function(){this.H=this.H&-256|Zd.call(this,this.H&255,this.fa());this.A--},
|
||||
function(){this.H=ge.call(this,this.H,this.L());this.A--},function(){G(this,this.Za.ta);this.A-=this.B.Bg},function(){wd(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,$d)},function(){Oh[this.fa()].call(this,he)},function(){Ph[this.fa()].call(this,$d)},function(){L[this.fa()].call(this,he)},function(){this.H=this.H&-256|$d.call(this,this.H&255,this.fa());this.A--},function(){this.H=he.call(this,this.H,this.L());this.A--},function(){G(this,this.fb.ta);this.A-=this.B.Bg},function(){vd(this,
|
||||
this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,ae)},function(){Oh[this.fa()].call(this,ie)},function(){Ph[this.fa()].call(this,ae)},function(){L[this.fa()].call(this,ie)},function(){this.H=this.H&-256|ae.call(this,this.H&255,this.fa());this.A--},function(){this.H=ie.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.La;this.A-=this.B.re},function(){var a=this.H&255,b=Bd(this),c=this.aa&this.ea;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
|
||||
-256|(this.aa=this.la=a&255);this.ea=65536;c&&(this.aa|=this.ea);b?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,be)},function(){Oh[this.fa()].call(this,je)},function(){Ph[this.fa()].call(this,be)},function(){L[this.fa()].call(this,je)},function(){this.H=this.H&-256|be.call(this,this.H&255,this.fa());this.A--},function(){this.H=je.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.ua;this.A-=this.B.re},function(){var a=this.H&255,b=Bd(this),c=
|
||||
Yd)},function(){L[this.fa()].call(this,fe)},function(){this.H=this.H&-256|Yd.call(this,this.H&255,this.fa());this.A--},function(){this.H=fe.call(this,this.H,this.L());this.A--},function(){G(this,this.va.ta);this.A-=this.B.Bg},function(){ud(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,Zd)},function(){Oh[this.fa()].call(this,ge)},function(){Ph[this.fa()].call(this,Zd)},function(){L[this.fa()].call(this,ge)},function(){this.H=this.H&-256|Zd.call(this,this.H&255,this.fa());this.A--},
|
||||
function(){this.H=ge.call(this,this.H,this.L());this.A--},function(){G(this,this.Ya.ta);this.A-=this.B.Bg},function(){wd(this,this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,$d)},function(){Oh[this.fa()].call(this,he)},function(){Ph[this.fa()].call(this,$d)},function(){L[this.fa()].call(this,he)},function(){this.H=this.H&-256|$d.call(this,this.H&255,this.fa());this.A--},function(){this.H=he.call(this,this.H,this.L());this.A--},function(){G(this,this.fb.ta);this.A-=this.B.Bg},function(){vd(this,
|
||||
this.Oa());this.A-=this.B.qc},function(){Nh[this.fa()].call(this,ae)},function(){Oh[this.fa()].call(this,ie)},function(){Ph[this.fa()].call(this,ae)},function(){L[this.fa()].call(this,ie)},function(){this.H=this.H&-256|ae.call(this,this.H&255,this.fa());this.A--},function(){this.H=ie.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.La;this.A-=this.B.qe},function(){var a=this.H&255,b=Bd(this),c=this.aa&this.ea;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
|
||||
-256|(this.aa=this.la=a&255);this.ea=65536;c&&(this.aa|=this.ea);b?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,be)},function(){Oh[this.fa()].call(this,je)},function(){Ph[this.fa()].call(this,be)},function(){L[this.fa()].call(this,je)},function(){this.H=this.H&-256|be.call(this,this.H&255,this.fa());this.A--},function(){this.H=je.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.va;this.A-=this.B.qe},function(){var a=this.H&255,b=Bd(this),c=
|
||||
this.aa&this.ea;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.aa=this.la=a&255);this.ea=65536;c&&(this.aa|=this.ea);b?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,ce)},function(){Oh[this.fa()].call(this,ke)},function(){Ph[this.fa()].call(this,ce)},function(){L[this.fa()].call(this,ke)},function(){this.H=this.H&-256|ce.call(this,this.H&255,this.fa());this.A--},function(){this.H=ke.call(this,this.H,this.L());this.A--},function(){this.ba|=20;this.D=
|
||||
this.N=this.Za;this.A-=this.B.re},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,de)},function(){Oh[this.fa()].call(this,le)},function(){Ph[this.fa()].call(this,de)},function(){L[this.fa()].call(this,le)},function(){this.H=this.H&-256|de.call(this,this.H&255,this.fa());this.A--},function(){this.H=le.call(this,this.H,
|
||||
this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.fb;this.A-=this.B.re},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){this.qa=this.H;this.H=(this.la=this.H+1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J+1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<
|
||||
this.N=this.Ya;this.A-=this.B.qe},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){Nh[this.fa()].call(this,de)},function(){Oh[this.fa()].call(this,le)},function(){Ph[this.fa()].call(this,de)},function(){L[this.fa()].call(this,le)},function(){this.H=this.H&-256|de.call(this,this.H&255,this.fa());this.A--},function(){this.H=le.call(this,this.H,
|
||||
this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.fb;this.A-=this.B.qe},function(){var a=this.H&255,b=this.H>>8,c,d=Bd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Gd(this);this.A-=this.B.Ve},function(){this.qa=this.H;this.H=(this.la=this.H+1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J+1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<
|
||||
16;this.ea=65536;this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K+1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C+1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y+1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I+1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea=
|
||||
65536;this.A-=2},function(){this.qa=this.G;this.G=(this.la=this.G+1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F+1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.H;this.H=(this.la=this.H-1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J-1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<16;this.ea=65536;
|
||||
this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K-1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C-1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y-1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I-1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=
|
||||
2},function(){this.qa=this.G;this.G=(this.la=this.G-1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F-1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){G(this,this.H);this.A-=this.B.wc},function(){G(this,this.J);this.A-=this.B.wc},function(){G(this,this.K);this.A-=this.B.wc},function(){G(this,this.C);this.A-=this.B.wc},function(){G(this,this.Y-2&65535);this.A-=this.B.wc},function(){G(this,
|
||||
this.I);this.A-=this.B.wc},function(){G(this,this.G);this.A-=this.B.wc},function(){G(this,this.F);this.A-=this.B.wc},function(){this.H=this.Oa();this.A-=this.B.qc},function(){this.J=this.Oa();this.A-=this.B.qc},function(){this.K=this.Oa();this.A-=this.B.qc},function(){this.C=this.Oa();this.A-=this.B.qc},function(){this.Y=this.Oa();this.A-=this.B.qc},function(){this.I=this.Oa();this.A-=this.B.qc},function(){this.G=this.Oa();this.A-=this.B.qc},function(){this.F=this.Oa();this.A-=this.B.qc},Th,Uh,Vh,
|
||||
Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,Th,Uh,Vh,Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,function(){Rh[this.fa()].call(this,He,this.L);this.A-=0>this.Pa?1:this.B.Nh},ii,function(){Rh[this.fa()].call(this,He,this.M);this.A-=0>this.Pa?1:this.B.Nh},function(){Nh[this.fa()].call(this,Ue)},function(){Oh[this.fa()].call(this,Ve)},function(){Ph[this.eh=this.fa()].call(this,jf)},function(){L[this.eh=this.fa()].call(this,kf)},function(){this.ba|=1;Nh[this.fa()].call(this,Se)},function(){this.ba|=1;Oh[this.fa()].call(this,
|
||||
Se)},function(){Ph[this.fa()].call(this,Se)},function(){L[this.fa()].call(this,Se)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Qb=this.La.ta;break;case 1:this.Qb=this.ua.ta;break;case 2:this.Qb=this.Za.ta;break;case 3:this.Qb=this.fb.ta;break;default:J.call(this);return}this.ba|=1;Oh[a].call(this,Te)},function(){this.ba|=1;this.D=this.N=this.rm;L[this.fa()].call(this,Ze)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;
|
||||
Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,Th,Uh,Vh,Wh,Xh,Yh,Zh,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,function(){Rh[this.fa()].call(this,He,this.L);this.A-=0>this.Pa?1:this.B.Oh},ii,function(){Rh[this.fa()].call(this,He,this.M);this.A-=0>this.Pa?1:this.B.Oh},function(){Nh[this.fa()].call(this,Ue)},function(){Oh[this.fa()].call(this,Ve)},function(){Ph[this.eh=this.fa()].call(this,jf)},function(){L[this.eh=this.fa()].call(this,kf)},function(){this.ba|=1;Nh[this.fa()].call(this,Se)},function(){this.ba|=1;Oh[this.fa()].call(this,
|
||||
Se)},function(){Ph[this.fa()].call(this,Se)},function(){L[this.fa()].call(this,Se)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Pb=this.La.ta;break;case 1:this.Pb=this.va.ta;break;case 2:this.Pb=this.Ya.ta;break;case 3:this.Pb=this.fb.ta;break;default:K.call(this);return}this.ba|=1;Oh[a].call(this,Te)},function(){this.ba|=1;this.D=this.N=this.rm;L[this.fa()].call(this,Ze)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;
|
||||
default:if(80286<=this.Ka){Nc.call(this);return}switch(c){case 1:a=this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}L[b].call(this,Se);switch(c){case 0:xd(this,this.H);this.H=a;break;case 1:ud(this,this.J);this.J=a;break;case 2:wd(this,this.K);this.K=a;break;case 3:vd(this,this.C);this.C=a;break;case 4:xd(this,this.Y);this.Y=a;break;case 5:ud(this,this.I);this.I=a;break;case 6:wd(this,this.G);this.G=a;break;case 7:vd(this,this.F),this.F=a}},function(){this.ba|=
|
||||
1;Rh[this.fa()].call(this,Ie,this.Oa)},function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;
|
||||
this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=this.B.gl},function(){Pe.call(this,this.L(),this.L());this.A-=this.B.jl},function(){this.qb("WAIT not implemented",Ob);this.A--},function(){G(this,zc(this));this.A-=this.B.wc},function(){Ac(this,this.Oa());this.A-=this.B.qc},function(){var a=this.H>>8;a&1?Kd(this):Fd(this);a&4?Ad(this)||(this.la^=1):Ad(this)&&(this.la^=1);a&16?Ld(this):Gd(this);a&64?Md(this):Hd(this);a&128?Nd(this):Id(this);this.A-=this.B.Pb},function(){this.H=this.H&255|(zc(this)&
|
||||
213)<<8;this.A-=this.B.Pb},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.uj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.uj},function(){var a=this.L(),b=this.H;this.Sd(this.D.Zb(a,0),b);this.A-=this.B.vj},function(){var a=this.L(),b=this.H;this.Ta(this.D.Zb(a,1),b);this.A-=this.B.vj},function(){var a=1,b=0,c=this.B.wj;this.Da&192&&(a=this.J,b=1,c=this.B.yj,this.Da&256||(this.A-=this.B.xj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G);this.Sd(this.La.Zb(this.F,
|
||||
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.wj;this.Da&192&&(a=this.J,b=1,c=this.B.yj,this.Da&256||(this.A-=this.B.xj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.Ta(this.La.Zb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.gj;this.Da&192&&(a=this.J,b=1,c=this.B.ij,this.Da&
|
||||
256||(this.A-=this.B.hj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.La,this.F);de.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Gb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.gj;this.Da&192&&(a=this.J,b=1,c=this.B.ij,this.Da&256||(this.A-=this.B.hj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.La,this.F);le.call(this,e,f);this.G=this.G+d&65535;this.F=
|
||||
this.F+d&65535;this.A-=c-this.B.Gb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){this.aa=this.la=this.qa=this.H&255&this.fa();this.ea=256;this.A-=this.B.Ve},function(){this.aa=this.la=this.qa=this.H&this.L();this.ea=65536;this.A-=this.B.Ve},function(){var a=1,b=0,c=this.B.Hj;this.Da&192&&(a=this.J,b=1,c=this.B.Jj,this.Da&256||(this.A-=this.B.Ij));if(a--){var d=this.H;this.Sd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=
|
||||
b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Hj;this.Da&192&&(a=this.J,b=1,c=this.B.Jj,this.Da&256||(this.A-=this.B.Ij));if(a--){var d=this.H;this.Ta(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.oj;this.Da&192&&(a=this.J,b=1,c=this.B.qj,this.Da&256||(this.A-=this.B.pj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b,
|
||||
a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.oj;this.Da&192&&(a=this.J,b=1,c=this.B.qj,this.Da&256||(this.A-=this.B.pj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Bj;this.Da&192&&(a=this.J,b=1,c=this.B.Dj,this.Da&256||(this.A-=this.B.Cj));a--&&(de.call(this,this.H&255,this.O(this.La,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-=
|
||||
c-this.B.Gb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Bj;this.Da&192&&(a=this.J,b=1,c=this.B.Dj,this.Da&256||(this.A-=this.B.Cj));a--&&(le.call(this,this.H,this.P(this.La,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.Gb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Pb},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Pb},function(){this.K=this.K&
|
||||
-256|this.fa();this.A-=this.B.Pb},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Pb},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Pb},function(){this.H=this.L();this.A-=this.B.Pb},function(){this.J=this.L();this.A-=this.B.Pb},function(){this.K=this.L();this.A-=this.B.Pb},function(){this.C=this.L();
|
||||
this.A-=this.B.Pb},function(){this.Y=this.L();this.A-=this.B.Pb},function(){this.I=this.L();this.A-=this.B.Pb},function(){this.G=this.L();this.A-=this.B.Pb},function(){this.F=this.L();this.A-=this.B.Pb},ji,ki,ji,ki,function(){L[this.fa()].call(this,af)},function(){L[this.fa()].call(this,$e)},function(){this.ba|=1;Qh[this.fa()].call(this,Je,this.fa)},function(){this.ba|=1;Rh[this.fa()].call(this,Je,this.L)},li,mi,li,mi,function(){Ud.call(this,3,null,this.B.Al)},function(){var a=this.fa();ld(this,a)?
|
||||
Ud.call(this,a,null,0):this.A--},function(){Ed(this)?Ud.call(this,4,null,this.B.Bl):this.A-=this.B.Cl},function(){this.A-=this.B.yl;if(this.fc&1&&this.Ba&16384){var a=this.ra(this.gb.Ga+0);yc.call(this.ua,a,!1)}else{var a=this.ua.cb,b=this.Oa(),c=this.Oa(),d=this.Oa();null!=Bc(this,b,c,!1)&&(Ac(this,d,a),this.mh&&qd(this,this.Ea))}},function(){Qh[this.fa()].call(this,Ke,Be)},function(){Rh[this.fa()].call(this,Le,Be)},function(){Qh[this.fa()].call(this,Ke,Ce)},function(){Rh[this.fa()].call(this,Le,
|
||||
Ce)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.aa=this.la=b;this.A-=this.B.dl},function(){var a=this.fa();this.aa=this.la=this.H=(this.H>>8)*a+this.H&255;this.ea=256;this.A-=this.B.cl},function(){this.H=this.H&-256|(zd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.bm},ni,ni,ni,ni,ni,ni,ni,ni,function(){var a=this.M();(this.J=this.J-1&65535)&&this.aa&this.ea-1?(H(this,this.wa+a),this.A-=this.B.Jl):
|
||||
this.A-=this.B.rj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.aa&this.ea-1?this.A-=this.B.tj:(H(this,this.wa+a),this.A-=this.B.sj)},function(){var a=this.M();(this.J=this.J-1&65535)?(H(this,this.wa+a),this.A-=this.B.Il):this.A-=this.B.rj},function(){var a=this.M();this.J?this.A-=this.B.tj:(H(this,this.wa+a),this.A-=this.B.sj)},function(){var a=this.fa();this.H=this.H&-256|yb(this.sa,a,this.Ea-2);this.A-=this.B.lj},function(){var a=this.fa();this.H=yb(this.sa,a,this.Ea-1)|yb(this.sa,
|
||||
a+1&65535,this.Ea-2)<<8;this.A-=this.B.lj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);this.A-=this.B.Aj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);Cb(this.sa,a+1&65535,this.H>>8,this.Ea-2);this.A-=this.B.Aj},function(){var a=this.L();G(this,this.wa);H(this,this.wa+a);this.A-=this.B.hl},function(){var a=this.L();H(this,this.wa+a);this.A-=this.B.mj},function(){Bc(this,this.L(),this.L());this.A-=this.B.El},function(){var a=this.M();H(this,this.wa+a);this.A-=this.B.mj},
|
||||
function(){this.H=this.H&-256|yb(this.sa,this.K,this.Ea-1);this.A-=this.B.kj},function(){this.H=yb(this.sa,this.K,this.Ea-1)|yb(this.sa,this.K+1&65535,this.Ea-1)<<8;this.A-=this.B.kj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);this.A-=this.B.zj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);Cb(this.sa,this.K+1&65535,this.H>>8,this.Ea-1);this.A-=this.B.zj},oi,oi,function(){this.ba|=132;this.A-=this.B.re},function(){this.ba|=68;this.A-=this.B.re},function(){this.zb|=4;this.A-=2;this.ka&&
|
||||
Pd(this.ka)?(yd(this,-1),this.Jb()):this.Ba&512||(this.ka&&yd(this,-1),this.Jb())},function(){zd(this)?Fd(this):Kd(this);this.A-=2},function(){this.Qb=-1;Qh[this.fa()].call(this,Ne,Ee);0<=this.Qb&&(this.H=this.Qb)},function(){this.Qb=-1;Rh[this.fa()].call(this,Oe,Ee);0<=this.Qb&&(this.H=this.Qb,this.K=this.Jg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.fl},function(){this.Ba|=512;this.ba|=4;this.A-=2},function(){this.Ba&=
|
||||
-1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){Qh[this.fa()].call(this,Kc,Ee)},function(){Rh[this.fa()].call(this,Lc,Ee)}],Sh=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);Rh[a].call(this,this.mk,Ee)},function(){var a=this.fa();a&16||(this.ba|=1);Rh[a].call(this,pi,Ee)},function(){L[this.fa()].call(this,df)},function(){L[this.fa()].call(this,hf)},J,function(){this.ua.cb?lc.call(this,13,0,!0):(lf.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.I=this.ra(2090),
|
||||
this.Y=this.ra(2092),this.C=this.ra(2094),this.K=this.ra(2096),this.J=this.ra(2098),this.H=this.ra(2100),Cc(this.La,2102,this.ra(2084)),Cc(this.ua,2108,this.ra(2082)),Cc(this.Za,2114,this.ra(2080)),Cc(this.fb,2120,this.ra(2078)),Ac(this,this.ra(2072)),H(this,this.ra(2074)),this.Ec=this.ra(2126)|this.ra(2128)<<16,this.Be=this.Ec+this.ra(2130),Cc(this.Xc,2132,this.ra(2076)),this.Qc=this.ra(2138)|this.ra(2140)<<16,this.Ce=this.Qc+this.ra(2142),Cc(this.gb,2144,this.ra(2070)),this.A-=195)},function(){this.ua.cb?
|
||||
lc.call(this,13,0,!0):(this.fc&=-9,this.A-=2)},J,J,J,J,Nc,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,
|
||||
J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J],rd=[function(){this.A-=2+(0>this.ja?0:1);return this.Xc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.gb.ta},function(a){this.ba|=2;this.Xc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.gb.load(a)&&(this.Ta(this.gb.Dd+4,this.gb.nb|=512),this.gb.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Ub.load(a,!0)&&2048!=(this.Ub.nb&2560)&&(this.Ub.nc>=this.ua.cb&&
|
||||
this.Ub.nc>=(a&3)||7168==(this.Ub.nb&7168)))return Md(this),a;Hd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Ub.load(a,!0)&&512==(this.Ub.nb&2560)&&this.Ub.nc>=this.ua.cb&&this.Ub.nc>=(a&3))return Md(this),a;Hd(this);return a},I,I],Mc=[ed,ed,ed,ed,ed,ed,I,I],pi=[function(a){0>this.ja?Nc.call(this):(a=this.Be-this.Ec,this.Ta(this.ja+2,this.Ec),this.Ta(this.ja+4,65280|this.Ec>>16),this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(a=this.Ce-this.Qc,this.Ta(this.ja+
|
||||
2,this.Qc),this.Ta(this.ja+4,65280|this.Qc>>16),this.A-=12);return a},function(a){0>this.ja?Nc.call(this):(this.Ec=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Be=this.Ec+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(this.Qc=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Ce=this.Qc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.fc},I,function(a){lf.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},I];
|
||||
function M(a){y.call(this,"ChipSet",a,M,qi);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ri;this.gc=0;var b=a.sw1;if(b)this.gc=si(b,ti|ui.zm);else{this.Yd=[360,360];(b=a.floppies)&&b.length&&(this.Yd=b);if(b=this.Yd.length)this.gc|=vi.ei,b--,this.gc|=(b&3)<<vi.Rf;if(b=a.monitor||(this.Ka<wi?"mono":"ega"),void 0!==xi[b])this.gc|=xi[b]<<ui.Rf}this.xe=si(a.sw2||"11110000",0);this.$n=this.Ka==ri?16:64;this.kh=this.cg=1;this.Ka>=wi&&(this.kh=this.cg=2);this.le=a.scaleTimers||!1;this.xp=a.rtcDate;this.Nk=
|
||||
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.xi=new window.webkitAudioContext);this.reset(!0);this.Wa()}Xa(y,M);var ri=5150,wi=5170,xi={none:0,tv:1,color:2,mono:3,ega:0},vi={ei:1,ONE:0,qq:64,oq:128,Op:192,Qf:192,Rf:6},ti=12,ui={pq:16,Hp:32,zm:48,Qf:48,Rf:4};k=M.prototype;
|
||||
k.Ib=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,yi(this,b,c,this.gc,{0:this.Ka==ri?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==ri?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==ri)return this.xa[b]=c,yi(this,b,c,this.xe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1};
|
||||
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Va=ib(a,"Keyboard");this.Qh=c.da.vd/1193181;xb(b,this,zi);Bb(b,this,Ai);this.Ka<wi?(xb(b,this,Bi),Bb(b,this,Ci)):(xb(b,this,Di),Bb(b,this,Ei));if(d){var e=this;Fi(d,Sd,function(){for(var a=0;a<e.Wb.length;a++){for(var b=e.Wb[a],c="PIC"+a+":",d=0;d<b.Bc.length;d++)c+=" IC"+(d+1)+"="+q(b.Bc[d]);c+=" IMR="+q(b.pd)+" IRR="+q(b.Sb)+" ISR="+q(b.Fc)+" DELAY="+b.Ff;e.ka.Z(c)}});Fi(d,Gi,function(){for(var a=0;a<e.Lb.length;a++){Hi(e,a);var b=
|
||||
e.Lb[a],c="TIMER"+a+":",d=0;if(null!=b.rd)for(var m=0;m<=b.rd;m++)d|=b.bb[m]<<8*m;c+=" mode="+b.mode+" bytes="+b.rd+" count="+v(d);e.ka.Z(c)}});Fi(d,Ii,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Ji(e,b):e.ma[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}kd(c,Ki,this,this.Zn)};k.ec=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};
|
||||
k.reset=function(a){var b;this.kd=this.gc;this.df=this.xe;Li(this);this.sb=Array(this.kh);for(b=0;b<this.kh;b++)Mi(this,b);this.Wb=Array(this.cg);Ni(this,0,32);1<this.cg&&Ni(this,1,160);this.ui=null;this.Lb=Array(3);for(b=0;b<this.Lb.length;b++)Oi(this,b);this.bg=this.si=this.Gc=this.gh=null;this.fh=0;if(this.Ka>=wi){this.ub=16;this.Ed=0;this.od=16;this.ah=0;this.Ee=160;512<=Pi(this)&&(this.Ee|=16);3==Qi(this)&&(this.Ee|=64);this.pi=3;this.$f=0;this.Wg=Array(7);this.Fe=0;a&&(this.ma=Array(64));Ri(this,
|
||||
this.xp);for(a=21;24>=a;a++)this.ma[a]=0;for(a=14;46>a;a++)void 0===this.ma[a]&&(this.ma[a]=0);this.ma[20]=this.kd&(ui.Qf|2|vi.ei|vi.Qf);this.ma[16]=Si(this,0)<<4|Si(this,1);Ti(this)}};
|
||||
function Ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.ma[0]=c.getSeconds();a.ma[1]=0;a.ma[2]=c.getMinutes();a.ma[3]=0;a.ma[4]=c.getHours();a.ma[5]=0;a.ma[6]=c.getDay()+1;a.ma[7]=c.getDate();a.ma[8]=c.getMonth()+1;c=c.getFullYear();a.ma[9]=c%100;c/=100;a.ma[50]=c%10|c/10<<4;a.ma[10]=38;a.ma[11]=2;a.ma[12]=0;a.ma[13]=128;a.Dg=a.Hf=0;a.cm=a.Oh=null}
|
||||
function Ji(a,b){var c=a.ma[b];if(10>b){var d=!1;4!=b&&5!=b||a.ma[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ma[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.ma[b]^=128);return c}function Ui(a){var b;void 0===b&&(b=a.Oh);a.Hf=D(a.T,a.le)+b;a.ma[11]&64&&Zb(a.T,b)}function Ti(a){for(var b=0,c=16;46>c;c++)b+=a.ma[c];a.ma[47]=b&255;a.ma[46]=b>>8}
|
||||
k.save=function(){var a=new sd(this);a.set(0,[this.gc,this.xe,this.kd,this.df]);for(var b=[],c=0;c<this.sb;c++){for(var d=this.sb[c],e=d,f=[],g=0;g<e.Rb.length;g++){var h=e.Rb[g];f[g]=[h.Od,h.Yg,h.hc,h.jb,h.bb,h.mode,h.hh,h.sp,h.tp]}b[c]=[d.fe,d.qi,d.tk,d.wb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Wb.length;c++)d=this.Wb[c],b[c]=[d.Ff,d.Bc,d.Qd,d.pd,d.Sb,d.Fc,d.Ge,d.ag];a.set(2,[b]);b=[];for(c=0;c<this.Lb.length;c++)d=this.Lb[c],b[c]=[d.hc,d.Jc,d.bb,d.Ne,d.vk,d.mode,d.Yh,d.ie,d.rd,d.td,d.kg,d.Re,d.jd];
|
||||
a.set(3,[this.ui,b]);a.set(4,[this.gh,this.Gc,this.si,this.bg,this.fh]);this.Ka>=wi&&(a.set(5,[this.ub,this.Ed,this.od,this.ah,this.Ee,this.pi]),a.set(6,[this.$f,this.Wg,this.Fe,this.ma,this.Dg,this.Hf]));return a.data()};
|
||||
k.restore=function(a){var b,c;b=a[0];this.gc=b[0];this.xe=b[1];this.kd=b[2];this.df=b[3];b=a[1];for(c=0;c<this.kh;c++)Mi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.cg;c++)Ni(this,c,0===c?32:160,b[0][c]);b=a[3];this.ui=b[0];for(c=0;c<this.Lb.length;c++)Oi(this,c,b[1][c]);b=a[4];this.gh=b[0];this.Gc=b[1];this.si=b[2];this.bg=b[3];this.fh=b[4];if(b=a[5])this.ub=b[0],this.Ed=b[1],this.od=b[2],this.ah=b[3],this.Ee=b[4],this.pi=b[5];if(b=a[6])this.$f=b[0],this.Wg=b[1],this.Fe=b[2],this.ma=b[3],
|
||||
this.Dg=b[4],this.Hf=b[5],Ri(this);return!0};var Vi=[0,null,null,0,Array(4)];function Mi(a,b,c){var d=a.sb[b];d||(d={Rb:Array(4)});c=c&&5==c.length?c:Vi;d.fe=c[0];d.qi=c[1];d.tk=c[2];d.wb=c[3];d.ho=b<<2;for(var e=0;e<d.Rb.length;e++)Wi(d,e,c[4][e]);a.sb[b]=d}var Xi=[!0,[0,0],[0,0],[0,0],[0,0]];
|
||||
function Wi(a,b,c){var d=a.Rb[b];d||(d={Yg:[0,0],hc:[0,0],jb:[0,0],bb:[0,0]});c=c&&8==c.length?c:Xi;d.Od=c[0];d.Yg[0]=c[1][0];d.Yg[1]=c[1][1];d.hc[0]=c[2][0];d.hc[1]=c[2][1];d.jb[0]=c[3][0];d.jb[1]=c[3][1];d.bb[0]=c[4][0];d.bb[1]=c[4][1];d.mode=c[5];d.hh=c[6];d.ga=a;d.Sk=b;Yi(d,c[8],c[9]);a.Rb[b]=d}function Yi(a,b,c,d){"string"==typeof b&&(b=$a(b));b&&(a.rh=null,a.sp=b.id,a.tp=c,a.ph=b,a.Pi=b[c],a.Rh=d)}var Zi=[0,Array(4)];
|
||||
function Ni(a,b,c,d){var e=a.Wb[b];e||(e={Bc:[null,null,null,null]});d=d&&8==d.length?d:Zi;e.port=c;e.Nq=b<<3;e.Ff=d[0];e.Bc[0]=d[1][0];e.Bc[1]=d[1][1];e.Bc[2]=d[1][2];e.Bc[3]=d[1][3];e.Qd=d[2];e.pd=d[3];e.Sb=d[4];e.Fc=d[5];e.Ge=d[6];e.ag=d[7];a.Wb[b]=e}var $i=[[0,0],[0,0],[0,0],[0,0]];
|
||||
function Oi(a,b,c){var d=a.Lb[b];d||(d={hc:[0,0],Jc:[0,0],bb:[0,0],Ne:[0,0]});c=c&&13==c.length?c:$i;d.hc[0]=c[0][0];d.hc[1]=c[0][1];d.Jc[0]=c[1][0];d.Jc[1]=c[1][1];d.bb[0]=c[2][0];d.bb[1]=c[2][1];d.Ne[0]=c[3][0];d.Ne[1]=c[3][1];d.vk=c[4];d.mode=c[5];d.Yh=c[6];d.ie=c[7];d.rd=c[8];d.td=c[9];d.kg=c[10];d.Re=c[11];d.jd=c[12];a.Lb[b]=d}function Pi(a,b){return((((b?a.gc:a.kd)&12)>>2)+1)*a.$n+32*((b?a.xe:a.df)&15)}function aj(a,b){var c=b?a.gc:a.kd;return a.Ka!=ri||c&vi.ei?((c&vi.Qf)>>vi.Rf)+1:0}
|
||||
function Si(a,b){if(b<aj(a)){if(!a.Yd)return 1;if(b<a.Yd.length)switch(a.Yd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Qi(a,b){return((b?a.gc:a.kd)&ui.Qf)>>ui.Rf}
|
||||
function yi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=A(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),bj(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");bj(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.gc=
|
||||
a.gc&~e|(c?0:e);break;case "sw2":a.xe=a.xe&~e|(c?0:e)}Li(a)}}(a,b[g])}function bj(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Li(a){var b=a.xa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Pi(a,!0)+"Kb");d+=", "+c[Qi(a,!0)]+" Monitor";d+=", "+aj(a,!0)+" Floppy Drives";if(null!=a.kd&&a.kd!=a.gc||null!=a.df&&a.df!=a.xe)d+=" (Reset required)";b.textContent=d}}
|
||||
function cj(a,b,c,d,e){var f=a.sb[b],g=f.Rb[c],h=g.jb[f.wb];a.va(N|P)&&B(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.jb[0]++,255<g.jb[0]&&(g.jb[0]=0,g.jb[1]++,255<g.jb[1]&&(g.jb[1]=0)));return h}function dj(a,b,c,d,e,f){var g=a.sb[b];a.va(N|P)&&B(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.wb+"]",null,!0);a=g.Rb[c];a.jb[g.wb]=a.Yg[g.wb]=e;g.wb^=1}
|
||||
function ej(a,b,c,d,e){var f=a.sb[b],g=f.Rb[c],h=g.bb[f.wb];a.va(N|P)&&B(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.bb[0]--,0>g.bb[0]&&(g.bb[0]=255,g.bb[1]--,0>g.bb[1]&&(g.bb[1]=255)));return h}function fj(a,b,c,d,e,f){var g=a.sb[b];a.va(N|P)&&B(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.wb+"]",null,!0);a=g.Rb[c];a.bb[g.wb]=a.hc[g.wb]=e;g.wb^=1}function gj(a,b,c,d){var e=a.sb[b],f=e.fe|1;e.fe&=-16;a.va(N|P)&&B(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
|
||||
function hj(a,b,c,d,e){var f=a.sb[b];a.va(N|P)&&B(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.fe=f.fe&~(16<<a)|(d&4)<<a+2;f.tk=d}function ij(a,b,c,d,e){var f=a.sb[b];a.va(N|P)&&B(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Rb[b];c.Od=!!(d&4);c.Od||jj(a,f.ho+b)}function kj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA"+b+".MODE",null,!0);a.sb[b].Rb[d&3].mode=d}function lj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA"+b+".RESET_FF",null,!0);a.sb[b].wb=0}
|
||||
function mj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.sb[b];for(b=0;b<a.Rb.length;b++)Wi(a,b)}function nj(a,b,c,d,e){var f=a.sb[b].Rb[c].hh;a.va(N|P)&&B(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function oj(a,b,c,d,e,f){a.va(N|P)&&B(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.sb[b].Rb[c].hh=e}function pj(a,b,c,d){var e=a.Wg[b];a.va(N|P)&&B(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
|
||||
function qj(a,b,c,d,e){a.va(N|P)&&B(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Wg[b]=d}function rj(a,b,c,d,e){Yi(a.sb[b>>2].Rb[b&3],c,d,e)}function jj(a,b,c){b=a.sb[b>>2].Rb[b&3];b.ph&&b.Pi&&b.Rh?(c&&(b.rh=c),b.Od||Vd(a,b,!0)):c&&c(!0)}
|
||||
function Vd(a,b,c){c&&(b.count=b.bb[1]<<8|b.bb[0],b.vm=b.mode&12,b.Ok=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.hh<<16|b.jb[1]<<8|b.jb[0],4==b.vm?(d=!0,function(c){b.Pi.call(b.ph,b.Rh,-1,function(f,g){0>f&&(b.Ok||(b.Ok=!0),f=255);b.Od||tb(a.sa,c,f);(d=g)&&setTimeout(function(){sj(b)||Vd(a,b)},0)})}(c)):8==b.vm?(c=rb(a.sa,c),0>b.Pi.call(b.ph,b.Rh,c)&&(b.fd=!0)):b.fd=!0),!d&&!sj(b););}
|
||||
function sj(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.jb[0]--,0>a.jb[0]&&(a.jb[0]=255,a.jb[1]--,0>a.jb[1]&&(a.jb[1]=255))):(a.jb[0]++,255<a.jb[0]&&(a.jb[0]=0,a.jb[1]++,255<a.jb[1]&&(a.jb[1]=0))),!a.Od))return!1;var b=a.ga;b.fe=b.fe&~(16<<a.Sk)|1<<a.Sk;a.mode&16||(a.Od=!0,a.ph=a.Rh=null);a.rh&&(a.rh(!a.fd),a.rh=null);return!0}function tj(a,b,c){var d=0,e=a.Wb[b];if(null!=e.ag)switch(e.ag&3){case 2:d=e.Sb;break;case 3:d=e.Fc}a.va(Sd|P|qi)&&B(a,e.port,null,c,"PIC"+b,d,!0);return d}
|
||||
function uj(a,b,c,d){var e=a.Wb[b];a.va(Sd|P|qi)&&B(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Qd=0,e.Bc[e.Qd++]=c,e.pd=0,e.Ge=7,e.Sb=e.Fc=0,e.ag=10;else if(c&8)e.ag=c;else if(d=c&224,d&32){b=0;if(96==(d&96))b=1<<(c&7);else for(c=e.Ge+1;;){c&=7;d=1<<c;if(e.Fc&d){b=d;break}if(c++==e.Ge)break}e.Fc&b&&(e.Fc&=~b,vj(a))}else 192==d&&(e.Ge=c&7)}function wj(a,b,c){var d=a.Wb[b],e=d.pd;a.va(Sd|P|qi)&&B(a,d.port+1,null,c,"PIC"+b,e,!0);return e}
|
||||
function xj(a,b,c,d){var e=a.Wb[b];a.va(Sd|P|qi)&&B(a,e.port+1,c,d,"PIC"+b,null,!0);e.Qd<e.Bc.length?(e.Bc[e.Qd++]=c,2==e.Qd&&e.Bc[0]&2&&e.Qd++,3!=e.Qd||e.Bc[0]&1||e.Qd++):(e.pd=c,d=a.T,d.ba|=4,vj(a,b||253!=c?0:6))}function yj(a,b,c){var d=a.Wb[b>>3];b=1<<(b&7);d.Sb&b||(d.Sb|=b,d.Ff=c||0,vj(a))}function zj(a,b){var c=a.Wb[b>>3],d=1<<(b&7);c.Sb&d&&(c.Sb&=~d,vj(a))}
|
||||
function vj(a,b){var c,d=-1;1<a.cg&&(c=a.Wb[1],d=~(c.Fc|c.pd)&c.Sb);c=a.Wb[0];0<=d&&(c.Sb=d?c.Sb|4:c.Sb&-5);var d=~(c.Fc|c.pd)&c.Sb,e=a.T;e.pa&&(e.zb=d?e.zb|1:e.zb&-2);d&&b&&(c.Ff=b)}function Td(a,b){void 0===b&&(b=0);var c=-1,d=a.Wb[b];if(d.Ff)c=-2,d.Ff--;else for(var e=d.Sb&((d.Fc|d.pd)^255),f=d.Ge+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Bc[1]+f:Td(a,1);0<=c&&(d.Fc|=g,d.Sb&=~g);break}if(f++==d.Ge)break}return c}
|
||||
function Aj(a,b,c){var d;d=a.Lb[b];d.ie==d.rd&&Bj(a,b);if(d.kg)return d.Ne[d.ie++];Hi(a,b);d=d.bb[d.ie++];a.va(Gi|P)&&B(a,64+b,null,c,"TIMER"+b,d,!0);return d}function Cj(a,b,c,d){a.va(Gi|P)&&B(a,64+b,c,d,"TIMER"+b,null,!0);d=a.Lb[b];d.ie==d.rd&&Bj(a,b);d.hc[d.ie++]=c;d.ie==d.rd&&(d.Re&&0!=d.mode&&8!=d.mode||(d.kg=!1,d.bb[0]=d.Jc[0]=d.hc[0],d.bb[1]=d.Jc[1]=d.hc[1],d.jd=D(a.T,a.le),d.Re=!0,d.td=0!=d.mode,0==b&&(zj(a,0),c=Dj(a,0)*a.Qh|0,6==d.mode&&(c>>=1),Zb(a.T,c))),2==b&&bc(a))}k=M.prototype;
|
||||
k.Sn=function(a,b){B(this,a,null,b,"TIMER_CTRL",null,Gi);return null};k.hp=function(a,b,c){this.ui=b;B(this,a,b,c,"TIMER_CTRL",null,Gi);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Lb[a];e.Yh=b;e.mode=d;e.vk=c;e.hc=[0,0];e.bb=[0,0];e.Ne=[0,0];e.td=!1;e.kg=!1;e.Re=!1;Bj(this,a);0==a&&zj(this,0);2==a&&255==this.Wb[0].pd&&77==this.Gc&&(a=this.Lb[0],a.Jc[0]=a.hc[0],a.Jc[1]=a.hc[1],a.jd=D(this.T,this.le))}else Hi(this,a),b=this.Lb[a],b.Ne[0]=b.bb[0],b.Ne[1]=b.bb[1],b.kg=!0,Bj(this,a)}};
|
||||
function Dj(a,b){var c=a.Lb[b],d=c.hc[1]<<8|c.hc[0];d||(d=1==c.rd?256:65536);return d}function dc(a,b){var c=a.Lb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.rd?256:65536);return d}function Bj(a,b){var c=a.Lb[b];c.ie=32==c.Yh?1:0;c.rd=48==c.Yh?2:1}
|
||||
function Hi(a,b,c){var d=a.Lb[b];if(d.Re&&(2!=b||a.Gc&1)){var e=D(a.T,a.le),f=(e-d.jd)/a.Qh|0;0>f&&(d.jd=e,f=0);var g=Dj(a,b),h=dc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.Re=!1,b||yj(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.td&&yj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.td&&yj(a,0)));d.bb[0]=h&255;d.bb[1]=h>>8;c&&(a.jd=0)}return d}
|
||||
function cc(a,b){for(var c=0;c<a.Lb.length;c++)Hi(a,c,b);if(a.Ka>=wi){var c=a.T.da.vd,d=D(a.T,a.le);null==a.Oh&&(a.Dg=D(a.T,a.le),a.cm=1024,a.Oh=Math.floor(a.T.da.vd/a.cm),Ui(a));d>=a.Hf&&(a.ma[12]|=64,a.ma[11]&64&&(a.ma[12]|=128,yj(a,8)),a.Hf=d+a.Oh);a.ma[0]==a.ma[1]&&a.ma[2]==a.ma[3]&&a.ma[4]==a.ma[5]&&(a.ma[12]|=32,a.ma[11]&32&&(a.ma[12]|=128,yj(a,8)));var e=d-a.Dg,f=Math.floor(e/c);if(f&&!(a.ma[11]&128)){for(;f--;)if(60<=++a.ma[0]&&(a.ma[0]=0,60<=++a.ma[2]&&(a.ma[2]=0,24<=++a.ma[4]))){a.ma[4]=
|
||||
0;a.ma[6]=a.ma[6]%7+1;var g;g=a.ma[9];var h=sa[a.ma[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ma[7]>g&&(a.ma[7]=1,12<++a.ma[8]&&(a.ma[8]=1,a.ma[9]=(a.ma[9]+1)%100))}a.ma[12]|=16;a.ma[11]&16&&(a.ma[12]|=128,yj(a,8))}a.Dg=d-e%c}}k.Kn=function(a,b){var c=this.gh;this.bg&16&&(this.Gc&128?c=this.kd:this.Va&&(c=Ej(this.Va)));B(this,a,null,b,"PPI_A",c);return c};k.ap=function(a,b,c){B(this,a,b,c,"PPI_A");this.gh=b};k.Ln=function(a,b){var c=this.Gc;B(this,a,null,b,"PPI_B",c);return c};
|
||||
k.bp=function(a,b,c){B(this,a,b,c,"PPI_B");Fj(this,b);this.Va&&Gj(this.Va,b&128?!1:!0,b&64?!0:!1)};function Fj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&bc(a,c)}k.Mn=function(a,b){var c=0,c=this.Ka==ri?this.Gc&4?c|this.df&15:c|this.df>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&Hi(this,2).td&&(c=this.Gc&2?c|32:c|16);B(this,a,null,b,"PPI_C",c,qi|Fb);return c};k.cp=function(a,b,c){B(this,a,b,c,"PPI_C");this.si=b};k.Nn=function(a,b){var c=this.bg;B(this,a,null,b,"PPI_CTRL",c);return c};
|
||||
k.dp=function(a,b,c){B(this,a,b,c,"PPI_CTRL");this.bg=b};k.$m=function(a,b){var c=this.ah;B(this,a,null,b,"8042_OUTBUFF",c,Hj);this.ub&=-258;var d=this.Va&&Ej(this.Va,!0);d&&Ij(this,d);return c};k.so=function(a,b,c){B(this,a,b,c,"8042_INBUF.DATA",null,Hj);if(this.ub&8)switch(this.Ed){case 96:Jj(this,b);break;case 209:Kj(this,b);break;default:if(Jj(this,this.od&-17),this.Va){a=-1;switch(b){case 255:a=250,Lj(this.Va)}Ij(this,a)}}this.Ed=b;this.ub&=-9};
|
||||
k.an=function(a,b){var c=this.Gc&-209|(D(this.T)&64?16:0);B(this,a,null,b,"8042_RWREG",c,Hj);return c};k.to=function(a,b,c){B(this,a,b,c,"8042_RWREG",null,Hj);Fj(this,b)};k.bn=function(a,b){B(this,a,null,b,"8042_STATUS",this.ub,Hj);var c=this.ub&255;this.ub&256&&(this.ub|=1,this.ub&=-257);return c};
|
||||
k.ro=function(a,b,c){B(this,a,b,c,"8042_INBUFF.CMD",null,Hj);this.Ed=b;this.ub|=8;a=0;240<=this.Ed&&(a=this.Ed^15,this.Ed=240);switch(this.Ed){case 192:Ij(this,this.Ee);break;case 173:Jj(this,this.od|16);break;case 174:Jj(this,this.od&-17);break;case 170:this.Va&&Mj(this.Va,!0);Jj(this,this.od|16);Ij(this,85);Kj(this,3);break;case 224:Ij(this,this.od&16?0:1);break;case 240:a&1&&id(this.T)}};
|
||||
function Jj(a,b){var c=!(a.od&16);a.od=b;a.ub=a.ub&-5|b&4;if(a.Va){var d=!(b&16);Gj(a.Va,!!(b&8),d)&&Ij(a,Ej(a.Va,!0));!c&&d&&Ej(a.Va)&&Nj(a)}}function Ij(a,b){0<=b&&(a.ah=b,a.ub&=-2,a.ub|=256)}function Kj(a,b){a.pi=b;nb(a.sa,!!(b&2));b&1||id(a.T)}function Nj(a){a.Ka<wi?yj(a,1,4):a.od&16||yj(a,1,120)}k.qn=function(a,b){B(this,a,null,b,"CMOS.ADDR",this.Fe,Ii);return this.Fe};k.Ho=function(a,b,c){B(this,a,b,c,"CMOS.ADDR",null,Ii);this.Fe=b;this.fh=b&128?0:128};
|
||||
k.rn=function(a,b){var c=this.Fe&63,d=13>=c?Ji(this,c):this.ma[c];this.va(Ii|P)&&B(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.ma[c]&=15,d&128&&zj(this,8),d&64&&this.ma[11]&64&&Ui(this));return d};
|
||||
k.Io=function(a,b,c){var d=this.Fe&63;this.va(Ii|P)&&B(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.ma[d];if(13>=d){if(c=b,10>d){var e=!1;this.ma[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.ma[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ma[d]=c;11==d&&a&64&&b&64&&Ui(this)};k.In=function(a,b){B(this,a,null,b,"MFG_DATA",this.$f);return this.$f};k.Yo=function(a,b,c){B(this,a,b,c,"MFG_DATA");this.$f=b};
|
||||
k.$o=function(a,b,c){B(this,a,b,c,"NMI");this.fh=b};k.Jo=function(a,b,c){B(this,a,b,c,"COPROC.CLEAR")};k.Ko=function(a,b,c){B(this,a,b,c,"COPROC.RESET")};
|
||||
k.Zn=function(a){if(this.va(Oj)&&nd(this.ka,Ki,a)){var b=this.T.H>>8;od(this.T,a,function(a,d){return function(e){d=D(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,m=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(h)+" CL(min)="+q(g)+" DH(sec)="+q(m);else if(4==b||5==b)f=" CX(year)="+v(a.T.J)+" DH(month)="+q(m)+" DL(day)="+q(n);pd(a.ka,Ki,e,d,f)}}(this,D(this.T)))}return!0};function si(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 bc(a,b){if(a.xi){void 0!==b?a.Nk=b:b=a.Nk&&a.T&&a.T.na.Fb;var c=Math.round(1193181/Dj(a,2));if(20>c||2E4<c)b=!1;b?a.zd?(a.zd.frequency.value=c,a.va(Pj)&&a.qb("speaker set to "+c+"hz",!0)):(a.zd=a.xi.createOscillator(),a.zd.type=1,a.zd.connect(a.xi.destination),a.zd.frequency.value=c,a.va(Pj)&&a.qb("speaker on at "+c+"hz",!0),a.zd.noteOn(0)):a.zd&&(a.zd.noteOff(0),a.zd.disconnect(),delete a.zd,a.va(Pj)&&a.qb("speaker off at "+c+"hz",!0))}else b&&a.qb("BEEP",Pj)}
|
||||
var zi={0:function(a,b){return cj(this,0,0,a,b)},1:function(a,b){return ej(this,0,0,a,b)},2:function(a,b){return cj(this,0,1,a,b)},3:function(a,b){return ej(this,0,1,a,b)},4:function(a,b){return cj(this,0,2,a,b)},5:function(a,b){return ej(this,0,2,a,b)},6:function(a,b){return cj(this,0,3,a,b)},7:function(a,b){return ej(this,0,3,a,b)},8:function(a,b){return gj(this,0,a,b)},32:function(a,b){return tj(this,0,b)},33:function(a,b){return wj(this,0,b)},64:function(a,b){return Aj(this,0,b)},65:function(a,
|
||||
b){return Aj(this,1,b)},66:function(a,b){return Aj(this,2,b)},67:M.prototype.Sn,129:function(a,b){return nj(this,0,2,a,b)},130:function(a,b){return nj(this,0,3,a,b)},131:function(a,b){return nj(this,0,1,a,b)},135:function(a,b){return nj(this,0,0,a,b)}},Bi={96:M.prototype.Kn,97:M.prototype.Ln,98:M.prototype.Mn,99:M.prototype.Nn},Di={96:M.prototype.$m,97:M.prototype.an,100:M.prototype.bn,112:M.prototype.qn,113:M.prototype.rn,128:M.prototype.In,132:function(a,b){return pj(this,0,a,b)},133:function(a,
|
||||
b){return pj(this,1,a,b)},134:function(a,b){return pj(this,2,a,b)},136:function(a,b){return pj(this,3,a,b)},137:function(a,b){return nj(this,1,2,a,b)},138:function(a,b){return nj(this,1,3,a,b)},139:function(a,b){return nj(this,1,1,a,b)},140:function(a,b){return pj(this,4,a,b)},141:function(a,b){return pj(this,5,a,b)},142:function(a,b){return pj(this,6,a,b)},143:function(a,b){return nj(this,1,0,a,b)},160:function(a,b){return tj(this,1,b)},161:function(a,b){return wj(this,1,b)},192:function(a,b){return cj(this,
|
||||
1,0,a,b)},194:function(a,b){return ej(this,1,0,a,b)},196:function(a,b){return cj(this,1,1,a,b)},198:function(a,b){return ej(this,1,1,a,b)},200:function(a,b){return cj(this,1,2,a,b)},202:function(a,b){return ej(this,1,2,a,b)},204:function(a,b){return cj(this,1,3,a,b)},206:function(a,b){return ej(this,1,3,a,b)},208:function(a,b){return gj(this,1,a,b)}},Ai={0:function(a,b,c){dj(this,0,0,a,b,c)},1:function(a,b,c){fj(this,0,0,a,b,c)},2:function(a,b,c){dj(this,0,1,a,b,c)},3:function(a,b,c){fj(this,0,1,
|
||||
a,b,c)},4:function(a,b,c){dj(this,0,2,a,b,c)},5:function(a,b,c){fj(this,0,2,a,b,c)},6:function(a,b,c){dj(this,0,3,a,b,c)},7:function(a,b,c){fj(this,0,3,a,b,c)},8:function(a,b,c){this.va(N|P)&&B(this,a,b,c,"DMA0.CMD",null,!0);this.sb[0].qi=b},9:function(a,b,c){hj(this,0,a,b,c)},10:function(a,b,c){ij(this,0,a,b,c)},11:function(a,b,c){kj(this,0,a,b,c)},12:function(a,b,c){lj(this,0,a,b,c)},13:function(a,b,c){mj(this,0,a,b,c)},32:function(a,b,c){uj(this,0,b,c)},33:function(a,b,c){xj(this,0,b,c)},64:function(a,
|
||||
b,c){Cj(this,0,b,c)},65:function(a,b,c){Cj(this,1,b,c)},66:function(a,b,c){Cj(this,2,b,c)},67:M.prototype.hp,129:function(a,b,c){oj(this,0,2,a,b,c)},130:function(a,b,c){oj(this,0,3,a,b,c)},131:function(a,b,c){oj(this,0,1,a,b,c)},135:function(a,b,c){oj(this,0,0,a,b,c)}},Ci={96:M.prototype.ap,97:M.prototype.bp,98:M.prototype.cp,99:M.prototype.dp,160:M.prototype.$o},Ei={96:M.prototype.so,97:M.prototype.to,100:M.prototype.ro,112:M.prototype.Ho,113:M.prototype.Io,128:M.prototype.Yo,132:function(a,b,c){qj(this,
|
||||
0,a,b,c)},133:function(a,b,c){qj(this,1,a,b,c)},134:function(a,b,c){qj(this,2,a,b,c)},136:function(a,b,c){qj(this,3,a,b,c)},137:function(a,b,c){oj(this,1,2,a,b,c)},138:function(a,b,c){oj(this,1,3,a,b,c)},139:function(a,b,c){oj(this,1,1,a,b,c)},140:function(a,b,c){qj(this,4,a,b,c)},141:function(a,b,c){qj(this,5,a,b,c)},142:function(a,b,c){qj(this,6,a,b,c)},143:function(a,b,c){oj(this,1,0,a,b,c)},160:function(a,b,c){uj(this,1,b,c)},161:function(a,b,c){xj(this,1,b,c)},192:function(a,b,c){dj(this,1,0,
|
||||
a,b,c)},194:function(a,b,c){fj(this,1,0,a,b,c)},196:function(a,b,c){dj(this,1,1,a,b,c)},198:function(a,b,c){fj(this,1,1,a,b,c)},200:function(a,b,c){dj(this,1,2,a,b,c)},202:function(a,b,c){fj(this,1,2,a,b,c)},204:function(a,b,c){dj(this,1,3,a,b,c)},206:function(a,b,c){fj(this,1,3,a,b,c)},208:function(a,b,c){this.va(N|P)&&B(this,a,b,c,"DMA1.CMD",null,!0);this.sb[1].qi=b},210:function(a,b,c){hj(this,1,a,b,c)},212:function(a,b,c){ij(this,1,a,b,c)},214:function(a,b,c){kj(this,1,a,b,c)},216:function(a,
|
||||
b,c){lj(this,1,a,b,c)},218:function(a,b,c){mj(this,1,a,b,c)},240:M.prototype.Jo,241:M.prototype.Ko};Ka(function(){for(var a=A(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new M(d);bb(d,c);Li(d)}});
|
||||
function Qj(a){y.call(this,"ROM",a,Qj);this.Mb=null;this.ok=a.addr;this.ai=a.size;this.Dm=a.alias;this.Kg=a.file;this.Uk=a.notify;if(this.Kg){a=this.Kg;var b=ha(this.Kg);"json"!=b&&"hex"!=b&&(a=ua()+"/api/v1/dump?file="+this.Kg+"&format=bytes&decimal=true");ta(a,!0,null,this,Qj.prototype.mo)}}Xa(y,Qj);Qj.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;Rj(this)};Qj.prototype.ec=function(){this.ki&&(this.ka&&Sj(this.ka,this.ok,this.ai,this.ki),delete this.ki);return!0};Qj.prototype.dc=function(){return!0};
|
||||
Qj.prototype.mo=function(a,b,c){if(c)this.Ia("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.Mb=e;else if(f)for(this.Mb=Array(4*f.length),c=b=0;b<f.length;b++)this.Mb[c++]=f[b]&255,this.Mb[c++]=f[b]>>8&255,this.Mb[c++]=f[b]>>16&255,this.Mb[c++]=f[b]>>24&255;else this.Mb=d;this.ki=d.symbols;if(!this.Mb.length){x("Empty ROM: "+a);return}if(1==this.Mb.length){x(this.Mb[0]);return}}catch(g){this.Ia("ROM data error: "+
|
||||
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Mb=Array(a.length),d=0;d<a.length;d++)this.Mb[d]=parseInt(a[d],16);Rj(this)}};function Rj(a){if(!fb(a))if(!a.Kg)a.Wa();else if(a.Mb&&a.sa){if(a.Mb.length!=a.ai)gb(a,"ROM size (0x"+p(a.Mb.length)+") does not match specified size (0x"+p(a.ai)+")");else if(Tj(a,a.ok)&&Tj(a,a.Dm)){if(a.Uk){var b=$a(a.Uk,a.id);b&&("ega"==b.Ka&&Uj(b,a.Mb,[8752,12640],8),b.Wa())}delete a.Mb}a.Wa()}}
|
||||
function Tj(a,b){if(null==b)return!0;if(ob(a.sa,b,a.ai,!0)){for(var c=0;c<a.Mb.length;c++)tb(a.sa,b+c,a.Mb[c]);return!0}return!1}Ka(function(){for(var a=A(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Qj(d);bb(d,c)}});function Vj(a){y.call(this,"RAM",a,Vj);this.Zg=a.addr;this.Td=a.size;this.Sm=a.test;this.Qm=!!this.Td;this.sh=!1}Xa(y,Vj);Vj.prototype.vc=function(a,b,c){this.sa=b;this.T=c;this.pa=ib(a,"ChipSet");this.Wa()};Vj.prototype.ec=function(a,b){b||this.reset();return!0};
|
||||
Vj.prototype.dc=function(){return!0};Vj.prototype.reset=function(){if(!this.Zg&&!this.Qm&&this.pa){var a=1024*Pi(this.pa);this.Td&&a!=this.Td&&(qb(this.sa,this.Zg,this.Td),this.sh=!1);this.Td=a}!this.sh&&this.Td&&ob(this.sa,this.Zg,this.Td)&&(this.sh=!0,this.status(Math.floor(this.Td/1024)+"Kb"));if(this.sh){if(this.Sm||ub(this.sa,1138,4660),this.pa&&(a=this.pa,a.ma)){var b=1048576>this.Zg?21:23,c=a.ma[b]|a.ma[b+1]<<8,c=c+(this.Td>>10);a.ma[b]=c&255;a.ma[b+1]=c>>8;Ti(a)}}else x("No RAM allocated")};
|
||||
Ka(function(){for(var a=A(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Vj(d);bb(d,c)}});function Wj(a){y.call(this,"Keyboard",a,Wj,Xj);this.Ik=!1;this.ji={};this.co=250;this.eo=100;this.ld=[];this.Wa()}Xa(y,Wj);
|
||||
var Q={Ip:1,Jp:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Fp:65,Gp:66,hk:67,xm:68,E:69,Mp:70,Pp:71,ik:72,Rp:73,Sp:74,Tp:75,Up:76,Vp:77,fi:78,Xp:79,Yp:80,$p:81,kk:82,dq:83,nq:84,rq:85,sq:86,tq:87,vq:88,wq:89,xq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yq:97,zq:98,Bq:99,Cq:100,Dq:101,Eq:102,Fq:103,Gq:104,Hq:105,Iq:106,Jq:107,Kq:108,
|
||||
Lq:109,Mq:110,Oq:111,Pq:112,Qq:113,Rq:114,Sq:115,Tq:116,Uq:117,Vq:118,Wq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Yj={16:2,17:8,18:32,20:256,144:512,145:1024},Zj={"caps-lock":256,"num-lock":512,"scroll-lock":1024},ak={tab:1009,esc:1027,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},bk={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,
|
||||
bs:14,tab:15,q:16,w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,
|
||||
"num-down":80,"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},T={1027:1};T[Q["1"]]=2;T[Q["!"]]=10754;T[Q["2"]]=3;T[Q["@"]]=10755;T[Q["3"]]=4;T[Q["#"]]=10756;T[Q["4"]]=5;T[Q.$]=10757;T[Q["5"]]=6;T[Q["%"]]=10758;T[Q["6"]]=7;T[Q["^"]]=10759;
|
||||
T[Q["7"]]=8;T[Q["&"]]=10760;T[Q["8"]]=9;T[Q["*"]]=10761;T[Q["9"]]=10;T[Q["("]]=10762;T[Q["0"]]=11;T[Q[")"]]=10763;T[Q["-"]]=12;T[Q._]=10764;T[Q["="]]=13;T[Q["+"]]=10765;T[1008]=14;T[1009]=15;T[113]=16;T[81]=10768;T[119]=17;T[87]=10769;T[101]=18;T[69]=10770;T[114]=19;T[82]=10771;T[116]=20;T[84]=10772;T[121]=21;T[89]=10773;T[117]=22;T[85]=10774;T[105]=23;T[73]=10775;T[111]=24;T[79]=10776;T[112]=25;T[80]=10777;T[Q["["]]=26;T[Q["{"]]=10778;T[Q["]"]]=27;T[Q["}"]]=10779;T[13]=28;T[1017]=29;T[97]=30;
|
||||
T[65]=10782;T[115]=31;T[83]=10783;T[100]=32;T[68]=10784;T[102]=33;T[70]=10785;T[103]=34;T[71]=10786;T[104]=35;T[72]=10787;T[106]=36;T[74]=10788;T[107]=37;T[75]=10789;T[108]=38;T[76]=10790;T[Q[";"]]=39;T[Q[":"]]=10791;T[Q["'"]]=40;T[Q['"']]=10792;T[Q["`"]]=41;T[Q["~"]]=10793;T[1016]=42;T[Q["\\"]]=43;T[Q["|"]]=10795;T[122]=44;T[90]=10796;T[120]=45;T[88]=10797;T[99]=46;T[67]=10798;T[118]=47;T[86]=10799;T[98]=48;T[66]=10800;T[110]=49;T[78]=10801;T[109]=50;T[77]=10802;T[Q[","]]=51;T[Q["<"]]=10803;
|
||||
T[Q["."]]=52;T[Q[">"]]=10804;T[Q["/"]]=53;T[Q["?"]]=10805;T[3016]=54;T[1018]=56;T[Q[" "]]=57;T[1020]=58;T[1112]=59;T[1113]=60;T[1114]=61;T[1115]=62;T[1116]=63;T[1117]=64;T[1118]=65;T[1119]=66;T[1120]=67;T[1121]=68;T[1144]=69;T[1145]=70;T[1036]=71;T[1038]=72;T[1033]=73;T[1037]=75;T[1039]=77;T[1035]=79;T[1040]=80;T[1034]=81;T[1045]=82;T[1046]=83;T[1122]=87;T[1123]=88;T[4003]=7470;T[4063]=7494;T[4081]=3677523;k=Wj.prototype;
|
||||
k.Ib=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.xa[e])switch(b){case "kbd":return this.xa[e]=c,c.onkeydown=function(a){return ck(d,a,!0)},c.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:d.hb&64?d.hb&=-65:d.hb&40?b=!1:(d.Ik&&a==Q["`"]&&(a=27),b=!dk(d,a));return b},c.onkeyup=function(a){return ck(d,a,!1)},!0;case "caps-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();dk(d,1020,!0)},!0;case "num-lock":return this.xa[e]=c,c.onclick=function(){d.T&&
|
||||
d.T.Yc();dk(d,1144,!0)},!0;case "scroll-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();dk(d,1145,!0)},!0;default:if(void 0!==ak[b]&&"button"==a)return this.xa[e]=c,c.onclick=function(a,b,c){return function(){a.T&&a.T.Yc();ek(a,c);return!dk(a,c)}}(this,b,ak[b]),!0;if(void 0!==bk[b])return this.xa[e]=c,a=function(a,b,c){return function(){fk(a,c)}}(this,b,bk[b]),b=function(a,b,c){return function(){fk(a,c)}}(this,b,bk[b]|128),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=
|
||||
a,c.onmouseup=c.onmouseout=b),!0}return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.pa=ib(a,"ChipSet")};k.Wa=function(){Ca("iOS");this.Lk=Ca("Mobi");this.qb("mobile keyboard support: "+(this.Lk?"true":"false"));return y.prototype.Wa.call(this)};function Lj(a){a.qb("keyboard reset",Xj|P);a.Dc=[170];a.pa&&Nj(a.pa)}function Gj(a,b,c){var d=!1;a.Hi!==c&&(a.Hi=a.Li=c);a.vh!==b&&(a.vh=b)&&!a.Li&&Mj(a);a.vh&&a.Li&&(Lj(a),a.Li=!1,d=!0);return d}
|
||||
function Ej(a,b){var c=0;a.Dc.length&&(c=a.Dc[0],a.va()&&a.qb("scan code 0x"+q(c)+" delivered"),b&&Mj(a));return c}function Mj(a,b){0<a.Dc.length&&(b?a.Dc=[]:(a.Dc.shift(),0<a.Dc.length&&a.pa&&Nj(a.pa)))}k.ec=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.oe();this.hb=0;this.Dc=[];for(var a in this.ld)!da(a)&&this.ld[a]&&(clearTimeout(this.ld[a]),this.ld[a]=null);this.gm=this.Ye=0};
|
||||
k.save=function(){var a=new sd(this);a.set(0,this.ck());return a.data()};k.restore=function(a){return this.oe(a[0])};k.oe=function(a){var b=0;void 0===a&&(a=[]);this.Hi=a[b++];this.vh=a[b];return!0};k.ck=function(){var a=0,b=[];b[a++]=this.Hi;b[a]=this.vh;return b};
|
||||
function fk(a,b){var c=b&127,d=c==b;if(a.Dc)if(20>a.Dc.length){if(!(!d&&!a.ji[c]||d&&a.ji[c])){a.ji[c]=d;a.va()&&a.qb("scan code 0x"+q(b)+" buffered");a.Dc.push(b);1==a.Dc.length&&a.pa&&Nj(a.pa);for(var e in bk)if(bk[e]==c){(c=a.xa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.Dc.length&&a.Dc.push(255),a.qb("scan code buffer overflow")}function gk(a,b){var c=b?a.eo:a.co;a.T&&a.T.da.ud&&(c/=a.T.da.ud);return c}
|
||||
function hk(a,b){!a.Ye||void 0!==b&&b==a.Ye||(clearTimeout(a.ld[a.Ye]),ik(a,a.Ye,!1))}function jk(a,b){var c,d;for(d in Zj){var e="led-"+d,f=Zj[d];b&&b!=f||!(c=a.xa[e])||(c.style.backgroundColor=a.hb&f?"#00ff00":"#000000")}}function ek(a,b){var c;if(T[b]){var d=Math.floor(b/1E3)&2,e=Yj[Math.floor(b%1E3)]||0;e&&(d&&(e>>=1),e&1792&&(c=!(a.hb&e)),a.hb&=~e,c&&(a.hb|=e),jk(a,e))}}
|
||||
function ck(a,b,c){var d,e=!c,f=b.keyCode,g=f;c&&(a.gm=f);if(T[f+1E3]){var g=g+1E3,h=Yj[f]||0;if(h)2==b.location&&(h>>=1,g+=2E3),a.hb&=~h,c&&(a.hb|=h),jk(a,h),20==f||144==f||145==f?d=dk(a,g):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.hb&40)&&(g=4063),d=c?!dk(a,g):!1}else 91==f?(a.hb&=-65,c&&(a.hb|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(g+=32):d=!0;e&&(a.hb&=-65,a.Lk||f!=a.gm||hk(a));void 0===d&&(d=!ik(a,g,c));return d}
|
||||
function dk(a,b,c){var d=!1;hk(a,b);c&&ek(a,b);ik(a,b,!0)&&(c=!1,a.ld[b]&&(clearTimeout(a.ld[b]),a.ld[b]=null,c=!0),c=gk(a,c),a.ld[a.Ye=b]=setTimeout(function(a){return function(){ik(a,b,!1)}}(a),c),d=!0);return d}
|
||||
function ik(a,b,c){var d=!1;c||(a.ld[b]=null,a.Ye==b&&(a.Ye=0));var e=T[b]||T[b+1E3];if(void 0!==e){14==e&&40==(a.hb&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.hb&3||a.hb&256&&b||(g=h):29==h?a.hb&12||(g=h):56==h?a.hb&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)fk(a,d[c]);d=!0}return d}
|
||||
Ka(function(){for(var a=A(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Wj(d);bb(d,c)}});
|
||||
function U(a,b,c,d){y.call(this,"Video",a,U,kk);this.Ka=a.model;this.cd=0;"ega"==this.Ka&&(this.om=a.switches,this.cd=a.memory||0);this.xd=a.mode;if(void 0===this.xd||void 0===lk[this.xd])this.xd=mk;this.Kh=a.charCols;this.bj=a.charRows;if(void 0===this.Kh||void 0===this.bj)this.Kh=lk[this.xd][0],this.bj=lk[this.xd][1];this.Gd=a.screenWidth;this.ke=a.screenHeight;this.Rm=a.scale;this.Pm=12<=Math.round(this.Gd/this.Kh);this.Tm=a.touchScreen;this.dg=b;this.dd=c;this.Na=(this.Ap=d)||b||null;this.pe=
|
||||
null;this.Om=a.autoLock;this.Xa=this.Vb=0;this.Zd=[];this.Cd=Array(16);this.Ii=!1;var e=this;this.Na&&(this.Na.onfocus=function(){e.Ii=!0},this.Na.onblur=function(){e.Ii=!1},this.Na.yf=this.Na.requestPointerLock||this.Na.mozRequestPointerLock||this.Na.webkitRequestPointerLock,this.Na.tm=this.Na.exitPointerLock||this.Na.mozExitPointerLock||this.Na.webkitExitPointerLock,b=function(){e.Eg(document.pointerLockElement===e.Na||document.mozPointerLockElement===e.Na||document.webkitPointerLockElement===e.Na)},
|
||||
"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ha(a)&&(a=ua()+"/api/v1/dump?file="+a+"&format=bytes"),ta(a,!0,null,this,this.no)}Xa(y,U);
|
||||
var nk={2:{ej:15700,dj:208,Sj:85,Tj:96},3:{ej:18432,dj:364,Sj:85,Tj:96},4:{ej:21850,dj:364,Sj:85,Tj:96}},ok={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},mk=7,lk=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];lk[mk]=[80,25,1,0,1];lk[13]=[320,200,16];lk[14]=[640,200,16];lk[15]=[640,350,16];lk[16]=[640,350,16];lk[0]=lk[1];lk[2]=lk[3];lk[5]=lk[4];var pk=Array(5);pk[0]=[0,0,0,255];
|
||||
pk[1]=[127,192,127,255];pk[2]=[127,192,127,255];pk[3]=[127,255,127,255];pk[4]=[127,255,127,255];var qk=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],V=Array(16);V[0]=[0,0,0,255];V[1]=[0,0,170,255];V[2]=[0,170,0,255];V[3]=[0,170,170,255];V[4]=[170,0,0,255];V[5]=[170,0,170,255];V[6]=[170,85,0,255];V[7]=[170,170,170,255];V[8]=[85,85,85,255];V[9]=[85,85,255,255];V[10]=[85,255,85,255];V[11]=[85,255,255,255];V[12]=[255,85,85,255];V[13]=[255,85,255,255];V[14]=[255,255,85,255];V[15]=[255,255,255,255];
|
||||
var rk=[2,4,6],sk=[3,5,7],tk=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],uk=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],vk=[0];vk[128]=1;vk[32768]=2;vk[32896]=3;vk[8388608]=4;vk[8388736]=5;vk[8421376]=6;vk[8421504]=7;vk[2147483648]=8;vk[2147483776]=9;vk[2147516416]=10;vk[2147516544]=11;vk[2155872256]=12;vk[2155872384]=13;vk[2155905024]=14;vk[2155905152]=15;
|
||||
function wk(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=xk[b],f=a.qe||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(yk)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.ne=b;this.Xa=e[2];this.Vb=e[3];this.cd=d||e[4];65536<=this.cd&&720896<=this.Xa&&(this.Vb=Math.min(this.cd>>2,32768));this.ed=c[0];this.Lc=c[1];this.nf=c[2];this.Mf=c[3];this.uc=c[4]&255;this.Dh=c[4]>>8&255;this.kc=c[5];this.Vi=yk;this.$g=zk;if(5==b){this.Vi=Ak;this.$g=Bk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
|
||||
0,0,0,Array(9),0,[this.Xa,this.Vb,this.cd],Array(this.cd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.sd=b[0];this.Kd=b[1];this.Wd=b[2];this.mi=Ck;this.ci=b[3];this.og=b[4];this.Ch=b[5];this.Md=b[6];this.Tf=b[7];this.oi=Dk;this.Qi=b[8];this.Ri=b[9];this.Ld=b[10];this.Ae=b[11];this.ni=Ek;this.Kb=b[12];d=b[13];"number"==typeof d&&(d=[this.Xa,this.Vb,d]);this.Xa=d[0];this.Vb=d[1];d=this.cd>>2;if((this.nd=b[14])&&this.nd.length<d){for(var e=this.nd,g=0,h=Array(d),n=0;n<e.length-1;){for(var m=
|
||||
e[n++],s=e[n++];m--;)h[g]=s,g+=2;g==d&&(g=1)}this.nd=h}this.$h(b[15]);this.Pj=b[16];this.rb=b[17];this.wd=b[18];this.Ab=b[19];this.Ph=b[20];this.te=b[21];this.We=b[22];this.Xi=b[23];this.Yi=b[24]}f=nk[f]||nk[3];this.Zi=a.T.da.vd/f.ej|0;this.io=this.Zi*f.Sj/100|0;this.bl=this.Zi*f.dj;this.ko=this.bl*f.Tj/100|0;this.fj=null==c[7]?0:c[7]}}
|
||||
var yk=18,Ak=25,zk="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Bk="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
|
||||
Ck="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),Dk=["RESET","CLK","MAPMASK","CHARMAP","MODE"],Ek="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function Kk(a){return this.yc(a)|this.yc(a+1)<<8}function Lk(a,b){this.Mc(a,b&255);this.Mc(a+1,b>>8&255)}
|
||||
var Mk=[,,function(a){a+=this.offset;return(this.ga.Kb=this.ya[a])>>this.ga.Pj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];Mk[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.Xi&this.ga.Yi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Mk[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.rb|(b|b<<8|b<<16|b<<24)&this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Mk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Mk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d&=this.ga.Kb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Mk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d|=this.ga.Kb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Mk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.wd|b<<8-this.ga.wd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.te|this.ga.We;d^=this.ga.Kb;d=d&this.ga.rb|this.ya[c]&~this.ga.rb;d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Mk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.rb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ya[d]&~c;c=c&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[d]!=c&&(this.ya[d]=c,this.xb=!0)};
|
||||
Mk[4096]=function(a){a+=this.offset;var b=this.ya[a]&~this.ga.rb|this.ga.Kb&this.ga.rb;this.ya[a]!=b&&(this.ya[a]=b,this.xb=!0)};Mk[8192]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Mk[24576]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d&this.ga.Kb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Mk[40960]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d|this.ga.Kb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Mk[57344]=function(a,b){var c=a+this.offset,d=uk[b&15],d=d^this.ga.Kb,d=d&this.ga.rb|this.ya[c]&~this.ga.rb,d=d&this.ga.Ab|this.ga.Kb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
function Nk(a){var b=[];if(void 0!==a.ne){b[0]=a.ed;b[1]=a.Lc;b[2]=a.nf;b[3]=a.Mf;b[4]=a.uc|a.Dh<<8;b[5]=a.kc;if(5==a.ne){var c=[];c[0]=a.sd;c[1]=a.Kd;c[2]=a.Wd;c[3]=a.ci;c[4]=a.og;c[5]=a.Ch;c[6]=a.Md;c[7]=a.Tf;c[8]=a.Qi;c[9]=a.Ri;c[10]=a.Ld;c[11]=a.Ae;c[12]=a.Kb;c[13]=[a.Xa,a.Vb,a.cd];var d;a:if(d=a.nd){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 n=d[h],m=h+2;m<d.length&&d[m]===n;)m+=2;f[e++]=m-h>>1;f[e++]=n;h=m}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
|
||||
a.Ih;c[16]=a.Pj;c[17]=a.rb;c[18]=a.wd;c[19]=a.Ab;c[20]=a.Ph;c[21]=a.te;c[22]=a.We;c[23]=a.Xi;c[24]=a.Yi;b[6]=c}b[7]=a.fj}return b}function Ok(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 n=e[g],f=f+(b+"["+q(g)+"]: "+(n+" ".substr(0,h-n.length))+q(d[g])+(g===c?"*":""))}a.ka.Z(f)}else a.ka.Z(b+": "+q(c))}
|
||||
wk.prototype.$h=function(a){if(null!=a&&a!=this.Ih){var b=a&255,c=Mk[b];c||b&1&&(c=Mk[1]);var b=a&65280,d=Mk[b];d||b&256&&(d=Mk[256]);this.Yf||(this.Yf=[null,Kk,null,Lk]);this.Yf[0]=c;this.Yf[2]=d;this.Ih=a}};var xk=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=U.prototype;
|
||||
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;xb(b,this,Pk);Bb(b,this,Qk);"ega"==this.Ka&&(xb(b,this,Rk),Bb(b,this,Sk));if(d){var e=this;Fi(d,kk,function(a){if(e.Ja)if(a){var b=e.Ja;if(b.nd){a=ea(a);a=void 0!==a?a-b.Xa:b.np||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Xa+a)+":",r=0;8>r&&a<b.nd.length;r++)var t=b.nd[a++],f=f+(" "+p(t));c&&(c+="\n");c+=f}c&&b.ka.Z(c);b.np=a}else b.ka.Z("no buffer")}else{e.ka.Z("BIOSMODE: "+q(e.Rd));b=e.Ja;Ok(b,"CRTC",b.uc,b.kc,b.$g);if(1==b.ne||3==b.ne)Ok(b,
|
||||
" MODEREG",b.Lc),Ok(b," STATUS1",b.Mf);3==b.ne&&Ok(b," COLOR",b.nf);5==b.ne&&(b.ka.Z(" ATCDATA: "+b.sd),Ok(b," ATC",b.Kd,b.Wd,b.mi),Ok(b," GRC",b.Ld,b.Ae,b.ni),Ok(b," SEQ",b.Md,b.Tf,b.oi),Ok(b," FEAT",b.Ch),Ok(b," MISC",b.og),Ok(b," STATUS0",b.ci),Ok(b," LATCHES",b.Kb),b.ka.Z(" ACCESS: "+v(b.Ih)),b.ka.Z("Use 'dump video buffer' to dump video memory"))}else e.ka.Z("no active video card")})}if((this.Va=ib(a,"Keyboard"))&&this.dg){for(var f in this.xa)0<f.indexOf("lock")&&this.Va.Ib("led",f,
|
||||
this.xa[f]);this.Va.Ib(this.Ap?"textarea":"canvas","kbd",this.Na)}this.bh=9;(this.pa=ib(a,"ChipSet"))&&this.om&&(this.bh=si(this.om,this.bh));this.Va&&this.Tm&&Tk(this)};k.Ib=function(a,b,c){var d=this;if(!this.xa[b])switch(this.xa[b]=c,b){case "lockPointer":return this.vp=c.textContent,this.Na&&this.Na.yf?c.onclick=function(){d.yf(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Pb(d,!0)},!0}return!1};k.Yc=function(){this.Na&&this.Na.focus()};
|
||||
k.yf=function(a){if(this.Na)if(a){if(this.Na.yf)return this.Na.yf(),this.pe.Eg(!0),!0}else if(this.Na.tm)return this.Na.tm(),this.pe.Eg(!1),!0;return!1};k.Eg=function(a){this.pe&&(this.pe.Eg(a),this.Va&&(this.Va.Ik=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vp)};
|
||||
function Tk(a){var b=a.Na;b&&!a.Gi&&(b.addEventListener("touchstart",function(b){Uk(a,b)},!1),b.addEventListener("touchmove",function(b){Uk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Gi=!0)}
|
||||
function Uk(a,b){a.Ii&&b.preventDefault();var c=0,d=0,e=a.dg;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.Gd/a.dg.offsetWidth,e=a.ke/a.dg.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.Gd/3)|0;d=(h-d)*e/(a.ke/3)|0;1!=d?d?dk(a.Va,1040,!0):dk(a.Va,1038,!0):1!=c&&(c?dk(a.Va,1039,!0):dk(a.Va,1037,!0))}
|
||||
this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=this.B.hl},function(){Pe.call(this,this.L(),this.L());this.A-=this.B.kl},function(){this.cb("WAIT not implemented",Ob);this.A--},function(){G(this,zc(this));this.A-=this.B.wc},function(){Ac(this,this.Oa());this.A-=this.B.qc},function(){var a=this.H>>8;a&1?Kd(this):Fd(this);a&4?Ad(this)||(this.la^=1):Ad(this)&&(this.la^=1);a&16?Ld(this):Gd(this);a&64?Md(this):Hd(this);a&128?Nd(this):Id(this);this.A-=this.B.Ob},function(){this.H=this.H&255|(zc(this)&
|
||||
213)<<8;this.A-=this.B.Ob},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.vj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.vj},function(){var a=this.L(),b=this.H;this.Qd(this.D.Zb(a,0),b);this.A-=this.B.wj},function(){var a=this.L(),b=this.H;this.Ua(this.D.Zb(a,1),b);this.A-=this.B.wj},function(){var a=1,b=0,c=this.B.xj;this.Da&192&&(a=this.J,b=1,c=this.B.zj,this.Da&256||(this.A-=this.B.yj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G);this.Qd(this.La.Zb(this.F,
|
||||
0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.xj;this.Da&192&&(a=this.J,b=1,c=this.B.zj,this.Da&256||(this.A-=this.B.yj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.Ua(this.La.Zb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.hj;this.Da&192&&(a=this.J,b=1,c=this.B.jj,this.Da&
|
||||
256||(this.A-=this.B.ij));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.La,this.F);de.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.hj;this.Da&192&&(a=this.J,b=1,c=this.B.jj,this.Da&256||(this.A-=this.B.ij));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.La,this.F);le.call(this,e,f);this.G=this.G+d&65535;this.F=
|
||||
this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Cd(this)==(this.Da&64)&&(yd(this,this.Da&16?-3:-2),this.ba|=256)}},function(){this.aa=this.la=this.qa=this.H&255&this.fa();this.ea=256;this.A-=this.B.Ve},function(){this.aa=this.la=this.qa=this.H&this.L();this.ea=65536;this.A-=this.B.Ve},function(){var a=1,b=0,c=this.B.Ij;this.Da&192&&(a=this.J,b=1,c=this.B.Kj,this.Da&256||(this.A-=this.B.Jj));if(a--){var d=this.H;this.Qd(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=
|
||||
b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Ij;this.Da&192&&(a=this.J,b=1,c=this.B.Kj,this.Da&256||(this.A-=this.B.Jj));if(a--){var d=this.H;this.Ua(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(yd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.pj;this.Da&192&&(a=this.J,b=1,c=this.B.rj,this.Da&256||(this.A-=this.B.qj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b,
|
||||
a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.pj;this.Da&192&&(a=this.J,b=1,c=this.B.rj,this.Da&256||(this.A-=this.B.qj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(yd(this,this.Da&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Cj;this.Da&192&&(a=this.J,b=1,c=this.B.Ej,this.Da&256||(this.A-=this.B.Dj));a--&&(de.call(this,this.H&255,this.O(this.La,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-=
|
||||
c-this.B.Fb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Cj;this.Da&192&&(a=this.J,b=1,c=this.B.Ej,this.Da&256||(this.A-=this.B.Dj));a--&&(le.call(this,this.H,this.P(this.La,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.Fb,this.J-=b,a&&Cd(this)==(this.Da&64)&&(yd(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Ob},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Ob},function(){this.K=this.K&
|
||||
-256|this.fa();this.A-=this.B.Ob},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Ob},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Ob},function(){this.H=this.L();this.A-=this.B.Ob},function(){this.J=this.L();this.A-=this.B.Ob},function(){this.K=this.L();this.A-=this.B.Ob},function(){this.C=this.L();
|
||||
this.A-=this.B.Ob},function(){this.Y=this.L();this.A-=this.B.Ob},function(){this.I=this.L();this.A-=this.B.Ob},function(){this.G=this.L();this.A-=this.B.Ob},function(){this.F=this.L();this.A-=this.B.Ob},ji,ki,ji,ki,function(){L[this.fa()].call(this,af)},function(){L[this.fa()].call(this,$e)},function(){this.ba|=1;Qh[this.fa()].call(this,Je,this.fa)},function(){this.ba|=1;Rh[this.fa()].call(this,Je,this.L)},li,mi,li,mi,function(){Ud.call(this,3,null,this.B.Bl)},function(){var a=this.fa();ld(this,a)?
|
||||
Ud.call(this,a,null,0):this.A--},function(){Ed(this)?Ud.call(this,4,null,this.B.Cl):this.A-=this.B.Dl},function(){this.A-=this.B.zl;if(this.fc&1&&this.Ba&16384){var a=this.ra(this.gb.Ga+0);yc.call(this.va,a,!1)}else{var a=this.va.bb,b=this.Oa(),c=this.Oa(),d=this.Oa();null!=Bc(this,b,c,!1)&&(Ac(this,d,a),this.mh&&qd(this,this.Ea))}},function(){Qh[this.fa()].call(this,Ke,Be)},function(){Rh[this.fa()].call(this,Le,Be)},function(){Qh[this.fa()].call(this,Ke,Ce)},function(){Rh[this.fa()].call(this,Le,
|
||||
Ce)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.aa=this.la=b;this.A-=this.B.el},function(){var a=this.fa();this.aa=this.la=this.H=(this.H>>8)*a+this.H&255;this.ea=256;this.A-=this.B.dl},function(){this.H=this.H&-256|(zd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.cm},ni,ni,ni,ni,ni,ni,ni,ni,function(){var a=this.M();(this.J=this.J-1&65535)&&this.aa&this.ea-1?(H(this,this.wa+a),this.A-=this.B.Kl):
|
||||
this.A-=this.B.sj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.aa&this.ea-1?this.A-=this.B.uj:(H(this,this.wa+a),this.A-=this.B.tj)},function(){var a=this.M();(this.J=this.J-1&65535)?(H(this,this.wa+a),this.A-=this.B.Jl):this.A-=this.B.sj},function(){var a=this.M();this.J?this.A-=this.B.uj:(H(this,this.wa+a),this.A-=this.B.tj)},function(){var a=this.fa();this.H=this.H&-256|yb(this.sa,a,this.Ea-2);this.A-=this.B.mj},function(){var a=this.fa();this.H=yb(this.sa,a,this.Ea-1)|yb(this.sa,
|
||||
a+1&65535,this.Ea-2)<<8;this.A-=this.B.mj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);this.A-=this.B.Bj},function(){var a=this.fa();Cb(this.sa,a,this.H&255,this.Ea-2);Cb(this.sa,a+1&65535,this.H>>8,this.Ea-2);this.A-=this.B.Bj},function(){var a=this.L();G(this,this.wa);H(this,this.wa+a);this.A-=this.B.il},function(){var a=this.L();H(this,this.wa+a);this.A-=this.B.nj},function(){Bc(this,this.L(),this.L());this.A-=this.B.Fl},function(){var a=this.M();H(this,this.wa+a);this.A-=this.B.nj},
|
||||
function(){this.H=this.H&-256|yb(this.sa,this.K,this.Ea-1);this.A-=this.B.lj},function(){this.H=yb(this.sa,this.K,this.Ea-1)|yb(this.sa,this.K+1&65535,this.Ea-1)<<8;this.A-=this.B.lj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);this.A-=this.B.Aj},function(){Cb(this.sa,this.K,this.H&255,this.Ea-1);Cb(this.sa,this.K+1&65535,this.H>>8,this.Ea-1);this.A-=this.B.Aj},oi,oi,function(){this.ba|=132;this.A-=this.B.qe},function(){this.ba|=68;this.A-=this.B.qe},function(){this.zb|=4;this.A-=2;this.ka&&
|
||||
Pd(this.ka)?(yd(this,-1),this.Ib()):this.Ba&512||(this.ka&&yd(this,-1),this.Ib())},function(){zd(this)?Fd(this):Kd(this);this.A-=2},function(){this.Pb=-1;Qh[this.fa()].call(this,Ne,Ee);0<=this.Pb&&(this.H=this.Pb)},function(){this.Pb=-1;Rh[this.fa()].call(this,Oe,Ee);0<=this.Pb&&(this.H=this.Pb,this.K=this.Jg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.gl},function(){this.Ba|=512;this.ba|=4;this.A-=2},function(){this.Ba&=
|
||||
-1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){Qh[this.fa()].call(this,Hc,Ee)},function(){Rh[this.fa()].call(this,Ic,Ee)}],Sh=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);Rh[a].call(this,this.nk,Ee)},function(){var a=this.fa();a&16||(this.ba|=1);Rh[a].call(this,pi,Ee)},function(){L[this.fa()].call(this,df)},function(){L[this.fa()].call(this,hf)},K,function(){this.va.bb?lc.call(this,13,0,!0):(lf.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.I=this.ra(2090),
|
||||
this.Y=this.ra(2092),this.C=this.ra(2094),this.K=this.ra(2096),this.J=this.ra(2098),this.H=this.ra(2100),Cc(this.La,2102,this.ra(2084)),Cc(this.va,2108,this.ra(2082)),Cc(this.Ya,2114,this.ra(2080)),Cc(this.fb,2120,this.ra(2078)),Ac(this,this.ra(2072)),H(this,this.ra(2074)),this.Ec=this.ra(2126)|this.ra(2128)<<16,this.Be=this.Ec+this.ra(2130),Cc(this.Xc,2132,this.ra(2076)),this.Qc=this.ra(2138)|this.ra(2140)<<16,this.Ce=this.Qc+this.ra(2142),Cc(this.gb,2144,this.ra(2070)),this.A-=195)},function(){this.va.bb?
|
||||
lc.call(this,13,0,!0):(this.fc&=-9,this.A-=2)},K,K,K,K,Nc,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,
|
||||
K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K],rd=[function(){this.A-=2+(0>this.ja?0:1);return this.Xc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.gb.ta},function(a){this.ba|=2;this.Xc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.gb.load(a)&&(this.Ua(this.gb.Ad+4,this.gb.ob|=512),this.gb.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&2048!=(this.Tb.ob&2560)&&(this.Tb.nc>=this.va.bb&&
|
||||
this.Tb.nc>=(a&3)||7168==(this.Tb.ob&7168)))return Md(this),a;Hd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Tb.load(a,!0)&&512==(this.Tb.ob&2560)&&this.Tb.nc>=this.va.bb&&this.Tb.nc>=(a&3))return Md(this),a;Hd(this);return a},J,J],Jc=[ed,ed,ed,ed,ed,ed,J,J],pi=[function(a){0>this.ja?Nc.call(this):(a=this.Be-this.Ec,this.Ua(this.ja+2,this.Ec),this.Ua(this.ja+4,65280|this.Ec>>16),this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(a=this.Ce-this.Qc,this.Ua(this.ja+
|
||||
2,this.Qc),this.Ua(this.ja+4,65280|this.Qc>>16),this.A-=12);return a},function(a){0>this.ja?Nc.call(this):(this.Ec=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Be=this.Ec+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(this.Qc=this.ra(this.ja+2)|this.yb(this.ja+4)<<16,this.Ce=this.Qc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.fc},J,function(a){lf.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},J];
|
||||
function M(a){y.call(this,"ChipSet",a,M,qi);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):ri;this.gc=0;var b=a.sw1;if(b)this.gc=si(b,ti|ui.Am);else{this.Wd=[360,360];(b=a.floppies)&&b.length&&(this.Wd=b);if(b=this.Wd.length)this.gc|=vi.fi,b--,this.gc|=(b&3)<<vi.Rf;if(b=a.monitor||(this.Ka<wi?"mono":"ega"),void 0!==xi[b])this.gc|=xi[b]<<ui.Rf}this.xe=si(a.sw2||"11110000",0);this.ao=this.Ka==ri?16:64;this.kh=this.cg=1;this.Ka>=wi&&(this.kh=this.cg=2);this.je=a.scaleTimers||!1;this.yp=a.rtcDate;this.Ok=
|
||||
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.xi=new window.webkitAudioContext);this.reset(!0);B(this)}Wa(y,M);var ri=5150,wi=5170,xi={none:0,tv:1,color:2,mono:3,ega:0},vi={fi:1,ONE:0,sq:64,qq:128,Qp:192,Qf:192,Rf:6},ti=12,ui={rq:16,Ip:32,Am:48,Qf:48,Rf:4};k=M.prototype;
|
||||
k.Hb=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,yi(this,b,c,this.gc,{0:this.Ka==ri?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==ri?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==ri)return this.xa[b]=c,yi(this,b,c,this.xe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1};
|
||||
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Sa=ib(a,"Keyboard");this.Rh=c.da.sd/1193181;xb(b,this,zi);Bb(b,this,Ai);this.Ka<wi?(xb(b,this,Bi),Bb(b,this,Ci)):(xb(b,this,Di),Bb(b,this,Ei));if(d){var e=this;Fi(d,Qd,function(){for(var a=0;a<e.Vb.length;a++){for(var b=e.Vb[a],c="PIC"+a+":",d=0;d<b.Bc.length;d++)c+=" IC"+(d+1)+"="+q(b.Bc[d]);c+=" IMR="+q(b.nd)+" IRR="+q(b.Rb)+" ISR="+q(b.Fc)+" DELAY="+b.Ef;e.ka.Z(c)}});Fi(d,Gi,function(){for(var a=0;a<e.Kb.length;a++){Hi(e,a);var b=
|
||||
e.Kb[a],c="TIMER"+a+":",d=0;if(null!=b.pd)for(var m=0;m<=b.pd;m++)d|=b.ab[m]<<8*m;c+=" mode="+b.mode+" bytes="+b.pd+" count="+s(d);e.ka.Z(c)}});Fi(d,Ii,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Ji(e,b):e.ma[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}kd(c,Ki,this,this.$n)};k.ec=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};
|
||||
k.reset=function(a){var b;this.kd=this.gc;this.cf=this.xe;Li(this);this.tb=Array(this.kh);for(b=0;b<this.kh;b++)Mi(this,b);this.Vb=Array(this.cg);Ni(this,0,32);1<this.cg&&Ni(this,1,160);this.ui=null;this.Kb=Array(3);for(b=0;b<this.Kb.length;b++)Oi(this,b);this.bg=this.si=this.Gc=this.gh=null;this.fh=0;if(this.Ka>=wi){this.pb=16;this.Cd=0;this.Bd=16;this.ah=0;this.Ee=160;512<=Pi(this)&&(this.Ee|=16);3==Qi(this)&&(this.Ee|=64);this.pi=3;this.$f=0;this.Wg=Array(7);this.Fe=0;a&&(this.ma=Array(64));Ri(this,
|
||||
this.yp);for(a=21;24>=a;a++)this.ma[a]=0;for(a=14;46>a;a++)void 0===this.ma[a]&&(this.ma[a]=0);this.ma[20]=this.kd&(ui.Qf|2|vi.fi|vi.Qf);this.ma[16]=Si(this,0)<<4|Si(this,1);Ti(this)}};
|
||||
function Ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.ma[0]=c.getSeconds();a.ma[1]=0;a.ma[2]=c.getMinutes();a.ma[3]=0;a.ma[4]=c.getHours();a.ma[5]=0;a.ma[6]=c.getDay()+1;a.ma[7]=c.getDate();a.ma[8]=c.getMonth()+1;c=c.getFullYear();a.ma[9]=c%100;c/=100;a.ma[50]=c%10|c/10<<4;a.ma[10]=38;a.ma[11]=2;a.ma[12]=0;a.ma[13]=128;a.Dg=a.Gf=0;a.dm=a.Ph=null}
|
||||
function Ji(a,b){var c=a.ma[b];if(10>b){var d=!1;4!=b&&5!=b||a.ma[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ma[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.ma[b]^=128);return c}function Ui(a){var b;void 0===b&&(b=a.Ph);a.Gf=D(a.T,a.je)+b;a.ma[11]&64&&Zb(a.T,b)}function Ti(a){for(var b=0,c=16;46>c;c++)b+=a.ma[c];a.ma[47]=b&255;a.ma[46]=b>>8}
|
||||
k.save=function(){var a=new sd(this);a.set(0,[this.gc,this.xe,this.kd,this.cf]);for(var b=[],c=0;c<this.tb;c++){for(var d=this.tb[c],e=d,f=[],g=0;g<e.Qb.length;g++){var h=e.Qb[g];f[g]=[h.Md,h.Yg,h.hc,h.jb,h.ab,h.mode,h.hh,h.up,h.vp]}b[c]=[d.de,d.qi,d.uk,d.wb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Vb.length;c++)d=this.Vb[c],b[c]=[d.Ef,d.Bc,d.Od,d.nd,d.Rb,d.Fc,d.Ge,d.ag];a.set(2,[b]);b=[];for(c=0;c<this.Kb.length;c++)d=this.Kb[c],b[c]=[d.hc,d.Jc,d.ab,d.Ne,d.wk,d.mode,d.Zh,d.ge,d.pd,d.rd,d.kg,d.Re,d.jd];
|
||||
a.set(3,[this.ui,b]);a.set(4,[this.gh,this.Gc,this.si,this.bg,this.fh]);this.Ka>=wi&&(a.set(5,[this.pb,this.Cd,this.Bd,this.ah,this.Ee,this.pi]),a.set(6,[this.$f,this.Wg,this.Fe,this.ma,this.Dg,this.Gf]));return a.data()};
|
||||
k.restore=function(a){var b,c;b=a[0];this.gc=b[0];this.xe=b[1];this.kd=b[2];this.cf=b[3];b=a[1];for(c=0;c<this.kh;c++)Mi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.cg;c++)Ni(this,c,0===c?32:160,b[0][c]);b=a[3];this.ui=b[0];for(c=0;c<this.Kb.length;c++)Oi(this,c,b[1][c]);b=a[4];this.gh=b[0];this.Gc=b[1];this.si=b[2];this.bg=b[3];this.fh=b[4];if(b=a[5])this.pb=b[0],this.Cd=b[1],this.Bd=b[2],this.ah=b[3],this.Ee=b[4],this.pi=b[5];if(b=a[6])this.$f=b[0],this.Wg=b[1],this.Fe=b[2],this.ma=b[3],
|
||||
this.Dg=b[4],this.Gf=b[5],Ri(this);return!0};var Vi=[0,null,null,0,Array(4)];function Mi(a,b,c){var d=a.tb[b];d||(d={Qb:Array(4)});c=c&&5==c.length?c:Vi;d.de=c[0];d.qi=c[1];d.uk=c[2];d.wb=c[3];d.jo=b<<2;for(var e=0;e<d.Qb.length;e++)Wi(d,e,c[4][e]);a.tb[b]=d}var Xi=[!0,[0,0],[0,0],[0,0],[0,0]];
|
||||
function Wi(a,b,c){var d=a.Qb[b];d||(d={Yg:[0,0],hc:[0,0],jb:[0,0],ab:[0,0]});c=c&&8==c.length?c:Xi;d.Md=c[0];d.Yg[0]=c[1][0];d.Yg[1]=c[1][1];d.hc[0]=c[2][0];d.hc[1]=c[2][1];d.jb[0]=c[3][0];d.jb[1]=c[3][1];d.ab[0]=c[4][0];d.ab[1]=c[4][1];d.mode=c[5];d.hh=c[6];d.ga=a;d.Tk=b;Yi(d,c[8],c[9]);a.Qb[b]=d}function Yi(a,b,c,d){"string"==typeof b&&(b=Ya(b));b&&(a.rh=null,a.up=b.id,a.vp=c,a.ph=b,a.Qi=b[c],a.Sh=d)}var Zi=[0,Array(4)];
|
||||
function Ni(a,b,c,d){var e=a.Vb[b];e||(e={Bc:[null,null,null,null]});d=d&&8==d.length?d:Zi;e.port=c;e.Pq=b<<3;e.Ef=d[0];e.Bc[0]=d[1][0];e.Bc[1]=d[1][1];e.Bc[2]=d[1][2];e.Bc[3]=d[1][3];e.Od=d[2];e.nd=d[3];e.Rb=d[4];e.Fc=d[5];e.Ge=d[6];e.ag=d[7];a.Vb[b]=e}var $i=[[0,0],[0,0],[0,0],[0,0]];
|
||||
function Oi(a,b,c){var d=a.Kb[b];d||(d={hc:[0,0],Jc:[0,0],ab:[0,0],Ne:[0,0]});c=c&&13==c.length?c:$i;d.hc[0]=c[0][0];d.hc[1]=c[0][1];d.Jc[0]=c[1][0];d.Jc[1]=c[1][1];d.ab[0]=c[2][0];d.ab[1]=c[2][1];d.Ne[0]=c[3][0];d.Ne[1]=c[3][1];d.wk=c[4];d.mode=c[5];d.Zh=c[6];d.ge=c[7];d.pd=c[8];d.rd=c[9];d.kg=c[10];d.Re=c[11];d.jd=c[12];a.Kb[b]=d}function Pi(a,b){return((((b?a.gc:a.kd)&12)>>2)+1)*a.ao+32*((b?a.xe:a.cf)&15)}function aj(a,b){var c=b?a.gc:a.kd;return a.Ka!=ri||c&vi.fi?((c&vi.Qf)>>vi.Rf)+1:0}
|
||||
function Si(a,b){if(b<aj(a)){if(!a.Wd)return 1;if(b<a.Wd.length)switch(a.Wd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Qi(a,b){return((b?a.gc:a.kd)&ui.Qf)>>ui.Rf}
|
||||
function yi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=z(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),bj(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");bj(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.gc=
|
||||
a.gc&~e|(c?0:e);break;case "sw2":a.xe=a.xe&~e|(c?0:e)}Li(a)}}(a,b[g])}function bj(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function Li(a){var b=a.xa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Pi(a,!0)+"Kb");d+=", "+c[Qi(a,!0)]+" Monitor";d+=", "+aj(a,!0)+" Floppy Drives";if(null!=a.kd&&a.kd!=a.gc||null!=a.cf&&a.cf!=a.xe)d+=" (Reset required)";b.textContent=d}}
|
||||
function cj(a,b,c,d,e){var f=a.tb[b],g=f.Qb[c],h=g.jb[f.wb];a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.jb[0]++,255<g.jb[0]&&(g.jb[0]=0,g.jb[1]++,255<g.jb[1]&&(g.jb[1]=0)));return h}function ej(a,b,c,d,e,f){var g=a.tb[b];a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.wb+"]",null,!0);a=g.Qb[c];a.jb[g.wb]=a.Yg[g.wb]=e;g.wb^=1}
|
||||
function fj(a,b,c,d,e){var f=a.tb[b],g=f.Qb[c],h=g.ab[f.wb];a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.wb+"]",h,!0);f.wb^=1;b||0!=c||f.wb||(g.ab[0]--,0>g.ab[0]&&(g.ab[0]=255,g.ab[1]--,0>g.ab[1]&&(g.ab[1]=255)));return h}function gj(a,b,c,d,e,f){var g=a.tb[b];a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.wb+"]",null,!0);a=g.Qb[c];a.ab[g.wb]=a.hc[g.wb]=e;g.wb^=1}function hj(a,b,c,d){var e=a.tb[b],f=e.de|1;e.de&=-16;a.ua(dj|N)&&A(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f}
|
||||
function ij(a,b,c,d,e){var f=a.tb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.de=f.de&~(16<<a)|(d&4)<<a+2;f.uk=d}function jj(a,b,c,d,e){var f=a.tb[b];a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MASK",null,!0);b=d&3;c=f.Qb[b];c.Md=!!(d&4);c.Md||kj(a,f.jo+b)}function lj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MODE",null,!0);a.tb[b].Qb[d&3].mode=d}function mj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".RESET_FF",null,!0);a.tb[b].wb=0}
|
||||
function nj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA"+b+".MASTER_CLEAR",null,!0);a=a.tb[b];for(b=0;b<a.Qb.length;b++)Wi(a,b)}function oj(a,b,c,d,e){var f=a.tb[b].Qb[c].hh;a.ua(dj|N)&&A(a,d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",f,!0);return f}function pj(a,b,c,d,e,f){a.ua(dj|N)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",null,!0);a.tb[b].Qb[c].hh=e}function qj(a,b,c,d){var e=a.Wg[b];a.ua(dj|N)&&A(a,c,null,d,"DMA.SPARE"+b+".PAGE",e,!0);return e}
|
||||
function rj(a,b,c,d,e){a.ua(dj|N)&&A(a,c,d,e,"DMA.SPARE"+b+".PAGE",null,!0);a.Wg[b]=d}function sj(a,b,c,d,e){Yi(a.tb[b>>2].Qb[b&3],c,d,e)}function kj(a,b,c){b=a.tb[b>>2].Qb[b&3];b.ph&&b.Qi&&b.Sh?(c&&(b.rh=c),b.Md||Vd(a,b,!0)):c&&c(!0)}
|
||||
function Vd(a,b,c){c&&(b.count=b.ab[1]<<8|b.ab[0],b.wm=b.mode&12,b.Pk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.hh<<16|b.jb[1]<<8|b.jb[0],4==b.wm?(d=!0,function(c){b.Qi.call(b.ph,b.Sh,-1,function(f,g){0>f&&(b.Pk||(b.Pk=!0),f=255);b.Md||tb(a.sa,c,f);(d=g)&&setTimeout(function(){tj(b)||Vd(a,b)},0)})}(c)):8==b.wm?(c=rb(a.sa,c),0>b.Qi.call(b.ph,b.Sh,c)&&(b.fd=!0)):b.fd=!0),!d&&!tj(b););}
|
||||
function tj(a){if(!a.fd&&0<=--a.count&&(a.mode&32?(a.jb[0]--,0>a.jb[0]&&(a.jb[0]=255,a.jb[1]--,0>a.jb[1]&&(a.jb[1]=255))):(a.jb[0]++,255<a.jb[0]&&(a.jb[0]=0,a.jb[1]++,255<a.jb[1]&&(a.jb[1]=0))),!a.Md))return!1;var b=a.ga;b.de=b.de&~(16<<a.Tk)|1<<a.Tk;a.mode&16||(a.Md=!0,a.ph=a.Sh=null);a.rh&&(a.rh(!a.fd),a.rh=null);return!0}function uj(a,b,c){var d=0,e=a.Vb[b];if(null!=e.ag)switch(e.ag&3){case 2:d=e.Rb;break;case 3:d=e.Fc}a.ua(Qd|N|qi)&&A(a,e.port,null,c,"PIC"+b,d,!0);return d}
|
||||
function vj(a,b,c,d){var e=a.Vb[b];a.ua(Qd|N|qi)&&A(a,e.port,c,d,"PIC"+b,null,!0);if(c&16)e.Od=0,e.Bc[e.Od++]=c,e.nd=0,e.Ge=7,e.Rb=e.Fc=0,e.ag=10;else if(c&8)e.ag=c;else if(d=c&224,d&32){b=0;if(96==(d&96))b=1<<(c&7);else for(c=e.Ge+1;;){c&=7;d=1<<c;if(e.Fc&d){b=d;break}if(c++==e.Ge)break}e.Fc&b&&(e.Fc&=~b,wj(a))}else 192==d&&(e.Ge=c&7)}function xj(a,b,c){var d=a.Vb[b],e=d.nd;a.ua(Qd|N|qi)&&A(a,d.port+1,null,c,"PIC"+b,e,!0);return e}
|
||||
function yj(a,b,c,d){var e=a.Vb[b];a.ua(Qd|N|qi)&&A(a,e.port+1,c,d,"PIC"+b,null,!0);e.Od<e.Bc.length?(e.Bc[e.Od++]=c,2==e.Od&&e.Bc[0]&2&&e.Od++,3!=e.Od||e.Bc[0]&1||e.Od++):(e.nd=c,d=a.T,d.ba|=4,wj(a,b||253!=c?0:6))}function zj(a,b,c){var d=a.Vb[b>>3];b=1<<(b&7);d.Rb&b||(d.Rb|=b,d.Ef=c||0,wj(a))}function Aj(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Rb&d&&(c.Rb&=~d,wj(a))}
|
||||
function wj(a,b){var c,d=-1;1<a.cg&&(c=a.Vb[1],d=~(c.Fc|c.nd)&c.Rb);c=a.Vb[0];0<=d&&(c.Rb=d?c.Rb|4:c.Rb&-5);var d=~(c.Fc|c.nd)&c.Rb,e=a.T;e.oa&&(e.zb=d?e.zb|1:e.zb&-2);d&&b&&(c.Ef=b)}function Rd(a,b){void 0===b&&(b=0);var c=-1,d=a.Vb[b];if(d.Ef)c=-2,d.Ef--;else for(var e=d.Rb&((d.Fc|d.nd)^255),f=d.Ge+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Bc[1]+f:Rd(a,1);0<=c&&(d.Fc|=g,d.Rb&=~g);break}if(f++==d.Ge)break}return c}
|
||||
function Bj(a,b,c){var d;d=a.Kb[b];d.ge==d.pd&&Cj(a,b);if(d.kg)return d.Ne[d.ge++];Hi(a,b);d=d.ab[d.ge++];a.ua(Gi|N)&&A(a,64+b,null,c,"TIMER"+b,d,!0);return d}function Dj(a,b,c,d){a.ua(Gi|N)&&A(a,64+b,c,d,"TIMER"+b,null,!0);d=a.Kb[b];d.ge==d.pd&&Cj(a,b);d.hc[d.ge++]=c;d.ge==d.pd&&(d.Re&&0!=d.mode&&8!=d.mode||(d.kg=!1,d.ab[0]=d.Jc[0]=d.hc[0],d.ab[1]=d.Jc[1]=d.hc[1],d.jd=D(a.T,a.je),d.Re=!0,d.rd=0!=d.mode,0==b&&(Aj(a,0),c=Ej(a,0)*a.Rh|0,6==d.mode&&(c>>=1),Zb(a.T,c))),2==b&&bc(a))}k=M.prototype;
|
||||
k.Tn=function(a,b){A(this,a,null,b,"TIMER_CTRL",null,Gi);return null};k.jp=function(a,b,c){this.ui=b;A(this,a,b,c,"TIMER_CTRL",null,Gi);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Kb[a];e.Zh=b;e.mode=d;e.wk=c;e.hc=[0,0];e.ab=[0,0];e.Ne=[0,0];e.rd=!1;e.kg=!1;e.Re=!1;Cj(this,a);0==a&&Aj(this,0);2==a&&255==this.Vb[0].nd&&77==this.Gc&&(a=this.Kb[0],a.Jc[0]=a.hc[0],a.Jc[1]=a.hc[1],a.jd=D(this.T,this.je))}else Hi(this,a),b=this.Kb[a],b.Ne[0]=b.ab[0],b.Ne[1]=b.ab[1],b.kg=!0,Cj(this,a)}};
|
||||
function Ej(a,b){var c=a.Kb[b],d=c.hc[1]<<8|c.hc[0];d||(d=1==c.pd?256:65536);return d}function dc(a,b){var c=a.Kb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.pd?256:65536);return d}function Cj(a,b){var c=a.Kb[b];c.ge=32==c.Zh?1:0;c.pd=48==c.Zh?2:1}
|
||||
function Hi(a,b,c){var d=a.Kb[b];if(d.Re&&(2!=b||a.Gc&1)){var e=D(a.T,a.je),f=(e-d.jd)/a.Rh|0;0>f&&(d.jd=e,f=0);var g=Ej(a,b),h=dc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.rd=!0,d.Re=!1,b||zj(a,0))):4==d.mode?(d.rd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.rd=!d.rd,h=g+h,0>=h&&(h=g),d.Jc[0]=h&255,d.Jc[1]=h>>8,d.jd=e,!b&&d.rd&&zj(a,0)));d.ab[0]=h&255;d.ab[1]=h>>8;c&&(a.jd=0)}return d}
|
||||
function cc(a,b){for(var c=0;c<a.Kb.length;c++)Hi(a,c,b);if(a.Ka>=wi){var c=a.T.da.sd,d=D(a.T,a.je);null==a.Ph&&(a.Dg=D(a.T,a.je),a.dm=1024,a.Ph=Math.floor(a.T.da.sd/a.dm),Ui(a));d>=a.Gf&&(a.ma[12]|=64,a.ma[11]&64&&(a.ma[12]|=128,zj(a,8)),a.Gf=d+a.Ph);a.ma[0]==a.ma[1]&&a.ma[2]==a.ma[3]&&a.ma[4]==a.ma[5]&&(a.ma[12]|=32,a.ma[11]&32&&(a.ma[12]|=128,zj(a,8)));var e=d-a.Dg,f=Math.floor(e/c);if(f&&!(a.ma[11]&128)){for(;f--;)if(60<=++a.ma[0]&&(a.ma[0]=0,60<=++a.ma[2]&&(a.ma[2]=0,24<=++a.ma[4]))){a.ma[4]=
|
||||
0;a.ma[6]=a.ma[6]%7+1;var g;g=a.ma[9];var h=ra[a.ma[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ma[7]>g&&(a.ma[7]=1,12<++a.ma[8]&&(a.ma[8]=1,a.ma[9]=(a.ma[9]+1)%100))}a.ma[12]|=16;a.ma[11]&16&&(a.ma[12]|=128,zj(a,8))}a.Dg=d-e%c}}k.Ln=function(a,b){var c=this.gh;if(this.bg&16)if(this.Gc&128)c=this.kd;else if(this.Sa){var c=this.Sa,d=0;c.Wb.length&&(d=c.Wb[0]);c.ua()&&c.cb("scan code 0x"+q(d)+" delivered");c=d}A(this,a,null,b,"PPI_A",c);return c};
|
||||
k.cp=function(a,b,c){A(this,a,b,c,"PPI_A");this.gh=b};k.Mn=function(a,b){var c=this.Gc;A(this,a,null,b,"PPI_B",c);return c};k.dp=function(a,b,c){A(this,a,b,c,"PPI_B");Fj(this,b);this.Sa&&Gj(this.Sa,b&128?!1:!0,b&64?!0:!1)};function Fj(a,b){var c=!!(b&2),d=!!(a.Gc&2);a.Gc=b;c!=d&&bc(a,c)}k.Nn=function(a,b){var c=0,c=this.Ka==ri?this.Gc&4?c|this.cf&15:c|this.cf>>4&1:this.Gc&8?c|this.kd>>4:c|this.kd&15;this.Gc&1&&Hi(this,2).rd&&(c=this.Gc&2?c|32:c|16);A(this,a,null,b,"PPI_C",c,qi|Fb);return c};
|
||||
k.ep=function(a,b,c){A(this,a,b,c,"PPI_C");this.si=b};k.On=function(a,b){var c=this.bg;A(this,a,null,b,"PPI_CTRL",c);return c};k.fp=function(a,b,c){A(this,a,b,c,"PPI_CTRL");this.bg=b};k.an=function(a,b){var c=this.ah;A(this,a,null,b,"8042_OUTBUFF",c,Hj);this.pb&=-258;this.Sa&&Ij(this.Sa);return c};
|
||||
k.uo=function(a,b,c){A(this,a,b,c,"8042_INBUF.DATA",null,Hj);if(this.pb&8)switch(this.Cd){case 96:Jj(this,b);break;case 209:Kj(this,b);break;default:if(Jj(this,this.Bd&-17),this.Sa){a=-1;switch(b){case 255:a=250,Lj(this.Sa)}Mj(this,a)}}this.Cd=b;this.pb&=-9};k.bn=function(a,b){var c=this.Gc&-209|(D(this.T)&64?16:0);A(this,a,null,b,"8042_RWREG",c,Hj);return c};k.vo=function(a,b,c){A(this,a,b,c,"8042_RWREG",null,Hj);Fj(this,b)};
|
||||
k.cn=function(a,b){A(this,a,null,b,"8042_STATUS",this.pb,Hj);var c=this.pb&255;this.pb&256&&(this.pb|=1,this.pb&=-257);return c};
|
||||
k.to=function(a,b,c){A(this,a,b,c,"8042_INBUFF.CMD",null,Hj);this.Cd=b;this.pb|=8;a=0;240<=this.Cd&&(a=this.Cd^15,this.Cd=240);switch(this.Cd){case 192:Mj(this,this.Ee);break;case 173:Jj(this,this.Bd|16);break;case 174:Jj(this,this.Bd&-17);this.Sa&&Ij(this.Sa);break;case 170:this.Sa&&(a=this.Sa,a.Wb=[],a.ua()&&a.cb("scan codes flushed"));Jj(this,this.Bd|16);Mj(this,85);Kj(this,3);break;case 224:Mj(this,this.Bd&16?0:1);break;case 240:a&1&&id(this.T)}};
|
||||
function Jj(a,b){a.Bd=b;a.pb=a.pb&-5|b&4;a.Sa&&Gj(a.Sa,!!(b&8),!(b&16))}function Mj(a,b){0<=b&&(a.ah=b,a.pb&=-2,a.pb|=256)}function Kj(a,b){a.pi=b;nb(a.sa,!!(b&2));b&1||id(a.T)}function Nj(a,b){a.Ka<wi?zj(a,1,4):a.Bd&16||a.pb&257||(Mj(a,b),Oj(a.Sa),zj(a,1,120))}k.rn=function(a,b){A(this,a,null,b,"CMOS.ADDR",this.Fe,Ii);return this.Fe};k.Jo=function(a,b,c){A(this,a,b,c,"CMOS.ADDR",null,Ii);this.Fe=b;this.fh=b&128?0:128};
|
||||
k.sn=function(a,b){var c=this.Fe&63,d=13>=c?Ji(this,c):this.ma[c];this.ua(Ii|N)&&A(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.ma[c]&=15,d&128&&Aj(this,8),d&64&&this.ma[11]&64&&Ui(this));return d};
|
||||
k.Ko=function(a,b,c){var d=this.Fe&63;this.ua(Ii|N)&&A(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.ma[d];if(13>=d){if(c=b,10>d){var e=!1;this.ma[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23<c&&(c+=48),this.ma[11]&2||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.ma[d]=c;11==d&&a&64&&b&64&&Ui(this)};k.Jn=function(a,b){A(this,a,null,b,"MFG_DATA",this.$f);return this.$f};k.$o=function(a,b,c){A(this,a,b,c,"MFG_DATA");this.$f=b};
|
||||
k.bp=function(a,b,c){A(this,a,b,c,"NMI");this.fh=b};k.Lo=function(a,b,c){A(this,a,b,c,"COPROC.CLEAR")};k.Mo=function(a,b,c){A(this,a,b,c,"COPROC.RESET")};
|
||||
k.$n=function(a){if(this.ua(Pj)&&nd(this.ka,Ki,a)){var b=this.T.H>>8;od(this.T,a,function(a,d){return function(e){d=D(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,m=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+s(h)+" CL(min)="+q(g)+" DH(sec)="+q(m);else if(4==b||5==b)f=" CX(year)="+s(a.T.J)+" DH(month)="+q(m)+" DL(day)="+q(n);pd(a.ka,Ki,e,d,f)}}(this,D(this.T)))}return!0};function si(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 bc(a,b){if(a.xi){void 0!==b?a.Ok=b:b=a.Ok&&a.T&&a.T.na.mb;var c=Math.round(1193181/Ej(a,2));if(20>c||2E4<c)b=!1;b?a.wd?(a.wd.frequency.value=c,a.ua(Qj)&&a.cb("speaker set to "+c+"hz",!0)):(a.wd=a.xi.createOscillator(),a.wd.type=1,a.wd.connect(a.xi.destination),a.wd.frequency.value=c,a.ua(Qj)&&a.cb("speaker on at "+c+"hz",!0),a.wd.noteOn(0)):a.wd&&(a.wd.noteOff(0),a.wd.disconnect(),delete a.wd,a.ua(Qj)&&a.cb("speaker off at "+c+"hz",!0))}else b&&a.cb("BEEP",Qj)}
|
||||
var zi={0:function(a,b){return cj(this,0,0,a,b)},1:function(a,b){return fj(this,0,0,a,b)},2:function(a,b){return cj(this,0,1,a,b)},3:function(a,b){return fj(this,0,1,a,b)},4:function(a,b){return cj(this,0,2,a,b)},5:function(a,b){return fj(this,0,2,a,b)},6:function(a,b){return cj(this,0,3,a,b)},7:function(a,b){return fj(this,0,3,a,b)},8:function(a,b){return hj(this,0,a,b)},32:function(a,b){return uj(this,0,b)},33:function(a,b){return xj(this,0,b)},64:function(a,b){return Bj(this,0,b)},65:function(a,
|
||||
b){return Bj(this,1,b)},66:function(a,b){return Bj(this,2,b)},67:M.prototype.Tn,129:function(a,b){return oj(this,0,2,a,b)},130:function(a,b){return oj(this,0,3,a,b)},131:function(a,b){return oj(this,0,1,a,b)},135:function(a,b){return oj(this,0,0,a,b)}},Bi={96:M.prototype.Ln,97:M.prototype.Mn,98:M.prototype.Nn,99:M.prototype.On},Di={96:M.prototype.an,97:M.prototype.bn,100:M.prototype.cn,112:M.prototype.rn,113:M.prototype.sn,128:M.prototype.Jn,132:function(a,b){return qj(this,0,a,b)},133:function(a,
|
||||
b){return qj(this,1,a,b)},134:function(a,b){return qj(this,2,a,b)},136:function(a,b){return qj(this,3,a,b)},137:function(a,b){return oj(this,1,2,a,b)},138:function(a,b){return oj(this,1,3,a,b)},139:function(a,b){return oj(this,1,1,a,b)},140:function(a,b){return qj(this,4,a,b)},141:function(a,b){return qj(this,5,a,b)},142:function(a,b){return qj(this,6,a,b)},143:function(a,b){return oj(this,1,0,a,b)},160:function(a,b){return uj(this,1,b)},161:function(a,b){return xj(this,1,b)},192:function(a,b){return cj(this,
|
||||
1,0,a,b)},194:function(a,b){return fj(this,1,0,a,b)},196:function(a,b){return cj(this,1,1,a,b)},198:function(a,b){return fj(this,1,1,a,b)},200:function(a,b){return cj(this,1,2,a,b)},202:function(a,b){return fj(this,1,2,a,b)},204:function(a,b){return cj(this,1,3,a,b)},206:function(a,b){return fj(this,1,3,a,b)},208:function(a,b){return hj(this,1,a,b)}},Ai={0:function(a,b,c){ej(this,0,0,a,b,c)},1:function(a,b,c){gj(this,0,0,a,b,c)},2:function(a,b,c){ej(this,0,1,a,b,c)},3:function(a,b,c){gj(this,0,1,
|
||||
a,b,c)},4:function(a,b,c){ej(this,0,2,a,b,c)},5:function(a,b,c){gj(this,0,2,a,b,c)},6:function(a,b,c){ej(this,0,3,a,b,c)},7:function(a,b,c){gj(this,0,3,a,b,c)},8:function(a,b,c){this.ua(dj|N)&&A(this,a,b,c,"DMA0.CMD",null,!0);this.tb[0].qi=b},9:function(a,b,c){ij(this,0,a,b,c)},10:function(a,b,c){jj(this,0,a,b,c)},11:function(a,b,c){lj(this,0,a,b,c)},12:function(a,b,c){mj(this,0,a,b,c)},13:function(a,b,c){nj(this,0,a,b,c)},32:function(a,b,c){vj(this,0,b,c)},33:function(a,b,c){yj(this,0,b,c)},64:function(a,
|
||||
b,c){Dj(this,0,b,c)},65:function(a,b,c){Dj(this,1,b,c)},66:function(a,b,c){Dj(this,2,b,c)},67:M.prototype.jp,129:function(a,b,c){pj(this,0,2,a,b,c)},130:function(a,b,c){pj(this,0,3,a,b,c)},131:function(a,b,c){pj(this,0,1,a,b,c)},135:function(a,b,c){pj(this,0,0,a,b,c)}},Ci={96:M.prototype.cp,97:M.prototype.dp,98:M.prototype.ep,99:M.prototype.fp,160:M.prototype.bp},Ei={96:M.prototype.uo,97:M.prototype.vo,100:M.prototype.to,112:M.prototype.Jo,113:M.prototype.Ko,128:M.prototype.$o,132:function(a,b,c){rj(this,
|
||||
0,a,b,c)},133:function(a,b,c){rj(this,1,a,b,c)},134:function(a,b,c){rj(this,2,a,b,c)},136:function(a,b,c){rj(this,3,a,b,c)},137:function(a,b,c){pj(this,1,2,a,b,c)},138:function(a,b,c){pj(this,1,3,a,b,c)},139:function(a,b,c){pj(this,1,1,a,b,c)},140:function(a,b,c){rj(this,4,a,b,c)},141:function(a,b,c){rj(this,5,a,b,c)},142:function(a,b,c){rj(this,6,a,b,c)},143:function(a,b,c){pj(this,1,0,a,b,c)},160:function(a,b,c){vj(this,1,b,c)},161:function(a,b,c){yj(this,1,b,c)},192:function(a,b,c){ej(this,1,0,
|
||||
a,b,c)},194:function(a,b,c){gj(this,1,0,a,b,c)},196:function(a,b,c){ej(this,1,1,a,b,c)},198:function(a,b,c){gj(this,1,1,a,b,c)},200:function(a,b,c){ej(this,1,2,a,b,c)},202:function(a,b,c){gj(this,1,2,a,b,c)},204:function(a,b,c){ej(this,1,3,a,b,c)},206:function(a,b,c){gj(this,1,3,a,b,c)},208:function(a,b,c){this.ua(dj|N)&&A(this,a,b,c,"DMA1.CMD",null,!0);this.tb[1].qi=b},210:function(a,b,c){ij(this,1,a,b,c)},212:function(a,b,c){jj(this,1,a,b,c)},214:function(a,b,c){lj(this,1,a,b,c)},216:function(a,
|
||||
b,c){mj(this,1,a,b,c)},218:function(a,b,c){nj(this,1,a,b,c)},240:M.prototype.Lo,241:M.prototype.Mo};Ja(function(){for(var a=z(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new M(d);bb(d,c);Li(d)}});
|
||||
function Rj(a){y.call(this,"ROM",a,Rj);this.Lb=null;this.pk=a.addr;this.bi=a.size;this.Em=a.alias;this.Kg=a.file;this.Vk=a.notify;if(this.Kg){a=this.Kg;var b=ga(this.Kg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Kg+"&format=bytes&decimal=true");sa(a,!0,null,this,Rj.prototype.oo)}}Wa(y,Rj);Rj.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;Sj(this)};Rj.prototype.ec=function(){this.ki&&(this.ka&&Tj(this.ka,this.pk,this.bi,this.ki),delete this.ki);return!0};Rj.prototype.dc=function(){return!0};
|
||||
Rj.prototype.oo=function(a,b,c){if(c)this.Ia("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.Lb=e;else if(f)for(this.Lb=Array(4*f.length),c=b=0;b<f.length;b++)this.Lb[c++]=f[b]&255,this.Lb[c++]=f[b]>>8&255,this.Lb[c++]=f[b]>>16&255,this.Lb[c++]=f[b]>>24&255;else this.Lb=d;this.ki=d.symbols;if(!this.Lb.length){w("Empty ROM: "+a);return}if(1==this.Lb.length){w(this.Lb[0]);return}}catch(g){this.Ia("ROM data error: "+
|
||||
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Lb=Array(a.length),d=0;d<a.length;d++)this.Lb[d]=parseInt(a[d],16);Sj(this)}};function Sj(a){if(!fb(a))if(!a.Kg)B(a);else if(a.Lb&&a.sa){if(a.Lb.length!=a.bi)gb(a,"ROM size (0x"+p(a.Lb.length)+") does not match specified size (0x"+p(a.bi)+")");else if(Uj(a,a.pk)&&Uj(a,a.Em)){if(a.Vk){var b=Ya(a.Vk,a.id);b&&("ega"==b.Ka&&Vj(b,a.Lb,[8752,12640],8),B(b))}delete a.Lb}B(a)}}
|
||||
function Uj(a,b){if(null==b)return!0;if(ob(a.sa,b,a.bi,!0)){for(var c=0;c<a.Lb.length;c++)tb(a.sa,b+c,a.Lb[c]);return!0}return!1}Ja(function(){for(var a=z(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Rj(d);bb(d,c)}});function Wj(a){y.call(this,"RAM",a,Wj);this.Zg=a.addr;this.Rd=a.size;this.Tm=a.test;this.Rm=!!this.Rd;this.sh=!1}Wa(y,Wj);Wj.prototype.vc=function(a,b,c){this.sa=b;this.T=c;this.oa=ib(a,"ChipSet");B(this)};Wj.prototype.ec=function(a,b){b||this.reset();return!0};
|
||||
Wj.prototype.dc=function(){return!0};Wj.prototype.reset=function(){if(!this.Zg&&!this.Rm&&this.oa){var a=1024*Pi(this.oa);this.Rd&&a!=this.Rd&&(qb(this.sa,this.Zg,this.Rd),this.sh=!1);this.Rd=a}!this.sh&&this.Rd&&ob(this.sa,this.Zg,this.Rd)&&(this.sh=!0,this.status(Math.floor(this.Rd/1024)+"Kb"));if(this.sh){if(this.Tm||ub(this.sa,1138,4660),this.oa&&(a=this.oa,a.ma)){var b=1048576>this.Zg?21:23,c=a.ma[b]|a.ma[b+1]<<8,c=c+(this.Rd>>10);a.ma[b]=c&255;a.ma[b+1]=c>>8;Ti(a)}}else w("No RAM allocated")};
|
||||
Ja(function(){for(var a=z(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Wj(d);bb(d,c)}});function Xj(a){y.call(this,"Keyboard",a,Xj,Yj);this.Mk=za("Mobi");this.cb("mobile keyboard support: "+(this.Mk?"true":"false"));this.Ni=this.Jk=!1;this.Cc=[];this.fo=500;this.ho=100;this.eo=50;B(this)}Wa(y,Xj);
|
||||
var O={Jp:1,Kp:3,Lp:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Gp:65,Hp:66,ik:67,ym:68,E:69,Op:70,Rp:71,jk:72,Tp:73,Up:74,Vp:75,Wp:76,Xp:77,gi:78,Zp:79,$p:80,bq:81,lk:82,fq:83,pq:84,tq:85,uq:86,vq:87,xq:88,yq:89,zq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Aq:97,Bq:98,Dq:99,Eq:100,Fq:101,Gq:102,Hq:103,Iq:104,Jq:105,Kq:106,Lq:107,
|
||||
Mq:108,Nq:109,Oq:110,Qq:111,Rq:112,Sq:113,Tq:114,Uq:115,Vq:116,Wq:117,Xq:118,Yq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},P={};P[O["1"]]=O["!"];P[O["2"]]=O["@"];P[O["3"]]=O["#"];P[O["4"]]=O.$;P[O["5"]]=O["%"];P[O["6"]]=O["^"];P[O["7"]]=O["&"];P[O["8"]]=O["*"];P[O["9"]]=O["("];P[O["0"]]=O[")"];P[O["-"]]=O._;P[O["="]]=O["+"];P[O["["]]=O["{"];P[O["]"]]=O["}"];P[O[";"]]=O[":"];P[O["'"]]=O['"'];P[O["`"]]=O["~"];P[O["\\"]]=O["|"];P[O[","]]=O["<"];P[O["."]]=O[">"];P[O["/"]]=O["?"];var Zj={};
|
||||
Zj[192]=O["`"];
|
||||
var ak={1016:2,1017:8,1018:32,1020:256,1144:512,1145:1024},bk={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},ck={esc:1027,1:O["1"],2:O["2"],3:O["3"],4:O["4"],5:O["5"],6:O["6"],7:O["7"],8:O["8"],9:O["9"],0:O["0"],"-":O["-"],"=":O["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":O["["],"]":O["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,
|
||||
g:71,h:72,j:74,k:75,l:76,";":O[";"],quote:O["'"],"`":O["`"],shift:1016,"\\":O["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":O[","],".":O["."],"/":O["/"],"right-shift":3016,prtsc:1044,alt:1018,space:O[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,
|
||||
"num-ins":1045,"num-del":1046},dk={"caps-lock":256,"num-lock":512,"scroll-lock":1024},S={1027:1};S[O["1"]]=2;S[O["!"]]=10754;S[O["2"]]=3;S[O["@"]]=10755;S[O["3"]]=4;S[O["#"]]=10756;S[O["4"]]=5;S[O.$]=10757;S[O["5"]]=6;S[O["%"]]=10758;S[O["6"]]=7;S[O["^"]]=10759;S[O["7"]]=8;S[O["&"]]=10760;S[O["8"]]=9;S[O["*"]]=10761;S[O["9"]]=10;S[O["("]]=10762;S[O["0"]]=11;S[O[")"]]=10763;S[O["-"]]=12;S[O._]=10764;S[O["="]]=13;S[O["+"]]=10765;S[1008]=14;S[1009]=15;S[113]=16;S[81]=10768;S[119]=17;S[87]=10769;
|
||||
S[101]=18;S[69]=10770;S[114]=19;S[82]=10771;S[116]=20;S[84]=10772;S[121]=21;S[89]=10773;S[117]=22;S[85]=10774;S[105]=23;S[73]=10775;S[111]=24;S[79]=10776;S[112]=25;S[80]=10777;S[O["["]]=26;S[O["{"]]=10778;S[O["]"]]=27;S[O["}"]]=10779;S[13]=28;S[1017]=29;S[97]=30;S[65]=10782;S[115]=31;S[83]=10783;S[100]=32;S[68]=10784;S[102]=33;S[70]=10785;S[103]=34;S[71]=10786;S[104]=35;S[72]=10787;S[106]=36;S[74]=10788;S[107]=37;S[75]=10789;S[108]=38;S[76]=10790;S[O[";"]]=39;S[O[":"]]=10791;S[O["'"]]=40;
|
||||
S[O['"']]=10792;S[O["`"]]=41;S[O["~"]]=10793;S[1016]=42;S[O["\\"]]=43;S[O["|"]]=10795;S[122]=44;S[90]=10796;S[120]=45;S[88]=10797;S[99]=46;S[67]=10798;S[118]=47;S[86]=10799;S[98]=48;S[66]=10800;S[110]=49;S[78]=10801;S[109]=50;S[77]=10802;S[O[","]]=51;S[O["<"]]=10803;S[O["."]]=52;S[O[">"]]=10804;S[O["/"]]=53;S[O["?"]]=10805;S[3016]=54;S[1044]=55;S[1018]=56;S[O[" "]]=57;S[1020]=58;S[1112]=59;S[1113]=60;S[1114]=61;S[1115]=62;S[1116]=63;S[1117]=64;S[1118]=65;S[1119]=66;S[1120]=67;S[1121]=68;S[1144]=69;
|
||||
S[1145]=70;S[1036]=71;S[1038]=72;S[1033]=73;S[1109]=74;S[1037]=75;S[1101]=76;S[1039]=77;S[1107]=78;S[1035]=79;S[1040]=80;S[1034]=81;S[1045]=82;S[1046]=83;S[1122]=87;S[1123]=88;S[4003]=7470;S[4008]=7494;S[4046]=3677523;k=Xj.prototype;
|
||||
k.Hb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.xa[e])switch(b){case "kbd":return this.xa[e]=c,c.onkeydown=function(a){return ek(d,a,!0)},c.onkeypress=function(a){var b=!1,c=!0;a=a||window.event;a=a.which||a.keyCode;var e=d.Cc.length?d.Cc[0].we:0;e&&(65<=e&&90>=e||97<=e&&122>=e)&&(65<=a&&90>=a||97<=a&&122>=a)&&e!=a&&(d.Ni=!0,a=e);8==a||9==a?c=!1:d.hb&64?d.hb&=-65:d.hb&40?c=!1:(d.Jk&&a==O["`"]&&(a=27),c=!1,b=!0);b&&fk(d,a,!0);return c},c.onkeyup=function(a){return ek(d,a,!1)},!0;case "caps-lock":return this.xa[e]=
|
||||
c,c.onclick=function(){d.T&&d.T.Yc();gk(d,1020);fk(d,1020,!0)},!0;case "num-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();gk(d,1144);fk(d,1144,!0)},!0;case "scroll-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Yc();gk(d,1145);fk(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==bk[f]&&"button"==a)return this.xa[e]=c,c.onclick=function(a,b,c){return function(){a.T&&a.T.Yc();gk(a,c);fk(a,c,!0)}}(this,f,bk[f]),!0;if(void 0!==ck[b])return this.xa[e]=c,
|
||||
a=function(a,b,c){return function(){fk(a,c)}}(this,b,ck[b]),b=function(a,b,c){return function(){hk(a,c)}}(this,b,ck[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function ik(a,b,c){for(var d in ck){var e;(e=ck[d]==b)||(e=b,97<=e&&122>=e&&(e-=32),e=ck[d]==e);if(e){(a=a.xa["key-"+d])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
|
||||
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=ib(a,"ChipSet")};function Lj(a,b){a.cb("keyboard reset",Yj|N);a.Wb=[170];b&&a.oa&&Nj(a.oa,a.Wb[0])}function Gj(a,b,c){a.Hi!==c&&(a.Hi=a.Li=c);a.vh!==b&&(a.vh=b)&&!a.Li&&Oj(a,!0);a.vh&&a.Li&&(Lj(a,!0),a.Li=!1)}function Ij(a){var b=0;a.Wb.length&&(b=a.Wb[0],a.oa&&Nj(a.oa,b));a.ua()&&a.cb("scan code 0x"+q(b)+" available")}
|
||||
function Oj(a,b){0<a.Wb.length&&(a.Wb.shift(),b&&(a.Wb.length&&a.oa?Nj(a.oa,a.Wb[0]):b=!1),a.ua()&&a.cb("scan codes shifted, notify "+(b?"true":"false")))}k.ec=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.me();this.hb=0;this.Wb=[]};k.save=function(){var a=new sd(this);a.set(0,this.dk());return a.data()};k.restore=function(a){return this.me(a[0])};
|
||||
k.me=function(a){var b=0;void 0===a&&(a=[]);this.Hi=a[b++];this.vh=a[b];return!0};k.dk=function(){var a=0,b=[];b[a++]=this.Hi;b[a]=this.vh;return b};function gk(a,b,c){if(S[b]){var d=Math.floor(b/1E3)&2;if(b=ak[b]||0){d&&(b>>=1);void 0===c&&(c=!(a.hb&b));a.hb&=~b;c&&(a.hb|=b);c=b;var e,f;for(f in dk)d="led-"+f,b=dk[f],c&&c!=b||!(e=a.xa[d])||(e.style.backgroundColor=a.hb&b?"#00ff00":"#000000");return!0}}return!1}
|
||||
function fk(a,b,c){if(S[b]&&a.T&&a.T.na.mb){for(var d,e=0;e<a.Cc.length;e++)if(d=a.Cc[e],d.we==b){if(!c||0<=d.Hf){e=-1;break}0<e&&(a.Cc[0].Hf=0,a.Cc.splice(e,1));break}0>e||(e==a.Cc.length&&(d={},d.we=b,d.hb=a.hb,ik(a,b,!0),e++),0<e&&a.Cc.splice(0,0,d),d.wh=!0,d.Hf=c?-1:ak[b]?0:1,jk(a,d))}}
|
||||
function hk(a,b,c){if(S[b]&&(c||a.T&&a.T.na.mb)){for(var d=0;d<a.Cc.length;d++){var e=a.Cc[d];if(e.we==b||e.we==P[b]){a.Cc[0].Hf=0;a.Cc.splice(d,1);e.tm&&clearTimeout(e.tm);e.wh&&!c&&kk(a,e.we,!1);ik(a,b,!1);break}}!a.Cc.length&&a.Ni&&(gk(a,1020),a.Ni=!1)}}function jk(a,b){if(a.T&&a.T.na.mb){if(kk(a,b.we,b.wh),b.Hf){var c;if(0>b.Hf){if(!b.wh){hk(a,b.we);return}b.wh=!1;c=a.eo}else c=1==b.Hf++?a.fo:a.ho;b.tm=setTimeout(function(a){return function(){jk(a,b)}}(a),c)}}else hk(a,b.we,!0)}
|
||||
function ek(a,b,c){var d=!0,e=!1,f=!c,g,h=b.keyCode,n=h;if(65<=h&&90>=h)a.hb&259||(n=h+32);else if(a.hb&3){if(g=P[h])n=g}else if(g=Zj[h])n=g;if(S[h+1E3])if(n+=1E3,2==b.location&&(n+=2E3),gk(a,n,c)){if(20==h||144==h||145==h)c=e=!0;f=!1}else{if(8==h||9==h||27==h)8==h&&8==(a.hb&40)&&(n=4008),d=!1}else 91==h&&(a.hb&=-65,c&&(a.hb|=64),f=!1);f&&(a.hb&=-65);a.Mk&&d||(c?fk(a,n,e):hk(a,n));return d}
|
||||
function kk(a,b,c){var d=S[b]||S[b+1E3];if(void 0!==d){14==d&&40==(a.hb&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.hb&3||a.hb&256&&b||(g=h):29==h?a.hb&12||(g=h):56==h?a.hb&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Wb&&(20>d.Wb.length?(d.ua()&&d.cb("scan code 0x"+q(f)+" buffered"),d.Wb.push(f),1==d.Wb.length&&d.oa&&Nj(d.oa,f)):(20==
|
||||
d.Wb.length&&d.Wb.push(255),d.cb("scan code buffer overflow")))}}Ja(function(){for(var a=z(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Xj(d);bb(d,c)}});
|
||||
function T(a,b,c,d){y.call(this,"Video",a,T,lk);this.Ka=a.model;this.cd=0;"ega"==this.Ka&&(this.om=a.switches,this.cd=a.memory||0);this.ud=a.mode;if(void 0===this.ud||void 0===mk[this.ud])this.ud=nk;this.Lh=a.charCols;this.cj=a.charRows;if(void 0===this.Lh||void 0===this.cj)this.Lh=mk[this.ud][0],this.cj=mk[this.ud][1];this.Ed=a.screenWidth;this.ie=a.screenHeight;this.Sm=a.scale;this.Qm=12<=Math.round(this.Ed/this.Lh);this.Um=a.touchScreen;this.dg=b;this.dd=c;this.Na=(this.Bp=d)||b||null;this.oe=
|
||||
null;this.Pm=a.autoLock;this.Wa=this.Ub=0;this.Xd=[];this.zd=Array(16);this.Ii=!1;var e=this;this.Na&&(this.Na.onfocus=function(){e.Ii=!0},this.Na.onblur=function(){e.Ii=!1},this.Na.xf=this.Na.requestPointerLock||this.Na.mozRequestPointerLock||this.Na.webkitRequestPointerLock,this.Na.um=this.Na.exitPointerLock||this.Na.mozExitPointerLock||this.Na.webkitExitPointerLock,b=function(){e.Eg(document.pointerLockElement===e.Na||document.mozPointerLockElement===e.Na||document.webkitPointerLockElement===e.Na)},
|
||||
"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ga(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.po)}Wa(y,T);
|
||||
var ok={2:{fj:15700,ej:208,Tj:85,Uj:96},3:{fj:18432,ej:364,Tj:85,Uj:96},4:{fj:21850,ej:364,Tj:85,Uj:96}},pk={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},nk=7,mk=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];mk[nk]=[80,25,1,0,1];mk[13]=[320,200,16];mk[14]=[640,200,16];mk[15]=[640,350,16];mk[16]=[640,350,16];mk[0]=mk[1];mk[2]=mk[3];mk[5]=mk[4];var qk=Array(5);qk[0]=[0,0,0,255];
|
||||
qk[1]=[127,192,127,255];qk[2]=[127,192,127,255];qk[3]=[127,255,127,255];qk[4]=[127,255,127,255];var rk=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],V=Array(16);V[0]=[0,0,0,255];V[1]=[0,0,170,255];V[2]=[0,170,0,255];V[3]=[0,170,170,255];V[4]=[170,0,0,255];V[5]=[170,0,170,255];V[6]=[170,85,0,255];V[7]=[170,170,170,255];V[8]=[85,85,85,255];V[9]=[85,85,255,255];V[10]=[85,255,85,255];V[11]=[85,255,255,255];V[12]=[255,85,85,255];V[13]=[255,85,255,255];V[14]=[255,255,85,255];V[15]=[255,255,255,255];
|
||||
var sk=[2,4,6],tk=[3,5,7],uk=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],vk=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],wk=[0];wk[128]=1;wk[32768]=2;wk[32896]=3;wk[8388608]=4;wk[8388736]=5;wk[8421376]=6;wk[8421504]=7;wk[2147483648]=8;wk[2147483776]=9;wk[2147516416]=10;wk[2147516544]=11;wk[2155872256]=12;wk[2155872384]=13;wk[2155905024]=14;wk[2155905152]=15;
|
||||
function xk(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=yk[b],f=a.pe||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(zk)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.le=b;this.Wa=e[2];this.Ub=e[3];this.cd=d||e[4];65536<=this.cd&&720896<=this.Wa&&(this.Ub=Math.min(this.cd>>2,32768));this.ed=c[0];this.Lc=c[1];this.mf=c[2];this.Mf=c[3];this.uc=c[4]&255;this.Eh=c[4]>>8&255;this.kc=c[5];this.Wi=zk;this.$g=Ak;if(5==b){this.Wi=Bk;this.$g=Ck;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
|
||||
0,0,0,Array(9),0,[this.Wa,this.Ub,this.cd],Array(this.cd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.qd=b[0];this.Id=b[1];this.Ud=b[2];this.mi=Dk;this.di=b[3];this.og=b[4];this.Dh=b[5];this.Kd=b[6];this.Tf=b[7];this.oi=Ek;this.Ri=b[8];this.Si=b[9];this.Jd=b[10];this.Ae=b[11];this.ni=Fk;this.Jb=b[12];d=b[13];"number"==typeof d&&(d=[this.Wa,this.Ub,d]);this.Wa=d[0];this.Ub=d[1];d=this.cd>>2;if((this.md=b[14])&&this.md.length<d){for(var e=this.md,g=0,h=Array(d),n=0;n<e.length-1;){for(var m=
|
||||
e[n++],t=e[n++];m--;)h[g]=t,g+=2;g==d&&(g=1)}this.md=h}this.ai(b[15]);this.Qj=b[16];this.sb=b[17];this.td=b[18];this.Ab=b[19];this.Qh=b[20];this.se=b[21];this.We=b[22];this.Yi=b[23];this.Zi=b[24]}f=ok[f]||ok[3];this.$i=a.T.da.sd/f.fj|0;this.ko=this.$i*f.Tj/100|0;this.cl=this.$i*f.ej;this.mo=this.cl*f.Uj/100|0;this.gj=null==c[7]?0:c[7]}}
|
||||
var zk=18,Bk=25,Ak="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),Ck="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
|
||||
Dk="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),Ek=["RESET","CLK","MAPMASK","CHARMAP","MODE"],Fk="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function Gk(a){return this.yc(a)|this.yc(a+1)<<8}function Mk(a,b){this.Mc(a,b&255);this.Mc(a+1,b>>8&255)}
|
||||
var Nk=[,,function(a){a+=this.offset;return(this.ga.Jb=this.ya[a])>>this.ga.Qj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];Nk[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.Yi&this.ga.Zi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Nk[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.sb|(b|b<<8|b<<16|b<<24)&this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Nk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Nk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d&=this.ga.Jb;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Nk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d|=this.ga.Jb;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Nk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.td|b<<8-this.ga.td&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.se|this.ga.We;d^=this.ga.Jb;d=d&this.ga.sb|this.ya[c]&~this.ga.sb;d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Nk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.sb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ya[d]&~c;c=c&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[d]!=c&&(this.ya[d]=c,this.xb=!0)};
|
||||
Nk[4096]=function(a){a+=this.offset;var b=this.ya[a]&~this.ga.sb|this.ga.Jb&this.ga.sb;this.ya[a]!=b&&(this.ya[a]=b,this.xb=!0)};Nk[8192]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Nk[24576]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d&this.ga.Jb,d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
Nk[40960]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d|this.ga.Jb,d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};Nk[57344]=function(a,b){var c=a+this.offset,d=vk[b&15],d=d^this.ga.Jb,d=d&this.ga.sb|this.ya[c]&~this.ga.sb,d=d&this.ga.Ab|this.ga.Jb&~this.ga.Ab;this.ya[c]!=d&&(this.ya[c]=d,this.xb=!0)};
|
||||
function Ok(a){var b=[];if(void 0!==a.le){b[0]=a.ed;b[1]=a.Lc;b[2]=a.mf;b[3]=a.Mf;b[4]=a.uc|a.Eh<<8;b[5]=a.kc;if(5==a.le){var c=[];c[0]=a.qd;c[1]=a.Id;c[2]=a.Ud;c[3]=a.di;c[4]=a.og;c[5]=a.Dh;c[6]=a.Kd;c[7]=a.Tf;c[8]=a.Ri;c[9]=a.Si;c[10]=a.Jd;c[11]=a.Ae;c[12]=a.Jb;c[13]=[a.Wa,a.Ub,a.cd];var d;a:if(d=a.md){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 n=d[h],m=h+2;m<d.length&&d[m]===n;)m+=2;f[e++]=m-h>>1;f[e++]=n;h=m}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
|
||||
a.Jh;c[16]=a.Qj;c[17]=a.sb;c[18]=a.td;c[19]=a.Ab;c[20]=a.Qh;c[21]=a.se;c[22]=a.We;c[23]=a.Yi;c[24]=a.Zi;b[6]=c}b[7]=a.gj}return b}function Pk(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 n=e[g],f=f+(b+"["+q(g)+"]: "+(n+" ".substr(0,h-n.length))+q(d[g])+(g===c?"*":""))}a.ka.Z(f)}else a.ka.Z(b+": "+q(c))}
|
||||
xk.prototype.ai=function(a){if(null!=a&&a!=this.Jh){var b=a&255,c=Nk[b];c||b&1&&(c=Nk[1]);var b=a&65280,d=Nk[b];d||b&256&&(d=Nk[256]);this.Yf||(this.Yf=[null,Gk,null,Mk]);this.Yf[0]=c;this.Yf[2]=d;this.Jh=a}};var yk=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=T.prototype;
|
||||
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;xb(b,this,Qk);Bb(b,this,Rk);"ega"==this.Ka&&(xb(b,this,Sk),Bb(b,this,Tk));if(d){var e=this;Fi(d,lk,function(a){if(e.Ja)if(a){var b=e.Ja;if(b.md){a=da(a);a=void 0!==a?a-b.Wa:b.pp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Wa+a)+":",r=0;8>r&&a<b.md.length;r++)var u=b.md[a++],f=f+(" "+p(u));c&&(c+="\n");c+=f}c&&b.ka.Z(c);b.pp=a}else b.ka.Z("no buffer")}else{e.ka.Z("BIOSMODE: "+q(e.Pd));b=e.Ja;Pk(b,"CRTC",b.uc,b.kc,b.$g);if(1==b.le||3==b.le)Pk(b,
|
||||
" MODEREG",b.Lc),Pk(b," STATUS1",b.Mf);3==b.le&&Pk(b," COLOR",b.mf);5==b.le&&(b.ka.Z(" ATCDATA: "+b.qd),Pk(b," ATC",b.Id,b.Ud,b.mi),Pk(b," GRC",b.Jd,b.Ae,b.ni),Pk(b," SEQ",b.Kd,b.Tf,b.oi),Pk(b," FEAT",b.Dh),Pk(b," MISC",b.og),Pk(b," STATUS0",b.di),Pk(b," LATCHES",b.Jb),b.ka.Z(" ACCESS: "+s(b.Jh)),b.ka.Z("Use 'dump video buffer' to dump video memory"))}else e.ka.Z("no active video card")})}if((this.Sa=ib(a,"Keyboard"))&&this.dg){for(var f in this.xa)0<f.indexOf("lock")&&this.Sa.Hb("led",f,
|
||||
this.xa[f]);this.Sa.Hb(this.Bp?"textarea":"canvas","kbd",this.Na)}this.bh=9;(this.oa=ib(a,"ChipSet"))&&this.om&&(this.bh=si(this.om,this.bh));this.Sa&&this.Um&&Uk(this)};k.Hb=function(a,b,c){var d=this;if(!this.xa[b])switch(this.xa[b]=c,b){case "lockPointer":return this.wp=c.textContent,this.Na&&this.Na.xf?c.onclick=function(){d.xf(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){Pb(d,!0)},!0}return!1};k.Yc=function(){this.Na&&this.Na.focus()};
|
||||
k.xf=function(a){if(this.Na)if(a){if(this.Na.xf)return this.Na.xf(),this.oe.Eg(!0),!0}else if(this.Na.um)return this.Na.um(),this.oe.Eg(!1),!0;return!1};k.Eg=function(a){this.oe&&(this.oe.Eg(a),this.Sa&&(this.Sa.Jk=a));var b=this.xa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.wp)};
|
||||
function Uk(a){var b=a.Na;b&&!a.Gi&&(b.addEventListener("touchstart",function(b){Vk(a,b)},!1),b.addEventListener("touchmove",function(b){Vk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Gi=!0)}
|
||||
function Vk(a,b){a.Ii&&b.preventDefault();var c=0,d=0,e=a.dg;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.Ed/a.dg.offsetWidth,e=a.ie/a.dg.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.Ed/3)|0;d=(h-d)*e/(a.ie/3)|0;1!=d?d?fk(a.Sa,1040,!0):fk(a.Sa,1038,!0):1!=c&&(c?fk(a.Sa,1039,!0):fk(a.Sa,1037,!0))}
|
||||
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};
|
||||
k.reset=function(){var a=!0,b=0;this.pa&&(b=Qi(this.pa));var c=!1;if(this.Ka)switch(this.Ka){case "ega":var c=!0,d=ok[this.bh];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.qe!==b&&(this.qe=b,a=!0);this.Ja=null;this.bd=this.vi=new wk(this,1);this.Nb=this.oh=new wk(this,3);c?(this.oa=new wk(this,5,null,this.cd),Vk(this)):this.oa=new wk;Wk(this);this.Rd=null;this.xd=3==b?mk:3;this.Ke=this.Sc=-1;this.Je=0;Xk(this,this.xd);if(this.Ja.Xa&&a){a=this.Ja.Xa+this.wi;for(b=this.Ja.Xa;b<a;b+=
|
||||
2)d=Math.floor(65536*Math.random()),4==this.qe?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),ub(this.sa,b,c|d<<8);Pb(this,!0)}};function Vk(a){a.oa.og&1?(a.bd=a.vi,a.Nb=a.oa):(a.bd=a.oa,a.Nb=a.oh)}k.save=function(){var a=new sd(this);a.set(0,Nk(this.vi));a.set(1,Nk(this.oh));a.set(2,[this.qe,this.xd,this.Rd]);a.set(3,Nk(this.oa));return a.data()};
|
||||
k.restore=function(a){var b=a[2];this.qe=b[0];this.xd=b[1];this.Rd=b[2];this.Ja=null;this.bd=this.vi=new wk(this,1,a[0]);this.Nb=this.oh=new wk(this,3,a[1]);this.oa=new wk(this,5,a[3],this.cd);this.oa.ed&&Vk(this);Wk(this);if(!Yk(this))return!1;Zk(this);return!0};
|
||||
k.no=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){x("Empty font ROM image: "+a);return}if(1==d.length){x(d[0]);return}if(8192==d.length)Uj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}this.Wa()}};
|
||||
function $k(a,b){if(1==b)return a.Cd[0]=V[0],a.Cd[1]=V[7],a.Cd;if(2==b){var c=a.Ja.nf;if(a.Ja===a.oa){var d=a.oa.Wd[0],c=d&7;d&16&&(c|=8);18!=a.oa.Wd[1]&&(c|=32)}a.Cd[0]=V[c&15];c=c&32?sk:rk;for(d=0;d<c.length;d++)a.Cd[d+1]=V[c[d]];return a.Cd}if(a.Nb===a.oh)return V;c=null!=a.oa.Wd[15]?a.oa.Wd:tk;for(d=0;d<a.Cd.length;d++){var e=c[d]||0;a.Cd[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.Cd}function Uj(a,b,c,d){a.Xg=b;a.ii=c;a.Oe=d}
|
||||
function Wk(a){var b=!1;if(window&&a.Xg){var c=a.Oe?0:2048,d=a.Oe?a.Oe:9;al(a,1,a.ii[0],c,d,14,a.Xg,pk,qk)&&(b=!0);c=$k(a);d=a.Oe?a.Oe:8;al(a,3,a.ii[1],0,d,8,a.Xg,c)&&(b=!0);a.Oe&&al(a,5,a.ii[0],0,a.Oe,14,a.Xg,c)&&(b=!0)}return b}function al(a,b,c,d,e,f,g,h,n){var m=!1;bl(a,b,c,d,e,f,g,h,n)&&(m=!0);a.Pm&&bl(a,b<<1,c,d,e,f,g,h,n)&&(m=!0);return m}
|
||||
function bl(a,b,c,d,e,f,g,h,n){var m=!1,s=b&1?0:1,r=a.Zd[b];r||(r={rc:e<<s,sc:f<<s,hf:Array(h.length),nk:h.slice(),Sf:n,gi:Array(h.length)});for(n=0;n<h.length;n++){var t=h[n],w=r.hf[n]?r.nk[n]:[];if(t[0]!==w[0]||t[1]!==w[1]||t[2]!==w[2]){var m=r,w=n,u=s,C=c,R=d,O=e,ya=f,Fa=g,Za=[0,0,0,0],Tb=window.document.createElement("canvas");Tb.width=m.rc<<4;Tb.height=m.sc<<4;for(var Hc=Tb.getContext("2d"),E=void 0,S=void 0,K=void 0,na=8>ya||!R?ya:8,za=Hc.createImageData(m.rc,m.sc),E=0;256>E;E++){for(K=0;K<
|
||||
ya;K++)for(var ia=m.Sf&&w&1&&K>=ya-2,aa=Fa[K<na?C+E*na+K:R+E*na+K-na],X=0;X<=u;X++)for(S=0;S<O;S++){var Ic=S<<u,nc=(K<<u)+X,Jc=ia||aa&128>>(8<=S&&176<=E&&223>=E?7:S)?t:Za;cl(za,Ic,nc,Jc);u&&cl(za,Ic+1,nc,Jc)}Hc.putImageData(za,(E&15)*m.rc,(E>>4)*m.sc)}m.hf[w]="#"+q(t[0])+q(t[1])+q(t[2]);m.nk[w]=t;m.gi[w]=Tb;m=!0}}a.Zd[b]=r;return m}function dl(a){0<a.Je||0<=a.Sc?0>a.Ke&&(a.Ke=0):a.Ke=-1}
|
||||
function Zk(a){if(a.$b){for(var b=10;15>=b;b++)if(null==a.Ja.kc[b])return;var c=a.Ja.kc[10],b=c&31,d=a.Ja.kc[11]&31,e=a.Ja.kc[9]&31,f=!1;a.Ja===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)el(a);else{c=a.Ja.kc[15]+((a.Ja.kc[14]&63)<<8);a.Sc!=c&&(el(a),a.Sc=c);d=d-b+1;if(a.wm!=b||a.Ck!=d)a.wm=b,a.Ck=d;a.je=e+1;dl(a)}}}
|
||||
function el(a){if(0<=a.Sc){if(void 0!==a.lc){var b=a.lc[a.Sc];if(b&131072){var b=b&-131073,c=a.Sc%a.Ob,d=Math.floor(a.Sc/a.Ob);a.$b&&a.Zd[a.$b]&&(a.of&&fl(a,c,d,b,a.of),fl(a,c,d,b));a.lc[a.Sc]=b}}a.Sc=-1}}
|
||||
function gl(a){var b;a=a.Ja;var c=a.Ae[5];if(null!=c){b=2;var d=512,e=a.Ae[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.wd=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.bf=function(a){var b=this.Ja;null!=a&&b&&a!=b.Ih&&(b.$h(a),this.sa.$h(b.Xa,b.Vb,b.Yf))};
|
||||
function Yk(a,b){var c,d=a.Rd,e=a.Ja;if(e)if(1==e.ne)d=mk;else if(5==e.ne){var d=null,f=e.cd>>2,g=32768<f?32768:f,h=e.Ae[6];if(null!=h){switch(h&12){case 0:e.Xa=655360;e.Vb=f;d=255;break;case 4:e.Xa=655360;e.Vb=f;d=3==a.qe?15:16;break;case 8:e.Xa=720896;e.Vb=g;d=mk;break;case 12:e.Xa=753664,e.Vb=g,d=3==a.qe?2:3}c=e.Tf[1]&8;f=e.kc[6]|(e.kc[7]&1)<<8;255!=d&&(h&1?753664==e.Xa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=gl(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||(d-=1)):(d=e.Lc&1?3:1,e.Lc&4&&(d-=
|
||||
1)));else a.Rd=null,null==d&&(d=a.xd);if(!Xk(a,d,b))return!1;a.bf(c);return!0}
|
||||
function Xk(a,b,c){if(null!=b&&(b!=a.Rd||c)){a.Fm=0;a.Rd=b;b=a.Ja||(b==mk?a.bd:a.Nb);if(b!=a.Ja||b.Xa!=a.Xa||b.Vb!=a.Vb){el(a);if(a.Xa){if(!qb(a.sa,a.Xa,a.Vb))return!1;a.Ja&&(a.Ja.ed=!1)}a.Ja=b;b.ed=!0;a.Xa=b.Xa;a.Vb=b.Vb;if(!ob(a.sa,b.Xa,b.Vb,!1,b===a.oa?b:null))return!1}a.$b=0;a.Ob=a.Kh;a.xc=a.bj;a.Wi=lk[mk][2];b=0;var d=lk[a.Rd];d&&(a.Ob=d[0],a.xc=d[1],a.Wi=d[2],b=d[3]||0,a.$b=d[4],4==a.qe&&a.Ja===a.oa&&3==a.$b&&(7==a.oa.kc[9]?a.xc=43:a.$b=5));a.Zk=a.Ob*a.xc;a.Jh=a.Zk/a.Wi;a.wi=(a.Jh<<1)+b;a.zk=
|
||||
b?a.wi+b>>1:0;13<=a.Rd&&(a.Jh<<=1);a.Zd.length&&(a.Hd=Math.floor(a.Gd/a.Ob),a.Id=Math.floor(a.ke/a.xc),a.$b?(b=a.Zd[a.$b],d=a.Zd[a.$b<<1],a.Rm&&80==a.Ob?d&&a.Hd>=3*d.rc>>2&&(a.$b<<=1,b=d):(d&&a.Hd>=d.rc&&(a.$b<<=1,b=d),b&&(a.Hd=b.rc,a.Id=b.sc)),a.hg=a.ig=0,b&&(a.hg=a.Ob*b.rc,a.ig=a.xc*b.sc)):(a.Hd=a.Id=1,a.hg=a.Ob,a.ig=a.xc),a.Fh=a.dd.createImageData(a.hg,a.ig),a.lf=window.document.createElement("canvas"),a.lf.width=a.hg,a.lf.height=a.ig,a.of=a.lf.getContext("2d"),a.fk=a.gk=0,a.yi=a.Gd,a.zi=a.ke,
|
||||
b=a.Gd-a.Ob*a.Hd,d=a.ke-a.xc*a.Id,0<b&&(a.fk=b>>1,a.yi-=b),0<d&&(a.gk=d>>1,a.zi-=d),b||d)&&(a.dd.fillStyle=a.dg.style.backgroundColor,a.dd.fillRect(0,0,a.Gd,a.ke));!1!==c?Pb(a,!0):hl(a,!0)}return!0}function cl(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function hl(a,b){var c;if(b){if(c=a.Jh,void 0===a.lc||a.lc.length!=c)a.lc=Array(c)}else{if(void 0===a.lc)return;c=a.lc.length}for(var d=0;d<c;d++)a.lc[d]=-1;a.Je=-1}
|
||||
function fl(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Zd[a.$b];h.Sf&&(d=h.Sf[d]);var n=g>>4&15;h.Sf&&(n=h.Sf[n]);e?(b*=h.rc,c*=h.sc,e.fillStyle=h.hf[n],e.fillRect(b,c,h.rc,h.sc)):(b=b*a.Hd+a.fk,c=c*a.Id+a.gk,a.dd.fillStyle=h.hf[n],a.dd.fillRect(b,c,a.Hd,a.Id));g&256&&(n=(f&15)*h.rc,f=(f>>4)*h.sc,e?e.drawImage(h.gi[d],n,f,h.rc,h.sc,b,c,h.rc,h.sc):a.dd.drawImage(h.gi[d],n,f,h.rc,h.sc,b,c,a.Hd,a.Id));g&512&&(f=a.wm,g=a.Ck,e?(a.je&&a.je!==h.sc&&(f=Math.floor(f*h.sc/a.je),g=Math.floor(g*h.sc/a.je)),
|
||||
e.fillStyle=h.hf[d],e.fillRect(b,c+f,h.rc,g)):(a.je&&a.je!==a.Id&&(f=Math.floor(f*a.Id/a.je),g=Math.floor(g*a.Id/a.je)),a.dd.fillStyle=h.hf[d],a.dd.fillRect(b,c+f,a.Hd,g)))}
|
||||
function Pb(a,b){if(a.na.Tb){var c=!1;a.Ja&&(a.Ja===a.oa?a.oa.Kd&32&&(c=!0):a.Ja.Lc&8&&(c=!0));if(c||b){if(b)hl(a,!0);else if(void 0===a.lc)return;var d=!1;!(b||++a.Fm&15)&&0<=a.Ke&&(a.Ke++,d=!0);var e=0,f=a.Zk,c=a.Ja.Xa,g=c+a.Ja.Vb,h=(a.Ja.kc[12]<<8)+a.Ja.kc[13];a.$b&&(h<<=1);var c=c+h,n=a.wi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,m=!0,s=c>>h.Eb;0<n&&s<h.Ha.length;)h.Ha[s].xb&&(h.Ha[s].xb=m=!1,h.Ha[s].Gk=!0),n-=h.mc,s++;h=m}if(h){if(!d)return;if(!a.Je){if(0>a.Sc)return;e=a.Sc;f=
|
||||
e+1}}if(a.$b){if(a.Zd[a.$b]){d=0;h=a.Je=0;n=1048575;a.Ja.Lc&32&&(h=32768,n&=~h,a.Ke&2||(n&=-65537));for(c+=e<<1;c<g&&e<f;)m=sb(a.sa,c),m|=65536,m&h&&(a.Je++,m&=n),e==a.Sc&&(m|=a.Ke&1?131072:0),s=a.lc[e],s!=m&&(fl(a,e%a.Ob,Math.floor(e/a.Ob),m,a.of),a.lc[e]=m,d++),c+=2,e++;d&&a.of&&a.dd.drawImage(a.lf,0,0,a.hg,a.ig,a.fk,a.gk,a.yi,a.zi);dl(a)}}else if(a.zk){for(var f=g,r,t,e=c,g=a.Je=0,d=a.Wi,h=16==d?65536:196608,n=16==d?1:2,m=$k(a,n),w=s=0,u=a.Ob,C=0,R=a.xc,O=0;e<f;){r=sb(a.sa,e);t=a.lc[g];if(t===
|
||||
r)s+=d;else{a.lc[g]=r;r=r>>8|(r&255)<<8;t=h;var ya=16;s<u&&(u=s);for(var Fa=0;Fa<d;Fa++){var Za=(r&(t>>=n))>>(ya-=n);cl(a.Fh,s++,w,m[Za])}s>C&&(C=s);w<R&&(R=w);w>=O&&(O=w+1)}e+=2;g++;if(s>=a.Ob){s=0;w+=2;if(w>a.xc)break;w==a.xc&&(w=1,e=c+a.zk)}}u<a.Ob&&(a.of.putImageData(a.Fh,0,0,u,R,C-u,O-R),a.dd.drawImage(a.lf,0,0,a.Ob,a.xc,0,0,a.Gd,a.ke))}else{f=g;e=a.Je=0;g=$k(a);d=a.Ja.nd;n=h=0;m=a.Ob;s=0;w=a.xc;for(u=0;c<f;){C=c++-a.Xa;C=d[C];R=a.lc[e];if(R===C)h+=8;else{a.lc[e]=C;h<m&&(m=h);for(R=0;8>R;R++)O=
|
||||
C&2155905152,0>O&&(O+=4294967296),O=vk[O]||0,cl(a.Fh,h++,n,g[O]),C<<=1;h>s&&(s=h);n<w&&(w=n);n>=u&&(u=n+1)}e++;if(h>=a.Ob&&(h=0,++n>a.xc))break}m<a.Ob&&(a.of.putImageData(a.Fh,0,0,m,w,s-m,u-w),a.dd.drawImage(a.lf,0,0,a.Ob,a.xc,0,0,a.Gd,a.ke))}}}}k.Fn=function(a,b){return il(this,this.bd,b)};k.Wo=function(a,b,c){a=this.bd;a.Dh=a.uc;a.uc=b&31;B(this,a.port,b,c,"CRTC.INDX")};k.En=function(a,b){return jl(this,this.bd,b)};k.Vo=function(a,b,c){kl(this,this.bd,b,c)};
|
||||
k.Gn=function(a,b){return ll(this,this.bd,b)};k.Xo=function(a,b,c){a=this.bd;B(this,a.port+4,b,c,"MODE");a.Lc=b;Yk(this,!1)};k.Hn=function(a,b){return ml(this,this.bd,b)};k.fm=function(a,b,c){this.oa.Ch=this.oa.Ch&-4|b&3;B(this,a,b,c,"FEAT")};k.Vk=function(a,b){var c=this.oa.sd?this.oa.Wd[this.oa.Kd&31]:this.oa.Kd;this.va()&&B(this,960,null,b,"ATC."+(this.oa.sd?this.oa.mi[this.oa.Kd&31]:"INDX"),c);this.oa.sd=!this.oa.sd;return c};
|
||||
k.em=function(a,b,c){var d=this.oa.Kd&32;if(this.oa.sd){var e=this.oa.Kd&31;if(16<=e||!d)this.va()&&B(this,a,b,c,"ATC."+this.oa.mi[e]),this.oa.Wd[e]=b;this.oa.sd=!1}else this.oa.Kd=b,B(this,a,b,c,"ATC.INDX"),this.oa.sd=!0,b&32&&!d&&Wk(this)&&Pb(this,!0)};k.Rn=function(a,b){var c=3-((this.oa.og&12)>>2),c=this.oa.ci&-17|(this.bh&1<<c)<<4-c;this.oa.ci=c;B(this,962,null,b,"STATUS0",c);return c};k.Zo=function(a,b,c){this.oa.og=b;Vk(this);B(this,962,b,c,"MISC")};
|
||||
k.Qn=function(a,b){var c=this.oa.Md;B(this,964,null,b,"SEQ.INDX",c);return c};k.fp=function(a,b,c){this.oa.Md=b;B(this,964,b,c,"SEQ.INDX")};k.Pn=function(a,b){var c=this.oa.Tf[this.oa.Md];this.va()&&B(this,965,null,b,"SEQ"+this.oa.oi[this.oa.Md],c);return c};k.ep=function(a,b,c){this.va()&&B(this,965,b,c,"SEQ."+this.oa.oi[this.oa.Md]);this.oa.Tf[this.oa.Md]=b;2==this.oa.Md&&(this.oa.rb=uk[b&15])};k.xn=function(a,b){var c=this.oa.Qi;B(this,972,null,b,"GRC1",c);return c};
|
||||
k.Qo=function(a,b,c){this.oa.Qi=b;B(this,972,b,c,"GRC1")};k.yn=function(a,b){var c=this.oa.Ri;B(this,970,null,b,"GRC2",c);return c};k.Ro=function(a,b,c){this.oa.Ri=b;B(this,970,b,c,"GRC2")};k.wn=function(a,b){var c=this.oa.Ld;B(this,974,null,b,"GRC.INDX",c);return c};k.Po=function(a,b,c){this.oa.Ld=b;B(this,974,b,c,"GRC.INDX")};k.vn=function(a,b){var c=this.oa.Ae[this.oa.Ld];this.va()&&B(this,975,null,b,"GRC."+this.oa.ni[this.oa.Ld],c);return c};
|
||||
k.Oo=function(a,b,c){this.va()&&B(this,975,b,c,"GRC."+this.oa.ni[this.oa.Ld]);this.oa.Ae[this.oa.Ld]=b;switch(this.oa.Ld){case 0:this.oa.Ph=uk[b&15];this.oa.We=this.oa.Ph&~this.oa.te;break;case 1:this.oa.te=~uk[b&15];this.oa.We=this.oa.Ph&~this.oa.te;break;case 2:this.oa.Xi=uk[b&15]&2155905152;break;case 3:case 5:this.bf(gl(this));break;case 4:this.oa.Pj=(b&3)<<3;break;case 6:Yk(this,!1);break;case 7:this.oa.Yi=uk[b&15^15]&2155905152;break;case 8:this.oa.Ab=b|b<<8|b<<16|b<<24}};
|
||||
k.nn=function(a,b){return il(this,this.Nb,b)};k.Fo=function(a,b,c){a=this.Nb;a.Dh=a.uc;a.uc=b&31;B(this,a.port,b,c,"CRTC.INDX")};k.mn=function(a,b){return jl(this,this.Nb,b)};k.Eo=function(a,b,c){kl(this,this.Nb,b,c)};k.on=function(a,b){return ll(this,this.Nb,b)};k.Go=function(a,b,c){a=this.Nb;B(this,a.port+4,b,c,"MODE");a.Lc=b;Yk(this,!1)};k.ln=function(a,b){var c=this.Nb.nf;this.va()&&B(this,this.Nb.port+5,null,b,this.Nb.type+".COLOR",c);return c};
|
||||
k.Do=function(a,b,c){this.va()&&B(this,this.Nb.port+5,b,c,this.Nb.type+".COLOR");this.Nb.nf!==b&&(this.Nb.nf=b,hl(this,!1))};k.pn=function(a,b){return ml(this,this.Nb,b)};function il(a,b,c){var d=b.uc;B(a,b.port,null,c,"CRTC.INDX",d);return d}function jl(a,b,c){var d;b.uc<b.Vi&&(d=b.kc[b.uc]);a.va()&&B(a,b.port+1,null,c,"CRTC."+b.$g[b.uc],d);return d}function kl(a,b,c,d){b.uc<b.Vi&&(a.va()&&B(a,b.port+1,c,d,"CRTC."+b.$g[b.uc]),b.kc[b.uc]=c,9==b.uc&&8!=b.Dh&&Yk(a,!0),Zk(a))}
|
||||
function ll(a,b,c){var d=b.Lc;B(a,b.port+4,null,c,"MODE",d);return d}function ml(a,b,c){var d=0,e=D(a.T),f=e-b.fj;0>f&&(f=0);f%b.Zi>b.io&&(d|=1);f%=b.bl;f>b.ko&&(d|=8);b.fj=e-f;b===a.oa?(d|=b.Mf&48^48,b.sd=!1):d=(b.Mf^=9)|240;b.Mf=d;B(a,b.port+6,null,c,b===a.oa?"STATUS1":"STATUS",d);return d}
|
||||
var Pk={948:U.prototype.Fn,949:U.prototype.En,952:U.prototype.Gn,954:U.prototype.Hn,980:U.prototype.nn,981:U.prototype.mn,984:U.prototype.on,985:U.prototype.ln,986:U.prototype.pn},Qk={948:U.prototype.Wo,949:U.prototype.Vo,952:U.prototype.Xo,980:U.prototype.Fo,981:U.prototype.Eo,984:U.prototype.Go,985:U.prototype.Do},Rk={960:U.prototype.Vk,961:U.prototype.Vk,962:U.prototype.Rn,964:U.prototype.Qn,965:U.prototype.Pn,970:U.prototype.yn,972:U.prototype.xn,974:U.prototype.wn,975:U.prototype.vn},Sk={954:U.prototype.fm,
|
||||
960:U.prototype.em,961:U.prototype.em,962:U.prototype.Zo,964:U.prototype.fp,965:U.prototype.ep,970:U.prototype.Ro,972:U.prototype.Qo,974:U.prototype.Po,975:U.prototype.Oo,986:U.prototype.fm};
|
||||
Ka(function(){for(var a=A(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;Ca("iOS")&&(e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"));e.style.height=c.style.height=
|
||||
k.reset=function(){var a=!0,b=0;this.oa&&(b=Qi(this.oa));var c=!1;if(this.Ka)switch(this.Ka){case "ega":var c=!0,d=pk[this.bh];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.pe!==b&&(this.pe=b,a=!0);this.Ja=null;this.bd=this.vi=new xk(this,1);this.Mb=this.oh=new xk(this,3);c?(this.pa=new xk(this,5,null,this.cd),Wk(this)):this.pa=new xk;Xk(this);this.Pd=null;this.ud=3==b?nk:3;this.Ke=this.Sc=-1;this.Je=0;Yk(this,this.ud);if(this.Ja.Wa&&a){a=this.Ja.Wa+this.wi;for(b=this.Ja.Wa;b<a;b+=
|
||||
2)d=Math.floor(65536*Math.random()),4==this.pe?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),ub(this.sa,b,c|d<<8);Pb(this,!0)}};function Wk(a){a.pa.og&1?(a.bd=a.vi,a.Mb=a.pa):(a.bd=a.pa,a.Mb=a.oh)}k.save=function(){var a=new sd(this);a.set(0,Ok(this.vi));a.set(1,Ok(this.oh));a.set(2,[this.pe,this.ud,this.Pd]);a.set(3,Ok(this.pa));return a.data()};
|
||||
k.restore=function(a){var b=a[2];this.pe=b[0];this.ud=b[1];this.Pd=b[2];this.Ja=null;this.bd=this.vi=new xk(this,1,a[0]);this.Mb=this.oh=new xk(this,3,a[1]);this.pa=new xk(this,5,a[3],this.cd);this.pa.ed&&Wk(this);Xk(this);if(!Zk(this))return!1;$k(this);return!0};
|
||||
k.po=function(a,b,c){if(c)this.Ia("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)Vj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}B(this)}};
|
||||
function al(a,b){if(1==b)return a.zd[0]=V[0],a.zd[1]=V[7],a.zd;if(2==b){var c=a.Ja.mf;if(a.Ja===a.pa){var d=a.pa.Ud[0],c=d&7;d&16&&(c|=8);18!=a.pa.Ud[1]&&(c|=32)}a.zd[0]=V[c&15];c=c&32?tk:sk;for(d=0;d<c.length;d++)a.zd[d+1]=V[c[d]];return a.zd}if(a.Mb===a.oh)return V;c=null!=a.pa.Ud[15]?a.pa.Ud:uk;for(d=0;d<a.zd.length;d++){var e=c[d]||0;a.zd[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.zd}function Vj(a,b,c,d){a.Xg=b;a.ji=c;a.Oe=d}
|
||||
function Xk(a){var b=!1;if(window&&a.Xg){var c=a.Oe?0:2048,d=a.Oe?a.Oe:9;bl(a,1,a.ji[0],c,d,14,a.Xg,qk,rk)&&(b=!0);c=al(a);d=a.Oe?a.Oe:8;bl(a,3,a.ji[1],0,d,8,a.Xg,c)&&(b=!0);a.Oe&&bl(a,5,a.ji[0],0,a.Oe,14,a.Xg,c)&&(b=!0)}return b}function bl(a,b,c,d,e,f,g,h,n){var m=!1;cl(a,b,c,d,e,f,g,h,n)&&(m=!0);a.Qm&&cl(a,b<<1,c,d,e,f,g,h,n)&&(m=!0);return m}
|
||||
function cl(a,b,c,d,e,f,g,h,n){var m=!1,t=b&1?0:1,r=a.Xd[b];r||(r={rc:e<<t,sc:f<<t,gf:Array(h.length),ok:h.slice(),Sf:n,hi:Array(h.length)});for(n=0;n<h.length;n++){var u=h[n],x=r.gf[n]?r.ok[n]:[];if(u[0]!==x[0]||u[1]!==x[1]||u[2]!==x[2]){var m=r,x=n,v=t,C=c,U=d,Q=e,Aa=f,Ha=g,ab=[0,0,0,0],Vb=window.document.createElement("canvas");Vb.width=m.rc<<4;Vb.height=m.sc<<4;for(var Kc=Vb.getContext("2d"),E=void 0,R=void 0,I=void 0,pa=8>Aa||!U?Aa:8,Ba=Kc.createImageData(m.rc,m.sc),E=0;256>E;E++){for(I=0;I<
|
||||
Aa;I++)for(var ka=m.Sf&&x&1&&I>=Aa-2,ca=Ha[I<pa?C+E*pa+I:U+E*pa+I-pa],Z=0;Z<=v;Z++)for(R=0;R<Q;R++){var Lc=R<<v,pc=(I<<v)+Z,Mc=ka||ca&128>>(8<=R&&176<=E&&223>=E?7:R)?u:ab;dl(Ba,Lc,pc,Mc);v&&dl(Ba,Lc+1,pc,Mc)}Kc.putImageData(Ba,(E&15)*m.rc,(E>>4)*m.sc)}m.gf[x]="#"+q(u[0])+q(u[1])+q(u[2]);m.ok[x]=u;m.hi[x]=Vb;m=!0}}a.Xd[b]=r;return m}function el(a){0<a.Je||0<=a.Sc?0>a.Ke&&(a.Ke=0):a.Ke=-1}
|
||||
function $k(a){if(a.$b){for(var b=10;15>=b;b++)if(null==a.Ja.kc[b])return;var c=a.Ja.kc[10],b=c&31,d=a.Ja.kc[11]&31,e=a.Ja.kc[9]&31,f=!1;a.Ja===a.pa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)fl(a);else{c=a.Ja.kc[15]+((a.Ja.kc[14]&63)<<8);a.Sc!=c&&(fl(a),a.Sc=c);d=d-b+1;if(a.xm!=b||a.Dk!=d)a.xm=b,a.Dk=d;a.he=e+1;el(a)}}}
|
||||
function fl(a){if(0<=a.Sc){if(void 0!==a.lc){var b=a.lc[a.Sc];if(b&131072){var b=b&-131073,c=a.Sc%a.Nb,d=Math.floor(a.Sc/a.Nb);a.$b&&a.Xd[a.$b]&&(a.nf&&gl(a,c,d,b,a.nf),gl(a,c,d,b));a.lc[a.Sc]=b}}a.Sc=-1}}
|
||||
function hl(a){var b;a=a.Ja;var c=a.Ae[5];if(null!=c){b=2;var d=512,e=a.Ae[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.td=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.af=function(a){var b=this.Ja;null!=a&&b&&a!=b.Jh&&(b.ai(a),this.sa.ai(b.Wa,b.Ub,b.Yf))};
|
||||
function Zk(a,b){var c,d=a.Pd,e=a.Ja;if(e)if(1==e.le)d=nk;else if(5==e.le){var d=null,f=e.cd>>2,g=32768<f?32768:f,h=e.Ae[6];if(null!=h){switch(h&12){case 0:e.Wa=655360;e.Ub=f;d=255;break;case 4:e.Wa=655360;e.Ub=f;d=3==a.pe?15:16;break;case 8:e.Wa=720896;e.Ub=g;d=nk;break;case 12:e.Wa=753664,e.Ub=g,d=3==a.pe?2:3}c=e.Tf[1]&8;f=e.kc[6]|(e.kc[7]&1)<<8;255!=d&&(h&1?753664==e.Wa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=hl(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||(d-=1)):(d=e.Lc&1?3:1,e.Lc&4&&(d-=
|
||||
1)));else a.Pd=null,null==d&&(d=a.ud);if(!Yk(a,d,b))return!1;a.af(c);return!0}
|
||||
function Yk(a,b,c){if(null!=b&&(b!=a.Pd||c)){a.Gm=0;a.Pd=b;b=a.Ja||(b==nk?a.bd:a.Mb);if(b!=a.Ja||b.Wa!=a.Wa||b.Ub!=a.Ub){fl(a);if(a.Wa){if(!qb(a.sa,a.Wa,a.Ub))return!1;a.Ja&&(a.Ja.ed=!1)}a.Ja=b;b.ed=!0;a.Wa=b.Wa;a.Ub=b.Ub;if(!ob(a.sa,b.Wa,b.Ub,!1,b===a.pa?b:null))return!1}a.$b=0;a.Nb=a.Lh;a.xc=a.cj;a.Xi=mk[nk][2];b=0;var d=mk[a.Pd];d&&(a.Nb=d[0],a.xc=d[1],a.Xi=d[2],b=d[3]||0,a.$b=d[4],4==a.pe&&a.Ja===a.pa&&3==a.$b&&(7==a.pa.kc[9]?a.xc=43:a.$b=5));a.$k=a.Nb*a.xc;a.Kh=a.$k/a.Xi;a.wi=(a.Kh<<1)+b;a.Ak=
|
||||
b?a.wi+b>>1:0;13<=a.Pd&&(a.Kh<<=1);a.Xd.length&&(a.Fd=Math.floor(a.Ed/a.Nb),a.Gd=Math.floor(a.ie/a.xc),a.$b?(b=a.Xd[a.$b],d=a.Xd[a.$b<<1],a.Sm&&80==a.Nb?d&&a.Fd>=3*d.rc>>2&&(a.$b<<=1,b=d):(d&&a.Fd>=d.rc&&(a.$b<<=1,b=d),b&&(a.Fd=b.rc,a.Gd=b.sc)),a.hg=a.ig=0,b&&(a.hg=a.Nb*b.rc,a.ig=a.xc*b.sc)):(a.Fd=a.Gd=1,a.hg=a.Nb,a.ig=a.xc),a.Gh=a.dd.createImageData(a.hg,a.ig),a.kf=window.document.createElement("canvas"),a.kf.width=a.hg,a.kf.height=a.ig,a.nf=a.kf.getContext("2d"),a.gk=a.hk=0,a.yi=a.Ed,a.zi=a.ie,
|
||||
b=a.Ed-a.Nb*a.Fd,d=a.ie-a.xc*a.Gd,0<b&&(a.gk=b>>1,a.yi-=b),0<d&&(a.hk=d>>1,a.zi-=d),b||d)&&(a.dd.fillStyle=a.dg.style.backgroundColor,a.dd.fillRect(0,0,a.Ed,a.ie));!1!==c?Pb(a,!0):il(a,!0)}return!0}function dl(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function il(a,b){var c;if(b){if(c=a.Kh,void 0===a.lc||a.lc.length!=c)a.lc=Array(c)}else{if(void 0===a.lc)return;c=a.lc.length}for(var d=0;d<c;d++)a.lc[d]=-1;a.Je=-1}
|
||||
function gl(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Xd[a.$b];h.Sf&&(d=h.Sf[d]);var n=g>>4&15;h.Sf&&(n=h.Sf[n]);e?(b*=h.rc,c*=h.sc,e.fillStyle=h.gf[n],e.fillRect(b,c,h.rc,h.sc)):(b=b*a.Fd+a.gk,c=c*a.Gd+a.hk,a.dd.fillStyle=h.gf[n],a.dd.fillRect(b,c,a.Fd,a.Gd));g&256&&(n=(f&15)*h.rc,f=(f>>4)*h.sc,e?e.drawImage(h.hi[d],n,f,h.rc,h.sc,b,c,h.rc,h.sc):a.dd.drawImage(h.hi[d],n,f,h.rc,h.sc,b,c,a.Fd,a.Gd));g&512&&(f=a.xm,g=a.Dk,e?(a.he&&a.he!==h.sc&&(f=Math.floor(f*h.sc/a.he),g=Math.floor(g*h.sc/a.he)),
|
||||
e.fillStyle=h.gf[d],e.fillRect(b,c+f,h.rc,g)):(a.he&&a.he!==a.Gd&&(f=Math.floor(f*a.Gd/a.he),g=Math.floor(g*a.Gd/a.he)),a.dd.fillStyle=h.gf[d],a.dd.fillRect(b,c+f,a.Fd,g)))}
|
||||
function Pb(a,b){if(a.na.Sb){var c=!1;a.Ja&&(a.Ja===a.pa?a.pa.Id&32&&(c=!0):a.Ja.Lc&8&&(c=!0));if(c||b){if(b)il(a,!0);else if(void 0===a.lc)return;var d=!1;!(b||++a.Gm&15)&&0<=a.Ke&&(a.Ke++,d=!0);var e=0,f=a.$k,c=a.Ja.Wa,g=c+a.Ja.Ub,h=(a.Ja.kc[12]<<8)+a.Ja.kc[13];a.$b&&(h<<=1);var c=c+h,n=a.wi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,m=!0,t=c>>h.Eb;0<n&&t<h.Ha.length;)h.Ha[t].xb&&(h.Ha[t].xb=m=!1,h.Ha[t].Hk=!0),n-=h.mc,t++;h=m}if(h){if(!d)return;if(!a.Je){if(0>a.Sc)return;e=a.Sc;f=
|
||||
e+1}}if(a.$b){if(a.Xd[a.$b]){d=0;h=a.Je=0;n=1048575;a.Ja.Lc&32&&(h=32768,n&=~h,a.Ke&2||(n&=-65537));for(c+=e<<1;c<g&&e<f;)m=sb(a.sa,c),m|=65536,m&h&&(a.Je++,m&=n),e==a.Sc&&(m|=a.Ke&1?131072:0),t=a.lc[e],t!=m&&(gl(a,e%a.Nb,Math.floor(e/a.Nb),m,a.nf),a.lc[e]=m,d++),c+=2,e++;d&&a.nf&&a.dd.drawImage(a.kf,0,0,a.hg,a.ig,a.gk,a.hk,a.yi,a.zi);el(a)}}else if(a.Ak){for(var f=g,r,u,e=c,g=a.Je=0,d=a.Xi,h=16==d?65536:196608,n=16==d?1:2,m=al(a,n),x=t=0,v=a.Nb,C=0,U=a.xc,Q=0;e<f;){r=sb(a.sa,e);u=a.lc[g];if(u===
|
||||
r)t+=d;else{a.lc[g]=r;r=r>>8|(r&255)<<8;u=h;var Aa=16;t<v&&(v=t);for(var Ha=0;Ha<d;Ha++){var ab=(r&(u>>=n))>>(Aa-=n);dl(a.Gh,t++,x,m[ab])}t>C&&(C=t);x<U&&(U=x);x>=Q&&(Q=x+1)}e+=2;g++;if(t>=a.Nb){t=0;x+=2;if(x>a.xc)break;x==a.xc&&(x=1,e=c+a.Ak)}}v<a.Nb&&(a.nf.putImageData(a.Gh,0,0,v,U,C-v,Q-U),a.dd.drawImage(a.kf,0,0,a.Nb,a.xc,0,0,a.Ed,a.ie))}else{f=g;e=a.Je=0;g=al(a);d=a.Ja.md;n=h=0;m=a.Nb;t=0;x=a.xc;for(v=0;c<f;){C=c++-a.Wa;C=d[C];U=a.lc[e];if(U===C)h+=8;else{a.lc[e]=C;h<m&&(m=h);for(U=0;8>U;U++)Q=
|
||||
C&2155905152,0>Q&&(Q+=4294967296),Q=wk[Q]||0,dl(a.Gh,h++,n,g[Q]),C<<=1;h>t&&(t=h);n<x&&(x=n);n>=v&&(v=n+1)}e++;if(h>=a.Nb&&(h=0,++n>a.xc))break}m<a.Nb&&(a.nf.putImageData(a.Gh,0,0,m,x,t-m,v-x),a.dd.drawImage(a.kf,0,0,a.Nb,a.xc,0,0,a.Ed,a.ie))}}}}k.Gn=function(a,b){return jl(this,this.bd,b)};k.Yo=function(a,b,c){a=this.bd;a.Eh=a.uc;a.uc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.Fn=function(a,b){return kl(this,this.bd,b)};k.Xo=function(a,b,c){ll(this,this.bd,b,c)};
|
||||
k.Hn=function(a,b){return ml(this,this.bd,b)};k.Zo=function(a,b,c){a=this.bd;A(this,a.port+4,b,c,"MODE");a.Lc=b;Zk(this,!1)};k.In=function(a,b){return nl(this,this.bd,b)};k.gm=function(a,b,c){this.pa.Dh=this.pa.Dh&-4|b&3;A(this,a,b,c,"FEAT")};k.Wk=function(a,b){var c=this.pa.qd?this.pa.Ud[this.pa.Id&31]:this.pa.Id;this.ua()&&A(this,960,null,b,"ATC."+(this.pa.qd?this.pa.mi[this.pa.Id&31]:"INDX"),c);this.pa.qd=!this.pa.qd;return c};
|
||||
k.fm=function(a,b,c){var d=this.pa.Id&32;if(this.pa.qd){var e=this.pa.Id&31;if(16<=e||!d)this.ua()&&A(this,a,b,c,"ATC."+this.pa.mi[e]),this.pa.Ud[e]=b;this.pa.qd=!1}else this.pa.Id=b,A(this,a,b,c,"ATC.INDX"),this.pa.qd=!0,b&32&&!d&&Xk(this)&&Pb(this,!0)};k.Sn=function(a,b){var c=3-((this.pa.og&12)>>2),c=this.pa.di&-17|(this.bh&1<<c)<<4-c;this.pa.di=c;A(this,962,null,b,"STATUS0",c);return c};k.ap=function(a,b,c){this.pa.og=b;Wk(this);A(this,962,b,c,"MISC")};
|
||||
k.Rn=function(a,b){var c=this.pa.Kd;A(this,964,null,b,"SEQ.INDX",c);return c};k.hp=function(a,b,c){this.pa.Kd=b;A(this,964,b,c,"SEQ.INDX")};k.Qn=function(a,b){var c=this.pa.Tf[this.pa.Kd];this.ua()&&A(this,965,null,b,"SEQ"+this.pa.oi[this.pa.Kd],c);return c};k.gp=function(a,b,c){this.ua()&&A(this,965,b,c,"SEQ."+this.pa.oi[this.pa.Kd]);this.pa.Tf[this.pa.Kd]=b;2==this.pa.Kd&&(this.pa.sb=vk[b&15])};k.yn=function(a,b){var c=this.pa.Ri;A(this,972,null,b,"GRC1",c);return c};
|
||||
k.So=function(a,b,c){this.pa.Ri=b;A(this,972,b,c,"GRC1")};k.zn=function(a,b){var c=this.pa.Si;A(this,970,null,b,"GRC2",c);return c};k.To=function(a,b,c){this.pa.Si=b;A(this,970,b,c,"GRC2")};k.xn=function(a,b){var c=this.pa.Jd;A(this,974,null,b,"GRC.INDX",c);return c};k.Ro=function(a,b,c){this.pa.Jd=b;A(this,974,b,c,"GRC.INDX")};k.wn=function(a,b){var c=this.pa.Ae[this.pa.Jd];this.ua()&&A(this,975,null,b,"GRC."+this.pa.ni[this.pa.Jd],c);return c};
|
||||
k.Qo=function(a,b,c){this.ua()&&A(this,975,b,c,"GRC."+this.pa.ni[this.pa.Jd]);this.pa.Ae[this.pa.Jd]=b;switch(this.pa.Jd){case 0:this.pa.Qh=vk[b&15];this.pa.We=this.pa.Qh&~this.pa.se;break;case 1:this.pa.se=~vk[b&15];this.pa.We=this.pa.Qh&~this.pa.se;break;case 2:this.pa.Yi=vk[b&15]&2155905152;break;case 3:case 5:this.af(hl(this));break;case 4:this.pa.Qj=(b&3)<<3;break;case 6:Zk(this,!1);break;case 7:this.pa.Zi=vk[b&15^15]&2155905152;break;case 8:this.pa.Ab=b|b<<8|b<<16|b<<24}};
|
||||
k.on=function(a,b){return jl(this,this.Mb,b)};k.Ho=function(a,b,c){a=this.Mb;a.Eh=a.uc;a.uc=b&31;A(this,a.port,b,c,"CRTC.INDX")};k.nn=function(a,b){return kl(this,this.Mb,b)};k.Go=function(a,b,c){ll(this,this.Mb,b,c)};k.pn=function(a,b){return ml(this,this.Mb,b)};k.Io=function(a,b,c){a=this.Mb;A(this,a.port+4,b,c,"MODE");a.Lc=b;Zk(this,!1)};k.mn=function(a,b){var c=this.Mb.mf;this.ua()&&A(this,this.Mb.port+5,null,b,this.Mb.type+".COLOR",c);return c};
|
||||
k.Fo=function(a,b,c){this.ua()&&A(this,this.Mb.port+5,b,c,this.Mb.type+".COLOR");this.Mb.mf!==b&&(this.Mb.mf=b,il(this,!1))};k.qn=function(a,b){return nl(this,this.Mb,b)};function jl(a,b,c){var d=b.uc;A(a,b.port,null,c,"CRTC.INDX",d);return d}function kl(a,b,c){var d;b.uc<b.Wi&&(d=b.kc[b.uc]);a.ua()&&A(a,b.port+1,null,c,"CRTC."+b.$g[b.uc],d);return d}function ll(a,b,c,d){b.uc<b.Wi&&(a.ua()&&A(a,b.port+1,c,d,"CRTC."+b.$g[b.uc]),b.kc[b.uc]=c,9==b.uc&&8!=b.Eh&&Zk(a,!0),$k(a))}
|
||||
function ml(a,b,c){var d=b.Lc;A(a,b.port+4,null,c,"MODE",d);return d}function nl(a,b,c){var d=0,e=D(a.T),f=e-b.gj;0>f&&(f=0);f%b.$i>b.ko&&(d|=1);f%=b.cl;f>b.mo&&(d|=8);b.gj=e-f;b===a.pa?(d|=b.Mf&48^48,b.qd=!1):d=(b.Mf^=9)|240;b.Mf=d;A(a,b.port+6,null,c,b===a.pa?"STATUS1":"STATUS",d);return d}
|
||||
var Qk={948:T.prototype.Gn,949:T.prototype.Fn,952:T.prototype.Hn,954:T.prototype.In,980:T.prototype.on,981:T.prototype.nn,984:T.prototype.pn,985:T.prototype.mn,986:T.prototype.qn},Rk={948:T.prototype.Yo,949:T.prototype.Xo,952:T.prototype.Zo,980:T.prototype.Ho,981:T.prototype.Go,984:T.prototype.Io,985:T.prototype.Fo},Sk={960:T.prototype.Wk,961:T.prototype.Wk,962:T.prototype.Sn,964:T.prototype.Rn,965:T.prototype.Qn,970:T.prototype.zn,972:T.prototype.yn,974:T.prototype.xn,975:T.prototype.wn},Tk={954:T.prototype.gm,
|
||||
960:T.prototype.fm,961:T.prototype.fm,962:T.prototype.ap,964:T.prototype.hp,965:T.prototype.gp,970:T.prototype.To,972:T.prototype.So,974:T.prototype.Ro,975:T.prototype.Qo,986:T.prototype.gm};
|
||||
Ja(function(){for(var a=z(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=$a(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;za("iOS")&&(e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"));e.style.height=c.style.height=
|
||||
"auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",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.appendChild(e);var f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");c.style.clear="both";c.style.position="relative";
|
||||
c.appendChild(f);var g=e.getContext("2d"),d=new U(d,e,g,f);bb(d,c)}});function nl(a){this.Rk=a.adapter;switch(this.Rk){case 1:this.Uj=1016;this.wg=4;break;case 2:this.Uj=760;this.wg=3;break;default:x("Unrecognized serial adapter #"+this.Rk);return}this.he=null;y.call(this,"SerialPort",a,nl,ol);var b=a.binding,c;a=pl;b&&(void 0===c&&(c="Panel"),(c=ab(c,this.id))&&(b=c.xa[b])&&this.Ib(null,a,b))}Xa(y,nl);var pl="buffer";k=nl.prototype;k.pk=function(a,b){return a==this.Eh?(this.pe=b,this):null};
|
||||
k.Ib=function(a,b,c){var d=this;switch(b){case pl:return this.xa[b]=this.he=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),ql(d,[b]))},c.onkeypress=function(a){a=a||window.event;ql(d,[a.which||a.keyCode])},!0}return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.pa=ib(a,"ChipSet");xb(b,this,rl,this.Uj);Bb(b,this,sl,this.Uj);this.Wa()};
|
||||
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.oe()};k.save=function(){var a=new sd(this),b=0,c=[];c[b++]=this.ti;c[b++]=this.uk;c[b++]=this.ef;c[b++]=this.dh;c[b++]=this.de;c[b++]=this.ad;c[b++]=this.qd;c[b++]=this.Rc;c[b++]=this.sk;c[b]=this.Vf;a.set(0,c);return a.data()};k.restore=function(a){return this.oe(a[0])};
|
||||
k.oe=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ti=a[b++];this.uk=a[b++];this.ef=a[b++];this.dh=a[b++];this.de=a[b++];this.ad=a[b++];this.qd=a[b++];this.Rc=a[b++];this.sk=a[b++];this.Vf=a[b];return!0};function ql(a,b){a.Vf=a.Vf.concat(b);tl(a)}function tl(a){0<a.Vf.length&&!(a.Rc&1)&&(a.ti=a.Vf.shift(),a.Rc|=1);var b=-1;a.Rc&1&&a.dh&1&&(b=4);0<=b?(a.de&=-8,a.de|=b,a.pa&&a.wg&&yj(a.pa,a.wg)):(a.de|=1,a.pa&&a.wg&&zj(a.pa,a.wg))}
|
||||
k.On=function(a,b){var c=this.ad&128?this.ef&255:this.ti;B(this,a,null,b,this.ad&128?"DLL":"RBR",c);this.Rc&=-2;tl(this);return c};k.zn=function(a,b){var c=this.ad&128?this.ef>>8:this.dh;B(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.An=function(a,b){var c=this.de;B(this,a,null,b,"IIR",c);return c};k.Bn=function(a,b){var c=this.ad;B(this,a,null,b,"LCR",c);return c};k.Dn=function(a,b){var c=this.qd;B(this,a,null,b,"MCR",c);return c};
|
||||
k.Cn=function(a,b){var c=this.Rc;B(this,a,null,b,"LSR",c);return c};k.Jn=function(a,b){var c=this.sk;B(this,a,null,b,"MSR",c);return c};k.gp=function(a,b,c){B(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.ef=this.ef&-256|b:(this.uk=b,this.Rc&=-97,this.he?(13!=b&&(8==b?this.he.value=this.he.value.slice(0,-1):(this.he.value+=String.fromCharCode(b),this.he.scrollTop=this.he.scrollHeight)),a=!0):a=!1,a&&(this.Rc|=96))};
|
||||
k.So=function(a,b,c){B(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.ef=this.ef&255|b<<8:this.dh=b};k.To=function(a,b,c){B(this,a,b,c,"LCR");this.ad=b};
|
||||
k.Uo=function(a,b,c){var d=this.qd;B(this,a,b,c,"MCR");this.qd=b;this.pe&&(d^b)&3&&(a=this.pe,b=this.qd,(c=3==(b&3))?a.ed||(d=!1,a.qd&2||(a.reset(),a.qb("serial mouse reset"),d=!0),a.qd&1||(a.qb("serial mouse ID requested"),d=!0),d&&(ql(a.eg,[77,77]),a.qb("serial mouse ID sent")),ul(a,a.Na),a.setActive(c)):a.ed&&(a.qb("serial mouse inactive"),vl(a.Na),a.setActive(c)),a.qd=b)};
|
||||
var rl={0:nl.prototype.On,1:nl.prototype.zn,2:nl.prototype.An,3:nl.prototype.Bn,4:nl.prototype.Dn,5:nl.prototype.Cn,6:nl.prototype.Jn},sl={0:nl.prototype.gp,1:nl.prototype.So,3:nl.prototype.To,4:nl.prototype.Uo};Ka(function(){for(var a=A(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new nl(d);bb(d,c)}});function wl(a){y.call(this,"Mouse",a,wl,xl);if(this.Si=a.serial)this.Xj="SerialPort";this.setActive(!1);this.wh=!1;this.Wa()}Xa(y,wl);k=wl.prototype;
|
||||
k.vc=function(a,b,c,d){this.Ma=a;this.sa=b;this.T=c;this.ka=d;this.di=ib(this.Ma,"Video")};k.setActive=function(a){this.ed=a};k.ec=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Xj&&!this.eg){for(var c=null;(c=ib(this.Ma,this.Xj,c))&&(!c.pk||!(this.eg=c.pk(this.Si,this))););this.eg?this.di&&(c=this.di,c.pe=this,this.Na=c.Na):x(this.id+": "+this.Xj+" "+this.Si+" unavailable")}this.ed?ul(this,this.Na):vl(this.Na)}return!0};
|
||||
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.oe()};k.save=function(){var a=new sd(this);a.set(0,this.ck());return a.data()};k.restore=function(a){return this.oe(a[0])};k.oe=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Pg=a[b++];this.Qg=a[b++];this.ff=a[b++];this.gf=a[b++];this.th=a[b++];this.uh=a[b++];this.qd=a[b];return!0};
|
||||
k.ck=function(){var a=0,b=[];b[a++]=this.ed;b[a++]=this.Pg;b[a++]=this.Qg;b[a++]=this.ff;b[a++]=this.gf;b[a++]=this.th;b[a++]=this.uh;b[a]=this.qd;return b};k.Eg=function(a){this.wh=a};
|
||||
function ul(a,b){b&&(a.Gi||(b.addEventListener("mousemove",function(b){if(a.ed&&a.T&&a.T.na.Fb){if(0>a.Pg||0>a.Qg)a.Pg=b.clientX,a.Qg=b.clientY;a.wh?(a.ff=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.gf=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ff=b.clientX-a.Pg,a.gf=b.clientY-a.Qg);(a.ff||a.gf)&&yl(a,null,b.clientX,b.clientY);a.Pg=b.clientX;a.Qg=b.clientY}},!1),b.addEventListener("mousedown",function(b){zl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){zl(a,b.button,
|
||||
!1)},!1),a.Gi=!0),b.style.cursor="none")}function vl(a){a&&(a.style.cursor="auto")}function zl(a,b,c){if(a.ed&&a.T&&a.T.na.Fb){var d;!(d=!1!==a.wh)&&(d=a.di)&&(d=a.di,d=d.Om?d.yf(!0):!1);d||(a.wh=null);switch(b){case 0:a.th!=c&&(a.th=c,yl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.uh!=c&&(a.uh=c,yl(a,"mouse button2 "+(c?"dn":"up")))}}}
|
||||
function yl(a,b,c,d){var e=64|(a.th?32:0)|(a.uh?16:0)|(a.gf&192)>>4|(a.ff&192)>>6,f=a.ff&63,g=a.gf&63;a.va(ol)&&a.qb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);ql(a.eg,[e,f,g]);a.ff=a.gf=0}Ka(function(){for(var a=A(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new wl(d);bb(d,c)}});
|
||||
function Al(a,b,c){y.call(this,"Disk",{id:a.Tk+".disk"+Bl++},Al,Cl);this.ga=a;this.Ma=a.Ma;this.ka=a.ka;this.Ra=b;this.yd=b.name;this.tf=b.tf;this.xh=this.Jd=!1;this.create(c,b.Bb,b.Cb,b.Hb,b.pb);this.ze=[];this.Tg=[];this.Ud=null;this.Yk=0;this.Ni=!1;this.Wa()}var Bl=0;Xa(y,Al);k=Al.prototype;k.vc=function(a,b,c,d){this.ka=d};k.ec=function(a,b){b||!this.xh||this.Jd||(this.Wa(!1),this.load(this.yd,this.$e,null,this.Nm,this));return!0};k.Nm=function(){this.Wa(!0)};
|
||||
k.dc=function(a,b){if(this.Jd){var c,d=0;if(this.Ni&&!va("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Dl(this,!1);)if(d=c[0]){this.ga.Ia('Unable to save "'+this.yd+'" (error '+d+")");break}b&&this.Jd&&(c="action=close&volume="+this.$e,c+="&machine="+this.ga.vf(),c+="&user="+this.ga.me(),ta(ua()+"/api/v1/disk?"+c,!0),this.Jd=!1);!d&&a&&this.ga.Ia(this.yd+" saved")}return!0};
|
||||
k.create=function(a,b,c,d,e){this.mode=a;this.Bb=b;this.Cb=c;this.Hb=d;this.pb=e;this.ib=[];if("preload"!=this.mode){a=Array(this.Bb);for(b=0;b<a.length;b++){c=Array(this.Cb);for(d=0;d<c.length;d++){e=Array(this.Hb);for(var f=1;f<=e.length;f++)e[f-1]=El(null,b,d,f,this.pb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.ib=a}this.pf=null};
|
||||
k.load=function(a,b,c,d,e){var f=b;if(!this.Se)if(this.yd=a,this.$e=b,this.Se=d,this.Hm=e||this.ga,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ca[c];if(d){g.Bb=d[0];g.Cb=d[1];g.Hb=d[2];g.pb=512;b=g.pb>>2;var e=d=0,a=new DataView(a,0,c);g.ib=Array(g.Bb);for(c=0;c<g.ib.length;c++)for(var f=g.ib[c]=Array(g.Cb),u=0;u<f.length;u++)for(var C=f[u]=Array(g.Hb),R=0;R<C.length;R++){for(var O=El(null,c,u,R+1,g.pb,0),ya=O.data,Fa=0;Fa<b;Fa++,e+=4)var Za=ya[Fa]=a.getInt32(e,
|
||||
!0),d=d+Za&4294967295;O.Hc=b;C[R]=O}g.pf=d;b=g}else g.Ia("Unrecognized diskette format ("+c+" bytes)");g.Se&&(g.Se.call(g.ga,g.Ra,b,g.yd,g.$e),g.Se=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Fl(this,b),this.xh=!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"),f=
|
||||
ua()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.tf?"":d)+"&format=json")),ta(f,!0,null,this,this.Lm,b)};
|
||||
k.Lm=function(a,b,c,d){var e=null;this.uf=!1;var f=0>c&&this.Ma&&!this.Ma.na.Tb;if(this.xh)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Jd=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.yd+'" (error '+c+")",f);else try{if(0<ga(a,!0).toLowerCase().indexOf("-readonly"))this.uf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.uf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.yd]: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)x(h[0]);else{this.Bb=h.length;this.Cb=h[0].length;this.Hb=h[0][0].length;var n=h[0][0][0];this.pb=n&&n.length||512;for(b=a=0;b<this.Bb;b++)for(c=0;c<this.Cb;c++)for(d=0;d<this.Hb;d++)if(n=h[b][c][d]){var m=n.length;void 0===m&&(m=n.length=512);var m=m>>2,s=n.pattern;void 0===s&&(s=n.pattern=0);var r=n.data;if(void 0===r){var t=n.bytes;if(void 0!==t&&t.length){for(var f=
|
||||
m<<2,w=t.length;w<f;w++)t[w]=s;this.fill(n,t,0)}else r=[],s=n.pattern=s|s<<8|s<<16|s<<24,n.data=r;delete n.bytes}El(n,b,c);for(f=0;f<r.length;f++)a=a+r[f]&4294967295}this.ib=h;this.pf=a;e=this}else x("Empty disk image: "+this.yd)}catch(u){x("Disk image error: "+u.message)}this.Se&&(this.Se.call(this.Hm,this.Ra,e,this.yd,this.$e),this.Se=null)};function El(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Xm=b;a.Zm=c;a.gd=a.Hc=0;a.xb=!1;return a}
|
||||
k.lo=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 n=0;h--;){var m=this.seek(e,f,g,!0);if(!m)break;this.fill(m,b,n);n+=m.length;g++}}(d=d[5])&&d(c,a)};function Fl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.Cb+":"+a.Hb+":"+a.pb;c+="&machine="+a.ga.vf();c+="&user="+a.ga.me();return ua()+"/api/v1/disk?"+c}
|
||||
function Gl(a,b,c,d,e,f){if(a.Jd){var g;g="action=read&volume="+a.$e;g+="&chs="+a.Bb+":"+a.Cb+":"+a.Hb+":"+a.pb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.vf());g+="&user="+a.ga.me();ta(ua()+"/api/v1/disk?"+g,!0,null,a,a.lo,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Hl(a,b,c){b.xb=!0;var d=a.ze.indexOf(b);0<=d&&(a.ze.splice(d,1),a.Tg.splice(d,1));a.ze.push(b);a.Tg.push(qa());c&&Il(a)}
|
||||
function Il(a){if(a.ze.length){var b=a.Tg[0]+2E3;a.Ud&&a.Yk<b&&(clearTimeout(a.Ud),a.Ud=null);if(!a.Ud){var c=qa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Ud=setTimeout(function(){Dl(a,!0)},b);a.Yk=c+b}}else a.Ud&&(clearTimeout(a.Ud),a.Ud=null)}
|
||||
function Dl(a,b){b&&(a.Ud=null);var c=a.ze[0];if(c){for(var d=c.Xm,e=c.Zm,c=c.sector,f=0,g=[],h=c-1;h<a.ib[d][e].length;h++){var n=a.ib[d][e][h];if(!n.xb)break;var m=a.ze.indexOf(n);a.ze.splice(m,1);a.Tg.splice(m,1);g=g.concat(Jl(n));n.xb=!1;f++}a.Jd?(h={},a.Ni=!0,h.action="write",h.volume=a.$e,h.chs=a.Bb+":"+a.Cb+":"+a.Hb+":"+a.pb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.vf(),h.user=a.ga.me(),h.data=JSON.stringify(g),d=ta(ua()+"/api/v1/disk",b,h,a,a.qo,[d,e,c,f,b])):d=!1;return b||d}return!1}
|
||||
k.qo=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ni=!1;if(0<=a&&a<this.ib.length&&0<=b&&b<this.ib[a].length)for(e-=1;0<f--&&0<=e&&e<this.ib[a][b].length;e++){var g=this.ib[a][b][e];c?Hl(this,g,!1):g.xb||(g.gd=g.Hc=0)}d&&Il(this)};k.info=function(){return this.ib.length?[this.ib.length,this.ib[0].length,this.ib[0][0].length,this.ib[0][0][0].length]:[0,0,0,0]};
|
||||
k.seek=function(a,b,c,d,e){var f=null,g=this.Ra,h=this.ib[a];if(h){var n=h[b];if(!n&&g.ri&&b<g.Cb)for(n=h[b]=Array(g.ee),h=0;h<n.length;h++)n[h]=El(null,a,b,h+1,g.kb,0);if(n){for(h=0;h<n.length;h++)if(n[h]&&n[h].sector==c){f=n[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<n.length;)null===n[h].pattern&&d++;Gl(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.ri&&9==g.ab&&(f=n[h]=El(null,a,b,g.ab,g.kb,0))}}e&&e(f,!1);return f};
|
||||
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function Jl(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Kl(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
|
||||
k.write=function(a,b,c){if(this.uf)return!1;if(b<a.length){if(c!=Kl(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f<a.gd?(a.Hc+=a.gd-f,a.gd=f):f>=a.gd+a.Hc&&(a.Hc+=f-(a.gd+a.Hc)+1):(a.gd=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Jd&&Hl(this,a,!0)}return!0}return null};
|
||||
k.save=function(){var a=0,b=[];b[a++]=[this.$e,this.pf,this.Bb,this.Cb,this.Hb,this.pb];if(!this.Jd&&!this.uf)for(var c=this.ib,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Hc){for(var h=[],n=0,m=g.gd,s=g.gd+g.Hc;m<s;)h[n++]=g.data[m++];b[a++]=[d,e,f,g.gd,h]}}return b};
|
||||
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.ib.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.pf&&e[1]!=this.pf&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.pf+")",b=-1));for(this.ib.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],n=g[f++],m=g[f++];if(h>=this.ib.length||n>=this.ib[h].length||m>=this.ib[h][n].length){c="sector "+h+":"+n+":"+m+" out of range ("+
|
||||
b+" changes applied)";b=-1;break}if(this.uf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.ib[h][n][m]){for(n=h.data.length;n<e;)h.data[n++]=h.pattern;n=0;h.gd=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[n++];b++}}}0>b&&this.ga.Ia("unable to restore disk '"+this.yd+": "+c);return b};
|
||||
c.appendChild(f);var g=e.getContext("2d"),d=new T(d,e,g,f);bb(d,c)}});function ol(a){this.Sk=a.adapter;switch(this.Sk){case 1:this.Vj=1016;this.wg=4;break;case 2:this.Vj=760;this.wg=3;break;default:w("Unrecognized serial adapter #"+this.Sk);return}this.fe=null;y.call(this,"SerialPort",a,ol,pl);var b=a.binding,c;a=ql;b&&(void 0===c&&(c="Panel"),(c=Za(c,this.id))&&(b=c.xa[b])&&this.Hb(null,a,b))}Wa(y,ol);var ql="buffer";k=ol.prototype;k.qk=function(a,b){return a==this.Fh?(this.oe=b,this):null};
|
||||
k.Hb=function(a,b,c){var d=this;switch(b){case ql:return this.xa[b]=this.fe=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),rl(d,[b]))},c.onkeypress=function(a){a=a||window.event;rl(d,[a.which||a.keyCode])},!0}return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=ib(a,"ChipSet");xb(b,this,sl,this.Vj);Bb(b,this,tl,this.Vj);B(this)};k.ec=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.me()};k.save=function(){var a=new sd(this),b=0,c=[];c[b++]=this.ti;c[b++]=this.vk;c[b++]=this.df;c[b++]=this.dh;c[b++]=this.be;c[b++]=this.ad;c[b++]=this.od;c[b++]=this.Rc;c[b++]=this.tk;c[b]=this.Vf;a.set(0,c);return a.data()};k.restore=function(a){return this.me(a[0])};
|
||||
k.me=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ti=a[b++];this.vk=a[b++];this.df=a[b++];this.dh=a[b++];this.be=a[b++];this.ad=a[b++];this.od=a[b++];this.Rc=a[b++];this.tk=a[b++];this.Vf=a[b];return!0};function rl(a,b){a.Vf=a.Vf.concat(b);ul(a)}function ul(a){0<a.Vf.length&&!(a.Rc&1)&&(a.ti=a.Vf.shift(),a.Rc|=1);var b=-1;a.Rc&1&&a.dh&1&&(b=4);0<=b?(a.be&=-8,a.be|=b,a.oa&&a.wg&&zj(a.oa,a.wg)):(a.be|=1,a.oa&&a.wg&&Aj(a.oa,a.wg))}
|
||||
k.Pn=function(a,b){var c=this.ad&128?this.df&255:this.ti;A(this,a,null,b,this.ad&128?"DLL":"RBR",c);this.Rc&=-2;ul(this);return c};k.An=function(a,b){var c=this.ad&128?this.df>>8:this.dh;A(this,a,null,b,this.ad&128?"DLM":"IER",c);return c};k.Bn=function(a,b){var c=this.be;A(this,a,null,b,"IIR",c);return c};k.Cn=function(a,b){var c=this.ad;A(this,a,null,b,"LCR",c);return c};k.En=function(a,b){var c=this.od;A(this,a,null,b,"MCR",c);return c};
|
||||
k.Dn=function(a,b){var c=this.Rc;A(this,a,null,b,"LSR",c);return c};k.Kn=function(a,b){var c=this.tk;A(this,a,null,b,"MSR",c);return c};k.ip=function(a,b,c){A(this,a,b,c,this.ad&128?"DLL":"THR");this.ad&128?this.df=this.df&-256|b:(this.vk=b,this.Rc&=-97,this.fe?(13!=b&&(8==b?this.fe.value=this.fe.value.slice(0,-1):(this.fe.value+=String.fromCharCode(b),this.fe.scrollTop=this.fe.scrollHeight)),a=!0):a=!1,a&&(this.Rc|=96))};
|
||||
k.Uo=function(a,b,c){A(this,a,b,c,this.ad&128?"DLM":"IER");this.ad&128?this.df=this.df&255|b<<8:this.dh=b};k.Vo=function(a,b,c){A(this,a,b,c,"LCR");this.ad=b};
|
||||
k.Wo=function(a,b,c){var d=this.od;A(this,a,b,c,"MCR");this.od=b;this.oe&&(d^b)&3&&(a=this.oe,b=this.od,(c=3==(b&3))?a.ed||(d=!1,a.od&2||(a.reset(),a.cb("serial mouse reset"),d=!0),a.od&1||(a.cb("serial mouse ID requested"),d=!0),d&&(rl(a.eg,[77,77]),a.cb("serial mouse ID sent")),vl(a,a.Na),a.setActive(c)):a.ed&&(a.cb("serial mouse inactive"),wl(a.Na),a.setActive(c)),a.od=b)};
|
||||
var sl={0:ol.prototype.Pn,1:ol.prototype.An,2:ol.prototype.Bn,3:ol.prototype.Cn,4:ol.prototype.En,5:ol.prototype.Dn,6:ol.prototype.Kn},tl={0:ol.prototype.ip,1:ol.prototype.Uo,3:ol.prototype.Vo,4:ol.prototype.Wo};Ja(function(){for(var a=z(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new ol(d);bb(d,c)}});function xl(a){y.call(this,"Mouse",a,xl,yl);if(this.Ti=a.serial)this.Yj="SerialPort";this.setActive(!1);this.xh=!1;B(this)}Wa(y,xl);k=xl.prototype;
|
||||
k.vc=function(a,b,c,d){this.Ma=a;this.sa=b;this.T=c;this.ka=d;this.ei=ib(this.Ma,"Video")};k.setActive=function(a){this.ed=a};k.ec=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Yj&&!this.eg){for(var c=null;(c=ib(this.Ma,this.Yj,c))&&(!c.qk||!(this.eg=c.qk(this.Ti,this))););this.eg?this.ei&&(c=this.ei,c.oe=this,this.Na=c.Na):w(this.id+": "+this.Yj+" "+this.Ti+" unavailable")}this.ed?vl(this,this.Na):wl(this.Na)}return!0};
|
||||
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.me()};k.save=function(){var a=new sd(this);a.set(0,this.dk());return a.data()};k.restore=function(a){return this.me(a[0])};k.me=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Pg=a[b++];this.Qg=a[b++];this.ef=a[b++];this.ff=a[b++];this.th=a[b++];this.uh=a[b++];this.od=a[b];return!0};
|
||||
k.dk=function(){var a=0,b=[];b[a++]=this.ed;b[a++]=this.Pg;b[a++]=this.Qg;b[a++]=this.ef;b[a++]=this.ff;b[a++]=this.th;b[a++]=this.uh;b[a]=this.od;return b};k.Eg=function(a){this.xh=a};
|
||||
function vl(a,b){b&&(a.Gi||(b.addEventListener("mousemove",function(b){if(a.ed&&a.T&&a.T.na.mb){if(0>a.Pg||0>a.Qg)a.Pg=b.clientX,a.Qg=b.clientY;a.xh?(a.ef=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.ff=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ef=b.clientX-a.Pg,a.ff=b.clientY-a.Qg);(a.ef||a.ff)&&zl(a,null,b.clientX,b.clientY);a.Pg=b.clientX;a.Qg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Al(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Al(a,b.button,
|
||||
!1)},!1),a.Gi=!0),b.style.cursor="none")}function wl(a){a&&(a.style.cursor="auto")}function Al(a,b,c){if(a.ed&&a.T&&a.T.na.mb){var d;!(d=!1!==a.xh)&&(d=a.ei)&&(d=a.ei,d=d.Pm?d.xf(!0):!1);d||(a.xh=null);switch(b){case 0:a.th!=c&&(a.th=c,zl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.uh!=c&&(a.uh=c,zl(a,"mouse button2 "+(c?"dn":"up")))}}}
|
||||
function zl(a,b,c,d){var e=64|(a.th?32:0)|(a.uh?16:0)|(a.ff&192)>>4|(a.ef&192)>>6,f=a.ef&63,g=a.ff&63;a.ua(pl)&&a.cb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);rl(a.eg,[e,f,g]);a.ef=a.ff=0}Ja(function(){for(var a=z(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new xl(d);bb(d,c)}});
|
||||
function Bl(a,b,c){y.call(this,"Disk",{id:a.Uk+".disk"+Cl++},Bl,Dl);this.ga=a;this.Ma=a.Ma;this.ka=a.ka;this.Ra=b;this.vd=b.name;this.sf=b.sf;this.yh=this.Hd=!1;this.create(c,b.Bb,b.Cb,b.Gb,b.rb);this.ze=[];this.Tg=[];this.Sd=null;this.Zk=0;this.Oi=!1;B(this)}var Cl=0;Wa(y,Bl);k=Bl.prototype;k.vc=function(a,b,c,d){this.ka=d};k.ec=function(a,b){b||!this.yh||this.Hd||(B(this,!1),this.load(this.vd,this.Ze,null,this.Om,this));return!0};k.Om=function(){B(this,!0)};
|
||||
k.dc=function(a,b){if(this.Hd){var c,d=0;if(this.Oi&&!ua("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=El(this,!1);)if(d=c[0]){this.ga.Ia('Unable to save "'+this.vd+'" (error '+d+")");break}b&&this.Hd&&(c="action=close&volume="+this.Ze,c+="&machine="+this.ga.uf(),c+="&user="+this.ga.ke(),sa(ta()+"/api/v1/disk?"+c,!0),this.Hd=!1);!d&&a&&this.ga.Ia(this.vd+" saved")}return!0};
|
||||
k.create=function(a,b,c,d,e){this.mode=a;this.Bb=b;this.Cb=c;this.Gb=d;this.rb=e;this.ib=[];if("preload"!=this.mode){a=Array(this.Bb);for(b=0;b<a.length;b++){c=Array(this.Cb);for(d=0;d<c.length;d++){e=Array(this.Gb);for(var f=1;f<=e.length;f++)e[f-1]=Fl(null,b,d,f,this.rb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.ib=a}this.of=null};
|
||||
k.load=function(a,b,c,d,e){var f=b;if(!this.Se)if(this.vd=a,this.Ze=b,this.Se=d,this.Im=e||this.ga,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.Bb=d[0];g.Cb=d[1];g.Gb=d[2];g.rb=512;b=g.rb>>2;var e=d=0,a=new DataView(a,0,c);g.ib=Array(g.Bb);for(c=0;c<g.ib.length;c++)for(var f=g.ib[c]=Array(g.Cb),v=0;v<f.length;v++)for(var C=f[v]=Array(g.Gb),U=0;U<C.length;U++){for(var Q=Fl(null,c,v,U+1,g.rb,0),Aa=Q.data,Ha=0;Ha<b;Ha++,e+=4)var ab=Aa[Ha]=a.getInt32(e,
|
||||
!0),d=d+ab&4294967295;Q.Hc=b;C[U]=Q}g.of=d;b=g}else g.Ia("Unrecognized diskette format ("+c+" bytes)");g.Se&&(g.Se.call(g.ga,g.Ra,b,g.vd,g.Ze),g.Se=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Gl(this,b),this.yh=!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"),f=
|
||||
ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.sf?"":d)+"&format=json")),sa(f,!0,null,this,this.Mm,b)};
|
||||
k.Mm=function(a,b,c,d){var e=null;this.tf=!1;var f=0>c&&this.Ma&&!this.Ma.na.Sb;if(this.yh)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Hd=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.vd+'" (error '+c+")",f);else try{if(0<fa(a,!0).toLowerCase().indexOf("-readonly"))this.tf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.tf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.vd]: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{this.Bb=h.length;this.Cb=h[0].length;this.Gb=h[0][0].length;var n=h[0][0][0];this.rb=n&&n.length||512;for(b=a=0;b<this.Bb;b++)for(c=0;c<this.Cb;c++)for(d=0;d<this.Gb;d++)if(n=h[b][c][d]){var m=n.length;void 0===m&&(m=n.length=512);var m=m>>2,t=n.pattern;void 0===t&&(t=n.pattern=0);var r=n.data;if(void 0===r){var u=n.bytes;if(void 0!==u&&u.length){for(var f=
|
||||
m<<2,x=u.length;x<f;x++)u[x]=t;this.fill(n,u,0)}else r=[],t=n.pattern=t|t<<8|t<<16|t<<24,n.data=r;delete n.bytes}Fl(n,b,c);for(f=0;f<r.length;f++)a=a+r[f]&4294967295}this.ib=h;this.of=a;e=this}else w("Empty disk image: "+this.vd)}catch(v){w("Disk image error: "+v.message)}this.Se&&(this.Se.call(this.Im,this.Ra,e,this.vd,this.Ze),this.Se=null)};function Fl(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ym=b;a.$m=c;a.gd=a.Hc=0;a.xb=!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 n=0;h--;){var m=this.seek(e,f,g,!0);if(!m)break;this.fill(m,b,n);n+=m.length;g++}}(d=d[5])&&d(c,a)};function Gl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.Cb+":"+a.Gb+":"+a.rb;c+="&machine="+a.ga.uf();c+="&user="+a.ga.ke();return ta()+"/api/v1/disk?"+c}
|
||||
function Hl(a,b,c,d,e,f){if(a.Hd){var g;g="action=read&volume="+a.Ze;g+="&chs="+a.Bb+":"+a.Cb+":"+a.Gb+":"+a.rb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ga.uf());g+="&user="+a.ga.ke();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.no,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Il(a,b,c){b.xb=!0;var d=a.ze.indexOf(b);0<=d&&(a.ze.splice(d,1),a.Tg.splice(d,1));a.ze.push(b);a.Tg.push(oa());c&&Jl(a)}
|
||||
function Jl(a){if(a.ze.length){var b=a.Tg[0]+2E3;a.Sd&&a.Zk<b&&(clearTimeout(a.Sd),a.Sd=null);if(!a.Sd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Sd=setTimeout(function(){El(a,!0)},b);a.Zk=c+b}}else a.Sd&&(clearTimeout(a.Sd),a.Sd=null)}
|
||||
function El(a,b){b&&(a.Sd=null);var c=a.ze[0];if(c){for(var d=c.Ym,e=c.$m,c=c.sector,f=0,g=[],h=c-1;h<a.ib[d][e].length;h++){var n=a.ib[d][e][h];if(!n.xb)break;var m=a.ze.indexOf(n);a.ze.splice(m,1);a.Tg.splice(m,1);g=g.concat(Kl(n));n.xb=!1;f++}a.Hd?(h={},a.Oi=!0,h.action="write",h.volume=a.Ze,h.chs=a.Bb+":"+a.Cb+":"+a.Gb+":"+a.rb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ga.uf(),h.user=a.ga.ke(),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}
|
||||
k.so=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Oi=!1;if(0<=a&&a<this.ib.length&&0<=b&&b<this.ib[a].length)for(e-=1;0<f--&&0<=e&&e<this.ib[a][b].length;e++){var g=this.ib[a][b][e];c?Il(this,g,!1):g.xb||(g.gd=g.Hc=0)}d&&Jl(this)};k.info=function(){return this.ib.length?[this.ib.length,this.ib[0].length,this.ib[0][0].length,this.ib[0][0][0].length]:[0,0,0,0]};
|
||||
k.seek=function(a,b,c,d,e){var f=null,g=this.Ra,h=this.ib[a];if(h){var n=h[b];if(!n&&g.ri&&b<g.Cb)for(n=h[b]=Array(g.ce),h=0;h<n.length;h++)n[h]=Fl(null,a,b,h+1,g.kb,0);if(n){for(h=0;h<n.length;h++)if(n[h]&&n[h].sector==c){f=n[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<n.length;)null===n[h].pattern&&d++;Hl(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.ri&&9==g.$a&&(f=n[h]=Fl(null,a,b,g.$a,g.kb,0))}}e&&e(f,!1);return f};
|
||||
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function Kl(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Ll(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
|
||||
k.write=function(a,b,c){if(this.tf)return!1;if(b<a.length){if(c!=Ll(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f<a.gd?(a.Hc+=a.gd-f,a.gd=f):f>=a.gd+a.Hc&&(a.Hc+=f-(a.gd+a.Hc)+1):(a.gd=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Hd&&Il(this,a,!0)}return!0}return null};
|
||||
k.save=function(){var a=0,b=[];b[a++]=[this.Ze,this.of,this.Bb,this.Cb,this.Gb,this.rb];if(!this.Hd&&!this.tf)for(var c=this.ib,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Hc){for(var h=[],n=0,m=g.gd,t=g.gd+g.Hc;m<t;)h[n++]=g.data[m++];b[a++]=[d,e,f,g.gd,h]}}return b};
|
||||
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.ib.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.of&&e[1]!=this.of&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.of+")",b=-1));for(this.ib.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],n=g[f++],m=g[f++];if(h>=this.ib.length||n>=this.ib[h].length||m>=this.ib[h][n].length){c="sector "+h+":"+n+":"+m+" out of range ("+
|
||||
b+" changes applied)";b=-1;break}if(this.tf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.ib[h][n][m]){for(n=h.data.length;n<e;)h.data[n++]=h.pattern;n=0;h.gd=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[n++];b++}}}0>b&&this.ga.Ia("unable to restore disk '"+this.vd+": "+c);return b};
|
||||
k.toJSON=function(){var a=JSON.stringify(this.ib),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,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')};
|
||||
function Ll(a){y.call(this,"FDC",a,Ll,Ml);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaFormat=this.Im;this.Me=null;if(a.autoMount&&(this.Me=a.autoMount,"string"==typeof this.Me))try{this.Me=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Me=null}this.Ac=[];this.Kk=!Ca("Mobi")&&window&&"FileReader"in window}Xa(y,Ll);l={};ba={};
|
||||
var Nl={3:{Fd:3,ge:0,name:ba.iq},4:{Fd:2,ge:1,name:ba.gq},5:{Fd:9,ge:7,name:ba.uq},6:{Fd:9,ge:7,name:ba.aq},7:{Fd:2,ge:0,name:ba.cq},8:{Fd:1,ge:2,name:ba.hq},10:{Fd:2,ge:7,name:ba.bq},13:{Fd:6,ge:7,name:ba.Np},15:{Fd:3,ge:0,name:ba.fq}};k=Ll.prototype;
|
||||
k.Ib=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){x("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=ea(c.value,10);null!=a&&Ol(d,a)},!0;
|
||||
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Pl(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Kk?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Pl(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.pa=ib(a,"ChipSet");this.Nd();xb(b,this,Ql);Bb(b,this,Rl);this.Kk&&Sl(this,"Local Disk","?");Sl(this,"Remote Disk","??");this.Zf()||this.Wa()};
|
||||
k.ec=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Ki){this.Ac=[];for(var c=0;c<this.Fa.length;c++)Tl(this,c,!0);this.Zf(!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.cj;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.cj&&(c.value="0",Ol(this,0))}}return!0};
|
||||
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Nd()};k.save=function(){var a=new sd(this);a.set(0,this.$j());return a.data()};k.restore=function(a){return this.Nd(a[0])};
|
||||
k.Nd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.mb=a[b++];b++;this.Ca=a[b++];this.jc=a[b++];this.Db=a[b++];this.lb=a[b++];this.Lf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.Ac=c);void 0===this.Fa&&(this.cj=4,this.pa&&(this.cj=aj(this.pa)),this.Fa=Array(4));for(c=0;c<this.Fa.length;c++){var f=this.Fa[c];if(void 0===f){var f=this.Fa[c]={},g;if(this.pa)a:{g=this.pa;if(c<aj(g)){if(!g.Yd){g=360;break a}if(c<g.Yd.length){g=g.Yd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.Cb=
|
||||
1;default:f.Bb=40;f.Hb=9;break;case 720:f.Bb=80;f.Hb=9;break;case 1200:f.Bb=80;f.Hb=15;break;case 1440:f.Bb=80,f.Hb=18}}this.Ti(f,c,e[c])||(d=!1)}this.ve=a[b++]||0;this.im=a[b]||0;return d};k.$j=function(){var a=0,b=[];b[a++]=this.mb;b[a++]=0;b[a++]=this.Ca;b[a++]=this.jc;b[a++]=this.Db;b[a++]=this.lb;b[a++]=this.Lf;b[a++]=this.bk();for(var c=a++,d=0;d<this.Fa.length;d++){var e=this.Fa[d];e.za&&Ul(this,e.af,e.za)}b[c]=this.Ac;b[a++]=this.ve;b[a]=this.im;return b};
|
||||
k.Ti=function(a,b,c){var d=0,e=!0;a.mb=b;a.Kc=a.sf=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.Bb||40,a.Cb||c[3],a.Hb||9,a.pb||512,c[1],a.Lh,a.ug,a.vg]);a.eb=c[d++];var f=c[d++];a.name=f[0];a.Bb=f[1];a.Cb=f[2];a.Hb=f[3];a.pb=f[4];a.tf=f[5];(a.Lh=f[6])?(a.ug=f[7],a.vg=f[8]):(a.Lh=a.Bb,a.ug=a.Cb,a.vg=a.Hb);a.Qa=c[d++];a.ce=c[d++];a.vb=c[d++];a.ce=100<=a.ce?a.ce-100:a.ce-a.vb;a.ab=c[d++];a.ee=c[d++];a.kb=c[d++];a.Ua=c[d++];a.Ya=null;a.za||(a.af="");var g=c[d++];
|
||||
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.Fa[b],Tl(this,b,!0,!0),d.sf=!0,b=new Al(this,d,"preload"),this.Dk(d,b,f,c,!0)):Vl(this,b,f,c,!0)?a.za&&c&&Wl(this,f,c,a.za):this.Wa(!1)):void 0!==g&&a.za&&0>a.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.Ua&&(a.Ya=a.za.seek(a.vb,a.Qa,a.ab));return e};k.bk=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.ak(this.Fa[c]);return b};
|
||||
k.ak=function(a){var b=0,c=[];c[b++]=a.eb;c[b++]=[a.name,a.Bb,a.Cb,a.Hb,a.pb,a.tf,a.Lh,a.ug,a.vg];c[b++]=a.Qa;c[b++]=a.ce+100;c[b++]=a.vb;c[b++]=a.ab;c[b++]=a.ee;c[b++]=a.kb;c[b++]=a.Ua;c[b++]=a.sf;c[b++]=a.nm;c[b]=a.af;return c};k.Bk=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.vb=Math.floor(b/f),b%=f,a.Qa=Math.floor(b/e),a.ab=b%e+1,a.kb=c*d[3],a.eb=0,!0}return!1};
|
||||
k.Zf=function(a){a||(this.Ie=0);if(this.Me)for(var b in this.Me){var c=this.Me[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Fa.length){!Vl(this,d,c.name,c.path,!0)&&a&&this.Wa(!1);continue}}this.Ia("Unrecognized auto-mount specification for drive "+b)}return!!this.Ie};
|
||||
function Pl(a,b,c,d){var e,f=a.xa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.Fa.length)if(c)if("?"==c)a.Ia('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ga(c);a.Z("Attempting to load "+c+' as "'+b+'"')}for(a.Z("loading disk "+c+"...");Vl(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,
|
||||
g=c,h=void 0,h=0;h<f.Ac.length;h++)if(f.Ac[h][1]==g){f.Ac.splice(h,1);break}Tl(a,e,!1,!0)}}else Tl(a,e);else a.Ia("Nothing to load")}function Vl(a,b,c,d,e,f){var g=a.Fa[b];if(d&&g.af!=d){Tl(a,b,e,!0);if(g.Kc)return a.Ia("Drive "+b+" busy"),!0;g.Kc=!0;e&&(g.Qe=!0,a.Ie++,a.va()&&a.qb("loading diskette '"+c+"'"));g.sf=!!f;(new Al(a,g,"preload")).load(c,d,f,a.Dk);return!1}return!0}
|
||||
k.Dk=function(a,b,c,d,e){var f;a.Kc=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.Cb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.mb)),b=null);b?(a.za=b,a.nm=c,a.af=d,Wl(this,c,d,b),f=b.info(),this.ve|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.mb),a.Qe||e),a.Lh=f[0],a.ug=f[1],a.vg=f[2]):a.sf=!1;a.Qe&&(a.Qe=!1,--this.Ie||this.Wa());Ol(this,a.mb)};
|
||||
function Sl(a,b,c){if(a=a.xa.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function Ol(a,b){if(0<=b&&b<a.Fa.length){var c=a.Fa[b],d=a.xa.listDisks,e=a.xa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.sf?"?":c.af,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function Tl(a,b,c,d){var e=a.Fa[b];e.za&&(Ul(a,e.af,e.za),e.nm="",e.af="",e.za=null,e.sf=!1,a.ve|=128,d||a.Ia("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ol(a,b))}function Wl(a,b,c,d){var e;for(e=0;e<a.Ac.length;e++)if(a.Ac[e][1]==c){d.restore(a.Ac[e][2]);return}a.Ac[e]=[b,c,[]]}function Ul(a,b,c){var d;for(d=0;d<a.Ac.length;d++)if(a.Ac[d][1]==b){a.Ac[d][2]=c.save();break}}k.No=function(a,b,c){B(this,a,b,c,"OUTPUT");b&4?this.Lf&4||this.Lf&8&&this.pa&&yj(this.pa,6):this.Nd();this.Lf=b};
|
||||
k.un=function(a,b){B(this,a,null,b,"STATUS",this.Ca);return this.Ca};k.sn=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.Lf&8&&this.pa&&zj(this.pa,6);this.va()&&B(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Ca&=-81,this.Db=this.lb=0);return c};
|
||||
k.Mo=function(a,b,c){this.va()&&B(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=this.jc[0]&31;if(void 0!==Nl[a]&&this.lb>=Nl[a].Fd){b=!1;this.Db=0;a=this.Sa();var d,e,f,g,h=a&31;switch(h){case 3:this.Sa(l.jq);this.Sa(l.Qp);this.Xb();break;case 4:c=this.Sa(l.Pf);this.mb=c&3;d=this.Fa[this.mb];this.Xb();this.ic((d.eb&4278190080)>>>24,l.mq);break;case 5:case 6:c=this.Sa(l.Pf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];d.Qa=b;c=d.vb=this.Sa(l.hk);e=this.Sa(l.ik);f=d.ab=
|
||||
this.Sa(l.kk);g=this.Sa(l.fi);d.kb=128<<g;d.ee=this.Sa(l.Lp);this.Sa(l.ym);this.Sa(l.Kp);6==h?(h=d,h.eb=72,h.za&&(h.Ya=null,h.eb=0,this.pa&&(rj(this.pa,2,this,"dmaRead",h),jj(this.pa,2)))):(h=d,h.eb=72,h.za&&(h.za.uf?h.eb=576:(h.Ya=null,h.eb=0,this.pa&&(rj(this.pa,2,this,"dmaWrite",h),jj(this.pa,2)))));Xl(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=this.Sa(l.Pf);this.mb=c&3;d=this.Fa[this.mb];d.vb=d.ce=0;d.eb=268435488;this.Xb();b=!0;break;case 8:d=this.Fa[this.mb];d.Qa=0;this.Xb();this.ic(d.mb|d.Qa<<
|
||||
2|d.eb&255,l.Am);this.ic(d.vb,l.Zp);this.mb=this.mb+1&3;break;case 10:c=this.Sa(l.Pf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.vb;e=d.Qa=b;f=d.ab=1;g=0;d.eb=0;d.za&&(d.Ya=d.za.seek(d.vb,d.Qa,d.ab))?g=d.Ya.length:d.eb=72;Xl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Sa(l.Pf);b=c>>2&1;this.mb=c&3;d=this.Fa[this.mb];c=d.vb;e=d.Qa=b;f=1;g=this.Sa(l.fi);d.kb=128<<g;d.ee=this.Sa(l.eq);this.Sa(l.ym);d.rk=this.Sa(l.xm);h=d;h.eb=72;h.za&&(h.Ya=null,h.eb=0,this.pa&&(h.mf=0,h.Pc=Array(4),h.ri=!0,h.nh=
|
||||
0,rj(this.pa,2,this,"dmaFormat",h),jj(this.pa,2),h.ri=!1));Xl(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=this.Sa(l.Pf),this.mb=c&3,d=this.Fa[this.mb],d.Qa=c>>2&1,c=this.Sa(l.Wp),d.vb+=c-d.ce,0>d.vb&&(d.vb=0),d.vb>=d.Bb&&(d.vb=d.Bb-1),d.ce=c,d.eb=32,d.vb||(d.eb|=268435456),this.Xb(),b=!0}0<this.lb&&(this.Ca|=80);this.Lf&8&&(!d||d.eb&8||!b||this.pa&&yj(this.pa,6))}};k.tn=function(a,b){var c=this.ve;this.ve&=-129;B(this,a,null,b,"INPUT",c);return c};
|
||||
k.Lo=function(a,b,c){B(this,a,b,c,"CONTROL");this.im=b};function Xl(a,b,c,d,e,f,g,h){a.Xb();a.ic(b.mb|b.Qa<<2|b.eb&255,l.Am);a.ic((b.eb&65280)>>>8,l.kq);a.ic((b.eb&16711680)>>>16,l.lq);var n=0;if(e!=b.vb||f!=b.Qa)n=g=1;c&128&&(f^=n,d||(n=0));a.ic(e+n,l.hk);a.ic(f,l.ik);a.ic(g,l.kk);a.ic(h,l.fi)}k.Sa=function(){var a=this.jc[this.Db];this.Db++;return a};k.Xb=function(){this.Db=this.lb=0};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
|
||||
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Im=function(a,b){return void 0!==b&&0<=b?this.dk(a,b):-1};k.yc=function(a,b){var c=-1;if(!a.eb&&a.za){do{if(a.Ya&&0<=(c=Kl(a.Ya,a.Ua++)))break;a.Ya=a.za.seek(a.vb,a.Qa,a.ab);if(!a.Ya){a.eb=1088;break}a.Ua=0;this.Xf(a)}while(1)}b(c,!1)};k.Mc=function(a,b){if(a.eb||!a.za)return-1;do{if(a.Ya&&a.za.write(a.Ya,a.Ua++,b))break;a.Ya=a.za.seek(a.vb,a.Qa,a.ab);if(!a.Ya){a.eb=8256;b=-1;break}a.Ua=0;this.Xf(a)}while(1);return b};
|
||||
k.Xf=function(a){a.ab++;a.ab>=a.vg+1&&(a.ab=1,a.Qa++,a.Qa>=a.ug&&(a.Qa=0,a.vb++))};k.dk=function(a,b){if(a.eb)return-1;a.Pc[a.mf++]=b;if(a.mf==a.Pc.length){a.vb=a.Pc[0];a.Qa=a.Pc[1];a.ab=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.mf=0;c<a.kb;c++)if(0>this.Mc(a,a.rk))return-1;a.nh++}a.nh>=a.ee&&(b=-1);return b};var Ql={1012:Ll.prototype.un,1013:Ll.prototype.sn,1015:Ll.prototype.tn},Rl={1010:Ll.prototype.No,1013:Ll.prototype.Mo,1015:Ll.prototype.Lo};
|
||||
Ka(function(){for(var a=A(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ll(d);bb(d,c)}});function W(a){y.call(this,"HDC",a,W,Yl);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaWriteBuffer=this.Jm;this.dmaWriteFormat=this.Km;this.hi=[];if(a.drives)try{this.hi=eval("("+a.drives+")")}catch(b){x("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.ng=(this.Pe="at"==a.type)?1:0;this.Ym=this.Pe?2:3}Xa(y,W);
|
||||
var Zl=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.Ib=function(){return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.pa=ib(a,"ChipSet");xb(b,this,this.Pe?$l:am);Bb(b,this,this.Pe?bm:cm);kd(c,19,this,this.Xn);kd(c,64,this,this.Yn);this.reset();this.Zf()||this.Wa()};
|
||||
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.Nd(),this.Ma.Ki&&this.Zf(!0);else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};k.vf=function(){return this.Ma?this.Ma.vf():""};k.me=function(){return this.Ma?this.Ma.me():""};k.reset=function(){this.Nd(null,!0)};k.save=function(){var a=new sd(this);a.set(0,this.$j());return a.data()};k.restore=function(a){return this.Nd(a[0])};
|
||||
k.Nd=function(a,b){var c=0,d=!0;if(this.Pe)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.ue=a[c++],this.mm=a[c++],this.we=a[c++],this.Xh=a[c++],this.Vh=a[c++],this.Uh=a[c++],this.Kf=a[c++],this.Ca=a[c++],this.Wj=a[c++],this.Wh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Jf=a[c++];this.Ca=a[c++];this.jc=a[c++];this.Db=a[c++];this.lb=a[c++];this.lm=a[c++];this.km=a[c++];this.jm=a[c++];var e=a[c++];void 0!==e?this.wf=e:void 0===this.wf&&(this.wf=-1)}void 0===this.Fa&&(this.Fa=Array(this.hi.length));
|
||||
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Fa.length;e++){void 0===this.Fa[e]&&(this.Fa[e]={});var f=this.Fa[e];this.Ti(e,f,this.hi[e],c[e],b)||(d=!1);null!=this.Jf&&1>=e&&(this.Jf|=(f.type&3)<<(1-e<<1))}return d};
|
||||
k.$j=function(){var a=0,b=[];this.Pe?(b[a++]=this.ue,b[a++]=this.mm,b[a++]=this.we,b[a++]=this.Xh,b[a++]=this.Vh,b[a++]=this.Uh,b[a++]=this.Kf,b[a++]=this.Ca,b[a++]=this.Wj,b[a++]=this.Wh):(b[a++]=this.Jf,b[a++]=this.Ca,b[a++]=this.jc,b[a++]=this.Db,b[a++]=this.lb,b[a++]=this.lm,b[a++]=this.km,b[a++]=this.jm,b[a++]=this.wf);b[a]=this.bk();return b};
|
||||
k.Ti=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.mb=a;b.errorCode=d[f++];b.sm=d[f++];b.tf=d[f++];b.jf=d[f++];b.kf=d[f++];b.Qa=d[f++];b.Cb=d[f++];b.Vd=d[f++];b.ab=d[f++];b.ee=d[f++];b.kb=d[f++];b.ih=this.Pe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.me()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Zl[this.ng][b.type])b.type=this.Ym;c=Zl[this.ng][b.type];
|
||||
b.Hb=c[2]||17;b.pb=c[3]||512;if(e&&this.pa&&(e=this.pa,c=b.type,e.ma)){var h=e.ma[18],h=a?h&240|c:h&15|c<<4;e.ma&&(e.ma[18]=h,Ti(e))}void 0===b.za&&(b.za=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));dm(this,b);b.Ua=d[f++];b.Ya=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.Ua&&(b.Ya=b.za.seek(b.Vd,b.Qa,b.ab+b.ih)));return g};k.bk=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.ak(this.Fa[c]);return b};
|
||||
k.ak=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.sm;c[b++]=a.tf;c[b++]=a.jf;c[b++]=a.kf;c[b++]=a.Qa;c[b++]=a.Cb;c[b++]=a.Vd;c[b++]=a.ab;c[b++]=a.ee;c[b++]=a.kb;c[b++]=a.Ua;c[b]=a.za?a.za.save():null;return c};k.Bk=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
|
||||
function dm(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.jf[2])?e=b.jf[0]<<8|b.jf[1]:c=b.type);null==c||d||(d=Zl[a.ng][c][1],e=Zl[a.ng][c][0]);d&&((c=Zl[a.ng][b.type])&&e!=c[0]&&d!=c[1]&&a.Ia("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.Cb=d,null==b.za&&(b.za=new Al(a,b,b.mode)))}}
|
||||
k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Vd=Math.floor(b/g),b%=g,a.Qa=Math.floor(b/f),a.ab=b%f,a.kb=c*d[3],a.errorCode=0,!0}}return!1};
|
||||
k.Zf=function(a){a||(this.Ie=0);for(var b=0;b<this.Fa.length;b++){var c=this.Fa[b];if(c.name&&c.path){if(!(a&&c.za&&c.za.xh)){var d;d=c.name;var c=c.path,e=this.Fa[b];e.Kc?(this.Ia("Drive "+b+" busy"),d=!0):(e.Kc=!0,e.Qe=!0,this.Ie++,this.va()&&this.qb("loading "+d),(e.za||new Al(this,e,e.mode)).load(d,c,null,this.Mm),d=!1);!d&&a&&this.Wa(!1)}}else a&&void 0!==c.type&&(c.za=null,dm(this,c,c.type))}return!!this.Ie};
|
||||
k.Mm=function(a,b,c){a.Kc=!1;(a.za=b)&&this.Ia('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.mb),a.Qe);a.Qe&&(a.Qe=!1,--this.Ie||this.Wa())};k.Un=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.pa&&zj(this.pa,5);this.Ca&=-33;B(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Db=this.lb=0,this.Ca&=-15);return c};
|
||||
k.ip=function(a,b,c){B(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=12!=this.jc[0]?6:this.jc.length;6==this.lb&&(this.Ca&=-2);this.lb>=a&&(this.Ca|=2,this.Ca&=-2,em(this))};k.Vn=function(a,b){var c=this.Ca;B(this,a,null,b,"STATUS",c);this.Db<this.lb&&(this.Ca|=1);return c};k.lp=function(a,b,c){B(this,a,b,c,"RESET");this.lm=b;this.pa&&zj(this.pa,5);this.Nd()};k.Tn=function(a,b){B(this,a,null,b,"CONFIG",this.Jf);return this.Jf};
|
||||
k.kp=function(a,b,c){B(this,a,b,c,"PULSE");this.km=b;this.Ca=13};k.jp=function(a,b,c){B(this,a,b,c,"PATTERN");this.jm=b};k.Rj=function(a,b,c){B(this,a,b,c,"NOISE")};
|
||||
k.en=function(a,b){var c=-1;if(this.Ra)if(c=this.yc(this.Ra),1==this.Ra.Ua)this.va(P|Yl)&&B(this,a,null,b,"DATA["+this.Ra.Ua+"]",c);else if(this.Ra.Ua==this.Ra.pb)if(this.Ra.kb-=this.Ra.pb,this.we=this.we-1&255,this.Ra.kb>=this.Ra.pb){var d=this;d.Ca=136;this.yc(this.Ra,function(a){0<=a?(fm(d),d.Ca=80):(d.Ca=1,d.ue=16)},!1)}else this.Ca=80;return c};
|
||||
k.xo=function(a,b,c){this.Ra&&this.Ra.kb>=this.Ra.pb&&(0>this.Mc(this.Ra,b)?(this.Ca=1,this.ue=16):1==this.Ra.Ua?this.va(P|Yl)&&B(this,a,b,c,"DATA["+this.Ra.Ua+"]"):this.Ra.Ua==this.Ra.pb&&(this.Ra.kb-=this.Ra.pb,this.we=this.we-1&255,fm(this),this.Ca=80,this.Ra.kb>=this.Ra.pb&&(this.Ca|=8)))};k.gn=function(a,b){var c=this.ue;B(this,a,null,b,"ERROR",c);return c};k.Co=function(a,b,c){B(this,a,b,c,"WPREC");this.mm=b};k.hn=function(a,b){var c=this.we;B(this,a,null,b,"SECCNT",c);return c};
|
||||
k.Ao=function(a,b,c){B(this,a,b,c,"SECCNT");this.we=b};k.jn=function(a,b){var c=this.Xh;B(this,a,null,b,"SECNUM",c);return c};k.Bo=function(a,b,c){B(this,a,b,c,"SECNUM");this.Xh=b};k.dn=function(a,b){var c=this.Vh;B(this,a,null,b,"CYLLO",c);return c};k.wo=function(a,b,c){B(this,a,b,c,"CYLLO");this.Vh=b};k.cn=function(a,b){var c=this.Uh;B(this,a,null,b,"CYLHI",c);return c};k.vo=function(a,b,c){B(this,a,b,c,"CYLHI");this.Uh=b};k.fn=function(a,b){var c=this.Kf;B(this,a,null,b,"DRVHD",c);return c};
|
||||
k.yo=function(a,b,c){B(this,a,b,c,"DRVHD");this.Kf=b;this.Ca=this.Fa[this.Kf&16?1:0]?this.Ca|64:this.Ca&-65};k.kn=function(a,b){var c=this.Ca;B(this,a,null,b,"STATUS",c);return c};k.uo=function(a,b,c){B(this,a,b,c,"COMMAND");this.Wj=b;this.pa&&zj(this.pa,14);gm(this)};k.zo=function(a,b,c){B(this,a,b,c,"FDR");this.Wh&4&&!(b&4)&&(this.ue=1);this.Wh=b};
|
||||
function gm(a){var b=!1,c=a.Wj,d=a.Kf&16?1:0,e=a.Kf&15,f=a.Vh|(a.Uh&3)<<8,g=a.Xh,h=a.we||256;a.Ra=null;a.ue=0;a.Ca=80;(d=a.Fa[d])?(d.Vd=f,d.Qa=e,d.ab=g,d.kb=h*d.pb,c=144<=c?c:c&240,d.Ya=null,d.Ua=0,d.errorCode=0,a.Ra=d):c=-1;switch(c&240){case 32:a.Ca=136;a.yc(d,function(b){0<=b&&a.pa?(fm(a),a.Ca=80):(a.Ca=1,a.ue=16)},!1);break;case 48:a.Ca=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.ue=1;b=!0;break;case 145:d.Cb=e+1,d.Hb=h,b=!0}b&&fm(a)}
|
||||
function fm(a){!a.pa||a.Wh&2||yj(a.pa,14,120)}
|
||||
function em(a){a.Db=0;var b=a.Sa(),c=a.Sa(),d=c&32,e=d>>5,f=c&31,g=a.Sa(),h=a.Sa(),n=g<<2&768|h,m=g&63,s=a.Sa(),r=a.Sa(),t=a.Fa[e];t&&(t.Vd=n,t.Qa=f,t.ab=m,t.kb=s*t.pb);switch(b){case 3:a.Xb(t?t.errorCode:4);a.ic(c);a.ic(g);a.ic(h);a.ic(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Sa());)t&&c<t.jf.length&&(t.jf[c++]=b);t&&dm(a,t);b=0;t||a.wf!=e||(a.wf=-1,b=2);a.Xb(b|d);b=-1;break;case 224:case 228:a.Xb(0|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=0,t.sm=0),b){case 0:a.Xb(0|d);break;case 1:t.Aq=
|
||||
r;a.Xb(0|d);break;case 5:a.Xb(0|d);break;case 8:hm(a,t,function(b){a.Xb(b|d)});break;case 10:im(a,t,function(b){a.Xb(b|d)});break;case 15:jm(a,t,function(b){a.Xb(b|d)});break;default:a.Xb(2|d)}}k.Sa=function(){var a=-1;this.Db<this.lb&&(a=this.jc[this.Db++]);return a};k.Xb=function(a){this.Db=this.lb=0;void 0!==a&&this.ic(a);this.pa&&yj(this.pa,5);this.Ca|=32};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
|
||||
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Jm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ua<a.kf.length?a.kf[a.Ua++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Km=function(a,b){return void 0!==b&&0<=b?this.dk(a,b):-1};function hm(a,b,c){b.errorCode=4;if(b.za&&(b.Ya=null,a.pa)){b.errorCode=0;rj(a.pa,3,a,"dmaRead",b);jj(a.pa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
|
||||
function im(a,b,c){b.errorCode=4;if(b.za&&(b.Ya=null,a.pa)){b.errorCode=0;rj(a.pa,3,a,"dmaWrite",b);jj(a.pa,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function jm(a,b,c){b.errorCode=4;b.kf&&b.kf.length==b.kb||(b.kf=Array(b.kb));b.Ua=0;a.pa?(b.errorCode=0,rj(a.pa,3,a,"dmaWriteBuffer",b),jj(a.pa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
|
||||
k.yc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ya&&(d=Kl(a.Ya,a.Ua),a.Ua+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.za)return a.za.seek(a.Vd,a.Qa,a.ab+a.ih,!1,function(c,h){(a.Ya=c)?(a.Ua=0,f.Xf(a),d=Kl(a.Ya,a.Ua),a.Ua+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
|
||||
k.Mc=function(a,b){if(a.errorCode)return-1;do{if(a.Ya&&a.za.write(a.Ya,a.Ua++,b))break;a.za&&a.za.seek(a.Vd,a.Qa,a.ab+a.ih,!0,function(b){a.Ya=b});if(!a.Ya){a.errorCode=20;b=-1;break}a.Ua=0;this.Xf(a)}while(1);return b};k.Xf=function(a){a.ab++;var b=1-a.ih;a.ab>=a.Hb+b&&(a.ab=b,a.Qa++,a.Qa>=a.Cb&&(a.Qa=0,a.Vd++))};
|
||||
k.dk=function(a,b){if(a.errorCode)return-1;a.Pc[a.mf++]=b;if(a.mf==a.Pc.length){a.Vd=a.Pc[0];a.Qa=a.Pc[1];a.ab=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.mf=0;c<a.kb;c++)if(0>this.Mc(a,a.rk))return-1;a.nh++}a.nh>=a.ee&&(b=-1);return b};k.Xn=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.wf=a-128);return!0};k.Yn=function(){var a;(a=this.T.H>>8)||(a=!this.pa)||(a=!(this.pa.Wb[0].pd&64));return a?!0:!1};
|
||||
var am={800:W.prototype.Un,801:W.prototype.Vn,802:W.prototype.Tn},$l={496:W.prototype.en,497:W.prototype.gn,498:W.prototype.hn,499:W.prototype.jn,500:W.prototype.dn,501:W.prototype.cn,502:W.prototype.fn,503:W.prototype.kn},cm={800:W.prototype.ip,801:W.prototype.lp,802:W.prototype.kp,803:W.prototype.jp,807:W.prototype.Rj,811:W.prototype.Rj,815:W.prototype.Rj},bm={496:W.prototype.xo,497:W.prototype.Co,498:W.prototype.Ao,499:W.prototype.Bo,500:W.prototype.wo,501:W.prototype.vo,502:W.prototype.yo,503:W.prototype.uo,
|
||||
1014:W.prototype.zo};Ka(function(){for(var a=A(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);bb(d,c)}});
|
||||
function km(a){y.call(this,"Debugger",a,km);this.lh=this.hd=-1;this.Le=5;this.Nc=[0,0];this.lk=[0,0];this.Tc=-1;this.Oc=[];this.qf=!1;this.ye=[0,0];this.Cc=[];lm(this);mm(this);nm(this,a.messages);this.tb={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Yj=a.commands;var b=this;window&&void 0===window.$&&(window.$=function(a){return om(b,a)})}
|
||||
var Ob=1,md=16,pf=32,Fb=64,P=128,N=256,Sd=512,Gi=1024,Ii=2048,Oj=4096,Hj=8192,qi=16384,Xj=32768,kk=131072,Ml=262144,Yl=524288,Cl=1048576,ol=2097152,Pj=4194304,xl=16777216,of=536870912,qf=1073741824;Xa(y,km);
|
||||
var Ki=26,pm={16:kk,19:Ml,21:qi,22:Xj,28:Gi,33:67108864,51:xl},qm={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},rm="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
|
||||
Y="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),sm="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),tm={cpu:Ob,seg:2,desc:4,tss:8,"int":md,fault:pf,mem:Fb,port:P,dma:N,pic:Sd,timer:Gi,cmos:Ii,rtc:Oj,8042:Hj,chipset:qi,kbd:Xj,key:65536,video:kk,fdc:Ml,hdc:Yl,disk:Cl,serial:ol,speaker:Pj,state:8388608,mouse:xl,computer:33554432,dos:67108864,data:134217728,log:268435456,warn:of,halt:qf},Z=[0,0],um=[205,12291],vm=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],
|
||||
[6,12385,4097],[6,14435,4100],[137,4211],[134,8307],[130,12417,4257],[130,12420,4260],[130,12449,4225],[130,12452,4228],[130,12385,4097],[130,14435,4100],[137,4467],[134,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],[5,12452,4228],[5,12385,4097],[5,14435,4100],[137,4723],[134,8819],[150,12417,4257],[150,12420,4260],[150,12449,4225],[150,12452,4228],[150,12385,4097],[150,14435,4100],[137,4979],[134,9075],[7,12417,4257],[7,12420,4260],[7,12449,4225],[7,12452,4228],[7,12385,4097],[7,14435,4100],
|
||||
[35,15],[29],[184,12417,4257],[184,12420,4260],[184,12449,4225],[184,12452,4228],[184,12385,4097],[184,14435,4100],[27,15],[30],[191,12417,4257],[191,12420,4260],[191,12449,4225],[191,12452,4228],[191,12385,4097],[191,14435,4100],[177,15],[1],[24,4225,4257],[24,4228,4260],[24,4257,4225],[24,4260,4228],[24,4193,4097],[24,6243,4100],[33,15],[4],[75,14435],[75,14691],[75,14947],[75,15203],[75,15459],[75,15715],[75,15971],[75,16227],[31,14435],[31,14691],[31,14947],[31,15203],[31,15459],[31,15715],[31,
|
||||
15971],[31,16227],[137,6243],[137,6499],[137,6755],[137,7011],[137,7267],[137,7523],[137,7779],[137,8035],[134,10339],[134,10595],[134,10851],[134,11107],[134,11363],[134,11619],[134,11875],[134,12131],[138,32768],[135,32768],[10,37028,4247],[8,8323,4259],[64,49152],[70,49152],[131,49152],[9,49152],[137,36868],[73,45219,4234],[137,36866],[73,45219,4233],[76,41041,6755],[76,41044,6755],[133,39523,4161],[133,39523,4164],[95,4145],[91,4145],[82,4145],[90,4145],[98,4145],[94,4145],[81,4145],[89,4145],
|
||||
function Ml(a){y.call(this,"FDC",a,Ml,Nl);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaFormat=this.Jm;this.Me=null;if(a.autoMount&&(this.Me=a.autoMount,"string"==typeof this.Me))try{this.Me=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Me=null}this.Ac=[];this.Lk=!za("Mobi")&&window&&"FileReader"in window}Wa(y,Ml);l={};aa={};
|
||||
var Ol={3:{Dd:3,ee:0,name:aa.kq},4:{Dd:2,ee:1,name:aa.iq},5:{Dd:9,ee:7,name:aa.wq},6:{Dd:9,ee:7,name:aa.cq},7:{Dd:2,ee:0,name:aa.eq},8:{Dd:1,ee:2,name:aa.jq},10:{Dd:2,ee:7,name:aa.dq},13:{Dd:6,ee:7,name:aa.Pp},15:{Dd:3,ee:0,name:aa.hq}};k=Ml.prototype;
|
||||
k.Hb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=da(c.value,10);null!=a&&Pl(d,a)},!0;
|
||||
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Ql(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Lk?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ql(d,fa(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");this.Ld();xb(b,this,Rl);Bb(b,this,Sl);this.Lk&&Tl(this,"Local Disk","?");Tl(this,"Remote Disk","??");this.Zf()||B(this)};
|
||||
k.ec=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Ki){this.Ac=[];for(var c=0;c<this.Fa.length;c++)Ul(this,c,!0);this.Zf(!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.dj;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.dj&&(c.value="0",Pl(this,0))}}return!0};
|
||||
k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ld()};k.save=function(){var a=new sd(this);a.set(0,this.ak());return a.data()};k.restore=function(a){return this.Ld(a[0])};
|
||||
k.Ld=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.nb=a[b++];b++;this.Ca=a[b++];this.jc=a[b++];this.Db=a[b++];this.lb=a[b++];this.Lf=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.Ac=c);void 0===this.Fa&&(this.dj=4,this.oa&&(this.dj=aj(this.oa)),this.Fa=Array(4));for(c=0;c<this.Fa.length;c++){var f=this.Fa[c];if(void 0===f){var f=this.Fa[c]={},g;if(this.oa)a:{g=this.oa;if(c<aj(g)){if(!g.Wd){g=360;break a}if(c<g.Wd.length){g=g.Wd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.Cb=
|
||||
1;default:f.Bb=40;f.Gb=9;break;case 720:f.Bb=80;f.Gb=9;break;case 1200:f.Bb=80;f.Gb=15;break;case 1440:f.Bb=80,f.Gb=18}}this.Ui(f,c,e[c])||(d=!1)}this.ue=a[b++]||0;this.im=a[b]||0;return d};k.ak=function(){var a=0,b=[];b[a++]=this.nb;b[a++]=0;b[a++]=this.Ca;b[a++]=this.jc;b[a++]=this.Db;b[a++]=this.lb;b[a++]=this.Lf;b[a++]=this.ck();for(var c=a++,d=0;d<this.Fa.length;d++){var e=this.Fa[d];e.za&&Vl(this,e.$e,e.za)}b[c]=this.Ac;b[a++]=this.ue;b[a]=this.im;return b};
|
||||
k.Ui=function(a,b,c){var d=0,e=!0;a.nb=b;a.Kc=a.rf=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.Bb||40,a.Cb||c[3],a.Gb||9,a.rb||512,c[1],a.Mh,a.ug,a.vg]);a.eb=c[d++];var f=c[d++];a.name=f[0];a.Bb=f[1];a.Cb=f[2];a.Gb=f[3];a.rb=f[4];a.sf=f[5];(a.Mh=f[6])?(a.ug=f[7],a.vg=f[8]):(a.Mh=a.Bb,a.ug=a.Cb,a.vg=a.Gb);a.Qa=c[d++];a.ae=c[d++];a.vb=c[d++];a.ae=100<=a.ae?a.ae-100:a.ae-a.vb;a.$a=c[d++];a.ce=c[d++];a.kb=c[d++];a.Va=c[d++];a.Xa=null;a.za||(a.$e="");var g=c[d++];
|
||||
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.Fa[b],Ul(this,b,!0,!0),d.rf=!0,b=new Bl(this,d,"preload"),this.Ek(d,b,f,c,!0)):Wl(this,b,f,c,!0)?a.za&&c&&Xl(this,f,c,a.za):B(this,!1)):void 0!==g&&a.za&&0>a.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.Va&&(a.Xa=a.za.seek(a.vb,a.Qa,a.$a));return e};k.ck=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.bk(this.Fa[c]);return b};
|
||||
k.bk=function(a){var b=0,c=[];c[b++]=a.eb;c[b++]=[a.name,a.Bb,a.Cb,a.Gb,a.rb,a.sf,a.Mh,a.ug,a.vg];c[b++]=a.Qa;c[b++]=a.ae+100;c[b++]=a.vb;c[b++]=a.$a;c[b++]=a.ce;c[b++]=a.kb;c[b++]=a.Va;c[b++]=a.rf;c[b++]=a.nm;c[b]=a.$e;return c};k.Ck=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.vb=Math.floor(b/f),b%=f,a.Qa=Math.floor(b/e),a.$a=b%e+1,a.kb=c*d[3],a.eb=0,!0}return!1};
|
||||
k.Zf=function(a){a||(this.Ie=0);if(this.Me)for(var b in this.Me){var c=this.Me[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Fa.length){!Wl(this,d,c.name,c.path,!0)&&a&&B(this,!1);continue}}this.Ia("Unrecognized auto-mount specification for drive "+b)}return!!this.Ie};
|
||||
function Ql(a,b,c,d){var e,f=a.xa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.Fa.length)if(c)if("?"==c)a.Ia('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c);a.Z("Attempting to load "+c+' as "'+b+'"')}for(a.Z("loading disk "+c+"...");Wl(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,
|
||||
g=c,h=void 0,h=0;h<f.Ac.length;h++)if(f.Ac[h][1]==g){f.Ac.splice(h,1);break}Ul(a,e,!1,!0)}}else Ul(a,e);else a.Ia("Nothing to load")}function Wl(a,b,c,d,e,f){var g=a.Fa[b];if(d&&g.$e!=d){Ul(a,b,e,!0);if(g.Kc)return a.Ia("Drive "+b+" busy"),!0;g.Kc=!0;e&&(g.Qe=!0,a.Ie++,a.ua()&&a.cb("loading diskette '"+c+"'"));g.rf=!!f;(new Bl(a,g,"preload")).load(c,d,f,a.Ek);return!1}return!0}
|
||||
k.Ek=function(a,b,c,d,e){var f;a.Kc=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.Cb)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.nb)),b=null);b?(a.za=b,a.nm=c,a.$e=d,Xl(this,c,d,b),f=b.info(),this.ue|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.nb),a.Qe||e),a.Mh=f[0],a.ug=f[1],a.vg=f[2]):a.rf=!1;a.Qe&&(a.Qe=!1,--this.Ie||B(this));Pl(this,a.nb)};
|
||||
function Tl(a,b,c){if(a=a.xa.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.textContent=b;a.appendChild(d)}}function Pl(a,b){if(0<=b&&b<a.Fa.length){var c=a.Fa[b],d=a.xa.listDisks,e=a.xa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.rf?"?":c.$e,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
|
||||
function Ul(a,b,c,d){var e=a.Fa[b];e.za&&(Vl(a,e.$e,e.za),e.nm="",e.$e="",e.za=null,e.rf=!1,a.ue|=128,d||a.Ia("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Pl(a,b))}function Xl(a,b,c,d){var e;for(e=0;e<a.Ac.length;e++)if(a.Ac[e][1]==c){d.restore(a.Ac[e][2]);return}a.Ac[e]=[b,c,[]]}function Vl(a,b,c){var d;for(d=0;d<a.Ac.length;d++)if(a.Ac[d][1]==b){a.Ac[d][2]=c.save();break}}k.Po=function(a,b,c){A(this,a,b,c,"OUTPUT");b&4?this.Lf&4||this.Lf&8&&this.oa&&zj(this.oa,6):this.Ld();this.Lf=b};
|
||||
k.vn=function(a,b){A(this,a,null,b,"STATUS",this.Ca);return this.Ca};k.tn=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.Lf&8&&this.oa&&Aj(this.oa,6);this.ua()&&A(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Ca&=-81,this.Db=this.lb=0);return c};
|
||||
k.Oo=function(a,b,c){this.ua()&&A(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=this.jc[0]&31;if(void 0!==Ol[a]&&this.lb>=Ol[a].Dd){b=!1;this.Db=0;a=this.Ta();var d,e,f,g,h=a&31;switch(h){case 3:this.Ta(l.lq);this.Ta(l.Sp);this.Xb();break;case 4:c=this.Ta(l.Pf);this.nb=c&3;d=this.Fa[this.nb];this.Xb();this.ic((d.eb&4278190080)>>>24,l.oq);break;case 5:case 6:c=this.Ta(l.Pf);b=c>>2&1;this.nb=c&3;d=this.Fa[this.nb];d.Qa=b;c=d.vb=this.Ta(l.ik);e=this.Ta(l.jk);f=d.$a=
|
||||
this.Ta(l.lk);g=this.Ta(l.gi);d.kb=128<<g;d.ce=this.Ta(l.Np);this.Ta(l.zm);this.Ta(l.Mp);6==h?(h=d,h.eb=72,h.za&&(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaRead",h),kj(this.oa,2)))):(h=d,h.eb=72,h.za&&(h.za.tf?h.eb=576:(h.Xa=null,h.eb=0,this.oa&&(sj(this.oa,2,this,"dmaWrite",h),kj(this.oa,2)))));Yl(this,d,a,b,c,e,f,g);b=!0;break;case 7:c=this.Ta(l.Pf);this.nb=c&3;d=this.Fa[this.nb];d.vb=d.ae=0;d.eb=268435488;this.Xb();b=!0;break;case 8:d=this.Fa[this.nb];d.Qa=0;this.Xb();this.ic(d.nb|d.Qa<<
|
||||
2|d.eb&255,l.Bm);this.ic(d.vb,l.aq);this.nb=this.nb+1&3;break;case 10:c=this.Ta(l.Pf);b=c>>2&1;this.nb=c&3;d=this.Fa[this.nb];c=d.vb;e=d.Qa=b;f=d.$a=1;g=0;d.eb=0;d.za&&(d.Xa=d.za.seek(d.vb,d.Qa,d.$a))?g=d.Xa.length:d.eb=72;Yl(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Ta(l.Pf);b=c>>2&1;this.nb=c&3;d=this.Fa[this.nb];c=d.vb;e=d.Qa=b;f=1;g=this.Ta(l.gi);d.kb=128<<g;d.ce=this.Ta(l.gq);this.Ta(l.zm);d.sk=this.Ta(l.ym);h=d;h.eb=72;h.za&&(h.Xa=null,h.eb=0,this.oa&&(h.lf=0,h.Pc=Array(4),h.ri=!0,h.nh=
|
||||
0,sj(this.oa,2,this,"dmaFormat",h),kj(this.oa,2),h.ri=!1));Yl(this,d,a,b,c,e,f,g);b=!0;break;case 15:c=this.Ta(l.Pf),this.nb=c&3,d=this.Fa[this.nb],d.Qa=c>>2&1,c=this.Ta(l.Yp),d.vb+=c-d.ae,0>d.vb&&(d.vb=0),d.vb>=d.Bb&&(d.vb=d.Bb-1),d.ae=c,d.eb=32,d.vb||(d.eb|=268435456),this.Xb(),b=!0}0<this.lb&&(this.Ca|=80);this.Lf&8&&(!d||d.eb&8||!b||this.oa&&zj(this.oa,6))}};k.un=function(a,b){var c=this.ue;this.ue&=-129;A(this,a,null,b,"INPUT",c);return c};
|
||||
k.No=function(a,b,c){A(this,a,b,c,"CONTROL");this.im=b};function Yl(a,b,c,d,e,f,g,h){a.Xb();a.ic(b.nb|b.Qa<<2|b.eb&255,l.Bm);a.ic((b.eb&65280)>>>8,l.mq);a.ic((b.eb&16711680)>>>16,l.nq);var n=0;if(e!=b.vb||f!=b.Qa)n=g=1;c&128&&(f^=n,d||(n=0));a.ic(e+n,l.ik);a.ic(f,l.jk);a.ic(g,l.lk);a.ic(h,l.gi)}k.Ta=function(){var a=this.jc[this.Db];this.Db++;return a};k.Xb=function(){this.Db=this.lb=0};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
|
||||
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Jm=function(a,b){return void 0!==b&&0<=b?this.ek(a,b):-1};k.yc=function(a,b){var c=-1;if(!a.eb&&a.za){do{if(a.Xa&&0<=(c=Ll(a.Xa,a.Va++)))break;a.Xa=a.za.seek(a.vb,a.Qa,a.$a);if(!a.Xa){a.eb=1088;break}a.Va=0;this.Xf(a)}while(1)}b(c,!1)};k.Mc=function(a,b){if(a.eb||!a.za)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.Xa=a.za.seek(a.vb,a.Qa,a.$a);if(!a.Xa){a.eb=8256;b=-1;break}a.Va=0;this.Xf(a)}while(1);return b};
|
||||
k.Xf=function(a){a.$a++;a.$a>=a.vg+1&&(a.$a=1,a.Qa++,a.Qa>=a.ug&&(a.Qa=0,a.vb++))};k.ek=function(a,b){if(a.eb)return-1;a.Pc[a.lf++]=b;if(a.lf==a.Pc.length){a.vb=a.Pc[0];a.Qa=a.Pc[1];a.$a=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.lf=0;c<a.kb;c++)if(0>this.Mc(a,a.sk))return-1;a.nh++}a.nh>=a.ce&&(b=-1);return b};var Rl={1012:Ml.prototype.vn,1013:Ml.prototype.tn,1015:Ml.prototype.un},Sl={1010:Ml.prototype.Po,1013:Ml.prototype.Oo,1015:Ml.prototype.No};
|
||||
Ja(function(){for(var a=z(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new Ml(d);bb(d,c)}});function W(a){y.call(this,"HDC",a,W,Zl);this.dmaRead=this.Bi;this.dmaWrite=this.Ci;this.dmaWriteBuffer=this.Km;this.dmaWriteFormat=this.Lm;this.ii=[];if(a.drives)try{this.ii=eval("("+a.drives+")")}catch(b){w("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.ng=(this.Pe="at"==a.type)?1:0;this.Zm=this.Pe?2:3}Wa(y,W);
|
||||
var $l=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=W.prototype;k.Hb=function(){return!1};k.vc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=ib(a,"ChipSet");xb(b,this,this.Pe?am:bm);Bb(b,this,this.Pe?cm:dm);kd(c,19,this,this.Yn);kd(c,64,this,this.Zn);this.reset();this.Zf()||B(this)};
|
||||
k.ec=function(a,b){if(!b)if(!a||!this.restore)this.Ld(),this.Ma.Ki&&this.Zf(!0);else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0};k.uf=function(){return this.Ma?this.Ma.uf():""};k.ke=function(){return this.Ma?this.Ma.ke():""};k.reset=function(){this.Ld(null,!0)};k.save=function(){var a=new sd(this);a.set(0,this.ak());return a.data()};k.restore=function(a){return this.Ld(a[0])};
|
||||
k.Ld=function(a,b){var c=0,d=!0;if(this.Pe)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.te=a[c++],this.mm=a[c++],this.ve=a[c++],this.Yh=a[c++],this.Wh=a[c++],this.Vh=a[c++],this.Kf=a[c++],this.Ca=a[c++],this.Xj=a[c++],this.Xh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Jf=a[c++];this.Ca=a[c++];this.jc=a[c++];this.Db=a[c++];this.lb=a[c++];this.lm=a[c++];this.km=a[c++];this.jm=a[c++];var e=a[c++];void 0!==e?this.vf=e:void 0===this.vf&&(this.vf=-1)}void 0===this.Fa&&(this.Fa=Array(this.ii.length));
|
||||
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Fa.length;e++){void 0===this.Fa[e]&&(this.Fa[e]={});var f=this.Fa[e];this.Ui(e,f,this.ii[e],c[e],b)||(d=!1);null!=this.Jf&&1>=e&&(this.Jf|=(f.type&3)<<(1-e<<1))}return d};
|
||||
k.ak=function(){var a=0,b=[];this.Pe?(b[a++]=this.te,b[a++]=this.mm,b[a++]=this.ve,b[a++]=this.Yh,b[a++]=this.Wh,b[a++]=this.Vh,b[a++]=this.Kf,b[a++]=this.Ca,b[a++]=this.Xj,b[a++]=this.Xh):(b[a++]=this.Jf,b[a++]=this.Ca,b[a++]=this.jc,b[a++]=this.Db,b[a++]=this.lb,b[a++]=this.lm,b[a++]=this.km,b[a++]=this.jm,b[a++]=this.vf);b[a]=this.ck();return b};
|
||||
k.Ui=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.nb=a;b.errorCode=d[f++];b.sm=d[f++];b.sf=d[f++];b.hf=d[f++];b.jf=d[f++];b.Qa=d[f++];b.Cb=d[f++];b.Td=d[f++];b.$a=d[f++];b.ce=d[f++];b.kb=d[f++];b.ih=this.Pe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.ke()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===$l[this.ng][b.type])b.type=this.Zm;c=$l[this.ng][b.type];
|
||||
b.Gb=c[2]||17;b.rb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ma)){var h=e.ma[18],h=a?h&240|c:h&15|c<<4;e.ma&&(e.ma[18]=h,Ti(e))}void 0===b.za&&(b.za=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));em(this,b);b.Va=d[f++];b.Xa=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Xa=b.za.seek(b.Td,b.Qa,b.$a+b.ih)));return g};k.ck=function(){for(var a=0,b=[],c=0;c<this.Fa.length;c++)b[a++]=this.bk(this.Fa[c]);return b};
|
||||
k.bk=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.sm;c[b++]=a.sf;c[b++]=a.hf;c[b++]=a.jf;c[b++]=a.Qa;c[b++]=a.Cb;c[b++]=a.Td;c[b++]=a.$a;c[b++]=a.ce;c[b++]=a.kb;c[b++]=a.Va;c[b]=a.za?a.za.save():null;return c};k.Ck=function(a){var b;a=this.Fa[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
|
||||
function em(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.hf[2])?e=b.hf[0]<<8|b.hf[1]:c=b.type);null==c||d||(d=$l[a.ng][c][1],e=$l[a.ng][c][0]);d&&((c=$l[a.ng][b.type])&&e!=c[0]&&d!=c[1]&&a.Ia("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.Cb=d,null==b.za&&(b.za=new Bl(a,b,b.mode)))}}
|
||||
k.qm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Td=Math.floor(b/g),b%=g,a.Qa=Math.floor(b/f),a.$a=b%f,a.kb=c*d[3],a.errorCode=0,!0}}return!1};
|
||||
k.Zf=function(a){a||(this.Ie=0);for(var b=0;b<this.Fa.length;b++){var c=this.Fa[b];if(c.name&&c.path){if(!(a&&c.za&&c.za.yh)){var d;d=c.name;var c=c.path,e=this.Fa[b];e.Kc?(this.Ia("Drive "+b+" busy"),d=!0):(e.Kc=!0,e.Qe=!0,this.Ie++,this.ua()&&this.cb("loading "+d),(e.za||new Bl(this,e,e.mode)).load(d,c,null,this.Nm),d=!1);!d&&a&&B(this,!1)}}else a&&void 0!==c.type&&(c.za=null,em(this,c,c.type))}return!!this.Ie};
|
||||
k.Nm=function(a,b,c){a.Kc=!1;(a.za=b)&&this.Ia('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.nb),a.Qe);a.Qe&&(a.Qe=!1,--this.Ie||B(this))};k.Vn=function(a,b){var c=0;this.Db<this.lb&&(c=this.jc[this.Db]);this.oa&&Aj(this.oa,5);this.Ca&=-33;A(this,a,null,b,"DATA["+this.Db+"]",c);++this.Db>=this.lb&&(this.Db=this.lb=0,this.Ca&=-15);return c};
|
||||
k.kp=function(a,b,c){A(this,a,b,c,"DATA["+this.lb+"]");this.lb<this.jc.length&&(this.jc[this.lb++]=b);a=12!=this.jc[0]?6:this.jc.length;6==this.lb&&(this.Ca&=-2);this.lb>=a&&(this.Ca|=2,this.Ca&=-2,fm(this))};k.Wn=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);this.Db<this.lb&&(this.Ca|=1);return c};k.np=function(a,b,c){A(this,a,b,c,"RESET");this.lm=b;this.oa&&Aj(this.oa,5);this.Ld()};k.Un=function(a,b){A(this,a,null,b,"CONFIG",this.Jf);return this.Jf};
|
||||
k.mp=function(a,b,c){A(this,a,b,c,"PULSE");this.km=b;this.Ca=13};k.lp=function(a,b,c){A(this,a,b,c,"PATTERN");this.jm=b};k.Sj=function(a,b,c){A(this,a,b,c,"NOISE")};
|
||||
k.fn=function(a,b){var c=-1;if(this.Ra)if(c=this.yc(this.Ra),1==this.Ra.Va)this.ua(N|Zl)&&A(this,a,null,b,"DATA["+this.Ra.Va+"]",c);else if(this.Ra.Va==this.Ra.rb)if(this.Ra.kb-=this.Ra.rb,this.ve=this.ve-1&255,this.Ra.kb>=this.Ra.rb){var d=this;d.Ca=136;this.yc(this.Ra,function(a){0<=a?(gm(d),d.Ca=80):(d.Ca=1,d.te=16)},!1)}else this.Ca=80;return c};
|
||||
k.zo=function(a,b,c){this.Ra&&this.Ra.kb>=this.Ra.rb&&(0>this.Mc(this.Ra,b)?(this.Ca=1,this.te=16):1==this.Ra.Va?this.ua(N|Zl)&&A(this,a,b,c,"DATA["+this.Ra.Va+"]"):this.Ra.Va==this.Ra.rb&&(this.Ra.kb-=this.Ra.rb,this.ve=this.ve-1&255,gm(this),this.Ca=80,this.Ra.kb>=this.Ra.rb&&(this.Ca|=8)))};k.hn=function(a,b){var c=this.te;A(this,a,null,b,"ERROR",c);return c};k.Eo=function(a,b,c){A(this,a,b,c,"WPREC");this.mm=b};k.jn=function(a,b){var c=this.ve;A(this,a,null,b,"SECCNT",c);return c};
|
||||
k.Co=function(a,b,c){A(this,a,b,c,"SECCNT");this.ve=b};k.kn=function(a,b){var c=this.Yh;A(this,a,null,b,"SECNUM",c);return c};k.Do=function(a,b,c){A(this,a,b,c,"SECNUM");this.Yh=b};k.en=function(a,b){var c=this.Wh;A(this,a,null,b,"CYLLO",c);return c};k.yo=function(a,b,c){A(this,a,b,c,"CYLLO");this.Wh=b};k.dn=function(a,b){var c=this.Vh;A(this,a,null,b,"CYLHI",c);return c};k.xo=function(a,b,c){A(this,a,b,c,"CYLHI");this.Vh=b};k.gn=function(a,b){var c=this.Kf;A(this,a,null,b,"DRVHD",c);return c};
|
||||
k.Ao=function(a,b,c){A(this,a,b,c,"DRVHD");this.Kf=b;this.Ca=this.Fa[this.Kf&16?1:0]?this.Ca|64:this.Ca&-65};k.ln=function(a,b){var c=this.Ca;A(this,a,null,b,"STATUS",c);return c};k.wo=function(a,b,c){A(this,a,b,c,"COMMAND");this.Xj=b;this.oa&&Aj(this.oa,14);hm(this)};k.Bo=function(a,b,c){A(this,a,b,c,"FDR");this.Xh&4&&!(b&4)&&(this.te=1);this.Xh=b};
|
||||
function hm(a){var b=!1,c=a.Xj,d=a.Kf&16?1:0,e=a.Kf&15,f=a.Wh|(a.Vh&3)<<8,g=a.Yh,h=a.ve||256;a.Ra=null;a.te=0;a.Ca=80;(d=a.Fa[d])?(d.Td=f,d.Qa=e,d.$a=g,d.kb=h*d.rb,c=144<=c?c:c&240,d.Xa=null,d.Va=0,d.errorCode=0,a.Ra=d):c=-1;switch(c&240){case 32:a.Ca=136;a.yc(d,function(b){0<=b&&a.oa?(gm(a),a.Ca=80):(a.Ca=1,a.te=16)},!1);break;case 48:a.Ca=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.te=1;b=!0;break;case 145:d.Cb=e+1,d.Gb=h,b=!0}b&&gm(a)}
|
||||
function gm(a){!a.oa||a.Xh&2||zj(a.oa,14,120)}
|
||||
function fm(a){a.Db=0;var b=a.Ta(),c=a.Ta(),d=c&32,e=d>>5,f=c&31,g=a.Ta(),h=a.Ta(),n=g<<2&768|h,m=g&63,t=a.Ta(),r=a.Ta(),u=a.Fa[e];u&&(u.Td=n,u.Qa=f,u.$a=m,u.kb=t*u.rb);switch(b){case 3:a.Xb(u?u.errorCode:4);a.ic(c);a.ic(g);a.ic(h);a.ic(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ta());)u&&c<u.hf.length&&(u.hf[c++]=b);u&&em(a,u);b=0;u||a.vf!=e||(a.vf=-1,b=2);a.Xb(b|d);b=-1;break;case 224:case 228:a.Xb(0|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=0,u.sm=0),b){case 0:a.Xb(0|d);break;case 1:u.Cq=
|
||||
r;a.Xb(0|d);break;case 5:a.Xb(0|d);break;case 8:im(a,u,function(b){a.Xb(b|d)});break;case 10:jm(a,u,function(b){a.Xb(b|d)});break;case 15:km(a,u,function(b){a.Xb(b|d)});break;default:a.Xb(2|d)}}k.Ta=function(){var a=-1;this.Db<this.lb&&(a=this.jc[this.Db++]);return a};k.Xb=function(a){this.Db=this.lb=0;void 0!==a&&this.ic(a);this.oa&&zj(this.oa,5);this.Ca|=32};k.ic=function(a){this.jc[this.lb++]=a};k.Bi=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
|
||||
k.Ci=function(a,b){return void 0!==b&&0<=b?this.Mc(a,b):-1};k.Km=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va<a.jf.length?a.jf[a.Va++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Lm=function(a,b){return void 0!==b&&0<=b?this.ek(a,b):-1};function im(a,b,c){b.errorCode=4;if(b.za&&(b.Xa=null,a.oa)){b.errorCode=0;sj(a.oa,3,a,"dmaRead",b);kj(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
|
||||
function jm(a,b,c){b.errorCode=4;if(b.za&&(b.Xa=null,a.oa)){b.errorCode=0;sj(a.oa,3,a,"dmaWrite",b);kj(a.oa,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function km(a,b,c){b.errorCode=4;b.jf&&b.jf.length==b.kb||(b.jf=Array(b.kb));b.Va=0;a.oa?(b.errorCode=0,sj(a.oa,3,a,"dmaWriteBuffer",b),kj(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
|
||||
k.yc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Xa&&(d=Ll(a.Xa,a.Va),a.Va+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.za)return a.za.seek(a.Td,a.Qa,a.$a+a.ih,!1,function(c,h){(a.Xa=c)?(a.Va=0,f.Xf(a),d=Ll(a.Xa,a.Va),a.Va+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
|
||||
k.Mc=function(a,b){if(a.errorCode)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Va++,b))break;a.za&&a.za.seek(a.Td,a.Qa,a.$a+a.ih,!0,function(b){a.Xa=b});if(!a.Xa){a.errorCode=20;b=-1;break}a.Va=0;this.Xf(a)}while(1);return b};k.Xf=function(a){a.$a++;var b=1-a.ih;a.$a>=a.Gb+b&&(a.$a=b,a.Qa++,a.Qa>=a.Cb&&(a.Qa=0,a.Td++))};
|
||||
k.ek=function(a,b){if(a.errorCode)return-1;a.Pc[a.lf++]=b;if(a.lf==a.Pc.length){a.Td=a.Pc[0];a.Qa=a.Pc[1];a.$a=a.Pc[2];a.kb=128<<a.Pc[3];for(var c=a.lf=0;c<a.kb;c++)if(0>this.Mc(a,a.sk))return-1;a.nh++}a.nh>=a.ce&&(b=-1);return b};k.Yn=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.vf=a-128);return!0};k.Zn=function(){var a;(a=this.T.H>>8)||(a=!this.oa)||(a=!(this.oa.Vb[0].nd&64));return a?!0:!1};
|
||||
var bm={800:W.prototype.Vn,801:W.prototype.Wn,802:W.prototype.Un},am={496:W.prototype.fn,497:W.prototype.hn,498:W.prototype.jn,499:W.prototype.kn,500:W.prototype.en,501:W.prototype.dn,502:W.prototype.gn,503:W.prototype.ln},dm={800:W.prototype.kp,801:W.prototype.np,802:W.prototype.mp,803:W.prototype.lp,807:W.prototype.Sj,811:W.prototype.Sj,815:W.prototype.Sj},cm={496:W.prototype.zo,497:W.prototype.Eo,498:W.prototype.Co,499:W.prototype.Do,500:W.prototype.yo,501:W.prototype.xo,502:W.prototype.Ao,503:W.prototype.wo,
|
||||
1014:W.prototype.Bo};Ja(function(){for(var a=z(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new W(d);bb(d,c)}});
|
||||
function lm(a){y.call(this,"Debugger",a,lm);this.lh=this.hd=-1;this.Le=5;this.Nc=[0,0];this.mk=[0,0];this.Tc=-1;this.Oc=[];this.pf=!1;this.ye=[0,0];this.Dc=[];mm(this);nm(this);om(this,a.messages);this.ub={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Zj=a.commands;var b=this;window&&void 0===window.$&&(window.$=function(a){return pm(b,a)})}
|
||||
var Ob=1,md=16,pf=32,Fb=64,N=128,dj=256,Qd=512,Gi=1024,Ii=2048,Pj=4096,Hj=8192,qi=16384,Yj=32768,lk=131072,Nl=262144,Zl=524288,Dl=1048576,pl=2097152,Qj=4194304,yl=16777216,of=536870912,qf=1073741824;Wa(y,lm);
|
||||
var Ki=26,qm={16:lk,19:Nl,21:qi,22:Yj,28:Gi,33:67108864,51:yl},rm={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},sm="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
|
||||
X="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),tm="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),um={cpu:Ob,seg:2,desc:4,tss:8,"int":md,fault:pf,mem:Fb,port:N,dma:dj,pic:Qd,timer:Gi,cmos:Ii,rtc:Pj,8042:Hj,chipset:qi,keyboard:Yj,key:65536,video:lk,fdc:Nl,hdc:Zl,disk:Dl,serial:pl,speaker:Qj,state:8388608,mouse:yl,computer:33554432,dos:67108864,data:134217728,log:268435456,warn:of,halt:qf},Y=[0,0],vm=[205,12291],wm=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,
|
||||
4228],[6,12385,4097],[6,14435,4100],[137,4211],[134,8307],[130,12417,4257],[130,12420,4260],[130,12449,4225],[130,12452,4228],[130,12385,4097],[130,14435,4100],[137,4467],[134,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],[5,12452,4228],[5,12385,4097],[5,14435,4100],[137,4723],[134,8819],[150,12417,4257],[150,12420,4260],[150,12449,4225],[150,12452,4228],[150,12385,4097],[150,14435,4100],[137,4979],[134,9075],[7,12417,4257],[7,12420,4260],[7,12449,4225],[7,12452,4228],[7,12385,4097],[7,14435,
|
||||
4100],[35,15],[29],[184,12417,4257],[184,12420,4260],[184,12449,4225],[184,12452,4228],[184,12385,4097],[184,14435,4100],[27,15],[30],[191,12417,4257],[191,12420,4260],[191,12449,4225],[191,12452,4228],[191,12385,4097],[191,14435,4100],[177,15],[1],[24,4225,4257],[24,4228,4260],[24,4257,4225],[24,4260,4228],[24,4193,4097],[24,6243,4100],[33,15],[4],[75,14435],[75,14691],[75,14947],[75,15203],[75,15459],[75,15715],[75,15971],[75,16227],[31,14435],[31,14691],[31,14947],[31,15203],[31,15459],[31,15715],
|
||||
[31,15971],[31,16227],[137,6243],[137,6499],[137,6755],[137,7011],[137,7267],[137,7523],[137,7779],[137,8035],[134,10339],[134,10595],[134,10851],[134,11107],[134,11363],[134,11619],[134,11875],[134,12131],[138,32768],[135,32768],[10,37028,4247],[8,8323,4259],[64,49152],[70,49152],[131,49152],[9,49152],[137,36868],[73,45219,4234],[137,36866],[73,45219,4233],[76,41041,6755],[76,41044,6755],[133,39523,4161],[133,39523,4164],[95,4145],[91,4145],[82,4145],[90,4145],[98,4145],[94,4145],[81,4145],[89,4145],
|
||||
[97,4145],[93,4145],[96,4145],[92,4145],[86,4145],[85,4145],[87,4145],[84,4145],[192,12417,4097],[193,12420,4100],[192,12417,4097],[194,12420,4097],[185,4225,4257],[185,4228,4260],[189,12449,12417],[189,12452,12420],[121,8321,4257],[121,8324,4260],[121,8353,4225],[121,8356,4228],[121,8323,4275],[102,8356,148],[121,8371,4227],[134,8324],[128],[189,14435,14691],[189,14435,14947],[189,14435,15203],[189,14435,15459],[189,14435,15715],[189,14435,15971],[189,14435,16227],[18],[28],[17,4102],[188],[139],
|
||||
[136],[148],[99],[121,8289,4129],[121,10339,4132],[121,8225,4193],[121,8228,6243],[122,8273,4161],[123,8276,4164],[25,4177,4161],[26,4180,4164],[185,4193,4097],[185,6243,4100],[181,8273,4193],[182,8276,6243],[113,8289,4161],[114,10339,4164],[151,4193,4177],[152,6243,4180],[121,8289,4097],[121,8545,4097],[121,8801,4097],[121,9057,4097],[121,9313,4097],[121,9569,4097],[121,9825,4097],[121,10081,4097],[121,10339,4100],[121,10595,4100],[121,10851,4100],[121,11107,4100],[121,11363,4100],[121,11619,4100],
|
||||
[121,11875,4100],[121,12131,4100],[195,28801,4097],[196,28804,4097],[144,4099],[144],[104,8356,4246],[101,8356,4246],[121,8321,4097],[121,8324,4100],[34,36867,4097],[103,32768],[145,4099],[145],[78],[77,4097],[79],[80],[197,12417,4113],[198,12420,4113],[199,12417,4449],[200,12420,4449],[3,1],[2,1],[69],[190],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[116,4145],[117,4145],[115,4145],[83,4145],[74,8289,4097],[74,10339,4097],[132,4097,4193],[132,4097,6243],[17,4148],
|
||||
[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,10339,6755],[132,6755,4193],[132,6755,6243],[112,15],[0],[142,15],[143,15],[71],[23],[201,12417],[202,12420],[19],[178],[21],[180],[20],[179],[203,12417],[204,12420]],wm={0:[206,12419],1:[207,12419],2:[100,37027,4243],3:[118,37027,4243],5:[111,32768],6:[22,32768]},xm=[[[6,12417,4097],[130,12417,4097],[5,12417,4097],[150,12417,4097],[7,12417,4097],[184,12417,4097],[191,12417,4097],[24,4225,4097]],[[6,12420,4100],[130,12420,4100],[5,12420,4100],[150,
|
||||
12420,4100],[7,12420,4100],[184,12420,4100],[191,12420,4100],[24,4228,4100]],[[6,12420,4098],[130,12420,4098],[5,12420,4098],[150,12420,4098],[7,12420,4098],[184,12420,4098],[191,12420,4098],[24,4228,4098]],[[146,45185,4097],[147,45185,4097],[140,45185,4097],[141,45185,4097],[170,45185,4097],[172,45185,4097],Z,[149,45185,4097]],[[146,45188,4097],[147,45188,4097],[140,45188,4097],[141,45188,4097],[170,45188,4097],[172,45188,4097],Z,[149,45188,4097]],[[146,12417,4113],[147,12417,4113],[140,12417,4113],
|
||||
[141,12417,4113],[170,12417,4113],[172,12417,4113],Z,[149,12417,4113]],[[146,12420,4113],[147,12420,4113],[140,12420,4113],[141,12420,4113],[170,12420,4113],[172,12420,4113],Z,[149,12420,4113]],[[146,12417,4449],[147,12417,4449],[140,12417,4449],[141,12417,4449],[170,12417,4449],[172,12417,4449],Z,[149,12417,4449]],[[146,12420,4449],[147,12420,4449],[140,12420,4449],[141,12420,4449],[170,12420,4449],[172,12420,4449],Z,[149,12420,4449]],[[185,4225,4097],Z,[129,12417],[127,12417],[126,4225],[73,12417],
|
||||
[32,4225],[72,12417]],[[185,4228,4100],Z,[129,12420],[127,12420],[126,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],Z,Z,Z,Z,Z,Z],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[137,4228],Z],[],[[175,8323],[183,8323],[109,4227],[120,4227],[186,4227],[187,4227],Z,Z],[[169,8323],[174,8323],[106,4227],[108,4227],[176,8323],Z,[110,4227],Z]],ym={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",
|
||||
[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,10339,6755],[132,6755,4193],[132,6755,6243],[112,15],[0],[142,15],[143,15],[71],[23],[201,12417],[202,12420],[19],[178],[21],[180],[20],[179],[203,12417],[204,12420]],xm={0:[206,12419],1:[207,12419],2:[100,37027,4243],3:[118,37027,4243],5:[111,32768],6:[22,32768]},ym=[[[6,12417,4097],[130,12417,4097],[5,12417,4097],[150,12417,4097],[7,12417,4097],[184,12417,4097],[191,12417,4097],[24,4225,4097]],[[6,12420,4100],[130,12420,4100],[5,12420,4100],[150,
|
||||
12420,4100],[7,12420,4100],[184,12420,4100],[191,12420,4100],[24,4228,4100]],[[6,12420,4098],[130,12420,4098],[5,12420,4098],[150,12420,4098],[7,12420,4098],[184,12420,4098],[191,12420,4098],[24,4228,4098]],[[146,45185,4097],[147,45185,4097],[140,45185,4097],[141,45185,4097],[170,45185,4097],[172,45185,4097],Y,[149,45185,4097]],[[146,45188,4097],[147,45188,4097],[140,45188,4097],[141,45188,4097],[170,45188,4097],[172,45188,4097],Y,[149,45188,4097]],[[146,12417,4113],[147,12417,4113],[140,12417,4113],
|
||||
[141,12417,4113],[170,12417,4113],[172,12417,4113],Y,[149,12417,4113]],[[146,12420,4113],[147,12420,4113],[140,12420,4113],[141,12420,4113],[170,12420,4113],[172,12420,4113],Y,[149,12420,4113]],[[146,12417,4449],[147,12417,4449],[140,12417,4449],[141,12417,4449],[170,12417,4449],[172,12417,4449],Y,[149,12417,4449]],[[146,12420,4449],[147,12420,4449],[140,12420,4449],[141,12420,4449],[170,12420,4449],[172,12420,4449],Y,[149,12420,4449]],[[185,4225,4097],Y,[129,12417],[127,12417],[126,4225],[73,12417],
|
||||
[32,4225],[72,12417]],[[185,4228,4100],Y,[129,12420],[127,12420],[126,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],Y,Y,Y,Y,Y,Y],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[137,4228],Y],[],[[175,8323],[183,8323],[109,4227],[120,4227],[186,4227],[187,4227],Y,Y],[[169,8323],[174,8323],[106,4227],[108,4227],[176,8323],Y,[110,4227],Y]],zm={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",
|
||||
5:"format drive DL using ES:BX",8:"read drive DL parameters into ES:DI",21:"get drive DL DASD type",22:"get drive DL change line status",23:"set drive DL DASD type",24:"set drive DL media type"},21:{128:"open device",129:"close device",130:"program termination",131:"wait CX:DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait CX:DXus",135:"move block (CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},
|
||||
33:{0:"terminate program",1:"read character (al) from stdin with echo",2:"write character DL to stdout",3:"read character (al) from stdaux",4:"write character DL to stdaux",5:"write character DL to stdprn",6:"direct console output (input if DL=FF)",7:"direct console input without echo",8:"read character (al) from stdin without echo",9:"write $-terminated string DS:DX to stdout",10:"buffered input (ds:dx)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive DL",
|
||||
15:"open file using fcb DS:DX",16:"close file using fcb DS:DX",17:"find first matching file using fcb DS:DX",18:"find next matching file using fcb DS:DX",19:"delete file using fcb DS:DX",20:"sequential read from file using fcb DS:DX",21:"sequential write to file using fcb DS:DX",22:"create or truncate file using fcb DS:DX",23:"rename file using fcb DS:DX",25:"get current default drive (al)",26:"set disk transfer area (dta) DS:DX",27:"get allocation information for default drive",28:"get allocation information for specific drive DL",
|
||||
|
|
@ -691,91 +695,92 @@ Y="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),sm
|
|||
55:"get(0)/set(1) switch character DL (AL)",56:"get country-specific information",57:"create subdirectory DS:DX",58:"remove subdirectory DS:DX",59:"set current directory DS:DX",60:"create or truncate file DS:DX with attributes CX",61:"open existing file DS:DX with mode AL",62:"close file BX",63:"read CX bytes from file BX into buffer DS:DX",64:"write CX bytes to file BX from buffer DS:DX",65:"delete file DS:DX",66:"set position CX:DX of file BX relative to AL",67:"get(0)/set(1) attributes CX of file DS:DX (AL)",
|
||||
68:"get device information (IOCTL)",69:"duplicate file handle BX",70:"force file handle CX to duplicate file handle BX",71:"get current directory (ds:si) for drive DL",72:"allocate memory segment with BX paragraphs",73:"free memory segment ES",74:"resize memory segment ES to BX paragraphs",75:"load program DS:DX using parameter block ES:BX",76:"terminate with return code AL",77:"get return code (al)",78:"find first matching file DS:DX with attributes CX",79:"find next matching file",80:"set current psp BX",
|
||||
81:"get current psp (bx)",82:"get system variables (es:bx)",83:"translate bpb DS:SI to dpb (es:bp)",84:"get verify flag (al)",85:"create child psp at segment DX",86:"rename file DS:DX to name ES:DI",87:"get(0)/set(1) file date DX and time CX (AL)",88:"get(0)/set(1) memory allocation strategy (AL)",89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};
|
||||
km.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.Ma=a;this.Um=ib(a,"FDC");this.Qk=ib(a,"HDC");this.Le=b.Af>>2;this.Uf=vm;80186<=this.T.Ka&&(this.Uf=vm.slice(),this.Uf[15]=Z,80286<=this.T.Ka&&(this.Uf[15]=um));Fi(this,4,function(a){if(a){var b=zm(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Am(d,b);d.Z("dumpDesc("+v(a.ta)+"): %"+p(a.Dd,d.Le));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?
|
||||
",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.nb&32768||(c+=",not present");d.Z((b?"seg="+v(a.Ga&65535)+" off="+v(a.oc):"base="+p(a.Ga,d.Le)+" limit="+v(a.oc))+" dpl="+q(a.nc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")});
|
||||
Fi(this,8,function(a){a:{if(a){var b=zm(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=Am(d,b)}else a=d.T.gb;d.Z("dumpTSS("+v(a.ta)+"): %"+p(a.Ga,d.Le));var b="",c;for(c in Bm){var e=Bm[c],m=8>c.length?" ":"",s=sb(d.sa,a.Ga+e);b&&(b+="\n");b+=v(e)+" "+c+": "+m+v(s)}d.Z(b)}});Fi(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=zm(d,a);a;){var b=[0,a,void 0],c=d.yb(b,1),e=d.ra(b,2),m=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(fa(0,a)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+
|
||||
v(m)+' "'+Cm(d,b)+'"');a+=1+m}else d.Z("no MCB")});this.Wa();if(this.Yj){a=Dm(this,this.Yj);delete this.Yj;for(var e in a)om(this,a[e])}};
|
||||
km.prototype.Ib=function(a,b,c){var d=this;switch(b){case "debugInput":return this.fg=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Dm(d,b,!0),h;for(h in g)om(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Tc<d.Oc.length-1&&(b=d.Oc[++d.Tc]):40==a.keyCode&&(0<d.Tc?b=d.Oc[--d.Tc]:(b="",d.Tc=-1)),null!=b&&(g=b.length,c.value=b,c.setSelectionRange(g,g)));null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.xa[b]=c,Ea(c,function(){if(d.fg){var a=
|
||||
d.fg.value;d.fg.value="";var a=Dm(d,a,!0),b;for(b in a)om(d,a[b]);return!0}return!1}),!0;case "step":return this.xa[b]=c,Ea(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Nf(a?1:0),db(d,!1));return b}),!0}return!1};km.prototype.Yc=function(){this.fg&&this.fg.focus()};
|
||||
var Bm={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42};function Cm(a,b){var c,d="";for(c=8;d.length<c;){var e=a.yb(b,1);if(!e)break;d+=32<=e&&128>e?String.fromCharCode(e):"."}return d}
|
||||
function nm(a,b){a.ka=a;a.Yb=a.Em=of;a.Zj=null;a.li=[];var c=Dm(a,b);if(c.length)for(var d in tm)0<=c.indexOf(d)&&(a.Yb|=tm[d],a.Z(d+" messages enabled"))}function Fi(a,b,c){for(var d in tm)if(b==tm[d]){a.li[d]=c;break}}
|
||||
function nd(a,b,c){var d,e=!1,f=pm[b];f&&(d=a.T.H>>8,e=a.va(f)?!0:f==Ml&&a.va(f=Yl));if(e){var g=a.T.K&255;if(33==b&&11==d||f==Ml&&128<=g||f==Yl&&128>g)e=!1}if(e){if(f=(f=ym[b])&&f[d]||"")g=a.T,a.tb[Y[0]]=q(g.H&255),a.tb[Y[1]]=q(g.J&255),a.tb[Y[2]]=q(g.K&255),a.tb[Y[3]]=q(g.C&255),a.tb[Y[4]]=q(g.H>>8),a.tb[Y[5]]=q(g.J>>8),a.tb[Y[6]]=q(g.K>>8),a.tb[Y[7]]=q(g.C>>8),a.tb[Y[8]]=v(g.H),a.tb[Y[9]]=v(g.J),a.tb[Y[10]]=v(g.K),a.tb[Y[11]]=v(g.C),a.tb[Y[12]]=v(g.Y),a.tb[Y[13]]=v(g.I),a.tb[Y[14]]=v(g.G),a.tb[Y[15]]=
|
||||
v(g.F),a.tb[Y[16]]=v(g.La.ta),a.tb[Y[17]]=v(g.ua.ta),a.tb[Y[18]]=v(g.Za.ta),a.tb[Y[19]]=v(g.fb.ta),a.tb[Y[20]]=v(g.wa),f=" "+la(a.tb,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+fa(c-2-a.T.ua.Ga,a.T.ua.ta)+f)}return e}function pd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(zd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
|
||||
function cb(a,b,c,d,e,f,g,h){h|=P;if(null==e||(a.Yb&h)==h)h=null,null!=e&&(h=a.T.ua.ta,e-=a.T.ua.Ga),a.message(b.Eh+"."+(null!=d?"outPort":"inPort")+"(0x"+v(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+fa(e,h):""))}k=km.prototype;k.message=function(a,b){b&&(a+=" @"+fa(this.T.wa,this.T.ua.ta));if(!this.Zj||a!=this.Zj)if(this.Z(a),this.Zj=a,this.T){this.Yb&qf&&this.T.Jb();var c=this.T;c.da.Ef=0;c.Uc-=c.A;c.A=0;Vb(c)}};k.Wn=function(){this.Z("Type ? for list of debugger commands")};
|
||||
function mm(a){var b;if(Pd(a)){if(!a.$d||!a.$d.length){a.$d=Array(1E4);for(b=0;b<a.$d.length;b++)a.$d[b]=[0,null,0];a.xf=0}if(!a.$c||!a.$c.length)for(a.$c=Array(256),b=0;b<a.$c.length;b++)a.$c[b]=[b,0]}else a.xf=0,a.$d=[],a.$c=[]}k.Ze=function(a){if(!Em(this))return!1;this.T.Ze(a);return!0};
|
||||
k.Nf=function(a,b,c){if(!Em(this))return!1;this.hd=0;do{a||Pd(this)&&Wd(this,this.T.Ea,!0);try{var d=this.T.Nf(a);0<d&&(this.hd+=d,$b(this.T,d,!0),Wb(this.T,d),this.lh++)}catch(e){this.hd=0,gb(this.T,e.message||e)}}while(this.T.ba&240);!1!==c&&Vb(this.T);Ub(this,b||!1,!1);return 0<this.hd};k.Jb=function(a,b){a&&this.Z(a);this.T.Jb(!b)};function Ub(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Nc=[a.T.wa,a.T.ua.ta,void 0];b&&1!=a.tc?Fm(a,null,c):Gm(a)}
|
||||
function Em(a){var b;if(b=a.T&&fb(a.T))b=a.T,b.na.Tb?b=!0:(b.Z(b.toString()+" not powered"),b=!1);b&&!eb(a.T)?(a=a.T,a.na.fd?(a.Z(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ec=function(a,b){return!b&&(this.reset(!0),this.Z(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a,b){b&&this.Z(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
|
||||
k.reset=function(a){mm(this);this.hd=this.lh=0;this.Nc=[this.T.wa,this.T.ua.ta,void 0];void 0===this.na.Fb||a||this.Z("reset");this.na.Fb=!1;Hm(this);a||Ub(this)};k.save=function(){var a=new sd(this);a.set(0,this.Nc);a.set(1,this.ye);a.set(2,[this.Oc,this.qf,this.Yb]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Nc=a[b++],this.ye=a[b++],this.Oc=a[b][0],"string"==typeof this.Oc&&(this.Oc=[this.Oc]),this.qf=a[b][1],this.Yb||(this.Yb=a[b][2]));return!0};
|
||||
k.start=function(a,b){this.tc||this.Z("running");this.na.Fb=!0;this.fo=a;this.jd=b};k.stop=function(a,b){if(this.na.Fb){this.na.Fb=!1;this.hd=b-this.jd;if(!this.tc){var c="stopped";if(this.hd){var d=a-this.fo,e=0<d?Math.round(1E3*this.hd/d):0,c=c+" (";Pd(this)&&(c+=this.lh+" ops, ");c+=this.hd+" cycles, "+d+" ms, "+e+" hz)"}this.Z(c)}Ub(this,!0,2!=this.tc);this.Yc();Hm(this,this.T.Ea)}};function Pd(a){return 1<a.zc.length||a.va(md)}
|
||||
function Wd(a,b,c){if(!(c||3!=a.T.ua.cb||a.T.Ba&512)||!c&&Im(a,b,a.zc))return!0;a.$c.length&&(a.lh++,c=rb(a.sa,b),a.$c[c][1]++,c=a.$d[a.xf],c[0]=a.T.wa,c[1]=a.T.ua.ta,c[2]=b,++a.xf==a.$d.length&&(a.xf=0));return!1}function Gb(a,b){return Im(a,b,a.Xd)?(a.T.Jb(!0),!0):!1}function Hb(a,b){return Im(a,b,a.Zc)?(a.T.Jb(!0),!0):!1}function zb(a,b,c){a.Z("break on input from port "+v(b)+": "+q(c));a.T.Jb(!0)}function Db(a,b,c){a.Z("break on output to port "+v(b)+": "+q(c));a.T.Jb(!0)}
|
||||
function Am(a,b){if(b==a.T.ua.ta)return a.T.ua;if(b==a.T.fb.ta)return a.T.fb;if(b==a.T.La.ta)return a.T.La;if(b==a.T.Za.ta)return a.T.Za;var c=new fc(a.T,7,"DBG");c.load(b,!0);return c}function Jm(a,b,c,d){var e=b[2];null==e&&(a=Am(a,b[1]),e=c?a.Zb(b[0],d||0,!0):a.Ic(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.yb=function(a,b){var c=255,d=Jm(this,a,!1,0);0<=d&&(c=rb(this.sa,d),void 0!==b&&Km(a,b));return c};
|
||||
k.ra=function(a,b){var c=65535,d=Jm(this,a,!1,1);0<=d&&(c=sb(this.sa,d),void 0!==b&&Km(a,b));return c};k.Sd=function(a,b,c){var d=Jm(this,a,!0,0);0<=d&&(tb(this.sa,d,b),void 0!==c&&Km(a,c),Vb(this.T))};k.Ta=function(a,b,c){var d=Jm(this,a,!0,1);0<=d&&(ub(this.sa,d,b),void 0!==c&&Km(a,c),Vb(this.T))};function Lm(a){return null==a[1]?"%"+p(a[2]):fa(a[0],a[1])}function Km(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 lm(a){var b;a.zc=["exec"];if(void 0!==a.Xd)for(b=1;b<a.Xd.length;b++){var c=a.sa,d=Jm(a,a.Xd[b]);Lb(c.Ha[d>>c.Eb],!1)}a.Xd=["read"];if(void 0!==a.Zc)for(b=1;b<a.Zc.length;b++)c=a.sa,d=Jm(a,a.Zc[b]),Lb(c.Ha[d>>c.Eb],!0);a.Zc=["write"]}k.ae=function(a,b,c){if(!Mm(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.sa,e=Jm(this,b);d.Ha[e>>d.Eb].ae(e&d.ob,a==this.Zc)}c||this.Z("breakpoint enabled: "+Lm(b)+" ("+a[0]+")");mm(this);return!0}return!1};
|
||||
function Mm(a,b,c,d){var e=!1;c=Jm(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==Jm(a,g)){e=!0;if(d){b.splice(f,1);b!=a.zc&&(d=a.sa,Lb(d.Ha[c>>d.Eb],b==a.Zc));g[3]||a.Z("breakpoint cleared: "+Lm(g)+" ("+b[0]+")");mm(a);break}a.Z("breakpoint exists: "+Lm(g)+" ("+b[0]+")");break}}return e}function Nm(a,b){for(var c=1;c<b.length;c++)a.Z("breakpoint enabled: "+Lm(b[c])+" ("+b[0]+")");return b.length-1}
|
||||
function Mb(a,b,c,d){if(void 0===d)Mb(a,b,c,a.Xd),Mb(a,b,c,a.Zc);else for(var e=1;e<d.length;e++){var f=Jm(a,d[e]);if(f>=b&&f<b+c){var g=a.sa;g.Ha[f>>g.Eb].ae(f&g.ob,d==a.Zc)}}}function Hm(a,b){if(void 0!==b)Im(a,b,a.zc,!0),a.tc=0;else for(var c=1;c<a.zc.length;c++){var d=a.zc[c];if(d[3]){if(!Mm(a,a.zc,d,!0))break;c=0}}}
|
||||
function Im(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==Jm(a,g)){g[3]?Mm(a,c,g,!0):d||a.Z("\nbreakpoint hit: "+Lm(g)+" ("+c[0]+")");e=!0;break}}return e}
|
||||
function Om(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.yb(b,1),g=a.Uf[f],h=g[0],n=-1;205==h&&(h=a.yb(b,1),g=wm[h]||Z,f|=h<<8,h=g[0]);h>=rm.length&&(n=a.yb(b,1),g=xm[h-rm.length][n>>3&7]);var h=rm[g[0]],m=2,s="";if(164<=f&&167>=f||170<=f&&175>=f)m=0;for(f=1;f<=m;f++){var r="",t=g[f];if(void 0!==t){var w=t&15;if(0!=w&&15!=w){var u=t&240;if(128<=u)if(0>n&&(n=a.yb(b,1)),160<=u)a:{r=n>>3&7;if(176==(t&240)){if(4<=r){r=null;break a}r+=16}else 3<=(t&15)&&(r+=8);r=Y[r]}else{if(128<=u){var r=a,u=t,t=b,C="",w=n>>6,
|
||||
C=n&7;3>w?(u=void 0,w||6!=C?(C=sm[C],1==w?(u=r.yb(t,1),u&128?(u=u<<24>>24,C+="-"+q(-u)):C+="+"+q(u)):2==w&&(u=r.ra(t,2),C+="+"+v(u))):(u=r.ra(t,2),C=v(u)),C="["+C+"]"):C=Y[C+(1==(u&15)?0:8)];r=C}}else if(16==u)r="1";else if(0==u){r=a;w=t;t=b;u=" ";switch(w&15){case 1:w&12288&&(u=q(r.yb(t,1)));break;case 2:u=v(r.yb(t,1)<<24>>24);break;case 3:case 4:u=v(r.ra(t,2));break;case 6:w=r.ra(t,2);r=r.ra(t,2);u=Lm([w,r,void 0]);break;default:u="imm("+v(w)+")"}r=u}else 32==u?r="["+v(a.ra(b,2))+"]":48==u?(1==
|
||||
w?(r=a.yb(b,1),r=r<<24>>24):r=a.ra(b,2),r=b[0]+r&65535,r=Pm(a,[r,b[1],void 0])[0]||v(r)):96==u?r=Y[(t&3840)>>8]:112==u?r=Y[((t&3840)>>8)+16]:64==u?r="DS:[SI]":80==u&&(r="ES:[DI]");if(!r||!r.length){s="INVALID";break}0<s.length&&(s+=",");s+=r}}}g=Lm(e)+" ";n="";do n+=q(a.yb(e,1));while(e[0]!=b[0]);g+=(n+" ").substr(0,14);g+=(h+" ").substr(0,8);s&&(g+=" "+s);c&&(g=(g+" ").substr(0,50),g+=";",g=a.T.na.rf?g+("cycles="+D(a.T).toString()+" cs="+p(a.T.da.pg)):g+(c+
|
||||
(null!=d?"="+d.toString():"")));return g}function Qm(a,b){var c;switch(b){case "V":c=Ed(a.T);break;case "D":c=a.T.Ba&1024;break;case "I":c=a.T.Ba&512;break;case "T":c=a.T.Ba&256;break;case "S":c=Dd(a.T);break;case "Z":c=Cd(a.T);break;case "A":c=Bd(a.T);break;case "P":c=Ad(a.T);break;case "C":c=zd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function Rm(a,b,c){return b.Lg+"="+v(b.ta)+(c?"["+p(b.Ga,a.Le)+","+v(b.oc)+"]":"")}
|
||||
function Sm(a,b,c,d,e){return b+"="+(null!=c?v(c):"")+"["+p(d,a.Le)+","+v(e-d)+"]"}
|
||||
function Tm(a,b,c){var d=2==c?a.lk:a.Nc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),c=-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.Cc.length;h++){var f=a.Cc[h][0],n=a.Cc[h][2][g];if(void 0!==n){g=n.o;void 0!==g&&(h=n.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=zm(a,b),d=null):d=zm(a,b):(e=zm(a,b.substring(0,d)),c=zm(a,b.substring(d+1)),
|
||||
lm.prototype.vc=function(a,b,c,d){this.sa=b;this.T=c;this.Ma=a;this.Vm=ib(a,"FDC");this.Rk=ib(a,"HDC");this.Le=b.zf>>2;this.Uf=wm;80186<=this.T.Ka&&(this.Uf=wm.slice(),this.Uf[15]=Y,80286<=this.T.Ka&&(this.Uf[15]=vm));Fi(this,4,function(a){if(a){var b=Am(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Bm(d,b);d.Z("dumpDesc("+s(a.ta)+"): %"+p(a.Ad,d.Le));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?
|
||||
",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.ob&32768||(c+=",not present");d.Z((b?"seg="+s(a.Ga&65535)+" off="+s(a.oc):"base="+p(a.Ga,d.Le)+" limit="+s(a.oc))+" dpl="+q(a.nc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")});
|
||||
Fi(this,8,function(a){a:{if(a){var b=Am(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=Bm(d,b)}else a=d.T.gb;d.Z("dumpTSS("+s(a.ta)+"): %"+p(a.Ga,d.Le));var b="",c;for(c in Cm){var e=Cm[c],m=8>c.length?" ":"",t=sb(d.sa,a.Ga+e);b&&(b+="\n");b+=s(e)+" "+c+": "+m+s(t)}d.Z(b)}});Fi(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=Am(d,a);a;){var b=[0,a,void 0],c=d.yb(b,1),e=d.ra(b,2),m=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(ea(0,a)+": '"+String.fromCharCode(c)+"' PID="+s(e)+" LEN="+
|
||||
s(m)+' "'+Dm(d,b)+'"');a+=1+m}else d.Z("no MCB")});B(this);if(this.Zj){a=Em(this,this.Zj);delete this.Zj;for(var e in a)pm(this,a[e])}};
|
||||
lm.prototype.Hb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.fg=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Em(d,b,!0),h;for(h in g)pm(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Tc<d.Oc.length-1&&(b=d.Oc[++d.Tc]):40==a.keyCode&&(0<d.Tc?b=d.Oc[--d.Tc]:(b="",d.Tc=-1)),null!=b&&(g=b.length,c.value=b,c.setSelectionRange(g,g)));null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.xa[b]=c,Da(c,function(){if(d.fg){var a=
|
||||
d.fg.value;d.fg.value="";var a=Em(d,a,!0),b;for(b in a)pm(d,a[b]);return!0}return!1}),!0;case "step":return this.xa[b]=c,Da(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Nf(a?1:0),db(d,!1));return b}),!0}return!1};lm.prototype.Yc=function(){this.fg&&this.fg.focus()};
|
||||
var Cm={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42};function Dm(a,b){var c,d="";for(c=8;d.length<c;){var e=a.yb(b,1);if(!e)break;d+=32<=e&&128>e?String.fromCharCode(e):"."}return d}
|
||||
function om(a,b){a.ka=a;a.Yb=a.Fm=of;a.$j=null;a.li=[];var c=Em(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in um)0<=c.indexOf(d)&&(a.Yb|=um[d],a.Z(d+" messages enabled"))}function Fi(a,b,c){for(var d in um)if(b==um[d]){a.li[d]=c;break}}
|
||||
function nd(a,b,c){var d,e=!1,f=qm[b];f&&(d=a.T.H>>8,e=a.ua(f)?!0:f==Nl&&a.ua(f=Zl));if(e){var g=a.T.K&255;if(33==b&&11==d||f==Nl&&128<=g||f==Zl&&128>g)e=!1}if(e){if(f=(f=zm[b])&&f[d]||"")g=a.T,a.ub[X[0]]=q(g.H&255),a.ub[X[1]]=q(g.J&255),a.ub[X[2]]=q(g.K&255),a.ub[X[3]]=q(g.C&255),a.ub[X[4]]=q(g.H>>8),a.ub[X[5]]=q(g.J>>8),a.ub[X[6]]=q(g.K>>8),a.ub[X[7]]=q(g.C>>8),a.ub[X[8]]=s(g.H),a.ub[X[9]]=s(g.J),a.ub[X[10]]=s(g.K),a.ub[X[11]]=s(g.C),a.ub[X[12]]=s(g.Y),a.ub[X[13]]=s(g.I),a.ub[X[14]]=s(g.G),a.ub[X[15]]=
|
||||
s(g.F),a.ub[X[16]]=s(g.La.ta),a.ub[X[17]]=s(g.va.ta),a.ub[X[18]]=s(g.Ya.ta),a.ub[X[19]]=s(g.fb.ta),a.ub[X[20]]=s(g.wa),f=" "+ja(a.ub,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+ea(c-2-a.T.va.Ga,a.T.va.ta)+f)}return e}function pd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(zd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
|
||||
function cb(a,b,c,d,e,f,g,h){h|=N;if(null==e||(a.Yb&h)==h)h=null,null!=e&&(h=a.T.va.ta,e-=a.T.va.Ga),a.message(b.Fh+"."+(null!=d?"outPort":"inPort")+"(0x"+s(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+ea(e,h):""))}k=lm.prototype;k.message=function(a,b){b&&(a+=" @"+ea(this.T.wa,this.T.va.ta));if(!this.$j||a!=this.$j)if(this.Z(a),this.$j=a,this.T){this.Yb&qf&&this.T.Ib();var c=this.T;c.da.Df=0;c.Uc-=c.A;c.A=0;Ub(c)}};k.Xn=function(){this.Z("Type ? for list of debugger commands")};
|
||||
function nm(a){var b;if(Pd(a)){if(!a.Yd||!a.Yd.length){a.Yd=Array(1E4);for(b=0;b<a.Yd.length;b++)a.Yd[b]=[0,null,0];a.wf=0}if(!a.$c||!a.$c.length)for(a.$c=Array(256),b=0;b<a.$c.length;b++)a.$c[b]=[b,0]}else a.wf=0,a.Yd=[],a.$c=[]}k.Ye=function(a){if(!Fm(this))return!1;this.T.Ye(a);return!0};
|
||||
k.Nf=function(a,b,c){if(!Fm(this))return!1;this.hd=0;do{a||Pd(this)&&Wd(this,this.T.Ea,!0);try{var d=this.T.Nf(a);0<d&&(this.hd+=d,$b(this.T,d,!0),Wb(this.T,d),this.lh++)}catch(e){this.hd=0,gb(this.T,e.message||e)}}while(this.T.ba&240);!1!==c&&Ub(this.T);Tb(this,b||!1,!1);return 0<this.hd};k.Ib=function(a,b){a&&this.Z(a);this.T.Ib(!b)};function Tb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Nc=[a.T.wa,a.T.va.ta,void 0];b&&1!=a.tc?Gm(a,null,c):Hm(a)}
|
||||
function Fm(a){var b;if(b=a.T&&fb(a.T))b=a.T,b.na.Sb?b=!0:(b.Z(b.toString()+" not powered"),b=!1);b&&!eb(a.T)?(a=a.T,a.na.fd?(a.Z(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ec=function(a,b){return!b&&(this.reset(!0),this.Z(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.dc=function(a,b){b&&this.Z(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
|
||||
k.reset=function(a){nm(this);this.hd=this.lh=0;this.Nc=[this.T.wa,this.T.va.ta,void 0];void 0===this.na.mb||a||this.Z("reset");this.na.mb=!1;Im(this);a||Tb(this)};k.save=function(){var a=new sd(this);a.set(0,this.Nc);a.set(1,this.ye);a.set(2,[this.Oc,this.pf,this.Yb]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Nc=a[b++],this.ye=a[b++],this.Oc=a[b][0],"string"==typeof this.Oc&&(this.Oc=[this.Oc]),this.pf=a[b][1],this.Yb||(this.Yb=a[b][2]));return!0};
|
||||
k.start=function(a,b){this.tc||this.Z("running");this.na.mb=!0;this.io=a;this.jd=b};k.stop=function(a,b){if(this.na.mb){this.na.mb=!1;this.hd=b-this.jd;if(!this.tc){var c="stopped";if(this.hd){var d=a-this.io,e=0<d?Math.round(1E3*this.hd/d):0,c=c+" (";Pd(this)&&(c+=this.lh+" ops, ");c+=this.hd+" cycles, "+d+" ms, "+e+" hz)"}this.Z(c)}Tb(this,!0,2!=this.tc);this.Yc();Im(this,this.T.Ea)}};function Pd(a){return 1<a.zc.length||a.ua(md)}
|
||||
function Wd(a,b,c){if(!(c||3!=a.T.va.bb||a.T.Ba&512)||!c&&Jm(a,b,a.zc))return!0;a.$c.length&&(a.lh++,c=rb(a.sa,b),a.$c[c][1]++,c=a.Yd[a.wf],c[0]=a.T.wa,c[1]=a.T.va.ta,c[2]=b,++a.wf==a.Yd.length&&(a.wf=0));return!1}function Gb(a,b){return Jm(a,b,a.Vd)?(a.T.Ib(!0),!0):!1}function Hb(a,b){return Jm(a,b,a.Zc)?(a.T.Ib(!0),!0):!1}function zb(a,b,c){a.Z("break on input from port "+s(b)+": "+q(c));a.T.Ib(!0)}function Db(a,b,c){a.Z("break on output to port "+s(b)+": "+q(c));a.T.Ib(!0)}
|
||||
function Bm(a,b){if(b==a.T.va.ta)return a.T.va;if(b==a.T.fb.ta)return a.T.fb;if(b==a.T.La.ta)return a.T.La;if(b==a.T.Ya.ta)return a.T.Ya;var c=new fc(a.T,7,"DBG");c.load(b,!0);return c}function Km(a,b,c,d){var e=b[2];null==e&&(a=Bm(a,b[1]),e=c?a.Zb(b[0],d||0,!0):a.Ic(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.yb=function(a,b){var c=255,d=Km(this,a,!1,0);0<=d&&(c=rb(this.sa,d),void 0!==b&&Lm(a,b));return c};
|
||||
k.ra=function(a,b){var c=65535,d=Km(this,a,!1,1);0<=d&&(c=sb(this.sa,d),void 0!==b&&Lm(a,b));return c};k.Qd=function(a,b,c){var d=Km(this,a,!0,0);0<=d&&(tb(this.sa,d,b),void 0!==c&&Lm(a,c),Ub(this.T))};k.Ua=function(a,b,c){var d=Km(this,a,!0,1);0<=d&&(ub(this.sa,d,b),void 0!==c&&Lm(a,c),Ub(this.T))};function Mm(a){return null==a[1]?"%"+p(a[2]):ea(a[0],a[1])}function Lm(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 mm(a){var b;a.zc=["exec"];if(void 0!==a.Vd)for(b=1;b<a.Vd.length;b++){var c=a.sa,d=Km(a,a.Vd[b]);Lb(c.Ha[d>>c.Eb],!1)}a.Vd=["read"];if(void 0!==a.Zc)for(b=1;b<a.Zc.length;b++)c=a.sa,d=Km(a,a.Zc[b]),Lb(c.Ha[d>>c.Eb],!0);a.Zc=["write"]}k.Zd=function(a,b,c){if(!Nm(this,a,b)){b[3]=c;a.push(b);if(a!=this.zc){var d=this.sa,e=Km(this,b);d.Ha[e>>d.Eb].Zd(e&d.qb,a==this.Zc)}c||this.Z("breakpoint enabled: "+Mm(b)+" ("+a[0]+")");nm(this);return!0}return!1};
|
||||
function Nm(a,b,c,d){var e=!1;c=Km(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==Km(a,g)){e=!0;if(d){b.splice(f,1);b!=a.zc&&(d=a.sa,Lb(d.Ha[c>>d.Eb],b==a.Zc));g[3]||a.Z("breakpoint cleared: "+Mm(g)+" ("+b[0]+")");nm(a);break}a.Z("breakpoint exists: "+Mm(g)+" ("+b[0]+")");break}}return e}function Om(a,b){for(var c=1;c<b.length;c++)a.Z("breakpoint enabled: "+Mm(b[c])+" ("+b[0]+")");return b.length-1}
|
||||
function Mb(a,b,c,d){if(void 0===d)Mb(a,b,c,a.Vd),Mb(a,b,c,a.Zc);else for(var e=1;e<d.length;e++){var f=Km(a,d[e]);if(f>=b&&f<b+c){var g=a.sa;g.Ha[f>>g.Eb].Zd(f&g.qb,d==a.Zc)}}}function Im(a,b){if(void 0!==b)Jm(a,b,a.zc,!0),a.tc=0;else for(var c=1;c<a.zc.length;c++){var d=a.zc[c];if(d[3]){if(!Nm(a,a.zc,d,!0))break;c=0}}}
|
||||
function Jm(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==Km(a,g)){g[3]?Nm(a,c,g,!0):d||a.Z("\nbreakpoint hit: "+Mm(g)+" ("+c[0]+")");e=!0;break}}return e}
|
||||
function Pm(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.yb(b,1),g=a.Uf[f],h=g[0],n=-1;205==h&&(h=a.yb(b,1),g=xm[h]||Y,f|=h<<8,h=g[0]);h>=sm.length&&(n=a.yb(b,1),g=ym[h-sm.length][n>>3&7]);var h=sm[g[0]],m=2,t="";if(164<=f&&167>=f||170<=f&&175>=f)m=0;for(f=1;f<=m;f++){var r="",u=g[f];if(void 0!==u){var x=u&15;if(0!=x&&15!=x){var v=u&240;if(128<=v)if(0>n&&(n=a.yb(b,1)),160<=v)a:{r=n>>3&7;if(176==(u&240)){if(4<=r){r=null;break a}r+=16}else 3<=(u&15)&&(r+=8);r=X[r]}else{if(128<=v){var r=a,v=u,u=b,C="",x=n>>6,
|
||||
C=n&7;3>x?(v=void 0,x||6!=C?(C=tm[C],1==x?(v=r.yb(u,1),v&128?(v=v<<24>>24,C+="-"+q(-v)):C+="+"+q(v)):2==x&&(v=r.ra(u,2),C+="+"+s(v))):(v=r.ra(u,2),C=s(v)),C="["+C+"]"):C=X[C+(1==(v&15)?0:8)];r=C}}else if(16==v)r="1";else if(0==v){r=a;x=u;u=b;v=" ";switch(x&15){case 1:x&12288&&(v=q(r.yb(u,1)));break;case 2:v=s(r.yb(u,1)<<24>>24);break;case 3:case 4:v=s(r.ra(u,2));break;case 6:x=r.ra(u,2);r=r.ra(u,2);v=Mm([x,r,void 0]);break;default:v="imm("+s(x)+")"}r=v}else 32==v?r="["+s(a.ra(b,2))+"]":48==v?(1==
|
||||
x?(r=a.yb(b,1),r=r<<24>>24):r=a.ra(b,2),r=b[0]+r&65535,r=Qm(a,[r,b[1],void 0])[0]||s(r)):96==v?r=X[(u&3840)>>8]:112==v?r=X[((u&3840)>>8)+16]:64==v?r="DS:[SI]":80==v&&(r="ES:[DI]");if(!r||!r.length){t="INVALID";break}0<t.length&&(t+=",");t+=r}}}g=Mm(e)+" ";n="";do n+=q(a.yb(e,1));while(e[0]!=b[0]);g+=(n+" ").substr(0,14);g+=(h+" ").substr(0,8);t&&(g+=" "+t);c&&(g=(g+" ").substr(0,50),g+=";",g=a.T.na.qf?g+("cycles="+D(a.T).toString()+" cs="+p(a.T.da.pg)):g+(c+
|
||||
(null!=d?"="+d.toString():"")));return g}function Rm(a,b){var c;switch(b){case "V":c=Ed(a.T);break;case "D":c=a.T.Ba&1024;break;case "I":c=a.T.Ba&512;break;case "T":c=a.T.Ba&256;break;case "S":c=Dd(a.T);break;case "Z":c=Cd(a.T);break;case "A":c=Bd(a.T);break;case "P":c=Ad(a.T);break;case "C":c=zd(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function Sm(a,b,c){return b.Lg+"="+s(b.ta)+(c?"["+p(b.Ga,a.Le)+","+s(b.oc)+"]":"")}
|
||||
function Tm(a,b,c,d,e){return b+"="+(null!=c?s(c):"")+"["+p(d,a.Le)+","+s(e-d)+"]"}
|
||||
function Um(a,b,c){var d=2==c?a.mk:a.Nc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),c=-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.Dc.length;h++){var f=a.Dc[h][0],n=a.Dc[h][2][g];if(void 0!==n){g=n.o;void 0!==g&&(h=n.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Am(a,b),d=null):d=Am(a,b):(e=Am(a,b.substring(0,d)),c=Am(a,b.substring(d+1)),
|
||||
d=null)}return[c,e,d]}
|
||||
function zm(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.Y;break;case "CS":d=a.T.ua.ta;break;case "DS":d=a.T.fb.ta;break;case "ES":d=a.T.La.ta;break;case "SS":d=a.T.Za.ta;break;case "IP":d=a.T.wa;break;default:d=ea(b),void 0===d&&a.Z("invalid "+(c?c:"value")+": "+b)}else a.Z("missing "+(c||"value"));return d}
|
||||
function Sj(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 n=d[h];"number"==typeof n&&(d[h]=n={o:n});var m=n.o,s=n.s,r=n.a;void 0!==m&&(void 0!==s&&(f[0]=m,f[1]=s,n.p=Jm(a,f)),pa(g,[m,h],e));r&&(n.a=r.replace(/''/g,'"'))}a.Cc.push([b,c,d,g])}
|
||||
function Pm(a,b,c){for(var d=[],e=Jm(a,b),f=0;f<a.Cc.length;f++){var g=a.Cc[f][0],h=a.Cc[f][1];if(e>=g&&e<g+h){b=oa(a.Cc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Um(a,f,b,d):c&&(b=~b,Um(a,f,b-1,d),Um(a,f,b,d));break}}return d}function Um(a,b,c,d){var e={},f=a.Cc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.Cc[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 Vm(a,b){if("?"==b)a.Z("\nfrequency commands:"),a.Z("\tclear\tclear all frequency counts");else{var c,d=0;if(a.$c)if("clear"==b){for(c=0;c<a.$c.length;c++)a.$c[c]=[c,0];a.Z("frequency data cleared");d++}else if(void 0!==b)a.Z("unknown frequency command: "+b),d++;else{var e=a.$c.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.Z((rm[a.Uf[f][0]]+" ").substr(0,5)+" ("+q(f)+"): "+g+" times"),d++)}}d||a.Z("no frequency data available")}}
|
||||
function Wm(a,b){var c=Tm(a,b,1);if(null!=c[0]||null!=c[2]){var d=Jm(a,c);a.Z((b?b+": ":"")+Lm(c)+" (%"+p(d,a.Le)+")");d=Pm(a,c,!0);if(d.length){var e,f;d[0]&&(f="",(e=c[0]-d[1])&&(f=" + "+v(e)),a.Z(d[0]+" ("+fa(d[1],c[1])+")"+f));4<d.length&&d[4]&&(f="",(e=d[5]-c[0])&&(f=" - "+v(e)),a.Z(d[4]+" ("+fa(d[5],c[1])+")"+f))}else a.Z("no symbols")}}
|
||||
function Xm(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.Z("\nlist/load commands:"),a.Z("\tl [address] [drive #] [sector #] [# sectors]"),a.Z("\tln [address] lists symbol(s) nearest to address");else if("ln"==b[0])Wm(a,b[1]);else{var c="json"==b[1],d,e=0,f=0,g=c?[]:Tm(a,b[1],2);d=zm(a,b[2],"drive #");if(void 0!==d){if(!c){e=zm(a,b[3],"sector #");if(void 0===e)return;f=zm(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Um;2<=d&&a.Qk&&(d-=2,h=a.Qk);if(h){var n=h.Bk(d);if(n)if(n.za)if(c)a.Z(n.za.toJSON());
|
||||
else if(h.qm(n,e,f)){for(var m=0,s=!1,c=Lm(g);!s&&0<n.kb--;)(function(a,b){h.yc(n,function(c){0>c?(a.Z("out of data at address "+Lm(b)),s=!0):(a.Sd(b,c,1),m++)})})(a,g);a.Z(m+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}}
|
||||
function Fm(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1<b.length){var e=b[1];if("p"==e)d=void 0!==a.T.Ec;else{c=null;var f=e.indexOf("=");if(0<f)c=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)c=b[2];else{a.Z("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.Z("invalid value: "+c);return}e=e.toUpperCase();
|
||||
function Am(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.Y;break;case "CS":d=a.T.va.ta;break;case "DS":d=a.T.fb.ta;break;case "ES":d=a.T.La.ta;break;case "SS":d=a.T.Ya.ta;break;case "IP":d=a.T.wa;break;default:d=da(b),void 0===d&&a.Z("invalid "+(c?c:"value")+": "+b)}else a.Z("missing "+(c||"value"));return d}
|
||||
function Tj(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 n=d[h];"number"==typeof n&&(d[h]=n={o:n});var m=n.o,t=n.s,r=n.a;void 0!==m&&(void 0!==t&&(f[0]=m,f[1]=t,n.p=Km(a,f)),na(g,[m,h],e));r&&(n.a=r.replace(/''/g,'"'))}a.Dc.push([b,c,d,g])}
|
||||
function Qm(a,b,c){for(var d=[],e=Km(a,b),f=0;f<a.Dc.length;f++){var g=a.Dc[f][0],h=a.Dc[f][1];if(e>=g&&e<g+h){b=ma(a.Dc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Vm(a,f,b,d):c&&(b=~b,Vm(a,f,b-1,d),Vm(a,f,b,d));break}}return d}function Vm(a,b,c,d){var e={},f=a.Dc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.Dc[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 Wm(a,b){if("?"==b)a.Z("\nfrequency commands:"),a.Z("\tclear\tclear all frequency counts");else{var c,d=0;if(a.$c)if("clear"==b){for(c=0;c<a.$c.length;c++)a.$c[c]=[c,0];a.Z("frequency data cleared");d++}else if(void 0!==b)a.Z("unknown frequency command: "+b),d++;else{var e=a.$c.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.Z((sm[a.Uf[f][0]]+" ").substr(0,5)+" ("+q(f)+"): "+g+" times"),d++)}}d||a.Z("no frequency data available")}}
|
||||
function Xm(a,b){var c=Um(a,b,1);if(null!=c[0]||null!=c[2]){var d=Km(a,c);a.Z((b?b+": ":"")+Mm(c)+" (%"+p(d,a.Le)+")");d=Qm(a,c,!0);if(d.length){var e,f;d[0]&&(f="",(e=c[0]-d[1])&&(f=" + "+s(e)),a.Z(d[0]+" ("+ea(d[1],c[1])+")"+f));4<d.length&&d[4]&&(f="",(e=d[5]-c[0])&&(f=" - "+s(e)),a.Z(d[4]+" ("+ea(d[5],c[1])+")"+f))}else a.Z("no symbols")}}
|
||||
function Ym(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.Z("\nlist/load commands:"),a.Z("\tl [address] [drive #] [sector #] [# sectors]"),a.Z("\tln [address] lists symbol(s) nearest to address");else if("ln"==b[0])Xm(a,b[1]);else{var c="json"==b[1],d,e=0,f=0,g=c?[]:Um(a,b[1],2);d=Am(a,b[2],"drive #");if(void 0!==d){if(!c){e=Am(a,b[3],"sector #");if(void 0===e)return;f=Am(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Vm;2<=d&&a.Rk&&(d-=2,h=a.Rk);if(h){var n=h.Ck(d);if(n)if(n.za)if(c)a.Z(n.za.toJSON());
|
||||
else if(h.qm(n,e,f)){for(var m=0,t=!1,c=Mm(g);!t&&0<n.kb--;)(function(a,b){h.yc(n,function(c){0>c?(a.Z("out of data at address "+Mm(b)),t=!0):(a.Qd(b,c,1),m++)})})(a,g);a.Z(m+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}}
|
||||
function Gm(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1<b.length){var e=b[1];if("p"==e)d=void 0!==a.T.Ec;else{c=null;var f=e.indexOf("=");if(0<f)c=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)c=b[2];else{a.Z("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.Z("invalid value: "+c);return}e=e.toUpperCase();
|
||||
switch(e){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.Y=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":vd(a.T,b);break;case "ES":xd(a.T,b);break;case "SS":wd(a.T,b);break;case "CS":ud(a.T,b);a.Nc=[a.T.wa,a.T.ua.ta,void 0];break;case "IP":H(a.T,b);a.Nc=[a.T.wa,a.T.ua.ta,void 0];break;case "PC":case "PS":Ac(a.T,b);break;case "C":b?Kd(a.T):Fd(a.T);break;case "P":b?(e=a.T,Ad(e)||(e.la^=1)):(e=a.T,Ad(e)&&(e.la^=1));break;case "A":b?Ld(a.T):Gd(a.T);break;case "Z":b?Md(a.T):Hd(a.T);break;case "S":b?Nd(a.T):Id(a.T);break;case "I":b?
|
||||
(e=a.T,e.Ba|=512):(e=a.T,e.Ba&=-513);break;case "D":b?(e=a.T,e.Ba|=1024):(e=a.T,e.Ba&=-1025);break;case "V":b?Od(a.T):Jd(a.T);break;default:c=!0;if(80286<=a.T.Ka)switch(c=!1,e){case "MS":lf.call(a.T,b);break;case "TR":a.T.gb.load(b);break;default:c=!0}if(c){a.Z("unknown register: "+e);return}}Vb(a.T);a.Z("\nupdated registers:");c=!0}}e=d;void 0===e&&(e=!!(a.T.fc&1));d="AX="+v(a.T.H)+" BX="+v(a.T.C)+" CX="+v(a.T.J)+" DX="+v(a.T.K)+" SP="+v(a.T.Y)+" BP="+v(a.T.I)+" SI="+v(a.T.G)+" DI="+v(a.T.F)+"\n";
|
||||
d+=Rm(a,a.T.fb,e)+" "+Rm(a,a.T.La,e)+" "+Rm(a,a.T.Za,e);d=d+(e?"\n":" ")+(Rm(a,a.T.ua,e)+" IP="+v(a.T.wa)+Qm(a,"V")+Qm(a,"D")+Qm(a,"I")+Qm(a,"T")+Qm(a,"S")+Qm(a,"Z")+Qm(a,"A")+Qm(a,"P")+Qm(a,"C")+" PS="+v(zc(a.T)));e&&(e=a.sa,d+=" MS="+v(a.T.fc)+"\n"+Sm(a,"LD",a.T.Xc.ta,a.T.Xc.Ga,a.T.Xc.Ga+a.T.Xc.oc)+" "+Sm(a,"GD",null,a.T.Ec,a.T.Be)+" "+Sm(a,"ID",null,a.T.Qc,a.T.Ce)+" TR="+v(a.T.gb.ta)+" A20="+(e.Wf==e.md?"ON":"OFF"));a.Z((c?"":"\n")+d);a.Nc=[a.T.wa,a.T.ua.ta,void 0];Gm(a,Lm(a.Nc))}}
|
||||
function Ym(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Da(b,function(){return db(a,!0)&&a.Nf(e,d,!1)},function(){Vb(a.T);db(a,!1)})}
|
||||
function Gm(a,b,c,d){b=Tm(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.sa.Wf];if(void 0!==c){e=Tm(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.Z("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Nc[0];d&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){d--;var f=a.yb(b),g=eb(a,!1)||a.tc?a.hd: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=Pm(a,b);if(h[0]){var n=h[0]+":";c=!1;h[2]&&(n+=" "+h[2]);a.Z(n)}c&&a.Z();h[3]&&(f=h[3],g=
|
||||
null);c=Om(a,b,f,g);a.Z(c);a.Nc=b;c=!1}d&&a.Z("end of memory")}}function Dm(a,b,c){if(c)if(b){0>a.Tc&&a.Oc.length&&(a.Tc=0);if(0>a.Tc||b!=a.Oc[a.Tc])a.Oc.splice(0,0,b),a.Tc=0;a.Tc--}else b=a.Oc[a.Tc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ma(a[d]);return a}
|
||||
function om(a,b){var c=!0;try{if(b.length||(a.qf?(a.Z("ended assemble @"+Lm(a.ye)),a.Nc=a.ye,a.qf=!1):b="?"),b=b.toLowerCase(),fb(a)&&0<b.length){if(a.qf)b="a "+Lm(a.ye)+" "+b;else{var d,e,f;switch(b){case "reset":return a.Ma&&a.Ma.reset(),!0;case "ver":return a.Z("PCjs version 1.16.2 (release,noprefetch,eatests,dwordarrays)"),!0;default:for(e=b.charAt(0),f=1;f<b.length;f++){d=b.charAt(f);if(" "==d)break;if("r"==e||"a">d||"z"<d){b=b.substring(0,f)+" "+b.substring(f);break}}}}var g=b.split(" ");switch(g[0].charAt(0)){case "a":var h=
|
||||
Tm(a,g[1],1);if(null!=h[0])if(a.ye=h,void 0===g[2])a.Z("begin assemble @"+Lm(h)),a.qf=!0,Vb(a.T);else{var n;a.Z("not supported yet");n=[];if(n.length){for(var m=0;m<n.length;m++)a.Sd(h,n[m],1);a.Z(Om(a,a.ye))}}break;case "b":a:{var s=g[1],r=g[0].charAt(1);if(r&&"?"!=r)if("l"==r)m=0,m+=Nm(a,a.zc),m+=Nm(a,a.Xd),(m+=Nm(a,a.Zc))||a.Z("no breakpoints");else if(void 0===s)a.Z("missing breakpoint address");else{m=[];if("*"!=s&&(m=Tm(a,s,1),null==m[0]))break a;s=null==m[0]?s:v(m[0]);"c"==r?null==m[0]?(lm(a),
|
||||
a.Z("all breakpoints cleared")):Mm(a,a.zc,m,!0)||Mm(a,a.Xd,m,!0)||Mm(a,a.Zc,m,!0)||a.Z("breakpoint missing: "+Lm(m)):"i"==r?a.Z("breakpoint "+(wb(a.sa,m[0])?"enabled":"cleared")+": port "+s+" (input)"):"o"==r?a.Z("breakpoint "+(Ab(a.sa,m[0])?"enabled":"cleared")+": port "+s+" (output)"):null!=m[0]&&("p"==r?a.ae(a.zc,m):"r"==r?a.ae(a.Xd,m):"w"==r?a.ae(a.Zc,m):a.Z("unknown breakpoint command: "+r))}else a.Z("\nbreakpoint commands:"),a.Z("\tbi [p]\ttoggle break on input port [p]"),a.Z("\tbo [p]\ttoggle break on output port [p]"),
|
||||
a.Z("\tbp [a]\tset exec breakpoint at addr [a]"),a.Z("\tbr [a]\tset read breakpoint at addr [a]"),a.Z("\tbw [a]\tset write breakpoint at addr [a]"),a.Z("\tbc [a]\tclear breakpoint at addr [a]"),a.Z("\tbl\tlist all breakpoints")}break;case "c":a.gg&&(a.gg.value="");break;case "d":a:{var t=g[0],m=g[1],w=g[2],u;if("?"==m){m="";for(u in tm)a.li[u]&&(m&&(m+=","),m+=u);m+=",state,symbols";a.Z("\ndump commands:");a.Z("\tdb [a] [#] dump # bytes at address a");a.Z("\tdw [a] [#] dump # words at address a");
|
||||
m.length&&a.Z("dump extensions:\n\t"+m)}else if("state"==m)a.Z(Zm(a.Ma,!0));else if("symbols"==m)for(m=0;m<a.Cc.length;m++){var C=a.Cc[m][0],R=a.Cc[m][2],O;for(O in R)if("."!=O.charAt(0)){var ya=R[O],Fa=ya.o;if(void 0!==Fa){var Za=ya.s;void 0===Za&&(Za=C>>>4);var Tb=R[O].l;Tb&&(O=Tb);a.Z(fa(Fa,Za)+" "+O)}}}else{for(u in tm)if(m==u){var Hc=a.li[u];Hc?Hc(w):a.Z("no dump registered for "+m);break a}var E=Tm(a,m,2);if(null!=E[0]){var S=0,K="dw"==t;void 0!==w&&("l"==w.charAt(0)&&(w=w.substr(1)),(S=parseInt(w,
|
||||
10))&&(S=K?S+7>>3:S+15>>4));var na="";S||(S=8);for(g=0;g<S;g++){for(var za=w="",m=Lm(E),ia=0,aa=0;16>aa;aa++){var X=a.yb(E,1);K?aa&1&&(w+=v(ia|X<<8)+(7==aa?" - ":" ")):w+=q(X)+(7==aa?"-":" ");za+=32<=X&&128>X?String.fromCharCode(X):".";ia=X}na&&(na+="\n");na+=m+" "+w+" "+za}na&&a.Z(na);a.lk=E}}}break;case "e":var Ic=g[1];if(void 0===Ic)a.Z("missing address");else{var nc=Tm(a,Ic,2);if(null!=nc[0])for(m=2;m<g.length;m++){var Jc=parseInt(g[m],16);a.Z("setting "+Lm(nc)+" to "+q(Jc));a.Sd(nc,Jc,1)}}break;
|
||||
case "f":Vm(a,g[1]);break;case "g":a:{var Fk=g[1];if(void 0!==Fk){var Gk=Tm(a,Fk,1);if(null==Gk[0])break a;a.ae(a.zc,Gk,!0)}a.Ze(!0)||a.Z('cpu not available, "g" command ignored')}break;case "h":za=g[1];if(a.na.Fb&&void 0===za)a.Z("halting"),a.T.Jb();else{m="";E=10;ia=a.xf;aa=a.$d;if(aa.length){var Sa=void 0===za?a.dm:parseInt(za,10);isNaN(Sa)?Sa=E:m="more ";Sa>aa.length&&(a.Z("note: only "+aa.length+" available"),Sa=aa.length);ia-=Sa;0>ia&&(null!=aa[aa.length-1][1]?ia+=aa.length:(Sa=ia+Sa,ia=0));
|
||||
for(void 0!==za&&a.Z(Sa+" instructions earlier:");E&&ia!=a.xf;){var qc=aa[ia];if(null==qc[1])break;qc=[qc[0],qc[1],qc[2]];a.Z(Om(a,qc,"history",-Sa));++ia==aa.length&&(ia=0);a.dm=--Sa;E--}}10==E&&(a.Z("no "+m+"history available"),a.dm=void 0)}break;case "i":var ef=g[1];if(ef&&"?"!=ef){var ff=zm(a,ef);if(void 0!==ff){var pn=yb(a.sa,ff);a.Z(v(ff)+": "+q(pn))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Xm(a,g);break;
|
||||
case "m":a:{m=null;K=g[1];"?"==K&&(K=void 0);if(void 0!==K){E=0;if("all"==K)E=4294967295&~(qf|268435456),K=null;else if("on"==K)m=!0,K=null;else if("off"==K)m=!1,K=null;else{for(S in tm)if(K==S){E=tm[S];m=!!(a.Yb&E);break}if(!E){a.Z("unknown message category: "+K);break a}}E&&("on"==g[2]?(a.Yb|=E,m=!0):"off"==g[2]&&(a.Yb&=~E,m=!1))}E=0;X="";for(S in tm)if(!K||K==S)if(na=!!(a.Yb&tm[S]),null===m||m==na)X&&(X+=","),++E%10||(X+="\n\t"),X+=S;void 0===K&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.Z((null!==m?m?"messages on: ":"messages off: ":"message categories:\n\t")+(X||"none"))}break;case "o":var gf=g[1],qn=g[2];if(gf&&"?"!=gf){var Hk=zm(a,gf,"port #"),Ik=zm(a,qn);void 0!==Hk&&void 0!==Ik&&Cb(a.sa,Hk,Ik)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var Jk="pr"==g[0]?1:0,m=1+Jk;if(a.tc)a.Z("step in progress");else{var Qd,E=!1,Ta=[a.T.wa,a.T.ua.ta,void 0];do switch(Qd=!1,
|
||||
a.yb(Ta)){case 38:case 46:case 54:case 62:case 240:Km(Ta,1);Qd=!0;break;case 204:case 206:a.tc=m;Km(Ta,1);break;case 205:case 224:case 225:case 226:a.tc=m;Km(Ta,2);break;case 232:a.tc=m;Km(Ta,3);break;case 154:a.tc=m;Km(Ta,5);break;case 255:a.tc=0<=Om(a,Ta).indexOf("CALL")?m:0;break;case 243:case 242:Km(Ta,1);E=Qd=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:E&&(a.tc=m,Km(Ta,1))}while(Qd);a.tc?(a.ae(a.zc,Ta,
|
||||
!0),a.Ze()||(a.T.Yc(),a.tc=0)):Ym(a,Jk?"tr":"t")}break;case "r":Fm(a,g);break;case "t":case "tr":Ym(a,g[0],g[1]);break;case "u":Gm(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Oc;void 0!==g[3]&&(Oc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Bf=
|
||||
Oc;break;case "start":a.T.da.qg=Oc;break;case "stop":a.T.da.Df=Oc;break;default:a.Z("unknown cs option");break a}void 0!==Oc&&Rb(a.T);a.Z("checksums "+(a.T.na.rf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Yb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Te.toFixed(2)+"Mhz")+" ("+a.T.da.Pd+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var m="commands:",Rd;for(Rd in qm)m+="\n"+Rd+" ".substr(0,7-Rd.length)+qm[Rd];Pd(a)||(m+="\nnote: frequency/history disabled if no exec breakpoints");
|
||||
a.Z(m);break;default:a.Z("unknown command: "+b),c=!1}}}catch(rn){a.Z("debugger sad: "+rn.message),c=!1}return c}Ka(function(){for(var a=A(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new km(d);bb(d,c)}});function sd(a,b,c){this.id=a.id;this.key=$m(a,b,c);this.ka=a.ka;an(this,a.mp)}function $m(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
sd.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Ji=!0):this.Ji?!0:xa()&&(a=Aa(this.key))?(this[this.id]=a,this.Ji=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){x(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
|
||||
clear:function(a){an(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},va:function(a){return this.ka?this.ka.va(null==a?8388608:a|8388608):!1},qb:function(a){this.ka&&this.ka.message(a)}};function an(a,b){a[a.id]={};b&&a.set("parms",b);a.Ji=!1}
|
||||
function bn(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);Ba(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
|
||||
function cn(a,b,c){y.call(this,"Computer",a,cn,33554432);this.na.Tb=!1;this.Af=a.buswidth;this.Vc=dn;this.Mg=null;this.Ah=!1;this.url=b?b.url:null;this.wp=(Math.random()+0.1).toString(36).substr(2,12);this.Wc=en(this);if(this.T=ab("CPU",this.id)){this.ka=ab("Debugger",this.id);this.sa=new kb({id:this.Tk+".bus",buswidth:this.Af},this.T,this.ka);var d,e=Ya(this.id);if((this.Hg=ab("Panel",this.id))&&this.Hg.gg)for(b=0;b<e.length;b++)d=e[b],d.Ia=this.Hg.Ia,d.Z=this.Hg.Z,d.gg=this.Hg.gg;for(b=0;b<e.length;b++)d=
|
||||
e[b],d.vc&&d.vc(this,this.sa,this.T,this.ka);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Zh=d:this.Vc=parseInt(d,10));var f;if(a=Qa&&Qa.state||(f=!0,a.state))b=this.pm=a,f||(this.Ah=!0,this.Vc=dn),this.Vc&&(this.bi=new sd(this,"1.16.2"),this.bi.load()?b=null:delete this.bi);!b&&this.Vc&&(f=null,this.Wc&&(f=ua()+"/api/v1/user?req=load&user="+this.Wc+"&state="+$m(this,"1.16.2")),b=f)&&(this.Ah=!0);b?ta(b,!0,null,this,this.oo):this.Wa();c||fn(this,this.Sh)}else x("Unable to find CPU component")}
|
||||
Xa(y,cn);var dn=0;k=cn.prototype;k.vf=function(){return this.wp};k.me=function(){return this.Wc?this.Wc:""};k.oo=function(a,b,c){c?(this.Zh=null,this.Ah=!1,this.Ia("Unable to load machine state from server (error "+c+(b?": "+ma(b):"")+")")):this.Mg=b;this.Wa()};function fn(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!fb(f)){fb(f,function(){fn(a,b,c)});return}}b.call(a,c)}
|
||||
function gn(a,b){var c=new sd(a,"1.16.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
k.Sh=function(a){void 0===a&&(a=this.Vc||(this.Mg?1:dn));var b=!1,c=!1;this.Mk=!1;var d=this.bi||new sd(this,"1.16.2");if(-1==a)b=!0;else if(a>dn){if(d.load(this.Mg)){this.cf=new sd(this,"1.16.2","failsafe");this.cf.load()&&(hn(this,d),a=2,an(this.cf));this.cf.set("timestamp",ra());bn(this.cf);var e=this.Vc&&!this.Ah;if(1==a||va("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.Wc=null)):this.Z(f+": "+g),an(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&gn(this,c?d:null)}else 2==a&&d.clear()}else gn(this);delete this.Mg;delete this.bi}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=jn(this,g,d,b,c));b=[d,a,c];-1!=a?fn(this,this.Ek,b):this.Ek(b)};
|
||||
function jn(a,b,c,d,e){if(!b.na.Tb){b.na.Tb=!0;if(b.ec){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ec(f,d)&&f&&(x("Unable to restore state for "+b.type),a.pm&&!a.Mg?(c.clear(),a.Vc=dn,window&&window.location.reload()):a.Mk=!0,b.ec(null),e=!1)}if(!d&&b.Ak)for(a=b.Ak.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
k.Ek=function(a){var b=a[0],c=0>a[1];a=a[2];this.na.Tb=!0;this.Jk||(this.Z("PCjs v1.16.2\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Jk=!0);this.T&&jn(this,this.T,b,c,a);this.Mk&&(hn(this,b),b.clear());!c&&this.cf&&(this.cf.clear(),delete this.cf)};
|
||||
function hn(a,b){if(va("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.me(),d=b.toString(),e={app:"PCjs",ver:"1.16.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;ta("http://www.pcjs.org/api/v1/report",!0,e)}}
|
||||
function Zm(a,b,c){var d,e="none",f=new sd(a,"1.16.2"),g=new sd(a,"1.16.2","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.dc&&(c&&a.T.Jb(),d=a.T.dc(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.na.Tb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),n=0;n<h.length;n++){var m=h[n];m.na.Tb&&(m.dc&&(d=m.dc(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.na.Tb=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Wc&&kn(a,a.Wc,f.toString()),bn(g)&&bn(f)||(e=null,d=h=!0)):a.Vc&&(d=!0,h=3==a.Vc),d&&f.clear(h)):e=f.toString());c&&(a.na.Tb=!1);return e}k.reset=function(){this.sa&&this.sa.reset&&(this.qb("Resetting "+this.sa.type),this.sa.reset());for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.sa&&c.reset&&(this.qb("Resetting "+c.type),c.reset())}};
|
||||
k.start=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
k.Ib=function(a,b,c){var d=this;switch(b){case "save":return this.xa[b]=c,c.onclick=function(){var a=en(d,!0);if(a){var b=!(!d.Vc||d.Zh),c=Zm(d,b);b?kn(d,a,c):d.Ia("Resume disabled, machine state not saved")}},!0;case "reset":return this.xa[b]=c,c.onclick=function(){Xb(d)},!0}return!1};
|
||||
function en(a,b){var c=a.Wc;c||(c=Aa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=ln(a,c))||a.Ia("Your user ID has not been approved."))):b&&a.Ia("Browser local storage is not available"));return c}
|
||||
function ln(a,b){a.Wc=null;var c=ta(ua()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Ba("user",c.data),a.Wc=c.data)}catch(e){x(e.message+" ("+d+")")}return a.Wc}
|
||||
function kn(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=$m(a,"1.16.2");d.data=c;b=ta(ua()+"/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.Ia("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.Ia(c),Ba("user",""),a.Wc=null)}}
|
||||
function Xb(a){if(a.Vc&&!a.Zh){var b=va("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Zm(a,b,!0);!b&&a.pm?window&&window.location.reload():(b||(a.Ki=!0),a.Sh(dn),a.Ki=!1)}else a.reset(),a.T&&Sb(a.T)}function ib(a,b,c){a=Ya(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}
|
||||
Ka(function(){for(var a=A(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new cn(g,d,!0);bb(g,f);fn(g,g.Sh)}});Ga.show.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=ab("Computer",c.id))&&c.Jk&&!c.na.Tb&&c.Sh(-1)}});
|
||||
Ga.exit.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=ab("Computer",c.id))&&c.na.Tb&&Zm(c,!(!c.Vc||c.Zh),!0)}});var mn=0;function nn(a,b,c,d,e,f){e("Loading "+a+"...");ta(a,!0,null,null,function(g,h,n){n?(h||(h="unable to load "+a+" ("+n+")"),f(h,null)):on(h,a,b,c,d,e,f)})}
|
||||
function on(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("<"==a.charAt(0))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(r){h=
|
||||
null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?sn(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function sn(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ta(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 n=h[0],m,s=/( [a-z]+=)(['"])(.*?)\2/g;m=s.exec(f);)n=0>n.indexOf(m[1])?n.replace(">",m[0]+">"):n.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=n&&(g=g.replace(h[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);sn(a,b,c)}})}else c(a,null)}
|
||||
function tn(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ka(a))}function f(a){e("Error: "+a);n&&(--mn||Ma(!0));n=!1}var g,h,n=!0;mn++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.2/components.xsl");var m=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--mn||Ma(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
|
||||
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--mn||Ma(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?nn(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?nn(b,a,d,!0,e,m):on(b,null,a,d,!1,e,m)}else f("failed to find machine element: "+a)}catch(s){f(s.message)}return n}
|
||||
window.embedPC=function(a,b,c,d){Ma(!1);return tn(a,b,c,d)};window.enableEvents=Ma;window.sendEvent=Na;})();
|
||||
65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":vd(a.T,b);break;case "ES":xd(a.T,b);break;case "SS":wd(a.T,b);break;case "CS":ud(a.T,b);a.Nc=[a.T.wa,a.T.va.ta,void 0];break;case "IP":H(a.T,b);a.Nc=[a.T.wa,a.T.va.ta,void 0];break;case "PC":case "PS":Ac(a.T,b);break;case "C":b?Kd(a.T):Fd(a.T);break;case "P":b?(e=a.T,Ad(e)||(e.la^=1)):(e=a.T,Ad(e)&&(e.la^=1));break;case "A":b?Ld(a.T):Gd(a.T);break;case "Z":b?Md(a.T):Hd(a.T);break;case "S":b?Nd(a.T):Id(a.T);break;case "I":b?
|
||||
(e=a.T,e.Ba|=512):(e=a.T,e.Ba&=-513);break;case "D":b?(e=a.T,e.Ba|=1024):(e=a.T,e.Ba&=-1025);break;case "V":b?Od(a.T):Jd(a.T);break;default:c=!0;if(80286<=a.T.Ka)switch(c=!1,e){case "MS":lf.call(a.T,b);break;case "TR":a.T.gb.load(b);break;default:c=!0}if(c){a.Z("unknown register: "+e);return}}Ub(a.T);a.Z("\nupdated registers:");c=!0}}e=d;void 0===e&&(e=!!(a.T.fc&1));d="AX="+s(a.T.H)+" BX="+s(a.T.C)+" CX="+s(a.T.J)+" DX="+s(a.T.K)+" SP="+s(a.T.Y)+" BP="+s(a.T.I)+" SI="+s(a.T.G)+" DI="+s(a.T.F)+"\n";
|
||||
d+=Sm(a,a.T.fb,e)+" "+Sm(a,a.T.La,e)+" "+Sm(a,a.T.Ya,e);d=d+(e?"\n":" ")+(Sm(a,a.T.va,e)+" IP="+s(a.T.wa)+Rm(a,"V")+Rm(a,"D")+Rm(a,"I")+Rm(a,"T")+Rm(a,"S")+Rm(a,"Z")+Rm(a,"A")+Rm(a,"P")+Rm(a,"C")+" PS="+s(zc(a.T)));e&&(e=a.sa,d+=" MS="+s(a.T.fc)+"\n"+Tm(a,"LD",a.T.Xc.ta,a.T.Xc.Ga,a.T.Xc.Ga+a.T.Xc.oc)+" "+Tm(a,"GD",null,a.T.Ec,a.T.Be)+" "+Tm(a,"ID",null,a.T.Qc,a.T.Ce)+" TR="+s(a.T.gb.ta)+" A20="+(e.Wf==e.ld?"ON":"OFF"));a.Z((c?"":"\n")+d);a.Nc=[a.T.wa,a.T.va.ta,void 0];Hm(a,Mm(a.Nc))}}
|
||||
function Zm(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Ca(b,function(){return db(a,!0)&&a.Nf(e,d,!1)},function(){Ub(a.T);db(a,!1)})}
|
||||
function Hm(a,b,c,d){b=Um(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.sa.Wf];if(void 0!==c){e=Um(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.Z("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Nc[0];d&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){d--;var f=a.yb(b),g=eb(a,!1)||a.tc?a.hd: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=Qm(a,b);if(h[0]){var n=h[0]+":";c=!1;h[2]&&(n+=" "+h[2]);a.Z(n)}c&&a.Z();h[3]&&(f=h[3],g=
|
||||
null);c=Pm(a,b,f,g);a.Z(c);a.Nc=b;c=!1}d&&a.Z("end of memory")}}function Em(a,b,c){if(c)if(b){0>a.Tc&&a.Oc.length&&(a.Tc=0);if(0>a.Tc||b!=a.Oc[a.Tc])a.Oc.splice(0,0,b),a.Tc=0;a.Tc--}else b=a.Oc[a.Tc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a}
|
||||
function pm(a,b){var c=!0;try{if(b.length||(a.pf?(a.Z("ended assemble @"+Mm(a.ye)),a.Nc=a.ye,a.pf=!1):b="?"),b=b.toLowerCase(),fb(a)&&0<b.length){if(a.pf)b="a "+Mm(a.ye)+" "+b;else{var d,e,f;switch(b){case "reset":return a.Ma&&a.Ma.reset(),!0;case "ver":return a.Z("PCjs version 1.16.3 (release,noprefetch,eatests,dwordarrays)"),!0;default:for(e=b.charAt(0),f=1;f<b.length;f++){d=b.charAt(f);if(" "==d)break;if("r"==e||"a">d||"z"<d){b=b.substring(0,f)+" "+b.substring(f);break}}}}var g=b.split(" ");switch(g[0].charAt(0)){case "a":var h=
|
||||
Um(a,g[1],1);if(null!=h[0])if(a.ye=h,void 0===g[2])a.Z("begin assemble @"+Mm(h)),a.pf=!0,Ub(a.T);else{var n;a.Z("not supported yet");n=[];if(n.length){for(var m=0;m<n.length;m++)a.Qd(h,n[m],1);a.Z(Pm(a,a.ye))}}break;case "b":a:{var t=g[1],r=g[0].charAt(1);if(r&&"?"!=r)if("l"==r)m=0,m+=Om(a,a.zc),m+=Om(a,a.Vd),(m+=Om(a,a.Zc))||a.Z("no breakpoints");else if(void 0===t)a.Z("missing breakpoint address");else{m=[];if("*"!=t&&(m=Um(a,t,1),null==m[0]))break a;t=null==m[0]?t:s(m[0]);"c"==r?null==m[0]?(mm(a),
|
||||
a.Z("all breakpoints cleared")):Nm(a,a.zc,m,!0)||Nm(a,a.Vd,m,!0)||Nm(a,a.Zc,m,!0)||a.Z("breakpoint missing: "+Mm(m)):"i"==r?a.Z("breakpoint "+(wb(a.sa,m[0])?"enabled":"cleared")+": port "+t+" (input)"):"o"==r?a.Z("breakpoint "+(Ab(a.sa,m[0])?"enabled":"cleared")+": port "+t+" (output)"):null!=m[0]&&("p"==r?a.Zd(a.zc,m):"r"==r?a.Zd(a.Vd,m):"w"==r?a.Zd(a.Zc,m):a.Z("unknown breakpoint command: "+r))}else a.Z("\nbreakpoint commands:"),a.Z("\tbi [p]\ttoggle break on input port [p]"),a.Z("\tbo [p]\ttoggle break on output port [p]"),
|
||||
a.Z("\tbp [a]\tset exec breakpoint at addr [a]"),a.Z("\tbr [a]\tset read breakpoint at addr [a]"),a.Z("\tbw [a]\tset write breakpoint at addr [a]"),a.Z("\tbc [a]\tclear breakpoint at addr [a]"),a.Z("\tbl\tlist all breakpoints")}break;case "c":a.gg&&(a.gg.value="");break;case "d":a:{var u=g[0],m=g[1],x=g[2],v;if("?"==m){m="";for(v in um)a.li[v]&&(m&&(m+=","),m+=v);m+=",state,symbols";a.Z("\ndump commands:");a.Z("\tdb [a] [#] dump # bytes at address a");a.Z("\tdw [a] [#] dump # words at address a");
|
||||
m.length&&a.Z("dump extensions:\n\t"+m)}else if("state"==m)a.Z($m(a.Ma,!0));else if("symbols"==m)for(m=0;m<a.Dc.length;m++){var C=a.Dc[m][0],U=a.Dc[m][2],Q;for(Q in U)if("."!=Q.charAt(0)){var Aa=U[Q],Ha=Aa.o;if(void 0!==Ha){var ab=Aa.s;void 0===ab&&(ab=C>>>4);var Vb=U[Q].l;Vb&&(Q=Vb);a.Z(ea(Ha,ab)+" "+Q)}}}else{for(v in um)if(m==v){var Kc=a.li[v];Kc?Kc(x):a.Z("no dump registered for "+m);break a}var E=Um(a,m,2);if(null!=E[0]){var R=0,I="dw"==u;void 0!==x&&("l"==x.charAt(0)&&(x=x.substr(1)),(R=parseInt(x,
|
||||
10))&&(R=I?R+7>>3:R+15>>4));var pa="";R||(R=8);for(g=0;g<R;g++){for(var Ba=x="",m=Mm(E),ka=0,ca=0;16>ca;ca++){var Z=a.yb(E,1);I?ca&1&&(x+=s(ka|Z<<8)+(7==ca?" - ":" ")):x+=q(Z)+(7==ca?"-":" ");Ba+=32<=Z&&128>Z?String.fromCharCode(Z):".";ka=Z}pa&&(pa+="\n");pa+=m+" "+x+" "+Ba}pa&&a.Z(pa);a.mk=E}}}break;case "e":var Lc=g[1];if(void 0===Lc)a.Z("missing address");else{var pc=Um(a,Lc,2);if(null!=pc[0])for(m=2;m<g.length;m++){var Mc=parseInt(g[m],16);a.Z("setting "+Mm(pc)+" to "+q(Mc));a.Qd(pc,Mc,1)}}break;
|
||||
case "f":Wm(a,g[1]);break;case "g":a:{var Hk=g[1];if(void 0!==Hk){var Ik=Um(a,Hk,1);if(null==Ik[0])break a;a.Zd(a.zc,Ik,!0)}a.Ye(!0)||a.Z('cpu not available, "g" command ignored')}break;case "h":Ba=g[1];if(a.na.mb&&void 0===Ba)a.Z("halting"),a.T.Ib();else{m="";E=10;ka=a.wf;ca=a.Yd;if(ca.length){var Ua=void 0===Ba?a.em:parseInt(Ba,10);isNaN(Ua)?Ua=E:m="more ";Ua>ca.length&&(a.Z("note: only "+ca.length+" available"),Ua=ca.length);ka-=Ua;0>ka&&(null!=ca[ca.length-1][1]?ka+=ca.length:(Ua=ka+Ua,ka=0));
|
||||
for(void 0!==Ba&&a.Z(Ua+" instructions earlier:");E&&ka!=a.wf;){var sc=ca[ka];if(null==sc[1])break;sc=[sc[0],sc[1],sc[2]];a.Z(Pm(a,sc,"history",-Ua));++ka==ca.length&&(ka=0);a.em=--Ua;E--}}10==E&&(a.Z("no "+m+"history available"),a.em=void 0)}break;case "i":var ef=g[1];if(ef&&"?"!=ef){var ff=Am(a,ef);if(void 0!==ff){var qn=yb(a.sa,ff);a.Z(s(ff)+": "+q(qn))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "l":Ym(a,g);break;
|
||||
case "m":a:{m=null;I=g[1];"?"==I&&(I=void 0);if(void 0!==I){E=0;if("all"==I)E=4294967295&~(qf|268435456),I=null;else if("on"==I)m=!0,I=null;else if("off"==I)m=!1,I=null;else{"keys"==I&&(I="key");"kbd"==I&&(I="keyboard");for(R in um)if(I==R){E=um[R];m=!!(a.Yb&E);break}if(!E){a.Z("unknown message category: "+I);break a}}E&&("on"==g[2]?(a.Yb|=E,m=!0):"off"==g[2]&&(a.Yb&=~E,m=!1))}E=0;Z="";for(R in um)if(!I||I==R)if(pa=!!(a.Yb&um[R]),null===m||m==pa)Z&&(Z+=","),++E%10||(Z+="\n\t"),"key"==R&&(R="keys"),
|
||||
Z+=R;void 0===I&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.Z((null!==m?m?"messages on: ":"messages off: ":"message categories:\n\t")+(Z||"none"))}break;case "o":var gf=g[1],rn=g[2];if(gf&&"?"!=gf){var Jk=Am(a,gf,"port #"),Kk=Am(a,rn);void 0!==Jk&&void 0!==Kk&&Cb(a.sa,Jk,Kk)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var Lk="pr"==g[0]?1:0,m=1+Lk;if(a.tc)a.Z("step in progress");
|
||||
else{var Sd,E=!1,Va=[a.T.wa,a.T.va.ta,void 0];do switch(Sd=!1,a.yb(Va)){case 38:case 46:case 54:case 62:case 240:Lm(Va,1);Sd=!0;break;case 204:case 206:a.tc=m;Lm(Va,1);break;case 205:case 224:case 225:case 226:a.tc=m;Lm(Va,2);break;case 232:a.tc=m;Lm(Va,3);break;case 154:a.tc=m;Lm(Va,5);break;case 255:a.tc=0<=Pm(a,Va).indexOf("CALL")?m:0;break;case 243:case 242:Lm(Va,1);E=Sd=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:E&&
|
||||
(a.tc=m,Lm(Va,1))}while(Sd);a.tc?(a.Zd(a.zc,Va,!0),a.Ye()||(a.T.Yc(),a.tc=0)):Zm(a,Lk?"tr":"t")}break;case "r":Gm(a,g);break;case "t":case "tr":Zm(a,g[0],g[1]);break;case "u":Hm(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Rc;
|
||||
void 0!==g[3]&&(Rc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Af=Rc;break;case "start":a.T.da.qg=Rc;break;case "stop":a.T.da.Cf=Rc;break;default:a.Z("unknown cs option");break a}void 0!==Rc&&Rb(a.T);a.Z("checksums "+(a.T.na.qf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Yb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Te.toFixed(2)+"Mhz")+" ("+a.T.da.Nd+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var m="commands:",Td;for(Td in rm)m+="\n"+Td+" ".substr(0,
|
||||
7-Td.length)+rm[Td];Pd(a)||(m+="\nnote: frequency/history disabled if no exec breakpoints");a.Z(m);break;default:a.Z("unknown command: "+b),c=!1}}}catch(sn){a.Z("debugger sad: "+sn.message),c=!1}return c}Ja(function(){for(var a=z(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=$a(c),d=new lm(d);bb(d,c)}});function sd(a,b,c){this.id=a.id;this.key=an(a,b,c);this.ka=a.ka;bn(this,a.op)}
|
||||
function an(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
sd.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Ji=!0):this.Ji?!0:wa()&&(a=xa(this.key))?(this[this.id]=a,this.Ji=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){w(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
|
||||
clear:function(a){bn(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,1);c=0}},ua:function(a){return this.ka?this.ka.ua(null==a?8388608:a|8388608):!1},cb:function(a){this.ka&&this.ka.message(a)}};function bn(a,b){a[a.id]={};b&&a.set("parms",b);a.Ji=!1}
|
||||
function cn(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
|
||||
function dn(a,b,c){y.call(this,"Computer",a,dn,33554432);this.na.Sb=!1;this.zf=a.buswidth;this.Vc=en;this.Mg=null;this.Bh=!1;this.url=b?b.url:null;this.xp=(Math.random()+0.1).toString(36).substr(2,12);this.Wc=fn(this);if(this.T=Za("CPU",this.id)){this.ka=Za("Debugger",this.id);this.sa=new kb({id:this.Uk+".bus",buswidth:this.zf},this.T,this.ka);var d,e=Xa(this.id);if((this.Hg=Za("Panel",this.id))&&this.Hg.gg)for(b=0;b<e.length;b++)d=e[b],d.Ia=this.Hg.Ia,d.Z=this.Hg.Z,d.gg=this.Hg.gg;for(b=0;b<e.length;b++)d=
|
||||
e[b],d.vc&&d.vc(this,this.sa,this.T,this.ka);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.$h=d:this.Vc=parseInt(d,10));var f;if(a=Pa&&Pa.state||(f=!0,a.state))b=this.pm=a,f||(this.Bh=!0,this.Vc=en),this.Vc&&(this.ci=new sd(this,"1.16.3"),this.ci.load()?b=null:delete this.ci);!b&&this.Vc&&(f=null,this.Wc&&(f=ta()+"/api/v1/user?req=load&user="+this.Wc+"&state="+an(this,"1.16.3")),b=f)&&(this.Bh=!0);b?sa(b,!0,null,this,this.qo):B(this);c||gn(this,this.Th)}else w("Unable to find CPU component")}
|
||||
Wa(y,dn);var en=0;k=dn.prototype;k.uf=function(){return this.xp};k.ke=function(){return this.Wc?this.Wc:""};k.qo=function(a,b,c){c?(this.$h=null,this.Bh=!1,this.Ia("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.Mg=b;B(this)};function gn(a,b,c){for(var d=Xa(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!fb(f)){fb(f,function(){gn(a,b,c)});return}}b.call(a,c)}
|
||||
function hn(a,b){var c=new sd(a,"1.16.3","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
k.Th=function(a){void 0===a&&(a=this.Vc||(this.Mg?1:en));var b=!1,c=!1;this.Nk=!1;var d=this.ci||new sd(this,"1.16.3");if(-1==a)b=!0;else if(a>en){if(d.load(this.Mg)){this.bf=new sd(this,"1.16.3","failsafe");this.bf.load()&&(jn(this,d),a=2,bn(this.bf));this.bf.set("timestamp",qa());cn(this.bf);var e=this.Vc&&!this.Bh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(ya("user",""),this.Wc=null)):this.Z(f+": "+g),bn(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&hn(this,c?d:null)}else 2==a&&d.clear()}else hn(this);delete this.Mg;delete this.ci}e=Xa(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=kn(this,g,d,b,c));b=[d,a,c];-1!=a?gn(this,this.Fk,b):this.Fk(b)};
|
||||
function kn(a,b,c,d,e){if(!b.na.Sb){b.na.Sb=!0;if(b.ec){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ec(f,d)&&f&&(w("Unable to restore state for "+b.type),a.pm&&!a.Mg?(c.clear(),a.Vc=en,window&&window.location.reload()):a.Nk=!0,b.ec(null),e=!1)}if(!d&&b.Bk)for(a=b.Bk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
k.Fk=function(a){var b=a[0],c=0>a[1];a=a[2];this.na.Sb=!0;this.Kk||(this.Z("PCjs v1.16.3\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Kk=!0);this.T&&kn(this,this.T,b,c,a);this.Nk&&(jn(this,b),b.clear());!c&&this.bf&&(this.bf.clear(),delete this.bf)};
|
||||
function jn(a,b){if(ua("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ke(),d=b.toString(),e={app:"PCjs",ver:"1.16.3"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}}
|
||||
function $m(a,b,c){var d,e="none",f=new sd(a,"1.16.3"),g=new sd(a,"1.16.3","validate"),h=qa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.3");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.dc&&(c&&a.T.Ib(),d=a.T.dc(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.na.Sb=!1,!1===d&&(e=null)));for(var h=Xa(a.id),n=0;n<h.length;n++){var m=h[n];m.na.Sb&&(m.dc&&(d=m.dc(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.na.Sb=
|
||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Wc&&ln(a,a.Wc,f.toString()),cn(g)&&cn(f)||(e=null,d=h=!0)):a.Vc&&(d=!0,h=3==a.Vc),d&&f.clear(h)):e=f.toString());c&&(a.na.Sb=!1);return e}k.reset=function(){this.sa&&this.sa.reset&&(this.cb("Resetting "+this.sa.type),this.sa.reset());for(var a=Xa(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.sa&&c.reset&&(this.cb("Resetting "+c.type),c.reset())}};
|
||||
k.start=function(a,b){for(var c=Xa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Xa(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
k.Hb=function(a,b,c){var d=this;switch(b){case "save":return this.xa[b]=c,c.onclick=function(){var a=fn(d,!0);if(a){var b=!(!d.Vc||d.$h),c=$m(d,b);b?ln(d,a,c):d.Ia("Resume disabled, machine state not saved")}},!0;case "reset":return this.xa[b]=c,c.onclick=function(){Xb(d)},!0}return!1};
|
||||
function fn(a,b){var c=a.Wc;c||(c=xa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=mn(a,c))||a.Ia("Your user ID has not been approved."))):b&&a.Ia("Browser local storage is not available"));return c}
|
||||
function mn(a,b){a.Wc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ya("user",c.data),a.Wc=c.data)}catch(e){w(e.message+" ("+d+")")}return a.Wc}
|
||||
function ln(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=an(a,"1.16.3");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.Ia("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.Ia(c),ya("user",""),a.Wc=null)}}
|
||||
function Xb(a){if(a.Vc&&!a.$h){var b=ua("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");$m(a,b,!0);!b&&a.pm?window&&window.location.reload():(b||(a.Ki=!0),a.Th(en),a.Ki=!1)}else a.reset(),a.T&&Sb(a.T)}function ib(a,b,c){a=Xa(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}
|
||||
Ja(function(){for(var a=z(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=$a(c),c=z(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=$a(f),g=new dn(g,d,!0);bb(g,f);gn(g,g.Th)}});Ea.show.push(function(){for(var a=z(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=$a(a[b]);(c=Za("Computer",c.id))&&c.Kk&&!c.na.Sb&&c.Th(-1)}});
|
||||
Ea.exit.push(function(){for(var a=z(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=$a(a[b]);(c=Za("Computer",c.id))&&c.na.Sb&&$m(c,!(!c.Vc||c.$h),!0)}});var nn=0;function on(a,b,c,d,e,f){e("Loading "+a+"...");sa(a,!0,null,null,function(g,h,n){n?(h||(h="unable to load "+a+" ("+n+")"),f(h,null)):pn(h,a,b,c,d,e,f)})}
|
||||
function pn(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("<"==a.charAt(0))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(r){h=
|
||||
null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?tn(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function tn(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 n=h[0],m,t=/( [a-z]+=)(['"])(.*?)\2/g;m=t.exec(f);)n=0>n.indexOf(m[1])?n.replace(">",m[0]+">"):n.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=n&&(g=g.replace(h[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);tn(a,b,c)}})}else c(a,null)}
|
||||
function un(a,b,c,d){function e(a){if(void 0===h){var b=g&&z(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ia(a))}function f(a){e("Error: "+a);n&&(--nn||La(!0));n=!1}var g,h,n=!0;nn++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.3/components.xsl");var m=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--nn||La(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
|
||||
window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--nn||La(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?on(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?on(b,a,d,!0,e,m):pn(b,null,a,d,!1,e,m)}else f("failed to find machine element: "+a)}catch(t){f(t.message)}return n}
|
||||
window.embedPC=function(a,b,c,d){La(!1);return un(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue