More 8080 improvements, including some initial "Fake CP/M" support
This commit is contained in:
parent
dfe66764ef
commit
5b6f6756a2
25 changed files with 1051 additions and 842 deletions
|
|
@ -901,10 +901,16 @@
|
|||
<xsl:otherwise/>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="writable">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@writable"><xsl:value-of select="@writable"/></xsl:when>
|
||||
<xsl:otherwise>false</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:call-template name="component">
|
||||
<xsl:with-param name="machine" select="$machine"/>
|
||||
<xsl:with-param name="class">rom</xsl:with-param>
|
||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>'</xsl:with-param>
|
||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>',writable:<xsl:value-of select="$writable"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
|
|
@ -1139,7 +1145,7 @@
|
|||
<xsl:choose>
|
||||
<xsl:when test="@buswidth"><xsl:value-of select="@buswidth"/></xsl:when>
|
||||
<xsl:when test="@busWidth"><xsl:value-of select="@busWidth"/></xsl:when>
|
||||
<xsl:otherwise>20</xsl:otherwise>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="resume">
|
||||
|
|
|
|||
|
|
@ -5,196 +5,196 @@ function ia(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){retur
|
|||
function la(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
||||
function ma(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function na(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function oa(){return window?window.navigator.userAgent:""}function t(a){window&&window.alert(a)}function pa(a){var b=!1;window&&(b=window.confirm(a));return b}var qa=null;function wa(){if(null==qa){var a=!1;if(window)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}qa=a}return qa}
|
||||
function oa(){return window?window.navigator.userAgent:""}function t(a){window&&window.alert(a)}function pa(a){var b=!1;window&&(b=window.confirm(a));return b}var qa=null;function ra(){if(null==qa){var a=!1;if(window)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}qa=a}return qa}
|
||||
function xa(a){var b;if(window)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=oa();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 Aa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Ba(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 Ca={init:[],show:[],exit:[]},Fa=!1,Ga=!0;function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){Ca.init.push(a)}
|
||||
function Na(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Oa(a){!Ga&&a?(Ga=!0,Fa&&Pa("init")):Ga=a}function Pa(a){Ca[a]&&Na(Ca[a])}Ha("onload",function(){Fa=!0;Na(Ca.init)});Ha("onpageshow",function(){Na(Ca.show)});Ha(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Na(Ca.exit)});
|
||||
function u(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Db=b.comment;this.Qb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Hb=this.id.substr(0,b),this.bb=this.id.substr(b+1)):this.bb=this.id;this[a]=c;this.w={Qa:!1,Na:!1,tb:!1,ha:!1,Pa:!1};this.ob=null;this.w.Pa=!1;this.S={};this.D=null;this.ga=d||0;w.push(this)}var Qa=void 0,Ra={};
|
||||
function Ba(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 Ca={init:[],show:[],exit:[]},Da=!1,Ga=!0;function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){Ca.init.push(a)}
|
||||
function Na(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Oa(a){!Ga&&a?(Ga=!0,Da&&Pa("init")):Ga=a}function Pa(a){Ca[a]&&Na(Ca[a])}Ha("onload",function(){Da=!0;Na(Ca.init)});Ha("onpageshow",function(){Na(Ca.show)});Ha(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Na(Ca.exit)});
|
||||
function u(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Db=b.comment;this.Qb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Hb=this.id.substr(0,b),this.ab=this.id.substr(b+1)):this.ab=this.id;this[a]=c;this.w={Qa:!1,Na:!1,tb:!1,ha:!1,Pa:!1};this.ob=null;this.w.Pa=!1;this.T={};this.C=null;this.ga=d||0;w.push(this)}var Qa=void 0,Ra={};
|
||||
if(window){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Va(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 x(a,b){b||(b=u);a.prototype=Va(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var w=[],Wa={};function Xa(a,b,c){Wa[a]&&b&&(Wa[a][b]=c)}function Ya(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
|
||||
function $a(a,b){for(var c=A(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=y(h))&&g.binding&&a.na(g.type,g.binding,h,g.value),l=k.length}}}}
|
||||
function bb(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<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
|
||||
function eb(a,b){for(var c=A(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=y(h))&&g.binding&&a.pa(g.type,g.binding,h,g.value),l=k.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}
|
||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},na:function(a,b,c){switch(b){case "clear":return this.S[b]||(this.S[b]=c,c.onclick=function(a){return function(){a.S.print&&(a.S.print.value="")}}(this)),!0;case "print":return this.S[b]||(this.Fa=this.S[b]=c,c.value="",this.g=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.la=function(a,b,c){this.g(a,"notice",c)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.bb+": "+a)},la:function(a,b){b||t(a)},wa:function(){return this.w.ha=!0},va:function(a,b){b&&(this.w.ha=!1);return!0}};function db(a,b,c,d,e,f){var h=!0;a.D&&(!0===h?h=0:null==h&&(h=a.ga),gb(a.D,a,b,c,d,e,f,h))}function hb(a,b){if(a.D){a===a.D?b|=0:b=b||a.ga;var c=a.D.ga&b;return!!b&&c===b||!!(c&a.D.Wb)}return!1}
|
||||
function ib(a,b){if(a.w.tb)return a.w.Na&&(a.w.Na=!1),a.w.tb=!1;if(a.w.Pa)return a.g(a.toString()+" error"),!1;a.w.Na=b;return a.w.Na}function jb(a,b){a.w.Na&&(b?a.w.tb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.w.Na}function E(a){if(!a.w.Pa&&(a.w.Qa=!0,a.w.Qa)){var b=a.ob;a.ob=null;b&&b()}}function kb(a,b){b&&(a.w.Qa?b():a.ob=b);return a.w.Qa}function lb(a,b){a.w.Pa=!0;a.la(b)}
|
||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},pa:function(a,b,c){switch(b){case "clear":return this.T[b]||(this.T[b]=c,c.onclick=function(a){return function(){a.T.print&&(a.T.print.value="")}}(this)),!0;case "print":return this.T[b]||(this.Fa=this.T[b]=c,c.value="",this.g=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.na=function(a,b,c){this.g(a,"notice",c)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.ab+": "+a)},na:function(a,b){b||t(a)},wa:function(){return this.w.ha=!0},va:function(a,b){b&&(this.w.ha=!1);return!0}};function fb(a,b,c,d,e,f){var h=!0;a.C&&(!0===h?h=0:null==h&&(h=a.ga),gb(a.C,a,b,c,d,e,f,h))}function hb(a,b){if(a.C){a===a.C?b|=0:b=b||a.ga;var c=a.C.ga&b;return!!b&&c===b||!!(c&a.C.Wb)}return!1}
|
||||
function ib(a,b){if(a.w.tb)return a.w.Na&&(a.w.Na=!1),a.w.tb=!1;if(a.w.Pa)return a.g(a.toString()+" error"),!1;a.w.Na=b;return a.w.Na}function jb(a,b){a.w.Na&&(b?a.w.tb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.w.Na}function B(a){if(!a.w.Pa&&(a.w.Qa=!0,a.w.Qa)){var b=a.ob;a.ob=null;b&&b()}}function kb(a,b){b&&(a.w.Qa?b():a.ob=b);return a.w.Qa}function lb(a,b){a.w.Pa=!0;a.na(b)}
|
||||
var mb="undefined"!==typeof ArrayBuffer,nb=[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 ob(a){u.call(this,"Panel",a,ob)}x(ob);m=ob.prototype;m.na=function(a,b,c,d){return this.u&&this.u.na(a,b,c,d)||this.b&&this.b.na(a,b,c,d)||this.A&&this.A.na(a,b,c,d)||this.D&&this.D.na(a,b,c,d)?!0:this.parent.na.call(this,a,b,c,d)};m.Aa=function(a,b,c,d){this.u=a;this.C=b;this.b=c;this.D=d;this.A=pb(a,"Keyboard")};m.wa=function(a,b){b||qb();return!0};m.va=function(){return!0};m.qa=function(){};
|
||||
function qb(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=y(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<w.length;h++)if(w[h].id===f){f=w[h];break a}f=null}f||(a=!0,f=new ob(e));$a(f,d);a&&E(f)}}Ia(qb);
|
||||
function rb(a,b,c){u.call(this,"Bus",a,rb);this.b=b;this.D=c;this.U=a.buswidth||16;this.Z=Math.pow(2,this.U);this.H=this.Z-1|0;this.Y=20>=this.U?12:24>=this.U?14:15;this.ja=1<<this.Y;this.aa=this.ja>>2;this.u=this.ja-1;this.T=this.Z/this.ja|0;this.X=this.T-1;this.A=[];this.F=[];this.I=this.J=!1;this.ca=[];this.fa=[];a=new F;sb(a,this.D);this.C=Array(this.T);for(b=0;b<this.T;b++)this.C[b]=a;a=this.b;b=this.C;c=this.Y;var d=this.H;a.ka=b;a.Y=c;a.ja=1<<a.Y;a.H=a.ja-1;a.Z=b.length;a.X=a.Z-1;a.T=d;E(this)}
|
||||
x(rb);rb.prototype.reset=function(){};rb.prototype.wa=function(a,b){b||this.reset();return!0};function tb(a,b,c,d){for(var e=b>>>a.Y;0<c&&e<a.C.length;){var f=a.C[e],h=e*a.ja,g=c>a.ja?a.ja:c;if(f&&f.size){if(f.type==d){if(b+c<=f.B)return f.lb+=f.B-b,f.B=b,!0;if(b>=f.B+f.lb){g=f.size-(b-h);g>c&&(g=c);f.lb=b-f.B+g;c-=g;b=h+a.ja;continue}}return ub(1,b,c)}f=a.C[e];b=new F(b,g,a.ja,d);sb(b,a.D,f);a.C[e++]=b;b=h+a.ja;c-=g}return 0>=c?!0:ub(2,b,c)}
|
||||
rb.prototype.V=function(a){return this.C[(a&this.H)>>>this.Y].Ka(a&this.u,a)};function vb(a,b){return a.C[(b&a.H)>>>a.Y].jb(b&a.u,b)}function wb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}
|
||||
function xb(a,b){for(var c=1,d=0,e=0;0<c;){var f=a.A[b],h=a.ca[b]||1,g=1==h?255:2==h?65535:-1,k=g;void 0!==f?(f[0]&&(k=f[0](b,void 0),void 0===k?k=g:k&=g),a.D&&a.I!=f[1]&&Fb(a.D,b,k)):a.D&&(gb(a.D,a,b,null,void 0),a.I&&Fb(a.D,b,k));d|=k<<e;e+=h<<3;b+=h;c-=h}return d}function Gb(a,b){if(void 0===b)return a.J=!a.J,a.J;void 0===a.F[b]&&(a.F[b]=[null,!1]);a.F[b][1]=!a.F[b][1];return a.F[b][1]}
|
||||
function Hb(a,b,c){for(var d=1,e=0;0<d;){var f=a.F[b],h=a.fa[b]||1,g=1==h?255:2==h?65535:-1,g=(c>>>=e)&g;if(void 0!==f){if(f[0])f[0](b,g,void 0);a.D&&a.J!=f[1]&&Ib(a.D,b,g)}else a.D&&(gb(a.D,a,b,g,void 0),a.J&&Ib(a.D,b,g));e+=h<<3;b+=h;d-=h}}function ub(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Jb;if(mb){var Kb=new ArrayBuffer(2);(new DataView(Kb)).setUint16(0,256,!0);Jb=256===(new Uint16Array(Kb))[0]}else Jb=!1;var Lb=Jb;
|
||||
function F(a,b,c,d){this.id=Mb+=2;this.b=null;this.B=a;this.lb=b;this.size=c||0;this.type=d||Nb;this.u=d==Ob;sb(this);this.za=this.Yb=!1;if(c)if(mb)this.H=new ArrayBuffer(c),this.I=new DataView(this.H,0,c),this.C=new Uint8Array(this.H,0,c),this.T=new Uint16Array(this.H,0,c>>1),this.b=new Int32Array(this.H,0,c>>2),Pb(this,Lb?Qb:Rb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Pb(this,Sb)}else Pb(this)}var Nb=0,Ob=2,Tb=["NONE","RAM","ROM","VIDEO","H/W"],Mb=0;
|
||||
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(mb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.I.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(mb)for(b=0;b<a.length;b++)this.I.setInt32(b<<2,a[b],!0);else this.b=a;return this.za=!0}return!1},Ea:function(a,b){b?0===this.A++&&Ub(this,Vb,!1):0===this.S++&&Wb(this,Vb,!1)},U:function(){this.D&&hb(this.D,129)&&this.D.message("attempt to read invalid block %"+q(this.B),!0);
|
||||
return 255},F:function(a,b){this.D&&hb(this.D,129)&&this.D.message("attempt to write "+r(b)+" to invalid block %"+q(this.B),!0)},X:function(a,b){return this.Ka(a++,b++)|this.Ka(a,b)<<8},J:function(a,b,c){this.Za(a++,b&255,c++);this.Za(a,b>>8,c)},fa:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ca:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.za=!0},bb:function(a,
|
||||
b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.za=!0},aa:function(a,b){if(this.D&&null!=this.B){var c=this.D;Xb(c,this.B+a,1,c.ca)&&c.ea(!0)}return this.jb(a,b)},pa:function(a,b){if(this.D&&null!=this.B){var c=this.D;Xb(c,this.B+a,2,c.ca)&&c.ea(!0)}return this.yb(a,b)},ya:function(a,b,c){if(this.D&&null!=this.B){var d=this.D;Xb(d,this.B+a,1,d.I)&&d.ea(!0)}this.u?this.F(a,b,c):this.$a(a,b,c)},Ma:function(a,
|
||||
b,c){if(this.D&&null!=this.B){var d=this.D;Xb(d,this.B+a,2,d.I)&&d.ea(!0)}this.u?this.F(a,b,c):this.zb(a,b,c)},Z:function(a){return this.C[a]},ca:function(a){return this.C[a]},oa:function(a){return this.I.getUint16(a,!0)},ra:function(a){return a&1?this.C[a]|this.C[a+1]<<8:this.T[a>>1]},ta:function(a,b){this.C[a]=b;this.za=!0},Ba:function(a,b){this.C[a]=b;this.za=!0},Da:function(a,b){this.I.setUint16(a,b,!0);this.za=!0},ab:function(a,b){a&1?(this.C[a]=b,this.C[a+1]=b>>8):this.T[a>>1]=b;this.za=!0}};
|
||||
function sb(a,b,c){a.D=b;a.S=a.A=0;c&&((a.S=c.S)&&Wb(a,Vb,!1),(a.A=c.A)&&Ub(a,Vb,!1))}function Yb(a,b){b?0===--a.A&&(a.Za=a.u?a.F:a.$a,a.Tb=a.u?a.J:a.zb):0===--a.S&&(a.Ka=a.jb,a.Rb=a.yb)}function Ub(a,b,c){c&&a.A||(a.Za=!a.u&&b[2]||a.F,a.Tb=!a.u&&b[3]||a.J);if(c||void 0===c)a.$a=b[2]||a.F,a.zb=b[3]||a.J}function Wb(a,b,c){c&&a.S||(a.Ka=b[0]||a.U,a.Rb=b[1]||a.X);if(c||void 0===c)a.jb=b[0]||a.U,a.yb=b[1]||a.X}function Pb(a,b){b||(b=Zb);Wb(a,b,void 0);Ub(a,b,void 0)}
|
||||
var Zb=[],Sb=[F.prototype.fa,F.prototype.sa,F.prototype.Ca,F.prototype.bb],Vb=[F.prototype.aa,F.prototype.pa,F.prototype.ya,F.prototype.Ma];if(mb)var Rb=[F.prototype.Z,F.prototype.oa,F.prototype.ta,F.prototype.Da],Qb=[F.prototype.ca,F.prototype.ra,F.prototype.Ba,F.prototype.ab];
|
||||
function $b(a,b){u.call(this,"CPU",a,$b,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.Xa=c;this.i.qb=0;this.i.Ja=d;this.i.vb=Math.round(this.i.Xa/1E4)/100;this.i.Ha=this.i.vb*this.i.Ja;this.w.ia=!1;this.w.ub=!1;this.w.Ib=a.autoStart;this.w.Jb=!1;this.w.Oa=!1;this.i.cb=this.i.Ua=0;this.i.eb=a.csStart;this.i.Ta=a.csInterval;this.i.Va=a.csStop;this.fa=this.La.bind(this);E(this)}x($b);var ac=["power","reset"];m=$b.prototype;
|
||||
m.Aa=function(a,b,c,d){this.u=a;this.C=b;this.D=d;for(b=0;b<ac.length;b++)(c=this.S[ac[b]])&&this.u.na(null,ac[b],c);this.ya=(b=pb(a,"Video"))&&Math.max(b.ya,b.Zb)||60;this.U=pb(a,"ChipSet");a=bc(a,"autoStart");null!=a&&(this.w.Ib="true"==a?!0:"false"==a?!1:!!a);E(this)};m.reset=function(){this.i.qb=0};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.wa=function(a,b){if(!b){if(a&&this.restore){lc(this);if(!this.restore(a))return!1;mc(this)}else this.reset();if(this.D){var c=this.D;c.g("Type ? for help with PC8080 Debugger commands");c.qa();if(c.rb){var d=c.rb;c.rb=null;nc(c,d)}}else this.g("No debugger detected")}G(this);return!0};m.va=function(a){return a?this.save():!0};function oc(a){(a.w.Ib||!a.D&&void 0===a.S.run)&&a.La(!0)}m.Mb=function(){return 0};
|
||||
function mc(a){void 0===a.i.eb&&(a.i.eb=0);void 0===a.i.Ta&&(a.i.Ta=-1);void 0===a.i.Va&&(a.i.Va=-1);a.w.Oa=0<=a.i.eb&&0<a.i.Ta;a.w.Oa&&(a.i.cb=0,a.i.Ua=a.i.eb-a.J)}function pc(a,b){if(a.w.Oa){var c=!1;a.i.cb=a.i.cb+a.Mb()|0;a.i.Ua-=b;0>=a.i.Ua&&(a.i.Ua+=a.i.Ta,c=!0);0<=a.i.Va&&a.i.Va<=qc(a)&&(a.i.Ta=a.i.Va=-1,mc(a),a.ea(),c=!0);c&&a.g(qc(a)+" cycles: checksum="+q(a.i.cb))}}
|
||||
m.na=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.S[b]=c;a=!0;break;case "run":this.S[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.w.ha)a=!0;else{var b=null,c,g=Ya(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.w.Qa);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.w.ha);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.w.Qa?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.w.ia?d.ea(!0):d.La(!0))};a=
|
||||
!0;break;case "speed":this.S[b]=c;a=!0;break;case "setSpeed":this.S[b]=c,c.onclick=function(){rc(d,d.i.Ja<<1,!0)},c.textContent=this.i.Ha.toFixed(2)+"Mhz",a=!0}return a};function sc(a,b,c){a.J+=b;c&&(a.F=a.b=0)}
|
||||
function tc(a,b){var c=30;c<a.ya&&(c=a.ya);2>c&&(c=2);var d=1;b&&1<a.i.Ja&&a.i.Ga&&(d=a.i.Ga/a.i.vb);a.i.Nb=Math.round(1E3/30);a.i.hc=Math.floor(a.i.Xa/c*d);a.i.wb=Math.floor(a.i.Xa/30*d);a.i.Pb=Math.floor(a.i.Xa/a.ya*d);a.i.Ob=Math.floor(a.i.Xa/2*d);b||(a.i.Wa=a.i.wb,a.i.gb=a.i.Pb,a.i.fb=a.i.Ob);a.i.xb=0}function qc(a){return a.J+a.I+a.F-a.b}function lc(a){a.i.Ga=0;a.J=a.I=a.F=a.b=0;mc(a);rc(a,1)}
|
||||
function rc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Ga/a.i.Ha?b=1:d=!0;a.i.Ja=b;b=a.i.vb*a.i.Ja;if(a.i.Ha!=b){a.i.Ha=b;b=a.i.Ha.toFixed(2)+"Mhz";var e=a.S.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.kb()}sc(a,a.I);a.I=0;a.i.Sa=ja();a.i.Ia=0;tc(a);return d}
|
||||
m.La=function(a){if(ib(this,!0)){if(!this.w.ia){rc(this);this.u&&this.u.start(this.i.Sa,qc(this));this.w.ia=!0;this.w.ub=!0;this.U&&this.U.mc();var b=this.S.run;b&&(b.textContent="Halt");this.u&&(this.u.qa(!0),a&&this.u.kb(!0))}this.i.xb>=this.i.Xa&&tc(this,!0);this.i.hb=0;this.i.pb=ja();this.i.Ia&&(a=this.i.pb-this.i.Ia,a>this.i.Nb&&(this.i.Sa+=a,this.i.Sa>this.i.pb&&(this.i.Sa=this.i.pb)));try{do{var c=this.w.Oa?1:this.i.hc;try{this.Ya(c)}catch(e){if("number"!=typeof e)throw e;}var d=this.F-this.b;
|
||||
this.I+=d;this.i.hb+=d;sc(this,0,!0);pc(this,d);this.i.gb-=d;0>=this.i.gb&&(this.i.gb+=this.i.Pb,this.u&&uc(this.u,this.i.qb++),this.i.qb>this.ya&&(this.i.qb=0));this.i.fb-=d;0>=this.i.fb&&(this.i.fb+=this.i.Ob,this.u&&this.u.qa());this.i.Wa-=d;if(0>=this.i.Wa){this.i.Wa+=this.i.wb;break}}while(this.w.ia)}catch(e){this.ea();G(this);this.u&&this.u.stop(ja(),qc(this));ib(this,!1);lb(this,e.stack||e.message);return}c=setTimeout;d=this.fa;this.i.Ia=ja();a=this.i.Nb;this.i.hb&&(a=Math.round(a*this.i.hb/
|
||||
this.i.wb));a-=this.i.Ia-this.i.pb;if(b=this.i.Ia-this.i.Sa)this.i.Ga=Math.round(this.I/(10*b))/100,864E5<=b&&(this.J=0,rc(this));if(0>a||this.i.Ga<this.i.Ha)a=0;this.i.xb+=this.i.hb;this.i.Ia+=a;c(d,a)}else G(this),this.u&&this.u.stop(ja(),qc(this))};m.Ya=function(){return 0};m.ea=function(a){jb(this,!0);this.F-=this.b;this.b=0;sc(this,this.I);this.I=0;if(this.w.ia){this.w.ia=!1;this.U&&this.U.mc();var b=this.S.run;b&&(b.textContent="Run")}this.w.nb=a};
|
||||
function G(a,b){a.u&&(uc(a.u,-1),a.u.qa(b))}function vc(a){this.Ra=a.model||8080;$b.call(this,a,1E6);this.aa=wc;lc(this);this.w.nb=this.w.Xb=!1;this.ca=0;this.ka=[];this.Y=this.ja=this.H=this.Z=this.X=this.T=0;xc(this)}x(vc,$b);m=vc.prototype;m.reset=function(){this.w.ia&&this.ea();xc(this);lc(this);this.w.Pa=!1;this.parent.reset.call(this)};function xc(a){a.j=0;a.L=0;a.O=0;a.M=0;a.P=0;a.N=0;a.R=0;a.ba=0;H(a,0);yc(a,0);a.A=0}
|
||||
m.Mb=function(){var a=this.j+this.L+this.O+this.M+this.P+this.N+this.R|0;return a=a+this.ba+this.K+zc(this)|0};
|
||||
m.save=function(){var a=new J(this);K(a,0,[this.j,this.L,this.O,this.M,this.P,this.N,this.R,this.ba,this.K,zc(this)]);K(a,1,[this.A,this.J,this.i.Ja]);for(var b=this.C,c=0,d=[],e=0;e<b.T;e++){var f=b.C[e];if(f.za||f.Yb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var n=f[g],p=g+1;p<f.length&&f[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}if(l.length<f.length){f=l;break a}}d[h]=f}}K(a,2,d);return a.data()};
|
||||
m.restore=function(a){var b=a[0];this.j=b[0];this.L=b[1];this.O=b[2];this.M=b[3];this.P=b[4];this.N=b[5];this.R=b[6];this.ba=b[7]&65535;H(this,b[8]);yc(this,b[9]);b=a[1];this.A=b[0];this.J=b[1];rc(this,b[3]);a:{b=this.C;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.aa){for(var f=0,h=Array(b.aa),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.C[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
m.na=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "D":case "E":case "H":case "L":case "SP":case "PC":case "F":case "SF":case "ZF":case "AF":case "PF":case "CF":this.S[b]=c;this.ca++;d=!0;break;default:d=this.parent.na.call(this,a,b,c)}return d};function Ac(a){return a.L<<8|a.O}function Bc(a,b){a.L=b>>8&255;a.O=b&255}function Cc(a){return a.M<<8|a.P}function Dc(a,b){a.M=b>>8&255;a.P=b&255}function L(a){return a.N<<8|a.R}function M(a,b){a.N=b>>8&255;a.R=b&255}
|
||||
function H(a,b){a.K=b&65535}function Ec(a){return a.G&256?1:0}function Fc(a){return nb[a.W&255]?4:0}function Gc(a){return(a.W^a.da)&16?16:0}function Hc(a){return a.G&255?0:64}function Ic(a){return a.W&128?128:0}function zc(a){return a.ma&-214|Ic(a)|Hc(a)|Gc(a)|Fc(a)|Ec(a)}function yc(a,b){a.G=a.W=a.da=0;b&1&&(a.G|=256);b&4||(a.W|=1);b&16&&(a.da|=16);b&64||(a.G|=255);b&128&&(a.W^=192);a.ma=a.ma&-513|b&512|2}function Jc(a,b){a.da=a.j^b;return(a.G=a.W=a.j+b)&255}
|
||||
function Kc(a,b){a.da=a.j^b;return(a.G=a.W=a.j+b+(a.G&256?1:0))&255}function Lc(a,b){return a.G=a.W=a.da=a.j&b}function Mc(a,b){a.da=a.j^b;a.G=a.W=a.j-b}function fd(a,b){a.da=b;b=(a.W=b-1)&255;a.G=a.G&-256|b;return b}function gd(a,b){a.da=b;b=(a.W=b+1)&255;a.G=a.G&-256|b;return b}function hd(a,b){return a.G=a.W=a.da=a.j|b}function id(a,b){a.da=a.j^b;return(a.G=a.W=a.j-b)&255}function jd(a,b){a.da=a.j^b;return(a.G=a.W=a.j-b-(a.G&256?1:0))&255}function kd(a,b){return a.G=a.W=a.da=a.j^b}
|
||||
m.V=function(a){return this.ka[(a&this.T)>>>this.Y].Ka(a&this.H,a)};function ld(a,b){var c=b&a.H,d=(b&a.T)>>>a.Y;if(c<a.H)return a.ka[d].Rb(c,b);c=a.ka[d].Ka(c,b);return c|=a.ka[d+1&a.X].Ka(0,b+1)<<8}function N(a,b,c){a.ka[(b&a.T)>>>a.Y].Za(b&a.H,c&255,b)}function md(a,b,c){var d=b&a.H,e=(b&a.T)>>>a.Y;d<a.H?a.ka[e].Tb(d,c&65535,b):(a.ka[e++].Za(d,c&255,b),a.ka[e&a.X].Za(0,c>>8&255,b+1))}function O(a){var b=a.V(a.K);H(a,a.K+1);return b}function P(a){var b=ld(a,a.K);H(a,a.K+2);return b}
|
||||
function R(a){var b=ld(a,a.ba);a.ba=a.ba+2&65535;return b}function S(a,b){a.ba=a.ba-2&65535;md(a,a.ba,b)}function T(a,b,c,d){d=d||2;a.S[b]&&(void 0===c&&(lb(a,"Value for "+b+" is invalid"),a.ea()),c=!a.w.ia||a.w.Jb?q(c,d):"--------".substr(0,d),a.S[b].textContent!=c&&(a.S[b].textContent=c))}
|
||||
m.qa=function(a){this.ca&&(a||!this.w.ia||this.w.Jb)&&(T(this,"A",this.j),T(this,"B",this.L),T(this,"C",this.O),T(this,"D",this.M),T(this,"E",this.P),T(this,"H",this.N),T(this,"L",this.R),T(this,"SP",this.ba,4),T(this,"PC",this.K,4),a=zc(this),T(this,"F",a,2),T(this,"SF",a&128,1),T(this,"ZF",a&64,1),T(this,"AF",a&16,1),T(this,"PF",a&4,1),T(this,"CF",a&1,1));if(a=this.S.speed)a.textContent=this.w.ia&&this.i.Ga?this.i.Ga.toFixed(2)+"Mhz":"Stopped"};
|
||||
m.Ya=function(a){this.w.nb=!0;var b=this.w.Xb=this.D&&nd(this.D),c=a?this.w.ub?0:1:-1;this.w.ub=!1;this.F=this.b=a;do{if(this.A){var d;this.A&8&&this.ma&512?(d=199|(this.A&7)<<3,this.A&=-16,this.ma&=-513,this.aa[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.A&16){this.b=0;break}}if(b){if(od(this.D,this.K,c)){this.ea();break}c=1}this.aa[O(this)].call(this)}while(0<this.b);return this.w.nb?this.F-this.b:void 0===this.w.nb?0:-1};
|
||||
Ia(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new vc(d);$a(d,c)}});function pd(){this.b-=4}function qd(){H(this,P(this));this.b-=10}function rd(){H(this,R(this));this.b-=10}function sd(){var a=P(this);S(this,this.K);H(this,a);this.b-=17}
|
||||
var wc=[pd,function(){Bc(this,P(this));this.b-=10},function(){N(this,Ac(this),this.j);this.b-=7},function(){Bc(this,Ac(this)+1);this.b-=5},function(){this.L=gd(this,this.L);this.b-=5},function(){this.L=fd(this,this.L);this.b-=5},function(){this.L=O(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;this.G=this.G&255|a&256;this.b-=4},pd,function(){var a;M(this,a=L(this)+Ac(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Ac(this));this.b-=7},function(){Bc(this,Ac(this)-
|
||||
1);this.b-=5},function(){this.O=gd(this,this.O);this.b-=5},function(){this.O=fd(this,this.O);this.b-=5},function(){this.O=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;this.G=this.G&255|a;this.b-=4},pd,function(){Dc(this,P(this));this.b-=10},function(){N(this,Cc(this),this.j);this.b-=7},function(){Dc(this,Cc(this)+1);this.b-=5},function(){this.M=gd(this,this.M);this.b-=5},function(){this.M=fd(this,this.M);this.b-=5},function(){this.M=O(this);this.b-=7},function(){var a=this.j<<
|
||||
1;this.j=a&255|this.G>>8;this.G=this.G&255|a&256;this.b-=4},pd,function(){var a;M(this,a=L(this)+Cc(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Cc(this));this.b-=7},function(){Dc(this,Cc(this)-1);this.b-=5},function(){this.P=gd(this,this.P);this.b-=5},function(){this.P=fd(this,this.P);this.b-=5},function(){this.P=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(this.G&256|this.j)>>1;this.G=this.G&255|a;this.b-=4},pd,function(){M(this,P(this));this.b-=10},function(){md(this,
|
||||
P(this),L(this));this.b-=16},function(){M(this,L(this)+1);this.b-=5},function(){this.N=gd(this,this.N);this.b-=5},function(){this.N=fd(this,this.N);this.b-=5},function(){this.N=O(this);this.b-=7},function(){var a=this.j,b=!!Ec(this),c=!!Gc(this);9<(a&15)||c?(a+=6,c=!0):c=!1;160<=a||b?(a+=96,b=!0):b=!1;this.G=this.W=this.j=a&255;this.G=b?this.G|256:this.G&-257;this.da=c?~this.W&16|this.da&-17:this.W&16|this.da&-17;this.b-=4},pd,function(){var a;M(this,a=L(this)+L(this));this.G=this.G&255|a>>8&256;
|
||||
this.b-=10},function(){M(this,ld(this,P(this)));this.b-=16},function(){M(this,L(this)-1);this.b-=5},function(){this.R=gd(this,this.R);this.b-=5},function(){this.R=fd(this,this.R);this.b-=5},function(){this.R=O(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},pd,function(){this.ba=P(this)&65535;this.b-=10},function(){N(this,P(this),this.j);this.b-=13},function(){this.ba=this.ba+1&65535;this.b-=5},function(){var a=L(this);N(this,a,gd(this,this.V(a)));this.b-=10},function(){var a=L(this);N(this,
|
||||
a,fd(this,this.V(a)));this.b-=10},function(){N(this,L(this),O(this));this.b-=10},function(){this.G|=256;this.b-=4},pd,function(){var a;this.ba=(a=L(this)+this.ba)&65535;this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(P(this));this.b-=13},function(){this.ba=this.ba-1&65535;this.b-=5},function(){this.j=gd(this,this.j);this.b-=5},function(){this.j=fd(this,this.j);this.b-=5},function(){this.j=O(this);this.b-=7},function(){this.G=Ec(this)?this.G&-257:this.G|256;this.b-=4},function(){this.b-=
|
||||
5},function(){this.L=this.O;this.b-=5},function(){this.L=this.M;this.b-=5},function(){this.L=this.P;this.b-=5},function(){this.L=this.N;this.b-=5},function(){this.L=this.R;this.b-=5},function(){this.L=this.V(L(this));this.b-=7},function(){this.L=this.j;this.b-=5},function(){this.O=this.L;this.b-=5},function(){this.b-=5},function(){this.O=this.M;this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.N;this.b-=5},function(){this.O=this.R;this.b-=5},function(){this.O=this.V(L(this));this.b-=
|
||||
7},function(){this.O=this.j;this.b-=5},function(){this.M=this.L;this.b-=5},function(){this.M=this.O;this.b-=5},function(){this.b-=5},function(){this.M=this.P;this.b-=5},function(){this.M=this.N;this.b-=5},function(){this.M=this.R;this.b-=5},function(){this.M=this.V(L(this));this.b-=7},function(){this.M=this.j;this.b-=5},function(){this.P=this.L;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.P=this.M;this.b-=5},function(){this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=
|
||||
this.R;this.b-=5},function(){this.P=this.V(L(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.N=this.L;this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.M;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.b-=5},function(){this.N=this.R;this.b-=5},function(){this.N=this.V(L(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.R=this.L;this.b-=5},function(){this.R=this.O;this.b-=5},function(){this.R=this.M;this.b-=5},function(){this.R=
|
||||
this.P;this.b-=5},function(){this.R=this.N;this.b-=5},function(){this.b-=5},function(){this.R=this.V(L(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){N(this,L(this),this.L);this.b-=7},function(){N(this,L(this),this.O);this.b-=7},function(){N(this,L(this),this.M);this.b-=7},function(){N(this,L(this),this.P);this.b-=7},function(){N(this,L(this),this.N);this.b-=7},function(){N(this,L(this),this.R);this.b-=7},function(){this.A|=16;this.b-=7;this.D&&hb(this,-2147483648)?(H(this,this.K-
|
||||
1),this.D.ea()):this.ma&512||(this.D&&H(this,this.K-1),this.ea())},function(){N(this,L(this),this.j);this.b-=7},function(){this.j=this.L;this.b-=5},function(){this.j=this.O;this.b-=5},function(){this.j=this.M;this.b-=5},function(){this.j=this.P;this.b-=5},function(){this.j=this.N;this.b-=5},function(){this.j=this.R;this.b-=5},function(){this.j=this.V(L(this));this.b-=7},function(){this.b-=5},function(){this.j=Jc(this,this.L);this.b-=4},function(){this.j=Jc(this,this.O);this.b-=4},function(){this.j=
|
||||
Jc(this,this.M);this.b-=4},function(){this.j=Jc(this,this.P);this.b-=4},function(){this.j=Jc(this,this.N);this.b-=4},function(){this.j=Jc(this,this.R);this.b-=4},function(){this.j=Jc(this,this.V(L(this)));this.b-=7},function(){this.j=Jc(this,this.j);this.b-=4},function(){this.j=Kc(this,this.L);this.b-=4},function(){this.j=Kc(this,this.O);this.b-=4},function(){this.j=Kc(this,this.M);this.b-=4},function(){this.j=Kc(this,this.P);this.b-=4},function(){this.j=Kc(this,this.N);this.b-=4},function(){this.j=
|
||||
Kc(this,this.R);this.b-=4},function(){this.j=Kc(this,this.V(L(this)));this.b-=7},function(){this.j=Kc(this,this.j);this.b-=4},function(){this.j=id(this,this.L);this.b-=4},function(){this.j=id(this,this.O);this.b-=4},function(){this.j=id(this,this.M);this.b-=4},function(){this.j=id(this,this.P);this.b-=4},function(){this.j=id(this,this.N);this.b-=4},function(){this.j=id(this,this.R);this.b-=4},function(){this.j=id(this,this.V(L(this)));this.b-=7},function(){this.j=id(this,this.j);this.b-=4},function(){this.j=
|
||||
jd(this,this.L);this.b-=4},function(){this.j=jd(this,this.O);this.b-=4},function(){this.j=jd(this,this.M);this.b-=4},function(){this.j=jd(this,this.P);this.b-=4},function(){this.j=jd(this,this.N);this.b-=4},function(){this.j=jd(this,this.R);this.b-=4},function(){this.j=jd(this,this.V(L(this)));this.b-=7},function(){this.j=jd(this,this.j);this.b-=4},function(){this.j=Lc(this,this.L);this.b-=4},function(){this.j=Lc(this,this.O);this.b-=4},function(){this.j=Lc(this,this.M);this.b-=4},function(){this.j=
|
||||
Lc(this,this.P);this.b-=4},function(){this.j=Lc(this,this.N);this.b-=4},function(){this.j=Lc(this,this.R);this.b-=4},function(){this.j=Lc(this,this.V(L(this)));this.b-=7},function(){this.j=Lc(this,this.j);this.b-=4},function(){this.j=kd(this,this.L);this.b-=4},function(){this.j=kd(this,this.O);this.b-=4},function(){this.j=kd(this,this.M);this.b-=4},function(){this.j=kd(this,this.P);this.b-=4},function(){this.j=kd(this,this.N);this.b-=4},function(){this.j=kd(this,this.R);this.b-=4},function(){this.j=
|
||||
kd(this,this.V(L(this)));this.b-=7},function(){this.j=kd(this,this.j);this.b-=4},function(){this.j=hd(this,this.L);this.b-=4},function(){this.j=hd(this,this.O);this.b-=4},function(){this.j=hd(this,this.M);this.b-=4},function(){this.j=hd(this,this.P);this.b-=4},function(){this.j=hd(this,this.N);this.b-=4},function(){this.j=hd(this,this.R);this.b-=4},function(){this.j=hd(this,this.V(L(this)));this.b-=7},function(){this.j=hd(this,this.j);this.b-=4},function(){Mc(this,this.L);this.b-=4},function(){Mc(this,
|
||||
this.O);this.b-=4},function(){Mc(this,this.M);this.b-=4},function(){Mc(this,this.P);this.b-=4},function(){Mc(this,this.N);this.b-=4},function(){Mc(this,this.R);this.b-=4},function(){Mc(this,this.V(L(this)));this.b-=7},function(){Mc(this,this.j);this.b-=4},function(){Hc(this)||(H(this,R(this)),this.b-=6);this.b-=5},function(){Bc(this,R(this));this.b-=10},function(){var a=P(this);Hc(this)||H(this,a);this.b-=10},qd,function(){var a=P(this);Hc(this)||(S(this,this.K),H(this,a),this.b-=6);this.b-=11},function(){S(this,
|
||||
Ac(this));this.b-=11},function(){this.j=Jc(this,O(this));this.b-=7},function(){S(this,this.K);H(this,0);this.b-=11},function(){Hc(this)&&(H(this,R(this)),this.b-=6);this.b-=5},rd,function(){var a=P(this);Hc(this)&&H(this,a);this.b-=10},qd,function(){var a=P(this);Hc(this)&&(S(this,this.K),H(this,a),this.b-=6);this.b-=11},sd,function(){this.j=Kc(this,O(this));this.b-=7},function(){S(this,this.K);H(this,8);this.b-=11},function(){Ec(this)||(H(this,R(this)),this.b-=6);this.b-=5},function(){Dc(this,R(this));
|
||||
this.b-=10},function(){var a=P(this);Ec(this)||H(this,a);this.b-=10},function(){var a=O(this);Hb(this.C,a,this.j);this.b-=10},function(){var a=P(this);Ec(this)||(S(this,this.K),H(this,a),this.b-=6);this.b-=11},function(){S(this,Cc(this));this.b-=11},function(){this.j=id(this,O(this));this.b-=7},function(){S(this,this.K);H(this,16);this.b-=11},function(){Ec(this)&&(H(this,R(this)),this.b-=6);this.b-=5},rd,function(){var a=P(this);Ec(this)&&H(this,a);this.b-=10},function(){var a=O(this);this.j=xb(this.C,
|
||||
a)&255;this.b-=10},function(){var a=P(this);Ec(this)&&(S(this,this.K),H(this,a),this.b-=6);this.b-=11},sd,function(){this.j=jd(this,O(this));this.b-=7},function(){S(this,this.K);H(this,24);this.b-=11},function(){Fc(this)||(H(this,R(this)),this.b-=6);this.b-=5},function(){M(this,R(this));this.b-=10},function(){var a=P(this);Fc(this)||H(this,a);this.b-=10},function(){var a=R(this);S(this,L(this));M(this,a);this.b-=18},function(){var a=P(this);Fc(this)||(S(this,this.K),H(this,a),this.b-=6);this.b-=11},
|
||||
function(){S(this,L(this));this.b-=11},function(){this.j=Lc(this,O(this));this.b-=7},function(){S(this,this.K);H(this,32);this.b-=11},function(){Fc(this)&&(H(this,R(this)),this.b-=6);this.b-=5},function(){H(this,L(this));this.b-=5},function(){var a=P(this);Fc(this)&&H(this,a);this.b-=10},function(){var a=L(this);M(this,Cc(this));Dc(this,a);this.b-=5},function(){var a=P(this);Fc(this)&&(S(this,this.K),H(this,a),this.b-=6);this.b-=11},sd,function(){this.j=kd(this,O(this));this.b-=7},function(){S(this,
|
||||
this.K);H(this,40);this.b-=11},function(){Ic(this)||(H(this,R(this)),this.b-=6);this.b-=5},function(){var a=R(this);yc(this,a);this.j=a>>8;this.b-=10},function(){var a=P(this);Ic(this)||H(this,a);this.b-=10},function(){this.ma&=-513;this.b-=4},function(){var a=P(this);Ic(this)||(S(this,this.K),H(this,a),this.b-=6);this.b-=11},function(){S(this,zc(this)&255|this.j<<8);this.b-=11},function(){this.j=hd(this,O(this));this.b-=7},function(){S(this,this.K);H(this,48);this.b-=11},function(){Ic(this)&&(H(this,
|
||||
R(this)),this.b-=6);this.b-=5},function(){this.ba=L(this)&65535;this.b-=5},function(){var a=P(this);Ic(this)&&H(this,a);this.b-=10},function(){this.ma|=512;this.b-=4},function(){var a=P(this);Ic(this)&&(S(this,this.K),H(this,a),this.b-=6);this.b-=11},sd,function(){Mc(this,O(this));this.b-=7},function(){S(this,this.K);H(this,56);this.b-=11}];
|
||||
function V(a){u.call(this,"ChipSet",a,V,32768);var b=a.model;b&&!td[b]&&t("Unrecognized ChipSet model: "+b);this.Ra=td[b];a.sound&&(this.X=null,window&&(this.X=window.AudioContext||window.webkitAudioContext),this.X&&new this.X);E(this)}x(V);var td={SI1978:1978.1};m=V.prototype;m.na=function(){return!1};
|
||||
m.Aa=function(a,b,c,d){this.C=b;this.b=c;this.D=d;this.u=a;if(1978.1==this.Ra){var e;a=ud;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.A[g]?t("Input port "+r(g)+" already registered"):c.A[g]=[h,!1]}var k;e=vd;void 0===k&&(k=0);for(var l in e)if(f=b,a=+l+k,c=e[l].bind(this),void 0!==c)for(d=+l+k;d<=a;d++)void 0!==f.F[d]?t("Output port "+r(d)+" already registered"):f.F[d]=[c,!1]}};
|
||||
m.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.va=function(a){return a?this.save():!0};m.reset=function(){this.H=this.I=this.A=this.F=this.U=this.T=this.J=0};m.save=function(){var a=new J(this);1978.1==this.Ra&&K(a,0,[this.J,this.T,this.U,this.F,this.A,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];1978.1==this.Ra&&(this.J=a[0],this.T=a[1],this.U=a[2],this.F=a[3],this.A=a[4],this.H=a[5],this.I=a[6]);return!0};
|
||||
m.bc=function(a,b){var c=this.J;db(this,a,null,b,"STATUS0",c);return c};m.cc=function(a,b){var c=this.T;db(this,a,null,b,"STATUS1",c);return c};m.dc=function(a,b){var c=this.U;db(this,a,null,b,"STATUS2",c);return c};m.ac=function(a,b){var c=this.F<<this.A>>8&255;db(this,a,null,b,"SHIFT.RESULT",c);return c};m.ic=function(a,b,c){db(this,a,b,c,"SHIFT.COUNT",null);this.A=b};m.kc=function(a,b,c){db(this,a,b,c,"SOUND1",null);this.H=b};m.jc=function(a,b,c){db(this,a,b,c,"SHIFT.DATA",null);this.F=b};
|
||||
m.lc=function(a,b,c){db(this,a,b,c,"SOUND2",null);this.I=b};var ud={0:V.prototype.bc,1:V.prototype.cc,2:V.prototype.dc,3:V.prototype.ac},vd={2:V.prototype.ic,3:V.prototype.kc,4:V.prototype.jc,5:V.prototype.lc};Ia(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new V(d);$a(d,c)}});
|
||||
function wd(a){u.call(this,"ROM",a,wd);this.u=null;this.I=a.addr;this.A=a.size;this.F=a.alias;this.H=a.file;this.J=ba(this.H);if(this.H){a=this.H;var b=ca(this.J);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.H+"&format=bytes&decimal=true");var c=this;ma(a,null,!0,function(a,b,f){xd(c,a,b,f)})}}x(wd);wd.prototype.Aa=function(a,b,c,d){this.C=b;this.b=c;this.D=d;yd(this)};
|
||||
wd.prototype.wa=function(){if(this.xa){if(this.D){var a=this.D,b=this.id,c=this.I,d=this.A,e=this.xa,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var n=f,k=[k>>>0,h],p=ia(n,k,a.Eb);0>p&&n.splice(-(p+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.J.push({nc:b,B:c,gc:d,xa:e,Bb:f})}delete this.xa}return!0};wd.prototype.va=function(){return!0};
|
||||
function xd(a,b,c,d){if(d)a.la("Unable to load system ROM (error "+d+": "+b+")");else{Xa(a.Hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c<h.length;c++)a.u[d++]=h[c]&255,a.u[d++]=h[c]>>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.xa=e.symbols;if(!a.u.length){t("Empty ROM: "+b);return}if(1==a.u.length){t(a.u[0]);return}}catch(g){a.la("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
|
||||
" ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=aa(b[e],16);yd(a)}}
|
||||
function yd(a){if(!kb(a))if(!a.H)E(a);else if(a.u&&a.C){if(a.u.length!=a.A)lb(a,"ROM size (0x"+q(a.u.length)+") does not match specified size ("+("0x"+q(a.A))+")");else{var b;b=a.I;if(tb(a.C,b,a.A,Ob)){for(var c=0;c<a.u.length;c++){var d=a.C,e=b+c;d.C[(e&d.H)>>>d.Y].$a(e&d.u,a.u[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.F?b.push(a.F):null!=a.F&&a.F.length&&(b=a.F);for(c=0;c<b.length;c++){for(var f=a,d=b[c],e=f.C,h=f.A,g=[],k=f.I>>>e.Y;0<h&&k<e.C.length;)g.push(e.C[k++]),h-=e.ja;e=f.C;
|
||||
f=f.A;h=0;for(d>>>=e.Y;0<f&&d<e.C.length;){k=g[h++];if(!k)break;e.C[d++]=k;f-=e.ja}}delete a.u}}E(a)}}Ia(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new wd(d);$a(d,c)}});function zd(a){u.call(this,"RAM",a,zd);this.F=a.addr;this.A=a.size;this.u=!1}x(zd);m=zd.prototype;m.Aa=function(a,b,c,d){this.C=b;this.b=c;this.D=d;E(this)};m.wa=function(a,b){b||this.reset();return!0};m.va=function(a){return a?this.save():!0};
|
||||
m.reset=function(){!this.u&&this.A&&tb(this.C,this.F,this.A,1)&&(this.u=!0,this.status(Math.floor(this.A/1024)+"Kb allocated"));this.u||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ia(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new zd(d);$a(d,c)}});function Ad(a){u.call(this,"Keyboard",a,Ad,65536);E(this)}x(Ad);
|
||||
Ia(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Ad(d);$a(d,c)}});function Bd(a){u.call(this,"Video",a,Bd,262144);this.Zb=a.interruptRate;this.ya=a.refreshRate||60;E(this)}x(Bd);Bd.prototype.Aa=function(a,b,c,d){this.u=a;this.C=b;this.b=c;this.D=d};
|
||||
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 ob(a){u.call(this,"Panel",a,ob)}x(ob);m=ob.prototype;m.pa=function(a,b,c,d){return this.u&&this.u.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.A&&this.A.pa(a,b,c,d)||this.C&&this.C.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};m.Aa=function(a,b,c,d){this.u=a;this.D=b;this.b=c;this.C=d;this.A=pb(a,"Keyboard")};m.wa=function(a,b){b||qb();return!0};m.va=function(){return!0};m.qa=function(){};
|
||||
function qb(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=y(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<w.length;h++)if(w[h].id===f){f=w[h];break a}f=null}f||(a=!0,f=new ob(e));eb(f,d);a&&B(f)}}Ia(qb);
|
||||
function rb(a,b,c){u.call(this,"Bus",a,rb);this.b=b;this.C=c;this.U=a.busWidth||16;this.Y=Math.pow(2,this.U);this.H=this.Y-1|0;this.Z=16>=this.U?10:20>=this.U?12:24>=this.U?14:15;this.ma=1<<this.Z;this.aa=this.ma>>2;this.F=this.ma-1;this.K=this.Y/this.ma|0;this.W=this.K-1;this.u=[];this.A=[];this.I=this.J=!1;this.ca=[];this.ea=[];a=new F;sb(a,this.C);this.D=Array(this.K);for(b=0;b<this.K;b++)this.D[b]=a;a=this.b;b=this.D;c=this.Z;var d=this.H;a.la=b;a.Z=c;a.ma=1<<a.Z;a.H=a.ma-1;a.aa=b.length;a.Y=
|
||||
a.aa-1;a.K=d;B(this)}x(rb);rb.prototype.reset=function(){};rb.prototype.wa=function(a,b){b||this.reset();return!0};function tb(a,b,c,d){for(var e=b>>>a.Z;0<c&&e<a.D.length;){var f=a.D[e],h=e*a.ma,g=a.ma-(b-h);g>c&&(g=c);if(f&&f.size){if(f.type==d){if(b+c<=f.B)return f.kb+=f.B-b,f.B=b,!0;if(b>=f.B+f.kb){g=f.size-(b-h);g>c&&(g=c);f.kb=b-f.B+g;b=h+a.ma;c-=g;e++;continue}}return ub(1,b,c)}b=new F(b,g,a.ma,d);sb(b,a.C,f);a.D[e++]=b;b=h+a.ma;c-=g}return 0>=c?!0:ub(2,b,c)}
|
||||
rb.prototype.V=function(a){return this.D[(a&this.H)>>>this.Z].Ka(a&this.F,a)};function vb(a,b){return a.D[(b&a.H)>>>a.Z].ib(b&a.F,b)}function wb(a,b,c){a.D[(b&a.H)>>>a.Z].lb(b&a.F,c&255,b)}function Eb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]}
|
||||
function Fb(a,b){for(var c=1,d=0,e=0;0<c;){var f=a.u[b],h=a.ca[b]||1,g=1==h?255:2==h?65535:-1,k=g;void 0!==f?(f[0]&&(k=f[0](b,void 0),void 0===k?k=g:k&=g),a.C&&a.I!=f[1]&&Gb(a.C,b,k)):a.C&&(gb(a.C,a,b,null,void 0),a.I&&Gb(a.C,b,k));d|=k<<e;e+=h<<3;b+=h;c-=h}return d}function Hb(a,b){if(void 0===b)return a.J=!a.J,a.J;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}
|
||||
function Ib(a,b,c){for(var d=1,e=0;0<d;){var f=a.A[b],h=a.ea[b]||1,g=1==h?255:2==h?65535:-1,g=(c>>>=e)&g;if(void 0!==f){if(f[0])f[0](b,g,void 0);a.C&&a.J!=f[1]&&Jb(a.C,b,g)}else a.C&&(gb(a.C,a,b,g,void 0),a.J&&Jb(a.C,b,g));e+=h<<3;b+=h;d-=h}}function ub(a,b,c){t("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Kb;if(mb){var Lb=new ArrayBuffer(2);(new DataView(Lb)).setUint16(0,256,!0);Kb=256===(new Uint16Array(Lb))[0]}else Kb=!1;var Mb=Kb;
|
||||
function F(a,b,c,d){this.id=Nb+=2;this.b=null;this.B=a;this.kb=b;this.size=c||0;this.type=d||Ob;this.u=d==Pb;sb(this);this.za=this.Yb=!1;if(c)if(mb)this.H=new ArrayBuffer(c),this.I=new DataView(this.H,0,c),this.D=new Uint8Array(this.H,0,c),this.K=new Uint16Array(this.H,0,c>>1),this.b=new Int32Array(this.H,0,c>>2),Qb(this,Mb?Rb:Sb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Qb(this,Tb)}else Qb(this)}var Ob=0,Pb=2,Ub=["NONE","RAM","ROM","VIDEO","H/W"],Nb=0;
|
||||
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(mb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.I.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(mb)for(b=0;b<a.length;b++)this.I.setInt32(b<<2,a[b],!0);else this.b=a;return this.za=!0}return!1},Ea:function(a,b){b?0===this.A++&&Vb(this,Wb,!1):0===this.T++&&Xb(this,Wb,!1)},U:function(){this.C&&hb(this.C,129)&&this.C.message("attempt to read invalid block %"+q(this.B),!0);
|
||||
return 255},F:function(a,b){this.C&&hb(this.C,129)&&this.C.message("attempt to write "+r(b)+" to invalid block %"+q(this.B),!0)},W:function(a,b){return this.Ka(a++,b++)|this.Ka(a,b)<<8},J:function(a,b,c){this.Za(a++,b&255,c++);this.Za(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},sa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ca:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.za=!0},ab:function(a,
|
||||
b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.za=!0},aa:function(a,b){if(this.C&&null!=this.B){var c=this.C;Yb(c,this.B+a,1,c.ca)&&c.da(!0)}return this.ib(a,b)},ka:function(a,b){if(this.C&&null!=this.B){var c=this.C;Yb(c,this.B+a,2,c.ca)&&c.da(!0)}return this.yb(a,b)},ya:function(a,b,c){if(this.C&&null!=this.B){var d=this.C;Yb(d,this.B+a,1,d.I)&&d.da(!0)}this.u?this.F(a,b,c):this.lb(a,b,c)},Ma:function(a,
|
||||
b,c){if(this.C&&null!=this.B){var d=this.C;Yb(d,this.B+a,2,d.I)&&d.da(!0)}this.u?this.F(a,b,c):this.zb(a,b,c)},Y:function(a){return this.D[a]},ca:function(a){return this.D[a]},ja:function(a){return this.I.getUint16(a,!0)},ra:function(a){return a&1?this.D[a]|this.D[a+1]<<8:this.K[a>>1]},ta:function(a,b){this.D[a]=b;this.za=!0},Ba:function(a,b){this.D[a]=b;this.za=!0},Da:function(a,b){this.I.setUint16(a,b,!0);this.za=!0},$a:function(a,b){a&1?(this.D[a]=b,this.D[a+1]=b>>8):this.K[a>>1]=b;this.za=!0}};
|
||||
function sb(a,b,c){a.C=b;a.T=a.A=0;c&&((a.T=c.T)&&Xb(a,Wb,!1),(a.A=c.A)&&Vb(a,Wb,!1))}function Zb(a,b){b?0===--a.A&&(a.Za=a.u?a.F:a.lb,a.Tb=a.u?a.J:a.zb):0===--a.T&&(a.Ka=a.ib,a.Rb=a.yb)}function Vb(a,b,c){c&&a.A||(a.Za=!a.u&&b[2]||a.F,a.Tb=!a.u&&b[3]||a.J);if(c||void 0===c)a.lb=b[2]||a.F,a.zb=b[3]||a.J}function Xb(a,b,c){c&&a.T||(a.Ka=b[0]||a.U,a.Rb=b[1]||a.W);if(c||void 0===c)a.ib=b[0]||a.U,a.yb=b[1]||a.W}function Qb(a,b){b||(b=$b);Xb(a,b,void 0);Vb(a,b,void 0)}
|
||||
var $b=[],Tb=[F.prototype.ea,F.prototype.sa,F.prototype.Ca,F.prototype.ab],Wb=[F.prototype.aa,F.prototype.ka,F.prototype.ya,F.prototype.Ma];if(mb)var Sb=[F.prototype.Y,F.prototype.ja,F.prototype.ta,F.prototype.Da],Rb=[F.prototype.ca,F.prototype.ra,F.prototype.Ba,F.prototype.$a];
|
||||
function ac(a,b){u.call(this,"CPU",a,ac,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.Xa=c;this.i.qb=0;this.i.Ja=d;this.i.vb=Math.round(this.i.Xa/1E4)/100;this.i.Ha=this.i.vb*this.i.Ja;this.w.ia=!1;this.w.ub=!1;this.w.Ib=a.autoStart;this.w.Jb=!1;this.w.Oa=!1;this.i.bb=this.i.Ua=0;this.i.cb=a.csStart;this.i.Ta=a.csInterval;this.i.Va=a.csStop;this.ka=this.La.bind(this);B(this)}x(ac);var bc=["power","reset"];m=ac.prototype;
|
||||
m.Aa=function(a,b,c,d){this.u=a;this.D=b;this.C=d;for(b=0;b<bc.length;b++)(c=this.T[bc[b]])&&this.u.pa(null,bc[b],c);this.ya=(b=pb(a,"Video"))&&Math.max(b.ya,b.Zb)||60;this.W=pb(a,"ChipSet");a=lc(a,"autoStart");null!=a&&(this.w.Ib="true"==a?!0:"false"==a?!1:!!a);B(this)};m.reset=function(){this.i.qb=0};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.wa=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();if(this.C){var c=this.C;c.g("Type ? for help with PC8080 Debugger commands");c.qa();if(c.rb){var d=c.rb;c.rb=null;oc(c,d)}}else this.g("No debugger detected")}G(this);return!0};m.va=function(a){return a?this.save():!0};function pc(a){(a.w.Ib||!a.C&&void 0===a.T.run)&&a.La(!0)}m.Mb=function(){return 0};
|
||||
function nc(a){void 0===a.i.cb&&(a.i.cb=0);void 0===a.i.Ta&&(a.i.Ta=-1);void 0===a.i.Va&&(a.i.Va=-1);a.w.Oa=0<=a.i.cb&&0<a.i.Ta;a.w.Oa&&(a.i.bb=0,a.i.Ua=a.i.cb-a.J)}function qc(a,b){if(a.w.Oa){var c=!1;a.i.bb=a.i.bb+a.Mb()|0;a.i.Ua-=b;0>=a.i.Ua&&(a.i.Ua+=a.i.Ta,c=!0);0<=a.i.Va&&a.i.Va<=rc(a)&&(a.i.Ta=a.i.Va=-1,nc(a),a.da(),c=!0);c&&a.g(rc(a)+" cycles: checksum="+q(a.i.bb))}}
|
||||
m.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.T[b]=c;a=!0;break;case "run":this.T[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.w.ha)a=!0;else{var b=null,c,g=Ya(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.w.Qa);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.w.ha);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.w.Qa?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.w.ia?d.da(!0):d.La(!0))};a=
|
||||
!0;break;case "speed":this.T[b]=c;a=!0;break;case "setSpeed":this.T[b]=c,c.onclick=function(){sc(d,d.i.Ja<<1,!0)},c.textContent=this.i.Ha.toFixed(2)+"Mhz",a=!0}return a};function tc(a,b,c){a.J+=b;c&&(a.F=a.b=0)}
|
||||
function uc(a,b){var c=30;c<a.ya&&(c=a.ya);2>c&&(c=2);var d=1;b&&1<a.i.Ja&&a.i.Ga&&(d=a.i.Ga/a.i.vb);a.i.Nb=Math.round(1E3/30);a.i.hc=Math.floor(a.i.Xa/c*d);a.i.wb=Math.floor(a.i.Xa/30*d);a.i.Pb=Math.floor(a.i.Xa/a.ya*d);a.i.Ob=Math.floor(a.i.Xa/2*d);b||(a.i.Wa=a.i.wb,a.i.fb=a.i.Pb,a.i.eb=a.i.Ob);a.i.xb=0}function rc(a){return a.J+a.I+a.F-a.b}function mc(a){a.i.Ga=0;a.J=a.I=a.F=a.b=0;nc(a);sc(a,1)}
|
||||
function sc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Ga/a.i.Ha?b=1:d=!0;a.i.Ja=b;b=a.i.vb*a.i.Ja;if(a.i.Ha!=b){a.i.Ha=b;b=a.i.Ha.toFixed(2)+"Mhz";var e=a.T.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.jb()}tc(a,a.I);a.I=0;a.i.Sa=ja();a.i.Ia=0;uc(a);return d}
|
||||
m.La=function(a){if(ib(this,!0)){if(!this.w.ia){sc(this);this.u&&this.u.start(this.i.Sa,rc(this));this.w.ia=!0;this.w.ub=!0;this.W&&this.W.mc();var b=this.T.run;b&&(b.textContent="Halt");this.u&&(this.u.qa(!0),a&&this.u.jb(!0))}this.i.xb>=this.i.Xa&&uc(this,!0);this.i.gb=0;this.i.pb=ja();this.i.Ia&&(a=this.i.pb-this.i.Ia,a>this.i.Nb&&(this.i.Sa+=a,this.i.Sa>this.i.pb&&(this.i.Sa=this.i.pb)));try{do{var c=this.w.Oa?1:this.i.hc;try{this.Ya(c)}catch(e){if("number"!=typeof e)throw e;}var d=this.F-this.b;
|
||||
this.I+=d;this.i.gb+=d;tc(this,0,!0);qc(this,d);this.i.fb-=d;0>=this.i.fb&&(this.i.fb+=this.i.Pb,this.u&&vc(this.u,this.i.qb++),this.i.qb>this.ya&&(this.i.qb=0));this.i.eb-=d;0>=this.i.eb&&(this.i.eb+=this.i.Ob,this.u&&this.u.qa());this.i.Wa-=d;if(0>=this.i.Wa){this.i.Wa+=this.i.wb;break}}while(this.w.ia)}catch(e){this.da();G(this);this.u&&this.u.stop(ja(),rc(this));ib(this,!1);lb(this,e.stack||e.message);return}c=setTimeout;d=this.ka;this.i.Ia=ja();a=this.i.Nb;this.i.gb&&(a=Math.round(a*this.i.gb/
|
||||
this.i.wb));a-=this.i.Ia-this.i.pb;if(b=this.i.Ia-this.i.Sa)this.i.Ga=Math.round(this.I/(10*b))/100,864E5<=b&&(this.J=0,sc(this));if(0>a||this.i.Ga<this.i.Ha)a=0;this.i.xb+=this.i.gb;this.i.Ia+=a;c(d,a)}else G(this),this.u&&this.u.stop(ja(),rc(this))};m.Ya=function(){return 0};m.da=function(a){jb(this,!0);this.F-=this.b;this.b=0;tc(this,this.I);this.I=0;if(this.w.ia){this.w.ia=!1;this.W&&this.W.mc();var b=this.T.run;b&&(b.textContent="Run")}this.w.nb=a};
|
||||
function G(a,b){a.u&&(vc(a.u,-1),a.u.qa(b))}function wc(a){this.Ra=a.model||8080;ac.call(this,a,1E6);this.ca=xc;mc(this);this.w.nb=this.w.Xb=!1;this.ja=0;this.la=[];this.Z=this.ma=this.H=this.aa=this.Y=this.K=0;this.U=[];this.ea=0;yc(this)}x(wc,ac);function zc(a,b){a.U.push(b)}m=wc.prototype;m.reset=function(){this.w.ia&&this.da();yc(this);mc(this);this.w.Pa=!1;this.parent.reset.call(this)};function yc(a){a.j=0;a.L=0;a.P=0;a.M=0;a.R=0;a.N=0;a.S=0;a.ba=0;H(a,a.ea);Ac(a,0);a.A=0}
|
||||
function Bc(a,b){a.ea=b;H(a,b)}m.Mb=function(){var a=this.j+this.L+this.P+this.M+this.R+this.N+this.S|0;return a=a+this.ba+this.O+Cc(this)|0};
|
||||
m.save=function(){var a=new I(this);K(a,0,[this.j,this.L,this.P,this.M,this.R,this.N,this.S,this.ba,this.O,Cc(this)]);K(a,1,[this.A,this.J,this.i.Ja]);for(var b=this.D,c=0,d=[],e=0;e<b.K;e++){var f=b.D[e];if(f.za||f.Yb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var n=f[g],p=g+1;p<f.length&&f[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}if(l.length<f.length){f=l;break a}}d[h]=f}}K(a,2,d);return a.data()};
|
||||
m.restore=function(a){var b=a[0];this.j=b[0];this.L=b[1];this.P=b[2];this.M=b[3];this.R=b[4];this.N=b[5];this.S=b[6];this.ba=b[7]&65535;H(this,b[8]);Ac(this,b[9]);b=a[1];this.A=b[0];this.J=b[1];sc(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.aa){for(var f=0,h=Array(b.aa),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.D[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
m.pa=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "SF":case "ZF":case "AF":case "PF":case "CF":this.T[b]=c;this.ja++;d=!0;break;default:d=this.parent.pa.call(this,a,b,c)}return d};function Dc(a){return a.L<<8|a.P}function Ec(a,b){a.L=b>>8&255;a.P=b&255}function Fc(a){return a.M<<8|a.R}function Gc(a,b){a.M=b>>8&255;a.R=b&255}function L(a){return a.N<<8|a.S}
|
||||
function M(a,b){a.N=b>>8&255;a.S=b&255}function H(a,b){a.O=b&65535}function Hc(a){return a.G&256?1:0}function Ic(a){return nb[a.X&255]?4:0}function Jc(a){return(a.X^a.fa)&16?16:0}function Kc(a){return a.G&255?0:64}function Lc(a){return a.X&128?128:0}function Cc(a){return a.oa&-214|Lc(a)|Kc(a)|Jc(a)|Ic(a)|Hc(a)}function Ac(a,b){a.G=a.X=a.fa=0;b&1&&(a.G|=256);b&4||(a.X|=1);b&16&&(a.fa|=16);b&64||(a.G|=255);b&128&&(a.X^=192);a.oa=a.oa&-513|b&512|2}
|
||||
function Mc(a,b){a.fa=a.j^b;return(a.G=a.X=a.j+b)&255}function Nc(a,b){a.fa=a.j^b;return(a.G=a.X=a.j+b+(a.G&256?1:0))&255}function gd(a,b){return a.G=a.X=a.fa=a.j&b}function hd(a,b){a.fa=a.j^b;a.G=a.X=a.j-b}function id(a,b){a.fa=b;b=(a.X=b-1)&255;a.G=a.G&-256|b;return b}function jd(a,b){a.fa=b;b=(a.X=b+1)&255;a.G=a.G&-256|b;return b}function kd(a,b){return a.G=a.X=a.fa=a.j|b}function ld(a,b){a.fa=a.j^b;return(a.G=a.X=a.j-b)&255}function md(a,b){a.fa=a.j^b;return(a.G=a.X=a.j-b-(a.G&256?1:0))&255}
|
||||
function nd(a,b){return a.G=a.X=a.fa=a.j^b}m.V=function(a){return this.la[(a&this.K)>>>this.Z].Ka(a&this.H,a)};function od(a,b){var c=b&a.H,d=(b&a.K)>>>a.Z;if(c<a.H)return a.la[d].Rb(c,b);c=a.la[d].Ka(c,b);return c|=a.la[d+1&a.Y].Ka(0,b+1)<<8}function N(a,b,c){a.la[(b&a.K)>>>a.Z].Za(b&a.H,c&255,b)}function pd(a,b,c){var d=b&a.H,e=(b&a.K)>>>a.Z;d<a.H?a.la[e].Tb(d,c&65535,b):(a.la[e++].Za(d,c&255,b),a.la[e&a.Y].Za(0,c>>8&255,b+1))}function O(a){var b=a.V(a.O);H(a,a.O+1);return b}
|
||||
function P(a){var b=od(a,a.O);H(a,a.O+2);return b}function R(a){var b=od(a,a.ba);a.ba=a.ba+2&65535;return b}function S(a,b){a.ba=a.ba-2&65535;pd(a,a.ba,b)}function T(a,b,c,d){d=d||2;a.T[b]&&(void 0===c&&(lb(a,"Value for "+b+" is invalid"),a.da()),c=!a.w.ia||a.w.Jb?q(c,d):"--------".substr(0,d),a.T[b].textContent!=c&&(a.T[b].textContent=c))}
|
||||
m.qa=function(a){this.ja&&(a||!this.w.ia||this.w.Jb)&&(T(this,"A",this.j),T(this,"B",this.L),T(this,"C",this.P),T(this,"BC",Dc(this),4),T(this,"D",this.M),T(this,"E",this.R),T(this,"DE",Fc(this),4),T(this,"H",this.N),T(this,"L",this.S),T(this,"HL",L(this),4),T(this,"SP",this.ba,4),T(this,"PC",this.O,4),a=Cc(this),T(this,"PS",a,4),T(this,"SF",a&128,1),T(this,"ZF",a&64,1),T(this,"AF",a&16,1),T(this,"PF",a&4,1),T(this,"CF",a&1,1));if(a=this.T.speed)a.textContent=this.w.ia&&this.i.Ga?this.i.Ga.toFixed(2)+
|
||||
"Mhz":"Stopped"};m.Ya=function(a){this.w.nb=!0;var b=this.w.Xb=this.C&&qd(this.C),c=a?this.w.ub?0:1:-1;this.w.ub=!1;this.F=this.b=a;do{if(this.A){var d;this.A&8&&this.oa&512?(d=199|(this.A&7)<<3,this.A&=-16,this.oa&=-513,this.ca[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.A&16){this.b=0;break}}if(b){if(rd(this.C,this.O,c)){this.da();break}c=1}this.ca[O(this)].call(this)}while(0<this.b);return this.w.nb?this.F-this.b:void 0===this.w.nb?0:-1};
|
||||
Ia(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new wc(d);eb(d,c)}});function sd(){this.b-=4}function td(){H(this,P(this));this.b-=10}function ud(){H(this,R(this));this.b-=10}function vd(){var a=P(this);S(this,this.O);H(this,a);this.b-=17}
|
||||
var xc=[sd,function(){Ec(this,P(this));this.b-=10},function(){N(this,Dc(this),this.j);this.b-=7},function(){Ec(this,Dc(this)+1);this.b-=5},function(){this.L=jd(this,this.L);this.b-=5},function(){this.L=id(this,this.L);this.b-=5},function(){this.L=O(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;this.G=this.G&255|a&256;this.b-=4},sd,function(){var a;M(this,a=L(this)+Dc(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Dc(this));this.b-=7},function(){Ec(this,Dc(this)-
|
||||
1);this.b-=5},function(){this.P=jd(this,this.P);this.b-=5},function(){this.P=id(this,this.P);this.b-=5},function(){this.P=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;this.G=this.G&255|a;this.b-=4},sd,function(){Gc(this,P(this));this.b-=10},function(){N(this,Fc(this),this.j);this.b-=7},function(){Gc(this,Fc(this)+1);this.b-=5},function(){this.M=jd(this,this.M);this.b-=5},function(){this.M=id(this,this.M);this.b-=5},function(){this.M=O(this);this.b-=7},function(){var a=this.j<<
|
||||
1;this.j=a&255|this.G>>8;this.G=this.G&255|a&256;this.b-=4},sd,function(){var a;M(this,a=L(this)+Fc(this));this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(Fc(this));this.b-=7},function(){Gc(this,Fc(this)-1);this.b-=5},function(){this.R=jd(this,this.R);this.b-=5},function(){this.R=id(this,this.R);this.b-=5},function(){this.R=O(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(this.G&256|this.j)>>1;this.G=this.G&255|a;this.b-=4},sd,function(){M(this,P(this));this.b-=10},function(){pd(this,
|
||||
P(this),L(this));this.b-=16},function(){M(this,L(this)+1);this.b-=5},function(){this.N=jd(this,this.N);this.b-=5},function(){this.N=id(this,this.N);this.b-=5},function(){this.N=O(this);this.b-=7},function(){var a=this.j,b=!!Hc(this),c=!!Jc(this);9<(a&15)||c?(a+=6,c=!0):c=!1;160<=a||b?(a+=96,b=!0):b=!1;this.G=this.X=this.j=a&255;this.G=b?this.G|256:this.G&-257;this.fa=c?~this.X&16|this.fa&-17:this.X&16|this.fa&-17;this.b-=4},sd,function(){var a;M(this,a=L(this)+L(this));this.G=this.G&255|a>>8&256;
|
||||
this.b-=10},function(){M(this,od(this,P(this)));this.b-=16},function(){M(this,L(this)-1);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=id(this,this.S);this.b-=5},function(){this.S=O(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},sd,function(){this.ba=P(this)&65535;this.b-=10},function(){N(this,P(this),this.j);this.b-=13},function(){this.ba=this.ba+1&65535;this.b-=5},function(){var a=L(this);N(this,a,jd(this,this.V(a)));this.b-=10},function(){var a=L(this);N(this,
|
||||
a,id(this,this.V(a)));this.b-=10},function(){N(this,L(this),O(this));this.b-=10},function(){this.G|=256;this.b-=4},sd,function(){var a;this.ba=(a=L(this)+this.ba)&65535;this.G=this.G&255|a>>8&256;this.b-=10},function(){this.j=this.V(P(this));this.b-=13},function(){this.ba=this.ba-1&65535;this.b-=5},function(){this.j=jd(this,this.j);this.b-=5},function(){this.j=id(this,this.j);this.b-=5},function(){this.j=O(this);this.b-=7},function(){this.G=Hc(this)?this.G&-257:this.G|256;this.b-=4},function(){this.b-=
|
||||
5},function(){this.L=this.P;this.b-=5},function(){this.L=this.M;this.b-=5},function(){this.L=this.R;this.b-=5},function(){this.L=this.N;this.b-=5},function(){this.L=this.S;this.b-=5},function(){this.L=this.V(L(this));this.b-=7},function(){this.L=this.j;this.b-=5},function(){this.P=this.L;this.b-=5},function(){this.b-=5},function(){this.P=this.M;this.b-=5},function(){this.P=this.R;this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.V(L(this));this.b-=
|
||||
7},function(){this.P=this.j;this.b-=5},function(){this.M=this.L;this.b-=5},function(){this.M=this.P;this.b-=5},function(){this.b-=5},function(){this.M=this.R;this.b-=5},function(){this.M=this.N;this.b-=5},function(){this.M=this.S;this.b-=5},function(){this.M=this.V(L(this));this.b-=7},function(){this.M=this.j;this.b-=5},function(){this.R=this.L;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.R=this.M;this.b-=5},function(){this.b-=5},function(){this.R=this.N;this.b-=5},function(){this.R=
|
||||
this.S;this.b-=5},function(){this.R=this.V(L(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.N=this.L;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.N=this.M;this.b-=5},function(){this.N=this.R;this.b-=5},function(){this.b-=5},function(){this.N=this.S;this.b-=5},function(){this.N=this.V(L(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.S=this.L;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.M;this.b-=5},function(){this.S=
|
||||
this.R;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.b-=5},function(){this.S=this.V(L(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){N(this,L(this),this.L);this.b-=7},function(){N(this,L(this),this.P);this.b-=7},function(){N(this,L(this),this.M);this.b-=7},function(){N(this,L(this),this.R);this.b-=7},function(){N(this,L(this),this.N);this.b-=7},function(){N(this,L(this),this.S);this.b-=7},function(){var a=this.O-1;if(this.U.length)for(var b=0;b<this.U.length;b++)if(this.U[b](a))return;
|
||||
this.A|=16;this.b-=7;this.C&&hb(this,-2147483648)?(H(this,a),this.C.da()):this.oa&512||(this.C&&H(this,a),this.da())},function(){N(this,L(this),this.j);this.b-=7},function(){this.j=this.L;this.b-=5},function(){this.j=this.P;this.b-=5},function(){this.j=this.M;this.b-=5},function(){this.j=this.R;this.b-=5},function(){this.j=this.N;this.b-=5},function(){this.j=this.S;this.b-=5},function(){this.j=this.V(L(this));this.b-=7},function(){this.b-=5},function(){this.j=Mc(this,this.L);this.b-=4},function(){this.j=
|
||||
Mc(this,this.P);this.b-=4},function(){this.j=Mc(this,this.M);this.b-=4},function(){this.j=Mc(this,this.R);this.b-=4},function(){this.j=Mc(this,this.N);this.b-=4},function(){this.j=Mc(this,this.S);this.b-=4},function(){this.j=Mc(this,this.V(L(this)));this.b-=7},function(){this.j=Mc(this,this.j);this.b-=4},function(){this.j=Nc(this,this.L);this.b-=4},function(){this.j=Nc(this,this.P);this.b-=4},function(){this.j=Nc(this,this.M);this.b-=4},function(){this.j=Nc(this,this.R);this.b-=4},function(){this.j=
|
||||
Nc(this,this.N);this.b-=4},function(){this.j=Nc(this,this.S);this.b-=4},function(){this.j=Nc(this,this.V(L(this)));this.b-=7},function(){this.j=Nc(this,this.j);this.b-=4},function(){this.j=ld(this,this.L);this.b-=4},function(){this.j=ld(this,this.P);this.b-=4},function(){this.j=ld(this,this.M);this.b-=4},function(){this.j=ld(this,this.R);this.b-=4},function(){this.j=ld(this,this.N);this.b-=4},function(){this.j=ld(this,this.S);this.b-=4},function(){this.j=ld(this,this.V(L(this)));this.b-=7},function(){this.j=
|
||||
ld(this,this.j);this.b-=4},function(){this.j=md(this,this.L);this.b-=4},function(){this.j=md(this,this.P);this.b-=4},function(){this.j=md(this,this.M);this.b-=4},function(){this.j=md(this,this.R);this.b-=4},function(){this.j=md(this,this.N);this.b-=4},function(){this.j=md(this,this.S);this.b-=4},function(){this.j=md(this,this.V(L(this)));this.b-=7},function(){this.j=md(this,this.j);this.b-=4},function(){this.j=gd(this,this.L);this.b-=4},function(){this.j=gd(this,this.P);this.b-=4},function(){this.j=
|
||||
gd(this,this.M);this.b-=4},function(){this.j=gd(this,this.R);this.b-=4},function(){this.j=gd(this,this.N);this.b-=4},function(){this.j=gd(this,this.S);this.b-=4},function(){this.j=gd(this,this.V(L(this)));this.b-=7},function(){this.j=gd(this,this.j);this.b-=4},function(){this.j=nd(this,this.L);this.b-=4},function(){this.j=nd(this,this.P);this.b-=4},function(){this.j=nd(this,this.M);this.b-=4},function(){this.j=nd(this,this.R);this.b-=4},function(){this.j=nd(this,this.N);this.b-=4},function(){this.j=
|
||||
nd(this,this.S);this.b-=4},function(){this.j=nd(this,this.V(L(this)));this.b-=7},function(){this.j=nd(this,this.j);this.b-=4},function(){this.j=kd(this,this.L);this.b-=4},function(){this.j=kd(this,this.P);this.b-=4},function(){this.j=kd(this,this.M);this.b-=4},function(){this.j=kd(this,this.R);this.b-=4},function(){this.j=kd(this,this.N);this.b-=4},function(){this.j=kd(this,this.S);this.b-=4},function(){this.j=kd(this,this.V(L(this)));this.b-=7},function(){this.j=kd(this,this.j);this.b-=4},function(){hd(this,
|
||||
this.L);this.b-=4},function(){hd(this,this.P);this.b-=4},function(){hd(this,this.M);this.b-=4},function(){hd(this,this.R);this.b-=4},function(){hd(this,this.N);this.b-=4},function(){hd(this,this.S);this.b-=4},function(){hd(this,this.V(L(this)));this.b-=7},function(){hd(this,this.j);this.b-=4},function(){Kc(this)||(H(this,R(this)),this.b-=6);this.b-=5},function(){Ec(this,R(this));this.b-=10},function(){var a=P(this);Kc(this)||H(this,a);this.b-=10},td,function(){var a=P(this);Kc(this)||(S(this,this.O),
|
||||
H(this,a),this.b-=6);this.b-=11},function(){S(this,Dc(this));this.b-=11},function(){this.j=Mc(this,O(this));this.b-=7},function(){S(this,this.O);H(this,0);this.b-=11},function(){Kc(this)&&(H(this,R(this)),this.b-=6);this.b-=5},ud,function(){var a=P(this);Kc(this)&&H(this,a);this.b-=10},td,function(){var a=P(this);Kc(this)&&(S(this,this.O),H(this,a),this.b-=6);this.b-=11},vd,function(){this.j=Nc(this,O(this));this.b-=7},function(){S(this,this.O);H(this,8);this.b-=11},function(){Hc(this)||(H(this,R(this)),
|
||||
this.b-=6);this.b-=5},function(){Gc(this,R(this));this.b-=10},function(){var a=P(this);Hc(this)||H(this,a);this.b-=10},function(){var a=O(this);Ib(this.D,a,this.j);this.b-=10},function(){var a=P(this);Hc(this)||(S(this,this.O),H(this,a),this.b-=6);this.b-=11},function(){S(this,Fc(this));this.b-=11},function(){this.j=ld(this,O(this));this.b-=7},function(){S(this,this.O);H(this,16);this.b-=11},function(){Hc(this)&&(H(this,R(this)),this.b-=6);this.b-=5},ud,function(){var a=P(this);Hc(this)&&H(this,a);
|
||||
this.b-=10},function(){var a=O(this);this.j=Fb(this.D,a)&255;this.b-=10},function(){var a=P(this);Hc(this)&&(S(this,this.O),H(this,a),this.b-=6);this.b-=11},vd,function(){this.j=md(this,O(this));this.b-=7},function(){S(this,this.O);H(this,24);this.b-=11},function(){Ic(this)||(H(this,R(this)),this.b-=6);this.b-=5},function(){M(this,R(this));this.b-=10},function(){var a=P(this);Ic(this)||H(this,a);this.b-=10},function(){var a=R(this);S(this,L(this));M(this,a);this.b-=18},function(){var a=P(this);Ic(this)||
|
||||
(S(this,this.O),H(this,a),this.b-=6);this.b-=11},function(){S(this,L(this));this.b-=11},function(){this.j=gd(this,O(this));this.b-=7},function(){S(this,this.O);H(this,32);this.b-=11},function(){Ic(this)&&(H(this,R(this)),this.b-=6);this.b-=5},function(){H(this,L(this));this.b-=5},function(){var a=P(this);Ic(this)&&H(this,a);this.b-=10},function(){var a=L(this);M(this,Fc(this));Gc(this,a);this.b-=5},function(){var a=P(this);Ic(this)&&(S(this,this.O),H(this,a),this.b-=6);this.b-=11},vd,function(){this.j=
|
||||
nd(this,O(this));this.b-=7},function(){S(this,this.O);H(this,40);this.b-=11},function(){Lc(this)||(H(this,R(this)),this.b-=6);this.b-=5},function(){var a=R(this);Ac(this,a);this.j=a>>8;this.b-=10},function(){var a=P(this);Lc(this)||H(this,a);this.b-=10},function(){this.oa&=-513;this.b-=4},function(){var a=P(this);Lc(this)||(S(this,this.O),H(this,a),this.b-=6);this.b-=11},function(){S(this,Cc(this)&255|this.j<<8);this.b-=11},function(){this.j=kd(this,O(this));this.b-=7},function(){S(this,this.O);H(this,
|
||||
48);this.b-=11},function(){Lc(this)&&(H(this,R(this)),this.b-=6);this.b-=5},function(){this.ba=L(this)&65535;this.b-=5},function(){var a=P(this);Lc(this)&&H(this,a);this.b-=10},function(){this.oa|=512;this.b-=4},function(){var a=P(this);Lc(this)&&(S(this,this.O),H(this,a),this.b-=6);this.b-=11},vd,function(){hd(this,O(this));this.b-=7},function(){S(this,this.O);H(this,56);this.b-=11}];
|
||||
function V(a){u.call(this,"ChipSet",a,V,32768);var b=a.model;b&&!wd[b]&&t("Unrecognized ChipSet model: "+b);this.Ra=wd[b];a.sound&&(this.W=null,window&&(this.W=window.AudioContext||window.webkitAudioContext),this.W&&new this.W);B(this)}x(V);var wd={SI1978:1978.1};m=V.prototype;m.pa=function(){return!1};
|
||||
m.Aa=function(a,b,c,d){this.D=b;this.b=c;this.C=d;this.u=a;if(1978.1==this.Ra){var e;a=xd;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.u[g]?t("Input port "+r(g)+" already registered"):c.u[g]=[h,!1]}var k;e=yd;void 0===k&&(k=0);for(var l in e)if(f=b,a=+l+k,c=e[l].bind(this),void 0!==c)for(d=+l+k;d<=a;d++)void 0!==f.A[d]?t("Output port "+r(d)+" already registered"):f.A[d]=[c,!1]}};
|
||||
m.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.va=function(a){return a?this.save():!0};m.reset=function(){this.H=this.I=this.A=this.F=this.U=this.K=this.J=0};m.save=function(){var a=new I(this);1978.1==this.Ra&&K(a,0,[this.J,this.K,this.U,this.F,this.A,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];1978.1==this.Ra&&(this.J=a[0],this.K=a[1],this.U=a[2],this.F=a[3],this.A=a[4],this.H=a[5],this.I=a[6]);return!0};
|
||||
m.bc=function(a,b){var c=this.J;fb(this,a,null,b,"STATUS0",c);return c};m.cc=function(a,b){var c=this.K;fb(this,a,null,b,"STATUS1",c);return c};m.dc=function(a,b){var c=this.U;fb(this,a,null,b,"STATUS2",c);return c};m.ac=function(a,b){var c=this.F<<this.A>>8&255;fb(this,a,null,b,"SHIFT.RESULT",c);return c};m.ic=function(a,b,c){fb(this,a,b,c,"SHIFT.COUNT",null);this.A=b};m.kc=function(a,b,c){fb(this,a,b,c,"SOUND1",null);this.H=b};m.jc=function(a,b,c){fb(this,a,b,c,"SHIFT.DATA",null);this.F=b};
|
||||
m.lc=function(a,b,c){fb(this,a,b,c,"SOUND2",null);this.I=b};var xd={0:V.prototype.bc,1:V.prototype.cc,2:V.prototype.dc,3:V.prototype.ac},yd={2:V.prototype.ic,3:V.prototype.kc,4:V.prototype.jc,5:V.prototype.lc};Ia(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new V(d);eb(d,c)}});
|
||||
function zd(a){u.call(this,"ROM",a,zd);this.u=null;this.I=a.addr;this.A=a.size;this.J=a.writable;this.F=a.alias;this.H=a.file;this.K=ba(this.H);if(this.H){a=this.H;var b=ca(this.K);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.H+"&format=bytes&decimal=true");var c=this;ma(a,null,!0,function(a,b,f){Ad(c,a,b,f)})}}x(zd);var Bd=[0,5];zd.prototype.Aa=function(a,b,c,d){this.D=b;this.b=c;this.C=d;Cd(this)};
|
||||
zd.prototype.wa=function(){if(this.xa){if(this.C){var a=this.C,b=this.id,c=this.I,d=this.A,e=this.xa,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var n=f,k=[k>>>0,h],p=ia(n,k,a.Eb);0>p&&n.splice(-(p+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.J.push({nc:b,B:c,gc:d,xa:e,Bb:f})}delete this.xa}return!0};zd.prototype.va=function(){return!0};
|
||||
function Ad(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{Xa(a.Hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c<h.length;c++)a.u[d++]=h[c]&255,a.u[d++]=h[c]>>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.xa=e.symbols;if(!a.u.length){t("Empty ROM: "+b);return}if(1==a.u.length){t(a.u[0]);return}}catch(g){a.na("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
|
||||
" ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=aa(b[e],16);Cd(a)}}
|
||||
function Cd(a){if(!kb(a))if(!a.H)B(a);else if(a.u&&a.D){a.A||(a.A=a.u.length);if(a.u.length!=a.A)lb(a,"ROM size (0x"+q(a.u.length)+") does not match specified size ("+("0x"+q(a.A))+")");else if(Dd(a,a.I)){var b=[];"number"==typeof a.F?b.push(a.F):null!=a.F&&a.F.length&&(b=a.F);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.D,h=d.A,g=[],k=d.I>>>f.Z;0<h&&k<f.D.length;)g.push(f.D[k++]),h-=f.ma;f=d.D;d=d.A;h=0;for(e>>>=f.Z;0<d&&e<f.D.length;){k=g[h++];if(!k)break;f.D[e++]=k;d-=f.ma}}delete a.u}B(a)}}
|
||||
function Dd(a,b){if(tb(a.D,b,a.A,a.J?1:Pb)){var c;for(c=0;c<a.u.length;c++)wb(a.D,b+c,a.u[c]);if(a.J&&256==b){for(c=0;c<Bd.length;c++)wb(a.D,Bd[c],118);zc(a.b,function(a){return function(b){a.C&&(a.g("CP/M vector "+r(b)),H(a.b,b),a.C.da())}}(a));Bc(a.b,b)}return!0}return!1}Ia(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new zd(d);eb(d,c)}});function Ed(a){u.call(this,"RAM",a,Ed);this.F=a.addr;this.A=a.size;this.u=!1}x(Ed);m=Ed.prototype;
|
||||
m.Aa=function(a,b,c,d){this.D=b;this.b=c;this.C=d;B(this)};m.wa=function(a,b){b||this.reset();return!0};m.va=function(a){return a?this.save():!0};m.reset=function(){!this.u&&this.A&&tb(this.D,this.F,this.A,1)&&(this.u=!0,this.status(Math.floor(this.A/1024)+"Kb allocated"));this.u||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ia(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Ed(d);eb(d,c)}});
|
||||
function Fd(a){u.call(this,"Keyboard",a,Fd,65536);B(this)}x(Fd);Ia(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Fd(d);eb(d,c)}});function Gd(a){u.call(this,"Video",a,Gd,262144);this.Zb=a.interruptRate;this.ya=a.refreshRate||60;B(this)}x(Gd);Gd.prototype.Aa=function(a,b,c,d){this.u=a;this.D=b;this.b=c;this.C=d};
|
||||
Ia(function(){for(var a=A(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=y(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=oa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
||||
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ha("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");za("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new Bd(d);$a(d,c)}});
|
||||
function Cd(a){u.call(this,"Debugger",a,Cd);this.aa=Dd;this.oa=this.Ma=this.U=0;this.Z=W();this.Fb=W();this.H=-1;this.F=[];this.sa=!1;this.pa=W();this.J=[];this.ra={};this.A=this.ca=this.I=[];Ed(this);this.Ca=0;Fd(this);this.ab=[];Gd(this,a.messages);this.rb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return nc(b,a)}):void 0===global.$&&(global.$=function(a){return nc(b,a)})}x(Cd);
|
||||
var Hd={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},Dd=8086,Id="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),
|
||||
Jd="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ LDA MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),Kd="B C D E H L M A BC DE HL SP PC PSW".split(" "),Ld=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],
|
||||
[21,2579,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,2579,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,2579,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617],[44,
|
||||
1617,32],[72],[45,32768],[21,2579,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43,785,
|
||||
1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[43,1617,1617],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,
|
||||
273],[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,
|
||||
785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],
|
||||
[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,2899,2579],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,2579,2323],[13,51],[7,32819],[77,18193,33],[65,128],[59],[50,3347],[35,51],[24],[12,51],[51,3347],[47,18193,33],[65,128],[56],[69,2835,2579],[32,51],[25],[9,51],[7,32819],[19,
|
||||
18193,33],[65,128]],Md={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};m=Cd.prototype;
|
||||
m.Aa=function(a,b,c,d){this.C=b;this.b=c;this.u=a;(a=bc(a,"messages"))&&Gd(this,a);this.Cb=Ld;Nd(this,function(a){a:{var b=d.b.ka,c=a[0],g=a=0,k=b.length;if(c){a=X(Y(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.b.Y;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var n=b[g];n.type==c?l++||d.g("..."):(c=n.type,l=Tb[c],n&&d.g(q(n.id)+" %"+q(g<<d.b.Y)+" %%"+q(n.B)+" "+r(n.lb)+" "+r(n.size)+
|
||||
" "+l),c!=Nb&&(c=-1),l=0);a+=d.b.ja;g++}}});E(this)};
|
||||
m.na=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ba=this.S[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",nc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.H<d.F.length-1&&(b=d.F[++d.H]):40==a.keyCode&&(0<d.H?b=d.F[--d.H]:(b="",d.H=-1)),null!=b){var h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.S[b]=c,Ba(c,function(){if(d.Ba){var a=d.Ba.value;d.Ba.value=
|
||||
"";nc(d,a,!0);return!0}return!1}),!0;case "step":return this.S[b]=c,Ba(c,function(a){var b=!1;jb(d,!0)||(ib(d,!0),b=d.Ya(a?1:0),ib(d,!1));return b}),!0}return!1};m.kb=function(){this.Ba&&this.Ba.focus()};function X(a){a=a&&a.B;null==a&&(a=-1);return a}m.V=function(a,b){var c=255,d=X(a);-1!==d&&(c=vb(this.C,d),b&&Od(a,b));return c};m.mb=function(a,b){var c=65535,d=X(a);if(-1!==d){var c=this.C,e=d&c.u,f=(d&c.H)>>>c.Y,c=e!=c.u?c.C[f].yb(e,d):c.C[f++].jb(e,d)|c.C[f&c.X].jb(0,d+1)<<8;b&&Od(a,b)}return c};
|
||||
m.Ab=function(a,b,c){var d=X(a);if(-1!==d){var e=this.C;e.C[(d&e.H)>>>e.Y].$a(d&e.u,b&255,d);c&&Od(a,c);G(this.b,!0)}};m.Ub=function(a,b,c){var d=X(a);if(-1!==d){var e=this.C,f=d&e.u,h=(d&e.H)>>>e.Y;f!=e.u?e.C[h].zb(f,b&65535,d):(e.C[h++].$a(f,b&255,d),e.C[h&e.X].$a(0,b>>8&255,d+1));c&&Od(a,c);G(this.b,!0)}};function W(a){return{B:a||0,ua:!1}}function Pd(a){return[a.B,a.ua]}function Qd(a){return{B:a[0],ua:a[1]}}
|
||||
function Y(a,b,c){var d;c=(c?a.Z:a.Fb).B;if(void 0!==b){d=b=Rd(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.J.length;c++){var f=a.J[c].xa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Sd(a,b,void 0)}null!=c&&(d=W(c));return d}function Td(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Vb=Ud(a,b.Sb=c[2]))}function Od(a,b){null!=a.B&&(a.B+=b||1)}function Z(a){return q(a,4)}
|
||||
function Vd(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.V(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function Gd(a,b){a.D=a;a.ga=a.Wb=1073741824;a.Da=null;var c=Ud(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Md)0<=la(c,d)&&(a.ga|=Md[d],a.g(d+" messages enabled"))}function Nd(a,b){for(var c in Md)if(64==Md[c]){a.ab[c]=b;break}}
|
||||
function Wd(a,b){var c;a=a.toUpperCase();null==b?c=la(Kd,a):(c=la(Kd,a.substr(b,3)),0>c&&(c=la(Kd,a.substr(b,2))));return c}function Xd(a,b){var c=0,d=Yd(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:c=4}return c?q(d,c):"??"}
|
||||
function Yd(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.L;break;case 1:c=d.O;break;case 8:c=Ac(d);break;case 2:c=d.M;break;case 3:c=d.P;break;case 9:c=Cc(d);break;case 4:c=d.N;break;case 5:c=d.R;break;case 10:c=L(d);break;case 6:c=d.V(L(d));break;case 11:c=d.ba;break;case 12:c=d.K;break;case 13:c=d.j<<8|zc(d)&255}}return c}
|
||||
function Zd(a,b){b=Rd(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Wd(b,c+1),0<=e&&(b=b.substr(0,c)+Xd(a,e)+b.substr(c+1+Kd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Y(a,e))?(d=e+' "'+Vd(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Y(a,e))?(Od(d),d=e+' "'+
|
||||
Vd(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.K).B));if(!this.Da||a!=this.Da)if(this.Da=a,this.ga&-2147483648&&(this.ea(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Wa=0;c.F-=c.b;c.b=0;G(c)}};function gb(a,b,c,d,e,f,h,g){g|=256;null!=e&&(a.ga&g)!=g||a.message(b.bb+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+Z(e):""))}
|
||||
function Fd(a){var b;if(nd(a)){if(!a.X||!a.X.length){a.X=Array(1E3);for(b=0;b<a.X.length;b++)a.X[b]=W();a.ta=0;a.g("instruction history buffer allocated")}if(!a.T||!a.T.length)for(a.T=Array(256),b=0;b<a.T.length;b++)a.T[b]=[b,0]}else a.X&&a.X.length&&a.g("instruction history buffer freed"),a.ta=0,a.X=[],a.T=[]}m.La=function(a){if(!$d(this))return!1;this.b.La(a);return!0};
|
||||
m.Ya=function(a,b,c){if(!$d(this))return!1;this.U=0;a||nd(this)&&od(this,this.b.K,0);try{var d=this.b.Ya(a);0<d&&(this.U+=d,sc(this.b,d,!0),pc(this.b,d),this.oa++)}catch(e){"number"!=typeof e&&(this.U=0,lb(this.b,e.stack||e.message))}!1!==c&&G(this.b);this.qa(b||!1);return 0<this.U};m.ea=function(a){this.b&&this.b.ea(a)};m.qa=function(a){void 0===a&&(a=!0);this.Z=W(this.b.K);a&&1!=this.fa?ae(this):be(this)};
|
||||
function $d(a){var b;if(b=a.b&&kb(a.b))b=a.b,b.w.ha?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!jb(a.b)?(a=a.b,a.w.Pa?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.wa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.va=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Fd(this);this.oa=this.Ma=0;this.Da=null;this.U=0;this.Z=W(this.b.K);this.w.ia=!1;ce(this);a||this.qa()};
|
||||
m.save=function(){var a=new J(this);K(a,0,Pd(this.Z));K(a,1,Pd(this.pa));K(a,2,[this.F,this.sa,this.ga]);K(a,3,this.J);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.Z=Qd(a[b++]),this.pa=Qd(a[b++]),this.F=a[b][0],"string"==typeof this.F&&(this.F=[this.F]),this.sa=a[b][1],this.ga|=a[b][2]);a[3]&&(this.J=a[3]);return!0};m.start=function(a,b){this.fa||this.g("running");this.w.ia=!0;this.$b=a;this.ec=b};
|
||||
m.stop=function(a,b){if(this.w.ia){this.w.ia=!1;this.U=b-this.ec;if(!this.fa){var c="stopped";if(this.U){var d=a-this.$b,e=0<d?Math.round(1E3*this.U/d):0,c=c+" (";nd(this)&&(c+=this.oa+" opcodes, ",this.Ma-=this.oa,this.oa=0);c+=this.U+" cycles, "+d+" ms, "+e+" hz)"}else hb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.qa(!0);this.kb();ce(this,this.b.K)}};function nd(a){return 1<a.A.length||!!a.Ca}
|
||||
function od(a,b,c){var d=a.b;if(0<c&&(a.Ca&&!--a.Ca||Xb(a,b,1,a.A)))return!0;0<=c&&a.T.length&&(a.oa++,b=vb(a.C,b),null!=b&&(a.T[b][1]++,b=a.X[a.ta],b.B=d.K,b.ua=!1,++a.ta==a.X.length&&(a.ta=0)));return!1}function Fb(a,b,c){a.g("break on input from port "+r(b)+": "+q(c));a.ea(!0)}function Ib(a,b,c){a.g("break on output to port "+r(b)+": "+q(c));a.ea(!0)}
|
||||
function Ed(a){var b,c;a.A=["bp"];if(void 0!==a.ca)for(b=1;b<a.ca.length;b++){c=a.ca[b];var d=a.b;Yb(d.ka[X(c)>>>d.Y],!1)}a.ca=["br"];if(void 0!==a.I)for(b=1;b<a.I.length;b++)c=a.I[b],d=a.b,Yb(d.ka[X(c)>>>d.Y],!0);a.I=["bw"];a.Kb=0}m.Ea=function(a,b,c){var d=!0;c||de(this,a,b,!1,!0);if(a!=this.A){var e=X(b);if(-1===e)this.g("invalid address: "+Z(b.B)),d=!1;else{var f=this.b;f.ka[e>>>f.Y].Ea(e&f.H,a==this.I)}}d&&(a.push(b),c?b.ua=!0:(ee(this,a,a.length-1,"set"),Fd(this)));return d};
|
||||
function de(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==X(g)&&(!d||g.ua)){f=!0;g.ua||e||ee(a,b,h,"cleared");b.splice(h,1);b!=a.A&&(d=a.b,Yb(d.ka[c>>>d.Y],b==a.I));g.ua||Fd(a);break}}return f}function fe(a,b){for(var c=1;c<b.length;c++)ee(a,b,c);return b.length-1}function ee(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.B)+(d?" "+d:c.Sb?' "'+c.Sb+'"':""))}
|
||||
function ce(a,b){if(void 0!==b)Xb(a,b,1,a.A,!0),a.fa=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.ua){if(!de(a,a.A,d,!0))break;c=0}}}
|
||||
function Xb(a,b,c,d,e){var f=!1;if(!a.Kb++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.ua)for(var k=X(g),l=0;l<c;l++)if(b+l==k){var n,f=!0;g.ua&&(de(a,d,g,!0),e=!0);if(n=g.Vb){for(var f=!1,p=0;p<n.length;p++)if(!ge(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var z=p+1;z<n.length&&n[z].indexOf("else");z++)p++;if(z==n.length){f=!0;break}}a.b.w.ia||(f=!0)}if(f){e||ee(a,d,h,"hit");break}}}a.Kb--;return f}
|
||||
function he(a,b,c,d){for(var e=W(b.B),f=a.V(b,1),h=a.Cb[f],g="",k=(a.aa!=Dd?Id:Jd)[h[0]],l=h.length-1,n=0,p,z=1;z<=l;z++){var B="";p=h[z];if(void 0!==p&&!(p&16384&&8080==a.aa)){var v=p&240;if(v){var Da=p&15;Da?n=Da:p|=n;p&61440||(p|=1==z?8192:4096);if(v&32)a:{var B=a,v=p,Da=b,C=" ";switch(v&15){case 1:C=q(B.V(Da,1),2);break;case 2:C=q(B.V(Da,1)<<24>>24,4);break;case 3:C=q(B.mb(Da,2),4);break;default:B="imm("+r(v)+")";break a}B.aa==Dd&&v&64?C="["+C+"]":v&16||(C=(8080==B.aa?"$":"0x")+C);B=C}else v&
|
||||
16?(B=(p&3840)>>8,v=Kd[B],a.aa==Dd&&p&64&&(6==B&&(v="HL"),v="["+v+"]"),B=v):v&128&&(B=(f>>3&7).toString());if(!B||!B.length){g="INVALID";break}0<g.length&&(g+=",");g+=B||"???"}}}f="";h=Z(e.B)+" ";if(-1!==e.B&&-1!==b.B){do if(f+=q(a.V(e,1),2),null==e.B)break;while(e.B!=b.B)}h+=ga(f,10);h=h+(p&32768?"*":" ")+ga(k,7);g&&(h+=" "+g);c&&(h=ga(h,40)+";"+c,h=a.b.w.Oa?h+("cycles="+qc(a.b).toString()+" cs="+q(a.b.i.cb)):h+(null!=d?"="+d.toString():""));return h}
|
||||
function ie(a,b){var c;switch(b){case "I":c=a.b.ma&512;break;case "S":c=Ic(a.b);break;case "Z":c=Hc(a.b);break;case "A":c=Gc(a.b);break;case "P":c=Fc(a.b);break;case "C":c=Ec(a.b);break;default:c=0}return b+(c?"1":"0")+" "}function je(a,b){return Kd[b]+"="+Xd(a,b)+" "}function ke(a){return je(a,7)+je(a,8)+je(a,9)+je(a,10)+je(a,11)+je(a,13)+ie(a,"I")+ie(a,"S")+ie(a,"Z")+ie(a,"A")+ie(a,"P")+ie(a,"C")}
|
||||
var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function Le(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ha("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");za("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new Gd(d);eb(d,c)}});
|
||||
function Hd(a){u.call(this,"Debugger",a,Hd);this.aa=Id;this.ja=this.Ma=this.U=0;this.Y=W();this.Fb=W();this.H=-1;this.F=[];this.sa=!1;this.ka=W();this.J=[];this.ra={};this.A=this.ca=this.I=[];Jd(this);this.Ca=0;Kd(this);this.$a=[];Ld(this,a.messages);this.rb=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return oc(b,a)}):void 0===global.$&&(global.$=function(a){return oc(b,a)})}x(Hd);
|
||||
var Md={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},Id=8080,Nd="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),
|
||||
Od="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),Pd="B C D E H L M A BC DE HL SP PC PSW".split(" "),Qd=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],
|
||||
[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617],
|
||||
[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43,
|
||||
785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273],
|
||||
[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],
|
||||
[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],
|
||||
[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,18193,33],[65,128],[59],[50,3347],[35,51],[24],[12,51],[51,3347],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,
|
||||
18193,33],[65,128]],Rd={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};m=Hd.prototype;
|
||||
m.Aa=function(a,b,c,d){this.D=b;this.b=c;this.u=a;(a=lc(a,"messages"))&&Ld(this,a);this.Cb=Qd;Sd(this,function(a){a:{var b=d.b.la,c=a[0],g=a=0,k=b.length;if(c){a=X(Y(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.b.Z;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var n=b[g];n.type==c?l++||d.g("..."):(c=n.type,l=Ub[c],n&&d.g(q(n.id)+" %"+q(g<<d.b.Z)+" %%"+q(n.B)+" "+r(n.kb)+" "+r(n.size)+
|
||||
" "+l),c!=Ob&&(c=-1),l=0);a+=d.b.ma;g++}}});B(this)};
|
||||
m.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ba=this.T[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",oc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.H<d.F.length-1&&(b=d.F[++d.H]):40==a.keyCode&&(0<d.H?b=d.F[--d.H]:(b="",d.H=-1)),null!=b){var h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.T[b]=c,Ba(c,function(){if(d.Ba){var a=d.Ba.value;d.Ba.value=
|
||||
"";oc(d,a,!0);return!0}return!1}),!0;case "step":return this.T[b]=c,Ba(c,function(a){var b=!1;jb(d,!0)||(ib(d,!0),b=d.Ya(a?1:0),ib(d,!1));return b}),!0}return!1};m.jb=function(){this.Ba&&this.Ba.focus()};function X(a){a=a&&a.B;null==a&&(a=-1);return a}m.V=function(a,b){var c=255,d=X(a);-1!==d&&(c=vb(this.D,d),b&&Td(a,b));return c};m.mb=function(a,b){var c=65535,d=X(a);if(-1!==d){var c=this.D,e=d&c.F,f=(d&c.H)>>>c.Z,c=e!=c.F?c.D[f].yb(e,d):c.D[f++].ib(e,d)|c.D[f&c.W].ib(0,d+1)<<8;b&&Td(a,b)}return c};
|
||||
m.Ab=function(a,b,c){var d=X(a);-1!==d&&(wb(this.D,d,b),c&&Td(a,c),G(this.b,!0))};m.Ub=function(a,b,c){var d=X(a);if(-1!==d){var e=this.D,f=d&e.F,h=(d&e.H)>>>e.Z;f!=e.F?e.D[h].zb(f,b&65535,d):(e.D[h++].lb(f,b&255,d),e.D[h&e.W].lb(0,b>>8&255,d+1));c&&Td(a,c);G(this.b,!0)}};function W(a){return{B:a||0,ua:!1}}function Ud(a){return[a.B,a.ua]}function Vd(a){return{B:a[0],ua:a[1]}}
|
||||
function Y(a,b,c){var d;c=(c?a.Y:a.Fb).B;if(void 0!==b){d=b=Wd(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.J.length;c++){var f=a.J[c].xa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Xd(a,b,void 0)}null!=c&&(d=W(c));return d}function Yd(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Vb=Zd(a,b.Sb=c[2]))}function Td(a,b){null!=a.B&&(a.B+=b||1)}function Z(a){return q(a,4)}
|
||||
function $d(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.V(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function Ld(a,b){a.C=a;a.ga=a.Wb=1073741824;a.Da=null;var c=Zd(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Rd)0<=la(c,d)&&(a.ga|=Rd[d],a.g(d+" messages enabled"))}function Sd(a,b){for(var c in Rd)if(64==Rd[c]){a.$a[c]=b;break}}
|
||||
function ae(a,b){var c;a=a.toUpperCase();null==b?c=la(Pd,a):(c=la(Pd,a.substr(b,3)),0>c&&(c=la(Pd,a.substr(b,2))));return c}function be(a,b){var c=0,d=ce(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:c=4}return c?q(d,c):"??"}
|
||||
function ce(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.L;break;case 1:c=d.P;break;case 8:c=Dc(d);break;case 2:c=d.M;break;case 3:c=d.R;break;case 9:c=Fc(d);break;case 4:c=d.N;break;case 5:c=d.S;break;case 10:c=L(d);break;case 6:c=d.V(L(d));break;case 11:c=d.ba;break;case 12:c=d.O;break;case 13:c=d.j<<8|Cc(d)&255}}return c}
|
||||
function de(a,b){b=Wd(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=ae(b,c+1),0<=e&&(b=b.substr(0,c)+be(a,e)+b.substr(c+1+Pd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Y(a,e))?(d=e+' "'+$d(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Y(a,e))?(Td(d),d=e+' "'+
|
||||
$d(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.O).B));if(!this.Da||a!=this.Da)if(this.Da=a,this.ga&-2147483648&&(this.da(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Wa=0;c.F-=c.b;c.b=0;G(c)}};function gb(a,b,c,d,e,f,h,g){g|=256;null!=e&&(a.ga&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+Z(e):""))}
|
||||
function Kd(a){var b;if(qd(a)){if(!a.W||!a.W.length){a.W=Array(1E3);for(b=0;b<a.W.length;b++)a.W[b]=W();a.ta=0;a.g("instruction history buffer allocated")}if(!a.K||!a.K.length)for(a.K=Array(256),b=0;b<a.K.length;b++)a.K[b]=[b,0]}else a.W&&a.W.length&&a.g("instruction history buffer freed"),a.ta=0,a.W=[],a.K=[]}m.La=function(a){if(!ee(this))return!1;this.b.La(a);return!0};
|
||||
m.Ya=function(a,b,c){if(!ee(this))return!1;this.U=0;a||qd(this)&&rd(this,this.b.O,0);try{var d=this.b.Ya(a);0<d&&(this.U+=d,tc(this.b,d,!0),qc(this.b,d),this.ja++)}catch(e){"number"!=typeof e&&(this.U=0,lb(this.b,e.stack||e.message))}!1!==c&&G(this.b);this.qa(b||!1);return 0<this.U};m.da=function(a){this.b&&this.b.da(a)};m.qa=function(a){void 0===a&&(a=!0);this.Y=W(this.b.O);a&&1!=this.ea?fe(this):ge(this)};
|
||||
function ee(a){var b;if(b=a.b&&kb(a.b))b=a.b,b.w.ha?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!jb(a.b)?(a=a.b,a.w.Pa?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.wa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.va=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){Kd(this);this.ja=this.Ma=0;this.Da=null;this.U=0;this.Y=W(this.b.O);this.w.ia=!1;he(this);a||this.qa()};
|
||||
m.save=function(){var a=new I(this);K(a,0,Ud(this.Y));K(a,1,Ud(this.ka));K(a,2,[this.F,this.sa,this.ga]);K(a,3,this.J);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.Y=Vd(a[b++]),this.ka=Vd(a[b++]),this.F=a[b][0],"string"==typeof this.F&&(this.F=[this.F]),this.sa=a[b][1],this.ga|=a[b][2]);a[3]&&(this.J=a[3]);return!0};m.start=function(a,b){this.ea||this.g("running");this.w.ia=!0;this.$b=a;this.ec=b};
|
||||
m.stop=function(a,b){if(this.w.ia){this.w.ia=!1;this.U=b-this.ec;if(!this.ea){var c="stopped";if(this.U){var d=a-this.$b,e=0<d?Math.round(1E3*this.U/d):0,c=c+" (";qd(this)&&(c+=this.ja+" opcodes, ",this.Ma-=this.ja,this.ja=0);c+=this.U+" cycles, "+d+" ms, "+e+" hz)"}else hb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.qa(!0);this.jb();he(this,this.b.O)}};function qd(a){return 1<a.A.length||!!a.Ca}
|
||||
function rd(a,b,c){var d=a.b;if(0<c&&(a.Ca&&!--a.Ca||Yb(a,b,1,a.A)))return!0;0<=c&&a.K.length&&(a.ja++,b=vb(a.D,b),null!=b&&(a.K[b][1]++,b=a.W[a.ta],b.B=d.O,b.ua=!1,++a.ta==a.W.length&&(a.ta=0)));return!1}function Gb(a,b,c){a.g("break on input from port "+r(b)+": "+q(c));a.da(!0)}function Jb(a,b,c){a.g("break on output to port "+r(b)+": "+q(c));a.da(!0)}
|
||||
function Jd(a){var b,c;a.A=["bp"];if(void 0!==a.ca)for(b=1;b<a.ca.length;b++){c=a.ca[b];var d=a.b;Zb(d.la[X(c)>>>d.Z],!1)}a.ca=["br"];if(void 0!==a.I)for(b=1;b<a.I.length;b++)c=a.I[b],d=a.b,Zb(d.la[X(c)>>>d.Z],!0);a.I=["bw"];a.Kb=0}m.Ea=function(a,b,c){var d=!0;c||ie(this,a,b,!1,!0);if(a!=this.A){var e=X(b);if(-1===e)this.g("invalid address: "+Z(b.B)),d=!1;else{var f=this.b;f.la[e>>>f.Z].Ea(e&f.H,a==this.I)}}d&&(a.push(b),c?b.ua=!0:(je(this,a,a.length-1,"set"),Kd(this)));return d};
|
||||
function ie(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==X(g)&&(!d||g.ua)){f=!0;g.ua||e||je(a,b,h,"cleared");b.splice(h,1);b!=a.A&&(d=a.b,Zb(d.la[c>>>d.Z],b==a.I));g.ua||Kd(a);break}}return f}function ke(a,b){for(var c=1;c<b.length;c++)je(a,b,c);return b.length-1}function je(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.B)+(d?" "+d:c.Sb?' "'+c.Sb+'"':""))}
|
||||
function he(a,b){if(void 0!==b)Yb(a,b,1,a.A,!0),a.ea=0;else for(var c=1;c<a.A.length;c++){var d=a.A[c];if(d.ua){if(!ie(a,a.A,d,!0))break;c=0}}}
|
||||
function Yb(a,b,c,d,e){var f=!1;if(!a.Kb++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.ua)for(var k=X(g),l=0;l<c;l++)if(b+l==k){var n,f=!0;g.ua&&(ie(a,d,g,!0),e=!0);if(n=g.Vb){for(var f=!1,p=0;p<n.length;p++)if(!le(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var z=p+1;z<n.length&&n[z].indexOf("else");z++)p++;if(z==n.length){f=!0;break}}a.b.w.ia||(f=!0)}if(f){e||je(a,d,h,"hit");break}}}a.Kb--;return f}
|
||||
function me(a,b,c,d){for(var e=W(b.B),f=a.V(b,1),h=a.Cb[f],g="",k=(8086!=a.aa?Nd:Od)[h[0]],l=h.length-1,n=0,p,z=1;z<=l;z++){var C="";p=h[z];if(void 0!==p&&!(p&16384&&a.aa==Id)){var v=p&240;if(v){var Ea=p&15;Ea?n=Ea:p|=n;p&61440||(p|=1==z?8192:4096);if(v&32)a:{var C=a,v=p,Ea=b,D=" ";switch(v&15){case 1:D=q(C.V(Ea,1),2);break;case 2:D=q(C.V(Ea,1)<<24>>24,4);break;case 3:D=q(C.mb(Ea,2),4);break;default:C="imm("+r(v)+")";break a}8086==C.aa&&v&64?D="["+D+"]":v&16||(D=(C.aa==Id?"$":"0x")+D);C=D}else v&
|
||||
16?(C=(p&3840)>>8,v=Pd[C],8086==a.aa&&p&64&&(6==C&&(v="HL"),v="["+v+"]"),C=v):v&128&&(C=(f>>3&7).toString());if(!C||!C.length){g="INVALID";break}0<g.length&&(g+=",");g+=C||"???"}}}f="";h=Z(e.B)+" ";if(-1!==e.B&&-1!==b.B){do if(f+=q(a.V(e,1),2),null==e.B)break;while(e.B!=b.B)}h+=ga(f,10);h=h+(p&32768?"*":" ")+ga(k,7);g&&(h+=" "+g);c&&(h=ga(h,40)+";"+c,h=a.b.w.Oa?h+("cycles="+rc(a.b).toString()+" cs="+q(a.b.i.bb)):h+(null!=d?"="+d.toString():""));return h}
|
||||
function Me(a,b){var c;switch(b){case "I":c=a.b.oa&512;break;case "S":c=Lc(a.b);break;case "Z":c=Kc(a.b);break;case "A":c=Jc(a.b);break;case "P":c=Ic(a.b);break;case "C":c=Hc(a.b);break;default:c=0}return b+(c?"1":"0")+" "}function Ne(a,b){return Pd[b]+"="+be(a,b)+" "}function Oe(a){return Ne(a,7)+Ne(a,8)+Ne(a,9)+Ne(a,10)+Ne(a,11)+Me(a,"I")+Me(a,"S")+Me(a,"Z")+Me(a,"A")+Me(a,"P")+Me(a,"C")}
|
||||
var Pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function Qe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||
function Sd(a,b,c){var d;if(b){b=Rd(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],p=n.length,n=ha(n);if(!n){f=!0;break}n=Me(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}g.push(n);if(e==l.length)break;var n=l[e++],z=n.length;k.length&&Ke[n]<Ke[k[k.length-1]]&&Le(g,k,1);k.push(n);b=b.substr(p+z)}Le(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&Ne(a,null,
|
||||
d))}return d}function Rd(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Sd(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?q(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Y(a,c[1]),b=b.replace("["+c[1]+"]",d?q(a.mb(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.oa-a.Ma}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
|
||||
function Me(a,b,c,d){var e;void 0!==b?(e=Wd(b),0<=e?e=Yd(a,e):(e=a.ra[b],void 0===e&&(e=aa(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
|
||||
function Ne(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,n="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function Oe(a,b){if(b)return Ne(a,b,a.ra[b]);var c=0;for(b in a.ra)Ne(a,b,a.ra[b]),c++;return 0<c}Cd.prototype.Eb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Pe(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b<a.J.length;b++){var f=a.J[b],h=f.B>>>0,g=f.gc;if(e>=h&&e<h+g){e=ia(f.Bb,[e-h],a.Eb);0<=e?Qe(a,b,e,d):c&&(e=~e,Qe(a,b,e-1,d),Qe(a,b,e,d));break}}return d}function Qe(a,b,c,d){var e={},f=a.J[b].Bb,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.J[b].xa[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
|
||||
function Re(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c,d=0;if(a.T)if("clear"==b){for(c=0;c<a.T.length;c++)a.T[c]=[c,0];a.g("frequency data cleared");d++}else if(void 0!==b)a.g("unknown frequency command: "+b),d++;else{var e=a.T.slice();e.sort(function(a,b){return b[1]-a[1]});var f=a.aa!=Dd?Id:Jd;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Cb[h][0]]+" ").substr(0,5)+" ("+("0x"+q(h,2))+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}}
|
||||
function Se(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Oe(a)||a.g("no variables"),!0;if(!c[2])return Oe(a,c[1]);if(!c[3])return delete a.ra[c[1]],!0;var d=Sd(a,c[3]);return void 0!==d?(a.ra[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1}
|
||||
function Te(a,b,c){var d=null;if(b=Y(a,b,!0)){var e=Pe(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.B-e[1])&&(h=" + "+r(f)),f=e[0]+" ("+Z(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.B)&&(h=" - "+r(f)),f=e[4]+" ("+Z(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
|
||||
function Ue(a,b){switch(b[1]){case "8080":a.aa=8080;break;case "8086":a.aa=Dd;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.i.Ta=c;break;case "start":a.b.i.eb=c;break;case "stop":a.b.i.Va=c;break;default:a.g("unknown cs option");return}void 0!==c&&mc(a.b);a.g("checksums "+(a.b.w.Oa?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(rc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Ha.toFixed(2)+"Mhz")+" ("+
|
||||
function Xd(a,b,c){var d;if(b){b=Wd(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],p=n.length,n=ha(n);if(!n){f=!0;break}n=Re(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}g.push(n);if(e==l.length)break;var n=l[e++],z=n.length;k.length&&Pe[n]<Pe[k[k.length-1]]&&Qe(g,k,1);k.push(n);b=b.substr(p+z)}Qe(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&Se(a,null,
|
||||
d))}return d}function Wd(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Xd(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?q(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Y(a,c[1]),b=b.replace("["+c[1]+"]",d?q(a.mb(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.ja-a.Ma}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
|
||||
function Re(a,b,c,d){var e;void 0!==b?(e=ae(b),0<=e?e=ce(a,e):(e=a.ra[b],void 0===e&&(e=aa(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
|
||||
function Se(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,n="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function Te(a,b){if(b)return Se(a,b,a.ra[b]);var c=0;for(b in a.ra)Se(a,b,a.ra[b]),c++;return 0<c}Hd.prototype.Eb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Ue(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b<a.J.length;b++){var f=a.J[b],h=f.B>>>0,g=f.gc;if(e>=h&&e<h+g){e=ia(f.Bb,[e-h],a.Eb);0<=e?Ve(a,b,e,d):c&&(e=~e,Ve(a,b,e-1,d),Ve(a,b,e,d));break}}return d}function Ve(a,b,c,d){var e={},f=a.J[b].Bb,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.J[b].xa[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
|
||||
function We(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c,d=0;if(a.K)if("clear"==b){for(c=0;c<a.K.length;c++)a.K[c]=[c,0];a.g("frequency data cleared");d++}else if(void 0!==b)a.g("unknown frequency command: "+b),d++;else{var e=a.K.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.aa?Nd:Od;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Cb[h][0]]+" ").substr(0,5)+" ("+("0x"+q(h,2))+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}}
|
||||
function Xe(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Te(a)||a.g("no variables"),!0;if(!c[2])return Te(a,c[1]);if(!c[3])return delete a.ra[c[1]],!0;var d=Xd(a,c[3]);return void 0!==d?(a.ra[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1}
|
||||
function Ye(a,b,c){var d=null;if(b=Y(a,b,!0)){var e=Ue(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.B-e[1])&&(h=" + "+r(f)),f=e[0]+" ("+Z(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.B)&&(h=" - "+r(f)),f=e[4]+" ("+Z(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
|
||||
function Ze(a,b){switch(b[1]){case "8080":a.aa=Id;break;case "8086":a.aa=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.i.Ta=c;break;case "start":a.b.i.cb=c;break;case "stop":a.b.i.Va=c;break;default:a.g("unknown cs option");return}void 0!==c&&nc(a.b);a.g("checksums "+(a.b.w.Oa?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(sc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Ha.toFixed(2)+"Mhz")+" ("+
|
||||
a.b.i.Ja+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.aa+"-style mnemonics enabled")}
|
||||
function ae(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=Sd(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.L=g&255;break;case "BC":d.L=g>>8&255;case "C":d.O=g&255;break;case "D":d.M=
|
||||
g&255;break;case "DE":d.M=g>>8&255;case "E":d.P=g&255;break;case "H":d.N=g&255;break;case "HL":d.N=g>>8&255;case "L":d.R=g&255;break;case "SP":d.ba=g&65535;break;case "PC":H(d,g);a.Z=W(d.K);break;case "PS":yc(d,g);break;case "C":d.G=g?d.G|256:d.G&255;break;case "P":g?Fc(d)||(d.W^=1):Fc(d)&&(d.W^=1);break;case "A":d.da=g?~d.W&16|d.da&-17:d.W&16|d.da&-17;break;case "Z":d.G=g?d.G&-256:d.G|255;break;case "S":g?Ic(d)||(d.W^=192):Ic(d)&&(d.W^=192);break;case "I":d.ma=g?d.ma|512:d.ma&-513;break;default:a.g("unknown register: "+
|
||||
e);return}if(!h){a.g("invalid value: "+f);return}G(d);a.g("updated registers:")}a.g(ke(a));c&&(a.Z=W(d.K),be(a,Z(a.Z.B)))}}function Ve(a,b){b=ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Zd(a,c[2])):Sd(a,b,!0)}function We(a,b,c){var d="t"!=b;c=Me(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Aa(c,function(){return ib(a,!0)&&a.Ya(e,d,!1)},function(){G(a.b);ib(a,!1)})}
|
||||
function be(a,b,c,d){if(b=Y(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Y(a,c,!0);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=jb(a,!1)||a.fa?a.U:null;var h=null!=f?"cycles":null,g=Pe(a,b),k=b.B;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=he(a,b,h,f);a.g(f);a.Z=b;e-=b.B-k;c++}}}
|
||||
function Ud(a,b,c,d){if(c)if(b){0>a.H&&a.F.length&&(a.H=0);if(0>a.H||b!=a.F[a.H])a.F.splice(0,0,b),a.H=0;a.H--}else b=a.F[a.H+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ha(b.substring(c,f))),c=f+1}}return a}
|
||||
function ge(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.sa&&(a.g("ended assemble at "+Z(a.pa.B)),a.Z=a.pa,a.sa=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Da=null;if(kb(a)&&0<b.length){a.sa&&(b="a "+Z(a.pa.B)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var n=Y(a,f[1],!0);if(n)if(a.pa=
|
||||
n,void 0===f[2])a.g("begin assemble at "+Z(n.B)),a.sa=!0,G(a.b);else{var p;a.g("not supported yet");p=[];if(p.length){for(var z=0;z<p.length;z++)a.Ab(n,p[z],1);a.g(he(a,a.pa))}}break;case "b":a:{var B=f[0],v=f[1],Da=b;if("?"==v)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),
|
||||
a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var C=B.charAt(1);if("l"==C){var ab=0,ab=ab+fe(a,a.A),ab=ab+fe(a,a.ca);(ab+=fe(a,a.I))||a.g("no breakpoints")}else if("n"==C)a.Ca=Me(a,v),a.g("break after "+a.Ca+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var I=W();if("*"!=v&&(I=Y(a,v,!0),!I))break a;v=r(I.B);"c"==C?null==I.B?(Ed(a),a.g("all breakpoints cleared")):de(a,a.A,I)||de(a,
|
||||
a.ca,I)||de(a,a.I,I)||a.g("breakpoint missing: "+Z(I.B)):"i"==C?a.g("breakpoint "+(wb(a.C,I.B)?"enabled":"cleared")+": port "+v+" (input)"):"o"==C?a.g("breakpoint "+(Gb(a.C,I.B)?"enabled":"cleared")+": port "+v+" (output)"):null!=I.B&&(Td(a,I,Da),"p"==C?a.Ea(a.A,I):"r"==C?a.Ea(a.ca,I):"w"==C?a.Ea(a.I,I):a.g("unknown breakpoint command: "+C))}}}break;case "c":a.Fa&&(a.Fa.value="");break;case "d":a:{var bb,cb=f[0],ra=f[1],Ja=f[2],sf=f[3];if("?"==ra){var sa="";for(bb in Md)a.ab[bb]&&(sa&&(sa+=","),sa+=
|
||||
bb);sa+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");sa.length&&a.g("dump extension commands:\n\t"+sa)}else if("state"==ra){var le=Xe(a.u,!0);"console"==Ja?console.log(le):(a.Fa&&(a.Fa.value=""),a.g(le))}else if("symbols"==ra)for(var Nc=0;Nc<a.J.length;Nc++){var Oc=a.J[Nc],eb;for(eb in Oc.xa)if("."!=
|
||||
eb.charAt(0)){var me=Oc.xa[eb].o;if(void 0!==me){var ne=Oc.xa[eb].l;ne&&(eb=ne);a.g(Z(me)+" "+eb)}}}else{if("d"==cb){for(bb in Md)if(f[1]==bb){var oe=a.ab[bb];oe?(f.shift(),f.shift(),oe(f)):a.g("no dump registered for "+ra);break a}ra||(cb=a.fc||"db")}else a.fc=cb;if("dh"==cb){var pe=ra,qe=Ja,re="",se=0,Q=a.ta,ta=a.X;if(ta.length){var U=+pe||a.Lb,fb=+qe||10;isNaN(U)?U=fb:re="more ";U>ta.length&&(a.g("note: only "+ta.length+" available"),U=ta.length);Q-=U;0>Q&&(null==ta[ta.length-1].B?(U=Q+U,Q=0):
|
||||
Q+=ta.length);var Pc=[];"call"==qe&&(fb=1E5,Pc=["CALL"]);for(void 0!==pe&&a.g(U+" instructions earlier:");0<fb&&Q!=a.ta;){var te=ta[Q++];if(null==te.B)break;var yb=W(te.B),tf=U--,ue=he(a,yb,"history",tf);(!Pc.length||0<=ue.indexOf(Pc[0]))&&a.g(ue);yb.sb&&(Q+=yb.sb,fb-=yb.sb,U-=yb.sb);Q>=ta.length&&(Q=0);a.Lb=U;se++;fb--}}se||(a.g("no "+re+"history available"),a.Lb=void 0)}else{var cc=Y(a,ra);if(cc){var dc=0;Ja&&("l"==Ja.charAt(0)&&(Ja=Ja.substr(1)||sf),dc=Me(a,Ja)>>>0,65536<dc&&(dc=65536));for(var Ka=
|
||||
"",uf=(dc||128)+15>>4||1,Qc="dd"==cb?4:"dw"==cb?2:1,ve=0;ve<uf;ve++){for(var ec=0,Rc=0,zb="",Sc="",ra=Z(cc.B),Tc=0;16>Tc;Tc++){var fc=a.V(cc,1),ec=ec|fc<<(Rc++<<3);Rc==Qc&&(zb+=q(ec,2*Qc),zb+=1==Qc?7==Tc?"-":" ":" ",ec=Rc=0);Sc+=32<=fc&&128>fc?String.fromCharCode(fc):"."}Ka&&(Ka+="\n");Ka+=ra+" "+zb+" "+Sc}Ka&&a.g(Ka);a.Fb=cc}}}}break;case "e":if("else"==f[0])break;var gc=1,we=255,xe=a.V,ye=a.Ab;"ew"==f[0]&&(gc=2,we=65535,xe=a.mb,ye=a.Ub);var ze=gc<<1,Ae=f[1];if(null==Ae)a.g("edit memory commands:"),
|
||||
a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var hc=Y(a,Ae);if(hc)for(var ic=2;ic<f.length;ic++){var Ab=Sd(a,f[ic]);if(void 0===Ab){a.g("unrecognized value: "+f[ic]);break}Ab&~we&&a.g("warning: "+q(Ab)+" exceeds "+gc+"-byte value");var vf=xe.call(a,hc);a.g("changing "+Z(hc.B)+" from 0x"+q(vf,ze)+" to 0x"+q(Ab,ze));ye.call(a,hc,Ab,gc)}}break;case "f":Re(a,f[1]);break;case "g":a:{var Be=f[1],wf=b;if(void 0!==Be){var Uc=Y(a,Be,!0);if(!Uc)break a;
|
||||
Td(a,Uc,wf);a.Ea(a.A,Uc,!0)}a.La(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":var Vc;a.w.ia?(Vc="halting",a.ea()):Vc="already halted";c||a.g(Vc);break;case "i":if("if"==f[0]){var Wc;var Bb=b.substr(2),Bb=ha(Bb);Sd(a,Bb)?(c||a.g("true: "+Bb),Wc=!0):(c||a.g("false: "+Bb),Wc=!1);Wc||(d=!1);break}var Xc=f[1];if(Xc&&"?"!=Xc){var Yc=Me(a,Xc);if(void 0!==Yc){var xf=xb(a.C,Yc);a.g(r(Yc)+": "+("0x"+q(xf,2)))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");
|
||||
break;case "k":var yf=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Zc=0,Ce=W(),Cb=W(a.b.ba);for(a.g("stack trace for "+Z(Cb.B));10>Zc;){for(var La=null,zf=256;65536>Cb.B>>>0;){Ce.B=a.mb(Cb,2);if(null==Cb.B||!zf--)break;for(var Af=a,jc=Ce,De=null,Db=jc.B,Ee=Db,$c=1;6>=$c&&Db;$c++){if(2<$c){jc.B=Db;var kc=he(Af,jc);if(0<kc.indexOf("CALL")){var Fe=kc.indexOf(" ");if(Db+(kc.indexOf(" ",Fe+1)-Fe-1)/2==Ee){De=kc;break}}}Db--}jc.B=
|
||||
Ee;if(La=De)break}if(!La||null==La)break;var Ge=null;if("ks"==yf){var He=La.match(/[0-9A-F]+$/);He&&(Ge=Te(a,He[0]))}La=ga(La,50)+" ;"+(Ge||"stack="+Z(Cb.B));a.g(La);Zc++}Zc||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Te(a,f[1],!0);break}break;case "m":a:{var ua,va=null,D=f[1];"?"==D&&(D=void 0);if(void 0!==D){var Ma=0;if("all"==D)Ma=1610481663,D=null;else if("on"==D)va=!0,D=null;else if("off"==D)va=!1,D=null;else{"keys"==D&&(D="key");"kbd"==D&&(D="keyboard");for(ua in Md)if(D==
|
||||
ua){Ma=Md[ua];va=!!(a.ga&Ma);break}if(!Ma){a.g("unknown message category: "+D);break a}}Ma&&("on"==f[2]?(a.ga|=Ma,va=!0):"off"==f[2]&&(a.ga&=~Ma,va=!1))}var Bf=0,Ea="";for(ua in Md)if(!D||D==ua){var Cf=!!(a.ga&Md[ua]);if(null===va||va==Cf)Ea&&(Ea+=","),++Bf%10||(Ea+="\n\t"),"key"==ua&&(ua="keys"),Ea+=ua}void 0===D&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==va?va?"messages on: ":"messages off: ":"message categories:\n\t")+(Ea||"none"));Fd(a)}break;case "o":var ad=
|
||||
f[1],Df=f[2];if(ad&&"?"!=ad){var bd=Me(a,ad,"port #"),cd=Me(a,Df);void 0!==bd&&void 0!==cd&&(Hb(a.C,bd,cd),a.g(r(bd)+": "+("0x"+q(cd,2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){Ve(a,b.substr(5));break}var Ie="pr"==f[0]?1:0,Ef=1+Ie;if(a.fa)a.g("step in progress");else{var dd=W(a.b.K);switch(a.V(dd)){case 205:a.fa=Ef,Od(dd,3)}a.fa?(a.Ea(a.A,dd,!0),a.La()||(a.u&&a.u.kb(),a.fa=
|
||||
0)):We(a,Ie?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}ae(a,f);break;case "s":Ue(a,f);break;case "t":We(a,f[0],f[1]);break;case "u":be(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Se(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.21.7 ("+a.b.Ra+",RELEASE"+(mb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(oa());break;case "?":if(f[1]){Ve(a,b.substr(1));break}var Eb="commands:",ed;for(ed in Hd)Eb+="\n"+ga(ed,7)+Hd[ed];nd(a)||(Eb+="\nnote: frequency/history disabled if no exec breakpoints");
|
||||
a.g(Eb);break;default:a.g("unknown command: "+b),d=!1}}}catch(Je){a.g("debugger error: "+(Je.stack||Je.message)),d=!1}return d}function nc(a,b,c){b=Ud(a,b,c);for(var d in b)if(!ge(a,b[d]))return!1;return!0}Ia(function(){for(var a=A(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Cd(d);$a(d,c)}});function J(a,b,c){this.id=a.id;this.key=Ye(a,b,c);this.D=a.D;Ze(this,a.Qb)}
|
||||
function Ye(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}
|
||||
J.prototype={constructor:J,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Ze(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(e){}b.splice(c,1);c=0}}};
|
||||
function Ze(a,b){a[a.id]={};b&&K(a,"parms",b);a.b=!1}function $e(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function af(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function bf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:wa()&&(b=xa(a.key))?(a[a.id]=b,a.b=!0):!1}function cf(a,b){return a[a.id][b]||null}function K(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function df(a,b,c){u.call(this,"Computer",a,df,67108864);this.w.ha=!1;ef(this,b);this.ca=bc(this,"autoPower",a);this.F=0;this.sa=a.busWidth||a.buswidth;this.u=ff;this.X=null;this.J=this.ra=!1;this.ta=bc(this,"url")||"";(Math.random()+.1).toString(36);this.A=gf(this);if(this.b=Za("CPU",this.id)){this.D=Za("Debugger",this.id);this.aa=[];for(b=null;b=pb(this,"Video",b);)this.aa.push(b);this.C=new rb({id:this.Hb+".bus",buswidth:this.sa},this.b,this.D);var d,e=Ya(this.id);if((this.H=Za("Panel",this.id))&&
|
||||
this.H.Fa)for(b=0;b<e.length;b++)d=e[b],d.la=this.H.la,d.g=this.H.g,d.Fa=this.H.Fa;for(b=0;b<e.length;b++)d=e[b],d.Aa&&d.Aa(this,this.C,this.b,this.D);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.U=d:this.u=parseInt(d,10));var f;if(a=bc(this,"state")||(f=!0,a.state))b=this.fa=a,f||(this.J=!0,this.u=ff),this.u&&(this.Z=new J(this,hf),bf(this.Z)?b=null:delete this.Z);!b&&this.u&&(b=jf(this))&&(this.J=!0);if(b){var h=this;ma(b,null,!0,function(a,b,c){c?(h.U=null,h.J=!1,h.la("Unable to load machine state from server (error "+
|
||||
c+(b?": "+ha(b):"")+")")):(h.X=b,h.ra=!0);E(h)})}else E(this);this.S.power||(this.ca=!0);!c&&this.ca&&kf(this,this.ib)}else t("Unable to find CPU component")}x(df);var hf="1.21.7",ff=0;function ef(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.T=b}
|
||||
function bc(a,b,c){var d=b.toLowerCase(),d=Ra[b]||Ra[d];void 0===d&&a.T&&(d=a.T[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function kf(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!kb(f)){kb(f,function(){kf(a,b,c)});return}}b.call(a,c)}
|
||||
function lf(a,b){var c=new J(a,hf,"validate");if(bf(c)&&af(c)){var d=cf(c,"timestamp"),e=b?cf(b,"timestamp"):"unknown";d!=e&&(a.la("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=df.prototype;
|
||||
m.ib=function(a){void 0===a&&(a=this.u||(this.X?1:ff));if(!this.F){this.F++;var b=!1,c=!1;this.pa=!1;var d=this.Z||new J(this,hf);if(-1==a)b=!0;else if(a>ff){if(bf(d,this.X)){this.I=new J(this,hf,"failsafe");bf(this.I)&&(mf(this,d),a=2,Ze(this.I));K(this.I,"timestamp",ka());$e(this.I);var e=this.u&&!this.J;if(1==a||pa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=af(d)){var f=cf(d,"code"),h=cf(d,"data");f&&("ok"==f?bf(d,h):("error"==f&&"no machine state"!=
|
||||
h?(this.la("Error: "+h),"unable to verify user"==h&&(ya("user",""),this.A=null)):this.g(f+": "+h),Ze(d),bf(d)?(c=af(d),e=!0):c=!1))}e&&lf(this,c?d:null)}else 2==a&&d.clear()}else lf(this);delete this.X;delete this.Z}e=Ya(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=nf(this,h,d,b,c));b=[d,a,c];-1!=a?kf(this,this.Gb,b):this.Gb(b)}};
|
||||
function nf(a,b,c,d,e){if(!b.w.ha){b.w.ha=!0;if(b.wa){var f=null;e&&((f=cf(c,b.id))||(f=cf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.wa(f,d)&&f&&(t("Unable to restore state for "+b.type),a.fa&&!a.ra?(c.clear(),a.u=ff,window&&window.location.reload()):a.pa=!0,b.wa(null),e=!1)}if(!d&&b.Db)for(a=b.Db.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
m.Gb=function(a){var b=a[0],c=0>a[1];a=a[2];this.w.ha=!0;var d=this.S.power;d&&(d.textContent="Shutdown");this.oa||(this.g("PC8080 v"+hf+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.oa=!0);this.b&&(nf(this,this.b,b,c,a),oc(this.b));this.pa&&(mf(this,b),b.clear());!c&&this.I&&(this.I.clear(),delete this.I);this.F=0};
|
||||
function mf(a,b){if(pa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.ta,d=a.A||"",e=b.toString(),f={app:"PC8080"};f.ver=hf;f.url=c;f.user=d;f.type="bug";f.data=e;ma("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
function Xe(a,b,c){var d,e="none";if(a.F)return null;a.F--;var f=new J(a,hf),h=new J(a,hf,"validate"),g=ka();K(h,"timestamp",g);K(f,"timestamp",g);K(f,"version","1.21.7");K(f,"url",window?window.location.href:null);K(f,"browser",oa());a.b&&a.b.va&&(c&&a.b.ea(),d=a.b.va(b,c),"object"===typeof d&&K(f,a.b.id,d),c&&(a.b.w.ha=!1,!1===d&&(e=null)));for(var g=Ya(a.id),k=0;k<g.length;k++){var l=g[k];l.w.ha&&(l.va&&(d=l.va(b,c),"object"===typeof d&&K(f,l.id,d)),c&&(l.w.ha=!1,!1===d&&(e=null)))}e&&(c?(g=d=
|
||||
!1,b?(a.A&&of(a,a.A,f.toString()),$e(h)&&$e(f)||(e=null,d=g=!0)):a.u&&(d=!0,g=3==a.u),d&&f.clear(g)):e=f.toString());c&&(a.w.ha=!1,b=a.S.power)&&(b.textContent="Power");a.F=0;return e}m.reset=function(){this.C&&this.C.reset&&(this.D&&hb(this,0)&&this.D.message("Resetting "+this.C.type,void 0),this.C.reset());for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.C&&c.reset&&(this.D&&hb(this,0)&&this.D.message("Resetting "+c.type,void 0),c.reset())}};
|
||||
function fe(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=Xd(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.L=g&255;break;case "BC":d.L=g>>8&255;case "C":d.P=g&255;break;case "D":d.M=
|
||||
g&255;break;case "DE":d.M=g>>8&255;case "E":d.R=g&255;break;case "H":d.N=g&255;break;case "HL":d.N=g>>8&255;case "L":d.S=g&255;break;case "SP":d.ba=g&65535;break;case "PC":H(d,g);a.Y=W(d.O);break;case "PS":Ac(d,g);break;case "C":d.G=g?d.G|256:d.G&255;break;case "P":g?Ic(d)||(d.X^=1):Ic(d)&&(d.X^=1);break;case "A":d.fa=g?~d.X&16|d.fa&-17:d.X&16|d.fa&-17;break;case "Z":d.G=g?d.G&-256:d.G|255;break;case "S":g?Lc(d)||(d.X^=192):Lc(d)&&(d.X^=192);break;case "I":d.oa=g?d.oa|512:d.oa&-513;break;default:a.g("unknown register: "+
|
||||
e);return}if(!h){a.g("invalid value: "+f);return}G(d);a.g("updated registers:")}a.g(Oe(a));c&&(a.Y=W(d.O),ge(a,Z(a.Y.B)))}}function $e(a,b){b=ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(de(a,c[2])):Xd(a,b,!0)}function af(a,b,c){var d="t"!=b;c=Re(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Aa(c,function(){return ib(a,!0)&&a.Ya(e,d,!1)},function(){G(a.b);ib(a,!1)})}
|
||||
function ge(a,b,c,d){if(b=Y(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Y(a,c,!0);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=jb(a,!1)||a.ea?a.U:null;var h=null!=f?"cycles":null,g=Ue(a,b),k=b.B;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=me(a,b,h,f);a.g(f);a.Y=b;e-=b.B-k;c++}}}
|
||||
function Zd(a,b,c,d){if(c)if(b){0>a.H&&a.F.length&&(a.H=0);if(0>a.H||b!=a.F[a.H])a.F.splice(0,0,b),a.H=0;a.H--}else b=a.F[a.H+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ha(b.substring(c,f))),c=f+1}}return a}
|
||||
function le(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.sa&&(a.g("ended assemble at "+Z(a.ka.B)),a.Y=a.ka,a.sa=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Da=null;if(kb(a)&&0<b.length){a.sa&&(b="a "+Z(a.ka.B)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var n=Y(a,f[1],!0);if(n)if(a.ka=
|
||||
n,void 0===f[2])a.g("begin assemble at "+Z(n.B)),a.sa=!0,G(a.b);else{var p;a.g("not supported yet");p=[];if(p.length){for(var z=0;z<p.length;z++)a.Ab(n,p[z],1);a.g(me(a,a.ka))}}break;case "b":a:{var C=f[0],v=f[1],Ea=b;if("?"==v)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),
|
||||
a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var D=C.charAt(1);if("l"==D){var Za=0,Za=Za+ke(a,a.A),Za=Za+ke(a,a.ca);(Za+=ke(a,a.I))||a.g("no breakpoints")}else if("n"==D)a.Ca=Re(a,v),a.g("break after "+a.Ca+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var J=W();if("*"!=v&&(J=Y(a,v,!0),!J))break a;v=r(J.B);"c"==D?null==J.B?(Jd(a),a.g("all breakpoints cleared")):ie(a,a.A,J)||ie(a,
|
||||
a.ca,J)||ie(a,a.I,J)||a.g("breakpoint missing: "+Z(J.B)):"i"==D?a.g("breakpoint "+(Eb(a.D,J.B)?"enabled":"cleared")+": port "+v+" (input)"):"o"==D?a.g("breakpoint "+(Hb(a.D,J.B)?"enabled":"cleared")+": port "+v+" (output)"):null!=J.B&&(Yd(a,J,Ea),"p"==D?a.Ea(a.A,J):"r"==D?a.Ea(a.ca,J):"w"==D?a.Ea(a.I,J):a.g("unknown breakpoint command: "+D))}}}break;case "c":a.Fa&&(a.Fa.value="");break;case "d":a:{var $a,ab=f[0],sa=f[1],Ja=f[2],xf=f[3];if("?"==sa){var ta="";for($a in Rd)a.$a[$a]&&(ta&&(ta+=","),ta+=
|
||||
$a);ta+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");ta.length&&a.g("dump extension commands:\n\t"+ta)}else if("state"==sa){var ne=bf(a.u,!0);"console"==Ja?console.log(ne):(a.Fa&&(a.Fa.value=""),a.g(ne))}else if("symbols"==sa)for(var Oc=0;Oc<a.J.length;Oc++){var Pc=a.J[Oc],cb;for(cb in Pc.xa)if("."!=
|
||||
cb.charAt(0)){var oe=Pc.xa[cb].o;if(void 0!==oe){var pe=Pc.xa[cb].l;pe&&(cb=pe);a.g(Z(oe)+" "+cb)}}}else{if("d"==ab){for($a in Rd)if(f[1]==$a){var qe=a.$a[$a];qe?(f.shift(),f.shift(),qe(f)):a.g("no dump registered for "+sa);break a}sa||(ab=a.fc||"db")}else a.fc=ab;if("dh"==ab){var re=sa,se=Ja,te="",ue=0,Q=a.ta,ua=a.W;if(ua.length){var U=+re||a.Lb,db=+se||10;isNaN(U)?U=db:te="more ";U>ua.length&&(a.g("note: only "+ua.length+" available"),U=ua.length);Q-=U;0>Q&&(null==ua[ua.length-1].B?(U=Q+U,Q=0):
|
||||
Q+=ua.length);var Qc=[];"call"==se&&(db=1E5,Qc=["CALL"]);for(void 0!==re&&a.g(U+" instructions earlier:");0<db&&Q!=a.ta;){var ve=ua[Q++];if(null==ve.B)break;var xb=W(ve.B),yf=U--,we=me(a,xb,"history",yf);(!Qc.length||0<=we.indexOf(Qc[0]))&&a.g(we);xb.sb&&(Q+=xb.sb,db-=xb.sb,U-=xb.sb);Q>=ua.length&&(Q=0);a.Lb=U;ue++;db--}}ue||(a.g("no "+te+"history available"),a.Lb=void 0)}else{var cc=Y(a,sa);if(cc){var dc=0;Ja&&("l"==Ja.charAt(0)&&(Ja=Ja.substr(1)||xf),dc=Re(a,Ja)>>>0,65536<dc&&(dc=65536));for(var Ka=
|
||||
"",zf=(dc||128)+15>>4||1,Rc="dd"==ab?4:"dw"==ab?2:1,xe=0;xe<zf;xe++){for(var ec=0,Sc=0,yb="",Tc="",sa=Z(cc.B),Uc=0;16>Uc;Uc++){var fc=a.V(cc,1),ec=ec|fc<<(Sc++<<3);Sc==Rc&&(yb+=q(ec,2*Rc),yb+=1==Rc?7==Uc?"-":" ":" ",ec=Sc=0);Tc+=32<=fc&&128>fc?String.fromCharCode(fc):"."}Ka&&(Ka+="\n");Ka+=sa+" "+yb+" "+Tc}Ka&&a.g(Ka);a.Fb=cc}}}}break;case "e":if("else"==f[0])break;var gc=1,ye=255,ze=a.V,Ae=a.Ab;"ew"==f[0]&&(gc=2,ye=65535,ze=a.mb,Ae=a.Ub);var Be=gc<<1,Ce=f[1];if(null==Ce)a.g("edit memory commands:"),
|
||||
a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var hc=Y(a,Ce);if(hc)for(var ic=2;ic<f.length;ic++){var zb=Xd(a,f[ic]);if(void 0===zb){a.g("unrecognized value: "+f[ic]);break}zb&~ye&&a.g("warning: "+q(zb)+" exceeds "+gc+"-byte value");var Af=ze.call(a,hc);a.g("changing "+Z(hc.B)+" from 0x"+q(Af,Be)+" to 0x"+q(zb,Be));Ae.call(a,hc,zb,gc)}}break;case "f":We(a,f[1]);break;case "g":a:{var De=f[1],Bf=b;if(void 0!==De){var Vc=Y(a,De,!0);if(!Vc)break a;
|
||||
Yd(a,Vc,Bf);a.Ea(a.A,Vc,!0)}a.La(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":var Wc;a.w.ia?(Wc="halting",a.da()):Wc="already halted";c||a.g(Wc);break;case "i":if("if"==f[0]){var Xc;var Ab=b.substr(2),Ab=ha(Ab);Xd(a,Ab)?(c||a.g("true: "+Ab),Xc=!0):(c||a.g("false: "+Ab),Xc=!1);Xc||(d=!1);break}var Yc=f[1];if(Yc&&"?"!=Yc){var Zc=Re(a,Yc);if(void 0!==Zc){var Cf=Fb(a.D,Zc);a.g(r(Zc)+": "+("0x"+q(Cf,2)))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");
|
||||
break;case "k":var Df=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var $c=0,Ee=W(),Bb=W(a.b.ba);for(a.g("stack trace for "+Z(Bb.B));10>$c;){for(var La=null,Ef=256;65536>Bb.B>>>0;){Ee.B=a.mb(Bb,2);if(null==Bb.B||!Ef--)break;for(var Ff=a,jc=Ee,Fe=null,Cb=jc.B,Ge=Cb,ad=1;6>=ad&&Cb;ad++){if(2<ad){jc.B=Cb;var kc=me(Ff,jc);if(0<kc.indexOf("CALL")){var He=kc.indexOf(" ");if(Cb+(kc.indexOf(" ",He+1)-He-1)/2==Ge){Fe=kc;break}}}Cb--}jc.B=
|
||||
Ge;if(La=Fe)break}if(!La||null==La)break;var Ie=null;if("ks"==Df){var Je=La.match(/[0-9A-F]+$/);Je&&(Ie=Ye(a,Je[0]))}La=ga(La,50)+" ;"+(Ie||"stack="+Z(Bb.B));a.g(La);$c++}$c||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Ye(a,f[1],!0);break}break;case "m":a:{var va,wa=null,E=f[1];"?"==E&&(E=void 0);if(void 0!==E){var Ma=0;if("all"==E)Ma=1610481663,E=null;else if("on"==E)wa=!0,E=null;else if("off"==E)wa=!1,E=null;else{"keys"==E&&(E="key");"kbd"==E&&(E="keyboard");for(va in Rd)if(E==
|
||||
va){Ma=Rd[va];wa=!!(a.ga&Ma);break}if(!Ma){a.g("unknown message category: "+E);break a}}Ma&&("on"==f[2]?(a.ga|=Ma,wa=!0):"off"==f[2]&&(a.ga&=~Ma,wa=!1))}var Gf=0,Fa="";for(va in Rd)if(!E||E==va){var Hf=!!(a.ga&Rd[va]);if(null===wa||wa==Hf)Fa&&(Fa+=","),++Gf%10||(Fa+="\n\t"),"key"==va&&(va="keys"),Fa+=va}void 0===E&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==wa?wa?"messages on: ":"messages off: ":"message categories:\n\t")+(Fa||"none"));Kd(a)}break;case "o":var bd=
|
||||
f[1],If=f[2];if(bd&&"?"!=bd){var cd=Re(a,bd,"port #"),dd=Re(a,If);void 0!==cd&&void 0!==dd&&(Ib(a.D,cd,dd),a.g(r(cd)+": "+("0x"+q(dd,2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){$e(a,b.substr(5));break}var Ke="pr"==f[0]?1:0,Jf=1+Ke;if(a.ea)a.g("step in progress");else{var ed=W(a.b.O);switch(a.V(ed)){case 205:a.ea=Jf,Td(ed,3)}a.ea?(a.Ea(a.A,ed,!0),a.La()||(a.u&&a.u.jb(),a.ea=
|
||||
0)):af(a,Ke?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}fe(a,f);break;case "s":Ze(a,f);break;case "t":af(a,f[0],f[1]);break;case "u":ge(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Xe(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.21.7 ("+a.b.Ra+",RELEASE"+(mb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(oa());break;case "?":if(f[1]){$e(a,b.substr(1));break}var Db="commands:",fd;for(fd in Md)Db+="\n"+ga(fd,7)+Md[fd];qd(a)||(Db+="\nnote: frequency/history disabled if no exec breakpoints");
|
||||
a.g(Db);break;default:a.g("unknown command: "+b),d=!1}}}catch(Le){a.g("debugger error: "+(Le.stack||Le.message)),d=!1}return d}function oc(a,b,c){b=Zd(a,b,c);for(var d in b)if(!le(a,b[d]))return!1;return!0}Ia(function(){for(var a=A(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Hd(d);eb(d,c)}});function I(a,b,c){this.id=a.id;this.key=cf(a,b,c);this.C=a.C;df(this,a.Qb)}
|
||||
function cf(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}
|
||||
I.prototype={constructor:I,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){df(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(e){}b.splice(c,1);c=0}}};
|
||||
function df(a,b){a[a.id]={};b&&K(a,"parms",b);a.b=!1}function ef(a){var b=!0;if(ra()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function ff(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function gf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ra()&&(b=xa(a.key))?(a[a.id]=b,a.b=!0):!1}function hf(a,b){return a[a.id][b]||null}function K(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function jf(a,b,c){u.call(this,"Computer",a,jf,67108864);this.w.ha=!1;kf(this,b);this.ca=lc(this,"autoPower",a);this.F=0;this.sa=a.busWidth||a.buswidth;this.u=lf;this.W=null;this.J=this.ra=!1;this.ta=lc(this,"url")||"";(Math.random()+.1).toString(36);this.A=mf(this);if(this.b=bb("CPU",this.id)){this.C=bb("Debugger",this.id);this.aa=[];for(b=null;b=pb(this,"Video",b);)this.aa.push(b);this.D=new rb({id:this.Hb+".bus",busWidth:this.sa},this.b,this.C);var d,e=Ya(this.id);if((this.H=bb("Panel",this.id))&&
|
||||
this.H.Fa)for(b=0;b<e.length;b++)d=e[b],d.na=this.H.na,d.g=this.H.g,d.Fa=this.H.Fa;for(b=0;b<e.length;b++)d=e[b],d.Aa&&d.Aa(this,this.D,this.b,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.U=d:this.u=parseInt(d,10));var f;if(a=lc(this,"state")||(f=!0,a.state))b=this.ea=a,f||(this.J=!0,this.u=lf),this.u&&(this.Y=new I(this,nf),gf(this.Y)?b=null:delete this.Y);!b&&this.u&&(b=of(this))&&(this.J=!0);if(b){var h=this;ma(b,null,!0,function(a,b,c){c?(h.U=null,h.J=!1,h.na("Unable to load machine state from server (error "+
|
||||
c+(b?": "+ha(b):"")+")")):(h.W=b,h.ra=!0);B(h)})}else B(this);this.T.power||(this.ca=!0);!c&&this.ca&&pf(this,this.hb)}else t("Unable to find CPU component")}x(jf);var nf="1.21.7",lf=0;function kf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.K=b}
|
||||
function lc(a,b,c){var d=b.toLowerCase(),d=Ra[b]||Ra[d];void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function pf(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!kb(f)){kb(f,function(){pf(a,b,c)});return}}b.call(a,c)}
|
||||
function qf(a,b){var c=new I(a,nf,"validate");if(gf(c)&&ff(c)){var d=hf(c,"timestamp"),e=b?hf(b,"timestamp"):"unknown";d!=e&&(a.na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=jf.prototype;
|
||||
m.hb=function(a){void 0===a&&(a=this.u||(this.W?1:lf));if(!this.F){this.F++;var b=!1,c=!1;this.ka=!1;var d=this.Y||new I(this,nf);if(-1==a)b=!0;else if(a>lf){if(gf(d,this.W)){this.I=new I(this,nf,"failsafe");gf(this.I)&&(rf(this,d),a=2,df(this.I));K(this.I,"timestamp",ka());ef(this.I);var e=this.u&&!this.J;if(1==a||pa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=ff(d)){var f=hf(d,"code"),h=hf(d,"data");f&&("ok"==f?gf(d,h):("error"==f&&"no machine state"!=
|
||||
h?(this.na("Error: "+h),"unable to verify user"==h&&(ya("user",""),this.A=null)):this.g(f+": "+h),df(d),gf(d)?(c=ff(d),e=!0):c=!1))}e&&qf(this,c?d:null)}else 2==a&&d.clear()}else qf(this);delete this.W;delete this.Y}e=Ya(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=sf(this,h,d,b,c));b=[d,a,c];-1!=a?pf(this,this.Gb,b):this.Gb(b)}};
|
||||
function sf(a,b,c,d,e){if(!b.w.ha){b.w.ha=!0;if(b.wa){var f=null;e&&((f=hf(c,b.id))||(f=hf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.wa(f,d)&&f&&(t("Unable to restore state for "+b.type),a.ea&&!a.ra?(c.clear(),a.u=lf,window&&window.location.reload()):a.ka=!0,b.wa(null),e=!1)}if(!d&&b.Db)for(a=b.Db.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
m.Gb=function(a){var b=a[0],c=0>a[1];a=a[2];this.w.ha=!0;var d=this.T.power;d&&(d.textContent="Shutdown");this.ja||(this.g("PC8080 v"+nf+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.ja=!0);this.b&&(sf(this,this.b,b,c,a),pc(this.b));this.ka&&(rf(this,b),b.clear());!c&&this.I&&(this.I.clear(),delete this.I);this.F=0};
|
||||
function rf(a,b){if(pa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.ta,d=a.A||"",e=b.toString(),f={app:"PC8080"};f.ver=nf;f.url=c;f.user=d;f.type="bug";f.data=e;ma("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
function bf(a,b,c){var d,e="none";if(a.F)return null;a.F--;var f=new I(a,nf),h=new I(a,nf,"validate"),g=ka();K(h,"timestamp",g);K(f,"timestamp",g);K(f,"version","1.21.7");K(f,"url",window?window.location.href:null);K(f,"browser",oa());a.b&&a.b.va&&(c&&a.b.da(),d=a.b.va(b,c),"object"===typeof d&&K(f,a.b.id,d),c&&(a.b.w.ha=!1,!1===d&&(e=null)));for(var g=Ya(a.id),k=0;k<g.length;k++){var l=g[k];l.w.ha&&(l.va&&(d=l.va(b,c),"object"===typeof d&&K(f,l.id,d)),c&&(l.w.ha=!1,!1===d&&(e=null)))}e&&(c?(g=d=
|
||||
!1,b?(a.A&&tf(a,a.A,f.toString()),ef(h)&&ef(f)||(e=null,d=g=!0)):a.u&&(d=!0,g=3==a.u),d&&f.clear(g)):e=f.toString());c&&(a.w.ha=!1,b=a.T.power)&&(b.textContent="Power");a.F=0;return e}m.reset=function(){this.D&&this.D.reset&&(this.C&&hb(this,0)&&this.C.message("Resetting "+this.D.type,void 0),this.D.reset());for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c.reset&&(this.C&&hb(this,0)&&this.C.message("Resetting "+c.type,void 0),c.reset())}};
|
||||
m.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)}};m.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)}};
|
||||
m.na=function(a,b,c){var d=this;switch(b){case "power":return this.S[b]=c,c.onclick=function(){d.F||(d.w.ha?Xe(d,!1,!0):kf(d,d.ib))},!0;case "reset":return this.S[b]=c,c.onclick=function(){if(d.w.ha&&!d.F)if(d.u&&!d.U){var a=pa("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Xe(d,a,!0);!a&&d.fa?window&&window.location.reload():d.ib(ff)}else d.reset(),d.b&&oc(d.b)},!0;case "save":if(da(na(),"pcjs.org")){c.parentNode.removeChild(c);
|
||||
break}this.S[b]=c;c.onclick=function(){var a=gf(d,!0);if(a){var b=!!(d.u&&!d.U||d.fa),c=Xe(d,b);b?of(d,a,c):d.la("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function gf(a,b){var c=a.A;c||(c=xa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=pf(a,c))||a.la("The user ID is invalid."))):b&&a.la("Browser local storage is not available"));return c}
|
||||
function pf(a,b){a.A=null;var c=ma(na()+"/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.A=c.data)}catch(e){t(e.message+" ("+d+")")}return a.A}function jf(a){var b=null;a.A&&(b=na()+"/api/v1/user?req=load&user="+a.A+"&state="+Ye(a,hf));return b}
|
||||
function of(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ye(a,hf);d.data=c;b=ma(na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.la("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.la(c),ya("user",""),a.A=null)}}
|
||||
function pb(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}m.kb=function(){};m.qa=function(a){this.b&&this.b.qa(a);this.H&&this.H.qa(a)};function uc(a,b){for(var c=0;c<a.aa.length;c++){var d=a.aa[c];b&1?(d=d.b,d.A=d.A&-8|10):(d=d.b,d.A=d.A&-8|9)}}
|
||||
Ia(function(){for(var a=A(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=A(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=y(f),h=new df(h,d,!0);$a(h,f);h.ca&&kf(h,h.ib)}});Ca.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=Za("Computer",c.id))&&c.oa&&!c.w.ha&&c.ib(-1)}});
|
||||
Ca.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=Za("Computer",c.id))&&c.w.ha&&Xe(c,!(!c.u||c.U),!0)}});var qf=0;function rf(a,b,c,d,e,f){e("Loading "+a+"...");ma(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):Ff(g,a,b,c,d,e,f)})}
|
||||
function Ff(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Xa(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
|
||||
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Gf(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function Gf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);Gf(a,b,c)}})}else c(a,null)}
|
||||
function Hf(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);k&&(--qf||Oa(!0));k=!1}var h,g,k=!0;qf++;Wa[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));n.appendChild(p)}c||
|
||||
(c="/versions/pc8080/1.21.7/components.xsl");l=function(d,g){g?rf(c,null,null,!1,e,function(d,k){if(k)if(Xa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--qf||Oa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--qf||Oa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?rf(b,a,d,!0,e,l):Ff(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(z){f(z.message)}return k}window.embedPC8080=function(a,b,c,d){Oa(!1);return Hf(a,b,c,d)};window.enableEvents=Oa;window.sendEvent=Pa;
|
||||
function If(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?ma(b,null,!0,function(a,b){Jf(b,d)}):Jf(null,d)}else t("Error ("+c+") requesting "+a)}
|
||||
function Jf(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Wa[f],k={},l;for(l in g){var n=g[l],p=ca(l);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[l]);){var z=d[2];z&&(g[z]||(n=n.replace(d[0],"")))}d=l=ba(l)}else"xsl"==p&&(e=l=ba(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
||||
m.pa=function(a,b,c){var d=this;switch(b){case "power":return this.T[b]=c,c.onclick=function(){d.F||(d.w.ha?bf(d,!1,!0):pf(d,d.hb))},!0;case "reset":return this.T[b]=c,c.onclick=function(){if(d.w.ha&&!d.F)if(d.u&&!d.U){var a=pa("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");bf(d,a,!0);!a&&d.ea?window&&window.location.reload():d.hb(lf)}else d.reset(),d.b&&pc(d.b)},!0;case "save":if(da(na(),"pcjs.org")){c.parentNode.removeChild(c);
|
||||
break}this.T[b]=c;c.onclick=function(){var a=mf(d,!0);if(a){var b=!!(d.u&&!d.U||d.ea),c=bf(d,b);b?tf(d,a,c):d.na("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function mf(a,b){var c=a.A;c||(c=xa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=uf(a,c))||a.na("The user ID is invalid."))):b&&a.na("Browser local storage is not available"));return c}
|
||||
function uf(a,b){a.A=null;var c=ma(na()+"/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.A=c.data)}catch(e){t(e.message+" ("+d+")")}return a.A}function of(a){var b=null;a.A&&(b=na()+"/api/v1/user?req=load&user="+a.A+"&state="+cf(a,nf));return b}
|
||||
function tf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=cf(a,nf);d.data=c;b=ma(na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.na("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.na(c),ya("user",""),a.A=null)}}
|
||||
function pb(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}m.jb=function(){};m.qa=function(a){this.b&&this.b.qa(a);this.H&&this.H.qa(a)};function vc(a,b){for(var c=0;c<a.aa.length;c++){var d=a.aa[c];b&1?(d=d.b,d.A=d.A&-8|10):(d=d.b,d.A=d.A&-8|9)}}
|
||||
Ia(function(){for(var a=A(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=A(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=y(f),h=new jf(h,d,!0);eb(h,f);h.ca&&pf(h,h.hb)}});Ca.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=bb("Computer",c.id))&&c.ja&&!c.w.ha&&c.hb(-1)}});
|
||||
Ca.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=bb("Computer",c.id))&&c.w.ha&&bf(c,!(!c.u||c.U),!0)}});var vf=0;function wf(a,b,c,d,e,f){e("Loading "+a+"...");ma(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):Kf(g,a,b,c,d,e,f)})}
|
||||
function Kf(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Xa(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
|
||||
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Lf(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function Lf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);Lf(a,b,c)}})}else c(a,null)}
|
||||
function Mf(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);k&&(--vf||Oa(!0));k=!1}var h,g,k=!0;vf++;Wa[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));n.appendChild(p)}c||
|
||||
(c="/versions/pc8080/1.21.7/components.xsl");l=function(d,g){g?wf(c,null,null,!1,e,function(d,k){if(k)if(Xa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--vf||Oa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--vf||Oa(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?wf(b,a,d,!0,e,l):Kf(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(z){f(z.message)}return k}window.embedPC8080=function(a,b,c,d){Oa(!1);return Mf(a,b,c,d)};window.enableEvents=Oa;window.sendEvent=Pa;
|
||||
function Nf(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?ma(b,null,!0,function(a,b){Of(b,d)}):Of(null,d)}else t("Error ("+c+") requesting "+a)}
|
||||
function Of(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Wa[f],k={},l;for(l in g){var n=g[l],p=ca(l);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[l]);){var z=d[2];z&&(g[z]||(n=n.replace(d[0],"")))}d=l=ba(l)}else"xsl"==p&&(e=l=ba(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
||||
"©"),l=h,g=null,k="data:application/javascript,",k=za("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
|
||||
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")}
|
||||
window.savePC=function(a,b,c){var d=Za("Computer",a),e=Za("Debugger",a);if(d){var f=Xe(d,!0),h=d.T?JSON.stringify(d.T):null;b||(b="/versions/pcjs/1.21.7/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Qb:h}))return!0;ma(b,null,!0,function(c,d,e){If(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})();
|
||||
window.savePC=function(a,b,c){var d=bb("Computer",a),e=bb("Debugger",a);if(d){var f=bf(d,!0),h=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcjs/1.21.7/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Qb:h}))return!0;ma(b,null,!0,function(c,d,e){Nf(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})();
|
||||
|
|
|
|||
|
|
@ -6,118 +6,118 @@ typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encod
|
|||
function q(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)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}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var r={init:[],show:[],exit:[]},pa=!1,qa=!0;function ra(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function t(a){r.init.push(a)}
|
||||
function sa(a){if(qa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function ta(a){!qa&&a?(qa=!0,pa&&ua("init")):qa=a}function ua(a){r[a]&&sa(r[a])}ra("onload",function(){pa=!0;sa(r.init)});ra("onpageshow",function(){sa(r.show)});ra(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){sa(r.exit)});
|
||||
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Pa=b.comment;this.$a=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Ra=this.id.substr(0,b),this.Qa=this.id.substr(b+1)):this.Qa=this.id;this[a]=c;this.g={ga:!1,pa:!1,Ha:!1,J:!1,aa:!1};this.Aa=null;this.g.aa=!1;this.v={};this.I=null;v.push(this)}var va=void 0,wa={};
|
||||
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Sa=b.comment;this.bb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Na=this.id.substr(0,b),this.Ta=this.id.substr(b+1)):this.Ta=this.id;this[a]=c;this.g={ha:!1,pa:!1,Ia:!1,J:!1,aa:!1};this.Aa=null;this.g.aa=!1;this.v={};this.F=null;v.push(this)}var va=void 0,wa={};
|
||||
if(window){va||(va=window.location.search.substr(1));for(var xa,ya=/\+/g,za=/([^&=]+)=?([^&]*)/g;xa=za.exec(va);)wa[decodeURIComponent(xa[1].replace(ya," "))]=decodeURIComponent(xa[2].replace(ya," "))}function Aa(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 x(a,b){b||(b=u);a.prototype=Aa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var v=[],Ba={};function Ca(a,b,c){Ba[a]&&b&&(Ba[a][b]=c)}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function Da(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<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
||||
function Ea(a,b){for(var c=A(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=z(h))&&g.binding&&a.M(g.type,g.binding,h,g.value),l=k.length}}}}
|
||||
function Ea(a,b){for(var c=A(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=z(h))&&g.binding&&a.N(g.type,g.binding,h,g.value),l=k.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}
|
||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},M:function(a,b,c){switch(b){case "clear":return this.v[b]||(this.v[b]=c,c.onclick=function(a){return function(){a.v.print&&(a.v.print.value="")}}(this)),!0;case "print":return this.v[b]||(this.Ga=this.v[b]=c,c.value="",this.O=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.K=function(a,b,c){this.O(a,"notice",c)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.Qa+": "+a)},K:function(a,b){b||q(a)},W:function(){return this.g.J=!0},V:function(a,b){b&&(this.g.J=!1);return!0}};function Fa(a,b){if(a.g.Ha)return a.g.pa&&(a.g.pa=!1),a.g.Ha=!1;if(a.g.aa)return a.O(a.toString()+" error"),!1;a.g.pa=b;return a.g.pa}function B(a){if(!a.g.aa&&(a.g.ga=!0,a.g.ga)){var b=a.Aa;a.Aa=null;b&&b()}}
|
||||
function Ga(a,b){b&&(a.g.ga?b():a.Aa=b);return a.g.ga}
|
||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},N:function(a,b,c){switch(b){case "clear":return this.v[b]||(this.v[b]=c,c.onclick=function(a){return function(){a.v.print&&(a.v.print.value="")}}(this)),!0;case "print":return this.v[b]||(this.Ha=this.v[b]=c,c.value="",this.M=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.K=function(a,b,c){this.M(a,"notice",c)}),!0;default:return!1}},log:function(){},M:function(){},status:function(a){this.M(this.Ta+": "+a)},K:function(a,b){b||q(a)},W:function(){return this.g.J=!0},V:function(a,b){b&&(this.g.J=!1);return!0}};function Fa(a,b){if(a.g.Ia)return a.g.pa&&(a.g.pa=!1),a.g.Ia=!1;if(a.g.aa)return a.M(a.toString()+" error"),!1;a.g.pa=b;return a.g.pa}function B(a){if(!a.g.aa&&(a.g.ha=!0,a.g.ha)){var b=a.Aa;a.Aa=null;b&&b()}}
|
||||
function Ga(a,b){b&&(a.g.ha?b():a.Aa=b);return a.g.ha}
|
||||
var Ha="undefined"!==typeof ArrayBuffer,Ia=[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 Ja(a){u.call(this,"Panel",a,Ja)}x(Ja);m=Ja.prototype;m.M=function(a,b,c,d){return this.w&&this.w.M(a,b,c,d)||this.a&&this.a.M(a,b,c,d)||this.b&&this.b.M(a,b,c,d)?!0:this.parent.M.call(this,a,b,c,d)};m.ba=function(a,b,c,d){this.w=a;this.B=b;this.a=c;this.I=d;this.b=Ka(a,"Keyboard")};m.W=function(a,b){b||La();return!0};m.V=function(){return!0};m.ea=function(){};
|
||||
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 Ja(a){u.call(this,"Panel",a,Ja)}x(Ja);m=Ja.prototype;m.N=function(a,b,c,d){return this.w&&this.w.N(a,b,c,d)||this.a&&this.a.N(a,b,c,d)||this.b&&this.b.N(a,b,c,d)?!0:this.parent.N.call(this,a,b,c,d)};m.ba=function(a,b,c,d){this.w=a;this.B=b;this.a=c;this.F=d;this.b=Ka(a,"Keyboard")};m.W=function(a,b){b||La();return!0};m.V=function(){return!0};m.ea=function(){};
|
||||
function La(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<v.length;h++)if(v[h].id===f){f=v[h];break a}f=null}f||(a=!0,f=new Ja(e));Ea(f,d);a&&B(f)}}t(La);
|
||||
function Ma(a,b,c){u.call(this,"Bus",a,Ma);this.a=b;this.I=c;this.h=a.buswidth||16;this.m=Math.pow(2,this.h);this.f=this.m-1|0;this.G=20>=this.h?12:24>=this.h?14:15;this.H=1<<this.G;this.o=this.H>>2;this.l=this.H-1;this.c=this.m/this.H|0;this.i=[];this.j=[];this.s=[];this.u=[];a=new C;Na(a,this.I);this.b=Array(this.c);for(b=0;b<this.c;b++)this.b[b]=a;a=this.a;b=this.b;c=this.G;var d=this.f;a.N=b;a.G=c;a.H=1<<a.G;a.S=a.H-1;a.Ma=b.length;a.na=a.Ma-1;a.Z=d;B(this)}x(Ma);Ma.prototype.reset=function(){};
|
||||
Ma.prototype.W=function(a,b){b||this.reset();return!0};function Oa(a,b,c,d){for(var e=b>>>a.G;0<c&&e<a.b.length;){var f=a.b[e],h=e*a.H,g=c>a.H?a.H:c;if(f&&f.size){if(f.type==d){if(b+c<=f.oa)return f.Fa+=f.oa-b,f.oa=b,!0;if(b>=f.oa+f.Fa){g=f.size-(b-h);g>c&&(g=c);f.Fa=b-f.oa+g;c-=g;b=h+a.H;continue}}return Pa(1,b,c)}f=a.b[e];b=new C(b,g,a.H,d);Na(b,a.I,f);a.b[e++]=b;b=h+a.H;c-=g}return 0>=c?!0:Pa(2,b,c)}Ma.prototype.D=function(a){return this.b[(a&this.f)>>>this.G].ma(a&this.l,a)};
|
||||
function Pa(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Qa;if(Ha){var Sa=new ArrayBuffer(2);(new DataView(Sa)).setUint16(0,256,!0);Qa=256===(new Uint16Array(Sa))[0]}else Qa=!1;var Ta=Qa;
|
||||
function C(a,b,c,d){this.id=Ua+=2;this.a=null;this.oa=a;this.Fa=b;this.size=c||0;this.type=d||Va;this.h=d==Wa;Na(this);this.Y=this.gb=!1;if(c)if(Ha)this.c=new ArrayBuffer(c),this.f=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.l=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),Xa(this,Ta?Ya:Za);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;Xa(this,$a)}else Xa(this)}var Va=0,Wa=2,Ua=0;
|
||||
C.prototype={constructor:C,parent:null,save:function(){var a,b;if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.f.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.f.setInt32(b<<2,a[b],!0);else this.a=a;return this.Y=!0}return!1},m:function(){return 255},s:function(){},o:function(a,b){return this.ma(a++,b++)|this.ma(a,b)<<8},v:function(a,b,c){this.xa(a++,b&255,c++);this.xa(a,b>>8,c)},C:function(a){return this.a[a>>
|
||||
2]>>>((a&3)<<3)&255},N:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},U:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.Y=!0},na:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<<d)|b<<d:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.Y=!0},w:function(a,b){return this.B(a,b)},G:function(a,b){return this.H(a,b)},S:function(a,b,c){this.h||this.bb(a,b,c)},Z:function(a,b,c){this.h||
|
||||
this.$(a,b,c)},u:function(a){return this.b[a]},A:function(a){return this.b[a]},F:function(a){return this.f.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},P:function(a,b){this.b[a]=b;this.Y=!0},T:function(a,b){this.b[a]=b;this.Y=!0},X:function(a,b){this.f.setUint16(a,b,!0);this.Y=!0},fa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.Y=!0}};function Na(a,b,c){a.I=b;a.i=a.j=0;c&&((a.i=c.i)&&ab(a,bb,!1),(a.j=c.j)&&cb(a,bb,!1))}
|
||||
function cb(a,b,c){c&&a.j||(a.xa=!a.h&&b[2]||a.s,a.sb=!a.h&&b[3]||a.v);if(c||void 0===c)a.bb=b[2]||a.s,a.$=b[3]||a.v}function ab(a,b,c){c&&a.i||(a.ma=b[0]||a.m,a.qb=b[1]||a.o);if(c||void 0===c)a.B=b[0]||a.m,a.H=b[1]||a.o}function Xa(a,b){b||(b=db);ab(a,b,void 0);cb(a,b,void 0)}var db=[],$a=[C.prototype.C,C.prototype.N,C.prototype.U,C.prototype.na],bb=[C.prototype.w,C.prototype.G,C.prototype.S,C.prototype.Z];
|
||||
if(Ha)var Za=[C.prototype.u,C.prototype.F,C.prototype.P,C.prototype.X],Ya=[C.prototype.A,C.prototype.L,C.prototype.T,C.prototype.fa];
|
||||
function eb(a,b){u.call(this,"CPU",a,eb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.la=c;this.c.Ea=0;this.c.ka=d;this.c.Ia=Math.round(this.c.la/1E4)/100;this.c.ha=this.c.Ia*this.c.ka;this.g.R=!1;this.g.Va=!1;this.g.Ta=a.autoStart;this.g.Ua=!1;this.g.ya=!1;this.c.Ca=this.c.ja=0;this.c.Da=a.csStart;this.c.qa=a.csInterval;this.c.ra=a.csStop;this.cb=this.La.bind(this);B(this)}x(eb);var fb=["power","reset"];m=eb.prototype;
|
||||
m.ba=function(a,b,c,d){this.w=a;this.B=b;this.I=d;for(b=0;b<fb.length;b++)(c=this.v[fb[b]])&&this.w.M(null,fb[b],c);this.X=(b=Ka(a,"Video"))&&Math.max(b.X,b.eb)||60;this.fa=Ka(a,"ChipSet");a=gb(a,"autoStart");null!=a&&(this.g.Ta="true"==a?!0:"false"==a?!1:!!a);B(this)};m.reset=function(){this.c.Ea=0};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.W=function(a,b){if(!b){if(a&&this.restore){hb(this);if(!this.restore(a))return!1;ib(this)}else this.reset();this.O("No debugger detected")}jb(this);return!0};m.V=function(a){return a?this.save():!0};function kb(a){(a.g.Ta||void 0===a.v.run)&&a.La()}m.Wa=function(){return 0};function ib(a){void 0===a.c.Da&&(a.c.Da=0);void 0===a.c.qa&&(a.c.qa=-1);void 0===a.c.ra&&(a.c.ra=-1);a.g.ya=0<=a.c.Da&&0<a.c.qa;a.g.ya&&(a.c.Ca=0,a.c.ja=a.c.Da-a.U)}
|
||||
m.M=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.v[b]=c;a=!0;break;case "run":this.v[b]=c;c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.g.J)a=!0;else{var b=null,c,g=y(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.g.ga);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.g.J);c++);c==g.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.g.ga?"powered yet":"ready yet"+(b.Aa?" (waiting for notification)":""))+".");a=!1}a&&(d.g.R?lb(d,!0):d.La())};a=!0;break;
|
||||
case "speed":this.v[b]=c;a=!0;break;case "setSpeed":this.v[b]=c,c.onclick=function(){mb(d,d.c.ka<<1)},c.textContent=this.c.ha.toFixed(2)+"Mhz",a=!0}return a};function nb(a,b,c){a.U+=b;c&&(a.T=a.a=0)}
|
||||
function ob(a,b){var c=30;c<a.X&&(c=a.X);2>c&&(c=2);var d=1;b&&1<a.c.ka&&a.c.ca&&(d=a.c.ca/a.c.Ia);a.c.Xa=Math.round(1E3/30);a.c.lb=Math.floor(a.c.la/c*d);a.c.Ja=Math.floor(a.c.la/30*d);a.c.Za=Math.floor(a.c.la/a.X*d);a.c.Ya=Math.floor(a.c.la/2*d);b||(a.c.ua=a.c.Ja,a.c.ta=a.c.Za,a.c.sa=a.c.Ya);a.c.Ka=0}function pb(a){return a.U+a.P+a.T-a.a}function hb(a){a.c.ca=0;a.U=a.P=a.T=a.a=0;ib(a);mb(a,1)}
|
||||
function mb(a,b){if(void 0!==b){.8>a.c.ca/a.c.ha&&(b=1);a.c.ka=b;var c=a.c.Ia*a.c.ka;if(a.c.ha!=c){a.c.ha=c;var c=a.c.ha.toFixed(2)+"Mhz",d=a.v.setSpeed;d&&(d.textContent=c);a.O("target speed: "+c)}}nb(a,a.P);a.P=0;a.c.ia=ga();a.c.da=0;ob(a)}
|
||||
m.La=function(){if(Fa(this,!0)){if(!this.g.R){mb(this);this.w&&this.w.start(this.c.ia,pb(this));this.g.R=!0;this.g.Va=!0;this.fa&&this.fa.rb();var a=this.v.run;a&&(a.textContent="Halt");this.w&&this.w.ea(!0)}this.c.Ka>=this.c.la&&ob(this,!0);this.c.va=0;this.c.Ba=ga();this.c.da&&(a=this.c.Ba-this.c.da,a>this.c.Xa&&(this.c.ia+=a,this.c.ia>this.c.Ba&&(this.c.ia=this.c.Ba)));try{do{var b=this.g.ya?1:this.c.lb;try{this.ab(b)}catch(e){if("number"!=typeof e)throw e;}var c=this.T-this.a;this.P+=c;this.c.va+=
|
||||
c;nb(this,0,!0);a=c;if(this.g.ya){var d=!1;this.c.Ca=this.c.Ca+this.Wa()|0;this.c.ja-=a;0>=this.c.ja&&(this.c.ja+=this.c.qa,d=!0);0<=this.c.ra&&this.c.ra<=pb(this)&&(this.c.qa=this.c.ra=-1,ib(this),lb(this),d=!0);d&&this.O(pb(this)+" cycles: checksum="+n(this.c.Ca))}this.c.ta-=c;0>=this.c.ta&&(this.c.ta+=this.c.Za,this.w&&qb(this.w,this.c.Ea++),this.c.Ea>this.X&&(this.c.Ea=0));this.c.sa-=c;0>=this.c.sa&&(this.c.sa+=this.c.Ya,this.w&&this.w.ea());this.c.ua-=c;if(0>=this.c.ua){this.c.ua+=this.c.Ja;
|
||||
break}}while(this.g.R)}catch(e){lb(this);jb(this);this.w&&this.w.stop(ga(),pb(this));Fa(this,!1);b=e.stack||e.message;this.g.aa=!0;this.K(b);return}b=setTimeout;c=this.cb;this.c.da=ga();a=this.c.Xa;this.c.va&&(a=Math.round(a*this.c.va/this.c.Ja));a-=this.c.da-this.c.Ba;if(d=this.c.da-this.c.ia)this.c.ca=Math.round(this.P/(10*d))/100,864E5<=d&&(this.U=0,mb(this));if(0>a||this.c.ca<this.c.ha)a=0;this.c.Ka+=this.c.va;this.c.da+=a;b(c,a)}else jb(this),this.w&&this.w.stop(ga(),pb(this))};m.ab=function(){return 0};
|
||||
function lb(a,b){a.g.pa&&(a.g.Ha=!0);a.T-=a.a;a.a=0;nb(a,a.P);a.P=0;if(a.g.R){a.g.R=!1;a.fa&&a.fa.rb();var c=a.v.run;c&&(c.textContent="Run")}a.g.za=b}function jb(a){a.w&&(qb(a.w,-1),a.w.ea(void 0))}function rb(a){this.$=a.model||8080;eb.call(this,a,1E6);this.Na=sb;hb(this);this.g.za=this.g.fb=!1;this.Oa=0;this.N=[];this.G=this.H=this.S=this.Ma=this.na=this.Z=0;tb(this)}x(rb,eb);m=rb.prototype;m.reset=function(){this.g.R&&lb(this);tb(this);hb(this);this.g.aa=!1;this.parent.reset.call(this)};
|
||||
function tb(a){a.b=0;a.h=0;a.i=0;a.j=0;a.l=0;a.m=0;a.o=0;a.A=0;D(a,0);ub(a,0);a.F=0}m.Wa=function(){var a=this.b+this.h+this.i+this.j+this.l+this.m+this.o|0;return a=a+this.A+this.u+vb(this)|0};
|
||||
m.save=function(){var a=new E(this);F(a,0,[this.b,this.h,this.i,this.j,this.l,this.m,this.o,this.A,this.u,vb(this)]);F(a,1,[this.F,this.U,this.c.ka]);for(var b=this.B,c=0,d=[],e=0;e<b.c;e++){var f=b.b[e];if(f.Y||f.gb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var H=f[g],w=g+1;w<f.length&&f[w]===H;)w++;l[k++]=w-g;l[k++]=H;g=w}if(l.length<f.length){f=l;break a}}d[h]=f}}F(a,2,d);return a.data()};
|
||||
m.restore=function(a){var b=a[0];this.b=b[0];this.h=b[1];this.i=b[2];this.j=b[3];this.l=b[4];this.m=b[5];this.o=b[6];this.A=b[7]&65535;D(this,b[8]);ub(this,b[9]);b=a[1];this.F=b[0];this.U=b[1];mb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.o){for(var f=0,h=Array(b.o),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.b[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
m.M=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "D":case "E":case "H":case "L":case "SP":case "PC":case "F":case "SF":case "ZF":case "AF":case "PF":case "CF":this.v[b]=c;this.Oa++;d=!0;break;default:d=this.parent.M.call(this,a,b,c)}return d};function wb(a){return a.h<<8|a.i}function xb(a,b){a.h=b>>8&255;a.i=b&255}function yb(a){return a.j<<8|a.l}function zb(a,b){a.j=b>>8&255;a.l=b&255}function G(a){return a.m<<8|a.o}function I(a,b){a.m=b>>8&255;a.o=b&255}
|
||||
function D(a,b){a.u=b&65535}function J(a){return a.f&256?1:0}function Ab(a){return Ia[a.s&255]?4:0}function vb(a){return a.L&-214|(a.s&128?128:0)|(a.f&255?0:64)|((a.s^a.C)&16?16:0)|Ab(a)|J(a)}function ub(a,b){a.f=a.s=a.C=0;b&1&&(a.f|=256);b&4||(a.s|=1);b&16&&(a.C|=16);b&64||(a.f|=255);b&128&&(a.s^=192);a.L=a.L&-513|b&512|2}function K(a,b){a.C=a.b^b;return(a.f=a.s=a.b+b)&255}function L(a,b){a.C=a.b^b;return(a.f=a.s=a.b+b+(a.f&256?1:0))&255}function M(a,b){return a.f=a.s=a.C=a.b&b}
|
||||
function N(a,b){a.C=a.b^b;a.f=a.s=a.b-b}function Bb(a,b){a.C=b;b=(a.s=b-1)&255;a.f=a.f&-256|b;return b}function Cb(a,b){a.C=b;b=(a.s=b+1)&255;a.f=a.f&-256|b;return b}function O(a,b){return a.f=a.s=a.C=a.b|b}function P(a,b){a.C=a.b^b;return(a.f=a.s=a.b-b)&255}function Q(a,b){a.C=a.b^b;return(a.f=a.s=a.b-b-(a.f&256?1:0))&255}function R(a,b){return a.f=a.s=a.C=a.b^b}m.D=function(a){return this.N[(a&this.Z)>>>this.G].ma(a&this.S,a)};
|
||||
function Db(a,b){var c=b&a.S,d=(b&a.Z)>>>a.G;if(c<a.S)return a.N[d].qb(c,b);c=a.N[d].ma(c,b);return c|=a.N[d+1&a.na].ma(0,b+1)<<8}function S(a,b,c){a.N[(b&a.Z)>>>a.G].xa(b&a.S,c&255,b)}function Eb(a,b,c){var d=b&a.S,e=(b&a.Z)>>>a.G;d<a.S?a.N[e].sb(d,c&65535,b):(a.N[e++].xa(d,c&255,b),a.N[e&a.na].xa(0,c>>8&255,b+1))}function T(a){var b=a.D(a.u);D(a,a.u+1);return b}function U(a){var b=Db(a,a.u);D(a,a.u+2);return b}function V(a){var b=Db(a,a.A);a.A=a.A+2&65535;return b}
|
||||
function W(a,b){a.A=a.A-2&65535;Eb(a,a.A,b)}function X(a,b,c,d){d=d||2;a.v[b]&&(void 0===c&&(a.g.aa=!0,a.K("Value for "+b+" is invalid"),lb(a)),c=!a.g.R||a.g.Ua?n(c,d):"--------".substr(0,d),a.v[b].textContent!=c&&(a.v[b].textContent=c))}
|
||||
m.ea=function(a){this.Oa&&(a||!this.g.R||this.g.Ua)&&(X(this,"A",this.b),X(this,"B",this.h),X(this,"C",this.i),X(this,"D",this.j),X(this,"E",this.l),X(this,"H",this.m),X(this,"L",this.o),X(this,"SP",this.A,4),X(this,"PC",this.u,4),a=vb(this),X(this,"F",a,2),X(this,"SF",a&128,1),X(this,"ZF",a&64,1),X(this,"AF",a&16,1),X(this,"PF",a&4,1),X(this,"CF",a&1,1));if(a=this.v.speed)a.textContent=this.g.R&&this.c.ca?this.c.ca.toFixed(2)+"Mhz":"Stopped"};
|
||||
m.ab=function(a){this.g.za=!0;this.g.fb=!1;this.g.Va=!1;this.T=this.a=a;do{if(a=this.F)this.F&8&&this.L&512?(a=199|(this.F&7)<<3,this.F&=-16,this.L&=-513,this.Na[a].call(this),a=!0):a=!1,a=!a;if(a&&this.F&16){this.a=0;break}this.Na[T(this)].call(this)}while(0<this.a);return this.g.za?this.T-this.a:void 0===this.g.za?0:-1};t(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new rb(d);Ea(d,c)}});function Fb(){this.a-=4}function Gb(){D(this,U(this));this.a-=10}
|
||||
function Hb(){D(this,V(this));this.a-=10}function Ib(){var a=U(this);W(this,this.u);D(this,a);this.a-=17}
|
||||
var sb=[Fb,function(){xb(this,U(this));this.a-=10},function(){S(this,wb(this),this.b);this.a-=7},function(){xb(this,wb(this)+1);this.a-=5},function(){this.h=Cb(this,this.h);this.a-=5},function(){this.h=Bb(this,this.h);this.a-=5},function(){this.h=T(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;this.f=this.f&255|a&256;this.a-=4},Fb,function(){var a;I(this,a=G(this)+wb(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.D(wb(this));this.a-=7},function(){xb(this,wb(this)-
|
||||
1);this.a-=5},function(){this.i=Cb(this,this.i);this.a-=5},function(){this.i=Bb(this,this.i);this.a-=5},function(){this.i=T(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;this.f=this.f&255|a;this.a-=4},Fb,function(){zb(this,U(this));this.a-=10},function(){S(this,yb(this),this.b);this.a-=7},function(){zb(this,yb(this)+1);this.a-=5},function(){this.j=Cb(this,this.j);this.a-=5},function(){this.j=Bb(this,this.j);this.a-=5},function(){this.j=T(this);this.a-=7},function(){var a=this.b<<
|
||||
1;this.b=a&255|this.f>>8;this.f=this.f&255|a&256;this.a-=4},Fb,function(){var a;I(this,a=G(this)+yb(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.D(yb(this));this.a-=7},function(){zb(this,yb(this)-1);this.a-=5},function(){this.l=Cb(this,this.l);this.a-=5},function(){this.l=Bb(this,this.l);this.a-=5},function(){this.l=T(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(this.f&256|this.b)>>1;this.f=this.f&255|a;this.a-=4},Fb,function(){I(this,U(this));this.a-=10},function(){Eb(this,
|
||||
U(this),G(this));this.a-=16},function(){I(this,G(this)+1);this.a-=5},function(){this.m=Cb(this,this.m);this.a-=5},function(){this.m=Bb(this,this.m);this.a-=5},function(){this.m=T(this);this.a-=7},function(){var a=this.b,b=!!J(this),c=!!((this.s^this.C)&16);9<(a&15)||c?(a+=6,c=!0):c=!1;160<=a||b?(a+=96,b=!0):b=!1;this.f=this.s=this.b=a&255;this.f=b?this.f|256:this.f&-257;this.C=c?~this.s&16|this.C&-17:this.s&16|this.C&-17;this.a-=4},Fb,function(){var a;I(this,a=G(this)+G(this));this.f=this.f&255|a>>
|
||||
8&256;this.a-=10},function(){I(this,Db(this,U(this)));this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.o=Cb(this,this.o);this.a-=5},function(){this.o=Bb(this,this.o);this.a-=5},function(){this.o=T(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Fb,function(){this.A=U(this)&65535;this.a-=10},function(){S(this,U(this),this.b);this.a-=13},function(){this.A=this.A+1&65535;this.a-=5},function(){var a=G(this);S(this,a,Cb(this,this.D(a)));this.a-=10},function(){var a=G(this);
|
||||
S(this,a,Bb(this,this.D(a)));this.a-=10},function(){S(this,G(this),T(this));this.a-=10},function(){this.f|=256;this.a-=4},Fb,function(){var a;this.A=(a=G(this)+this.A)&65535;this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.D(U(this));this.a-=13},function(){this.A=this.A-1&65535;this.a-=5},function(){this.b=Cb(this,this.b);this.a-=5},function(){this.b=Bb(this,this.b);this.a-=5},function(){this.b=T(this);this.a-=7},function(){this.f=J(this)?this.f&-257:this.f|256;this.a-=4},function(){this.a-=
|
||||
function Ma(a,b,c){u.call(this,"Bus",a,Ma);this.a=b;this.F=c;this.c=a.busWidth||16;this.m=Math.pow(2,this.c);this.h=this.m-1|0;this.H=16>=this.c?10:20>=this.c?12:24>=this.c?14:15;this.I=1<<this.H;this.o=this.I>>2;this.l=this.I-1;this.f=this.m/this.I|0;this.i=[];this.j=[];this.s=[];this.u=[];a=new C;Na(a,this.F);this.b=Array(this.f);for(b=0;b<this.f;b++)this.b[b]=a;a=this.a;b=this.b;c=this.H;var d=this.h;a.O=b;a.H=c;a.I=1<<a.H;a.S=a.I-1;a.Oa=b.length;a.Ga=a.Oa-1;a.Z=d;B(this)}x(Ma);
|
||||
Ma.prototype.reset=function(){};Ma.prototype.W=function(a,b){b||this.reset();return!0};function Oa(a,b,c,d){for(var e=b>>>a.H;0<c&&e<a.b.length;){var f=a.b[e],h=e*a.I,g=a.I-(b-h);g>c&&(g=c);if(f&&f.size){if(f.type==d){if(b+c<=f.oa)return f.Fa+=f.oa-b,f.oa=b,!0;if(b>=f.oa+f.Fa){g=f.size-(b-h);g>c&&(g=c);f.Fa=b-f.oa+g;b=h+a.I;c-=g;e++;continue}}return Pa(1,b,c)}b=new C(b,g,a.I,d);Na(b,a.F,f);a.b[e++]=b;b=h+a.I;c-=g}return 0>=c?!0:Pa(2,b,c)}
|
||||
Ma.prototype.D=function(a){return this.b[(a&this.h)>>>this.H].na(a&this.l,a)};function Qa(a,b,c){a.b[(b&a.h)>>>a.H].eb(b&a.l,c&255,b)}function Pa(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Sa;if(Ha){var Ta=new ArrayBuffer(2);(new DataView(Ta)).setUint16(0,256,!0);Sa=256===(new Uint16Array(Ta))[0]}else Sa=!1;var Ua=Sa;
|
||||
function C(a,b,c,d){this.id=Va+=2;this.a=null;this.oa=a;this.Fa=b;this.size=c||0;this.type=d||Wa;this.h=d==Xa;Na(this);this.Y=this.ib=!1;if(c)if(Ha)this.c=new ArrayBuffer(c),this.f=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.l=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),Ya(this,Ua?Za:$a);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;Ya(this,ab)}else Ya(this)}var Wa=0,Xa=2,Va=0;
|
||||
C.prototype={constructor:C,parent:null,save:function(){var a,b;if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.f.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.f.setInt32(b<<2,a[b],!0);else this.a=a;return this.Y=!0}return!1},m:function(){return 255},s:function(){},o:function(a,b){return this.na(a++,b++)|this.na(a,b)<<8},v:function(a,b,c){this.xa(a++,b&255,c++);this.xa(a,b>>8,c)},C:function(a){return this.a[a>>
|
||||
2]>>>((a&3)<<3)&255},O:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},U:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.Y=!0},ga:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<<d)|b<<d:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.Y=!0},w:function(a,b){return this.B(a,b)},H:function(a,b){return this.I(a,b)},S:function(a,b,c){this.h||this.eb(a,b,c)},Z:function(a,b,c){this.h||
|
||||
this.$(a,b,c)},u:function(a){return this.b[a]},A:function(a){return this.b[a]},G:function(a){return this.f.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},P:function(a,b){this.b[a]=b;this.Y=!0},T:function(a,b){this.b[a]=b;this.Y=!0},X:function(a,b){this.f.setUint16(a,b,!0);this.Y=!0},fa:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.Y=!0}};function Na(a,b,c){a.F=b;a.i=a.j=0;c&&((a.i=c.i)&&bb(a,cb,!1),(a.j=c.j)&&db(a,cb,!1))}
|
||||
function db(a,b,c){c&&a.j||(a.xa=!a.h&&b[2]||a.s,a.ub=!a.h&&b[3]||a.v);if(c||void 0===c)a.eb=b[2]||a.s,a.$=b[3]||a.v}function bb(a,b,c){c&&a.i||(a.na=b[0]||a.m,a.sb=b[1]||a.o);if(c||void 0===c)a.B=b[0]||a.m,a.I=b[1]||a.o}function Ya(a,b){b||(b=eb);bb(a,b,void 0);db(a,b,void 0)}var eb=[],ab=[C.prototype.C,C.prototype.O,C.prototype.U,C.prototype.ga],cb=[C.prototype.w,C.prototype.H,C.prototype.S,C.prototype.Z];
|
||||
if(Ha)var $a=[C.prototype.u,C.prototype.G,C.prototype.P,C.prototype.X],Za=[C.prototype.A,C.prototype.L,C.prototype.T,C.prototype.fa];
|
||||
function fb(a,b){u.call(this,"CPU",a,fb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.ma=c;this.c.Ea=0;this.c.la=d;this.c.Ja=Math.round(this.c.ma/1E4)/100;this.c.ia=this.c.Ja*this.c.la;this.g.R=!1;this.g.Xa=!1;this.g.Va=a.autoStart;this.g.Wa=!1;this.g.ya=!1;this.c.Ca=this.c.ka=0;this.c.Da=a.csStart;this.c.qa=a.csInterval;this.c.ra=a.csStop;this.gb=this.Ma.bind(this);B(this)}x(fb);var gb=["power","reset"];m=fb.prototype;
|
||||
m.ba=function(a,b,c,d){this.w=a;this.B=b;this.F=d;for(b=0;b<gb.length;b++)(c=this.v[gb[b]])&&this.w.N(null,gb[b],c);this.X=(b=Ka(a,"Video"))&&Math.max(b.X,b.fb)||60;this.ga=Ka(a,"ChipSet");a=hb(a,"autoStart");null!=a&&(this.g.Va="true"==a?!0:"false"==a?!1:!!a);B(this)};m.reset=function(){this.c.Ea=0};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.W=function(a,b){if(!b){if(a&&this.restore){ib(this);if(!this.restore(a))return!1;jb(this)}else this.reset();this.M("No debugger detected")}kb(this);return!0};m.V=function(a){return a?this.save():!0};function lb(a){(a.g.Va||void 0===a.v.run)&&a.Ma()}m.Ya=function(){return 0};function jb(a){void 0===a.c.Da&&(a.c.Da=0);void 0===a.c.qa&&(a.c.qa=-1);void 0===a.c.ra&&(a.c.ra=-1);a.g.ya=0<=a.c.Da&&0<a.c.qa;a.g.ya&&(a.c.Ca=0,a.c.ka=a.c.Da-a.U)}
|
||||
m.N=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.v[b]=c;a=!0;break;case "run":this.v[b]=c;c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.g.J)a=!0;else{var b=null,c,g=y(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.g.ha);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.g.J);c++);c==g.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.g.ha?"powered yet":"ready yet"+(b.Aa?" (waiting for notification)":""))+".");a=!1}a&&(d.g.R?mb(d,!0):d.Ma())};a=!0;break;
|
||||
case "speed":this.v[b]=c;a=!0;break;case "setSpeed":this.v[b]=c,c.onclick=function(){nb(d,d.c.la<<1)},c.textContent=this.c.ia.toFixed(2)+"Mhz",a=!0}return a};function ob(a,b,c){a.U+=b;c&&(a.T=a.a=0)}
|
||||
function pb(a,b){var c=30;c<a.X&&(c=a.X);2>c&&(c=2);var d=1;b&&1<a.c.la&&a.c.ca&&(d=a.c.ca/a.c.Ja);a.c.Za=Math.round(1E3/30);a.c.nb=Math.floor(a.c.ma/c*d);a.c.Ka=Math.floor(a.c.ma/30*d);a.c.ab=Math.floor(a.c.ma/a.X*d);a.c.$a=Math.floor(a.c.ma/2*d);b||(a.c.ua=a.c.Ka,a.c.ta=a.c.ab,a.c.sa=a.c.$a);a.c.La=0}function qb(a){return a.U+a.P+a.T-a.a}function ib(a){a.c.ca=0;a.U=a.P=a.T=a.a=0;jb(a);nb(a,1)}
|
||||
function nb(a,b){if(void 0!==b){.8>a.c.ca/a.c.ia&&(b=1);a.c.la=b;var c=a.c.Ja*a.c.la;if(a.c.ia!=c){a.c.ia=c;var c=a.c.ia.toFixed(2)+"Mhz",d=a.v.setSpeed;d&&(d.textContent=c);a.M("target speed: "+c)}}ob(a,a.P);a.P=0;a.c.ja=ga();a.c.da=0;pb(a)}
|
||||
m.Ma=function(){if(Fa(this,!0)){if(!this.g.R){nb(this);this.w&&this.w.start(this.c.ja,qb(this));this.g.R=!0;this.g.Xa=!0;this.ga&&this.ga.tb();var a=this.v.run;a&&(a.textContent="Halt");this.w&&this.w.ea(!0)}this.c.La>=this.c.ma&&pb(this,!0);this.c.va=0;this.c.Ba=ga();this.c.da&&(a=this.c.Ba-this.c.da,a>this.c.Za&&(this.c.ja+=a,this.c.ja>this.c.Ba&&(this.c.ja=this.c.Ba)));try{do{var b=this.g.ya?1:this.c.nb;try{this.cb(b)}catch(e){if("number"!=typeof e)throw e;}var c=this.T-this.a;this.P+=c;this.c.va+=
|
||||
c;ob(this,0,!0);a=c;if(this.g.ya){var d=!1;this.c.Ca=this.c.Ca+this.Ya()|0;this.c.ka-=a;0>=this.c.ka&&(this.c.ka+=this.c.qa,d=!0);0<=this.c.ra&&this.c.ra<=qb(this)&&(this.c.qa=this.c.ra=-1,jb(this),mb(this),d=!0);d&&this.M(qb(this)+" cycles: checksum="+n(this.c.Ca))}this.c.ta-=c;0>=this.c.ta&&(this.c.ta+=this.c.ab,this.w&&rb(this.w,this.c.Ea++),this.c.Ea>this.X&&(this.c.Ea=0));this.c.sa-=c;0>=this.c.sa&&(this.c.sa+=this.c.$a,this.w&&this.w.ea());this.c.ua-=c;if(0>=this.c.ua){this.c.ua+=this.c.Ka;
|
||||
break}}while(this.g.R)}catch(e){mb(this);kb(this);this.w&&this.w.stop(ga(),qb(this));Fa(this,!1);b=e.stack||e.message;this.g.aa=!0;this.K(b);return}b=setTimeout;c=this.gb;this.c.da=ga();a=this.c.Za;this.c.va&&(a=Math.round(a*this.c.va/this.c.Ka));a-=this.c.da-this.c.Ba;if(d=this.c.da-this.c.ja)this.c.ca=Math.round(this.P/(10*d))/100,864E5<=d&&(this.U=0,nb(this));if(0>a||this.c.ca<this.c.ia)a=0;this.c.La+=this.c.va;this.c.da+=a;b(c,a)}else kb(this),this.w&&this.w.stop(ga(),qb(this))};m.cb=function(){return 0};
|
||||
function mb(a,b){a.g.pa&&(a.g.Ia=!0);a.T-=a.a;a.a=0;ob(a,a.P);a.P=0;if(a.g.R){a.g.R=!1;a.ga&&a.ga.tb();var c=a.v.run;c&&(c.textContent="Run")}a.g.za=b}function kb(a){a.w&&(rb(a.w,-1),a.w.ea(void 0))}function sb(a){this.$=a.model||8080;fb.call(this,a,1E6);this.Pa=tb;ib(this);this.g.za=this.g.hb=!1;this.Ra=0;this.O=[];this.H=this.I=this.S=this.Oa=this.Ga=this.Z=0;this.fa=[];this.Qa=0;ub(this)}x(sb,fb);function vb(a,b){a.fa.push(b)}m=sb.prototype;
|
||||
m.reset=function(){this.g.R&&mb(this);ub(this);ib(this);this.g.aa=!1;this.parent.reset.call(this)};function ub(a){a.b=0;a.h=0;a.i=0;a.j=0;a.l=0;a.m=0;a.o=0;a.A=0;D(a,a.Qa);wb(a,0);a.G=0}function xb(a,b){a.Qa=b;D(a,b)}m.Ya=function(){var a=this.b+this.h+this.i+this.j+this.l+this.m+this.o|0;return a=a+this.A+this.u+yb(this)|0};
|
||||
m.save=function(){var a=new E(this);F(a,0,[this.b,this.h,this.i,this.j,this.l,this.m,this.o,this.A,this.u,yb(this)]);F(a,1,[this.G,this.U,this.c.la]);for(var b=this.B,c=0,d=[],e=0;e<b.f;e++){var f=b.b[e];if(f.Y||f.ib){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var H=f[g],w=g+1;w<f.length&&f[w]===H;)w++;l[k++]=w-g;l[k++]=H;g=w}if(l.length<f.length){f=l;break a}}d[h]=f}}F(a,2,d);return a.data()};
|
||||
m.restore=function(a){var b=a[0];this.b=b[0];this.h=b[1];this.i=b[2];this.j=b[3];this.l=b[4];this.m=b[5];this.o=b[6];this.A=b[7]&65535;D(this,b[8]);wb(this,b[9]);b=a[1];this.G=b[0];this.U=b[1];nb(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.o){for(var f=0,h=Array(b.o),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.b[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
m.N=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "SF":case "ZF":case "AF":case "PF":case "CF":this.v[b]=c;this.Ra++;d=!0;break;default:d=this.parent.N.call(this,a,b,c)}return d};function zb(a){return a.h<<8|a.i}function Ab(a,b){a.h=b>>8&255;a.i=b&255}function Bb(a){return a.j<<8|a.l}function Cb(a,b){a.j=b>>8&255;a.l=b&255}function G(a){return a.m<<8|a.o}
|
||||
function I(a,b){a.m=b>>8&255;a.o=b&255}function D(a,b){a.u=b&65535}function J(a){return a.f&256?1:0}function Db(a){return Ia[a.s&255]?4:0}function yb(a){return a.L&-214|(a.s&128?128:0)|(a.f&255?0:64)|((a.s^a.C)&16?16:0)|Db(a)|J(a)}function wb(a,b){a.f=a.s=a.C=0;b&1&&(a.f|=256);b&4||(a.s|=1);b&16&&(a.C|=16);b&64||(a.f|=255);b&128&&(a.s^=192);a.L=a.L&-513|b&512|2}function K(a,b){a.C=a.b^b;return(a.f=a.s=a.b+b)&255}function L(a,b){a.C=a.b^b;return(a.f=a.s=a.b+b+(a.f&256?1:0))&255}
|
||||
function M(a,b){return a.f=a.s=a.C=a.b&b}function N(a,b){a.C=a.b^b;a.f=a.s=a.b-b}function Eb(a,b){a.C=b;b=(a.s=b-1)&255;a.f=a.f&-256|b;return b}function Fb(a,b){a.C=b;b=(a.s=b+1)&255;a.f=a.f&-256|b;return b}function O(a,b){return a.f=a.s=a.C=a.b|b}function P(a,b){a.C=a.b^b;return(a.f=a.s=a.b-b)&255}function Q(a,b){a.C=a.b^b;return(a.f=a.s=a.b-b-(a.f&256?1:0))&255}function R(a,b){return a.f=a.s=a.C=a.b^b}m.D=function(a){return this.O[(a&this.Z)>>>this.H].na(a&this.S,a)};
|
||||
function Gb(a,b){var c=b&a.S,d=(b&a.Z)>>>a.H;if(c<a.S)return a.O[d].sb(c,b);c=a.O[d].na(c,b);return c|=a.O[d+1&a.Ga].na(0,b+1)<<8}function S(a,b,c){a.O[(b&a.Z)>>>a.H].xa(b&a.S,c&255,b)}function Hb(a,b,c){var d=b&a.S,e=(b&a.Z)>>>a.H;d<a.S?a.O[e].ub(d,c&65535,b):(a.O[e++].xa(d,c&255,b),a.O[e&a.Ga].xa(0,c>>8&255,b+1))}function T(a){var b=a.D(a.u);D(a,a.u+1);return b}function U(a){var b=Gb(a,a.u);D(a,a.u+2);return b}function V(a){var b=Gb(a,a.A);a.A=a.A+2&65535;return b}
|
||||
function W(a,b){a.A=a.A-2&65535;Hb(a,a.A,b)}function X(a,b,c,d){d=d||2;a.v[b]&&(void 0===c&&(a.g.aa=!0,a.K("Value for "+b+" is invalid"),mb(a)),c=!a.g.R||a.g.Wa?n(c,d):"--------".substr(0,d),a.v[b].textContent!=c&&(a.v[b].textContent=c))}
|
||||
m.ea=function(a){this.Ra&&(a||!this.g.R||this.g.Wa)&&(X(this,"A",this.b),X(this,"B",this.h),X(this,"C",this.i),X(this,"BC",zb(this),4),X(this,"D",this.j),X(this,"E",this.l),X(this,"DE",Bb(this),4),X(this,"H",this.m),X(this,"L",this.o),X(this,"HL",G(this),4),X(this,"SP",this.A,4),X(this,"PC",this.u,4),a=yb(this),X(this,"PS",a,4),X(this,"SF",a&128,1),X(this,"ZF",a&64,1),X(this,"AF",a&16,1),X(this,"PF",a&4,1),X(this,"CF",a&1,1));if(a=this.v.speed)a.textContent=this.g.R&&this.c.ca?this.c.ca.toFixed(2)+
|
||||
"Mhz":"Stopped"};m.cb=function(a){this.g.za=!0;this.g.hb=!1;this.g.Xa=!1;this.T=this.a=a;do{if(a=this.G)this.G&8&&this.L&512?(a=199|(this.G&7)<<3,this.G&=-16,this.L&=-513,this.Pa[a].call(this),a=!0):a=!1,a=!a;if(a&&this.G&16){this.a=0;break}this.Pa[T(this)].call(this)}while(0<this.a);return this.g.za?this.T-this.a:void 0===this.g.za?0:-1};t(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new sb(d);Ea(d,c)}});function Ib(){this.a-=4}
|
||||
function Jb(){D(this,U(this));this.a-=10}function Kb(){D(this,V(this));this.a-=10}function Lb(){var a=U(this);W(this,this.u);D(this,a);this.a-=17}
|
||||
var tb=[Ib,function(){Ab(this,U(this));this.a-=10},function(){S(this,zb(this),this.b);this.a-=7},function(){Ab(this,zb(this)+1);this.a-=5},function(){this.h=Fb(this,this.h);this.a-=5},function(){this.h=Eb(this,this.h);this.a-=5},function(){this.h=T(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;this.f=this.f&255|a&256;this.a-=4},Ib,function(){var a;I(this,a=G(this)+zb(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.D(zb(this));this.a-=7},function(){Ab(this,zb(this)-
|
||||
1);this.a-=5},function(){this.i=Fb(this,this.i);this.a-=5},function(){this.i=Eb(this,this.i);this.a-=5},function(){this.i=T(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;this.f=this.f&255|a;this.a-=4},Ib,function(){Cb(this,U(this));this.a-=10},function(){S(this,Bb(this),this.b);this.a-=7},function(){Cb(this,Bb(this)+1);this.a-=5},function(){this.j=Fb(this,this.j);this.a-=5},function(){this.j=Eb(this,this.j);this.a-=5},function(){this.j=T(this);this.a-=7},function(){var a=this.b<<
|
||||
1;this.b=a&255|this.f>>8;this.f=this.f&255|a&256;this.a-=4},Ib,function(){var a;I(this,a=G(this)+Bb(this));this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.D(Bb(this));this.a-=7},function(){Cb(this,Bb(this)-1);this.a-=5},function(){this.l=Fb(this,this.l);this.a-=5},function(){this.l=Eb(this,this.l);this.a-=5},function(){this.l=T(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(this.f&256|this.b)>>1;this.f=this.f&255|a;this.a-=4},Ib,function(){I(this,U(this));this.a-=10},function(){Hb(this,
|
||||
U(this),G(this));this.a-=16},function(){I(this,G(this)+1);this.a-=5},function(){this.m=Fb(this,this.m);this.a-=5},function(){this.m=Eb(this,this.m);this.a-=5},function(){this.m=T(this);this.a-=7},function(){var a=this.b,b=!!J(this),c=!!((this.s^this.C)&16);9<(a&15)||c?(a+=6,c=!0):c=!1;160<=a||b?(a+=96,b=!0):b=!1;this.f=this.s=this.b=a&255;this.f=b?this.f|256:this.f&-257;this.C=c?~this.s&16|this.C&-17:this.s&16|this.C&-17;this.a-=4},Ib,function(){var a;I(this,a=G(this)+G(this));this.f=this.f&255|a>>
|
||||
8&256;this.a-=10},function(){I(this,Gb(this,U(this)));this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.o=Fb(this,this.o);this.a-=5},function(){this.o=Eb(this,this.o);this.a-=5},function(){this.o=T(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Ib,function(){this.A=U(this)&65535;this.a-=10},function(){S(this,U(this),this.b);this.a-=13},function(){this.A=this.A+1&65535;this.a-=5},function(){var a=G(this);S(this,a,Fb(this,this.D(a)));this.a-=10},function(){var a=G(this);
|
||||
S(this,a,Eb(this,this.D(a)));this.a-=10},function(){S(this,G(this),T(this));this.a-=10},function(){this.f|=256;this.a-=4},Ib,function(){var a;this.A=(a=G(this)+this.A)&65535;this.f=this.f&255|a>>8&256;this.a-=10},function(){this.b=this.D(U(this));this.a-=13},function(){this.A=this.A-1&65535;this.a-=5},function(){this.b=Fb(this,this.b);this.a-=5},function(){this.b=Eb(this,this.b);this.a-=5},function(){this.b=T(this);this.a-=7},function(){this.f=J(this)?this.f&-257:this.f|256;this.a-=4},function(){this.a-=
|
||||
5},function(){this.h=this.i;this.a-=5},function(){this.h=this.j;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=this.m;this.a-=5},function(){this.h=this.o;this.a-=5},function(){this.h=this.D(G(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.i=this.h;this.a-=5},function(){this.a-=5},function(){this.i=this.j;this.a-=5},function(){this.i=this.l;this.a-=5},function(){this.i=this.m;this.a-=5},function(){this.i=this.o;this.a-=5},function(){this.i=this.D(G(this));this.a-=
|
||||
7},function(){this.i=this.b;this.a-=5},function(){this.j=this.h;this.a-=5},function(){this.j=this.i;this.a-=5},function(){this.a-=5},function(){this.j=this.l;this.a-=5},function(){this.j=this.m;this.a-=5},function(){this.j=this.o;this.a-=5},function(){this.j=this.D(G(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.i;this.a-=5},function(){this.l=this.j;this.a-=5},function(){this.a-=5},function(){this.l=this.m;this.a-=5},function(){this.l=
|
||||
this.o;this.a-=5},function(){this.l=this.D(G(this));this.a-=7},function(){this.l=this.b;this.a-=5},function(){this.m=this.h;this.a-=5},function(){this.m=this.i;this.a-=5},function(){this.m=this.j;this.a-=5},function(){this.m=this.l;this.a-=5},function(){this.a-=5},function(){this.m=this.o;this.a-=5},function(){this.m=this.D(G(this));this.a-=7},function(){this.m=this.b;this.a-=5},function(){this.o=this.h;this.a-=5},function(){this.o=this.i;this.a-=5},function(){this.o=this.j;this.a-=5},function(){this.o=
|
||||
this.l;this.a-=5},function(){this.o=this.m;this.a-=5},function(){this.a-=5},function(){this.o=this.D(G(this));this.a-=7},function(){this.o=this.b;this.a-=5},function(){S(this,G(this),this.h);this.a-=7},function(){S(this,G(this),this.i);this.a-=7},function(){S(this,G(this),this.j);this.a-=7},function(){S(this,G(this),this.l);this.a-=7},function(){S(this,G(this),this.m);this.a-=7},function(){S(this,G(this),this.o);this.a-=7},function(){this.F|=16;this.a-=7;this.L&512||lb(this)},function(){S(this,G(this),
|
||||
this.b);this.a-=7},function(){this.b=this.h;this.a-=5},function(){this.b=this.i;this.a-=5},function(){this.b=this.j;this.a-=5},function(){this.b=this.l;this.a-=5},function(){this.b=this.m;this.a-=5},function(){this.b=this.o;this.a-=5},function(){this.b=this.D(G(this));this.a-=7},function(){this.a-=5},function(){this.b=K(this,this.h);this.a-=4},function(){this.b=K(this,this.i);this.a-=4},function(){this.b=K(this,this.j);this.a-=4},function(){this.b=K(this,this.l);this.a-=4},function(){this.b=K(this,
|
||||
this.m);this.a-=4},function(){this.b=K(this,this.o);this.a-=4},function(){this.b=K(this,this.D(G(this)));this.a-=7},function(){this.b=K(this,this.b);this.a-=4},function(){this.b=L(this,this.h);this.a-=4},function(){this.b=L(this,this.i);this.a-=4},function(){this.b=L(this,this.j);this.a-=4},function(){this.b=L(this,this.l);this.a-=4},function(){this.b=L(this,this.m);this.a-=4},function(){this.b=L(this,this.o);this.a-=4},function(){this.b=L(this,this.D(G(this)));this.a-=7},function(){this.b=L(this,
|
||||
this.b);this.a-=4},function(){this.b=P(this,this.h);this.a-=4},function(){this.b=P(this,this.i);this.a-=4},function(){this.b=P(this,this.j);this.a-=4},function(){this.b=P(this,this.l);this.a-=4},function(){this.b=P(this,this.m);this.a-=4},function(){this.b=P(this,this.o);this.a-=4},function(){this.b=P(this,this.D(G(this)));this.a-=7},function(){this.b=P(this,this.b);this.a-=4},function(){this.b=Q(this,this.h);this.a-=4},function(){this.b=Q(this,this.i);this.a-=4},function(){this.b=Q(this,this.j);
|
||||
this.a-=4},function(){this.b=Q(this,this.l);this.a-=4},function(){this.b=Q(this,this.m);this.a-=4},function(){this.b=Q(this,this.o);this.a-=4},function(){this.b=Q(this,this.D(G(this)));this.a-=7},function(){this.b=Q(this,this.b);this.a-=4},function(){this.b=M(this,this.h);this.a-=4},function(){this.b=M(this,this.i);this.a-=4},function(){this.b=M(this,this.j);this.a-=4},function(){this.b=M(this,this.l);this.a-=4},function(){this.b=M(this,this.m);this.a-=4},function(){this.b=M(this,this.o);this.a-=
|
||||
4},function(){this.b=M(this,this.D(G(this)));this.a-=7},function(){this.b=M(this,this.b);this.a-=4},function(){this.b=R(this,this.h);this.a-=4},function(){this.b=R(this,this.i);this.a-=4},function(){this.b=R(this,this.j);this.a-=4},function(){this.b=R(this,this.l);this.a-=4},function(){this.b=R(this,this.m);this.a-=4},function(){this.b=R(this,this.o);this.a-=4},function(){this.b=R(this,this.D(G(this)));this.a-=7},function(){this.b=R(this,this.b);this.a-=4},function(){this.b=O(this,this.h);this.a-=
|
||||
4},function(){this.b=O(this,this.i);this.a-=4},function(){this.b=O(this,this.j);this.a-=4},function(){this.b=O(this,this.l);this.a-=4},function(){this.b=O(this,this.m);this.a-=4},function(){this.b=O(this,this.o);this.a-=4},function(){this.b=O(this,this.D(G(this)));this.a-=7},function(){this.b=O(this,this.b);this.a-=4},function(){N(this,this.h);this.a-=4},function(){N(this,this.i);this.a-=4},function(){N(this,this.j);this.a-=4},function(){N(this,this.l);this.a-=4},function(){N(this,this.m);this.a-=
|
||||
4},function(){N(this,this.o);this.a-=4},function(){N(this,this.D(G(this)));this.a-=7},function(){N(this,this.b);this.a-=4},function(){this.f&255&&(D(this,V(this)),this.a-=6);this.a-=5},function(){xb(this,V(this));this.a-=10},function(){var a=U(this);this.f&255&&D(this,a);this.a-=10},Gb,function(){var a=U(this);this.f&255&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},function(){W(this,wb(this));this.a-=11},function(){this.b=K(this,T(this));this.a-=7},function(){W(this,this.u);D(this,0);this.a-=
|
||||
11},function(){this.f&255||(D(this,V(this)),this.a-=6);this.a-=5},Hb,function(){var a=U(this);this.f&255||D(this,a);this.a-=10},Gb,function(){var a=U(this);this.f&255||(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Ib,function(){this.b=L(this,T(this));this.a-=7},function(){W(this,this.u);D(this,8);this.a-=11},function(){J(this)||(D(this,V(this)),this.a-=6);this.a-=5},function(){zb(this,V(this));this.a-=10},function(){var a=U(this);J(this)||D(this,a);this.a-=10},function(){for(var a=T(this),b=this.B,
|
||||
c=this.b,d=1,e=0;0<d;){var f=b.j[a],h=b.u[a]||1,g=1==h?255:2==h?65535:-1,g=(c>>>=e)&g;if(void 0!==f&&f[0])f[0](a,g,void 0);e+=h<<3;a+=h;d-=h}this.a-=10},function(){var a=U(this);J(this)||(W(this,this.u),D(this,a),this.a-=6);this.a-=11},function(){W(this,yb(this));this.a-=11},function(){this.b=P(this,T(this));this.a-=7},function(){W(this,this.u);D(this,16);this.a-=11},function(){J(this)&&(D(this,V(this)),this.a-=6);this.a-=5},Hb,function(){var a=U(this);J(this)&&D(this,a);this.a-=10},function(){for(var a=
|
||||
T(this),b=this.B,c=1,d=0,e=0;0<c;){var f=b.i[a],h=b.s[a]||1,g=1==h?255:2==h?65535:-1,k=g;void 0!==f&&f[0]&&(k=f[0](a,void 0),void 0===k?k=g:k&=g);d|=k<<e;e+=h<<3;a+=h;c-=h}this.b=d&255;this.a-=10},function(){var a=U(this);J(this)&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Ib,function(){this.b=Q(this,T(this));this.a-=7},function(){W(this,this.u);D(this,24);this.a-=11},function(){Ab(this)||(D(this,V(this)),this.a-=6);this.a-=5},function(){I(this,V(this));this.a-=10},function(){var a=U(this);
|
||||
Ab(this)||D(this,a);this.a-=10},function(){var a=V(this);W(this,G(this));I(this,a);this.a-=18},function(){var a=U(this);Ab(this)||(W(this,this.u),D(this,a),this.a-=6);this.a-=11},function(){W(this,G(this));this.a-=11},function(){this.b=M(this,T(this));this.a-=7},function(){W(this,this.u);D(this,32);this.a-=11},function(){Ab(this)&&(D(this,V(this)),this.a-=6);this.a-=5},function(){D(this,G(this));this.a-=5},function(){var a=U(this);Ab(this)&&D(this,a);this.a-=10},function(){var a=G(this);I(this,yb(this));
|
||||
zb(this,a);this.a-=5},function(){var a=U(this);Ab(this)&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Ib,function(){this.b=R(this,T(this));this.a-=7},function(){W(this,this.u);D(this,40);this.a-=11},function(){this.s&128||(D(this,V(this)),this.a-=6);this.a-=5},function(){var a=V(this);ub(this,a);this.b=a>>8;this.a-=10},function(){var a=U(this);this.s&128||D(this,a);this.a-=10},function(){this.L&=-513;this.a-=4},function(){var a=U(this);this.s&128||(W(this,this.u),D(this,a),this.a-=6);this.a-=
|
||||
11},function(){W(this,vb(this)&255|this.b<<8);this.a-=11},function(){this.b=O(this,T(this));this.a-=7},function(){W(this,this.u);D(this,48);this.a-=11},function(){this.s&128&&(D(this,V(this)),this.a-=6);this.a-=5},function(){this.A=G(this)&65535;this.a-=5},function(){var a=U(this);this.s&128&&D(this,a);this.a-=10},function(){this.L|=512;this.a-=4},function(){var a=U(this);this.s&128&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Ib,function(){N(this,T(this));this.a-=7},function(){W(this,this.u);
|
||||
D(this,56);this.a-=11}];function Y(a){u.call(this,"ChipSet",a,Y);var b=a.model;b&&!Jb[b]&&q("Unrecognized ChipSet model: "+b);this.$=Jb[b];a.sound&&(this.m=null,window&&(this.m=window.AudioContext||window.webkitAudioContext),this.m&&new this.m);B(this)}x(Y);var Jb={SI1978:1978.1};m=Y.prototype;m.M=function(){return!1};
|
||||
m.ba=function(a,b,c,d){this.B=b;this.a=c;this.I=d;this.w=a;if(1978.1==this.$){var e;a=Kb;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.i[g]?q("Input port 0x"+n(g,4)+" already registered"):c.i[g]=[h,!1]}var k;e=Lb;void 0===k&&(k=0);for(var l in e)if(f=b,a=+l+k,c=e[l].bind(this),void 0!==c)for(d=+l+k;d<=a;d++)void 0!==f.j[d]?q("Output port 0x"+n(d,4)+" already registered"):f.j[d]=[c,!1]}};
|
||||
m.W=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.V=function(a){return a?this.save():!0};m.reset=function(){this.f=this.h=this.b=this.c=this.l=this.j=this.i=0};m.save=function(){var a=new E(this);1978.1==this.$&&F(a,0,[this.i,this.j,this.l,this.c,this.b,this.f,this.h]);return a.data()};m.restore=function(a){a=a[0];1978.1==this.$&&(this.i=a[0],this.j=a[1],this.l=a[2],this.c=a[3],this.b=a[4],this.f=a[5],this.h=a[6]);return!0};m.ib=function(){return this.i};
|
||||
m.jb=function(){return this.j};m.kb=function(){return this.l};m.hb=function(){return this.c<<this.b>>8&255};m.mb=function(a,b){this.b=b};m.ob=function(a,b){this.f=b};m.nb=function(a,b){this.c=b};m.pb=function(a,b){this.h=b};var Kb={0:Y.prototype.ib,1:Y.prototype.jb,2:Y.prototype.kb,3:Y.prototype.hb},Lb={2:Y.prototype.mb,3:Y.prototype.ob,4:Y.prototype.nb,5:Y.prototype.pb};t(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Y(d);Ea(d,c)}});
|
||||
function Mb(a){u.call(this,"ROM",a,Mb);this.b=null;this.j=a.addr;this.c=a.size;this.f=a.alias;this.h=a.file;this.l=ba(this.h);if(this.h){a=this.h;var b=ca(this.l);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){Nb(c,a,b,f)})}}x(Mb);Mb.prototype.ba=function(a,b,c,d){this.B=b;this.a=c;this.I=d;Ob(this)};Mb.prototype.W=function(){this.i&&(this.I&&this.I.a(this.id,this.j,this.c,this.i),delete this.i);return!0};
|
||||
Mb.prototype.V=function(){return!0};
|
||||
function Nb(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{Ca(a.Ra,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(g){a.K("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
|
||||
" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);Ob(a)}}
|
||||
function Ob(a){if(!Ga(a))if(!a.h)B(a);else if(a.b&&a.B){if(a.b.length!=a.c){var b="ROM size (0x"+n(a.b.length)+") does not match specified size ("+("0x"+n(a.c))+")";a.g.aa=!0;a.K(b)}else{b=a.j;if(Oa(a.B,b,a.c,Wa)){for(var c=0;c<a.b.length;c++){var d=a.B,e=b+c;d.b[(e&d.f)>>>d.G].bb(e&d.l,a.b[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){for(var f=a,d=b[c],e=f.B,h=f.c,g=[],k=f.j>>>e.G;0<h&&k<e.b.length;)g.push(e.b[k++]),h-=
|
||||
e.H;e=f.B;f=f.c;h=0;for(d>>>=e.G;0<f&&d<e.b.length;){k=g[h++];if(!k)break;e.b[d++]=k;f-=e.H}}delete a.b}}B(a)}}t(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Mb(d);Ea(d,c)}});function Pb(a){u.call(this,"RAM",a,Pb);this.f=a.addr;this.c=a.size;this.b=!1}x(Pb);m=Pb.prototype;m.ba=function(a,b,c,d){this.B=b;this.a=c;this.I=d;B(this)};m.W=function(a,b){b||this.reset();return!0};m.V=function(a){return a?this.save():!0};
|
||||
m.reset=function(){!this.b&&this.c&&Oa(this.B,this.f,this.c,1)&&(this.b=!0,this.status(Math.floor(this.c/1024)+"Kb allocated"));this.b||q("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};t(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Pb(d);Ea(d,c)}});function Qb(a){u.call(this,"Keyboard",a,Qb);B(this)}x(Qb);t(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Qb(d);Ea(d,c)}});
|
||||
function Rb(a){u.call(this,"Video",a,Rb);this.eb=a.interruptRate;this.X=a.refreshRate||60;B(this)}x(Rb);Rb.prototype.ba=function(a,b,c,d){this.w=a;this.B=b;this.a=c;this.I=d};
|
||||
this.l;this.a-=5},function(){this.o=this.m;this.a-=5},function(){this.a-=5},function(){this.o=this.D(G(this));this.a-=7},function(){this.o=this.b;this.a-=5},function(){S(this,G(this),this.h);this.a-=7},function(){S(this,G(this),this.i);this.a-=7},function(){S(this,G(this),this.j);this.a-=7},function(){S(this,G(this),this.l);this.a-=7},function(){S(this,G(this),this.m);this.a-=7},function(){S(this,G(this),this.o);this.a-=7},function(){var a=this.u-1;if(this.fa.length)for(var b=0;b<this.fa.length;b++)if(this.fa[b](a))return;
|
||||
this.G|=16;this.a-=7;this.L&512||mb(this)},function(){S(this,G(this),this.b);this.a-=7},function(){this.b=this.h;this.a-=5},function(){this.b=this.i;this.a-=5},function(){this.b=this.j;this.a-=5},function(){this.b=this.l;this.a-=5},function(){this.b=this.m;this.a-=5},function(){this.b=this.o;this.a-=5},function(){this.b=this.D(G(this));this.a-=7},function(){this.a-=5},function(){this.b=K(this,this.h);this.a-=4},function(){this.b=K(this,this.i);this.a-=4},function(){this.b=K(this,this.j);this.a-=4},
|
||||
function(){this.b=K(this,this.l);this.a-=4},function(){this.b=K(this,this.m);this.a-=4},function(){this.b=K(this,this.o);this.a-=4},function(){this.b=K(this,this.D(G(this)));this.a-=7},function(){this.b=K(this,this.b);this.a-=4},function(){this.b=L(this,this.h);this.a-=4},function(){this.b=L(this,this.i);this.a-=4},function(){this.b=L(this,this.j);this.a-=4},function(){this.b=L(this,this.l);this.a-=4},function(){this.b=L(this,this.m);this.a-=4},function(){this.b=L(this,this.o);this.a-=4},function(){this.b=
|
||||
L(this,this.D(G(this)));this.a-=7},function(){this.b=L(this,this.b);this.a-=4},function(){this.b=P(this,this.h);this.a-=4},function(){this.b=P(this,this.i);this.a-=4},function(){this.b=P(this,this.j);this.a-=4},function(){this.b=P(this,this.l);this.a-=4},function(){this.b=P(this,this.m);this.a-=4},function(){this.b=P(this,this.o);this.a-=4},function(){this.b=P(this,this.D(G(this)));this.a-=7},function(){this.b=P(this,this.b);this.a-=4},function(){this.b=Q(this,this.h);this.a-=4},function(){this.b=
|
||||
Q(this,this.i);this.a-=4},function(){this.b=Q(this,this.j);this.a-=4},function(){this.b=Q(this,this.l);this.a-=4},function(){this.b=Q(this,this.m);this.a-=4},function(){this.b=Q(this,this.o);this.a-=4},function(){this.b=Q(this,this.D(G(this)));this.a-=7},function(){this.b=Q(this,this.b);this.a-=4},function(){this.b=M(this,this.h);this.a-=4},function(){this.b=M(this,this.i);this.a-=4},function(){this.b=M(this,this.j);this.a-=4},function(){this.b=M(this,this.l);this.a-=4},function(){this.b=M(this,this.m);
|
||||
this.a-=4},function(){this.b=M(this,this.o);this.a-=4},function(){this.b=M(this,this.D(G(this)));this.a-=7},function(){this.b=M(this,this.b);this.a-=4},function(){this.b=R(this,this.h);this.a-=4},function(){this.b=R(this,this.i);this.a-=4},function(){this.b=R(this,this.j);this.a-=4},function(){this.b=R(this,this.l);this.a-=4},function(){this.b=R(this,this.m);this.a-=4},function(){this.b=R(this,this.o);this.a-=4},function(){this.b=R(this,this.D(G(this)));this.a-=7},function(){this.b=R(this,this.b);
|
||||
this.a-=4},function(){this.b=O(this,this.h);this.a-=4},function(){this.b=O(this,this.i);this.a-=4},function(){this.b=O(this,this.j);this.a-=4},function(){this.b=O(this,this.l);this.a-=4},function(){this.b=O(this,this.m);this.a-=4},function(){this.b=O(this,this.o);this.a-=4},function(){this.b=O(this,this.D(G(this)));this.a-=7},function(){this.b=O(this,this.b);this.a-=4},function(){N(this,this.h);this.a-=4},function(){N(this,this.i);this.a-=4},function(){N(this,this.j);this.a-=4},function(){N(this,
|
||||
this.l);this.a-=4},function(){N(this,this.m);this.a-=4},function(){N(this,this.o);this.a-=4},function(){N(this,this.D(G(this)));this.a-=7},function(){N(this,this.b);this.a-=4},function(){this.f&255&&(D(this,V(this)),this.a-=6);this.a-=5},function(){Ab(this,V(this));this.a-=10},function(){var a=U(this);this.f&255&&D(this,a);this.a-=10},Jb,function(){var a=U(this);this.f&255&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},function(){W(this,zb(this));this.a-=11},function(){this.b=K(this,T(this));this.a-=
|
||||
7},function(){W(this,this.u);D(this,0);this.a-=11},function(){this.f&255||(D(this,V(this)),this.a-=6);this.a-=5},Kb,function(){var a=U(this);this.f&255||D(this,a);this.a-=10},Jb,function(){var a=U(this);this.f&255||(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Lb,function(){this.b=L(this,T(this));this.a-=7},function(){W(this,this.u);D(this,8);this.a-=11},function(){J(this)||(D(this,V(this)),this.a-=6);this.a-=5},function(){Cb(this,V(this));this.a-=10},function(){var a=U(this);J(this)||D(this,a);
|
||||
this.a-=10},function(){for(var a=T(this),b=this.B,c=this.b,d=1,e=0;0<d;){var f=b.j[a],h=b.u[a]||1,g=1==h?255:2==h?65535:-1,g=(c>>>=e)&g;if(void 0!==f&&f[0])f[0](a,g,void 0);e+=h<<3;a+=h;d-=h}this.a-=10},function(){var a=U(this);J(this)||(W(this,this.u),D(this,a),this.a-=6);this.a-=11},function(){W(this,Bb(this));this.a-=11},function(){this.b=P(this,T(this));this.a-=7},function(){W(this,this.u);D(this,16);this.a-=11},function(){J(this)&&(D(this,V(this)),this.a-=6);this.a-=5},Kb,function(){var a=U(this);
|
||||
J(this)&&D(this,a);this.a-=10},function(){for(var a=T(this),b=this.B,c=1,d=0,e=0;0<c;){var f=b.i[a],h=b.s[a]||1,g=1==h?255:2==h?65535:-1,k=g;void 0!==f&&f[0]&&(k=f[0](a,void 0),void 0===k?k=g:k&=g);d|=k<<e;e+=h<<3;a+=h;c-=h}this.b=d&255;this.a-=10},function(){var a=U(this);J(this)&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Lb,function(){this.b=Q(this,T(this));this.a-=7},function(){W(this,this.u);D(this,24);this.a-=11},function(){Db(this)||(D(this,V(this)),this.a-=6);this.a-=5},function(){I(this,
|
||||
V(this));this.a-=10},function(){var a=U(this);Db(this)||D(this,a);this.a-=10},function(){var a=V(this);W(this,G(this));I(this,a);this.a-=18},function(){var a=U(this);Db(this)||(W(this,this.u),D(this,a),this.a-=6);this.a-=11},function(){W(this,G(this));this.a-=11},function(){this.b=M(this,T(this));this.a-=7},function(){W(this,this.u);D(this,32);this.a-=11},function(){Db(this)&&(D(this,V(this)),this.a-=6);this.a-=5},function(){D(this,G(this));this.a-=5},function(){var a=U(this);Db(this)&&D(this,a);
|
||||
this.a-=10},function(){var a=G(this);I(this,Bb(this));Cb(this,a);this.a-=5},function(){var a=U(this);Db(this)&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Lb,function(){this.b=R(this,T(this));this.a-=7},function(){W(this,this.u);D(this,40);this.a-=11},function(){this.s&128||(D(this,V(this)),this.a-=6);this.a-=5},function(){var a=V(this);wb(this,a);this.b=a>>8;this.a-=10},function(){var a=U(this);this.s&128||D(this,a);this.a-=10},function(){this.L&=-513;this.a-=4},function(){var a=U(this);this.s&
|
||||
128||(W(this,this.u),D(this,a),this.a-=6);this.a-=11},function(){W(this,yb(this)&255|this.b<<8);this.a-=11},function(){this.b=O(this,T(this));this.a-=7},function(){W(this,this.u);D(this,48);this.a-=11},function(){this.s&128&&(D(this,V(this)),this.a-=6);this.a-=5},function(){this.A=G(this)&65535;this.a-=5},function(){var a=U(this);this.s&128&&D(this,a);this.a-=10},function(){this.L|=512;this.a-=4},function(){var a=U(this);this.s&128&&(W(this,this.u),D(this,a),this.a-=6);this.a-=11},Lb,function(){N(this,
|
||||
T(this));this.a-=7},function(){W(this,this.u);D(this,56);this.a-=11}];function Y(a){u.call(this,"ChipSet",a,Y);var b=a.model;b&&!Mb[b]&&q("Unrecognized ChipSet model: "+b);this.$=Mb[b];a.sound&&(this.m=null,window&&(this.m=window.AudioContext||window.webkitAudioContext),this.m&&new this.m);B(this)}x(Y);var Mb={SI1978:1978.1};m=Y.prototype;m.N=function(){return!1};
|
||||
m.ba=function(a,b,c,d){this.B=b;this.a=c;this.F=d;this.w=a;if(1978.1==this.$){var e;a=Nb;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.i[g]?q("Input port 0x"+n(g,4)+" already registered"):c.i[g]=[h,!1]}var k;e=Ob;void 0===k&&(k=0);for(var l in e)if(f=b,a=+l+k,c=e[l].bind(this),void 0!==c)for(d=+l+k;d<=a;d++)void 0!==f.j[d]?q("Output port 0x"+n(d,4)+" already registered"):f.j[d]=[c,!1]}};
|
||||
m.W=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.V=function(a){return a?this.save():!0};m.reset=function(){this.f=this.h=this.b=this.c=this.l=this.j=this.i=0};m.save=function(){var a=new E(this);1978.1==this.$&&F(a,0,[this.i,this.j,this.l,this.c,this.b,this.f,this.h]);return a.data()};m.restore=function(a){a=a[0];1978.1==this.$&&(this.i=a[0],this.j=a[1],this.l=a[2],this.c=a[3],this.b=a[4],this.f=a[5],this.h=a[6]);return!0};m.kb=function(){return this.i};
|
||||
m.lb=function(){return this.j};m.mb=function(){return this.l};m.jb=function(){return this.c<<this.b>>8&255};m.ob=function(a,b){this.b=b};m.qb=function(a,b){this.f=b};m.pb=function(a,b){this.c=b};m.rb=function(a,b){this.h=b};var Nb={0:Y.prototype.kb,1:Y.prototype.lb,2:Y.prototype.mb,3:Y.prototype.jb},Ob={2:Y.prototype.ob,3:Y.prototype.qb,4:Y.prototype.pb,5:Y.prototype.rb};t(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Y(d);Ea(d,c)}});
|
||||
function Pb(a){u.call(this,"ROM",a,Pb);this.b=null;this.j=a.addr;this.c=a.size;this.l=a.writable;this.f=a.alias;this.h=a.file;this.m=ba(this.h);if(this.h){a=this.h;var b=ca(this.m);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){Qb(c,a,b,f)})}}x(Pb);var Rb=[0,5];Pb.prototype.ba=function(a,b,c,d){this.B=b;this.a=c;this.F=d;Sb(this)};
|
||||
Pb.prototype.W=function(){this.i&&(this.F&&this.F.a(this.id,this.j,this.c,this.i),delete this.i);return!0};Pb.prototype.V=function(){return!0};
|
||||
function Qb(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{Ca(a.Na,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(g){a.K("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
|
||||
" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);Sb(a)}}
|
||||
function Sb(a){if(!Ga(a))if(!a.h)B(a);else if(a.b&&a.B){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size (0x"+n(a.b.length)+") does not match specified size ("+("0x"+n(a.c))+")";a.g.aa=!0;a.K(b)}else if(Tb(a,a.j)){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.B,h=d.c,g=[],k=d.j>>>f.H;0<h&&k<f.b.length;)g.push(f.b[k++]),h-=f.I;f=d.B;d=d.c;h=0;for(e>>>=f.H;0<d&&e<f.b.length;){k=g[h++];if(!k)break;f.b[e++]=k;d-=f.I}}delete a.b}B(a)}}
|
||||
function Tb(a,b){if(Oa(a.B,b,a.c,a.l?1:Xa)){var c;for(c=0;c<a.b.length;c++)Qa(a.B,b+c,a.b[c]);if(a.l&&256==b){for(c=0;c<Rb.length;c++)Qa(a.B,Rb[c],118);vb(a.a,function(a){return function(b){a.F&&(a.M("CP/M vector 0x"+n(b,4)),D(a.a,b),mb(a.F))}}(a));xb(a.a,b)}return!0}return!1}t(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Pb(d);Ea(d,c)}});function Ub(a){u.call(this,"RAM",a,Ub);this.f=a.addr;this.c=a.size;this.b=!1}x(Ub);m=Ub.prototype;
|
||||
m.ba=function(a,b,c,d){this.B=b;this.a=c;this.F=d;B(this)};m.W=function(a,b){b||this.reset();return!0};m.V=function(a){return a?this.save():!0};m.reset=function(){!this.b&&this.c&&Oa(this.B,this.f,this.c,1)&&(this.b=!0,this.status(Math.floor(this.c/1024)+"Kb allocated"));this.b||q("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};t(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ub(d);Ea(d,c)}});
|
||||
function Vb(a){u.call(this,"Keyboard",a,Vb);B(this)}x(Vb);t(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Vb(d);Ea(d,c)}});function Wb(a){u.call(this,"Video",a,Wb);this.fb=a.interruptRate;this.X=a.refreshRate||60;B(this)}x(Wb);Wb.prototype.ba=function(a,b,c,d){this.w=a;this.B=b;this.a=c;this.F=d};
|
||||
t(function(){for(var a=A(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,
|
||||
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||wa.aspect);f&&.3<=f&&3.33>=f&&(ra("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");oa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new Rb(d);Ea(d,c)}});
|
||||
function E(a,b,c){this.id=a.id;this.key=Sb(a,b,c);this.I=a.I;Tb(this,a.$a)}function Sb(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}
|
||||
E.prototype={constructor:E,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Tb(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(e){}b.splice(c,1);c=0}}};
|
||||
function Tb(a,b){a[a.id]={};b&&F(a,"parms",b);a.a=!1}function Ub(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Vb(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function Wb(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}function Xb(a,b){return a[a.id][b]||null}function F(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function Yb(a,b,c){u.call(this,"Computer",a,Yb);this.g.J=!1;Zb(this,b);this.w=gb(this,"autoPower",a);this.f=0;this.H=a.busWidth||a.buswidth;this.b=$b;this.o=null;this.j=this.G=!1;this.L=gb(this,"url")||"";(Math.random()+.1).toString(36);this.c=ac(this);if(this.a=Da("CPU",this.id)){this.I=Da("Debugger",this.id);this.u=[];for(b=null;b=Ka(this,"Video",b);)this.u.push(b);this.B=new Ma({id:this.Ra+".bus",buswidth:this.H},this.a,this.I);var d,e=y(this.id);if((this.h=Da("Panel",this.id))&&this.h.Ga)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.K=this.h.K,d.O=this.h.O,d.Ga=this.h.Ga;for(b=0;b<e.length;b++)d=e[b],d.ba&&d.ba(this,this.B,this.a,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.m=d:this.b=parseInt(d,10));var f;if(a=gb(this,"state")||(f=!0,a.state))b=this.A=a,f||(this.j=!0,this.b=$b),this.b&&(this.s=new E(this,Z),Wb(this.s)?b=null:delete this.s);!b&&this.b&&(b=bc(this))&&(this.j=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.m=null,h.j=!1,h.K("Unable to load machine state from server (error "+
|
||||
c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.o=b,h.G=!0);B(h)})}else B(this);this.v.power||(this.w=!0);!c&&this.w&&cc(this,this.wa)}else q("Unable to find CPU component")}x(Yb);var Z="1.21.7",$b=0;function Zb(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.l=b}
|
||||
function gb(a,b,c){var d=b.toLowerCase(),d=wa[b]||wa[d];void 0===d&&a.l&&(d=a.l[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function cc(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ga(f)){Ga(f,function(){cc(a,b,c)});return}}b.call(a,c)}
|
||||
function dc(a,b){var c=new E(a,Z,"validate");if(Wb(c)&&Vb(c)){var d=Xb(c,"timestamp"),e=b?Xb(b,"timestamp"):"unknown";d!=e&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Yb.prototype;
|
||||
m.wa=function(a){void 0===a&&(a=this.b||(this.o?1:$b));if(!this.f){this.f++;var b=!1,c=!1;this.F=!1;var d=this.s||new E(this,Z);if(-1==a)b=!0;else if(a>$b){if(Wb(d,this.o)){this.i=new E(this,Z,"failsafe");Wb(this.i)&&(ec(this,d),a=2,Tb(this.i));F(this.i,"timestamp",ha());Ub(this.i);var e=this.b&&!this.j;if(1==a||ja("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Vb(d)){var f=Xb(d,"code"),h=Xb(d,"data");f&&("ok"==f?Wb(d,h):("error"==f&&"no machine state"!=
|
||||
h?(this.K("Error: "+h),"unable to verify user"==h&&(na("user",""),this.c=null)):this.O(f+": "+h),Tb(d),Wb(d)?(c=Vb(d),e=!0):c=!1))}e&&dc(this,c?d:null)}else 2==a&&d.clear()}else dc(this);delete this.o;delete this.s}e=y(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=fc(this,h,d,b,c));b=[d,a,c];-1!=a?cc(this,this.Sa,b):this.Sa(b)}};
|
||||
function fc(a,b,c,d,e){if(!b.g.J){b.g.J=!0;if(b.W){var f=null;e&&((f=Xb(c,b.id))||(f=Xb(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.W(f,d)&&f&&(q("Unable to restore state for "+b.type),a.A&&!a.G?(c.clear(),a.b=$b,window&&window.location.reload()):a.F=!0,b.W(null),e=!1)}if(!d&&b.Pa)for(a=b.Pa.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
m.Sa=function(a){var b=a[0],c=0>a[1];a=a[2];this.g.J=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.C||(this.O("PC8080 v"+Z+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.C=!0);this.a&&(fc(this,this.a,b,c,a),kb(this.a));this.F&&(ec(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0};
|
||||
function ec(a,b){if(ja("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.L,d=a.c||"",e=b.toString(),f={app:"PC8080"};f.ver=Z;f.url=c;f.user=d;f.type="bug";f.data=e;p("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
function gc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new E(a,Z),h=new E(a,Z,"validate"),g=ha();F(h,"timestamp",g);F(f,"timestamp",g);F(f,"version","1.21.7");F(f,"url",window?window.location.href:null);F(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.V&&(c&&lb(a.a),d=a.a.V(b,c),"object"===typeof d&&F(f,a.a.id,d),c&&(a.a.g.J=!1,!1===d&&(e=null)));for(var g=y(a.id),k=0;k<g.length;k++){var l=g[k];l.g.J&&(l.V&&(d=l.V(b,c),"object"===typeof d&&F(f,l.id,d)),c&&(l.g.J=!1,!1===d&&(e=
|
||||
null)))}e&&(c?(g=d=!1,b?(a.c&&hc(a,a.c,f.toString()),Ub(h)&&Ub(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.g.J=!1,b=a.v.power)&&(b.textContent="Power");a.f=0;return e}m.reset=function(){this.B&&this.B.reset&&this.B.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||wa.aspect);f&&.3<=f&&3.33>=f&&(ra("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");oa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new Wb(d);Ea(d,c)}});
|
||||
function E(a,b,c){this.id=a.id;this.key=Xb(a,b,c);this.F=a.F;Yb(this,a.bb)}function Xb(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}
|
||||
E.prototype={constructor:E,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Yb(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(e){}b.splice(c,1);c=0}}};
|
||||
function Yb(a,b){a[a.id]={};b&&F(a,"parms",b);a.a=!1}function Zb(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function $b(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function ac(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}function bc(a,b){return a[a.id][b]||null}function F(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function cc(a,b,c){u.call(this,"Computer",a,cc);this.g.J=!1;dc(this,b);this.w=hb(this,"autoPower",a);this.f=0;this.I=a.busWidth||a.buswidth;this.b=ec;this.o=null;this.j=this.H=!1;this.L=hb(this,"url")||"";(Math.random()+.1).toString(36);this.c=fc(this);if(this.a=Da("CPU",this.id)){this.F=Da("Debugger",this.id);this.u=[];for(b=null;b=Ka(this,"Video",b);)this.u.push(b);this.B=new Ma({id:this.Na+".bus",busWidth:this.I},this.a,this.F);var d,e=y(this.id);if((this.h=Da("Panel",this.id))&&this.h.Ha)for(b=
|
||||
0;b<e.length;b++)d=e[b],d.K=this.h.K,d.M=this.h.M,d.Ha=this.h.Ha;for(b=0;b<e.length;b++)d=e[b],d.ba&&d.ba(this,this.B,this.a,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.m=d:this.b=parseInt(d,10));var f;if(a=hb(this,"state")||(f=!0,a.state))b=this.A=a,f||(this.j=!0,this.b=ec),this.b&&(this.s=new E(this,Z),ac(this.s)?b=null:delete this.s);!b&&this.b&&(b=gc(this))&&(this.j=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.m=null,h.j=!1,h.K("Unable to load machine state from server (error "+
|
||||
c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.o=b,h.H=!0);B(h)})}else B(this);this.v.power||(this.w=!0);!c&&this.w&&hc(this,this.wa)}else q("Unable to find CPU component")}x(cc);var Z="1.21.7",ec=0;function dc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.l=b}
|
||||
function hb(a,b,c){var d=b.toLowerCase(),d=wa[b]||wa[d];void 0===d&&a.l&&(d=a.l[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function hc(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ga(f)){Ga(f,function(){hc(a,b,c)});return}}b.call(a,c)}
|
||||
function ic(a,b){var c=new E(a,Z,"validate");if(ac(c)&&$b(c)){var d=bc(c,"timestamp"),e=b?bc(b,"timestamp"):"unknown";d!=e&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=cc.prototype;
|
||||
m.wa=function(a){void 0===a&&(a=this.b||(this.o?1:ec));if(!this.f){this.f++;var b=!1,c=!1;this.G=!1;var d=this.s||new E(this,Z);if(-1==a)b=!0;else if(a>ec){if(ac(d,this.o)){this.i=new E(this,Z,"failsafe");ac(this.i)&&(jc(this,d),a=2,Yb(this.i));F(this.i,"timestamp",ha());Zb(this.i);var e=this.b&&!this.j;if(1==a||ja("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=$b(d)){var f=bc(d,"code"),h=bc(d,"data");f&&("ok"==f?ac(d,h):("error"==f&&"no machine state"!=
|
||||
h?(this.K("Error: "+h),"unable to verify user"==h&&(na("user",""),this.c=null)):this.M(f+": "+h),Yb(d),ac(d)?(c=$b(d),e=!0):c=!1))}e&&ic(this,c?d:null)}else 2==a&&d.clear()}else ic(this);delete this.o;delete this.s}e=y(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=kc(this,h,d,b,c));b=[d,a,c];-1!=a?hc(this,this.Ua,b):this.Ua(b)}};
|
||||
function kc(a,b,c,d,e){if(!b.g.J){b.g.J=!0;if(b.W){var f=null;e&&((f=bc(c,b.id))||(f=bc(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.W(f,d)&&f&&(q("Unable to restore state for "+b.type),a.A&&!a.H?(c.clear(),a.b=ec,window&&window.location.reload()):a.G=!0,b.W(null),e=!1)}if(!d&&b.Sa)for(a=b.Sa.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
m.Ua=function(a){var b=a[0],c=0>a[1];a=a[2];this.g.J=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.C||(this.M("PC8080 v"+Z+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.C=!0);this.a&&(kc(this,this.a,b,c,a),lb(this.a));this.G&&(jc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0};
|
||||
function jc(a,b){if(ja("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.L,d=a.c||"",e=b.toString(),f={app:"PC8080"};f.ver=Z;f.url=c;f.user=d;f.type="bug";f.data=e;p("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
function lc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new E(a,Z),h=new E(a,Z,"validate"),g=ha();F(h,"timestamp",g);F(f,"timestamp",g);F(f,"version","1.21.7");F(f,"url",window?window.location.href:null);F(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.V&&(c&&mb(a.a),d=a.a.V(b,c),"object"===typeof d&&F(f,a.a.id,d),c&&(a.a.g.J=!1,!1===d&&(e=null)));for(var g=y(a.id),k=0;k<g.length;k++){var l=g[k];l.g.J&&(l.V&&(d=l.V(b,c),"object"===typeof d&&F(f,l.id,d)),c&&(l.g.J=!1,!1===d&&(e=
|
||||
null)))}e&&(c?(g=d=!1,b?(a.c&&mc(a,a.c,f.toString()),Zb(h)&&Zb(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.g.J=!1,b=a.v.power)&&(b.textContent="Power");a.f=0;return e}m.reset=function(){this.B&&this.B.reset&&this.B.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
|
||||
m.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
m.M=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.f||(d.g.J?gc(d,!1,!0):cc(d,d.wa))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.g.J&&!d.f)if(d.b&&!d.m){var a=ja("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");gc(d,a,!0);!a&&d.A?window&&window.location.reload():d.wa($b)}else d.reset(),d.a&&kb(d.a)},!0;case "save":if(da(ia(),"pcjs.org")){c.parentNode.removeChild(c);break}this.v[b]=
|
||||
c;c.onclick=function(){var a=ac(d,!0);if(a){var b=!!(d.b&&!d.m||d.A),c=gc(d,b);b?hc(d,a,c):d.K("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function ac(a,b){var c=a.c;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=ic(a,c))||a.K("The user ID is invalid."))):b&&a.K("Browser local storage is not available"));return c}
|
||||
function ic(a,b){a.c=null;var c=p(ia()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.c=c.data)}catch(e){q(e.message+" ("+d+")")}return a.c}function bc(a){var b=null;a.c&&(b=ia()+"/api/v1/user?req=load&user="+a.c+"&state="+Sb(a,Z));return b}
|
||||
function hc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Sb(a,Z);d.data=c;b=p(ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.K("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.K(c),na("user",""),a.c=null)}}
|
||||
function Ka(a,b,c){a=y(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}m.ea=function(a){this.a&&this.a.ea(a);this.h&&this.h.ea(a)};function qb(a,b){for(var c=0;c<a.u.length;c++){var d=a.u[c];b&1?(d=d.a,d.F=d.F&-8|10):(d=d.a,d.F=d.F&-8|9)}}t(function(){for(var a=A(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new Yb(h,d,!0);Ea(h,f);h.w&&cc(h,h.wa)}});
|
||||
r.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Da("Computer",c.id))&&c.C&&!c.g.J&&c.wa(-1)}});r.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Da("Computer",c.id))&&c.g.J&&gc(c,!(!c.b||c.m),!0)}});var jc=0;function kc(a,b,c,d,e,f){e("Loading "+a+"...");p(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):lc(g,a,b,c,d,e,f)})}
|
||||
function lc(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ca(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
|
||||
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?mc(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function mc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,H=/( [a-z]+=)(['"])(.*?)\2/g;l=H.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);mc(a,b,c)}})}else c(a,null)}
|
||||
function nc(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);k&&(--jc||ta(!0));k=!1}var h,g,k=!0;jc++;Ba[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var H=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=l:w.appendChild(document.createTextNode(l));H.appendChild(w)}c||
|
||||
(c="/versions/pc8080/1.21.7/components.xsl");l=function(d,g){g?kc(c,null,null,!1,e,function(d,k){if(k)if(Ca(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--jc||ta(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--jc||ta(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?kc(b,a,d,!0,e,l):lc(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(Ra){f(Ra.message)}return k}window.embedPC8080=function(a,b,c,d){ta(!1);return nc(a,b,c,d)};window.enableEvents=ta;window.sendEvent=ua;
|
||||
function oc(a,b,c,d){if(!c&&b){d.push(b);a=Ba[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?p(b,null,!0,function(a,b){pc(b,d)}):pc(null,d)}else q("Error ("+c+") requesting "+a)}
|
||||
function pc(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Ba[f],k={},l;for(l in g){var H=g[l],w=ca(l);if("xml"==w){for(w=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=w.exec(g[l]);){var Ra=d[2];Ra&&(g[Ra]||(H=H.replace(d[0],"")))}d=l=ba(l)}else"xsl"==w&&(e=l=ba(l));k[l]=H}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
||||
m.N=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.f||(d.g.J?lc(d,!1,!0):hc(d,d.wa))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.g.J&&!d.f)if(d.b&&!d.m){var a=ja("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lc(d,a,!0);!a&&d.A?window&&window.location.reload():d.wa(ec)}else d.reset(),d.a&&lb(d.a)},!0;case "save":if(da(ia(),"pcjs.org")){c.parentNode.removeChild(c);break}this.v[b]=
|
||||
c;c.onclick=function(){var a=fc(d,!0);if(a){var b=!!(d.b&&!d.m||d.A),c=lc(d,b);b?mc(d,a,c):d.K("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function fc(a,b){var c=a.c;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=nc(a,c))||a.K("The user ID is invalid."))):b&&a.K("Browser local storage is not available"));return c}
|
||||
function nc(a,b){a.c=null;var c=p(ia()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.c=c.data)}catch(e){q(e.message+" ("+d+")")}return a.c}function gc(a){var b=null;a.c&&(b=ia()+"/api/v1/user?req=load&user="+a.c+"&state="+Xb(a,Z));return b}
|
||||
function mc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Xb(a,Z);d.data=c;b=p(ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.K("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.K(c),na("user",""),a.c=null)}}
|
||||
function Ka(a,b,c){a=y(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}m.ea=function(a){this.a&&this.a.ea(a);this.h&&this.h.ea(a)};function rb(a,b){for(var c=0;c<a.u.length;c++){var d=a.u[c];b&1?(d=d.a,d.G=d.G&-8|10):(d=d.a,d.G=d.G&-8|9)}}t(function(){for(var a=A(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new cc(h,d,!0);Ea(h,f);h.w&&hc(h,h.wa)}});
|
||||
r.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Da("Computer",c.id))&&c.C&&!c.g.J&&c.wa(-1)}});r.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Da("Computer",c.id))&&c.g.J&&lc(c,!(!c.b||c.m),!0)}});var oc=0;function pc(a,b,c,d,e,f){e("Loading "+a+"...");p(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):qc(g,a,b,c,d,e,f)})}
|
||||
function qc(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ca(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
|
||||
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?rc(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function rc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,H=/( [a-z]+=)(['"])(.*?)\2/g;l=H.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);rc(a,b,c)}})}else c(a,null)}
|
||||
function sc(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);k&&(--oc||ta(!0));k=!1}var h,g,k=!0;oc++;Ba[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var H=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=l:w.appendChild(document.createTextNode(l));H.appendChild(w)}c||
|
||||
(c="/versions/pc8080/1.21.7/components.xsl");l=function(d,g){g?pc(c,null,null,!1,e,function(d,k){if(k)if(Ca(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--oc||ta(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--oc||ta(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?pc(b,a,d,!0,e,l):qc(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(Ra){f(Ra.message)}return k}window.embedPC8080=function(a,b,c,d){ta(!1);return sc(a,b,c,d)};window.enableEvents=ta;window.sendEvent=ua;
|
||||
function tc(a,b,c,d){if(!c&&b){d.push(b);a=Ba[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?p(b,null,!0,function(a,b){uc(b,d)}):uc(null,d)}else q("Error ("+c+") requesting "+a)}
|
||||
function uc(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Ba[f],k={},l;for(l in g){var H=g[l],w=ca(l);if("xml"==w){for(w=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=w.exec(g[l]);){var Ra=d[2];Ra&&(g[Ra]||(H=H.replace(d[0],"")))}d=l=ba(l)}else"xsl"==w&&(e=l=ba(l));k[l]=H}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
|
||||
"©"),l=h,g=null,k="data:application/javascript,",k=oa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
|
||||
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",q(c)):q("Missing XML/XSL resources")}
|
||||
window.savePC=function(a,b,c){var d=Da("Computer",a),e=Da("Debugger",a);if(d){var f=gc(d,!0),h=d.l?JSON.stringify(d.l):null;b||(b="/versions/pcjs/1.21.7/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,$a:h}))return!0;p(b,null,!0,function(c,d,e){oc(c,d,e,[a,ba(b,!0),h,f])});return!0}q("Unable to identify machine '"+a+"'");return!1};})();
|
||||
window.savePC=function(a,b,c){var d=Da("Computer",a),e=Da("Debugger",a);if(d){var f=lc(d,!0),h=d.l?JSON.stringify(d.l):null;b||(b="/versions/pcjs/1.21.7/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,bb:h}))return!0;p(b,null,!0,function(c,d,e){tc(c,d,e,[a,ba(b,!0),h,f])});return!0}q("Unable to identify machine '"+a+"'");return!1};})();
|
||||
|
|
|
|||
|
|
@ -20,32 +20,32 @@ this.Ba=function(a,b,c){this.rc(a,"notice",c)}),!0;default:return!1}},log:functi
|
|||
function bb(a,b){b&&(a.ea.ne?b():a.Bf=b);return a.ea.ne}function cb(a,b){a.ea.Yc=!0;a.Ba(b)}
|
||||
var db="undefined"!==typeof ArrayBuffer,eb={Lf:4,kc:5,bd:6,Ic:7,Jc:8,Sa:9,Kb:11,Lb:12,Sd:4,ai:60,bi:83,dc:3,yb:9,qc:16,Kf:1,fi:19,hi:28,ji:16,ii:21,gi:37,di:2,Ag:9,ei:5,ci:33,Cg:10,Bg:8,Xe:3,We:15,yi:51,zi:1,Ai:2,Bi:4,xi:32,Dg:15,Di:15,Ma:16,Na:4,Fi:11,Ei:18,Ci:24,Mb:4,Gi:2,we:16,Hi:17,Ig:18,Ii:19,Hg:5,Jg:6,Ni:2,Mi:8,Ki:9,Li:10,Ji:10,Kg:10,Lg:10,li:80,ni:144,ki:86,mi:154,pi:101,si:165,oi:107,ri:171,Pi:70,Ri:113,Oi:76,Qi:124,ui:80,wi:128,ti:86,vi:134,Ze:3,Ye:16,Qg:10,Pg:8,Si:51,ec:8,Ti:17,Ui:36,Ac:11,
|
||||
Vi:16,Td:10,Rc:2,xg:18,yg:7,zg:15,Eg:12,Fg:7,Gg:11,Mg:18,Ng:7,Og:15,Rg:15,Sg:7,Tg:13,Xg:11,Yg:7,Zg:8,Wi:8,Zi:12,Xi:18,Yi:17,$i:15,Vg:8,Ug:20,Wg:2,bh:3,$e:9,ah:5,$g:11,eh:4,dh:17,aj:11},fb={Lf:0,kc:0,bd:0,Ic:0,Jc:0,Sa:0,Kb:1,Lb:1,Sd:3,ai:14,bi:16,dc:2,yb:7,qc:7,Kf:0,fi:7,hi:13,ji:7,ii:11,gi:16,di:3,Ag:6,ei:2,ci:13,Cg:5,Bg:5,Xe:2,We:7,yi:23,zi:0,Ai:1,Bi:3,xi:17,Dg:7,Di:11,Ma:7,Na:3,Fi:7,Ei:11,Ci:15,Mb:2,Gi:3,we:7,Hi:8,Ig:8,Ii:8,Hg:4,Jg:4,Ni:2,Mi:3,Ki:5,Li:2,Ji:3,Kg:5,Lg:3,li:14,ni:22,ki:17,mi:25,pi:17,
|
||||
si:25,oi:20,ri:28,Pi:13,Ri:21,Oi:16,Qi:24,ui:13,wi:21,ti:16,vi:24,Ze:2,Ye:7,Qg:5,Pg:5,Si:19,ec:5,Ti:5,Ui:17,Ac:3,Vi:5,Td:3,Rc:0,xg:8,yg:5,zg:9,Eg:5,Fg:5,Gg:4,Mg:5,Ng:5,Og:4,Rg:7,Sg:5,Tg:8,Xg:3,Yg:4,Zg:3,Wi:11,Zi:11,Xi:15,Yi:15,$i:7,Vg:5,Ug:8,Wg:0,bh:2,$e:6,ah:3,$g:6,eh:3,dh:5,aj:5};function gb(a){Ia.call(this,"Panel",a,gb);this.H=this.I=this.R=-1}Qa(gb);
|
||||
si:25,oi:20,ri:28,Pi:13,Ri:21,Oi:16,Qi:24,ui:13,wi:21,ti:16,vi:24,Ze:2,Ye:7,Qg:5,Pg:5,Si:19,ec:5,Ti:5,Ui:17,Ac:3,Vi:5,Td:3,Rc:0,xg:8,yg:5,zg:9,Eg:5,Fg:5,Gg:4,Mg:5,Ng:5,Og:4,Rg:7,Sg:5,Tg:8,Xg:3,Yg:4,Zg:3,Wi:11,Zi:11,Xi:15,Yi:15,$i:7,Vg:5,Ug:8,Wg:0,bh:2,$e:6,ah:3,$g:6,eh:3,dh:5,aj:5};function gb(a){Ia.call(this,"Panel",a,gb);this.H=this.I=this.S=-1}Qa(gb);
|
||||
function hb(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}hb.prototype.toString=function(){this.B||(this.B="#"+ea(this.A[0],2)+ea(this.A[1],2)+ea(this.A[2],2));return this.B};function ib(a,b,c,d){this.x=a;this.y=b;this.Fc=c;this.A=d}ib.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.Fc&&b>=this.y&&b<this.y+this.A};
|
||||
function jb(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new ib(a.x,a.y,a.Fc,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new ib(a.x,a.y,a.Fc*b/c|0,a.A),a.x+=b.Fc,a.Fc-=b.Fc);return b}l=gb.prototype;l.zb=function(a,b,c,d){return this.ba&&this.ba.zb(a,b,c,d)||this.A&&this.A.zb(a,b,c,d)||this.C&&this.C.zb(a,b,c,d)?!0:this.parent.zb.call(this,a,b,c,d)};l.pc=function(a,b,c,d){this.ba=a;this.ha=b;this.A=c;this.Ia=d;this.C=kb(a,"Keyboard")};l.Vb=function(a,b){b||lb();return!0};l.Ub=function(){return!0};
|
||||
l.je=function(a,b){a.button||(this.R=b?0:-1,mb(this,a,b))};l.ng=function(a){mb(this,a)};
|
||||
function mb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.R||(a.R=Math.abs(a.H-d)>Math.abs(a.I-b)?1:2),1==a.R?b=a.I:2==a.R&&(d=a.H));a.H=d;a.I=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.B&&a.B.ce)for(f=0;f<a.B.ce.length;f++)if(e=a.B.ce[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.B.He[f],g=oa(nb.bj,a.B.$f[d.Ij]),f=g*a.ha.vb,d=(g+d.hd)*a.ha.vb-1;0<b&&(f+=e.Fc*(b-1)*a.ma);f+=c*a.ma;f|=0;f>d&&
|
||||
(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.oa)){b=c;if(a.context&&a.W&&a.Y){e=a.W.width;a.Y.fillStyle="black";a.Y.fillRect(0,360,e,360);ob(a,378,a.W,a.Y);a.Z=a.pa.width/24|0;if(null==b)pb(a,"Mouse over memory to dump");else for(pb(a,"0x"+ea(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ha;var k=b++;h=h.R[(k&h.Fa)>>>h.da].Fd(k&h.B,k);pb(a,ea(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}pb(a,d,null,0,1)}a.context.drawImage(a.W,0,360,e,360,a.La,a.Ta,a.za,a.Ea)}a.oa=c}}}
|
||||
l.Xd=function(){};function qb(a,b,c,d){a.B.He[a.B.Hh++]={Ij:b,hd:c,type:d};return na(nb,b,c,0,d)}function ob(a,b,c,d){var e,f=null.style.color,g=a.xa=10;a.D=g;a.K=b;a.L=a.la=18;e||(e=a.ia||a.la+"px Monaco, Lucida Console, Courier New");a.S=a.ia=e;c&&(a.pa=c);d&&(a.G=d,a.qa=f||"white")}
|
||||
function pb(a,b,c,d,e){a.G.font=a.S;a.G.fillStyle=a.qa;a.G.fillText(b,a.D,a.K);a.D+=a.Z;null!=c&&(16!=a.Ja?b=c.toString():(b=8>a.va?"0x":"",b+=ea(c,a.va)),a.G.fillText(b,a.D,a.K),a.D+=a.Z);d&&(a.D+=a.Z*d);e&&(a.D=a.xa,a.K+=(a.L+2)*(e||1))}function lb(){for(var a=!1,b=Za(document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Wa(d),f=Ua(e.id);f||(a=!0,f=new gb(e));Ya(f,d);a&&ab(f)}}Ea(lb);
|
||||
function rb(a,b,c){Ia.call(this,"Bus",a,rb);this.A=b;this.Ia=c;this.D=a.buswidth||20;this.L=Math.pow(2,this.D);this.ba=this.Fa=this.L-1|0;this.da=32==this.D||20>=this.D?12:24>=this.D?14:15;this.vb=1<<this.da;this.ha=this.vb>>2;this.B=this.vb-1;this.H=this.L/this.vb|0;this.C=this.H-1;this.I=[];this.K=[];this.P=[];this.S=[];a=new q;sb(a,this.Ia);this.R=Array(this.H);for(b=0;b<this.H;b++)this.R[b]=a;a=this.A;b=this.R;c=this.da;a.vc=a.R=b;a.da=c;a.vb=1<<a.da;a.pb=a.vb-1;a.mf=b.length;a.Yd=a.mf-1;a=this.A;
|
||||
l.je=function(a,b){a.button||(this.S=b?0:-1,mb(this,a,b))};l.ng=function(a){mb(this,a)};
|
||||
function mb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.S||(a.S=Math.abs(a.H-d)>Math.abs(a.I-b)?1:2),1==a.S?b=a.I:2==a.S&&(d=a.H));a.H=d;a.I=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.B&&a.B.ce)for(f=0;f<a.B.ce.length;f++)if(e=a.B.ce[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.B.He[f],g=oa(nb.bj,a.B.$f[d.Ij]),f=g*a.ha.xb,d=(g+d.hd)*a.ha.xb-1;0<b&&(f+=e.Fc*(b-1)*a.ma);f+=c*a.ma;f|=0;f>d&&
|
||||
(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.oa)){b=c;if(a.context&&a.W&&a.Y){e=a.W.width;a.Y.fillStyle="black";a.Y.fillRect(0,360,e,360);ob(a,378,a.W,a.Y);a.Z=a.pa.width/24|0;if(null==b)pb(a,"Mouse over memory to dump");else for(pb(a,"0x"+ea(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ha;var k=b++;h=h.S[(k&h.Fa)>>>h.da].Fd(k&h.B,k);pb(a,ea(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}pb(a,d,null,0,1)}a.context.drawImage(a.W,0,360,e,360,a.La,a.Ta,a.za,a.Ea)}a.oa=c}}}
|
||||
l.Xd=function(){};function qb(a,b,c,d){a.B.He[a.B.Hh++]={Ij:b,hd:c,type:d};return na(nb,b,c,0,d)}function ob(a,b,c,d){var e,f=null.style.color,g=a.xa=10;a.D=g;a.K=b;a.L=a.la=18;e||(e=a.ia||a.la+"px Monaco, Lucida Console, Courier New");a.R=a.ia=e;c&&(a.pa=c);d&&(a.G=d,a.qa=f||"white")}
|
||||
function pb(a,b,c,d,e){a.G.font=a.R;a.G.fillStyle=a.qa;a.G.fillText(b,a.D,a.K);a.D+=a.Z;null!=c&&(16!=a.Ja?b=c.toString():(b=8>a.va?"0x":"",b+=ea(c,a.va)),a.G.fillText(b,a.D,a.K),a.D+=a.Z);d&&(a.D+=a.Z*d);e&&(a.D=a.xa,a.K+=(a.L+2)*(e||1))}function lb(){for(var a=!1,b=Za(document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Wa(d),f=Ua(e.id);f||(a=!0,f=new gb(e));Ya(f,d);a&&ab(f)}}Ea(lb);
|
||||
function rb(a,b,c){Ia.call(this,"Bus",a,rb);this.A=b;this.Ia=c;this.D=a.busWidth||20;this.L=Math.pow(2,this.D);this.ba=this.Fa=this.L-1|0;this.da=32==this.D||20>=this.D?12:24>=this.D?14:15;this.xb=1<<this.da;this.ha=this.xb>>2;this.B=this.xb-1;this.H=this.L/this.xb|0;this.C=this.H-1;this.I=[];this.K=[];this.P=[];this.R=[];a=new q;sb(a,this.Ia);this.S=Array(this.H);for(b=0;b<this.H;b++)this.S[b]=a;a=this.A;b=this.S;c=this.da;a.vc=a.S=b;a.da=c;a.xb=1<<a.da;a.pb=a.xb-1;a.mf=b.length;a.Yd=a.mf-1;a=this.A;
|
||||
a.Fa=a.oc=this.Fa;ab(this)}Qa(rb);var nb,tb={bj:20,count:8,Tm:1,type:3},ub=0,vb;for(vb in tb){var wb=tb[vb];tb[vb]={mg:(1<<wb)-1<<ub,shift:ub};ub+=wb}nb=tb;l=rb.prototype;l.reset=function(){xb(this,!0)};l.Vb=function(a,b){b||this.reset();return!0};
|
||||
function yb(a,b,c,d,e){for(var f=b>>>a.da;0<c&&f<a.R.length;){var g=a.R[f],h=f*a.vb,k=c>a.vb?a.vb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.fe)return g.De+=g.fe-b,g.fe=b,!0;if(b>=g.fe+g.De){k=g.size-(b-h);k>c&&(k=c);g.De=b-g.fe+k;c-=k;b=h+a.vb;continue}}return zb(a,1,b,c)}g=a.R[f];b=new q(b,k,a.vb,d,e);sb(b,a.Ia,g);a.R[f++]=b;b=h+a.vb;c-=k}return 0>=c?(a=a.A,a.Pa&-2147483648&&Bb(a),!0):zb(a,2,b,c)}
|
||||
function xb(a,b){if(32==a.D)b?a.G&&(Cb(a,1048576,1048576,a.G),a.G=null):a.G||(a.G=Db(a,1048576,1048576),Cb(a,1048576,1048576,Db(a,0,1048576)));else if(20<a.D){var c=a.Fa&-1048577|(b?1048576:0);if(c!=a.Fa&&(a.Fa=c,a.A)){var d=a.A;d.Fa=d.oc=c}}}l.Uf=function(a,b,c,d){if(!(a&this.B||!b||b&this.B)){for(var e=a>>>this.da;0<b;){var f=this.R[e];if(!f.controller)return zb(this,3,a,b,d);Eb(f,c,!0);b-=this.vb;e++}return!0}return zb(this,4,a,b)};
|
||||
function Fb(a,b,c){if(!(b&a.B||!c||c&a.B)){for(var d=b>>>a.da;0<c;){var e=a.R[d];b=new q(b);sb(b,a.Ia,e);a.R[d++]=b;b=d*a.vb;c-=a.vb}a=a.A;a.Pa&-2147483648&&Bb(a);return!0}return zb(a,5,b,c)}function Db(a,b,c){var d=[];for(b>>>=a.da;0<c&&b<a.R.length;)d.push(a.R[b++]),c-=a.vb;return d}
|
||||
function Cb(a,b,c,d,e){for(var f=0,g=b>>>a.da;0<c&&g<a.R.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new q(b),m=k,p=e,x=a.Ia;m.id=h.id|1;m.De=h.De;m.size=h.size;p&&(m.type=p,m.I=p==Gb);db?(m.R=h.R,m.P=h.P,m.Ka=h.Ka,m.vd=h.vd,m.V=h.V,Eb(m,Hb?Ib:Jb)):(m.V=h.V,Eb(m,Kb));sb(m,x,h);h=k}a.R[g++]=h;c-=a.vb}}l.Jb=function(a){return this.R[(a&this.Fa)>>>this.da].Wb(a&this.B,a)};
|
||||
l.ga=function(a){var b=a&this.B,c=(a&this.Fa)>>>this.da;return b!=this.B?this.R[c].ye(b,a):this.R[c++].Wb(b,a)|this.R[c&this.C].Wb(0,a+1)<<8};function Lb(a,b){var c=b&a.B,d=(b&a.Fa)>>>a.da;return c!=a.B?a.R[d].ef(c,b):a.R[d++].Fd(c,b)|a.R[d&a.C].Fd(0,b+1)<<8}l.fa=function(a){var b=a&this.B,c=(a&this.Fa)>>>this.da;if(b<this.B-2)return this.R[c].Gd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;)d|=this.R[c].Wb(b++,a++)<<f,--g||(c=c+1&this.C,b=0),f+=8;return d};
|
||||
l.Mc=function(a,b){this.R[(a&this.Fa)>>>this.da].Yb(a&this.B,b&255,a)};l.bb=function(a,b){var c=a&this.B,d=(a&this.Fa)>>>this.da;c!=this.B?this.R[d].Fe(c,b&65535,a):(this.R[d++].Yb(c,b&255,a),this.R[d&this.C].Yb(0,b>>8&255,a+1))};function Mb(a,b,c){var d=b&a.B,e=(b&a.Fa)>>>a.da;d!=a.B?a.R[e].ph(d,c&65535,b):(a.R[e++].kf(d,c&255,b),a.R[e&a.C].kf(0,c>>8&255,b+1))}
|
||||
l.Va=function(a,b){var c=a&this.B,d=(a&this.Fa)>>>this.da;if(c<this.B-2)this.R[d].Ee(c,b);else for(var e=4,f=4-(c&3);e--;)this.R[d].Yb(c++,b&255,a++),--f||(d=d+1&this.C,c=0),b>>>=8};function Nb(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.I[k]?n("Input port 0x"+ea(k,4)+" already registered"):f.I[k]=[h,!1]}}
|
||||
function yb(a,b,c,d,e){for(var f=b>>>a.da;0<c&&f<a.S.length;){var g=a.S[f],h=f*a.xb,k=a.xb-(b-h);k>c&&(k=c);if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.fe)return g.De+=g.fe-b,g.fe=b,!0;if(b>=g.fe+g.De){k=g.size-(b-h);k>c&&(k=c);g.De=b-g.fe+k;b=h+a.xb;c-=k;f++;continue}}return zb(a,1,b,c)}b=new q(b,k,a.xb,d,e);sb(b,a.Ia,g);a.S[f++]=b;b=h+a.xb;c-=k}return 0>=c?(a=a.A,a.Pa&-2147483648&&Bb(a),!0):zb(a,2,b,c)}
|
||||
function xb(a,b){if(32==a.D)b?a.G&&(Cb(a,1048576,1048576,a.G),a.G=null):a.G||(a.G=Db(a,1048576,1048576),Cb(a,1048576,1048576,Db(a,0,1048576)));else if(20<a.D){var c=a.Fa&-1048577|(b?1048576:0);if(c!=a.Fa&&(a.Fa=c,a.A)){var d=a.A;d.Fa=d.oc=c}}}l.Uf=function(a,b,c,d){if(!(a&this.B||!b||b&this.B)){for(var e=a>>>this.da;0<b;){var f=this.S[e];if(!f.controller)return zb(this,3,a,b,d);Eb(f,c,!0);b-=this.xb;e++}return!0}return zb(this,4,a,b)};
|
||||
function Fb(a,b,c){if(!(b&a.B||!c||c&a.B)){for(var d=b>>>a.da;0<c;){var e=a.S[d];b=new q(b);sb(b,a.Ia,e);a.S[d++]=b;b=d*a.xb;c-=a.xb}a=a.A;a.Pa&-2147483648&&Bb(a);return!0}return zb(a,5,b,c)}function Db(a,b,c){var d=[];for(b>>>=a.da;0<c&&b<a.S.length;)d.push(a.S[b++]),c-=a.xb;return d}
|
||||
function Cb(a,b,c,d,e){for(var f=0,g=b>>>a.da;0<c&&g<a.S.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new q(b),m=k,p=e,x=a.Ia;m.id=h.id|1;m.De=h.De;m.size=h.size;p&&(m.type=p,m.I=p==Gb);db?(m.S=h.S,m.P=h.P,m.Ka=h.Ka,m.vd=h.vd,m.V=h.V,Eb(m,Hb?Ib:Jb)):(m.V=h.V,Eb(m,Kb));sb(m,x,h);h=k}a.S[g++]=h;c-=a.xb}}l.Jb=function(a){return this.S[(a&this.Fa)>>>this.da].Wb(a&this.B,a)};
|
||||
l.ga=function(a){var b=a&this.B,c=(a&this.Fa)>>>this.da;return b!=this.B?this.S[c].ye(b,a):this.S[c++].Wb(b,a)|this.S[c&this.C].Wb(0,a+1)<<8};function Lb(a,b){var c=b&a.B,d=(b&a.Fa)>>>a.da;return c!=a.B?a.S[d].ef(c,b):a.S[d++].Fd(c,b)|a.S[d&a.C].Fd(0,b+1)<<8}l.fa=function(a){var b=a&this.B,c=(a&this.Fa)>>>this.da;if(b<this.B-2)return this.S[c].Gd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;)d|=this.S[c].Wb(b++,a++)<<f,--g||(c=c+1&this.C,b=0),f+=8;return d};
|
||||
l.Mc=function(a,b){this.S[(a&this.Fa)>>>this.da].Yb(a&this.B,b&255,a)};l.bb=function(a,b){var c=a&this.B,d=(a&this.Fa)>>>this.da;c!=this.B?this.S[d].Fe(c,b&65535,a):(this.S[d++].Yb(c,b&255,a),this.S[d&this.C].Yb(0,b>>8&255,a+1))};function Mb(a,b,c){var d=b&a.B,e=(b&a.Fa)>>>a.da;d!=a.B?a.S[e].ph(d,c&65535,b):(a.S[e++].kf(d,c&255,b),a.S[e&a.C].kf(0,c>>8&255,b+1))}
|
||||
l.Va=function(a,b){var c=a&this.B,d=(a&this.Fa)>>>this.da;if(c<this.B-2)this.S[d].Ee(c,b);else for(var e=4,f=4-(c&3);e--;)this.S[d].Yb(c++,b&255,a++),--f||(d=d+1&this.C,c=0),b>>>=8};function Nb(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.I[k]?n("Input port 0x"+ea(k,4)+" already registered"):f.I[k]=[h,!1]}}
|
||||
function Ob(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.I[b],h=a.P[b]||1,k=1==h?255:2==h?65535:-1,m=k;void 0!==g&&g[0]&&(m=g[0](b,d),void 0===m?m=k:m&=k);e|=m<<f;f+=h<<3;b+=h;c-=h}return e}function Pb(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.K[k]?n("Output port 0x"+ea(k,4)+" already registered"):f.K[k]=[h,!1]}}
|
||||
function Qb(a,b,c,d,e){for(var f=0;0<c;){var g=a.K[b],h=a.S[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g&&g[0])g[0](b,k,e);f+=h<<3;b+=h;c-=h}}function zb(a,b,c,d,e){b="Memory block error ("+b+": "+ea(c)+","+ea(d)+")";e?a.Ia?a.Ia.message(b):a.log(b):n(b);return!1}var Rb;if(db){var Sb=new ArrayBuffer(2);(new DataView(Sb)).setUint16(0,256,!0);Rb=256===(new Uint16Array(Sb))[0]}else Rb=!1;var Hb=Rb;
|
||||
function q(a,b,c,d,e,f){this.id=Tb+=2;this.V=null;this.H=0;this.fe=a;this.De=b;this.size=c||0;this.type=d||Ub;this.I=d==Gb;this.controller=null;this.A=f;sb(this);this.Ha=this.Ph=!1;if(c)if(e)this.controller=e,a=e.Uh(a),this.V=a[0],this.H=a[1],Eb(this,e.lg());else if(db)this.R=new ArrayBuffer(c),this.P=new DataView(this.R,0,c),this.Ka=new Uint8Array(this.R,0,c),this.vd=new Uint16Array(this.R,0,c>>1),this.V=new Int32Array(this.R,0,c>>2),Eb(this,Hb?Ib:Jb);else{this.V=Array(c>>2);for(e=0;e<this.V.length;e++)this.V[e]=
|
||||
function Qb(a,b,c,d,e){for(var f=0;0<c;){var g=a.K[b],h=a.R[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g&&g[0])g[0](b,k,e);f+=h<<3;b+=h;c-=h}}function zb(a,b,c,d,e){b="Memory block error ("+b+": "+ea(c)+","+ea(d)+")";e?a.Ia?a.Ia.message(b):a.log(b):n(b);return!1}var Rb;if(db){var Sb=new ArrayBuffer(2);(new DataView(Sb)).setUint16(0,256,!0);Rb=256===(new Uint16Array(Sb))[0]}else Rb=!1;var Hb=Rb;
|
||||
function q(a,b,c,d,e,f){this.id=Tb+=2;this.V=null;this.H=0;this.fe=a;this.De=b;this.size=c||0;this.type=d||Ub;this.I=d==Gb;this.controller=null;this.A=f;sb(this);this.Ha=this.Ph=!1;if(c)if(e)this.controller=e,a=e.Uh(a),this.V=a[0],this.H=a[1],Eb(this,e.lg());else if(db)this.S=new ArrayBuffer(c),this.P=new DataView(this.S,0,c),this.Ka=new Uint8Array(this.S,0,c),this.vd=new Uint16Array(this.S,0,c>>1),this.V=new Int32Array(this.S,0,c>>2),Eb(this,Hb?Ib:Jb);else{this.V=Array(c>>2);for(e=0;e<this.V.length;e++)this.V[e]=
|
||||
0;Eb(this,Kb)}else Eb(this)}var Ub=0,Gb=2,Vb="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),Wb=["black","blue","green","cyan"],Tb=0;function Xb(a){db&&!Hb&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
|
||||
q.prototype={constructor:q,parent:null,Qk:function(a){this.fe=a},save:function(){var a,b;if(this.controller)a=null;else if(db)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.P.getInt32(b<<2,!0);else a=this.V;return a},restore:function(a){if(this.controller)return null==a;if(a&&this.size==a.length<<2){var b;if(db)for(b=0;b<a.length;b++)this.P.setInt32(b<<2,a[b],!0);else this.V=a;return this.Ha=!0}return!1},da:function(){return 255},ha:function(){},ia:function(a,b){return this.Wb(a++,b++)|this.Wb(a,
|
||||
b)<<8},Y:function(a,b){return this.Wb(a++,b++)|this.Wb(a++,b++)<<8|this.Wb(a++,b++)<<16|this.Wb(a,b)<<24},ba:function(a,b,c){this.Yb(a++,b&255,c++);this.Yb(a,b>>8,c)},ka:function(a,b,c){this.Yb(a++,b&255,c++);this.Yb(a++,b>>8&255,c++);this.Yb(a++,b>>16&255,c++);this.Yb(a,b>>>24,c)},va:function(a){return this.V[a>>2]>>>((a&3)<<3)&255},fb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.V[b]>>a;return 24>a?c&65535:c&255|(this.V[b+1]&255)<<8},Ga:function(a){var b=a>>2;a=(a&3)<<3;var c=this.V[b];a&&(c=c>>>
|
||||
a|this.V[b+1]<<32-a);return c},Bb:function(a,b){var c=a>>2,d=(a&3)<<3;this.V[c]=this.V[c]&~(255<<d)|b<<d;this.Ha=!0},xc:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.V[c]=this.V[c]&~(65535<<d)|b<<d:(this.V[c]=this.V[c]&16777215|b<<24,c++,this.V[c]=this.V[c]&-256|b>>8);this.Ha=!0},fc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.V[c]=this.V[c]&~e|b<<d;c++;this.V[c]=this.V[c]&e|b>>>32-d}else this.V[c]=b;this.Ha=!0},ua:function(a,b){this.A&&Yb(this.A,b,1,!1);return this.Fd(a,b)},Xa:function(a,
|
||||
b){this.A&&Yb(this.A,b,2,!1);return this.ef(a,b)},Fa:function(a,b){this.A&&Yb(this.A,b,4,!1);return this.ih(a,b)},Ab:function(a,b,c){this.A&&Yb(this.A,c,1,!0);this.I||this.kf(a,b,c)},wc:function(a,b,c){this.A&&Yb(this.A,c,2,!0);this.I||this.ph(a,b,c)},Zb:function(a,b,c){this.A&&Yb(this.A,c,4,!0);this.I||this.oa(a,b,c)},za:function(a,b){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.K;return this.L.Wb(a,b)},qb:function(a,b){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.K;return this.L.ye(a,b)},
|
||||
La:function(a,b){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.K;return this.L.Gd(a,b)},Gb:function(a,b,c){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.S;this.L.Yb(a,b,c)},zc:function(a,b,c){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.S;this.L.Fe(a,b,c)},mc:function(a,b,c){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.S;this.L.Ee(a,b,c)},Da:function(a,b){return Zb(this.A,b,!1).Wb(a,b)},rb:function(a,b){return Zb(this.A,b,!1).ye(a,b)},Oa:function(a,b){return Zb(this.A,b,!1).Gd(a,b)},Hb:function(a,
|
||||
La:function(a,b){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.K;return this.L.Gd(a,b)},Gb:function(a,b,c){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.R;this.L.Yb(a,b,c)},zc:function(a,b,c){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.R;this.L.Fe(a,b,c)},mc:function(a,b,c){this.B.V[this.D]|=this.K;this.C.V[this.G]|=this.R;this.L.Ee(a,b,c)},Da:function(a,b){return Zb(this.A,b,!1).Wb(a,b)},rb:function(a,b){return Zb(this.A,b,!1).ye(a,b)},Oa:function(a,b){return Zb(this.A,b,!1).Gd(a,b)},Hb:function(a,
|
||||
b,c){Zb(this.A,c,!0).Yb(a,b,c)},Gc:function(a,b,c){Zb(this.A,c,!0).Fe(a,b,c)},oc:function(a,b,c){Zb(this.A,c,!0).Ee(a,b,c)},ra:function(a){return this.Ka[a]},W:function(a){return this.Ka[a]},xa:function(a){this.B.V[this.D]|=32;this.C.V[this.G]|=32;this.Wb=this.W;return this.Ka[a]},Ta:function(a){return this.P.getUint16(a,!0)},la:function(a){return a&1?this.Ka[a]|this.Ka[a+1]<<8:this.vd[a>>1]},pb:function(a){this.B.V[this.D]|=32;this.C.V[this.G]|=32;this.ye=this.la;return a&1?this.Ka[a]|this.Ka[a+
|
||||
1]<<8:this.vd[a>>1]},Ea:function(a){return this.P.getInt32(a,!0)},Z:function(a){return a&3?this.Ka[a]|this.Ka[a+1]<<8|this.Ka[a+2]<<16|this.Ka[a+3]<<24:this.V[a>>2]},Ja:function(a){this.B.V[this.D]|=32;this.C.V[this.G]|=32;this.Gd=this.Z;return a&3?this.Ka[a]|this.Ka[a+1]<<8|this.Ka[a+2]<<16|this.Ka[a+3]<<24:this.V[a>>2]},ub:function(a,b){this.Ka[a]=b;this.Ha=!0},ma:function(a,b){this.Ka[a]=b;this.Ha=!0},Cb:function(a,b){this.Ka[a]=b;this.B.V[this.D]|=32;this.C.V[this.G]|=96;this.Yb=this.ma;this.L.Ha=
|
||||
!0},vc:function(a,b){this.P.setUint16(a,b,!0);this.Ha=!0},qa:function(a,b){a&1?(this.Ka[a]=b,this.Ka[a+1]=b>>8):this.vd[a>>1]=b;this.Ha=!0},yc:function(a,b){a&1?(this.Ka[a]=b,this.Ka[a+1]=b>>8):this.vd[a>>1]=b;this.B.V[this.D]|=32;this.C.V[this.G]|=96;this.Fe=this.qa;this.L.Ha=!0},Nb:function(a,b){this.P.setInt32(a,b,!0);this.Ha=!0},pa:function(a,b){a&3?(this.Ka[a]=b,this.Ka[a+1]=b>>8,this.Ka[a+2]=b>>16,this.Ka[a+3]=b>>24):this.V[a>>2]=b;this.Ha=!0},ic:function(a,b){a&3?(this.Ka[a]=b,this.Ka[a+1]=
|
||||
|
|
@ -70,72 +70,72 @@ l.Lh=function(a){return this.ya+a|0};l.Ih=function(a,b){return(a>>>0)+b<=this.C?
|
|||
function Cc(a,b,c,d,e){a.ja=b;a.ya=d;a.Za=e;a.C=(e>>>0)+1;a.lb=c;a.type=c&7936;a.ext=c>>16&192;a.hc=(b&4?a.A.Zb.ya:a.A.ub)+(b&65528)|0;4>a.id&&Ac(a,!0)}function Dc(a,b,c){var d=a.A,e=d.ga(b+2),f=d.ga(b)|(e&255)<<16,d=d.ga(b+4);a.ja=c;a.ya=f;a.Za=d;a.C=(d>>>0)+1;a.lb=e;a.type=e&7936;a.ext=0;a.hc=b;4>a.id&&Ac(a,!0)}
|
||||
function Bc(a,b,c,d){var e=a.A;if(!d&&c===a.B.ja)return a.ja=c,a.ya=a.B.ya,a.Za=a.B.Za,a.C=(a.B.Za>>>0)+1,a.lb=a.B.lb,a.type=a.B.type,a.ext=a.B.ext,a.hc=a.B.hc,a.B.ja=-1,Ac(a,!0,!0,!1),a.ya;a.B.ja=-1;var f=e.ga(b+0),g=e.ga(b+4),h=g&7936,k=e.ga(b+2)|(g&255)<<16,m=e.ga(b+6),p=c&65528;if(80386<=e.ca){var x=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case 1:var r=a.D;a.pe=!1;if(r&&1==c&&a.G.length){var z=a.G[a.cf-1];if(z&&!z())return-1}var E=c&3,J=(g&24576)>>13,z=-1,W,da;p||
|
||||
b>=e.ub&&b<e.wc&&(h=0);if(6144<=h)null!=d?z=0:!1!==r?(h&1024?J<=a.sb&&(z=0):E<=a.sb&&J==a.sb&&(z=0),z||(c=c&-4|a.sb&3)):E>=a.sb&&(E>a.sb&&(z=u(e),Ec(e,u(e),!0),v(e,z),a.pe=!0),z=0);else{if(256==h||2304==h)return Fc(a,c,r)?a.ya:-1;if(1024==h)z=2,da=0,E<a.sb&&(E=a.sb);else if(3072==h)z=4,da=0,E<a.sb&&(E=a.sb);else if(1536==h)z=2,da=148224;else if(3584==h)z=4,da=148224;else if(1792==h)z=2,da=147712;else if(3840==h)z=4,da=147712;else if(1280==h)return Fc(a,k&65535,r)?a.ya:-1}0<z&&!(g&32768)&&(z=0);if(0<
|
||||
z&&(p=a.sb,W=b==e.Ab+c,E<=J&&(!W||0<=e.fc||p<=J))){b=k&65535;h&2048&&(f=x|m<<16);m=h=0;d=b&3;if(d<p){if(-1===a.Cf(b,!0))return-1;m=e.ia.ya;e.ia.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.ga(m+c+k);if(!h)return t.call(e,10,h),-1;if(-1===e.S.Cf(h,!0))return-1;m=2==k?e.ga(m+c):e.fa(m+c)}c=e.X;e.X&=~da;c&131072&&Gc(e,!0,!1);if(-1===a.Cf(b,!1))return-1;Hc(e,z);a.cf=f;if(d<p){if(!0!==r)return-1;z=w(e);f=0;for(g&=31;g--;)a.H[f++]=Ic(e,e.S,z),z+=2;r=e.S.ja;g=w(e);Ec(e,h,!0);v(e,m);c&131072&&(Hc(e,4),
|
||||
z&&(p=a.sb,W=b==e.Ab+c,E<=J&&(!W||0<=e.fc||p<=J))){b=k&65535;h&2048&&(f=x|m<<16);m=h=0;d=b&3;if(d<p){if(-1===a.Cf(b,!0))return-1;m=e.ia.ya;e.ia.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.ga(m+c+k);if(!h)return t.call(e,10,h),-1;if(-1===e.R.Cf(h,!0))return-1;m=2==k?e.ga(m+c):e.fa(m+c)}c=e.X;e.X&=~da;c&131072&&Gc(e,!0,!1);if(-1===a.Cf(b,!1))return-1;Hc(e,z);a.cf=f;if(d<p){if(!0!==r)return-1;z=w(e);f=0;for(g&=31;g--;)a.H[f++]=Ic(e,e.R,z),z+=2;r=e.R.ja;g=w(e);Ec(e,h,!0);v(e,m);c&131072&&(Hc(e,4),
|
||||
Jc(e,e.Xa.ja,4,2),e.Xa.load(0),Jc(e,e.Ta.ja,4,2),e.Ta.load(0),Jc(e,e.xa.ja,4,2),Kc(e,0),Jc(e,e.pa.ja,4,2),Lc(e,0));Jc(e,r,e.U,2);for(y(e,g);f;)y(e,a.H[--f]);a.pe=!0}return a.ya}if(0!=z)return t.call(e,13,c&65532|(W?2:0)),-1;if(!(g&32768))return t.call(e,11,c&65532|(W?2:0)),-1;break;case 2:if(p){if(4096>h||2048==(h&2560))return t.call(e,13,c&65532),-1;if(!(g&32768))return t.call(e,11,c&65532),-1}break;case 3:if(!p||4096>h||512!=(h&2560))return t.call(e,13,c&65532),-1;if(!(g&32768))return t.call(e,
|
||||
12,c&65532),-1;break;case 4:r=h&-513;if(!p||256!=r&&2304!=r)return t.call(e,13,c&65532),-1;2304==r&&(a.Dh=k+e.ga(k+100+2)|0,a.yj=k+a.Za|0);break;case 6:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.B.ja=c,a.B.ya=k,a.B.Za=f,a.B.lb=g,a.B.type=h,a.B.ext=m,a.B.hc=b):(a.ja=c,a.ya=k,a.Za=f,a.C=(f>>>0)+1,a.lb=g,a.type=h,a.ext=m,a.hc=b,Ac(a,!0,!0,!1));return k}
|
||||
function Fc(a,b,c){var d=a.A,e=a.sb,f=d.ia.ja,g=d.ia.ya;if(!c){if(!(d.ia.type&512))return t.call(d,13,b&65532),!1;d.bb(d.ia.hc+4,d.ia.lb&=-513)}if(-1===d.ia.load(b))return!1;var h=d.ia.ya;if(!1!==c){if(d.ia.type&512)return t.call(d,13,b&65532),!1;d.bb(d.ia.hc+4,d.ia.lb|=512)}d.ia.type=d.ia.type&-513|d.ia.lb&512;256==d.ia.type||768==d.ia.type?(d.bb(g+14,A(d)),d.bb(g+16,Mc(d)),d.bb(g+18,d.J),d.bb(g+20,d.G),d.bb(g+22,d.M),d.bb(g+24,d.D),d.bb(g+26,w(d)),d.bb(g+28,d.K),d.bb(g+30,d.I),d.bb(g+32,d.H),d.bb(g+
|
||||
34,d.pa.ja),d.bb(g+36,d.Ca.ja),d.bb(g+38,d.S.ja),d.bb(g+40,d.xa.ja),d.Zb.load(d.ga(h+42)),Nc(d,d.ga(h+16)|(c?16384:0)),d.J=d.ga(h+18),d.G=d.ga(h+20),d.M=d.ga(h+22),d.D=d.ga(h+24),d.K=d.ga(h+28),d.I=d.ga(h+30),d.H=d.ga(h+32),d.pa.load(d.ga(h+34)),d.xa.load(d.ga(h+40)),Pc(d,d.ga(h+14),d.ga(h+36)),b=38,g=26,a.sb<e&&(g=(a.sb<<2)+2,b=g+2),Ec(d,d.ga(h+b),!0),v(d,d.ga(h+g))):(d.Va(g+28,d.dd),d.Va(g+32,A(d)),d.Va(g+36,Mc(d)),d.Va(g+40,d.J),d.Va(g+44,d.G),d.Va(g+48,d.M),d.Va(g+52,d.D),d.Va(g+56,w(d)),d.Va(g+
|
||||
60,d.K),d.Va(g+64,d.I),d.Va(g+68,d.H),d.Va(g+72,d.pa.ja),d.Va(g+76,d.Ca.ja),d.Va(g+80,d.S.ja),d.Va(g+84,d.xa.ja),d.Va(g+88,d.Ta.ja),d.Va(g+92,d.Xa.ja),Qc.call(d,d.fa(h+28)),d.Zb.load(d.ga(h+96)),Nc(d,d.fa(h+36)|(c?16384:0)),d.J=d.fa(h+40),d.G=d.fa(h+44),d.M=d.fa(h+48),d.D=d.fa(h+52),d.K=d.fa(h+60),d.I=d.fa(h+64),d.H=d.fa(h+68),d.pa.load(d.ga(h+72)),d.xa.load(d.ga(h+84)),d.Ta.load(d.ga(h+88)),d.Xa.load(d.ga(h+92)),Pc(d,d.fa(h+32),d.ga(h+76)),b=80,g=56,a.sb<e&&(g=(a.sb<<3)+4,b=g+4),Ec(d,d.ga(h+b),!0),
|
||||
34,d.pa.ja),d.bb(g+36,d.Ca.ja),d.bb(g+38,d.R.ja),d.bb(g+40,d.xa.ja),d.Zb.load(d.ga(h+42)),Nc(d,d.ga(h+16)|(c?16384:0)),d.J=d.ga(h+18),d.G=d.ga(h+20),d.M=d.ga(h+22),d.D=d.ga(h+24),d.K=d.ga(h+28),d.I=d.ga(h+30),d.H=d.ga(h+32),d.pa.load(d.ga(h+34)),d.xa.load(d.ga(h+40)),Pc(d,d.ga(h+14),d.ga(h+36)),b=38,g=26,a.sb<e&&(g=(a.sb<<2)+2,b=g+2),Ec(d,d.ga(h+b),!0),v(d,d.ga(h+g))):(d.Va(g+28,d.dd),d.Va(g+32,A(d)),d.Va(g+36,Mc(d)),d.Va(g+40,d.J),d.Va(g+44,d.G),d.Va(g+48,d.M),d.Va(g+52,d.D),d.Va(g+56,w(d)),d.Va(g+
|
||||
60,d.K),d.Va(g+64,d.I),d.Va(g+68,d.H),d.Va(g+72,d.pa.ja),d.Va(g+76,d.Ca.ja),d.Va(g+80,d.R.ja),d.Va(g+84,d.xa.ja),d.Va(g+88,d.Ta.ja),d.Va(g+92,d.Xa.ja),Qc.call(d,d.fa(h+28)),d.Zb.load(d.ga(h+96)),Nc(d,d.fa(h+36)|(c?16384:0)),d.J=d.fa(h+40),d.G=d.fa(h+44),d.M=d.fa(h+48),d.D=d.fa(h+52),d.K=d.fa(h+60),d.I=d.fa(h+64),d.H=d.fa(h+68),d.pa.load(d.ga(h+72)),d.xa.load(d.ga(h+84)),d.Ta.load(d.ga(h+88)),d.Xa.load(d.ga(h+92)),Pc(d,d.fa(h+32),d.ga(h+76)),b=80,g=56,a.sb<e&&(g=(a.sb<<3)+4,b=g+4),Ec(d,d.ga(h+b),!0),
|
||||
v(d,d.fa(h+g)));c&&d.bb(h+0,f);d.Pa|=8;return!0}l.save=function(){return[this.ja,this.ya,this.Za,this.lb,this.id,this.Tf,this.sb,this.nc,this.hc,this.Nc,this.sa,this.U,this.N,this.type,this.C]};l.restore=function(a){"number"==typeof a?this.load(a):(this.ja=a[0],this.ya=a[1],this.Za=a[2],this.lb=a[3],this.id=a[4],this.Tf=a[5],this.sb=a[6],this.nc=a[7],this.hc=a[8],this.Nc=a[9]||2,this.sa=a[10]||65535,this.U=a[11]||2,this.N=a[12]||65535,this.type=a[13]||this.lb&7936,this.C=a[14]||(this.Za>>>0)+1)};
|
||||
function Ac(a,b,c,d){void 0===c&&(c=!!(a.A.Pa&1));a.zd=!1;if(c)if(a.load=a.Cf,a.Wh=a.Tk,a.Pb=a.Ih,a.Qb=a.Kh,void 0===d&&(d=!!(a.A.X&131072)),d)a.load=a.L,a.Pb=a.I,a.Qb=a.K,a.sb=a.nc=3,a.U=a.Nc=2,a.N=a.sa=65535,a.Za=65535,a.C=a.Za+1,a.Nc=a.U,a.hc=-1,a.pe=!1;else{if(!(a.ja&-4))a.Pb=a.wf,a.Qb=a.xf;else if(a.type&4096){6144==(a.type&6656)&&(a.Pb=a.wf);if(a.type&2048||!(a.type&512))a.Qb=a.xf;1024==(a.type&3072)&&(a.Pb==a.Ih&&(a.Pb=a.zj),a.Qb==a.Kh&&(a.Qb=a.Aj),a.zd=!0);b&&6>a.id&&a.ja&-4&&-1!==a.hc&&(c=
|
||||
a.hc+5,d=a.A.Jb(c),d&1||a.A.Mc(c,d|1))}b&&(a.sb=a.ja&3,a.nc=(a.lb&24576)>>13,80386>a.A.ca||!(a.ext&64)?(a.U=2,a.N=65535):(a.U=4,a.N=-1),a.Nc=a.U,a.sa=a.N)}else a.load=a.Xh,a.Wh=a.Uk,a.Pb=a.Jh,a.Qb=a.Lh,a.sb=a.nc=0,a.hc=-1,a.pe=!1}
|
||||
function Rc(a){this.ca=a.model||8088;var b=a.stepping;this.pd=this.ca+(b?ca(b,16):0);b=0;switch(this.ca){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}hc.call(this,a,b);this.rh=61442;this.od=1792;this.qh=28672;this.ae=4;this.Da=255;this.B=80286<=this.ca?fb:eb;this.ma=Sc;this.uh=Tc;this.vh=Uc;this.wh=Vc;if(80186<=this.ca&&(this.ma=Sc.slice(),this.uh=Tc.slice(),this.vh=Uc.slice(),this.Da=31,this.ma[15]=Wc,this.ma[96]=Xc,this.ma[97]=Yc,this.ma[98]=Zc,this.ma[99]=Wc,this.ma[100]=Wc,
|
||||
this.ma[101]=Wc,this.ma[102]=Wc,this.ma[103]=Wc,this.ma[104]=$c,this.ma[105]=ad,this.ma[106]=bd,this.ma[107]=cd,this.ma[108]=dd,this.ma[109]=ed,this.ma[110]=fd,this.ma[111]=gd,this.ma[192]=hd,this.ma[193]=id,this.ma[200]=jd,this.ma[201]=kd,this.ma[241]=ld,this.uh[7]=md,this.vh[7]=md,80286<=this.ca)){this.rh=2;this.od|=28672;this.ae=0;this.ma[15]=nd;this.Zc=od.slice();for(a=0;a<this.Zc.length;a++)this.Zc[a]||(this.Zc[a]=pd);this.ma[84]=rd;this.ma[99]=sd;if(80386<=this.ca){var c;this.qh=0;this.od|=
|
||||
196608;this.ma[100]=td;this.ma[101]=ud;this.ma[102]=vd;this.ma[103]=wd;for(c in B)this.Zc[+c]=B[c];80546<=this.pd&&80562>=this.pd&&(this.Zc[166]=xd,this.Zc[167]=yd)}}this.of=[];this.th=[];this.Vf=0;kc(this);this.ea.Le=this.ea.Hj=!1;this.yh=0;this.vc=this.R=[];this.da=this.vb=this.pb=this.mf=this.Yd=this.Fa=this.oc=0;zd(this)}Qa(Rc,hc);
|
||||
function Bb(a){var b;if(a.R===a.vc){a.R=Array(a.mf);a.pf=new q(null,0,0,5,null,a);sb(a.pf,a.Ia);for(b=0;b<a.mf;b++)a.R[b]=a.pf;a.Zd=new q;a.sh=Array(512);a.qf=0}else for(var c=0;c<a.nf.length;c++){b=a.nf[c];var d=a.R[b];512>a.qf&&(a.sh[a.qf++]=d);a.R[b]=a.pf}a.nf=[]}
|
||||
function Zb(a,b,c,d){var e=(b&-4194304)>>>20,f=a.vc[(a.dd+e&a.Fa)>>>a.da],g=f.Gd(e);if(!(g&1))return d||Ad.call(a,b,!1,c),a.Zd;if(!(g&4)&&3==a.za)return d||Ad.call(a,b,!0,c),a.Zd;var h=(b&4190208)>>>10,g=a.vc[((g&-4096)+h&a.Fa)>>>a.da],k=g.Gd(h);if(!(k&1))return d||Ad.call(a,b,!1,c),a.Zd;if(!(k&4)&&3==a.za)return d||Ad.call(a,b,!0,c),a.Zd;c=a.vc[((k&-4096)+(b&4095)&a.Fa)>>>a.da];if(d)return c;d=b>>>a.da;k=a.R[d];b=b&-4096;var m;0<a.qf?(m=a.sh[--a.qf],m.Qk(b)):m=new q(b,0,0,6);b=m;b.L=c;b.B=f;b.D=
|
||||
e>>2;b.C=g;b.G=h>>2;db&&Hb&&c.V&&!c.controller&&!c.ge&&!c.he?(b.Ka=c.Ka,b.vd=c.vd,b.V=c.V,Eb(b,gc)):(b.K=c?Xb(32):0,b.S=c?Xb(96):0,Eb(b,ec));sb(b,a.Ia,k);a.R[d]=b;a.nf.push(d);return b}function Bd(a){a.R!==a.vc&&(a.R=a.vc,a.pf=null,a.nf=null,a.Zd=null)}l=Rc.prototype;l.reset=function(){this.ea.Sb&&oc(this);zd(this);kc(this);this.ea.Yc=!1};
|
||||
196608;this.ma[100]=td;this.ma[101]=ud;this.ma[102]=vd;this.ma[103]=wd;for(c in B)this.Zc[+c]=B[c];80546<=this.pd&&80562>=this.pd&&(this.Zc[166]=xd,this.Zc[167]=yd)}}this.of=[];this.th=[];this.Vf=0;kc(this);this.ea.Le=this.ea.Hj=!1;this.yh=0;this.vc=this.S=[];this.da=this.xb=this.pb=this.mf=this.Yd=this.Fa=this.oc=0;zd(this)}Qa(Rc,hc);
|
||||
function Bb(a){var b;if(a.S===a.vc){a.S=Array(a.mf);a.pf=new q(null,0,0,5,null,a);sb(a.pf,a.Ia);for(b=0;b<a.mf;b++)a.S[b]=a.pf;a.Zd=new q;a.sh=Array(512);a.qf=0}else for(var c=0;c<a.nf.length;c++){b=a.nf[c];var d=a.S[b];512>a.qf&&(a.sh[a.qf++]=d);a.S[b]=a.pf}a.nf=[]}
|
||||
function Zb(a,b,c,d){var e=(b&-4194304)>>>20,f=a.vc[(a.dd+e&a.Fa)>>>a.da],g=f.Gd(e);if(!(g&1))return d||Ad.call(a,b,!1,c),a.Zd;if(!(g&4)&&3==a.za)return d||Ad.call(a,b,!0,c),a.Zd;var h=(b&4190208)>>>10,g=a.vc[((g&-4096)+h&a.Fa)>>>a.da],k=g.Gd(h);if(!(k&1))return d||Ad.call(a,b,!1,c),a.Zd;if(!(k&4)&&3==a.za)return d||Ad.call(a,b,!0,c),a.Zd;c=a.vc[((k&-4096)+(b&4095)&a.Fa)>>>a.da];if(d)return c;d=b>>>a.da;k=a.S[d];b=b&-4096;var m;0<a.qf?(m=a.sh[--a.qf],m.Qk(b)):m=new q(b,0,0,6);b=m;b.L=c;b.B=f;b.D=
|
||||
e>>2;b.C=g;b.G=h>>2;db&&Hb&&c.V&&!c.controller&&!c.ge&&!c.he?(b.Ka=c.Ka,b.vd=c.vd,b.V=c.V,Eb(b,gc)):(b.K=c?Xb(32):0,b.R=c?Xb(96):0,Eb(b,ec));sb(b,a.Ia,k);a.S[d]=b;a.nf.push(d);return b}function Bd(a){a.S!==a.vc&&(a.S=a.vc,a.pf=null,a.nf=null,a.Zd=null)}l=Rc.prototype;l.reset=function(){this.ea.Sb&&oc(this);zd(this);kc(this);this.ea.Yc=!1};
|
||||
function Cd(a,b){var c;switch(b){case 0:c=a.J;break;case 1:c=a.G;break;case 2:c=a.M;break;case 3:c=a.D;break;case 4:c=w(a);break;case 5:c=a.K;break;case 6:c=a.I;break;case 7:c=a.H}return c}function Dd(a,b,c){switch(b){case 0:a.J=c;break;case 1:a.G=c;break;case 2:a.M=c;break;case 3:a.D=c;break;case 4:v(a,c);break;case 5:a.K=c;break;case 6:a.I=c;break;case 7:a.H=c}}
|
||||
function zd(a){a.J=0;a.D=0;a.G=0;a.M=0;a.Nb=0;a.K=0;a.I=0;a.H=0;a.Hb=!1;a.ua=a.Ga=0;a.oa=0;a.xh=0;a.W=0;a.Pa=65520;a.Ab=0;a.xc=1023;a.X=a.Cb=0;a.td=a.Kd=a.sd=a.Id=0;a.fc=-1;a.Gc=a.ic=-1;a.Ed=a.la=-1;a.Ca=new zc(a,1,"CS");a.xa=new zc(a,2,"DS");a.pa=new zc(a,2,"ES");a.S=new zc(a,3,"SS");v(a,0);Ec(a,0);if(80386<=a.ca){switch(a.pd){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Pa=16;a.Bh=0;a.rd=0;a.dd=0;a.qb=[0,0,0,0,null,null,0,
|
||||
0];a.rf=[null,null,null,null,null,null,0,0];a.Ta=new zc(a,2,"FS");a.Xa=new zc(a,2,"GS");Bd(a)}a.Yf=new zc(a,0,"NULL");a.va=a.xa;a.rb=a.S;a.L=a.wa=0;a.F=a.C=-1;a.Eb=a.Yf;a.Ea=0;if(80286>a.ca)Pc(a,0,65535);else{a.ub=0;a.wc=65535;a.Zb=new zc(a,5,"LDT",!0);a.ia=new zc(a,4,"TSS",!0);a.Oa=new zc(a,6,"VER",!0);Pc(a,65520,61440);var b,c=A(a);b=a.Ca;var d=-65536;80386>b.A.ca&&(d&=16777215);b=b.ya=d;a.Y=b+c|0;a.Wf=(b>>>0)+(a.Ca.Za>>>0)+1}Nc(a,0);Gc(a)}
|
||||
function zd(a){a.J=0;a.D=0;a.G=0;a.M=0;a.Nb=0;a.K=0;a.I=0;a.H=0;a.Hb=!1;a.ua=a.Ga=0;a.oa=0;a.xh=0;a.W=0;a.Pa=65520;a.Ab=0;a.xc=1023;a.X=a.Cb=0;a.td=a.Kd=a.sd=a.Id=0;a.fc=-1;a.Gc=a.ic=-1;a.Ed=a.la=-1;a.Ca=new zc(a,1,"CS");a.xa=new zc(a,2,"DS");a.pa=new zc(a,2,"ES");a.R=new zc(a,3,"SS");v(a,0);Ec(a,0);if(80386<=a.ca){switch(a.pd){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Pa=16;a.Bh=0;a.rd=0;a.dd=0;a.qb=[0,0,0,0,null,null,0,
|
||||
0];a.rf=[null,null,null,null,null,null,0,0];a.Ta=new zc(a,2,"FS");a.Xa=new zc(a,2,"GS");Bd(a)}a.Yf=new zc(a,0,"NULL");a.va=a.xa;a.rb=a.R;a.L=a.wa=0;a.F=a.C=-1;a.Eb=a.Yf;a.Ea=0;if(80286>a.ca)Pc(a,0,65535);else{a.ub=0;a.wc=65535;a.Zb=new zc(a,5,"LDT",!0);a.ia=new zc(a,4,"TSS",!0);a.Oa=new zc(a,6,"VER",!0);Pc(a,65520,61440);var b,c=A(a);b=a.Ca;var d=-65536;80386>b.A.ca&&(d&=16777215);b=b.ya=d;a.Y=b+c|0;a.Wf=(b>>>0)+(a.Ca.Za>>>0)+1}Nc(a,0);Gc(a)}
|
||||
function Ed(a){2==a.Nc?(a.Ah=a.ga,a.Bb=Fd,a.Gb=Gd,a.yc=Hd,2==a.U?(a.Z=Id,a.qa=Jd,a.Ja=Kd):(a.Z=Ld,a.qa=Md,a.Ja=Nd)):(a.Ah=a.fa,a.Bb=Od,a.Gb=Pd,a.yc=Qd,2==a.U?(a.Z=Rd,a.qa=Sd,a.Ja=Td):(a.Z=Ud,a.qa=Vd,a.Ja=Wd))}function Hc(a,b){a.U!=b&&(a.wa|=1024,a.U=b,a.N=2==b?65535:-1,Xd(a))}function Xd(a){2==a.U?(a.fb=32768,a.Tb=a.ga,a.Xb=a.bb,2==a.Nc?(a.Z=Id,a.qa=Jd,a.Ja=Kd):(a.Z=Rd,a.qa=Sd,a.Ja=Td)):(a.fb=-2147483648,a.Tb=a.fa,a.Xb=a.Va,2==a.Nc?(a.Z=Ld,a.qa=Md,a.Ja=Nd):(a.Z=Ud,a.qa=Vd,a.Ja=Wd))}
|
||||
function Yd(a){a.Nc=a.Ca.Nc;a.sa=a.Ca.sa;Ed(a);a.U=a.Ca.U;a.N=a.Ca.N;Xd(a);a.wa&=-3073}l.Th=function(){var a=this.J+this.D+this.G+this.M+w(this)+this.K+this.I+this.H|0;return a=a+A(this)+this.Ca.ja+this.xa.ja+this.S.ja+this.pa.ja+Mc(this)|0};function Zd(a,b,c){void 0===a.of[b]&&(a.of[b]=[]);a.of[b].push(c)}function $d(a,b){var c=a.th[b];null!=c&&(c(--a.Vf),delete a.th[b])}
|
||||
function ae(a,b){for(var c=a.qb[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.qb[e],g=g&~(d>>2&3);if(b){var g=a.R[g>>>a.da],h=a;f?0===g.he++&&(h&&(g.A=h),cc(g,bc,!1)):0===g.ge++&&(h&&(g.A=h),$b(g,bc,!1))}else g=a.R[g>>>a.da],f?0===--g.he&&(f=g,f.Yb=f.I?f.ha:f.kf,f.Fe=f.I?f.ba:f.ph,f.Ee=f.I?f.ka:f.oa):0===--g.ge&&(f=g,f.Wb=f.Fd,f.ye=f.ef,f.Gd=f.ih)}c>>=2;d>>=4}}
|
||||
function Yb(a,b,c,d){if(!(a.L&8192)&&a.qb[7]&255){c--;var e=a.qb[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.qb[g]&&b<=a.qb[g]+h){a.qb[6]|=1<<g;a.Ea|=2;break}}e>>=2;f>>=4}}}function Gc(a,b,c){void 0===b&&(b=!!(a.Pa&1));void 0===c&&(c=!!(a.X&131072));a.wh=b&&!c?be:Vc;Ac(a.Ca,!1,b,c);Ac(a.xa,!1,b,c);Ac(a.S,!1,b,c);Ac(a.pa,!1,b,c);80386<=a.ca&&(Ac(a.Ta,!1,b,c),Ac(a.Xa,!1,b,c));Yd(a)}
|
||||
l.save=function(){var a=new ce(this);C(a,0,[this.J,this.D,this.G,this.M,w(this),this.K,this.I,this.H]);var b=A(this),c=this.Ca.save(),d=this.xa.save(),e=this.S.save(),f=this.pa.save(),g;null!=this.ub?(g=[this.Pa,this.ub,this.wc,this.Ab,this.xc,this.Zb.save(),this.ia.save(),this.Cb],80386<=this.ca&&(g.push(this.Bh),g.push(this.rd),g.push(this.dd),g.push(this.qb),g.push(this.rf))):g=null;b=[b,c,d,e,f,g,Mc(this)];80386<=this.ca&&(b.push(this.Ta.save()),b.push(this.Xa.save()));C(a,1,b);C(a,2,[this.va.Tf,
|
||||
this.rb.Tf,this.L,this.wa,this.Ea,this.F,this.C]);C(a,3,[0,this.$c,this.T.Cd]);b=this.ha;c=!!(this.Pa&-2147483648);d=0;e=[];(f=!b.G&&b.ba==b.Fa)||xb(b,!0);for(g=0;g<b.H;g++){var h=b.R[g];if(c&&h.type!=Gb||h.Ha||h.Ph){e[d++]=g;var k=d++;a:if(h=h.save()){for(var m=0,p=0,x=[];m<h.length;){for(var r=h[m],z=m+1;z<h.length&&h[z]===r;)z++;x[p++]=z-m;x[p++]=r;m=z}if(x.length<h.length){h=x;break a}}e[k]=h}}f||xb(b,!1);e[d]=f;C(a,4,e);return a.data()};
|
||||
l.restore=function(a){var b=a[0];this.J=b[0];this.D=b[1];this.G=b[2];this.M=b[3];var c=b[4];this.K=b[5];this.I=b[6];this.H=b[7];b=a[1];this.Ca.restore(b[1]);this.xa.restore(b[2]);this.S.restore(b[3]);this.pa.restore(b[4]);var d=b[5];d&&d.length&&(this.Pa=d[0],this.ub=d[1],this.wc=d[2],this.Ab=d[3],this.xc=d[4],this.Zb.restore(d[5]),this.ia.restore(d[6]),this.Cb=d[7],80386<=this.ca&&(this.Bh=d[8],this.rd=d[9],this.dd=d[10],this.qb=d[11],this.rf=d[12]),Gc(this));Nc(this,b[6]);var d=!1,e;a:{e=this.ha;
|
||||
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.ha){for(var m=0,p=Array(e.ha),x=0;x<k.length-1;)for(var r=k[x++],z=k[x++];r--;)p[m++]=z;k=p}m=e.R[h];if(!m||!m.restore(k)){n("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&xb(e,f[g]);e=!0}e&&(Pc(this,b[0],this.Ca.ja),v(this,c),Ec(this,this.S.ja),80386<=this.ca&&(this.Ta.restore(b[7]),this.Xa.restore(b[8])),d=!0);b=a[2];this.va=null!=b[0]&&de(this,b[0])||this.xa;this.rb=null!=b[1]&&de(this,b[1])||this.S;
|
||||
this.L=b[2];this.wa=b[3];this.Ea=b[4];this.F=b[5];this.C=b[6];b=a[3];this.$c=b[1];pc(this,b[2]);return d};function de(a,b){switch(b){case "CS":return a.Ca;case "DS":return a.xa;case "SS":return a.S;case "ES":return a.pa;case "NULL":return a.Yf;default:return[0,b,0,0,""]}}function ee(a,b){null!=Pc(a,A(a),b)&&(a.L|=a.ae)}function Kc(a,b){-1!==a.xa.load(b)&&(a.L|=a.ae)}
|
||||
function Ec(a,b,c){var d=w(a);-1!==a.S.load(b)&&(v(a,d),a.S.zd?(a.Xf=a.S.ya+a.S.sa|0,a.$d=a.S.ya+a.S.Za|0):(a.Xf=a.S.ya+a.S.Za|0,a.$d=a.S.ya),c||(a.L|=4))}function Lc(a,b){-1!==a.pa.load(b)&&(a.L|=a.ae)}function A(a){return a.Y-a.Ca.ya|0}function D(a,b){a.Y=a.Ca.ya+(b&a.N)|0}function fe(a,b){a.Y=b;a.Wf=(a.Ca.ya>>>0)+(a.Ca.Za>>>0)+1;a.za=a.Ca.sb;Yd(a)}function Pc(a,b,c,d){var e=a.Ca;e.cf=b;e.D=d;b=e.load(c);return-1!==b?(fe(a,b+(a.Ca.cf&a.Ca.N)),a.Ca.pe):null}
|
||||
function ge(a,b){var c=(a.Y>>>0)+b;c>a.Wf&&(8088>=a.ca||a.Ca.Za==a.Ca.sa?c=a.Ca.ya+(c-a.Wf&a.N):t.call(a,13,0));return c|0}function he(a){a.Y=a.Ed}function w(a){return a.Nb&~a.S.sa|a.ra-a.S.ya}function v(a,b){a.Nb=b;a.ra=a.S.ya+(b&a.S.sa)|0}function ie(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&je(a),g&2&&ke(a),g&4&&le(a),g&8&&me(a),g&16&&ne(a),g&32&&oe(a))}f?(a.td=d,a.sd=b):(a.td=b,a.sd=d);a.Kd=c;a.Id=d;a.resultType=e}
|
||||
function Yd(a){a.Nc=a.Ca.Nc;a.sa=a.Ca.sa;Ed(a);a.U=a.Ca.U;a.N=a.Ca.N;Xd(a);a.wa&=-3073}l.Th=function(){var a=this.J+this.D+this.G+this.M+w(this)+this.K+this.I+this.H|0;return a=a+A(this)+this.Ca.ja+this.xa.ja+this.R.ja+this.pa.ja+Mc(this)|0};function Zd(a,b,c){void 0===a.of[b]&&(a.of[b]=[]);a.of[b].push(c)}function $d(a,b){var c=a.th[b];null!=c&&(c(--a.Vf),delete a.th[b])}
|
||||
function ae(a,b){for(var c=a.qb[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.qb[e],g=g&~(d>>2&3);if(b){var g=a.S[g>>>a.da],h=a;f?0===g.he++&&(h&&(g.A=h),cc(g,bc,!1)):0===g.ge++&&(h&&(g.A=h),$b(g,bc,!1))}else g=a.S[g>>>a.da],f?0===--g.he&&(f=g,f.Yb=f.I?f.ha:f.kf,f.Fe=f.I?f.ba:f.ph,f.Ee=f.I?f.ka:f.oa):0===--g.ge&&(f=g,f.Wb=f.Fd,f.ye=f.ef,f.Gd=f.ih)}c>>=2;d>>=4}}
|
||||
function Yb(a,b,c,d){if(!(a.L&8192)&&a.qb[7]&255){c--;var e=a.qb[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.qb[g]&&b<=a.qb[g]+h){a.qb[6]|=1<<g;a.Ea|=2;break}}e>>=2;f>>=4}}}function Gc(a,b,c){void 0===b&&(b=!!(a.Pa&1));void 0===c&&(c=!!(a.X&131072));a.wh=b&&!c?be:Vc;Ac(a.Ca,!1,b,c);Ac(a.xa,!1,b,c);Ac(a.R,!1,b,c);Ac(a.pa,!1,b,c);80386<=a.ca&&(Ac(a.Ta,!1,b,c),Ac(a.Xa,!1,b,c));Yd(a)}
|
||||
l.save=function(){var a=new ce(this);C(a,0,[this.J,this.D,this.G,this.M,w(this),this.K,this.I,this.H]);var b=A(this),c=this.Ca.save(),d=this.xa.save(),e=this.R.save(),f=this.pa.save(),g;null!=this.ub?(g=[this.Pa,this.ub,this.wc,this.Ab,this.xc,this.Zb.save(),this.ia.save(),this.Cb],80386<=this.ca&&(g.push(this.Bh),g.push(this.rd),g.push(this.dd),g.push(this.qb),g.push(this.rf))):g=null;b=[b,c,d,e,f,g,Mc(this)];80386<=this.ca&&(b.push(this.Ta.save()),b.push(this.Xa.save()));C(a,1,b);C(a,2,[this.va.Tf,
|
||||
this.rb.Tf,this.L,this.wa,this.Ea,this.F,this.C]);C(a,3,[0,this.$c,this.T.Cd]);b=this.ha;c=!!(this.Pa&-2147483648);d=0;e=[];(f=!b.G&&b.ba==b.Fa)||xb(b,!0);for(g=0;g<b.H;g++){var h=b.S[g];if(c&&h.type!=Gb||h.Ha||h.Ph){e[d++]=g;var k=d++;a:if(h=h.save()){for(var m=0,p=0,x=[];m<h.length;){for(var r=h[m],z=m+1;z<h.length&&h[z]===r;)z++;x[p++]=z-m;x[p++]=r;m=z}if(x.length<h.length){h=x;break a}}e[k]=h}}f||xb(b,!1);e[d]=f;C(a,4,e);return a.data()};
|
||||
l.restore=function(a){var b=a[0];this.J=b[0];this.D=b[1];this.G=b[2];this.M=b[3];var c=b[4];this.K=b[5];this.I=b[6];this.H=b[7];b=a[1];this.Ca.restore(b[1]);this.xa.restore(b[2]);this.R.restore(b[3]);this.pa.restore(b[4]);var d=b[5];d&&d.length&&(this.Pa=d[0],this.ub=d[1],this.wc=d[2],this.Ab=d[3],this.xc=d[4],this.Zb.restore(d[5]),this.ia.restore(d[6]),this.Cb=d[7],80386<=this.ca&&(this.Bh=d[8],this.rd=d[9],this.dd=d[10],this.qb=d[11],this.rf=d[12]),Gc(this));Nc(this,b[6]);var d=!1,e;a:{e=this.ha;
|
||||
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.ha){for(var m=0,p=Array(e.ha),x=0;x<k.length-1;)for(var r=k[x++],z=k[x++];r--;)p[m++]=z;k=p}m=e.S[h];if(!m||!m.restore(k)){n("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&xb(e,f[g]);e=!0}e&&(Pc(this,b[0],this.Ca.ja),v(this,c),Ec(this,this.R.ja),80386<=this.ca&&(this.Ta.restore(b[7]),this.Xa.restore(b[8])),d=!0);b=a[2];this.va=null!=b[0]&&de(this,b[0])||this.xa;this.rb=null!=b[1]&&de(this,b[1])||this.R;
|
||||
this.L=b[2];this.wa=b[3];this.Ea=b[4];this.F=b[5];this.C=b[6];b=a[3];this.$c=b[1];pc(this,b[2]);return d};function de(a,b){switch(b){case "CS":return a.Ca;case "DS":return a.xa;case "SS":return a.R;case "ES":return a.pa;case "NULL":return a.Yf;default:return[0,b,0,0,""]}}function ee(a,b){null!=Pc(a,A(a),b)&&(a.L|=a.ae)}function Kc(a,b){-1!==a.xa.load(b)&&(a.L|=a.ae)}
|
||||
function Ec(a,b,c){var d=w(a);-1!==a.R.load(b)&&(v(a,d),a.R.zd?(a.Xf=a.R.ya+a.R.sa|0,a.$d=a.R.ya+a.R.Za|0):(a.Xf=a.R.ya+a.R.Za|0,a.$d=a.R.ya),c||(a.L|=4))}function Lc(a,b){-1!==a.pa.load(b)&&(a.L|=a.ae)}function A(a){return a.Y-a.Ca.ya|0}function D(a,b){a.Y=a.Ca.ya+(b&a.N)|0}function fe(a,b){a.Y=b;a.Wf=(a.Ca.ya>>>0)+(a.Ca.Za>>>0)+1;a.za=a.Ca.sb;Yd(a)}function Pc(a,b,c,d){var e=a.Ca;e.cf=b;e.D=d;b=e.load(c);return-1!==b?(fe(a,b+(a.Ca.cf&a.Ca.N)),a.Ca.pe):null}
|
||||
function ge(a,b){var c=(a.Y>>>0)+b;c>a.Wf&&(8088>=a.ca||a.Ca.Za==a.Ca.sa?c=a.Ca.ya+(c-a.Wf&a.N):t.call(a,13,0));return c|0}function he(a){a.Y=a.Ed}function w(a){return a.Nb&~a.R.sa|a.ra-a.R.ya}function v(a,b){a.Nb=b;a.ra=a.R.ya+(b&a.R.sa)|0}function ie(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&je(a),g&2&&ke(a),g&4&&le(a),g&8&&me(a),g&16&&ne(a),g&32&&oe(a))}f?(a.td=d,a.sd=b):(a.td=b,a.sd=d);a.Kd=c;a.Id=d;a.resultType=e}
|
||||
function F(a,b,c,d,e){a.resultType=c|26;a.Id=b;d?pe(a):qe(a);e?re(a):se(a);return b}function te(a,b,c,d){c&d?pe(a):qe(a);(b^c)&d?re(a):se(a)}function we(a){return je(a)?1:0}function je(a){a.resultType&1&&(a.X&=-2,(a.td^(a.td^a.Kd)&(a.Kd^a.sd))&a.resultType&-2147450752&&(a.X|=1),a.resultType&=-2);return a.X&1}function ke(a){a.resultType&2&&(a.X&=-5,38505>>((a.Id^a.Id>>4)&15)&1&&(a.X|=4),a.resultType&=-3);return a.X&4}
|
||||
function le(a){a.resultType&4&&(a.X&=-17,(a.sd^a.td^a.Kd)&16&&(a.X|=16),a.resultType&=-5);return a.X&16}function me(a){a.resultType&8&&(a.X&=-65,a.Id&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.X|=64),a.resultType&=-9);return a.X&64}function ne(a){a.resultType&16&&(a.X&=-129,a.Id&a.resultType&-2147450752&&(a.X|=128),a.resultType&=-17);return a.X&128}
|
||||
function oe(a){a.resultType&32&&(a.X&=-2049,(a.td^a.sd)&(a.Kd^a.sd)&a.resultType&-2147450752&&(a.X|=2048),a.resultType&=-33);return a.X&2048}function qe(a){a.resultType&=-2;a.X&=-2}function xe(a){a.resultType&=-5;a.X&=-17}function ye(a){a.resultType&=-9;a.X&=-65}function se(a){a.resultType&=-33;a.X&=-2049}function pe(a){a.resultType&=-2;a.X|=1}function ze(a){a.resultType&=-5;a.X|=16}function Ae(a){a.resultType&=-9;a.X|=64}function re(a){a.resultType&=-33;a.X|=2048}
|
||||
function Mc(a){return a.X&-2262|je(a)|ke(a)|le(a)|me(a)|ne(a)|oe(a)}function Be(a,b){b=b|a.Pa&1|65520;a.Pa=a.Pa&-65536|b&65535;a.Pa&1&&Gc(a,!0)}function Nc(a,b,c){a.Pa&1||(b&=~a.qh);void 0===c&&(c=a.za);c?b=b&-12289|a.X&12288:a.Cb=(b&12288)>>12;c>a.Cb&&(b=b&-513|a.X&512);a.resultType=128;a.X=a.X&~(a.od|2261)|b&(a.od|2261)|a.rh;a.X&256&&(a.Ea|=2,a.L|=4)}
|
||||
function Ce(a,b,c){var d=0;if(a.Pa&1&&(a.za>a.Cb||a.X&131072)&&a.ia.Dh)for(var e=a.ia.Dh+(b>>>3),d=(1<<c)-1<<(b&7);d&&e<=a.ia.yj&&!(a.Jb(e)&d);)d>>>=8,e++;return d?(t.call(a,13,0),!1):!0}
|
||||
l.zb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ka[b]=c;this.yh++;d=!0;break;default:d=this.parent.zb.call(this,a,b,c)}return d};
|
||||
function De(a,b,c,d){var e=(d?a.vc:a.R)[(b&a.oc)>>>a.da];e&&5==e.type&&(e=Zb(a,b,!1,!0));if(e){var f=b&a.pb;if(!c||1==c)return e.Fd(f,b);if(2==c)return f<a.pb?e.ef(f,b):e.Fd(f,b)|De(a,b+1,1,d)<<8;if(4==c)return f<a.pb-2?e.ih(f,b):f==a.pb-1?e.ef(f,b)|De(a,b+2,2,d)<<16:e.Fd(f,b)|De(a,b+1,1,d)<<8|De(a,b+2,1,d)<<16|De(a,b+3,1,d)<<24}return null}l.Jb=function(a){return this.R[(a&this.oc)>>>this.da].Wb(a&this.pb,a)};
|
||||
l.ga=function(a){var b=a&this.pb,c=(a&this.oc)>>>this.da;this.A-=this.B.Lf;if(b<this.pb)return this.R[c].ye(b,a);b=this.R[c].Wb(b,a);this.L&4096||(b|=this.R[c+1&this.Yd].Wb(0,a+1)<<8);return b};l.fa=function(a){var b=a&this.pb,c=(a&this.oc)>>>this.da;if(b<this.pb-2)return this.R[c].Gd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.R[c].Wb(b++,a++)<<f;if(this.L&4096)break;--g||(c=c+1&this.Yd,b=0);f+=8}return d};l.Mc=function(a,b){this.R[(a&this.oc)>>>this.da].Yb(a&this.pb,b&255,a)};
|
||||
l.bb=function(a,b){var c=a&this.pb,d=(a&this.oc)>>>this.da;this.A-=this.B.Lf;c<this.pb?this.R[d].Fe(c,b&65535,a):(this.R[d++].Yb(c,b&255,a),this.L&4096||this.R[d&this.Yd].Yb(0,b>>8&255,a+1))};l.Va=function(a,b){var c=a&this.pb,d=(a&this.oc)>>>this.da;this.A-=this.B.Lf;if(c<this.pb-2)this.R[d].Ee(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.R[d].Yb(c++,b&255,a++);if(this.L&4096)break;--f||(d=d+1&this.Yd,c=0);b>>>=8}};function Ee(a,b,c){a.Eb=b;a.La=c&a.sa;a.F=b.Pb(a.La,1);return a.L&1?0:a.Jb(a.F)}
|
||||
function De(a,b,c,d){var e=(d?a.vc:a.S)[(b&a.oc)>>>a.da];e&&5==e.type&&(e=Zb(a,b,!1,!0));if(e){var f=b&a.pb;if(!c||1==c)return e.Fd(f,b);if(2==c)return f<a.pb?e.ef(f,b):e.Fd(f,b)|De(a,b+1,1,d)<<8;if(4==c)return f<a.pb-2?e.ih(f,b):f==a.pb-1?e.ef(f,b)|De(a,b+2,2,d)<<16:e.Fd(f,b)|De(a,b+1,1,d)<<8|De(a,b+2,1,d)<<16|De(a,b+3,1,d)<<24}return null}l.Jb=function(a){return this.S[(a&this.oc)>>>this.da].Wb(a&this.pb,a)};
|
||||
l.ga=function(a){var b=a&this.pb,c=(a&this.oc)>>>this.da;this.A-=this.B.Lf;if(b<this.pb)return this.S[c].ye(b,a);b=this.S[c].Wb(b,a);this.L&4096||(b|=this.S[c+1&this.Yd].Wb(0,a+1)<<8);return b};l.fa=function(a){var b=a&this.pb,c=(a&this.oc)>>>this.da;if(b<this.pb-2)return this.S[c].Gd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.S[c].Wb(b++,a++)<<f;if(this.L&4096)break;--g||(c=c+1&this.Yd,b=0);f+=8}return d};l.Mc=function(a,b){this.S[(a&this.oc)>>>this.da].Yb(a&this.pb,b&255,a)};
|
||||
l.bb=function(a,b){var c=a&this.pb,d=(a&this.oc)>>>this.da;this.A-=this.B.Lf;c<this.pb?this.S[d].Fe(c,b&65535,a):(this.S[d++].Yb(c,b&255,a),this.L&4096||this.S[d&this.Yd].Yb(0,b>>8&255,a+1))};l.Va=function(a,b){var c=a&this.pb,d=(a&this.oc)>>>this.da;this.A-=this.B.Lf;if(c<this.pb-2)this.S[d].Ee(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.S[d].Yb(c++,b&255,a++);if(this.L&4096)break;--f||(d=d+1&this.Yd,c=0);b>>>=8}};function Ee(a,b,c){a.Eb=b;a.La=c&a.sa;a.F=b.Pb(a.La,1);return a.L&1?0:a.Jb(a.F)}
|
||||
function G(a,b){return Ee(a,a.va,b)}function H(a,b){return Ee(a,a.rb,b)}function Fe(a,b,c){a.Eb=b;a.La=c&a.sa;a.F=b.Pb(a.La,a.U);return a.L&1?0:a.Tb(a.F)}function I(a,b){a.Eb=a.va;a.La=b&a.sa;a.F=a.Eb.Pb(a.La,2);return a.L&1?0:a.ga(a.F)}function K(a,b){a.Eb=a.rb;a.La=b&a.sa;a.F=a.Eb.Pb(a.La,2);return a.L&1?0:a.ga(a.F)}function L(a,b){a.Eb=a.va;a.La=b&a.sa;a.F=a.Eb.Pb(a.La,4);return a.L&1?0:a.fa(a.F)}function M(a,b){a.Eb=a.rb;a.La=b&a.sa;a.F=a.Eb.Pb(a.La,4);return a.L&1?0:a.fa(a.F)}
|
||||
function Ge(a,b){a.L&2||a.Mc(a.Eb.Qb(a.La,1),b)}function He(a,b){a.L&2||a.bb(a.Eb.Qb(a.La,2),b)}function Ie(a,b){a.L&2||a.Va(a.Eb.Qb(a.La,4),b)}function Ic(a,b,c){return a.Tb(b.Pb(c,a.U))}l.na=function(){var a=ge(this,1),b=this.Jb(this.Y);this.Y=a;return b};function Je(a){var b=ge(a,2),c=a.ga(a.Y);a.Y=b;return c}function N(a){var b=ge(a,a.Nc),c=a.Ah(a.Y);a.Y=b;return c}l.Aa=function(){var a=ge(this,this.U),b=this.Tb(this.Y);this.Y=a;return b};
|
||||
l.O=function(){var a=ge(this,1),b=this.Jb(this.Y)<<24>>24;this.Y=a;return b};function u(a){var b=a.Tb(a.ra);a.ra=a.ra+a.U|0;var c=a.Xf-a.ra|0;0>c&&0<=(a.Xf^a.ra)&&(8088>=a.ca||!a.S.zd&&a.S.Za==a.S.sa||a.S.zd&&!a.S.Za?v(a,a.ra-a.S.ya&a.S.sa):-1>c&&t.call(a,12,0));return b}
|
||||
function Jc(a,b,c,d){c=a.ra-c|0;0>(c-a.$d|0)&&0<=(a.$d^c)&&(8088>=a.ca||!a.S.zd&&a.S.Za==a.S.sa||a.S.zd&&!a.S.Za?(v(a,c-a.S.ya&a.S.sa),c=a.ra):t.call(a,12,0));switch(d){case 1:a.Mc(c,b);break;case 2:a.bb(c,b);break;case 4:a.Va(c,b)}a.ra=c}function y(a,b){var c=a.ra-a.U|0;0>(c-a.$d|0)&&0<=(a.$d^c)&&(8088>=a.ca||!a.S.zd&&a.S.Za==a.S.sa||a.S.zd&&!a.S.Za?(v(a,c-a.S.ya&a.S.sa),c=a.ra):t.call(a,12,0));a.Xb(c,b);a.ra=c}
|
||||
l.O=function(){var a=ge(this,1),b=this.Jb(this.Y)<<24>>24;this.Y=a;return b};function u(a){var b=a.Tb(a.ra);a.ra=a.ra+a.U|0;var c=a.Xf-a.ra|0;0>c&&0<=(a.Xf^a.ra)&&(8088>=a.ca||!a.R.zd&&a.R.Za==a.R.sa||a.R.zd&&!a.R.Za?v(a,a.ra-a.R.ya&a.R.sa):-1>c&&t.call(a,12,0));return b}
|
||||
function Jc(a,b,c,d){c=a.ra-c|0;0>(c-a.$d|0)&&0<=(a.$d^c)&&(8088>=a.ca||!a.R.zd&&a.R.Za==a.R.sa||a.R.zd&&!a.R.Za?(v(a,c-a.R.ya&a.R.sa),c=a.ra):t.call(a,12,0));switch(d){case 1:a.Mc(c,b);break;case 2:a.bb(c,b);break;case 4:a.Va(c,b)}a.ra=c}function y(a,b){var c=a.ra-a.U|0;0>(c-a.$d|0)&&0<=(a.$d^c)&&(8088>=a.ca||!a.R.zd&&a.R.Za==a.R.sa||a.R.zd&&!a.R.Za?(v(a,c-a.R.ya&a.R.sa),c=a.ra):t.call(a,12,0));a.Xb(c,b);a.ra=c}
|
||||
function O(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ca)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.ka[b]&&(void 0===c&&(cb(a,"Value for "+b+" is invalid"),oc(a)),d=!a.ea.Sb||a.ea.Qh?ea(c,d):"--------".substr(0,d),a.ka[b].textContent!=d&&(a.ka[b].textContent=d))}
|
||||
l.Xd=function(a){this.yh&&(a||!this.ea.Sb||this.ea.Qh)&&(O(this,"EAX",this.J),O(this,"EBX",this.D),O(this,"ECX",this.G),O(this,"EDX",this.M),O(this,"ESP",w(this)),O(this,"EBP",this.K),O(this,"ESI",this.I),O(this,"EDI",this.H),O(this,"CS",this.Ca.ja),O(this,"DS",this.xa.ja),O(this,"SS",this.S.ja),O(this,"ES",this.pa.ja),O(this,"EIP",A(this)),a=Mc(this),O(this,"PS",a),O(this,"V",a&2048),O(this,"D",a&1024),O(this,"I",a&512),O(this,"T",a&256),O(this,"S",a&128),O(this,"Z",a&64),O(this,"A",a&16),O(this,
|
||||
l.Xd=function(a){this.yh&&(a||!this.ea.Sb||this.ea.Qh)&&(O(this,"EAX",this.J),O(this,"EBX",this.D),O(this,"ECX",this.G),O(this,"EDX",this.M),O(this,"ESP",w(this)),O(this,"EBP",this.K),O(this,"ESI",this.I),O(this,"EDI",this.H),O(this,"CS",this.Ca.ja),O(this,"DS",this.xa.ja),O(this,"SS",this.R.ja),O(this,"ES",this.pa.ja),O(this,"EIP",A(this)),a=Mc(this),O(this,"PS",a),O(this,"V",a&2048),O(this,"D",a&1024),O(this,"I",a&512),O(this,"T",a&256),O(this,"S",a&128),O(this,"Z",a&64),O(this,"A",a&16),O(this,
|
||||
"P",a&4),O(this,"C",a&1),80386==this.ca&&(O(this,"FS",this.Ta.ja),O(this,"GS",this.Xa.ja),O(this,"CR0",this.Pa),O(this,"CR2",this.rd),O(this,"CR3",this.dd)));if(a=this.ka.speed)a.textContent=this.ea.Sb&&this.T.Bd?this.T.Bd.toFixed(2)+"Mhz":"Stopped"};
|
||||
l.nj=function(a){this.ea.Le=!0;this.ea.Hj=!1;this.ea.Rh=!1;this.mc=this.A=a;this.P&&!a&&wc(this.P);a||(this.L|=4);do{if(a=this.L&3312)this.wa|=a;else if(this.Ed=this.Y,this.va=this.xa,this.rb=this.S,this.F=this.C=-1,this.wa&3072&&Yd(this),this.wa=this.L&256,this.Ea){a:if(!(this.L&4)){a=80286>this.ca?0:1;for(var b=0;2>b;b++){switch(a){case 0:if(this.Ea&1&&this.X&512){var c=Ke(this.P);if(-1<=c&&(this.Ea&=-2,0<=c)){this.Ea&=-5;Le.call(this,c);break a}}break;case 1:if(this.Ea&2){this.Ea&=-3;80386<=this.ca&&
|
||||
l.nj=function(a){this.ea.Le=!0;this.ea.Hj=!1;this.ea.Rh=!1;this.mc=this.A=a;this.P&&!a&&wc(this.P);a||(this.L|=4);do{if(a=this.L&3312)this.wa|=a;else if(this.Ed=this.Y,this.va=this.xa,this.rb=this.R,this.F=this.C=-1,this.wa&3072&&Yd(this),this.wa=this.L&256,this.Ea){a:if(!(this.L&4)){a=80286>this.ca?0:1;for(var b=0;2>b;b++){switch(a){case 0:if(this.Ea&1&&this.X&512){var c=Ke(this.P);if(-1<=c&&(this.Ea&=-2,0<=c)){this.Ea&=-5;Le.call(this,c);break a}}break;case 1:if(this.Ea&2){this.Ea&=-3;80386<=this.ca&&
|
||||
(this.qb[6]|=16384);Le.call(this,1);break a}}a=1-a}}if(this.Ea&4){this.L=this.A=0;break}}this.L=0;this.ma[this.na()].call(this)}while(0<this.A);return this.ea.Le?this.mc-this.A:void 0===this.ea.Le?0:-1};Ea(function(){for(var a=Za(document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Rc(d);Ya(d,c)}});
|
||||
function Me(a){Ia.call(this,"FPU",a,Me);this.ca=a.model||8087;(a=a.stepping)&&ca(a,16);this.K=new Float64Array(8);this.da=new Int32Array(this.K.buffer);this.Z=new Float32Array(1);this.la=new Int32Array(this.Z.buffer);this.S=new Float64Array(1);this.I=new Int32Array(this.S.buffer);this.G=Array(3);this.ha=this.ba=-1;this.L=this.R=this.W=this.B=0;this.Y=new Float64Array(1);this.ia=new Int32Array(this.Y.buffer);this.ia[0]=0;this.ia[1]=268402688;Ne(this)}Qa(Me);l=Me.prototype;
|
||||
function Me(a){Ia.call(this,"FPU",a,Me);this.ca=a.model||8087;(a=a.stepping)&&ca(a,16);this.K=new Float64Array(8);this.da=new Int32Array(this.K.buffer);this.Z=new Float32Array(1);this.la=new Int32Array(this.Z.buffer);this.R=new Float64Array(1);this.I=new Int32Array(this.R.buffer);this.G=Array(3);this.ha=this.ba=-1;this.L=this.S=this.W=this.B=0;this.Y=new Float64Array(1);this.ia=new Int32Array(this.Y.buffer);this.ia[0]=0;this.ia[1]=268402688;Ne(this)}Qa(Me);l=Me.prototype;
|
||||
l.pc=function(a,b,c){this.A=c;this.P=kb(a,"ChipSet");ab(this)};l.Vb=function(a,b){if(!b)if(!a||!this.restore)Ne(this);else if(!this.restore(a))return!1;return!0};l.Ub=function(a){return a?this.save():!0};l.save=function(){var a=new ce(this),b=[],c=0;b[c++]=this.H;b[c++]=this.aa|this.C<<11;b[c++]=Oe(this);for(var d=0;d<this.K.length;d++)b[c++]=this.K[d];C(a,0,b);return a.data()};
|
||||
l.restore=function(a){a=a[0];var b=0;this.H=a[b++]&-57409;var c=a[b++];this.aa=c&-14337;this.C=(c&14336)>>11;Pe(this);Qe(this,a[b++]);for(c=0;c<this.K.length;c++)this.K[c]=a[b++];return!0};function Ne(a){a.D=0;a.H=959;a.aa=0;a.C=0;a.P&&(a=a.P,a.ca>=Re&&Se(a,13))}function Pe(a){a.aa&=-129;a.aa&~a.H&63&&(a.aa|=128);if(a.aa&128&&!(a.H&128))return a=a.P,a.ca>=Re?Te(a,13):a.ma&0||Le.call(a.A,2),!0;a=a.P;a.ca>=Re&&Se(a,13);return!1}function Ue(a,b){80387<=a.ca||(b&=-65);a.aa|=b;return Pe(a)}
|
||||
function Ve(a,b){return isFinite(b)?!0:!Ue(a,Infinity===b?8:16)}function We(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,Ve(a,d)||(d=null));return d}function Xe(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,Ve(a,d)||(d=null));return d}function Ye(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,Ve(a,d)||(d=null));return d}function Ze(a,b,c){var d=null;null==b||null==c||!c&&Ue(a,2)||(d=b/c,Ve(a,d)||(d=null));return d}
|
||||
function $e(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.aa=a.aa&-18177|d;return!0}return!1}function af(a,b,c){if(null==b)return null;var d=a.H&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0<b?Math.floor(b):Math.ceil(b);if(c){if(d>=c){if(Ue(a,1))return null;d=-c}else if(d<-c){if(Ue(a,1))return null;d=-c}a.I[0]=d|0;2147483648<c&&(a.I[1]=d/4294967296|0,!a.I[1]&&0>d&&(a.I[1]=-1))}return d}
|
||||
function bf(a,b){var c=3;if(a.D&1<<b){var d=a.K[b],c=0;0===d?c=1:isFinite(d)||(c=2)}return c}function Oe(a){for(var b=0,c=a.K.length-1;0<=c;c--)b<<=2,b|=bf(a,c);return b}function Qe(a,b){a.D=0;for(var c=1;128>=c;c<<=1)3!=(b&3)&&(a.D|=c),b>>=2}function cf(a){var b=a.C+0&7;return a.D&1<<b?(a.Z[0]=a.K[b],!0):Ue(a,1)?!1:(a.Z[0]=a.Y[0],!0)}function df(a){var b=a.C+0&7;return a.D&1<<b?(a.S[0]=a.K[b],!0):Ue(a,1)?!1:(a.S[0]=a.Y[0],!0)}
|
||||
function bf(a,b){var c=3;if(a.D&1<<b){var d=a.K[b],c=0;0===d?c=1:isFinite(d)||(c=2)}return c}function Oe(a){for(var b=0,c=a.K.length-1;0<=c;c--)b<<=2,b|=bf(a,c);return b}function Qe(a,b){a.D=0;for(var c=1;128>=c;c<<=1)3!=(b&3)&&(a.D|=c),b>>=2}function cf(a){var b=a.C+0&7;return a.D&1<<b?(a.Z[0]=a.K[b],!0):Ue(a,1)?!1:(a.Z[0]=a.Y[0],!0)}function df(a){var b=a.C+0&7;return a.D&1<<b?(a.R[0]=a.K[b],!0):Ue(a,1)?!1:(a.R[0]=a.Y[0],!0)}
|
||||
function P(a,b){var c=null,d=a.C+b&7;a.D&1<<d?c=a.K[d]:Ue(a,1)||(c=a.Y[0]);return c}function Q(a,b,c){return null!=c&&(isNaN(c)?!Ue(a,1):1)?(b=a.C+b&7,a.K[b]=c,a.D|=1<<b,!0):!1}function ef(a,b,c){var d=null;b=a.C+b&7;if(c||a.D&1<<b||!Ue(a,1)){d=b<<1;c=a.da[d];d=a.da[d+1];b=d>>20&2047;var e=2147483648|(d&1048575)<<11|c>>>21;2047==b?b=32767:b?b+=15360:e&=2147483647;a.G[0]=c<<11;a.G[1]=e;a.G[2]=d>>16&32768|b;d=a.G}return d}function ff(a){return a.A.ga(a.A.F)<<16>>16}
|
||||
function gf(a){return a.A.fa(a.A.F)}function hf(a){a.la[0]=a.A.fa(a.A.F);return a.Z[0]}function jf(a){a.I[0]=a.A.fa(a.A.F);a.I[1]=a.A.fa(a.A.F+4);return a.S[0]}function kf(a){a.G[0]=a.A.fa(a.A.F);a.G[1]=a.A.fa(a.A.F+4);a.G[2]=a.A.ga(a.A.F+8);return a.G}l.oh=function(){this.A.Va(this.A.F,this.I[0])};l.kj=function(){this.A.Va(this.A.F,this.I[0]);this.A.Va(this.A.F+4,this.I[1])};l.mj=Me.prototype.oh;l.lj=Me.prototype.kj;
|
||||
function lf(a){a.A.Va(a.A.F,a.G[0]);a.A.Va(a.A.F+4,a.G[1]);a.A.bb(a.A.F+8,a.G[2])}function mf(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.I[0]=f;a.I[1]=c|(d|e)<<20;return a.S[0]}function nf(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function of(a,b){for(var c=0,d=0;b--;)c|=a%10<<d,a/=10,d+=4;return c}
|
||||
function gf(a){return a.A.fa(a.A.F)}function hf(a){a.la[0]=a.A.fa(a.A.F);return a.Z[0]}function jf(a){a.I[0]=a.A.fa(a.A.F);a.I[1]=a.A.fa(a.A.F+4);return a.R[0]}function kf(a){a.G[0]=a.A.fa(a.A.F);a.G[1]=a.A.fa(a.A.F+4);a.G[2]=a.A.ga(a.A.F+8);return a.G}l.oh=function(){this.A.Va(this.A.F,this.I[0])};l.kj=function(){this.A.Va(this.A.F,this.I[0]);this.A.Va(this.A.F+4,this.I[1])};l.mj=Me.prototype.oh;l.lj=Me.prototype.kj;
|
||||
function lf(a){a.A.Va(a.A.F,a.G[0]);a.A.Va(a.A.F+4,a.G[1]);a.A.bb(a.A.F+8,a.G[2])}function mf(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.I[0]=f;a.I[1]=c|(d|e)<<20;return a.R[0]}function nf(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function of(a,b){for(var c=0,d=0;b--;)c|=a%10<<d,a/=10,d+=4;return c}
|
||||
function pf(a){var b=null,c=1<<a.C;if(!(a.D&c)&&(a.aa&=-513,Ue(a,65)))return b;a.D&=~c;b=a.K[a.C];a.C=a.C+1&7;return b}function qf(a,b){if(null!=b){var c=a.C-1&7,d=1<<c;if(a.D&d&&(a.aa|=512,Ue(a,65)))return;if(isNaN(b)&&Ue(a,1)){if(Ue(a,1))return;b=NaN}a.K[a.C=c]=b;a.D|=d}}
|
||||
function rf(a,b){var c,d=a.A;c=d.Tb(b);a.H=c&-57409;c=d.Tb(b+=d.U);a.aa=c&-14337;a.C=(c&14336)>>11;Pe(a);Qe(a,d.Tb(b+=d.U));!(d.Pa&1)||d.X&131072?(a.L=d.Tb(b+=d.U),c=d.Tb(b+=d.U),a.W=c&2047,a.L|=(c&-4096)<<4,a.ha=-1,a.R=d.Tb(b+=d.U),a.R|=(d.Tb(b+=d.U)&-4096)<<4,a.ba=-1):(a.L=d.Tb(b+=d.U),c=d.Tb(b+=d.U),a.ha=c&65535,a.W=c>>16&2047,a.R=d.Tb(b+=d.U),a.ba=d.Tb(b+=d.U)&65535);return b+d.U}
|
||||
function sf(a,b){var c=a.A;c.Xb(b,a.H);c.Xb(b+=c.U,a.aa|a.C<<11);c.Xb(b+=c.U,Oe(a));if(!(c.Pa&1)||c.X&131072){var d=(a.ha<<4)+a.L;c.Xb(b+=c.U,d);c.Xb(b+=c.U,d>>4&-4096|a.W);d=(a.ba<<4)+a.R;c.Xb(b+=c.U,d);c.Xb(b+=c.U,d>>4&-4096)}else c.Xb(b+=c.U,a.L),c.Xb(b+=c.U,a.ha|a.W<<16),c.Xb(b+=c.U,a.R),c.Xb(b+=c.U,a.ba);return b+c.U}var tf=Math.log(10)/Math.LN2,uf=Math.LOG2E,vf=Math.PI,wf=Math.log(2)/Math.LN10,xf=Math.LN2,yf=Math.pow(2,63);function zf(){this.aa&=-32896;Pe(this)}
|
||||
function rf(a,b){var c,d=a.A;c=d.Tb(b);a.H=c&-57409;c=d.Tb(b+=d.U);a.aa=c&-14337;a.C=(c&14336)>>11;Pe(a);Qe(a,d.Tb(b+=d.U));!(d.Pa&1)||d.X&131072?(a.L=d.Tb(b+=d.U),c=d.Tb(b+=d.U),a.W=c&2047,a.L|=(c&-4096)<<4,a.ha=-1,a.S=d.Tb(b+=d.U),a.S|=(d.Tb(b+=d.U)&-4096)<<4,a.ba=-1):(a.L=d.Tb(b+=d.U),c=d.Tb(b+=d.U),a.ha=c&65535,a.W=c>>16&2047,a.S=d.Tb(b+=d.U),a.ba=d.Tb(b+=d.U)&65535);return b+d.U}
|
||||
function sf(a,b){var c=a.A;c.Xb(b,a.H);c.Xb(b+=c.U,a.aa|a.C<<11);c.Xb(b+=c.U,Oe(a));if(!(c.Pa&1)||c.X&131072){var d=(a.ha<<4)+a.L;c.Xb(b+=c.U,d);c.Xb(b+=c.U,d>>4&-4096|a.W);d=(a.ba<<4)+a.S;c.Xb(b+=c.U,d);c.Xb(b+=c.U,d>>4&-4096)}else c.Xb(b+=c.U,a.L),c.Xb(b+=c.U,a.ha|a.W<<16),c.Xb(b+=c.U,a.S),c.Xb(b+=c.U,a.ba);return b+c.U}var tf=Math.log(10)/Math.LN2,uf=Math.LOG2E,vf=Math.PI,wf=Math.log(2)/Math.LN10,xf=Math.LN2,yf=Math.pow(2,63);function zf(){this.aa&=-32896;Pe(this)}
|
||||
function Af(){$e(this,P(this,0),P(this,this.B))}function Bf(){$e(this,P(this,0),P(this,this.B))&&pf(this)}function Cf(){Bf.call(this)}function Df(){Q(this,0,Ze(this,P(this,0),hf(this)))}function Ef(){this.D&=~(1<<this.C)}function Ff(){Ne(this)}function Gf(){this.H=this.A.ga(this.A.F)&-57409}function Jf(){rf(this,this.A.F)}function Kf(){for(var a=this.A,b=rf(this,a.F),c=this.G,d=0;d<this.K.length;d++)c[0]=a.fa(b),c[1]=a.fa(b+=4),c[2]=a.ga(b+=4),c&&Q(this,d,mf(this,c)),b+=2}
|
||||
function Lf(){for(var a=this.A,b=sf(this,a.F),c=0;c<this.K.length;c++){var d=ef(this,c,!0);a.Va(b,d[0]);a.Va(b+=4,d[1]);a.bb(b+=4,d[2]);b+=2}Ne(this)}function Mf(){sf(this,this.A.F);this.H|=63}function Nf(){Q(this,this.B,P(this,0))&&pf(this)}function Of(){Nf.call(this)}function Pf(){this.A.bb(this.A.F,this.H)}function Qf(){this.A.bb(this.A.F,this.aa|this.C<<11)}function Rf(){80287<=this.ca&&(this.A.J=this.A.J&-65536|this.aa|this.C<<11)}
|
||||
function Sf(){var a=P(this,0);Q(this,0,P(this,this.B));Q(this,this.B,a)}function Tf(){Sf.call(this)}
|
||||
var Uf={216:{0:function(){Q(this,0,We(this,P(this,0),hf(this)))},1:function(){Q(this,0,Ye(this,P(this,0),hf(this)))},2:function(){$e(this,P(this,0),hf(this))},3:function(){$e(this,P(this,0),hf(this))&&pf(this)},4:function(){Q(this,0,Xe(this,P(this,0),hf(this)))},5:function(){Q(this,0,Xe(this,hf(this),P(this,0)))},6:Df,7:Df,48:function(){Q(this,0,We(this,P(this,0),P(this,this.B)))},49:function(){Q(this,0,Ye(this,P(this,0),P(this,this.B)))},50:Af,51:Bf,52:function(){Q(this,0,Xe(this,P(this,0),P(this,
|
||||
this.B)))},53:function(){Q(this,0,Xe(this,P(this,this.B),P(this,0)))},54:function(){Q(this,0,Ze(this,P(this,0),P(this,this.B)))},55:function(){Q(this,0,Ze(this,P(this,this.B),P(this,0)))}},217:{0:function(){qf(this,hf(this))},2:function(){cf(this)&&this.mj()},3:function(){cf(this)&&(this.mj(),pf(this))},4:Jf,5:Gf,6:Mf,7:Pf,48:function(){qf(this,P(this,this.B))},49:Sf,50:function(){},51:Of,64:function(){Q(this,0,-P(this,0))},65:function(){Q(this,0,Math.abs(P(this,0)))},68:function(){$e(this,P(this,
|
||||
0),0)},69:function(){this.aa&=-18177;this.da[((this.C+0&7)<<1)+1]&-2147483648&&(this.aa|=512);if(3==bf(this,this.C))this.aa|=16640;else{var a=P(this,0);this.aa=isNaN(a)?this.aa|256:0===a?this.aa|16384:Infinity===a||-Infinity===a?this.aa|1280:this.aa|1024}},80:function(){qf(this,1)},81:function(){qf(this,tf)},82:function(){qf(this,uf)},83:function(){qf(this,vf)},84:function(){qf(this,wf)},85:function(){qf(this,xf)},86:function(){qf(this,0)},96:function(){Q(this,0,Math.pow(2,P(this,0))-1)},97:function(){Q(this,
|
||||
1,P(this,1)*Math.log(P(this,0))/Math.LN2)&&pf(this)},98:function(){Q(this,0,Math.tan(P(this,0)))&&qf(this,1)},99:function(){Q(this,1,Math.atan2(P(this,1),P(this,0)))&&pf(this)},100:function(){var a=P(this,0);null!=a&&(this.S[0]=a,Q(this,0,(this.I[1]>>20&2047)-1023),this.I[1]=(this.I[1]|1072693248)&-1073741825,qf(this,this.S[0]))},102:function(){this.C=this.C-1&7;this.aa&=-513},103:function(){this.C=this.C+1&7;this.aa&=-513},112:function(){Q(this,0,P(this,0)%P(this,1))},113:function(){Q(this,1,P(this,
|
||||
1,P(this,1)*Math.log(P(this,0))/Math.LN2)&&pf(this)},98:function(){Q(this,0,Math.tan(P(this,0)))&&qf(this,1)},99:function(){Q(this,1,Math.atan2(P(this,1),P(this,0)))&&pf(this)},100:function(){var a=P(this,0);null!=a&&(this.R[0]=a,Q(this,0,(this.I[1]>>20&2047)-1023),this.I[1]=(this.I[1]|1072693248)&-1073741825,qf(this,this.R[0]))},102:function(){this.C=this.C-1&7;this.aa&=-513},103:function(){this.C=this.C+1&7;this.aa&=-513},112:function(){Q(this,0,P(this,0)%P(this,1))},113:function(){Q(this,1,P(this,
|
||||
1)*Math.log(P(this,0)+1)/Math.LN2)&&pf(this)},114:function(){var a=P(this,0),b=null;if(0<=a||!Ue(this,1))b=Math.sqrt(a),Ve(this,b)||(b=null);Q(this,0,b)},116:function(){Q(this,0,af(this,P(this,0),yf))},117:function(){var a=P(this,0),b=P(this,1);null!=a&&null!=b&&Q(this,0,a*Math.pow(2,0<b?Math.floor(b):Math.ceil(b)))}},218:{0:function(){Q(this,0,We(this,P(this,0),gf(this)))},1:function(){Q(this,0,Ye(this,P(this,0),gf(this)))},2:function(){$e(this,P(this,0),gf(this))},3:function(){$e(this,P(this,0),
|
||||
gf(this))&&pf(this)},4:function(){Q(this,0,Xe(this,P(this,0),gf(this)))},5:function(){Q(this,0,Xe(this,gf(this),P(this,0)))},6:function(){Q(this,0,Ze(this,P(this,0),gf(this)))},7:function(){Q(this,0,Ze(this,gf(this),P(this,0)))}},219:{0:function(){qf(this,gf(this))},2:function(){null!=af(this,P(this,0),2147483648)&&this.oh()},3:function(){null!=af(this,P(this,0),2147483648)&&(this.oh(),pf(this))},5:function(){qf(this,mf(this,kf(this)))},7:function(){ef(this,0)&&(lf(this),pf(this))},64:function(){8087==
|
||||
this.ca&&(this.H&=-129)},65:function(){8087==this.ca&&(this.H|=128)},66:zf,67:Ff,68:function(){},115:function(){}},220:{0:function(){Q(this,0,We(this,P(this,0),jf(this)))},1:function(){Q(this,0,Ye(this,P(this,0),jf(this)))},2:function(){$e(this,P(this,0),jf(this))},3:function(){$e(this,P(this,0),jf(this))&&pf(this)},4:function(){Q(this,0,Xe(this,P(this,0),jf(this)))},5:function(){Q(this,0,Xe(this,jf(this),P(this,0)))},6:function(){Q(this,0,Ze(this,P(this,0),jf(this)))},7:function(){Q(this,0,Ze(this,
|
||||
|
|
@ -151,14 +151,14 @@ function fg(a,b){a&1<<(b&(2==this.U?15:31))?pe(this):qe(this);this.A-=-1===this.
|
|||
function jg(a,b){if(-1===this.F)return fg.call(this,a,b);var c=this.U<<3;if(b>=c||b<-c)a=Fe(this,this.Eb,this.La+(b>>(2==this.U?4:5))*this.U);b=1<<(b&(2==this.U?15:31));a&b?pe(this):qe(this);this.A-=6;this.L|=2;return a}function kg(a,b){if(-1===this.F)return gg.call(this,a,b);var c=this.U<<3;if(b>=c||b<-c)a=Fe(this,this.Eb,this.La+(b>>(2==this.U?4:5))*this.U);b=1<<(b&(2==this.U?15:31));a&b?pe(this):qe(this);this.A-=8;return a^b}
|
||||
function lg(a,b){if(-1===this.F)return hg.call(this,a,b);var c=this.U<<3;if(b>=c||b<-c)a=Fe(this,this.Eb,this.La+(b>>(2==this.U?4:5))*this.U);b=1<<(b&(2==this.U?15:31));a&b?pe(this):qe(this);this.A-=8;return a&~b}function mg(a,b){if(-1===this.F)return ig.call(this,a,b);var c=this.U<<3;if(b>=c||b<-c)a=Fe(this,this.Eb,this.La+(b>>(2==this.U?4:5))*this.U);b=1<<(b&(2==this.U?15:31));a&b?pe(this):qe(this);this.A-=8;return a|b}
|
||||
function ng(a,b){ie(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.F?this.B.dc:this.B.Ag:this.B.yb;this.L|=2;return a}function og(a,b){ie(this,a,b,a-b|0,this.fb|63,!0);this.A-=-1===this.C?-1===this.F?this.B.dc:this.B.Ag:this.B.yb;this.L|=2;return a}
|
||||
function pg(a){if(this.qd){var b=this.qd,c=this.xh,d=this.W,e=d>>3&7;b.B=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.B);if(e=Uf[c][f]){if(0>Vf.indexOf(e)){var f=b.A,g=f.Ed;8087==b.ca&&(f.wa&16&&g++,f.wa&32&&g++);b.ha=f.Ca.ja;b.L=g-f.Ca.ya;-1!==f.F&&(b.ba=f.Eb.ja,b.R=f.F-f.Eb.ya);b.W=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.F?2:8;return a}function qg(a){if(80186>this.ca)return R.call(this,a);t.call(this,13,0);return a}function md(a){t.call(this,6);return a}
|
||||
function pg(a){if(this.qd){var b=this.qd,c=this.xh,d=this.W,e=d>>3&7;b.B=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.B);if(e=Uf[c][f]){if(0>Vf.indexOf(e)){var f=b.A,g=f.Ed;8087==b.ca&&(f.wa&16&&g++,f.wa&32&&g++);b.ha=f.Ca.ja;b.L=g-f.Ca.ya;-1!==f.F&&(b.ba=f.Eb.ja,b.S=f.F-f.Eb.ya);b.W=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.F?2:8;return a}function qg(a){if(80186>this.ca)return R.call(this,a);t.call(this,13,0);return a}function md(a){t.call(this,6);return a}
|
||||
function R(a){pd.call(this);return a}function rg(a,b){var c=sg.call(this,this.O(),b);80386>this.ca&&(this.A-=12);return c}function tg(a,b){var c;a=this.Aa();c=2==this.U?sg.call(this,a,b):ug.call(this,a,b);80386>this.ca&&(this.A-=12);return c}function vg(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);wg.call(this,a,b);c&&(this.ua=~this.ua+1|0,this.Ga=~this.Ga+(this.ua?0:1)|0)}
|
||||
function sg(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(pe(this),re(this)):(qe(this),se(this));this.A-=-1===this.F?9:12;return c&65535}function ug(a,b){vg.call(this,a,b);this.Ga!=this.ua>>31?(pe(this),re(this)):(qe(this),se(this));this.A-=-1===this.F?9:12;return this.ua}function xg(a,b){this.A-=14+(-1===this.F?0:2);ye(this);-1!==this.Oa.load(b)&&this.Oa.nc>=this.za&&this.Oa.nc>=(b&3)&&(Ae(this),a=this.Oa.lb&-256,2<this.U&&(a|=(this.Oa.ext&-65281)<<16));return a}
|
||||
function yg(a,b){if(-1===this.F)return pd.call(this),a;Kc(this,this.ga(this.F+this.U));this.A-=this.B.we;return b}function zg(){this.A-=this.B.Gi;return this.F}function Ag(a,b){if(-1===this.F)return pd.call(this),a;Lc(this,this.ga(this.F+this.U));this.A-=this.B.we;return b}function Bg(a,b){if(-1===this.F)return pd.call(this),a;var c=this.ga(this.F+this.U);this.Ta.load(c);this.A-=this.B.we;return b}
|
||||
function Cg(a,b){if(-1===this.F)return pd.call(this),a;var c=this.ga(this.F+this.U);this.Xa.load(c);this.A-=this.B.we;return b}function Dg(a,b){this.A-=14+(-1===this.F?0:2);if(b&65528&&-1!==this.Oa.load(b)&&(7168==(this.Oa.lb&7168)||this.Oa.nc>=this.za)&&this.Oa.nc>=(b&3))return Ae(this),this.Oa.Za;ye(this);return a}function Eg(a,b){if(-1===this.F)return pd.call(this),a;Ec(this,this.ga(this.F+this.U));this.A-=this.B.we;return b}
|
||||
function Fg(a,b){this.A-=-1===this.C?-1===this.F?this.B.Ni:this.B.Mi:this.B.Ki;return b}function Gg(a,b){switch(this.W>>3&7){case 4:this.oa=this.J;break;case 5:this.oa=this.G;break;case 6:this.oa=this.M;break;case 7:this.oa=this.D}return b}function Hg(a,b){return b}
|
||||
function Ig(a,b){var c=this.W>>3&7;switch(c){case 0:this.oa=this.J;break;case 2:this.oa=this.M;break;case 3:this.oa=this.D;break;default:if(80286==this.ca||80386==this.ca&&4!=c&&5!=c){t.call(this,6);break}switch(c){case 1:this.oa=this.G;break;case 4:this.oa=w(this);break;case 5:this.oa=this.K;break;case 6:this.oa=this.I;break;case 7:this.oa=this.H}}return Fg.call(this,0,b)}
|
||||
function Jg(a,b){switch(this.W>>3&7){case 0:b=this.pa.ja;break;case 1:b=this.Ca.ja;break;case 2:b=this.S.ja;break;case 3:b=this.xa.ja;break;case 4:if(80386<=this.ca){b=this.Ta.ja;break}t.call(this,6);b=a;break;case 5:if(80386<=this.ca){b=this.Xa.ja;break}default:t.call(this,6),b=a}-1!==this.C&&Hc(this,2);return Fg.call(this,0,b)}
|
||||
function Jg(a,b){switch(this.W>>3&7){case 0:b=this.pa.ja;break;case 1:b=this.Ca.ja;break;case 2:b=this.R.ja;break;case 3:b=this.xa.ja;break;case 4:if(80386<=this.ca){b=this.Ta.ja;break}t.call(this,6);b=a;break;case 5:if(80386<=this.ca){b=this.Xa.ja;break}default:t.call(this,6),b=a}-1!==this.C&&Hc(this,2);return Fg.call(this,0,b)}
|
||||
function wg(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ua=e<<16|g&65535;this.Ga=h+((e>>>16)+d*f)|0}else this.ua=a*b|0,this.Ga=0}function Kg(a,b){this.A-=-1===this.C?-1===this.F?this.B.dc:this.B.yb:this.B.qc;return F(this,a|b,128)}function Lg(a,b){this.A-=-1===this.C?-1===this.F?this.B.dc:this.B.yb:this.B.qc;return F(this,a|b,this.fb)&this.N}
|
||||
function Mg(a,b){var c=a-b-we(this)|0;ie(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.F?this.B.dc:this.B.yb:this.B.qc;return c&255}function Ng(a,b){var c=a-b-we(this)|0;ie(this,a,b,c,this.fb|63,!0);this.A-=-1===this.C?-1===this.F?this.B.dc:this.B.yb:this.B.qc;return c&this.N}function Og(){return oe(this)?1:0}function Pg(){return je(this)?1:0}function Qg(){return je(this)?0:1}function Rg(){return me(this)?1:0}function Sg(){return me(this)?0:1}function Tg(){return je(this)||me(this)?1:0}
|
||||
function Ug(){return je(this)||me(this)?0:1}function Vg(){return ne(this)?1:0}function Wg(){return ne(this)?0:1}function Xg(){return ke(this)?1:0}function Yg(){return ke(this)?0:1}function Zg(){return!ne(this)!=!oe(this)?1:0}function $g(){return!ne(this)!=!oe(this)?0:1}function ah(){return me(this)||!ne(this)!=!oe(this)?1:0}function bh(){return me(this)||!ne(this)!=!oe(this)?0:1}function ch(a,b){return dh.call(this,a,b,this.na())}function eh(a,b){return fh.call(this,a,b,this.na())}
|
||||
|
|
@ -170,9 +170,9 @@ function wh(a,b){var c=a^b;F(this,c,128);this.A-=-1===this.C?-1===this.F?this.B.
|
|||
function Ah(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<yh(a,c);){var f=b=c;b[0]+=f[0];b[1]+=f[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=yh(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ua=d;this.Ga=a[0];return!0}function Bh(a){var b=a+1|0;ie(this,a,1,b,this.fb|62);this.A-=2;return a&~this.N|b&this.N}
|
||||
function Qc(a){this.dd=a;this.Pa&-2147483648&&Bb(this)}function Ch(a){this.L|=1;this.Gb.call(this,a);this.A-=-1===this.F?4:5}function dh(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;F(this,a,32768,d&32768)}return a}function fh(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;F(this,a,-2147483648,d&-2147483648)}return a}function jh(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;F(this,a,32768,d&1)}return a}
|
||||
function lh(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;F(this,a,-2147483648,d&1)}return a}function Dh(){this.A-=-1===this.F?2:this.B.$i;return 1}function Eh(){var a=this.G&255;this.A-=(-1===this.F?this.B.Vg:this.B.Ug)+(a<<this.B.Wg);return a}function Fh(){var a=this.na();this.A-=(-1===this.F?this.B.Vg:this.B.Ug)+(a<<this.B.Wg);return a}function Gh(){return null}function Hh(){return this.oa}
|
||||
function Ih(a,b){this.Gc=this.Ca.ja;this.ic=this.S.ja;this.la=this.ra;var c=A(this),d=this.U;null!=Pc(this,a,b,!0)&&(Jc(this,this.Gc,d,2),Jc(this,c,d,d));this.Gc=this.ic=this.la=-1}function Jh(a,b,c){this.A-=this.B.yi+(c||0);c=Mc(this);var d=this.Ca.ja,e=A(this);a=this.Ca.Wh(a);-1!==a&&(y(this,c),y(this,d),y(this,e),null!=b&&y(this,b),this.fc=-1,fe(this,a))}
|
||||
function Kh(a){this.ic=this.S.ja;this.la=this.ra;var b=u(this),c=u(this);a&&v(this,w(this)+a);Pc(this,b,c,!1)&&(a&&v(this,w(this)+a),Lh.call(this,this.xa),Lh.call(this,this.pa),80386<=this.ca&&(Lh.call(this,this.Ta),Lh.call(this,this.Xa)));2==a&&this.Vf&&$d(this,this.Y);this.ic=this.la=-1}function Mh(){8086==this.ca?(this.fc=-1,Jh.call(this,0,null,2)):t.call(this,0,null,2)}function Le(a,b){this.fc=a;void 0===b&&(b=11);Jh.call(this,a,null,b)}
|
||||
function t(a,b,c,d){var e=!1;this.ea.Le?80186<=this.ca&&(e=!0,0>this.fc?(-1!=this.Gc&&(this.Gc!==this.Ca.ja&&(this.Ca.sb=this.Gc&3,ee(this,this.Gc)),this.Gc=-1),this.Ed!==this.Y&&fe(this,this.Ed),-1!=this.ic&&(this.ic!==this.S.ja&&Ec(this,this.ic),this.ic=-1),-1!==this.la&&(this.la!==this.ra&&v(this,this.Nb&~this.S.sa|this.la-this.S.ya),this.la=-1)):8!=this.fc?(b=0,a=8):(b=0,a=-1,zd(this),e=d=!1)):fe(this,this.Ed);var f=a,g=b,h=De(this,this.Y);204!=h||this.xc||(d=!1);this.X&131072&&(6==f&&99==h||
|
||||
function Ih(a,b){this.Gc=this.Ca.ja;this.ic=this.R.ja;this.la=this.ra;var c=A(this),d=this.U;null!=Pc(this,a,b,!0)&&(Jc(this,this.Gc,d,2),Jc(this,c,d,d));this.Gc=this.ic=this.la=-1}function Jh(a,b,c){this.A-=this.B.yi+(c||0);c=Mc(this);var d=this.Ca.ja,e=A(this);a=this.Ca.Wh(a);-1!==a&&(y(this,c),y(this,d),y(this,e),null!=b&&y(this,b),this.fc=-1,fe(this,a))}
|
||||
function Kh(a){this.ic=this.R.ja;this.la=this.ra;var b=u(this),c=u(this);a&&v(this,w(this)+a);Pc(this,b,c,!1)&&(a&&v(this,w(this)+a),Lh.call(this,this.xa),Lh.call(this,this.pa),80386<=this.ca&&(Lh.call(this,this.Ta),Lh.call(this,this.Xa)));2==a&&this.Vf&&$d(this,this.Y);this.ic=this.la=-1}function Mh(){8086==this.ca?(this.fc=-1,Jh.call(this,0,null,2)):t.call(this,0,null,2)}function Le(a,b){this.fc=a;void 0===b&&(b=11);Jh.call(this,a,null,b)}
|
||||
function t(a,b,c,d){var e=!1;this.ea.Le?80186<=this.ca&&(e=!0,0>this.fc?(-1!=this.Gc&&(this.Gc!==this.Ca.ja&&(this.Ca.sb=this.Gc&3,ee(this,this.Gc)),this.Gc=-1),this.Ed!==this.Y&&fe(this,this.Ed),-1!=this.ic&&(this.ic!==this.R.ja&&Ec(this,this.ic),this.ic=-1),-1!==this.la&&(this.la!==this.ra&&v(this,this.Nb&~this.R.sa|this.la-this.R.ya),this.la=-1)):8!=this.fc?(b=0,a=8):(b=0,a=-1,zd(this),e=d=!1)):fe(this,this.Ed);var f=a,g=b,h=De(this,this.Y);204!=h||this.xc||(d=!1);this.X&131072&&(6==f&&99==h||
|
||||
13==f&&205==h)&&(d=!1);983040<=this.Y&&1048575>=this.Y&&(d=!1);if(d){var k=this.ea.Sb,f="Fault 0x"+ea(f,2)+(null!=g?" (0x"+ea(g,4)+")":"")+" on opcode "+("0x"+ea(h,2));d&&k&&(f+=" (blocked)");this.Ba(f);oc(this)}if(d&&e)throw-1;if(e)throw this.fc=a,Jh.call(this,a,b,c),this.Ed=this.Y,this.L=1==a?this.L|8192:this.L|4096,a;}function Ad(a,b,c){this.rd=a;a=0;b&&(a|=1);c&&(a|=2);3==this.za&&(a|=4);t.call(this,14,a)}
|
||||
function Lh(a){var b=a.lb&7680;a.ja&65528&&(6144==b||7168==b||7168>b&&a.nc<this.za&&a.nc<(a.ja&3))&&a.load(0)}
|
||||
function Fd(a){var b,c;switch((this.W=this.na())&199){case 0:c=G(this,this.D+this.I);this.A-=this.B.Ic;break;case 1:c=G(this,this.D+this.H);this.A-=this.B.Jc;break;case 2:c=H(this,this.K+this.I);this.A-=this.B.Jc;break;case 3:c=H(this,this.K+this.H);this.A-=this.B.Ic;break;case 4:c=G(this,this.I);this.A-=this.B.kc;break;case 5:c=G(this,this.H);this.A-=this.B.kc;break;case 6:c=G(this,N(this));this.A-=this.B.bd;break;case 7:c=G(this,this.D);this.A-=this.B.kc;break;case 64:c=G(this,this.D+this.I+this.O());
|
||||
|
|
@ -272,16 +272,16 @@ function Ph(){var a=this.O();oe(this)?this.A-=this.B.Na:(D(this,A(this)+a),this.
|
|||
function Uh(){var a=this.O();je(this)||me(this)?(D(this,A(this)+a),this.A-=this.B.Ma):this.A-=this.B.Na}function Vh(){var a=this.O();je(this)||me(this)?this.A-=this.B.Na:(D(this,A(this)+a),this.A-=this.B.Ma)}function Wh(){var a=this.O();ne(this)?(D(this,A(this)+a),this.A-=this.B.Ma):this.A-=this.B.Na}function Xh(){var a=this.O();ne(this)?this.A-=this.B.Na:(D(this,A(this)+a),this.A-=this.B.Ma)}function Yh(){var a=this.O();ke(this)?(D(this,A(this)+a),this.A-=this.B.Ma):this.A-=this.B.Na}
|
||||
function Zh(){var a=this.O();ke(this)?this.A-=this.B.Na:(D(this,A(this)+a),this.A-=this.B.Ma)}function $h(){var a=this.O();!ne(this)!=!oe(this)?(D(this,A(this)+a),this.A-=this.B.Ma):this.A-=this.B.Na}function ai(){var a=this.O();!ne(this)==!oe(this)?(D(this,A(this)+a),this.A-=this.B.Ma):this.A-=this.B.Na}function bi(){var a=this.O();me(this)||!ne(this)!=!oe(this)?(D(this,A(this)+a),this.A-=this.B.Ma):this.A-=this.B.Na}
|
||||
function ci(){var a=this.O();me(this)||!ne(this)!=!oe(this)?this.A-=this.B.Na:(D(this,A(this)+a),this.A-=this.B.Ma)}function di(){this.yc.call(this,ei,this.na);this.A-=-1===this.C?1:this.B.Kf}function fi(){this.L|=1;this.Gb.call(this,Fg)}function gi(){this.L|=1;this.qa.call(this,Fg)}function hi(){this.Bb.call(this,Fg)}function ii(){this.Z.call(this,Fg)}function hd(){this.yc.call(this,ji,Fh)}function id(){this.Ja.call(this,2==this.U?ki:li,Fh)}
|
||||
function mi(){var a=Je(this),b=u(this);D(this,b);a&&v(this,w(this)+a);this.A-=this.B.Zi}function ni(){var a=u(this);D(this,a);this.A-=this.B.Wi}function jd(){this.la=this.ra;var a=Je(this),b=this.na()&31;this.A-=11;y(this,this.K);var c=w(this)&this.N;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.K=this.K&~this.N|this.K-this.U&this.N,y(this,Ic(this,this.S,this.K&this.N));y(this,c)}this.K=this.K&~this.N|c;v(this,w(this)&~this.S.sa|w(this)-a&this.S.sa);this.la=-1}
|
||||
function kd(){this.la=this.ra;v(this,w(this)&~this.S.sa|this.K&this.S.sa);this.K=this.K&~this.N|u(this)&this.N;this.A-=5;this.la=-1}function oi(){Kh.call(this,Je(this));this.A-=this.B.Yi}function pi(){Kh.call(this,0);this.A-=this.B.Xi}function qi(a){this.xh=a;this.Z.call(this,pg)}function ri(){this.L|=36;this.A-=this.B.Rc}function ld(){pd.call(this)}function Wc(){t.call(this,6)}
|
||||
function mi(){var a=Je(this),b=u(this);D(this,b);a&&v(this,w(this)+a);this.A-=this.B.Zi}function ni(){var a=u(this);D(this,a);this.A-=this.B.Wi}function jd(){this.la=this.ra;var a=Je(this),b=this.na()&31;this.A-=11;y(this,this.K);var c=w(this)&this.N;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.K=this.K&~this.N|this.K-this.U&this.N,y(this,Ic(this,this.R,this.K&this.N));y(this,c)}this.K=this.K&~this.N|c;v(this,w(this)&~this.R.sa|w(this)-a&this.R.sa);this.la=-1}
|
||||
function kd(){this.la=this.ra;v(this,w(this)&~this.R.sa|this.K&this.R.sa);this.K=this.K&~this.N|u(this)&this.N;this.A-=5;this.la=-1}function oi(){Kh.call(this,Je(this));this.A-=this.B.Yi}function pi(){Kh.call(this,0);this.A-=this.B.Xi}function qi(a){this.xh=a;this.Z.call(this,pg)}function ri(){this.L|=36;this.A-=this.B.Rc}function ld(){pd.call(this)}function Wc(){t.call(this,6)}
|
||||
function pd(){D(this,this.Ed-this.Ca.ya);var a=this.Jb(this.Y);cb(this,"Undefined opcode 0x"+ea(a,2)+" at "+("0x"+ea(this.Y)));oc(this)}
|
||||
var Sc=[function(){this.Gb.call(this,Yf)},function(){this.qa.call(this,Zf)},function(){this.Bb.call(this,Yf)},function(){this.Z.call(this,Zf)},function(){this.J=this.J&-256|Yf.call(this,this.J&255,this.na());this.A--},function(){this.J=this.J&~this.N|Zf.call(this,this.J&this.N,this.Aa());this.A--},function(){Jc(this,this.pa.ja,this.U,2);this.A-=this.B.Td},function(){this.la=this.ra;Lc(this,u(this));this.A-=this.B.ec;this.la=-1},function(){this.Gb.call(this,Kg)},function(){this.qa.call(this,Lg)},function(){this.Bb.call(this,
|
||||
Kg)},function(){this.Z.call(this,Lg)},function(){this.J=this.J&-256|Kg.call(this,this.J&255,this.na());this.A--},function(){this.J=this.J&~this.N|Lg.call(this,this.J&this.N,this.Aa());this.A--},function(){Jc(this,this.Ca.ja,this.U,2);this.A-=this.B.Td},function(){ee(this,u(this));this.A-=this.B.ec},function(){this.Gb.call(this,Wf)},function(){this.qa.call(this,Xf)},function(){this.Bb.call(this,Wf)},function(){this.Z.call(this,Xf)},function(){this.J=this.J&-256|Wf.call(this,this.J&255,this.na());this.A--},
|
||||
function(){this.J=this.J&~this.N|Xf.call(this,this.J&this.N,this.Aa());this.A--},function(){Jc(this,this.S.ja,this.U,2);this.A-=this.B.Td},function(){this.la=this.ra;Ec(this,u(this));this.A-=this.B.ec;this.la=-1},function(){this.Gb.call(this,Mg)},function(){this.qa.call(this,Ng)},function(){this.Bb.call(this,Mg)},function(){this.Z.call(this,Ng)},function(){this.J=this.J&-256|Mg.call(this,this.J&255,this.na());this.A--},function(){this.J=this.J&~this.N|Ng.call(this,this.J&this.N,this.Aa());this.A--},
|
||||
function(){this.J=this.J&~this.N|Xf.call(this,this.J&this.N,this.Aa());this.A--},function(){Jc(this,this.R.ja,this.U,2);this.A-=this.B.Td},function(){this.la=this.ra;Ec(this,u(this));this.A-=this.B.ec;this.la=-1},function(){this.Gb.call(this,Mg)},function(){this.qa.call(this,Ng)},function(){this.Bb.call(this,Mg)},function(){this.Z.call(this,Ng)},function(){this.J=this.J&-256|Mg.call(this,this.J&255,this.na());this.A--},function(){this.J=this.J&~this.N|Ng.call(this,this.J&this.N,this.Aa());this.A--},
|
||||
function(){Jc(this,this.xa.ja,this.U,2);this.A-=this.B.Td},function(){this.la=this.ra;Kc(this,u(this));this.A-=this.B.ec;this.la=-1},function(){this.Gb.call(this,$f)},function(){this.qa.call(this,ag)},function(){this.Bb.call(this,$f)},function(){this.Z.call(this,ag)},function(){this.J=this.J&-256|$f.call(this,this.J&255,this.na());this.A--},function(){this.J=this.J&~this.N|ag.call(this,this.J&this.N,this.Aa());this.A--},function(){this.L|=20;this.va=this.rb=this.pa;this.A-=this.B.Rc},function(){var a=
|
||||
this.J&255,b=le(this),c=je(this);9<(a&15)||b?(a+=6,b=16):b=0;159<a||c?(a+=96,c=1):c=0;a&=255;this.J=this.J&-256|a;F(this,a,128);c?pe(this):qe(this);b?ze(this):xe(this);this.A-=this.B.Sd},function(){this.Gb.call(this,oh)},function(){this.qa.call(this,ph)},function(){this.Bb.call(this,oh)},function(){this.Z.call(this,ph)},function(){this.J=this.J&-256|oh.call(this,this.J&255,this.na());this.A--},function(){this.J=this.J&~this.N|ph.call(this,this.J&this.N,this.Aa());this.A--},function(){this.L|=20;this.va=
|
||||
this.rb=this.Ca;this.A-=this.B.Rc},function(){var a=this.J&255,b=le(this),c=je(this);9<(a&15)||b?(a-=6,b=16):b=0;159<a||c?(a-=96,c=1):c=0;a&=255;this.J=this.J&-256|a;F(this,a,128);c?pe(this):qe(this);b?ze(this):xe(this);this.A-=this.B.Sd},function(){this.Gb.call(this,wh)},function(){this.qa.call(this,xh)},function(){this.Bb.call(this,wh)},function(){this.Z.call(this,xh)},function(){this.J=this.J&-256|wh.call(this,this.J&255,this.na());this.A--},function(){this.J=this.J&~this.N|xh.call(this,this.J&
|
||||
this.N,this.Aa());this.A--},function(){this.L|=20;this.va=this.rb=this.S;this.A-=this.B.Rc},function(){var a,b,c=this.J&255,d=this.J>>8&255;9<(c&15)||le(this)?(c+=6,80286<=this.ca&&255<c&&d++,d++,a=b=1):a=b=0;this.J=this.J&-65536|(d<<8|c)&65295;a?pe(this):qe(this);b?ze(this):xe(this);this.A-=this.B.Sd},function(){this.Gb.call(this,ng)},function(){this.qa.call(this,og)},function(){this.Bb.call(this,ng)},function(){this.Z.call(this,og)},function(){ng.call(this,this.J&255,this.na());this.A--},function(){og.call(this,
|
||||
this.N,this.Aa());this.A--},function(){this.L|=20;this.va=this.rb=this.R;this.A-=this.B.Rc},function(){var a,b,c=this.J&255,d=this.J>>8&255;9<(c&15)||le(this)?(c+=6,80286<=this.ca&&255<c&&d++,d++,a=b=1):a=b=0;this.J=this.J&-65536|(d<<8|c)&65295;a?pe(this):qe(this);b?ze(this):xe(this);this.A-=this.B.Sd},function(){this.Gb.call(this,ng)},function(){this.qa.call(this,og)},function(){this.Bb.call(this,ng)},function(){this.Z.call(this,og)},function(){ng.call(this,this.J&255,this.na());this.A--},function(){og.call(this,
|
||||
this.J&this.N,this.Aa());this.A--},function(){this.L|=20;this.va=this.rb=this.xa;this.A-=this.B.Rc},function(){var a,b,c=this.J&255,d=this.J>>8&255;9<(c&15)||le(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.J=this.J&-65536|d<<8|c;a?pe(this):qe(this);b?ze(this):xe(this);this.A-=this.B.Sd},function(){this.J=Bh.call(this,this.J)},function(){this.G=Bh.call(this,this.G)},function(){this.M=Bh.call(this,this.M)},function(){this.D=Bh.call(this,this.D)},function(){v(this,Bh.call(this,w(this)))},function(){this.K=
|
||||
Bh.call(this,this.K)},function(){this.I=Bh.call(this,this.I)},function(){this.H=Bh.call(this,this.H)},function(){this.J=zh.call(this,this.J)},function(){this.G=zh.call(this,this.G)},function(){this.M=zh.call(this,this.M)},function(){this.D=zh.call(this,this.D)},function(){v(this,zh.call(this,w(this)))},function(){this.K=zh.call(this,this.K)},function(){this.I=zh.call(this,this.I)},function(){this.H=zh.call(this,this.H)},function(){y(this,this.J&this.N);this.A-=this.B.Ac},function(){y(this,this.G&
|
||||
this.N);this.A-=this.B.Ac},function(){y(this,this.M&this.N);this.A-=this.B.Ac},function(){y(this,this.D&this.N);this.A-=this.B.Ac},function(){y(this,w(this)-2&65535);this.A-=this.B.Ac},function(){y(this,this.K&this.N);this.A-=this.B.Ac},function(){y(this,this.I&this.N);this.A-=this.B.Ac},function(){y(this,this.H&this.N);this.A-=this.B.Ac},function(){this.J=this.J&~this.N|u(this);this.A-=this.B.ec},function(){this.G=this.G&~this.N|u(this);this.A-=this.B.ec},function(){this.M=this.M&~this.N|u(this);
|
||||
|
|
@ -302,7 +302,7 @@ function(){var a=1,b=0,c=this.sa,d=this.B.Rg;this.wa&192&&(a=this.G&c,b=1,d=this
|
|||
-256|this.na();this.A-=this.B.Mb},function(){this.D=this.D&-256|this.na();this.A-=this.B.Mb},function(){this.J=this.J&-65281|this.na()<<8;this.A-=this.B.Mb},function(){this.G=this.G&-65281|this.na()<<8;this.A-=this.B.Mb},function(){this.M=this.M&-65281|this.na()<<8;this.A-=this.B.Mb},function(){this.D=this.D&-65281|this.na()<<8;this.A-=this.B.Mb},function(){this.J=this.J&~this.N|this.Aa();this.A-=this.B.Mb},function(){this.G=this.G&~this.N|this.Aa();this.A-=this.B.Mb},function(){this.M=this.M&~this.N|
|
||||
this.Aa();this.A-=this.B.Mb},function(){this.D=this.D&~this.N|this.Aa();this.A-=this.B.Mb},function(){v(this,w(this)&~this.N|this.Aa());this.A-=this.B.Mb},function(){this.K=this.K&~this.N|this.Aa();this.A-=this.B.Mb},function(){this.I=this.I&~this.N|this.Aa();this.A-=this.B.Mb},function(){this.H=this.H&~this.N|this.Aa();this.A-=this.B.Mb},mi,ni,mi,ni,function(){this.Z.call(this,Ag)},function(){this.Z.call(this,yg)},function(){this.L|=1;this.yc.call(this,ui,this.na)},function(){this.L|=1;this.Ja.call(this,
|
||||
ui,this.Aa)},oi,pi,oi,pi,function(){if(this.X&131072&&3>this.Cb)t.call(this,13,0);else{var a=this.B.zi;this.fc=-1;Jh.call(this,3,null,a)}},function(){var a=this.na();if(this.X&131072&&3>this.Cb)t.call(this,13,0);else{var b;a:{b=this.of[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.Y)){b=!1;break a}b=!0}b?(this.fc=-1,Jh.call(this,a,null,0)):this.A--}},function(){if(oe(this))if(this.X&131072&&3>this.Cb)t.call(this,13,0);else{var a=this.B.Ai;this.fc=-1;Jh.call(this,4,null,a)}else this.A-=
|
||||
this.B.Bi},function(){if(this.X&131072&&3>this.Cb)t.call(this,13,0);else{this.ic=this.S.ja;this.la=this.ra;this.A-=this.B.xi;if(this.Pa&1&&this.X&16384){var a=this.ga(this.ia.ya+0);Fc(this.Ca,a,!1)}else{var a=this.za,b=u(this),c=u(this),d=u(this);if(this.X&131072)d=d&131071|this.X&-131072;else if(d&131072){var e=u(this),f=u(this),g=u(this),h=u(this),k=u(this),m=u(this);Gc(this,!0,!0);Ec(this,f);v(this,e);Lc(this,g);Kc(this,h);this.Ta.load(k);this.Xa.load(m)}null!=Pc(this,b,c,!1)&&(Nc(this,d,a),this.Vf&&
|
||||
this.B.Bi},function(){if(this.X&131072&&3>this.Cb)t.call(this,13,0);else{this.ic=this.R.ja;this.la=this.ra;this.A-=this.B.xi;if(this.Pa&1&&this.X&16384){var a=this.ga(this.ia.ya+0);Fc(this.Ca,a,!1)}else{var a=this.za,b=u(this),c=u(this),d=u(this);if(this.X&131072)d=d&131071|this.X&-131072;else if(d&131072){var e=u(this),f=u(this),g=u(this),h=u(this),k=u(this),m=u(this);Gc(this,!0,!0);Ec(this,f);v(this,e);Lc(this,g);Kc(this,h);this.Ta.load(k);this.Xa.load(m)}null!=Pc(this,b,c,!1)&&(Nc(this,d,a),this.Vf&&
|
||||
$d(this,this.Y))}this.ic=this.la=-1}},function(){this.yc.call(this,ji,Dh)},function(){this.Ja.call(this,2==this.U?ki:li,Dh)},function(){this.yc.call(this,ji,Eh)},function(){this.Ja.call(this,2==this.U?ki:li,Eh)},function(){var a=this.na();if(a){var b=this.J&255;this.J=this.J&-65536|b/a<<8|b%a;F(this,this.J,128);this.A-=this.B.bi}else Mh.call(this)},function(){var a=this.J&255,b=(this.J>>8&255)*this.na()|0,c=a+b|0;this.J=this.J&-65536|c&255;ie(this,a,b,c,191);this.A-=this.B.ai},function(){this.J=this.J&
|
||||
-256|(je(this)?255:0);this.A-=2},function(){this.J=this.J&-256|Ee(this,this.va,this.D+(this.J&255));this.A-=this.B.aj},function(){qi.call(this,216)},function(){qi.call(this,217)},function(){qi.call(this,218)},function(){qi.call(this,219)},function(){qi.call(this,220)},function(){qi.call(this,221)},function(){qi.call(this,222)},function(){qi.call(this,223)},function(){var a=this.O(),b=this.G-1&this.sa;this.G=this.G&~this.sa|b;b&&!me(this)?(D(this,A(this)+a),this.A-=this.B.Ii):this.A-=this.B.Hg},function(){var a=
|
||||
this.O(),b=this.G-1&this.sa;this.G=this.G&~this.sa|b;b&&me(this)?(D(this,A(this)+a),this.A-=this.B.Ig):this.A-=this.B.Jg},function(){var a=this.O(),b=this.G-1&this.sa;this.G=this.G&~this.sa|b;b?(D(this,A(this)+a),this.A-=this.B.Hi):this.A-=this.B.Hg},function(){var a=this.O();this.G&this.sa?this.A-=this.B.Jg:(D(this,A(this)+a),this.A-=this.B.Ig)},function(){var a=this.na();Ce(this,a,1)&&(this.J=this.J&-256|Ob(this.ha,a,1,this.Y-2)&255,this.A-=this.B.Cg)},function(){var a=this.na();Ce(this,a,this.U)&&
|
||||
|
|
@ -324,10 +324,10 @@ c)return Mh.call(this),a;this.ua=c&65535;this.Ga=b%a&65535}else{if(!Ah.call(this
|
|||
ie(this,a,1,b,this.fb|62);this.A-=-1===this.F?this.B.Xe:this.B.We;return b&this.N},function(a){var b=a-1|0;ie(this,a,1,b,this.fb|62,!0);this.A-=-1===this.F?this.B.Xe:this.B.We;return b&this.N},function(a){y(this,A(this));D(this,a);this.A-=-1===this.F?this.B.ji:this.B.ii;this.L|=2;return a},function(a){if(-1===this.F)return R.call(this,a);this.la=this.ra;Ih.call(this,a,this.ga(this.F+this.U));this.A-=this.B.gi;this.L|=2;this.la=-1;return a},function(a){D(this,a);this.A-=-1===this.F?this.B.Fi:this.B.Ei;
|
||||
this.L|=2;return a},function(a){if(-1===this.F)return R.call(this,a);Pc(this,a,this.ga(this.F+this.U));this.A-=this.B.Ci;this.L|=2;return a},function(a){var b=a;this.L&512&&(a=a-2&65535,80286>this.ca&&(b=a));y(this,b);this.A-=-1===this.F?this.B.Ac:this.B.Vi;this.L|=2;return a},R];function xd(){this.Z.call(this,th);this.A-=-1===this.F?6:13}function yd(){this.qa.call(this,sh);this.A-=-1===this.F?12:19}var od=Array(256);
|
||||
od[0]=function(){16>(this.Jb(this.Y)&56)&&(this.L|=1);this.Ja.call(this,this.wh,Gh)};od[1]=function(){this.Jb(this.Y)&16||(this.L|=1);this.Ja.call(this,xi,Gh)};od[2]=function(){!(this.Pa&1)||this.X&131072?t.call(this,6):this.Z.call(this,xg)};od[3]=function(){!(this.Pa&1)||this.X&131072?t.call(this,6):this.Z.call(this,Dg)};
|
||||
od[5]=function(){this.za?t.call(this,13,0,0,!0):(Be(this,this.ga(2054)),this.H=this.ga(2086),this.I=this.ga(2088),this.K=this.ga(2090),this.D=this.ga(2094),this.M=this.ga(2096),this.G=this.ga(2098),this.J=this.ga(2100),Dc(this.pa,2102,this.ga(2084)),Dc(this.Ca,2108,this.ga(2082)),Dc(this.S,2114,this.ga(2080)),Dc(this.xa,2120,this.ga(2078)),Nc(this,this.ga(2072)),D(this,this.ga(2074)),v(this,this.ga(2092)),this.ub=this.ga(2126)|this.Jb(2128)<<16,this.wc=this.ub+this.ga(2130),this.Ab=this.ga(2138)|
|
||||
od[5]=function(){this.za?t.call(this,13,0,0,!0):(Be(this,this.ga(2054)),this.H=this.ga(2086),this.I=this.ga(2088),this.K=this.ga(2090),this.D=this.ga(2094),this.M=this.ga(2096),this.G=this.ga(2098),this.J=this.ga(2100),Dc(this.pa,2102,this.ga(2084)),Dc(this.Ca,2108,this.ga(2082)),Dc(this.R,2114,this.ga(2080)),Dc(this.xa,2120,this.ga(2078)),Nc(this,this.ga(2072)),D(this,this.ga(2074)),v(this,this.ga(2092)),this.ub=this.ga(2126)|this.Jb(2128)<<16,this.wc=this.ub+this.ga(2130),this.Ab=this.ga(2138)|
|
||||
this.Jb(2140)<<16,this.xc=this.Ab+this.ga(2142),Dc(this.Zb,2132,this.ga(2076)),Dc(this.ia,2144,this.ga(2070)),this.A-=195)};od[6]=function(){this.za?t.call(this,13,0):(this.Pa&=-9,this.A-=2)};od[11]=Wc;od[166]=Wc;od[255]=Wc;var B=[];B[5]=Wc;
|
||||
B[7]=function(){if(this.za)t.call(this,13,0,0,!0);else{var a=this.pa.Pb(this.H&this.sa,204);if(-1!==a){this.Pa=this.fa(a);Gc(this);this.Pa&-2147483648?Bb(this):Bd(this);var b=this.fa(a+168),c=(b&24576)>>13;Nc(this,this.fa(a+4),c);this.ub=this.fa(a+112);this.wc=this.ub+this.fa(a+116);this.Ab=this.fa(a+100);this.xc=this.Ab+this.fa(a+104);Cc(this.Zb,this.fa(a+56),this.fa(a+120),this.fa(a+124),this.fa(a+128));Cc(this.ia,this.fa(a+52),this.fa(a+84),this.fa(a+88),this.fa(a+92));this.H=this.fa(a+12);this.I=
|
||||
this.fa(a+16);this.K=this.fa(a+20);this.D=this.fa(a+28);this.M=this.fa(a+32);this.G=this.fa(a+36);this.J=this.fa(a+40);Cc(this.Xa,this.fa(a+60),this.fa(a+132),this.fa(a+136),this.fa(a+140));Cc(this.Ta,this.fa(a+64),this.fa(a+144),this.fa(a+148),this.fa(a+152));Cc(this.xa,this.fa(a+68),this.fa(a+156),this.fa(a+160),this.fa(a+164));Cc(this.S,this.fa(a+72),b,this.fa(a+172),this.fa(a+176));Cc(this.Ca,this.fa(a+76),this.fa(a+180),this.fa(a+184),this.fa(a+188));Cc(this.pa,this.fa(a+80),this.fa(a+192),this.fa(a+
|
||||
this.fa(a+16);this.K=this.fa(a+20);this.D=this.fa(a+28);this.M=this.fa(a+32);this.G=this.fa(a+36);this.J=this.fa(a+40);Cc(this.Xa,this.fa(a+60),this.fa(a+132),this.fa(a+136),this.fa(a+140));Cc(this.Ta,this.fa(a+64),this.fa(a+144),this.fa(a+148),this.fa(a+152));Cc(this.xa,this.fa(a+68),this.fa(a+156),this.fa(a+160),this.fa(a+164));Cc(this.R,this.fa(a+72),b,this.fa(a+172),this.fa(a+176));Cc(this.Ca,this.fa(a+76),this.fa(a+180),this.fa(a+184),this.fa(a+188));Cc(this.pa,this.fa(a+80),this.fa(a+192),this.fa(a+
|
||||
196),this.fa(a+200));D(this,this.fa(a+8));v(this,this.fa(a+24))}this.A-=122<<(a&3?1:0)}};B[16]=fi;B[17]=gi;B[18]=hi;B[19]=ii;B[32]=function(){if(this.za)t.call(this,13,0);else{var a,b=this.na();switch((b&56)>>3){case 0:a=this.Pa;break;case 2:a=this.rd;break;case 3:a=this.dd;break;default:pd.call(this);return}Dd(this,b&7,a);this.A-=6}};B[33]=function(){if(this.za)t.call(this,13,0);else{var a=this.na(),b=(a&56)>>3;4==b||5==b?pd.call(this):(Dd(this,a&7,this.qb[b]),this.A-=22)}};
|
||||
B[34]=function(){if(this.za)t.call(this,13,0);else{var a=this.na(),b=Cd(this,a&7);switch((a&56)>>3){case 0:this.Pa=b;Gc(this);this.Pa&-2147483648?Bb(this):Bd(this);this.A-=10;break;case 2:this.rd=b;this.A-=4;break;case 3:Qc.call(this,b);this.A-=5;break;default:pd.call(this)}}};B[35]=function(){if(this.za)t.call(this,13,0);else{var a=this.na(),b=(a&56)>>3;4==b||5==b?pd.call(this):(a=Cd(this,a&7),a!=this.qb[b]&&(ae(this,!1),this.qb[b]=a,ae(this,!0)),this.A-=4>b?22:14)}};
|
||||
B[36]=function(){if(this.za)t.call(this,13,0);else{var a=this.na(),b=(a&56)>>3;6>b?pd.call(this):(Dd(this,a&7,this.rf[b]),this.A-=12)}};B[38]=function(){if(this.za)t.call(this,13,0);else{var a=this.na(),b=(a&56)>>3;6>b?pd.call(this):(this.rf[b]=Cd(this,a&7),this.A-=12)}};B[128]=function(){var a=this.Aa();oe(this)?(D(this,A(this)+a),this.A-=this.B.Ma):this.A-=this.B.Na};B[129]=function(){var a=this.Aa();oe(this)?this.A-=this.B.Na:(D(this,A(this)+a),this.A-=this.B.Ma)};
|
||||
|
|
@ -353,13 +353,13 @@ T[5150][0][Fi]={lc:48,Oc:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48
|
|||
T[5160][0][5]={lc:12,Oc:{64:0,128:4,192:8,256:12},gd:"Base Memory (64Kb Increments)"};T[5160][1][6]=T[5150][1][6];T[5160.101]=[{},{}];T[5160.101][0][5]={lc:143,Oc:{128:1,256:130,512:8,640:141},gd:"Base Memory (128Kb Increments)"};T[5160.101][0][3]={lc:16,Oc:{0:0,1:16},gd:"Coprocessor"};T[5160.101][1][2]={lc:1,Oc:{0:0,1:1},gd:"Floppy Type"};T[5160.101][1][Ei]=T[5150][0][Ei];T[5160.101][1][Fi]=T[5150][0][Fi];l=S.prototype;
|
||||
l.zb=function(a,b,c){switch(b){case Ci:return this.ka[b]=c,Ji(this,0,b),!0;case Gi:if(5150==(this.ca|0)||5160.101==this.ca)return this.ka[b]=c,Ji(this,1,b),!0;break;case "swdesc":return this.ka[b]=c,!0}return!1};
|
||||
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;this.qd=kb(a,"FPU");Di(this,3,this.qd?1:0,!0);this.C=kb(a,"Keyboard");this.Ga=c.T.ad/1193181;Nb(b,this,Ki);Pb(b,this,Li);this.ca<Re?5160.101!=this.ca?(Nb(b,this,Mi),Pb(b,this,Ni)):(Nb(b,this,Oi),Pb(b,this,Pi)):(Nb(b,this,Qi),Pb(b,this,Ri),5180==(this.ca|0)&&(Nb(b,this,Si),Pb(b,this,Ti)))};l.Vb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.Ub=function(a){return a?this.save():!0};
|
||||
l.reset=function(a){var b;Ui(this);this.G=Array(this.Ea);for(b=0;b<this.Ea;b++)Vi(this,b);this.gc=Array(this.pa);Wi(this,0,32);1<this.pa&&Wi(this,1,160);this.za=this.xa=null;this.K=Array(5180==(this.ca|0)?6:3);for(b=0;b<this.K.length;b++)Xi(this,b);this.oa=this.Ja=this.P=this.Da=null;this.ma=0;5160.101==this.ca&&(this.la=0);if(this.ca>=Re){this.H=16;this.S=0;this.R=16;this.ua=0;this.W=160;512<=Yi(this)&&(this.W|=16);3==+Zi(this,Fi,void 0)&&(this.W|=64);5180==(this.ca|0)&&(this.W|=12);this.va=3;this.I=
|
||||
l.reset=function(a){var b;Ui(this);this.G=Array(this.Ea);for(b=0;b<this.Ea;b++)Vi(this,b);this.gc=Array(this.pa);Wi(this,0,32);1<this.pa&&Wi(this,1,160);this.za=this.xa=null;this.K=Array(5180==(this.ca|0)?6:3);for(b=0;b<this.K.length;b++)Xi(this,b);this.oa=this.Ja=this.P=this.Da=null;this.ma=0;5160.101==this.ca&&(this.la=0);if(this.ca>=Re){this.H=16;this.R=0;this.S=16;this.ua=0;this.W=160;512<=Yi(this)&&(this.W|=16);3==+Zi(this,Fi,void 0)&&(this.W|=64);5180==(this.ca|0)&&(this.W|=12);this.va=3;this.I=
|
||||
Array(8);this.da=0;a&&(this.B=Array(64));$i(this,this.Xa);for(a=21;24>=a;a++)this.B[a]=0;for(a=14;46>a;a++)void 0===this.B[a]&&(this.B[a]=0);a=0|+Zi(this,Fi,void 0)<<Ii.Zf&Ii.lc;a|=+Zi(this,3,void 0)?2:0;b=+Zi(this,Ei,void 0);a|=b?b-1<<Hi.Zf&Hi.lc|Hi.vj:0;this.B[20]=a;this.B[16]=aj(this,0)<<4|aj(this,1);bj(this)}};
|
||||
function $i(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.rc("CMOS date invalid ("+b+"), using "+c)):b&&a.rc("CMOS date: "+c);a.B[0]=c.getSeconds();a.B[1]=0;a.B[2]=c.getMinutes();a.B[3]=0;a.B[4]=c.getHours();a.B[5]=0;a.B[6]=c.getDay()+1;a.B[7]=c.getDate();a.B[8]=c.getMonth()+1;c=c.getFullYear();a.B[9]=c%100;c/=100;a.B[50]=c%10|c/10<<4;a.B[10]=38;a.B[11]=2;a.B[12]=0;a.B[13]=128;a.ra=a.ia=0;a.Ta=a.Fa=null}
|
||||
function cj(a){var b;void 0===b&&(b=a.Fa);a.ia=tc(a.A,a.Z)+b;a.B[11]&64&&qc(a.A,b)}function bj(a){for(var b=0,c=16;46>c;c++)b+=a.B[c];a.B[47]=b&255;a.B[46]=b>>8}
|
||||
l.save=function(){var a=new ce(this);C(a,0,[this.D]);for(var b=[],c=0;c<this.G;c++){for(var d=this.G[c],e=d,f=[],g=0;g<e.$b.length;g++){var h=e.$b[g];f[g]=[h.Qd,h.sf,h.jc,h.gb,h.hb,h.mode,h.tf,h.$l,h.am]}b[c]=[d.Db,d.bg,d.Gh,d.Ib,f,d.dg]}C(a,1,[b]);b=[];for(c=0;c<this.gc.length;c++)d=this.gc[c],b[c]=[d.Te,d.Sc,d.md,d.Vc,d.ac,d.Cc,d.Ld,d.Je];C(a,2,[b]);b=[];for(c=0;c<this.K.length;c++)d=this.K[c],b[c]=[d.jc,d.Ec,d.hb,d.Md,d.eg,d.mode,d.hf,d.Xc,d.kd,d.Tc,d.le,d.Od,d.ld,d.Db,d.qe];C(a,3,[this.xa,b,this.za]);
|
||||
C(a,4,[this.Da,this.P,this.Ja,this.oa,this.ma]);this.ca>=Re&&(C(a,5,[this.H,this.S,this.R,this.ua,this.W,this.va]),C(a,6,[this.I[7],this.I,this.da,this.B,this.ra,this.ia]));return a.data()};
|
||||
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.D=b[0]:(this.D[0][0]=b[0],this.D[1][0]=b[1]&15,this.D[0][1]=b[2],this.D[1][1]=b[3]&15);Ui(this);b=a[1];for(c=0;c<this.Ea;c++)Vi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.pa;c++)Wi(this,c,0===c?32:160,b[0][c]);b=a[3];this.xa=b[0];this.za=b[2];for(c=0;c<this.K.length;c++)Xi(this,c,b[1][c]);b=a[4];this.Da=b[0];this.P=b[1];this.Ja=b[2];this.oa=b[3];this.ma=b[4];if(b=a[5])this.H=b[0],this.S=b[1],this.R=b[2],this.ua=b[3],this.W=b[4],
|
||||
C(a,4,[this.Da,this.P,this.Ja,this.oa,this.ma]);this.ca>=Re&&(C(a,5,[this.H,this.R,this.S,this.ua,this.W,this.va]),C(a,6,[this.I[7],this.I,this.da,this.B,this.ra,this.ia]));return a.data()};
|
||||
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.D=b[0]:(this.D[0][0]=b[0],this.D[1][0]=b[1]&15,this.D[0][1]=b[2],this.D[1][1]=b[3]&15);Ui(this);b=a[1];for(c=0;c<this.Ea;c++)Vi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.pa;c++)Wi(this,c,0===c?32:160,b[0][c]);b=a[3];this.xa=b[0];this.za=b[2];for(c=0;c<this.K.length;c++)Xi(this,c,b[1][c]);b=a[4];this.Da=b[0];this.P=b[1];this.Ja=b[2];this.oa=b[3];this.ma=b[4];if(b=a[5])this.H=b[0],this.R=b[1],this.S=b[2],this.ua=b[3],this.W=b[4],
|
||||
this.va=b[5];if(b=a[6])this.I=b[1],this.I[7]=b[0],this.da=b[2],this.B=b[3],this.ra=b[4],this.ia=b[5],$i(this);return!0};var dj=[0,null,null,0,Array(4),0];function Vi(a,b,c){var d=a.G[b];d||(d={$b:Array(4)});c=c&&5<=c.length?c:dj;d.Db=c[0];d.bg=c[1];d.Gh=c[2];d.Ib=c[3];d.Vk=b<<2;for(var e=0;e<d.$b.length;e++)ej(d,e,c[4][e]);d.dg=c[5]||0;a.G[b]=d}var fj=[!0,[0,0],[0,0],[0,0],[0,0]];
|
||||
function ej(a,b,c){var d=a.$b[b];d||(d={sf:[0,0],jc:[0,0],gb:[0,0],hb:[0,0]});c=c&&8==c.length?c:fj;d.Qd=c[0];d.sf[0]=c[1][0];d.sf[1]=c[1][1];d.jc[0]=c[2][0];d.jc[1]=c[2][1];d.gb[0]=c[3][0];d.gb[1]=c[3][1];d.hb[0]=c[4][0];d.hb[1]=c[4][1];d.mode=c[5];d.tf=c[6];d.controller=a;d.Vh=b;gj(d,c[8],c[9]);a.$b[b]=d}function gj(a,b,c,d){"string"==typeof b&&(b=Ua(b));b&&(a.done=null,a.$l=b.id,a.am=c,a.yf=b,a.kg=b[c],a.Mf=d)}var hj=[0,Array(4)];
|
||||
function Wi(a,b,c,d){var e=a.gc[b];e||(e={Sc:[null,null,null,null]});d=d&&8==d.length?d:hj;e.port=c;e.bn=b<<3;e.Te=d[0];e.Sc[0]=d[1][0];e.Sc[1]=d[1][1];e.Sc[2]=d[1][2];e.Sc[3]=d[1][3];e.md=d[2];e.Vc=d[3];e.ac=d[4];e.Cc=d[5];e.Ld=d[6];e.Je=d[7];a.gc[b]=e}var ij=[[0,0],[0,0],[0,0],[0,0]];
|
||||
|
|
@ -383,10 +383,10 @@ function Lj(a,b,c){var d=a.K[b];if(d.Od&&(2!=b||a.P&1)){var e=tc(a.A,a.Z),f=(e-d
|
|||
function wc(a,b){for(var c=0;c<a.K.length;c++)Lj(a,c,b);if(a.ca>=Re){var c=a.A.T.ad,d=tc(a.A,a.Z);null==a.Fa&&(a.ra=tc(a.A,a.Z),a.Ta=1024,a.Fa=Math.floor(a.A.T.ad/a.Ta),cj(a));d>=a.ia&&(a.B[12]|=64,a.B[11]&64&&(a.B[12]|=128,Te(a,8)),a.ia=d+a.Fa);a.B[0]==a.B[1]&&a.B[2]==a.B[3]&&a.B[4]==a.B[5]&&(a.B[12]|=32,a.B[11]&32&&(a.B[12]|=128,Te(a,8)));var e=d-a.ra,f=Math.floor(e/c);if(f&&!(a.B[11]&128)){for(;f--;)if(60<=++a.B[0]&&(a.B[0]=0,60<=++a.B[2]&&(a.B[2]=0,24<=++a.B[4]))){a.B[4]=0;a.B[6]=a.B[6]%7+1;var g;
|
||||
g=a.B[9];var h=ma[a.B[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.B[7]>g&&(a.B[7]=1,12<++a.B[8]&&(a.B[8]=1,a.B[9]=(a.B[9]+1)%100))}a.B[12]|=16;a.B[11]&16&&(a.B[12]|=128,Te(a,8))}a.ra=d-e%c}}l=S.prototype;l.Bk=function(){var a=this.Da;this.oa&16&&(this.P&128?a=this.D[0][1]:this.C&&(a=Qj(this.C)));return a};l.Ol=function(a,b){this.Da=b};l.Ck=function(){return this.P};l.Pl=function(a,b){Rj(this,b)};
|
||||
function Rj(a,b){var c=!!(b&2),d=!!(a.P&2);a.P=b;a.C&&Sj(a.C,!(b&128),!!(b&64));c!=d&&vc(a,c)}l.Dk=function(){var a=0,a=5150==(this.ca|0)?this.P&4?a|this.D[1][1]&15:a|this.D[1][1]>>4&1:this.P&8?a|this.D[0][1]>>4:a|this.D[0][1]&15;this.P&1&&Lj(this,2).Tc&&(a=this.P&2?a|32:a|16);return a};l.Ql=function(a,b){this.Ja=b};l.Ek=function(){return this.oa};l.Rl=function(a,b){this.oa=b};l.Mj=function(){var a=this.C?Qj(this.C):0;this.la&=-2;return a};l.$k=function(){};l.Lj=function(){return this.P};
|
||||
l.Zk=function(a,b){Rj(this,b)};l.Nj=function(){return this.la};l.Oj=function(){var a=this.ua;this.H&=-258;this.C&&Tj(this.C);return a};l.bl=function(a,b){if(this.H&8)switch(this.S){case 96:Uj(this,b);break;case 209:Vj(this,b);break;default:if(Uj(this,this.R&-17),this.C){var c=this.C,d=b,e=-1;switch(c.G||d){case 255:e=250;c.Ob=[];Wj(c,170);break;case 243:c.G&&(d=0);Wj(c,250);c.G=d;break;case 237:c.G&&(d=0),Wj(c,250),c.G=d}Xj(this,e)}}this.S=b;this.H&=-9};
|
||||
l.Zk=function(a,b){Rj(this,b)};l.Nj=function(){return this.la};l.Oj=function(){var a=this.ua;this.H&=-258;this.C&&Tj(this.C);return a};l.bl=function(a,b){if(this.H&8)switch(this.R){case 96:Uj(this,b);break;case 209:Vj(this,b);break;default:if(Uj(this,this.S&-17),this.C){var c=this.C,d=b,e=-1;switch(c.G||d){case 255:e=250;c.Ob=[];Wj(c,170);break;case 243:c.G&&(d=0);Wj(c,250);c.G=d;break;case 237:c.G&&(d=0),Wj(c,250),c.G=d}Xj(this,e)}}this.R=b;this.H&=-9};
|
||||
l.Pj=function(){return this.P&-209|(tc(this.A)&64?16:0)};l.cl=function(a,b){Rj(this,b)};l.Qj=function(){var a=this.H&255;this.H&256&&(this.H|=1,this.H&=-257);return a};
|
||||
l.al=function(a,b){this.S=b;this.H|=8;var c=0;240<=this.S&&(c=this.S^15,this.S=240);switch(this.S){case 32:Xj(this,this.R);break;case 173:Uj(this,this.R|16);break;case 174:Uj(this,this.R&-17);this.C&&Tj(this.C);break;case 170:this.C&&(this.C.Ob=[]);Uj(this,this.R|16);Xj(this,85);Vj(this,3);break;case 171:Xj(this,0);break;case 192:Xj(this,this.W);break;case 208:Xj(this,this.va);break;case 224:Xj(this,this.R&16?0:1);break;case 240:c&1&&zd(this.A)}};
|
||||
function Uj(a,b){a.R=b;a.H=a.H&-5|b&4;a.C&&Sj(a.C,!!(b&8),!(b&16))}function Xj(a,b,c){0<=b&&(a.ua=b,c?a.H|=1:(a.H&=-2,a.H|=256))}function Vj(a,b){a.va=b;xb(a.ha,!!(b&2));b&1||zd(a.A)}function Yj(a,b){a.ca<Re?(Te(a,1,4),a.la|=1):a.R&16||a.H&257||(Xj(a,b,!0),Zj(a.C),Te(a,1,120))}l.dk=function(){return this.da};l.ql=function(a,b){this.da=b;this.ma=b&128?0:128};
|
||||
l.al=function(a,b){this.R=b;this.H|=8;var c=0;240<=this.R&&(c=this.R^15,this.R=240);switch(this.R){case 32:Xj(this,this.S);break;case 173:Uj(this,this.S|16);break;case 174:Uj(this,this.S&-17);this.C&&Tj(this.C);break;case 170:this.C&&(this.C.Ob=[]);Uj(this,this.S|16);Xj(this,85);Vj(this,3);break;case 171:Xj(this,0);break;case 192:Xj(this,this.W);break;case 208:Xj(this,this.va);break;case 224:Xj(this,this.S&16?0:1);break;case 240:c&1&&zd(this.A)}};
|
||||
function Uj(a,b){a.S=b;a.H=a.H&-5|b&4;a.C&&Sj(a.C,!!(b&8),!(b&16))}function Xj(a,b,c){0<=b&&(a.ua=b,c?a.H|=1:(a.H&=-2,a.H|=256))}function Vj(a,b){a.va=b;xb(a.ha,!!(b&2));b&1||zd(a.A)}function Yj(a,b){a.ca<Re?(Te(a,1,4),a.la|=1):a.S&16||a.H&257||(Xj(a,b,!0),Zj(a.C),Te(a,1,120))}l.dk=function(){return this.da};l.ql=function(a,b){this.da=b;this.ma=b&128?0:128};
|
||||
l.ek=function(a,b){var c=this.da&63,d;if(13>=c)if(d=this.B[c],10>c){var e=!1;4!=c&&5!=c||this.B[11]&2||(12>d?d=d?d:12:d=(d-=12)?d+128:140,e=!0);this.B[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.B[c]^=128);else d=this.B[c];null!=b&&12==c&&(this.B[c]&=15,d&128&&Se(this,8),d&64&&this.B[11]&64&&cj(this));return d};
|
||||
l.rl=function(a,b){var c=this.da&63,d=b^this.B[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.B[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.B[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.B[c]=e;11==c&&d&64&&b&64&&cj(this)};l.ej=function(a,b){this.ma=b};l.Bl=function(){};l.Cl=function(){this.qd&&Ne(this.qd)};
|
||||
function vc(a,b){if(a.qa)try{void 0!==b?a.Oa=b:b=a.Oa&&a.A&&a.A.ea.Sb;var c=Math.round(1193181/Nj(a,2));if(20>c||2E4<c)b=!1;b?a.L?a.L.frequency.value=c:(a.L=a.qa.createOscillator(),a.L&&(a.L.type="number"==typeof a.L.type?1:"square",a.L.connect(a.qa.destination),a.L.frequency.value=c,"start"in a.L?a.L.start(0):a.L.noteOn(0))):a.L&&("stop"in a.L?a.L.stop(0):a.L.noteOff(0),a.L.disconnect(),delete a.L)}catch(d){a.Ba("AudioContext exception: "+d.message),a.qa=null}}
|
||||
|
|
@ -403,13 +403,13 @@ function ak(a){Ia.call(this,"ROM",a,ak);this.B=null;this.I=a.addr;this.D=a.size;
|
|||
ak.prototype.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;ck(this)};ak.prototype.Vb=function(){this.K&&(this.Ia&&this.Ia.A(this.id,0,this.I>>>4,0,this.I,this.D,this.K),delete this.K);return!0};ak.prototype.Ub=function(){return!0};
|
||||
function bk(a,b,c,d){if(d)a.Ba("Unable to load system ROM (error "+d+": "+b+")");else{Sa(a.lf,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.B=f;else if(g)for(a.B=Array(4*g.length),d=c=0;c<g.length;c++)a.B[d++]=g[c]&255,a.B[d++]=g[c]>>8&255,a.B[d++]=g[c]>>16&255,a.B[d++]=g[c]>>24&255;else a.B=e;a.K=e.symbols;if(!a.B.length){n("Empty ROM: "+b);return}if(1==a.B.length){n(a.B[0]);return}}catch(h){a.Ba("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
|
||||
" ").replace(/ +$/,"").split(" "),a.B=Array(b.length),e=0;e<b.length;e++)a.B[e]=ca(b[e],16);ck(a)}}
|
||||
function ck(a){if(!bb(a))if(!a.H)ab(a);else if(a.B&&a.ha){if(a.B.length!=a.D)cb(a,"ROM size (0x"+ea(a.B.length)+") does not match specified size ("+("0x"+ea(a.D))+")");else{var b;b=a.I;if(yb(a.ha,b,a.D,Gb)){for(var c=0;c<a.B.length;c++){var d=a.ha,e=b+c;d.R[(e&d.Fa)>>>d.da].kf(e&d.B,a.B[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.G?b.push(a.G):null!=a.G&&a.G.length&&(b=a.G);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Db(d.ha,d.I,d.D);Cb(d.ha,e,d.D,f)}a.C&&((b=Ua(a.C,a.id))?(c=a.B,d=a.L,5==
|
||||
b.Ra?dk(b,c,d||[12640,8752],8):b.Ra==ek&&dk(b,c,d||[14221,16269],8),ab(b)):a.Ba("Unable to find component: "+a.C));delete a.B}}ab(a)}}Ea(function(){for(var a=Za(document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new ak(d);Ya(d,c)}});function fk(a){Ia.call(this,"RAM",a,fk);this.C=a.addr;this.B=a.size;this.H=a.test;this.G=!!this.B;this.D=!1}Qa(fk);l=fk.prototype;l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.P=kb(a,"ChipSet");ab(this)};
|
||||
function ck(a){if(!bb(a))if(!a.H)ab(a);else if(a.B&&a.ha){a.D||(a.D=a.B.length);if(a.B.length!=a.D)cb(a,"ROM size (0x"+ea(a.B.length)+") does not match specified size ("+("0x"+ea(a.D))+")");else{var b;b=a.I;if(yb(a.ha,b,a.D,Gb)){for(var c=0;c<a.B.length;c++){var d=a.ha,e=b+c;d.S[(e&d.Fa)>>>d.da].kf(e&d.B,a.B[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.G?b.push(a.G):null!=a.G&&a.G.length&&(b=a.G);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Db(d.ha,d.I,d.D);Cb(d.ha,e,d.D,f)}a.C&&((b=Ua(a.C,
|
||||
a.id))?(c=a.B,d=a.L,5==b.Ra?dk(b,c,d||[12640,8752],8):b.Ra==ek&&dk(b,c,d||[14221,16269],8),ab(b)):a.Ba("Unable to find component: "+a.C));delete a.B}}ab(a)}}Ea(function(){for(var a=Za(document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new ak(d);Ya(d,c)}});function fk(a){Ia.call(this,"RAM",a,fk);this.C=a.addr;this.B=a.size;this.H=a.test;this.G=!!this.B;this.D=!1}Qa(fk);l=fk.prototype;l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.P=kb(a,"ChipSet");ab(this)};
|
||||
l.Vb=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};l.Ub=function(a){return a&&this.controller?this.save():!0};
|
||||
l.reset=function(){if(!this.C&&!this.G&&this.P){var a=1024*Yi(this.P);this.B&&a!=this.B&&(Fb(this.ha,this.C,this.B),this.D=!1);this.B=a}!this.D&&this.B&&yb(this.ha,this.C,this.B,1)&&(this.D=!0,this.status(Math.floor(this.B/1024)+"Kb allocated"),"ramCPQ"==this.jf&&(this.controller=new gk(this),yb(this.ha,hk,4,4,this.controller)));if(this.D){if(this.H||Mb(this.ha,1138,4660),"ramCPQ"!=this.jf&&this.P&&(a=this.P,a.B)){var b=1048576>this.C?21:23,c=a.B[b]|a.B[b+1]<<8,c=c+(this.B>>10);a.B[b]=c&255;a.B[b+
|
||||
1]=c>>8;bj(a)}}else n("No RAM allocated")};l.save=function(){var a=new ce(this);this.controller&&C(a,0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function gk(a){this.G=a;this.C=ik;this.D=jk;this.B=kk;this.A=null}var hk=-2134900736,ik=65535,jk=2575,kk=2,lk=[null,0],mk=[function(a){return this.controller.Jb(a)},null,null,function(a,b){this.controller.Mc(a,b)},null,null];l=gk.prototype;l.save=function(){return[this.C,this.B]};
|
||||
l.restore=function(a){this.Mc(0,a[0]&255);this.Mc(2,a[1]&255);return!0};l.Jb=function(a){var b=255;2>a?b=a&1?this.D>>8:this.D&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};l.Mc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.G.ha;if(b&1)this.A&&(Cb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Db(c,917504,131072));var d=Db(c,16646144,131072);Cb(c,917504,131072,d,b&2?1:Gb)}this.C=this.C&-256|b}};l.Uh=function(){return lk};l.lg=function(){return mk};
|
||||
Ea(function(){for(var a=Za(document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new fk(d);Ya(d,c)}});function nk(a){Ia.call(this,"Keyboard",a,nk);ok(this,a.model);this.Y=ya("Mobi");this.W=ya("MSIE");this.R=0;this.S=this.ig=!1;this.B=[];this.da=50;ab(this)}Qa(nk);
|
||||
Ea(function(){for(var a=Za(document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new fk(d);Ya(d,c)}});function nk(a){Ia.call(this,"Keyboard",a,nk);ok(this,a.model);this.Y=ya("Mobi");this.W=ya("MSIE");this.S=0;this.R=this.ig=!1;this.B=[];this.da=50;ab(this)}Qa(nk);
|
||||
var pk=["US83","US84","US101"],U={fm:1,gm:3,hm: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,bm:65,cm:66,dm:67,im:68,E:69,jm:70,mm:71,nm:72,om:73,pm:74,qm:75,rm:76,sm:77,um:78,vm:79,wm:80,Q:81,xm:82,Bm:83,Gm:84,Km:85,Lm:86,Mm:87,Om:88,Pm:89,Qm:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rm:97,Sm:98,Um:99,d:100,e:101,Vm:102,Wm:103,Xm:104,
|
||||
Ym:105,Zm:106,k:107,$m:108,an:109,n:110,cn:111,p:112,q:113,r:114,dn:115,t:116,en:117,fn:118,gn:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},qk={};qk[186]=U[";"];qk[187]=U["="];qk[188]=U[","];qk[189]=U["-"];qk[190]=U["."];qk[191]=U["/"];qk[192]=U["`"];qk[219]=U["["];qk[220]=U["\\"];qk[221]=U["]"];qk[222]=U["'"];qk[173]=U["-"];var V={};V[U["1"]]=U["!"];V[U["2"]]=U["@"];V[U["3"]]=U["#"];V[U["4"]]=U.$;V[U["5"]]=U["%"];V[U["6"]]=U["^"];V[U["7"]]=U["&"];V[U["8"]]=U["*"];V[U["9"]]=U["("];
|
||||
V[U["0"]]=U[")"];V[186]=U[":"];V[187]=U["+"];V[188]=U["<"];V[189]=U._;V[190]=U[">"];V[191]=U["?"];V[192]=U["~"];V[219]=U["{"];V[220]=U["|"];V[221]=U["}"];V[222]=U['"'];V[173]=U._;V[61]=U["+"];V[59]=U[":"];
|
||||
|
|
@ -420,14 +420,14 @@ X[U["="]]=13;X[U["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16;X[81]=10768;X[119]=
|
|||
X[107]=37;X[75]=10789;X[108]=38;X[76]=10790;X[U[";"]]=39;X[U[":"]]=10791;X[U["'"]]=40;X[U['"']]=10792;X[U["`"]]=41;X[U["~"]]=10793;X[1016]=42;X[U["\\"]]=43;X[U["|"]]=10795;X[122]=44;X[90]=10796;X[120]=45;X[88]=10797;X[99]=46;X[67]=10798;X[118]=47;X[86]=10799;X[98]=48;X[66]=10800;X[110]=49;X[78]=10801;X[109]=50;X[77]=10802;X[U[","]]=51;X[U["<"]]=10803;X[U["."]]=52;X[U[">"]]=10804;X[U["/"]]=53;X[U["?"]]=10805;X[3016]=54;X[1044]=55;X[1018]=56;X[1032]=57;X[1020]=58;X[1112]=59;X[1113]=60;X[1114]=61;
|
||||
X[1115]=62;X[1116]=63;X[1117]=64;X[1118]=65;X[1119]=66;X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[4027]=84;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;X[4045]=3677522;X[4013]=3677468;l=nk.prototype;
|
||||
l.zb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.ka[f])switch(b){case "kbd":return c.onkeydown=function(a){return vk(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.D="";var b=!X[a]||!!(e.bc&128);b||wk(e,a,!0);return b},c.onkeyup=function(a){return vk(e,a,!1)},!0;case "caps-lock":return this.ka[f]=c,c.onclick=function(){e.ba&&uc(e.ba);wk(e,1020,!0)},!0;case "num-lock":return this.ka[f]=c,c.onclick=function(){e.ba&&uc(e.ba);wk(e,1144,!0)},!0;case "scroll-lock":return this.ka[f]=
|
||||
c,c.onclick=function(){e.ba&&uc(e.ba);wk(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sk[g]&&"button"==a)return this.ka[f]=c,c.onclick=function(a,b,c){return function(){a.ba&&uc(a.ba);xk(a,c,!0);wk(a,c,!0)}}(this,g,sk[g]),!0;if(void 0!==tk[b])return this.R++,this.ka[f]=c,a=function(a,b,c){return function(){wk(a,c)}}(this,b,tk[b]),b=function(a,b,c){return function(){yk(a,c)}}(this,b,tk[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
|
||||
c.onmouseout=b),!0;if(d)return this.ka[f]=c,c.onclick=function(){e.ba&&uc(e.ba);d&&!e.D&&(e.D=d,zk(e,300))},!0}return!1};function Ak(a,b,c){if(a.R){for(var d in V)if(b==V[d]){b=+d;(d=qk[d])&&(b=d);break}for(var e in tk)if((d=tk[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tk[e]==d),d){(a=a.ka["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.pc=function(a,b,c,d){this.ba=a;this.ha=b;this.A=c;this.Ia=d;this.P=kb(a,"ChipSet")};
|
||||
c,c.onclick=function(){e.ba&&uc(e.ba);wk(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sk[g]&&"button"==a)return this.ka[f]=c,c.onclick=function(a,b,c){return function(){a.ba&&uc(a.ba);xk(a,c,!0);wk(a,c,!0)}}(this,g,sk[g]),!0;if(void 0!==tk[b])return this.S++,this.ka[f]=c,a=function(a,b,c){return function(){wk(a,c)}}(this,b,tk[b]),b=function(a,b,c){return function(){yk(a,c)}}(this,b,tk[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
|
||||
c.onmouseout=b),!0;if(d)return this.ka[f]=c,c.onclick=function(){e.ba&&uc(e.ba);d&&!e.D&&(e.D=d,zk(e,300))},!0}return!1};function Ak(a,b,c){if(a.S){for(var d in V)if(b==V[d]){b=+d;(d=qk[d])&&(b=d);break}for(var e in tk)if((d=tk[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tk[e]==d),d){(a=a.ka["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.pc=function(a,b,c,d){this.ba=a;this.ha=b;this.A=c;this.Ia=d;this.P=kb(a,"ChipSet")};
|
||||
function ok(a,b){var c=0;a.ca=null;b&&(a.ca=b.toUpperCase(),c=pk.indexOf(a.ca),0>c&&(c=0));b=pk[c];a.Z=parseInt(b.substr(2),10)}function Sj(a,b,c){a.K!==c&&(a.K=a.L=c)&&(a.H=!0);a.I!==b&&(a.I=b)&&!a.L&&Zj(a,!0);a.I&&a.L&&(a.Ob=[],Wj(a,170),a.L=!1)}function Wj(a,b){a.P&&(a.Ob.unshift(b),a.H=!0,Yj(a.P,b))}function Tj(a){var b=0;a.Ob.length&&a.H&&(b=a.Ob[0],a.P&&Yj(a.P,b))}function Qj(a){var b=0;a.Ob.length&&(b=a.Ob[0]);return b}
|
||||
function Zj(a,b){0<a.Ob.length&&(a.Ob.shift(),(a.H=b)&&a.Ob.length&&a.P&&Yj(a.P,a.Ob[0]))}l.Vb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){if(!this.ca&&this.P)switch(this.P.ca){case 5150:case 5160:ok(this,pk[0]);break;default:ok(this,pk[1])}Bk(this);this.bc=this.C=0;this.Ob=[];this.H=!0;this.D=""};l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.K;c[b]=this.I;C(a,0,c);return a.data()};
|
||||
l.restore=function(a){return Bk(this,a[0])};function Bk(a,b){var c=0;void 0===b&&(b=[]);a.K=a.H=b[c++];a.I=b[c];a.G=0;return!0}function zk(a,b){if(0<a.D.length){var c=a.D.charCodeAt(0);10==c&&(c=13);a.D=a.D.substr(1);wk(a,c,!0)}0<a.D.length&&setTimeout(function(a){return function(){zk(a,b)}}(a),b)}
|
||||
function xk(a,b,c,d){if(X[b]){var e=Math.floor(b/1E3)&2;if(b=rk[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.bc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in uk)d="led-"+g,e=uk[g],c&&c!=e||!(f=a.ka[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.bc&=~b,d&&(a.bc|=b);return!0}}return!1}
|
||||
function wk(a,b,c){if(X[b]&&a.A&&a.A.ea.Sb){rk[b]&&a.B.length&&0<a.B[0].cd&&(a.B[0].cd=0);for(var d,e=0;e<a.B.length;e++)if(d=a.B[e],d.Wd==b){if(!c||0<=d.cd){e=-1;break}0<e&&(0<a.B[0].cd&&(a.B[0].cd=0),a.B.splice(e,1));break}0>e||(e==a.B.length&&(d={},d.Wd=b,d.bc=a.bc,Ak(a,b,!0),e++),0<e&&a.B.splice(0,0,d),d.Me=!0,d.cd=c?-1:rk[b]?0:1,Ck(a,d))}}
|
||||
function yk(a,b,c){if(!X[b]||!(c||a.A&&a.A.ea.Sb))return!1;for(var d=!1,e=0;e<a.B.length;e++){var f=a.B[e];if(f.Wd==b||f.Wd==V[b]){a.B.splice(e,1);f.oj&&clearTimeout(f.oj);f.Me&&!c&&Dk(a,f.Wd,!1);Ak(a,b,!1);d=!0;break}}!a.B.length&&a.S&&(xk(a,1020),a.S=!1);return d}function Ck(a,b){if(!a.A||!a.A.ea.Sb)yk(a,b.Wd,!0);else if(Dk(a,b.Wd,b.Me)&&b.cd){var c;if(0>b.cd){if(!b.Me){yk(a,b.Wd);return}b.Me=!1;c=a.da}else c=1==b.cd++?500:100;b.oj=setTimeout(function(a){return function(){Ck(a,b)}}(a),c)}}
|
||||
function yk(a,b,c){if(!X[b]||!(c||a.A&&a.A.ea.Sb))return!1;for(var d=!1,e=0;e<a.B.length;e++){var f=a.B[e];if(f.Wd==b||f.Wd==V[b]){a.B.splice(e,1);f.oj&&clearTimeout(f.oj);f.Me&&!c&&Dk(a,f.Wd,!1);Ak(a,b,!1);d=!0;break}}!a.B.length&&a.R&&(xk(a,1020),a.R=!1);return d}function Ck(a,b){if(!a.A||!a.A.ea.Sb)yk(a,b.Wd,!0);else if(Dk(a,b.Wd,b.Me)&&b.cd){var c;if(0>b.cd){if(!b.Me){yk(a,b.Wd);return}b.Me=!1;c=a.da}else c=1==b.cd++?500:100;b.oj=setTimeout(function(a){return function(){Ck(a,b)}}(a),c)}}
|
||||
function Ek(a,b,c){var d=b;if(65<=b&&90>=b)!(a.bc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.bc&515)==c&&(d=b-32);else if(!!(a.bc&3)==c){if(a=V[b])d=a}else if(a=qk[b])d=a;return d}l.Nf=function(a){a||(this.bc&=-256)};
|
||||
function vk(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Ek(a,g,!0);a.ig&&h==U["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xk(a,h,!1,c)){if(20==g||144==g||145==g)a.W||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k<a.B.length;k++){var m=a.B[k];m.Me=!1;0<m.cd&&(m.cd=0)}}else 8==g&&8==(a.bc&40)&&(h=4008),d=!1;else if(X[h]&&a.bc&60&&(d=!1),d&&c||a.bc&192)f=!0;d||b.preventDefault();f||a.Y&&d||(c?wk(a,h,e):yk(a,h)||(b=Ek(a,g,!1),b!=h&&yk(a,b)));return d}
|
||||
function Dk(a,b,c){var d=!1;xk(a,b,!0,c);var e=X[b]||X[b+1E3];if(void 0!==e){14==e&&40==(a.bc&40)&&(e=83);var d=[],f=e&255;if(83<f&&83==a.Z)return!1;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.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&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++)e=a,f=d[c],e.Ob&&(20>e.Ob.length?(e.Ob.push(f),1==e.Ob.length&&e.P&&Yj(e.P,f)):20==e.Ob.length&&
|
||||
|
|
@ -465,38 +465,38 @@ function Ik(a,b){!b&&a.ba&&(a.$c?a.Y.style.width=a.Y.style.height="":a.ba.style.
|
|||
function jl(a,b){var c=a.G;c&&!a.xc&&(c.addEventListener("touchstart",function(b){ll(a,b,!0)},!1),c.addEventListener("touchmove",function(b){ll(a,b)},!0),c.addEventListener("touchend",function(b){ll(a,b,!1)},!1),a.xc=b,a.rb=a.ub=a.sd=-1,a.vc=!1,a.Gb=null,a.oc=!1,a.$d=function(){a.oc=!0;a.K.je(ml,!0)})}l.Nf=function(a){this.C&&this.C.Nf(a)};
|
||||
function ll(a,b,c){var d,e,f=0,g=0;e=a.Y;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.da/a.Y.offsetWidth,k=a.pa/a.Y.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.xc)d=d/(a.da/3)|0,e=e/(a.pa/3)|0,1!=e?e?wk(a.C,1040,!0):wk(a.C,1038,!0):1!=d&&(d?wk(a.C,1039,!0):wk(a.C,1037,!0));else if(a.K){g=a.vc;f=b.timeStamp-a.sd;!0===c?(a.vc=500<f,a.sd=b.timeStamp,
|
||||
a.Gb=setTimeout(a.$d,500)):null!=a.Gb&&(clearTimeout(a.Gb),a.Gb=null);void 0===c&&(a.vc=!1);g||b.preventDefault();if(!1===c){a.oc?(a.K.je(ml,!1),a.oc=!1,b=!0):b=!1;if(b)return;if(200>f){a.K.je(ml,!0);a.K.je(ml,!1);return}}if(c||0>a.rb||0>a.ub)a.rb=d,a.ub=e;c=Math.round(d-a.rb);b=Math.round(e-a.ub);a.rb=d;a.ub=e;a.K.ng(c,b,a.rb,a.ub)}}l.Vb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Ub=function(a){return a?this.save():!0};
|
||||
l.reset=function(){var a=!0,b=0;this.P&&(b=+Zi(this.P,Fi,void 0));this.ca||(this.Ra=3==b?1:3);this.la=3;switch(this.Ra){case ek:b=7;break;case 5:var c=Lk[this.Bb];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.la=7;break;default:b=2}this.ma!==b&&(this.ma=b,a=!0);this.D=null;this.Z=this.Zb=new Uk(this,1);this.R=this.Cb=new Uk(this,3);5>this.Ra?this.B=new Uk:(this.B=new Uk(this,this.Ra,null,this.Wc),nl(this));ol(this);this.va=null;this.Ea=this.ia=-1;this.za=0;pl(this,this.la);if(this.D.cb&&a){a=this.D.cb+
|
||||
this.fb;for(b=this.D.cb;b<a;b+=2){var d=65536*Math.random()|0;4==this.ma||7==this.ma?(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);Mb(this.ha,b,c|d<<8)}kl(this,!0)}};function nl(a){a.B.gf&1?(a.Z=a.Zb,a.R=a.B):(a.Z=a.B,a.R=a.Cb)}l.save=function(){var a=new ce(this);C(a,0,$k(this.Zb));C(a,1,$k(this.Cb));C(a,2,[this.ma,this.la,this.va]);C(a,3,$k(this.B));return a.data()};
|
||||
l.restore=function(a){var b=a[2];this.ma=b[0];this.la=b[1];this.va=b[2];this.D=null;this.Z=this.Zb=new Uk(this,1,a[0]);this.R=this.Cb=new Uk(this,3,a[1]);this.B=new Uk(this,this.Ra,a[3],this.Wc);this.B.cc&&nl(this);ol(this);if(!ql(this))return!1;rl(this);return!0};
|
||||
l.reset=function(){var a=!0,b=0;this.P&&(b=+Zi(this.P,Fi,void 0));this.ca||(this.Ra=3==b?1:3);this.la=3;switch(this.Ra){case ek:b=7;break;case 5:var c=Lk[this.Bb];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.la=7;break;default:b=2}this.ma!==b&&(this.ma=b,a=!0);this.D=null;this.Z=this.Zb=new Uk(this,1);this.S=this.Cb=new Uk(this,3);5>this.Ra?this.B=new Uk:(this.B=new Uk(this,this.Ra,null,this.Wc),nl(this));ol(this);this.va=null;this.Ea=this.ia=-1;this.za=0;pl(this,this.la);if(this.D.cb&&a){a=this.D.cb+
|
||||
this.fb;for(b=this.D.cb;b<a;b+=2){var d=65536*Math.random()|0;4==this.ma||7==this.ma?(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);Mb(this.ha,b,c|d<<8)}kl(this,!0)}};function nl(a){a.B.gf&1?(a.Z=a.Zb,a.S=a.B):(a.Z=a.B,a.S=a.Cb)}l.save=function(){var a=new ce(this);C(a,0,$k(this.Zb));C(a,1,$k(this.Cb));C(a,2,[this.ma,this.la,this.va]);C(a,3,$k(this.B));return a.data()};
|
||||
l.restore=function(a){var b=a[2];this.ma=b[0];this.la=b[1];this.va=b[2];this.D=null;this.Z=this.Zb=new Uk(this,1,a[0]);this.S=this.Cb=new Uk(this,3,a[1]);this.B=new Uk(this,this.Ra,a[3],this.Wc);this.B.cc&&nl(this);ol(this);if(!ql(this))return!1;rl(this);return!0};
|
||||
function Jk(a,b,c,d){if(d)a.Ba("Unable to load font ROM (error "+d+": "+b+")");else{Sa(a.lf,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){n("Empty font ROM: "+b);return}if(1==f.length){n(f[0]);return}if(8192==f.length)dk(a,f,[6144,0]);else if(2048==f.length)dk(a,f,[0]);else{a.Ba("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Ba("Font ROM data error: "+g.message);return}(a.W||a.Ia)&&ab(a)}}
|
||||
function sl(a,b){if(1==b)return a.oa[0]=Ok[0],a.oa[1]=Ok[7],a.oa;if(2==b){var c=a.D.ff;if(a.D===a.B){var d=a.B.Kc[0],c=d&7;d&16&&(c|=8);18!=a.B.Kc[1]&&(c|=32)}a.oa[0]=Ok[c&15];c=c&32?Qk:Pk;for(d=0;d<c.length;d++)a.oa[d+1]=Ok[c[d]];return a.oa}if(a.R===a.Cb)return Ok;a.La&&b&&!a.oa[16]&&(a.La=!1);if(!a.La){var c=a.B,d=c.ze,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.oa[f]=[h,k,g,255];else{var m=d&&d[255];e=null!=c.Kc[15]?c.Kc:Rk;for(f=0;16>f;f++)g=e[f]&63,m?(g|=
|
||||
function sl(a,b){if(1==b)return a.oa[0]=Ok[0],a.oa[1]=Ok[7],a.oa;if(2==b){var c=a.D.ff;if(a.D===a.B){var d=a.B.Kc[0],c=d&7;d&16&&(c|=8);18!=a.B.Kc[1]&&(c|=32)}a.oa[0]=Ok[c&15];c=c&32?Qk:Pk;for(d=0;d<c.length;d++)a.oa[d+1]=Ok[c[d]];return a.oa}if(a.S===a.Cb)return Ok;a.La&&b&&!a.oa[16]&&(a.La=!1);if(!a.La){var c=a.B,d=c.ze,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.oa[f]=[h,k,g,255];else{var m=d&&d[255];e=null!=c.Kc[15]?c.Kc:Rk;for(f=0;16>f;f++)g=e[f]&63,m?(g|=
|
||||
(c.Kc[20]&12)<<4,c.Kc[16]&128&&(g&=-49,g|=(c.Kc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.oa[f]=[h,k,g,255]}a.La=!0}return a.oa}function dk(a,b,c,d){a.Ab=b;a.Xa=c;a.Ja=d}
|
||||
function ol(a,b){var c=!1;if(window&&a.Ab&&(!b||a.I)){var d=0,e=a.Ja?a.Ja:8,f=sl(a);null!=a.Xa[0]&&tl(a,3,a.Xa[0],d,e,8,a.Ab,f)&&(c=!0);d=a.Ja?0:2048;e=a.Ja?a.Ja:9;null!=a.Xa[1]&&(tl(a,1,a.Xa[1],d,e,14,a.Ab,Mk,Nk)&&(c=!0),a.Ja&&tl(a,a.Ra,a.Xa[1],0,a.Ja,14,a.Ab,f)&&(c=!0))}return c}function tl(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(ul(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Zd&&ul(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
|
||||
function ul(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,x=a.xa[b],r=16>h.length?h.length:16;x||(x={tc:e<<p,uc:f<<p,be:Array(r),Ch:h.slice(0,r),Ge:k,ag:Array(r)});for(k=0;k<r;k++){var z=h[k],E=x.be[k]?x.Ch[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var m=x,E=k,J=p,W=c,da=d,ua=e,va=f,qd=g,bn=[0,0,0,0],ue=document.createElement("canvas");ue.width=m.tc<<4;ue.height=m.uc<<4;for(var tj=ue.getContext("2d"),Ab=void 0,Oc=void 0,ac=void 0,ve=8>va||!da?va:8,Hf=tj.createImageData(m.tc,m.uc),Ab=0;256>Ab;Ab++){for(ac=
|
||||
0;ac<va;ac++)for(var cn=m.Ge&&E&1&&ac>=va-2,dn=qd[ac<ve?W+Ab*ve+ac:da+Ab*ve+ac-ve],If=0;If<=J;If++)for(Oc=0;Oc<ua;Oc++){var uj=Oc<<J,vj=(ac<<J)+If,wj=cn||dn&128>>(8<=Oc&&192<=Ab&&223>=Ab?7:Oc)?z:bn;vl(Hf,uj,vj,wj);J&&vl(Hf,uj+1,vj,wj)}tj.putImageData(Hf,(Ab&15)*m.tc,(Ab>>4)*m.uc)}m.be[E]="#"+ea(z[0],2)+ea(z[1],2)+ea(z[2],2);m.Ch[E]=z;m.ag[E]=ue;m=!0}}a.xa[b]=x;return m}function wl(a){0<a.za||0<=a.ia?0>a.Ea&&(a.Ea=0):a.Ea=-1}
|
||||
function rl(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.D.ab[b])return;var c=a.D.ab[10],b=c&31,d=a.D.ab[11]&31,e=a.D.ab[9]&31,f=!1;a.D===a.B&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)xl(a);else{c=a.D.ab[15]+((a.D.ab[14]&63)<<8);a.ia!=c&&(xl(a),a.ia=c);d=d-b+1;if(a.td!=b||a.Gc!=d)a.td=b,a.Gc=d;a.Da=e+1;wl(a)}}}
|
||||
function xl(a){if(0<=a.ia){if(void 0!==a.S){var b=a.S[a.ia];if(b&131072){var b=b&-131073,c=a.ia%a.H,d=a.ia/a.H|0;a.I&&a.xa[a.I]&&(a.Ga&&yl(a,c,d,b,a.Ga),yl(a,c,d,b));a.S[a.ia]=b}}a.ia=-1}}
|
||||
function xl(a){if(0<=a.ia){if(void 0!==a.R){var b=a.R[a.ia];if(b&131072){var b=b&-131073,c=a.ia%a.H,d=a.ia/a.H|0;a.I&&a.xa[a.I]&&(a.Ga&&yl(a,c,d,b,a.Ga),yl(a,c,d,b));a.R[a.ia]=b}}a.ia=-1}}
|
||||
function zl(a){var b,c=a.D;a.Zc=!1;var d=c.Hd[5];if(null!=d){b=1024;var e=0,f=c.Hd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Hc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ra==ek&&(e=3,c.Hc=f&7)}d&8&&(b=1280);c=c.Be[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Zc=!0));b|=e}return b}
|
||||
function Al(a,b){var c=a.D;return c&&null!=b&&b!=c.og?(c.Uf(b),a.ha.Uf(c.cb,c.Fb,c.lg(),!0),!0):!1}
|
||||
function ql(a,b){var c,d=a.va,e=a.D;if(e)if(1==e.Ra)d=7;else if(5<=e.Ra){var d=null,f=e.Wc>>2,g=32768<f?32768:f,h=e.Hd[6];if(null!=h){switch(h&12){case 0:e.cb=655360;e.Fb=f;d=255;break;case 4:e.cb=655360;e.Fb=f;d=3==a.ma?15:16;break;case 8:e.cb=720896;e.Fb=g;d=7;break;case 12:e.cb=753664,e.Fb=g,d=3==a.ma?2:3}c=80==(e.Hd[5]&80);!c||e.cb==a.cb&&e.Fb==a.Fb||(b=!0);var f=al(e,6),g=e.ab[9],k=e.ab[23],m=e.Be[1]&8;255!=d&&(h&1?655360==e.cb||c||k&1?e.Hd[5]&64?d=g&31?143>=e.ab[18]?19:20:21:g&128||350>f?d=
|
||||
m?13:14:480<=f&&(d=3==a.ma?17:18):d=m?7-d:6:d-=m?2:0);c=zl(a)}}else e.Lc&8&&(e.Lc&2?(d=e.Lc&16?6:5,e.Lc&4||--d):(d=e.Lc&1?3:1,e.Lc&4&&--d));else a.va=null,null==d&&(d=a.la);if(!pl(a,d,b))return!1;Al(a,c);return!0}
|
||||
function pl(a,b,c){if(null!=b&&(b!=a.va||c)){a.Id=0;a.va=b;a.La=!1;b=a.D||(7==b?a.Z:a.R);if(b!=a.D||b.cb!=a.cb||b.Fb!=a.Fb){xl(a);if(a.cb){if(!Fb(a.ha,a.cb,a.Fb))return!1;a.D&&(a.D.cc=!1)}a.D=b;b.cc=!0;a.cb=b.cb;a.Fb=b.Fb;if(!yb(a.ha,b.cb,b.Fb,3,b===a.B?b:null))return!1}a:{a.I=0;a.H=a.Nb;a.L=a.wc;a.Ta=a.H;a.Hb=Gk[7][2];b=0;if(c=Gk[a.va])a.H=c[0],a.L=c[1],a.Hb=c[2],b=c[3],a.I=c[4],4!=a.ma&&7!=a.ma||a.D!==a.B||3!=a.I||(7==(a.B.ab[9]&31)?a.L=350>al(a.B,18)?43:50:a.I=a.Ra);a.pd=a.H*a.L|0;a.od=a.pd/a.Hb|
|
||||
function pl(a,b,c){if(null!=b&&(b!=a.va||c)){a.Id=0;a.va=b;a.La=!1;b=a.D||(7==b?a.Z:a.S);if(b!=a.D||b.cb!=a.cb||b.Fb!=a.Fb){xl(a);if(a.cb){if(!Fb(a.ha,a.cb,a.Fb))return!1;a.D&&(a.D.cc=!1)}a.D=b;b.cc=!0;a.cb=b.cb;a.Fb=b.Fb;if(!yb(a.ha,b.cb,b.Fb,3,b===a.B?b:null))return!1}a:{a.I=0;a.H=a.Nb;a.L=a.wc;a.Ta=a.H;a.Hb=Gk[7][2];b=0;if(c=Gk[a.va])a.H=c[0],a.L=c[1],a.Hb=c[2],b=c[3],a.I=c[4],4!=a.ma&&7!=a.ma||a.D!==a.B||3!=a.I||(7==(a.B.ab[9]&31)?a.L=350>al(a.B,18)?43:50:a.I=a.Ra);a.pd=a.H*a.L|0;a.od=a.pd/a.Hb|
|
||||
0;a.fb=a.od;a.fc=0;void 0!==b&&(a.fb=(a.fb<<1)+b|0,a.fc=a.fb+b>>1);if(a.xa.length){a.ra=a.da/a.H|0;a.ua=a.pa/a.L|0;if(a.I){b=a.xa[a.I];if(!b)break a;c=a.xa[a.I<<1];a.dd&&80==a.H?c&&a.ra>=3*c.tc>>2&&(a.I<<=1,b=c):(c&&a.ra>=c.tc&&(a.I<<=1,b=c),a.dd||(a.ra=b.tc,a.ua=b.uc));a.pb=a.qb=0;b&&(a.pb=a.H*b.tc,a.qb=a.L*b.uc)}else a.ra=a.ua=1,a.pb=a.H,a.qb=a.L;a.Oa=a.W.createImageData(a.pb,a.qb);a.Fa=document.createElement("canvas");a.Fa.width=a.pb;a.Fa.height=a.qb;a.Ga=a.Fa.getContext("2d");a.yc=a.zc=0;a.ic=
|
||||
a.da;a.mc=a.pa;b=a.da-a.H*a.ra;c=a.pa-a.L*a.ua;0<b&&(a.yc=b>>1,a.ic-=b);0<c&&(a.zc=c>>1,a.mc-=c);if(b||c)a.W.fillStyle=a.Y.style.backgroundColor,a.W.fillRect(0,0,a.da,a.pa)}}Bl(a,!0);kl(a)}return!0}function vl(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Cl(a){a.za=-1;a.qa=!1;var b=a.od;if(void 0===a.S||a.S.length!=b)a.S=Array(b)}function Bl(a,b){b||(a.La=!1);Cl(a)}
|
||||
a.da;a.mc=a.pa;b=a.da-a.H*a.ra;c=a.pa-a.L*a.ua;0<b&&(a.yc=b>>1,a.ic-=b);0<c&&(a.zc=c>>1,a.mc-=c);if(b||c)a.W.fillStyle=a.Y.style.backgroundColor,a.W.fillRect(0,0,a.da,a.pa)}}Bl(a,!0);kl(a)}return!0}function vl(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Cl(a){a.za=-1;a.qa=!1;var b=a.od;if(void 0===a.R||a.R.length!=b)a.R=Array(b)}function Bl(a,b){b||(a.La=!1);Cl(a)}
|
||||
function yl(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.xa[a.I];h.Ge&&(d=h.Ge[d]);var k=g>>4&15;h.Ge&&(k=h.Ge[k]);e?(b*=h.tc,c*=h.uc,e.fillStyle=h.be[k],e.fillRect(b,c,h.tc,h.uc)):(b=b*a.ra+a.yc,c=c*a.ua+a.zc,a.W.fillStyle=h.be[k],a.W.fillRect(b,c,a.ra,a.ua));g&256&&(k=(f&15)*h.tc,f=(f>>4)*h.uc,e?e.drawImage(h.ag[d],k,f,h.tc,h.uc,b,c,h.tc,h.uc):a.W.drawImage(h.ag[d],k,f,h.tc,h.uc,b,c,a.ra,a.ua));g&512&&(f=a.td,g=a.Gc,e?(a.Da&&a.Da!==h.uc&&(f=f*h.uc/a.Da|0,g=g*h.uc/a.Da|0),e.fillStyle=h.be[d],e.fillRect(b,
|
||||
c+f,h.tc,g)):(a.Da&&a.Da!==a.ua&&(f=f*a.ua/a.Da|0,g=g*a.ua/a.Da|0),a.W.fillStyle=h.be[d],a.W.fillRect(b,c+f,a.ra,g)))}
|
||||
function kl(a,b){if(a.ea.Rb){var c=!1,d=a.D;d&&(d!==a.B?d.Lc&8&&(c=!0):d.Ud&32&&(c=!0));if(c||b){if(b)Cl(a);else if(void 0===a.S)return;var e=!1;!(b||++a.Id&15)&&0<=a.Ea&&(a.Ea++,e=!0);var f=0,g=a.pd,h=a.cb,c=h,k=c+a.Fb;19<=a.va&&(h=c=655360,k=c+65536);if(Dl(a,d)&8||d.xe&&d.xe<d.gh){var m=(d.ab[12]<<8)+d.ab[13]|0;d.ed!==m&&(d.ed=m,Bl(a));d.xe=0}m=d.ed;a.I&&(m<<=1);var c=c+m,p=a.fb;5<=a.Ra&&d.ab[19]&&d.ab[19]<<1!=d.ab[1]+1&&(a.Ta=d.ab[19]<<(a.I?1:d.ab[20]&64?3:4),p=(a.Ta*(a.L-1)+a.H)/a.Hb|0,7>=a.va&&
|
||||
(p<<=1));c+p>k&&(p=k-c,0>p&&(p=0));k=c+p;if(m=!b&&a.qa){for(var m=a.ha,x=!0,r=c>>>m.da;0<p&&r<m.R.length;)m.R[r].Ha&&(m.R[r].Ha=x=!1,m.R[r].Ph=!0),p-=m.vb,r++;m=x}if(m){if(!e)return;if(!a.za){f=a.ia-d.ed;if(0>f)return;g=f+1}}if(a.I){if(a.xa[a.I]){d=f;f=0;e=a.za=0;h=1048575;p=a.D.Lc&32;5<=a.Ra&&(p=a.D.Kc[16]&8);m=a.ia-a.D.ed;p&&(e=32768,h&=~e,a.Ea&2||(h&=-65537));for(c+=d<<1;c<k&&d<g;)p=Lb(a.ha,c),p|=65536,p&e&&(a.za++,p&=h),d==m&&(p|=a.Ea&1?131072:0),a.qa&&p===a.S[d]||(yl(a,d%a.H,d/a.H|0,p,a.Ga),
|
||||
a.S[d]=p,f++),c+=2,d++;a.qa=!0;f&&a.Ga&&a.W.drawImage(a.Fa,0,0,a.pb,a.qb,a.yc,a.zc,a.ic,a.mc);wl(a)}}else if(a.fc){for(var g=k,z,k=c,d=a.za=0,f=a.Hb,e=16==f?65536:196608,h=16==f?1:2,m=sl(a,h),x=p=0,r=a.H,E=0,J=a.L,W=0;k<g;){z=Lb(a.ha,k);if(a.qa&&z===a.S[d])p+=f;else{a.S[d]=z;z=z>>8|(z&255)<<8;var da=e,ua=16;p<r&&(r=p);for(var va=0;va<f;va++){var qd=(z&(da>>=h))>>(ua-=h);vl(a.Oa,p++,x,m[qd])}p>E&&(E=p);x<J&&(J=x);x>=W&&(W=x+1)}k+=2;d++;if(p>=a.H){p=0;x+=2;if(x>a.L)break;x==a.L&&(x=1,k=c+a.fc)}}a.qa=
|
||||
!0;r<a.H&&(a.Ga.putImageData(a.Oa,0,0,r,J,E-r,W-J),a.W.drawImage(a.Fa,0,0,a.H,a.L,0,0,a.da,a.pa))}else if(a.Zc){g=h;f=a.za=0;e=sl(a,8);h=a.D.ud;p=m=0;x=a.H;r=0;E=a.L;J=0;W=a.D.Be[4]&8?4:1;z=a.D.Kc[19]&15;for(da=a.Ta>a.H?a.Ta-a.H-z>>3:0;c<k;){d=h[c-g];va=4;z||(a.qa&&d===a.S[f]?(m+=va,va=0):a.S[f]=d,f++);if(va){m<x&&(x=m);for(ua=0;ua<va;ua++)vl(a.Oa,m++,p,e[d&255]),d>>=8;m>r&&(r=m);p<E&&(E=p);p>=J&&(J=p+1)}c+=W;if(m>=a.H){m=0;if(++p>a.L)break;c+=da}}z||(a.qa=!0);x<a.H&&(a.Ga.putImageData(a.Oa,0,0,x,
|
||||
E,r-x,J-E),a.W.drawImage(a.Fa,0,0,a.H,a.L,0,0,a.da,a.pa))}else{g=h;d=a.za=0;f=sl(a);e=a.D.ud;m=h=0;p=a.H;x=0;r=a.L;E=0;J=a.D.Kc[19]&15;for(W=a.Ta>a.H?a.Ta-a.H-J>>3:0;c<k;){z=c++-g;z=e[z];ua=8;J?h?(da=a.H-h,ua>da&&(ua=da)):(z<<=J,ua-=J,a.qa=!1):(a.qa&&z===a.S[d]?(h+=ua,ua=0):a.S[d]=z,d++);if(ua){h<p&&(p=h);for(da=0;da<ua;da++)va=Tk[z&2155905152]||0,vl(a.Oa,h++,m,f[va]),z<<=1;h>x&&(x=h);m<r&&(r=m);m>=E&&(E=m+1)}if(h>=a.H){h=0;if(++m>a.L)break;c+=W}}J||(a.qa=!0);p<a.H&&(a.Ga.putImageData(a.Oa,0,0,p,
|
||||
function kl(a,b){if(a.ea.Rb){var c=!1,d=a.D;d&&(d!==a.B?d.Lc&8&&(c=!0):d.Ud&32&&(c=!0));if(c||b){if(b)Cl(a);else if(void 0===a.R)return;var e=!1;!(b||++a.Id&15)&&0<=a.Ea&&(a.Ea++,e=!0);var f=0,g=a.pd,h=a.cb,c=h,k=c+a.Fb;19<=a.va&&(h=c=655360,k=c+65536);if(Dl(a,d)&8||d.xe&&d.xe<d.gh){var m=(d.ab[12]<<8)+d.ab[13]|0;d.ed!==m&&(d.ed=m,Bl(a));d.xe=0}m=d.ed;a.I&&(m<<=1);var c=c+m,p=a.fb;5<=a.Ra&&d.ab[19]&&d.ab[19]<<1!=d.ab[1]+1&&(a.Ta=d.ab[19]<<(a.I?1:d.ab[20]&64?3:4),p=(a.Ta*(a.L-1)+a.H)/a.Hb|0,7>=a.va&&
|
||||
(p<<=1));c+p>k&&(p=k-c,0>p&&(p=0));k=c+p;if(m=!b&&a.qa){for(var m=a.ha,x=!0,r=c>>>m.da;0<p&&r<m.S.length;)m.S[r].Ha&&(m.S[r].Ha=x=!1,m.S[r].Ph=!0),p-=m.xb,r++;m=x}if(m){if(!e)return;if(!a.za){f=a.ia-d.ed;if(0>f)return;g=f+1}}if(a.I){if(a.xa[a.I]){d=f;f=0;e=a.za=0;h=1048575;p=a.D.Lc&32;5<=a.Ra&&(p=a.D.Kc[16]&8);m=a.ia-a.D.ed;p&&(e=32768,h&=~e,a.Ea&2||(h&=-65537));for(c+=d<<1;c<k&&d<g;)p=Lb(a.ha,c),p|=65536,p&e&&(a.za++,p&=h),d==m&&(p|=a.Ea&1?131072:0),a.qa&&p===a.R[d]||(yl(a,d%a.H,d/a.H|0,p,a.Ga),
|
||||
a.R[d]=p,f++),c+=2,d++;a.qa=!0;f&&a.Ga&&a.W.drawImage(a.Fa,0,0,a.pb,a.qb,a.yc,a.zc,a.ic,a.mc);wl(a)}}else if(a.fc){for(var g=k,z,k=c,d=a.za=0,f=a.Hb,e=16==f?65536:196608,h=16==f?1:2,m=sl(a,h),x=p=0,r=a.H,E=0,J=a.L,W=0;k<g;){z=Lb(a.ha,k);if(a.qa&&z===a.R[d])p+=f;else{a.R[d]=z;z=z>>8|(z&255)<<8;var da=e,ua=16;p<r&&(r=p);for(var va=0;va<f;va++){var qd=(z&(da>>=h))>>(ua-=h);vl(a.Oa,p++,x,m[qd])}p>E&&(E=p);x<J&&(J=x);x>=W&&(W=x+1)}k+=2;d++;if(p>=a.H){p=0;x+=2;if(x>a.L)break;x==a.L&&(x=1,k=c+a.fc)}}a.qa=
|
||||
!0;r<a.H&&(a.Ga.putImageData(a.Oa,0,0,r,J,E-r,W-J),a.W.drawImage(a.Fa,0,0,a.H,a.L,0,0,a.da,a.pa))}else if(a.Zc){g=h;f=a.za=0;e=sl(a,8);h=a.D.ud;p=m=0;x=a.H;r=0;E=a.L;J=0;W=a.D.Be[4]&8?4:1;z=a.D.Kc[19]&15;for(da=a.Ta>a.H?a.Ta-a.H-z>>3:0;c<k;){d=h[c-g];va=4;z||(a.qa&&d===a.R[f]?(m+=va,va=0):a.R[f]=d,f++);if(va){m<x&&(x=m);for(ua=0;ua<va;ua++)vl(a.Oa,m++,p,e[d&255]),d>>=8;m>r&&(r=m);p<E&&(E=p);p>=J&&(J=p+1)}c+=W;if(m>=a.H){m=0;if(++p>a.L)break;c+=da}}z||(a.qa=!0);x<a.H&&(a.Ga.putImageData(a.Oa,0,0,x,
|
||||
E,r-x,J-E),a.W.drawImage(a.Fa,0,0,a.H,a.L,0,0,a.da,a.pa))}else{g=h;d=a.za=0;f=sl(a);e=a.D.ud;m=h=0;p=a.H;x=0;r=a.L;E=0;J=a.D.Kc[19]&15;for(W=a.Ta>a.H?a.Ta-a.H-J>>3:0;c<k;){z=c++-g;z=e[z];ua=8;J?h?(da=a.H-h,ua>da&&(ua=da)):(z<<=J,ua-=J,a.qa=!1):(a.qa&&z===a.R[d]?(h+=ua,ua=0):a.R[d]=z,d++);if(ua){h<p&&(p=h);for(da=0;da<ua;da++)va=Tk[z&2155905152]||0,vl(a.Oa,h++,m,f[va]),z<<=1;h>x&&(x=h);m<r&&(r=m);m>=E&&(E=m+1)}if(h>=a.H){h=0;if(++m>a.L)break;c+=W}}J||(a.qa=!0);p<a.H&&(a.Ga.putImageData(a.Oa,0,0,p,
|
||||
r,x-p,E-r),a.W.drawImage(a.Fa,0,0,a.H,a.L,0,0,a.da,a.pa))}}}}function Dl(a,b){var c=0,d=tc(a.A)-b.wg;0>d&&(b.wg=d,d=-d|0);d%b.sg>b.Wk&&(c|=1);d%b.vg>b.Yk&&(c|=9);b.gh=d/b.vg|0;return c}l.xk=function(){var a=this.Z,b;a.cc&&(b=a.sc);return b};l.Ll=function(a,b){var c=this.Z;c.Qf=c.sc;c.sc=b&31};l.wk=function(){return El(this.Z)};l.Kl=function(a,b){Fl(this,this.Z,b)};l.yk=function(){return this.Z.Lc};l.Ml=function(a,b){this.Z.Lc=b;ql(this,!1)};l.zk=function(){return Gl(this,this.Z)};
|
||||
l.dj=function(a,b){this.B.Sf=this.B.Sf&-4|b&3};l.Vj=function(){return this.B.Ud};l.wj=function(){return this.B.Kc[this.B.Ud&31]};l.cj=function(a,b){var c=this.B,d=c.Ud&32;if(c.Ke){c.Ke=!1;var e=c.Ud&31;if(16<=e||!d)c.Kc[e]=b,Bl(this,!1)}else c.Ud=b,c.Ke=!0,b&32&&!d&&ol(this,!0)&&kl(this,!0),d=(c.ab[12]<<8)+c.ab[13]|0,c.ed!=d&&(c.ed=d,Bl(this)),c.xe=0};
|
||||
l.Jk=function(){var a=0;if(5==this.Ra)a=3-((this.B.gf&12)>>2),a=(this.Bb&1<<a)<<4-a;else{var b=this.B.ze[0];45!=(b&63)&&2880!=(b&4032)&&184320!=(b&258048)&&(a|=16)}a|=this.B.kh&-17;return this.B.kh=a};l.Nl=function(a,b){this.B.gf=b;nl(this)};l.Kk=function(){return this.B.lh};l.Vl=function(a,b){this.B.lh=b};l.Hk=function(){return this.B.Ce};l.Tl=function(a,b){this.B.Ce=b};l.Gk=function(){return this.B.Be[this.B.Ce]};
|
||||
l.Sl=function(a,b){this.B.Be[this.B.Ce]=b;switch(this.B.Ce){case 2:this.B.$a=Sk[b&15];break;case 4:Al(this,zl(this))&&kl(this,!0)}};l.hk=function(){return this.B.jh};l.ul=function(a,b){this.B.jh=b};l.ik=function(){return this.B.Rf};l.vl=function(a,b){this.B.fd=b;this.B.Rf=3;this.B.Bc=0};l.wl=function(a,b){this.B.fd=b;this.B.Rf=0;this.B.Bc=0};l.gk=function(){var a=this.B.ze[this.B.fd]>>this.B.Bc&63;this.B.Bc+=6;12<this.B.Bc&&(this.B.Bc=0,this.B.fd=this.B.fd+1&255);return a};
|
||||
l.tl=function(a,b){var c=this.B.ze[this.B.fd],d=c&~(63<<this.B.Bc)|(b&63)<<this.B.Bc;c!==d&&(this.B.ze[this.B.fd]=d,Bl(this,!1));this.B.Bc+=6;12<this.B.Bc&&(this.B.Bc=0,this.B.fd=this.B.fd+1&255)};l.Lk=function(){return this.B.Sf};l.Gl=function(a,b){this.B.hj=b};l.Mk=function(){return this.B.gf};l.Fl=function(a,b){this.B.gj=b};l.qk=function(){return this.B.Ae};l.El=function(a,b){this.B.Ae=b};l.pk=function(){return this.B.Hd[this.B.Ae]};
|
||||
l.Dl=function(a,b){this.B.Hd[this.B.Ae]=b;switch(this.B.Ae){case 0:this.B.af=Sk[b&15];this.B.Dd=this.B.af&~this.B.nd;break;case 1:this.B.nd=~Sk[b&15];this.B.Dd=this.B.af&~this.B.nd;break;case 2:this.B.qg=Sk[b&15]&-2139062144;break;case 3:case 5:Al(this,zl(this));break;case 4:this.B.fh=(b&3)<<3;break;case 6:ql(this,!1);break;case 7:this.B.rg=Sk[b&15]&-2139062144;break;case 8:this.B.tb=b|b<<8|b<<16|b<<24}};l.ak=function(){var a=this.R,b;a.cc&&(b=a.sc);return b};
|
||||
l.ol=function(a,b){var c=this.R;c.Qf=c.sc;c.sc=b&31};l.$j=function(){return El(this.R)};l.nl=function(a,b){Fl(this,this.R,b)};l.bk=function(){return this.R.Lc};l.pl=function(a,b){this.R.Lc=b;ql(this,!1)};l.Zj=function(){return this.R.ff};l.ml=function(a,b){this.R.ff!==b&&(this.R.ff=b,Bl(this,!1))};l.ck=function(){return Gl(this,this.R)};function El(a){var b;a.cc&&a.sc<a.pg&&(b=a.ab[a.sc]);return b}
|
||||
l.Dl=function(a,b){this.B.Hd[this.B.Ae]=b;switch(this.B.Ae){case 0:this.B.af=Sk[b&15];this.B.Dd=this.B.af&~this.B.nd;break;case 1:this.B.nd=~Sk[b&15];this.B.Dd=this.B.af&~this.B.nd;break;case 2:this.B.qg=Sk[b&15]&-2139062144;break;case 3:case 5:Al(this,zl(this));break;case 4:this.B.fh=(b&3)<<3;break;case 6:ql(this,!1);break;case 7:this.B.rg=Sk[b&15]&-2139062144;break;case 8:this.B.tb=b|b<<8|b<<16|b<<24}};l.ak=function(){var a=this.S,b;a.cc&&(b=a.sc);return b};
|
||||
l.ol=function(a,b){var c=this.S;c.Qf=c.sc;c.sc=b&31};l.$j=function(){return El(this.S)};l.nl=function(a,b){Fl(this,this.S,b)};l.bk=function(){return this.S.Lc};l.pl=function(a,b){this.S.Lc=b;ql(this,!1)};l.Zj=function(){return this.S.ff};l.ml=function(a,b){this.S.ff!==b&&(this.S.ff=b,Bl(this,!1))};l.ck=function(){return Gl(this,this.S)};function El(a){var b;a.cc&&a.sc<a.pg&&(b=a.ab[a.sc]);return b}
|
||||
function Fl(a,b,c){if(b.sc<b.pg){b.ab[b.sc]=c;if(12==b.sc||13==b.sc)if(Dl(a,b)&1){var d=(b.ab[12]<<8)+b.ab[13]|0;b.ed!==d&&(b.ed=d,Bl(a))}else b.xe||(b.xe=b.gh);(9==b.sc&&8!=b.Qf||18==b.sc&&223==c)&&ql(a,!0);rl(a)}}function Gl(a,b){var c=Dl(a,b);b===a.B?(c|=b.aa&48^48,b.Ke=!1):c=(b.aa^=9)|240;return b.aa=c}
|
||||
var bl={948:Y.prototype.xk,949:Y.prototype.wk,952:Y.prototype.yk,954:Y.prototype.zk},cl={948:Y.prototype.Ll,949:Y.prototype.Kl,952:Y.prototype.Ml},dl={980:Y.prototype.ak,981:Y.prototype.$j,984:Y.prototype.bk,985:Y.prototype.Zj,986:Y.prototype.ck},el={980:Y.prototype.ol,981:Y.prototype.nl,984:Y.prototype.pl,985:Y.prototype.ml},fl={960:Y.prototype.Vj,961:Y.prototype.wj,962:Y.prototype.Jk,964:Y.prototype.Hk,965:Y.prototype.Gk,974:Y.prototype.qk,975:Y.prototype.pk},gl={954:Y.prototype.dj,960:Y.prototype.cj,
|
||||
961:Y.prototype.cj,962:Y.prototype.Nl,964:Y.prototype.Tl,965:Y.prototype.Sl,970:Y.prototype.Gl,972:Y.prototype.Fl,974:Y.prototype.El,975:Y.prototype.Dl,986:Y.prototype.dj},hl={963:Y.prototype.Kk,966:Y.prototype.hk,967:Y.prototype.ik,969:Y.prototype.gk,970:Y.prototype.Lk,972:Y.prototype.Mk},il={963:Y.prototype.Vl,966:Y.prototype.ul,967:Y.prototype.vl,968:Y.prototype.wl,969:Y.prototype.tl};
|
||||
|
|
@ -507,21 +507,21 @@ l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.P=kb(a,"ChipSet");Nb(b,
|
|||
function Ll(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.H=b[c++];a.Db=b[c++];a.Ie=b[c];return!0}l.jk=function(){return this.H};l.Ik=function(){return this.Db};l.fk=function(){return this.Ie};
|
||||
l.xl=function(a,b){this.H=b;this.Db|=64;var c;if(this.B)8==b?this.B.value=this.B.value.slice(0,-1):(this.B.value+=String.fromCharCode(b),this.B.scrollTop=this.B.scrollHeight),c=!0;else if(null!=this.C){if(10==b||1024<=this.C.length)this.rc(this.C),this.C="";10!=b&&(this.C+=String.fromCharCode(b));c=!0}else c=!1;c&&(this.Db&=-65);Ml(this)};l.sl=function(a,b){this.Ie=b;Ml(this)};function Ml(a){a.P&&a.D&&(a.Ie&16&&!(a.Db&64)?Te(a.P,a.D):Se(a.P,a.D))}
|
||||
var Jl={0:Hl.prototype.jk,1:Hl.prototype.Ik,2:Hl.prototype.fk},Kl={0:Hl.prototype.xl,2:Hl.prototype.sl};Ea(function(){for(var a=Za(document,"pcjs","parallel"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Hl(d);Ya(d,c)}});
|
||||
function Nl(a){this.da=a.adapter;switch(this.da){case 1:this.Y=1016;this.S=4;break;case 2:this.Y=760;this.S=3;break;default:n("Unrecognized serial adapter #"+this.da);return}this.D=this.H=null;this.oa=a.tabSize;this.ma=a.charBOL;this.L=0;Ia.call(this,"SerialPort",a,Nl);a=a.binding;"console"==a?this.H="":Xa(this,a,Ol)}Qa(Nl);var Ol="buffer";l=Nl.prototype;l.Eh=function(a,b){return a==this.jf?(this.K=b,this):null};
|
||||
function Nl(a){this.da=a.adapter;switch(this.da){case 1:this.Y=1016;this.R=4;break;case 2:this.Y=760;this.R=3;break;default:n("Unrecognized serial adapter #"+this.da);return}this.D=this.H=null;this.oa=a.tabSize;this.ma=a.charBOL;this.L=0;Ia.call(this,"SerialPort",a,Nl);a=a.binding;"console"==a?this.H="":Xa(this,a,Ol)}Qa(Nl);var Ol="buffer";l=Nl.prototype;l.Eh=function(a,b){return a==this.jf?(this.K=b,this):null};
|
||||
l.zb=function(a,b,c){var d=this;switch(b){case Ol:return this.ka[b]=this.D=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),Pl(d,[b]);return!0},c.onkeypress=function(a){a=a||window.event;Pl(d,[a.which||a.keyCode]);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.P=kb(a,"ChipSet");Nb(b,this,Ql,this.Y);Pb(b,this,Rl,this.Y);ab(this)};l.Vb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){Sl(this)};l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Z;c[b++]=this.la;c[b++]=this.R;c[b++]=this.W;c[b++]=this.G;c[b++]=this.I;c[b++]=this.C;c[b++]=this.B;c[b++]=this.ia;c[b]=this.ba;C(a,0,c);return a.data()};
|
||||
l.restore=function(a){return Sl(this,a[0])};function Sl(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.Z=b[c++];a.la=b[c++];a.R=b[c++];a.W=b[c++];a.G=b[c++];a.I=b[c++];a.C=b[c++];a.B=b[c++];a.ia=b[c++];a.ba=b[c];return!0}function Pl(a,b){a.ba=a.ba.concat(b);Tl(a)}function Tl(a){0<a.ba.length&&!(a.B&1)&&(a.Z=a.ba.shift(),a.B|=1);var b=-1;a.B&1&&a.W&1&&(b=4);0<=b?(a.G&=-8,a.G|=b,a.P&&a.S&&Te(a.P,a.S,100)):(a.G|=1,a.P&&a.S&&Se(a.P,a.S))}
|
||||
l.Fk=function(){var a=this.I&128?this.R&255:this.Z;this.B&=-2;Tl(this);return a};l.rk=function(){return this.I&128?this.R>>8:this.W};l.sk=function(){return this.G};l.tk=function(){return this.I};l.vk=function(){return this.C};l.uk=function(){return this.B};l.Ak=function(){return this.ia};
|
||||
l.Ul=function(a,b){if(this.I&128)this.R=this.R&-256|b;else{this.la=b;this.B&=-97;var c;if(this.D){if(13==b)this.L=0;else if(8==b)this.D.value=this.D.value.slice(0,-1),0<this.L&&this.L--;else{c=String.fromCharCode(b);var d=32<=b?1:0;9==b&&(d=this.oa||8,d=d-this.L%d,this.oa&&(c=" ".slice(0,d)));this.ma&&!this.L&&d&&(c=String.fromCharCode(this.ma)+c);this.D.value+=c;this.D.scrollTop=this.D.scrollHeight;this.L+=d}c=!0}else if(null!=this.H){if(10==b||1024<=this.H.length)this.rc(this.H),
|
||||
this.H="";10!=b&&(this.H+=String.fromCharCode(b));c=!0}else c=!1;c&&(this.B|=96)}};l.Hl=function(a,b){this.I&128?this.R=this.R&255|b<<8:this.W=b};l.Il=function(a,b){this.I=b};l.Jl=function(a,b){var c=this.C;this.C=b;if(this.K&&(c^b)&3){var c=this.K,d=this.C,e=3==(d&3);if(e){if(!c.cc){var f=!1;c.C&2||(c.reset(),f=!0);c.C&1||(f=!0);f&&Pl(c.G,[77,77]);Ul(c);c.cc=e}}else c.cc&&(Vl(c),c.cc=e);c.C=d}};
|
||||
var Ql={0:Nl.prototype.Fk,1:Nl.prototype.rk,2:Nl.prototype.sk,3:Nl.prototype.tk,4:Nl.prototype.vk,5:Nl.prototype.uk,6:Nl.prototype.Ak},Rl={0:Nl.prototype.Ul,1:Nl.prototype.Hl,3:Nl.prototype.Il,4:Nl.prototype.Jl};Ea(function(){for(var a=Za(document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Nl(d);Ya(d,c)}});function Wl(a){Ia.call(this,"Mouse",a,Wl);if(this.Y=a.serial)this.Z="SerialPort";this.W=this.S=this.cc=!1;this.D=[];this.B=[];ab(this)}Qa(Wl);var ml=0;l=Wl.prototype;
|
||||
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.P=kb(a,"ChipSet");Nb(b,this,Ql,this.Y);Pb(b,this,Rl,this.Y);ab(this)};l.Vb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){Sl(this)};l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Z;c[b++]=this.la;c[b++]=this.S;c[b++]=this.W;c[b++]=this.G;c[b++]=this.I;c[b++]=this.C;c[b++]=this.B;c[b++]=this.ia;c[b]=this.ba;C(a,0,c);return a.data()};
|
||||
l.restore=function(a){return Sl(this,a[0])};function Sl(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.Z=b[c++];a.la=b[c++];a.S=b[c++];a.W=b[c++];a.G=b[c++];a.I=b[c++];a.C=b[c++];a.B=b[c++];a.ia=b[c++];a.ba=b[c];return!0}function Pl(a,b){a.ba=a.ba.concat(b);Tl(a)}function Tl(a){0<a.ba.length&&!(a.B&1)&&(a.Z=a.ba.shift(),a.B|=1);var b=-1;a.B&1&&a.W&1&&(b=4);0<=b?(a.G&=-8,a.G|=b,a.P&&a.R&&Te(a.P,a.R,100)):(a.G|=1,a.P&&a.R&&Se(a.P,a.R))}
|
||||
l.Fk=function(){var a=this.I&128?this.S&255:this.Z;this.B&=-2;Tl(this);return a};l.rk=function(){return this.I&128?this.S>>8:this.W};l.sk=function(){return this.G};l.tk=function(){return this.I};l.vk=function(){return this.C};l.uk=function(){return this.B};l.Ak=function(){return this.ia};
|
||||
l.Ul=function(a,b){if(this.I&128)this.S=this.S&-256|b;else{this.la=b;this.B&=-97;var c;if(this.D){if(13==b)this.L=0;else if(8==b)this.D.value=this.D.value.slice(0,-1),0<this.L&&this.L--;else{c=String.fromCharCode(b);var d=32<=b?1:0;9==b&&(d=this.oa||8,d=d-this.L%d,this.oa&&(c=" ".slice(0,d)));this.ma&&!this.L&&d&&(c=String.fromCharCode(this.ma)+c);this.D.value+=c;this.D.scrollTop=this.D.scrollHeight;this.L+=d}c=!0}else if(null!=this.H){if(10==b||1024<=this.H.length)this.rc(this.H),
|
||||
this.H="";10!=b&&(this.H+=String.fromCharCode(b));c=!0}else c=!1;c&&(this.B|=96)}};l.Hl=function(a,b){this.I&128?this.S=this.S&255|b<<8:this.W=b};l.Il=function(a,b){this.I=b};l.Jl=function(a,b){var c=this.C;this.C=b;if(this.K&&(c^b)&3){var c=this.K,d=this.C,e=3==(d&3);if(e){if(!c.cc){var f=!1;c.C&2||(c.reset(),f=!0);c.C&1||(f=!0);f&&Pl(c.G,[77,77]);Ul(c);c.cc=e}}else c.cc&&(Vl(c),c.cc=e);c.C=d}};
|
||||
var Ql={0:Nl.prototype.Fk,1:Nl.prototype.rk,2:Nl.prototype.sk,3:Nl.prototype.tk,4:Nl.prototype.vk,5:Nl.prototype.uk,6:Nl.prototype.Ak},Rl={0:Nl.prototype.Ul,1:Nl.prototype.Hl,3:Nl.prototype.Il,4:Nl.prototype.Jl};Ea(function(){for(var a=Za(document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Nl(d);Ya(d,c)}});function Wl(a){Ia.call(this,"Mouse",a,Wl);if(this.Y=a.serial)this.Z="SerialPort";this.W=this.R=this.cc=!1;this.D=[];this.B=[];ab(this)}Qa(Wl);var ml=0;l=Wl.prototype;
|
||||
l.pc=function(a,b,c,d){this.ba=a;this.ha=b;this.A=c;this.Ia=d;for(b=null;b=kb(a,"Video",b);)this.D.push(b)};l.Vb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Z&&!this.G){for(var c=null;(c=kb(this.ba,this.Z,c))&&(!c.Eh||!(this.G=c.Eh(this.Y,this))););if(this.G)for(this.B=[],c=0;c<this.D.length;c++){var d;d=this.D[c];d.K=this;(d=d.G)&&this.B.push(d)}else n(this.id+": "+this.Z+" "+this.Y+" unavailable")}this.cc?Ul(this):Vl(this)}return!0};
|
||||
l.Ub=function(a){return a?this.save():!0};l.reset=function(){Xl(this)};l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.cc;c[b++]=this.H;c[b++]=this.I;c[b++]=this.K;c[b++]=this.L;c[b++]=this.P;c[b++]=this.R;c[b]=this.C;C(a,0,c);return a.data()};l.restore=function(a){return Xl(this,a[0])};function Xl(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.cc=d;a.H=b[c++];a.I=b[c++];a.K=b[c++];a.L=b[c++];a.P=b[c++];a.R=b[c++];a.C=b[c];return!0}l.bf=function(a){this.S=a};
|
||||
l.Ub=function(a){return a?this.save():!0};l.reset=function(){Xl(this)};l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.cc;c[b++]=this.H;c[b++]=this.I;c[b++]=this.K;c[b++]=this.L;c[b++]=this.P;c[b++]=this.S;c[b]=this.C;C(a,0,c);return a.data()};l.restore=function(a){return Xl(this,a[0])};function Xl(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.cc=d;a.H=b[c++];a.I=b[c++];a.K=b[c++];a.L=b[c++];a.P=b[c++];a.S=b[c++];a.C=b[c];return!0}l.bf=function(a){this.R=a};
|
||||
function Ul(a){if(!a.W)for(var b=0;b<a.B.length;b++)Yl(a,a.B[b])&&(a.W=!0)}function Vl(a){if(a.W)for(var b=0;b<a.B.length;b++){var c=a.B[b];c&&(c.style.cursor="auto")}}function Yl(a,b){return b?(b.addEventListener("mousemove",function(b){Zl(a,b)},!1),b.addEventListener("mousedown",function(b){Zl(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Zl(a,b,!1)},!1),b.style.cursor="none",!0):!1}
|
||||
function Zl(a,b,c){if(void 0!==c){var d;!(d=!1!==a.S)&&(d=a.D.length)&&(d=a.D[0],d=d.Yd?d.Pd(!0):!1);d||(a.S=null);a.je(b.button,c)}else{if(0>a.H||0>a.I)a.H=b.clientX,a.I=b.clientY;a.S?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.H,d=b.clientY-a.I);a.H=b.clientX;a.I=b.clientY;a.ng(c,d,a.H,a.I)}}
|
||||
l.je=function(a,b){if(this.cc&&this.A&&this.A.ea.Sb)switch(a){case ml:if(this.P!=b){this.P=b;$l(this);break}break;case 2:this.R!=b&&(this.R=b,$l(this))}};l.ng=function(a,b){this.cc&&this.A&&this.A.ea.Sb&&(a||b)&&(this.K=a,this.L=b,$l(this))};function $l(a){Pl(a.G,[64|(a.P?32:0)|(a.R?16:0)|(a.L&192)>>4|(a.K&192)>>6,a.K&63,a.L&63]);a.K=a.L=0}Ea(function(){for(var a=Za(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Wl(d);Ya(d,c)}});
|
||||
function am(a,b,c){Ia.call(this,"Disk",{id:a.lf+".disk"+ea(++bm,4)},am);this.controller=a;this.ba=a.ba;this.Ia=a.Ia;this.C=b;this.B=b.name;this.oe=b.oe;this.Af=this.D=!1;cm(this,c,b.ib,b.jb,b.eb,b.nb);this.I=[];this.P=[];this.G=null;this.S=0;this.R=!1;ab(this)}var bm=0;Qa(am);l=am.prototype;l.pc=function(a,b,c,d){this.Ia=d};l.Vb=function(a,b){b||!this.Af||this.D||(ab(this,!1),this.load(this.B,this.H,null,this.Gj,this));return!0};l.Gj=function(){ab(this,!0)};
|
||||
l.Ub=function(a,b){if(this.D){var c,d=0;if(this.R&&!ra("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=dm(this,!1);)if(d=c[0]){this.controller.Ba('Unable to save "'+this.B+'" (error '+d+")");break}b&&this.D&&(c="action=close&volume="+this.H,c+="&machine="+this.controller.se(),c+="&user="+this.controller.Ad(),pa(qa()+"/api/v1/disk?"+c,null,!0),this.D=!1);!d&&a&&this.controller.Ba(this.B+" saved")}return!0};
|
||||
function Zl(a,b,c){if(void 0!==c){var d;!(d=!1!==a.R)&&(d=a.D.length)&&(d=a.D[0],d=d.Yd?d.Pd(!0):!1);d||(a.R=null);a.je(b.button,c)}else{if(0>a.H||0>a.I)a.H=b.clientX,a.I=b.clientY;a.R?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.H,d=b.clientY-a.I);a.H=b.clientX;a.I=b.clientY;a.ng(c,d,a.H,a.I)}}
|
||||
l.je=function(a,b){if(this.cc&&this.A&&this.A.ea.Sb)switch(a){case ml:if(this.P!=b){this.P=b;$l(this);break}break;case 2:this.S!=b&&(this.S=b,$l(this))}};l.ng=function(a,b){this.cc&&this.A&&this.A.ea.Sb&&(a||b)&&(this.K=a,this.L=b,$l(this))};function $l(a){Pl(a.G,[64|(a.P?32:0)|(a.S?16:0)|(a.L&192)>>4|(a.K&192)>>6,a.K&63,a.L&63]);a.K=a.L=0}Ea(function(){for(var a=Za(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Wl(d);Ya(d,c)}});
|
||||
function am(a,b,c){Ia.call(this,"Disk",{id:a.lf+".disk"+ea(++bm,4)},am);this.controller=a;this.ba=a.ba;this.Ia=a.Ia;this.C=b;this.B=b.name;this.oe=b.oe;this.Af=this.D=!1;cm(this,c,b.ib,b.jb,b.eb,b.nb);this.I=[];this.P=[];this.G=null;this.R=0;this.S=!1;ab(this)}var bm=0;Qa(am);l=am.prototype;l.pc=function(a,b,c,d){this.Ia=d};l.Vb=function(a,b){b||!this.Af||this.D||(ab(this,!1),this.load(this.B,this.H,null,this.Gj,this));return!0};l.Gj=function(){ab(this,!0)};
|
||||
l.Ub=function(a,b){if(this.D){var c,d=0;if(this.S&&!ra("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=dm(this,!1);)if(d=c[0]){this.controller.Ba('Unable to save "'+this.B+'" (error '+d+")");break}b&&this.D&&(c="action=close&volume="+this.H,c+="&machine="+this.controller.se(),c+="&user="+this.controller.Ad(),pa(qa()+"/api/v1/disk?"+c,null,!0),this.D=!1);!d&&a&&this.controller.Ba(this.B+" saved")}return!0};
|
||||
function cm(a,b,c,d,e,f){a.mode=b;a.ib=c;a.jb=d;a.eb=e;a.nb=f;a.A=[];if("preload"!=a.mode){b=Array(a.ib);for(c=0;c<b.length;c++){d=Array(a.jb);for(e=0;e<d.length;e++){f=Array(a.eb);for(var g=1;g<=f.length;g++)f[g-1]=em(null,c,e,g,a.nb,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.L=null}
|
||||
l.load=function(a,b,c,d,e){var f=b;if(this.K)return!0;this.B=a;this.H=b;this.nh=fa(b);var g=this;this.K=d;this.ha=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.ib=d[0];g.jb=d[1];g.eb=d[2];g.nb=512;b=g.nb>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.ib);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.jb),E=0;E<f.length;E++)for(var J=f[E]=Array(g.eb),W=0;W<J.length;W++){for(var da=em(null,c,E,W+1,g.nb,0),ua=da.data,va=0;va<
|
||||
b;va++,e+=4)var qd=ua[va]=a.getInt32(e,!0),d=d+qd&-1;da.Dc=b;J[W]=da}g.L=d;b=g}else g.Ba("Unrecognized diskette format ("+c+" bytes)");g.K&&(g.K.call(g.controller,g.C,b,g.B,g.H),g.K=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=fm(this,b),this.Af=!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"):
|
||||
|
|
@ -531,10 +531,10 @@ c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":')
|
|||
m<<2,E=r.length;E<z;E++)r[E]=p;hm(k,r,0)}else x=[],p=k.pattern=p|p<<8|p<<16|p<<24,k.data=x;delete k.bytes}em(k,d,f);for(z=0;z<x.length;z++)c=c+x[z]&-1}a.A=h;a.L=c;e=a}else n("Empty disk image: "+a.B)}catch(J){n("Disk image error ("+b+"): "+J.message)}}a.K&&(a.K.call(a.ha,a.C,e,a.B,a.H),a.K=null)}function im(a,b){var c=a.jb*a.eb,d=b/c|0;return d<a.ib?(c=b%c,a.seek(d,c/a.eb|0,c%a.eb+1)):null}function jm(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
|
||||
function em(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Jj=b;a.Kj=c;a.Uc=a.Dc=0;a.Ha=!1;return a}function fm(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.ib+":"+a.jb+":"+a.eb+":"+a.nb;c+="&machine="+a.controller.se();c+="&user="+a.controller.Ad();return qa()+"/api/v1/disk?"+c}
|
||||
function km(a,b,c,d,e,f,g){if(a.D){var h;h="action=read&volume="+a.H;h+="&chs="+a.ib+":"+a.jb+":"+a.eb+":"+a.nb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.se());h+="&user="+a.controller.Ad();pa(qa()+"/api/v1/disk?"+h,null,f,function(h,m,p){h=[b,c,d,e,f,g];var x=!1,r=h[0],z=h[1],E=h[2],J=h[3];if(!p){m=JSON.parse(m);for(x=0;J--;){var W=a.seek(r,z,E,!0);if(!W)break;hm(W,m,x);x+=W.length;E++}x=h[4]}(h=h[5])&&h(p,x)})}else g&&g(-1,!1)}
|
||||
function lm(a,b,c,d,e,f,g){if(a.D){var h={};a.R=!0;h.action="write";h.volume=a.H;h.chs=a.ib+":"+a.jb+":"+a.eb+":"+a.nb;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.se();h.user=a.controller.Ad();h.data=JSON.stringify(f);pa(qa()+"/api/v1/disk",h,g,function(f,h,p){var x=[b,c,d,e,g];f=x[0];h=x[1];var r=x[2],z=x[3],x=x[4];a.R=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(r=r-1;0<z--&&0<=r&&r<a.A[f][h].length;r++){var E=a.A[f][h][r];p?mm(a,E,!1):E.Ha||(E.Uc=E.Dc=0)}x&&nm(a)})}return!1}
|
||||
function mm(a,b,c){b.Ha=!0;var d=a.I.indexOf(b);0<=d&&(a.I.splice(d,1),a.P.splice(d,1));a.I.push(b);a.P.push(ka());c&&nm(a)}function nm(a){if(a.I.length){var b=a.P[0]+2E3;a.G&&a.S<b&&(clearTimeout(a.G),a.G=null);if(!a.G){var c=ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.G=setTimeout(function(){dm(a,!0)},b);a.S=c+b}}else a.G&&(clearTimeout(a.G),a.G=null)}
|
||||
function lm(a,b,c,d,e,f,g){if(a.D){var h={};a.S=!0;h.action="write";h.volume=a.H;h.chs=a.ib+":"+a.jb+":"+a.eb+":"+a.nb;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.se();h.user=a.controller.Ad();h.data=JSON.stringify(f);pa(qa()+"/api/v1/disk",h,g,function(f,h,p){var x=[b,c,d,e,g];f=x[0];h=x[1];var r=x[2],z=x[3],x=x[4];a.S=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(r=r-1;0<z--&&0<=r&&r<a.A[f][h].length;r++){var E=a.A[f][h][r];p?mm(a,E,!1):E.Ha||(E.Uc=E.Dc=0)}x&&nm(a)})}return!1}
|
||||
function mm(a,b,c){b.Ha=!0;var d=a.I.indexOf(b);0<=d&&(a.I.splice(d,1),a.P.splice(d,1));a.I.push(b);a.P.push(ka());c&&nm(a)}function nm(a){if(a.I.length){var b=a.P[0]+2E3;a.G&&a.R<b&&(clearTimeout(a.G),a.G=null);if(!a.G){var c=ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.G=setTimeout(function(){dm(a,!0)},b);a.R=c+b}}else a.G&&(clearTimeout(a.G),a.G=null)}
|
||||
function dm(a,b){b&&(a.G=null);var c=a.I[0];if(c){for(var d=c.Jj,e=c.Kj,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var k=a.A[d][e][h];if(!k.Ha)break;var m=a.I.indexOf(k);a.I.splice(m,1);a.P.splice(m,1);g=g.concat(om(k));k.Ha=!1;f++}d=lm(a,d,e,c,f,g,b);return b||d}return!1}l.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
|
||||
l.seek=function(a,b,c,d,e){var f=null,g=this.C,h=this.A[a];if(h){var k=h[b];if(!k&&g.cg&&b<g.jb)for(k=h[b]=Array(g.xd),h=0;h<k.length;h++)k[h]=em(null,a,b,h+1,g.wb,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;km(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.cg&&9==g.mb&&(f=k[h]=em(null,a,b,g.mb,g.wb,0))}}e&&e(f,!1);return f};
|
||||
l.seek=function(a,b,c,d,e){var f=null,g=this.C,h=this.A[a];if(h){var k=h[b];if(!k&&g.cg&&b<g.jb)for(k=h[b]=Array(g.xd),h=0;h<k.length;h++)k[h]=em(null,a,b,h+1,g.vb,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;km(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.cg&&9==g.mb&&(f=k[h]=em(null,a,b,g.mb,g.vb,0))}}e&&e(f,!1);return f};
|
||||
function hm(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 om(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}l.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};
|
||||
l.write=function(a,b,c){if(this.re)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){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.Dc?f<a.Uc?(a.Dc+=a.Uc-f,a.Uc=f):f>=a.Uc+a.Dc&&(a.Dc+=f-(a.Uc+a.Dc)+1):(a.Uc=f,a.Dc=1);d[f]=d[f]&~(255<<b)|c<<b;this.D&&mm(this,a,!0)}return!0}return null};function pm(a){for(var b="",c=0,d;d=im(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(jm(a,d,e));return btoa(b)}
|
||||
l.save=function(){var a=0,b=[];b[a++]=[this.H,this.L,this.ib,this.jb,this.eb,this.nb];if(!this.D&&!this.re)for(var c=this.A,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.Dc){for(var h=[],k=0,m=g.Uc,p=g.Uc+g.Dc;m<p;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.Uc,h]}}return b};
|
||||
|
|
@ -548,63 +548,63 @@ void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};retu
|
|||
(a=a.ta)?(a=za(pm(a),"octet-stream",!0,a.nh.replace(".json",".img")),n(a)):d.Ba("No diskette loaded in drive."):d.Ba("No diskette drive selected."))};return!0;case "mountDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[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;um(d,fa(b,!0),b,a)}return!1};return!0}return!1};
|
||||
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;this.P=kb(a,"ChipSet");if((this.K=jc(this.ba,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}vm(this);Nb(b,this,wm);Pb(b,this,xm);ym(this,"None","",!0);this.Y&&ym(this,"Local Disk","?");ym(this,"Remote Disk","??");zm(this)||ab(this)};
|
||||
l.Vb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ba.jg){this.C=[];for(var c=0;c<this.B.length;c++)Am(this,c,!0);zm(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ka.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.Z;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Z&&(c.value="0",tm(this,0))}}return!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){vm(this)};
|
||||
l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.aa;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.S;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,p=[];p[m++]=k.kb;p[m++]=[k.name,k.ib,k.jb,k.eb,k.nb,k.oe,k.Hf,k.Ue,k.Ve];p[m++]=k.Ya;p[m++]=k.wd+100;p[m++]=k.xb;p[m++]=k.mb;p[m++]=k.xd;p[m++]=k.wb;p[m++]=k.Ua;p[m++]=k.me;p[m++]=k.ij;p[m]=k.Vd;f[h]=p}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ta&&Bm(this,f.Vd,f.ta);c[d]=this.C;
|
||||
l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.aa;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.R;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,p=[];p[m++]=k.kb;p[m++]=[k.name,k.ib,k.jb,k.eb,k.nb,k.oe,k.Hf,k.Ue,k.Ve];p[m++]=k.Ya;p[m++]=k.wd+100;p[m++]=k.wb;p[m++]=k.mb;p[m++]=k.xd;p[m++]=k.vb;p[m++]=k.Ua;p[m++]=k.me;p[m++]=k.ij;p[m]=k.Vd;f[h]=p}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ta&&Bm(this,f.Vd,f.ta);c[d]=this.C;
|
||||
c[b++]=this.L;c[b]=this.H;C(a,0,c);return a.data()};l.restore=function(a){return vm(this,a[0])};
|
||||
function vm(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Qa=b[c++];c++;a.aa=b[c++];a.I=b[c++];a.G=b[c++];a.D=b[c++];a.S=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.C=d);void 0===a.B&&(a.Z=4,a.P&&(a.Z=+Zi(a.P,Ei,void 0)),a.B=Array(4));for(d=0;d<a.B.length;d++){var g=a.B[d];if(void 0===g){var g=a.B[d]={},h;if(a.P)a:{h=a.P;if(d<+Zi(h,Ei,void 0)){if(!h.Y){h=360;break a}if(d<h.Y.length){h=h.Y[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.jb=1;default:g.ib=40;g.eb=9;break;case 720:g.ib=
|
||||
80;g.eb=9;break;case 1200:g.ib=80;g.eb=15;break;case 1440:g.ib=80,g.eb=18}}var k=a,m=d,p=f[d],x=0;h=!0;g.Qa=m;g.Qc=g.me=!1;void 0===p&&(p=[192,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=["Floppy Drive",g.ib||40,g.jb||p[3],g.eb||9,g.nb||512,p[1],g.Hf,g.Ue,g.Ve]);g.kb=p[x++];var r=p[x++];g.name=r[0];g.ib=r[1];g.jb=r[2];g.eb=r[3];g.nb=r[4];g.oe=r[5];(g.Hf=r[6])?(g.Ue=r[7],g.Ve=r[8]):(g.Hf=g.ib,g.Ue=g.jb,g.Ve=g.eb);g.Ya=p[x++];g.wd=p[x++];g.xb=p[x++];g.wd=100<=g.wd?g.wd-100:g.wd-g.xb;g.mb=p[x++];g.xd=p[x++];
|
||||
g.wb=p[x++];g.Ua=p[x++];g.Wa=null;g.ta||(g.Vd="");r=p[x++];102==r&&(r=!1);if("boolean"==typeof r){var z=r,r=p[x++],p=p[x];z?(x=r,r=k.B[m],Am(k,m,!0,!0),r.me=!0,m=new am(k,r,"preload"),k.Mh(r,m,x,p,!0)):Cm(k,m,r,p,!0)?g.ta&&p&&Dm(k,r,p,g.ta):ab(k,!1)}else void 0!==r&&g.ta&&0>g.ta.restore(r)&&(h=!1);h&&g.ta&&void 0!==g.Ua&&(g.Wa=g.ta.seek(g.xb,g.Ya,g.mb));h||(e=!1)}a.L=b[c++]||0;a.H=b[c]||0;return e}
|
||||
function zm(a,b){b||(a.R=0);if(a.K)for(var c in a.K){var d=a.K[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.ka.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.B.length)){!Cm(a,g,f,e,!0)&&b&&ab(a,!1);continue}a.Ba("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.R}
|
||||
function vm(a,b){var c=0,d,e=!0;void 0===b&&(b=[0,0,128,Array(9),0,0,0,[]]);a.Qa=b[c++];c++;a.aa=b[c++];a.I=b[c++];a.G=b[c++];a.D=b[c++];a.R=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.C=d);void 0===a.B&&(a.Z=4,a.P&&(a.Z=+Zi(a.P,Ei,void 0)),a.B=Array(4));for(d=0;d<a.B.length;d++){var g=a.B[d];if(void 0===g){var g=a.B[d]={},h;if(a.P)a:{h=a.P;if(d<+Zi(h,Ei,void 0)){if(!h.Y){h=360;break a}if(d<h.Y.length){h=h.Y[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.jb=1;default:g.ib=40;g.eb=9;break;case 720:g.ib=
|
||||
80;g.eb=9;break;case 1200:g.ib=80;g.eb=15;break;case 1440:g.ib=80,g.eb=18}}var k=a,m=d,p=f[d],x=0;h=!0;g.Qa=m;g.Qc=g.me=!1;void 0===p&&(p=[192,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=["Floppy Drive",g.ib||40,g.jb||p[3],g.eb||9,g.nb||512,p[1],g.Hf,g.Ue,g.Ve]);g.kb=p[x++];var r=p[x++];g.name=r[0];g.ib=r[1];g.jb=r[2];g.eb=r[3];g.nb=r[4];g.oe=r[5];(g.Hf=r[6])?(g.Ue=r[7],g.Ve=r[8]):(g.Hf=g.ib,g.Ue=g.jb,g.Ve=g.eb);g.Ya=p[x++];g.wd=p[x++];g.wb=p[x++];g.wd=100<=g.wd?g.wd-100:g.wd-g.wb;g.mb=p[x++];g.xd=p[x++];
|
||||
g.vb=p[x++];g.Ua=p[x++];g.Wa=null;g.ta||(g.Vd="");r=p[x++];102==r&&(r=!1);if("boolean"==typeof r){var z=r,r=p[x++],p=p[x];z?(x=r,r=k.B[m],Am(k,m,!0,!0),r.me=!0,m=new am(k,r,"preload"),k.Mh(r,m,x,p,!0)):Cm(k,m,r,p,!0)?g.ta&&p&&Dm(k,r,p,g.ta):ab(k,!1)}else void 0!==r&&g.ta&&0>g.ta.restore(r)&&(h=!1);h&&g.ta&&void 0!==g.Ua&&(g.Wa=g.ta.seek(g.wb,g.Ya,g.mb));h||(e=!1)}a.L=b[c++]||0;a.H=b[c]||0;return e}
|
||||
function zm(a,b){b||(a.S=0);if(a.K)for(var c in a.K){var d=a.K[c],e=d.path,f;if(!(f=d.name))a:{if((f=a.ka.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=fa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.B.length)){!Cm(a,g,f,e,!0)&&b&&ab(a,!1);continue}a.Ba("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.S}
|
||||
function um(a,b,c,d){var e,f=a.ka.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ba('Use "Choose File" and "Mount" 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)}for(;0>Cm(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.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}Am(a,
|
||||
e,!1,!0)}}else Am(a,e);else a.Ba("Unable to load the selected drive")}function Cm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Vd!=d){Am(a,b,e,!0);if(g.Qc)return a.Ba("Drive "+b+" busy"),0;g.Qc=!0;e&&(g.Nd=!0,a.R++);g.me=!!f;return(new am(a,g,"preload")).load(c,d,f,a.Mh)?1:0}return-1}
|
||||
l.Mh=function(a,b,c,d,e){var f;a.Qc=!1;b&&(f=b.info(),b&&f[0]>a.ib||f[1]>a.jb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ta=b,a.ij=c,a.Vd=d,Dm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Nd||e),a.Hf=f[0],a.Ue=f[1],a.Ve=f[2],this.ba&&uc(this.ba)):a.me=!1;a.Nd&&(a.Nd=!1,--this.R||ab(this));tm(this,a.Qa)};
|
||||
e,!1,!0)}}else Am(a,e);else a.Ba("Unable to load the selected drive")}function Cm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Vd!=d){Am(a,b,e,!0);if(g.Qc)return a.Ba("Drive "+b+" busy"),0;g.Qc=!0;e&&(g.Nd=!0,a.S++);g.me=!!f;return(new am(a,g,"preload")).load(c,d,f,a.Mh)?1:0}return-1}
|
||||
l.Mh=function(a,b,c,d,e){var f;a.Qc=!1;b&&(f=b.info(),b&&f[0]>a.ib||f[1]>a.jb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ta=b,a.ij=c,a.Vd=d,Dm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Nd||e),a.Hf=f[0],a.Ue=f[1],a.Ve=f[2],this.ba&&uc(this.ba)):a.me=!1;a.Nd&&(a.Nd=!1,--this.S||ab(this));tm(this,a.Qa)};
|
||||
function ym(a,b,c,d){if((a=a.ka.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||
function tm(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.ka.listDisks,e=a.ka.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.me?"?":c.Vd,!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 Am(a,b,c,d){var e=a.B[b];e.ta&&(Bm(a,e.Vd,e.ta),e.ij="",e.Vd="",e.ta=null,e.me=!1,a.L|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tm(a,b))}
|
||||
function Dm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Bm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.Al=function(a,b){b&4?this.S&4||this.S&8&&this.P&&Te(this.P,6):vm(this);this.S=b};l.lk=function(){return 80};l.nk=function(){return this.aa};l.kk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.S&8&&this.P&&Se(this.P,6);++this.G>=this.D&&(this.aa&=-81,this.G=this.D=0);return a};
|
||||
l.zl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==sm[c]&&this.D>=sm[c].jd){var d=!1;this.G=0;var c=Em(this),e,f,g,h,k,m=c&31;switch(m){case 3:Em(this);Em(this);Fm(this);break;case 4:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];Fm(this);Gm(this,(e.kb&-16777216)>>>24);break;case 5:case 6:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.xb=Em(this);g=Em(this);h=e.mb=Em(this);k=Em(this);e.wb=128<<k;e.xd=Em(this);Em(this);Em(this);6==m?(m=e,m.kb=72,m.ta&&
|
||||
(m.Wa=null,m.kb=0,this.P&&(Cj(this.P,2,this,"dmaRead",m),yj(this.P,2)))):(m=e,m.kb=72,m.ta&&(m.ta.re?m.kb=576:(m.Wa=null,m.kb=0,this.P&&(Cj(this.P,2,this,"dmaWrite",m),yj(this.P,2)))));Hm(this,e,c,d,f,g,h,k);d=!0;break;case 7:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];e.xb=e.wd=0;e.kb=268435488;Fm(this);d=!0;break;case 8:e=this.B[this.Qa];e.Ya=0;Fm(this);Gm(this,e.Qa|e.Ya<<2|e.kb&255);Gm(this,e.xb);this.Qa=this.Qa+1&3;break;case 10:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.xb;g=e.Ya=d;h=
|
||||
e.mb=1;k=0;e.kb=0;e.ta&&(e.Wa=e.ta.seek(e.xb,e.Ya,e.mb))?k=e.Wa.length>>8:e.kb=72;Hm(this,e,c,d,f,g,h,k);d=!0;break;case 13:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.xb;g=e.Ya=d;h=1;k=Em(this);e.wb=128<<k;e.xd=Em(this);Em(this);e.Fh=Em(this);m=e;m.kb=72;m.ta&&(m.Wa=null,m.kb=0,this.P&&(m.ie=0,m.Pc=Array(4),m.cg=!0,m.vf=0,Cj(this.P,2,this,"dmaFormat",m),yj(this.P,2),m.cg=!1));Hm(this,e,c,d,f,g,h,k);d=!0;break;case 15:f=Em(this),this.Qa=f&3,e=this.B[this.Qa],e.Ya=f>>2&1,f=Em(this),e.xb+=
|
||||
f-e.wd,0>e.xb&&(e.xb=0),e.xb>=e.ib&&(e.xb=e.ib-1),e.wd=f,e.kb=32,e.xb||(e.kb|=268435456),Fm(this),d=!0}0<this.D&&(this.aa|=80);this.S&8&&(!e||e.kb&8||!d||this.P&&Te(this.P,6))}};l.mk=function(){var a=this.L;this.L&=-129;return a};l.yl=function(a,b){this.H=b};function Hm(a,b,c,d,e,f,g,h){Fm(a);Gm(a,b.Qa|b.Ya<<2|b.kb&255);Gm(a,(b.kb&65280)>>>8);Gm(a,(b.kb&16711680)>>>16);var k=0;if(e!=b.xb||f!=b.Ya)k=g=1;c&128&&(f^=k,d||(k=0));Gm(a,e+k);Gm(a,f);Gm(a,g);Gm(a,h)}
|
||||
function Em(a){var b=a.I[a.G];a.G++;return b}function Fm(a){a.G=a.D=0}function Gm(a,b){a.I[a.D++]=b}l.qj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.kb&&a.ta){do{if(a.Wa&&(e=a.Ua,0<=(b=a.ta.read(a.Wa,a.Ua++)))){d=a.Wa;break}a.Wa=a.ta.seek(a.xb,a.Ya,a.mb);if(!a.Wa){a.kb=1088;break}a.Ua=0;Im(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.rj=function(a,b){return void 0!==b&&0<=b?Jm(a,b):-1};
|
||||
l.Cj=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.kb)c=-1;else{a.Pc[a.ie++]=c;if(a.ie==a.Pc.length){a.xb=a.Pc[0];a.Ya=a.Pc[1];a.mb=a.Pc[2];a.wb=128<<a.Pc[3];for(var d=a.ie=0;d<a.wb;d++)if(0>Jm(a,a.Fh)){c=-1;break a}a.vf++}a.vf>=a.xd&&(c=-1)}else c=-1;return c};function Jm(a,b){if(a.kb||!a.ta)return-1;do{if(a.Wa&&a.ta.write(a.Wa,a.Ua++,b))break;a.Wa=a.ta.seek(a.xb,a.Ya,a.mb);if(!a.Wa){a.kb=8256;b=-1;break}a.Ua=0;Im(a)}while(1);return b}
|
||||
function Im(a){a.mb++;a.mb>=a.Ve+1&&(a.mb=1,a.Ya++,a.Ya>=a.Ue&&(a.Ya=0,a.xb++))}var wm={1009:rm.prototype.lk,1012:rm.prototype.nk,1013:rm.prototype.kk,1015:rm.prototype.mk},xm={1010:rm.prototype.Al,1013:rm.prototype.zl,1015:rm.prototype.yl};Ea(function(){for(var a=Za(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new rm(d);Ya(d,c)}});
|
||||
function Dm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Bm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.Al=function(a,b){b&4?this.R&4||this.R&8&&this.P&&Te(this.P,6):vm(this);this.R=b};l.lk=function(){return 80};l.nk=function(){return this.aa};l.kk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.R&8&&this.P&&Se(this.P,6);++this.G>=this.D&&(this.aa&=-81,this.G=this.D=0);return a};
|
||||
l.zl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==sm[c]&&this.D>=sm[c].jd){var d=!1;this.G=0;var c=Em(this),e,f,g,h,k,m=c&31;switch(m){case 3:Em(this);Em(this);Fm(this);break;case 4:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];Fm(this);Gm(this,(e.kb&-16777216)>>>24);break;case 5:case 6:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.wb=Em(this);g=Em(this);h=e.mb=Em(this);k=Em(this);e.vb=128<<k;e.xd=Em(this);Em(this);Em(this);6==m?(m=e,m.kb=72,m.ta&&
|
||||
(m.Wa=null,m.kb=0,this.P&&(Cj(this.P,2,this,"dmaRead",m),yj(this.P,2)))):(m=e,m.kb=72,m.ta&&(m.ta.re?m.kb=576:(m.Wa=null,m.kb=0,this.P&&(Cj(this.P,2,this,"dmaWrite",m),yj(this.P,2)))));Hm(this,e,c,d,f,g,h,k);d=!0;break;case 7:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];e.wb=e.wd=0;e.kb=268435488;Fm(this);d=!0;break;case 8:e=this.B[this.Qa];e.Ya=0;Fm(this);Gm(this,e.Qa|e.Ya<<2|e.kb&255);Gm(this,e.wb);this.Qa=this.Qa+1&3;break;case 10:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.wb;g=e.Ya=d;h=
|
||||
e.mb=1;k=0;e.kb=0;e.ta&&(e.Wa=e.ta.seek(e.wb,e.Ya,e.mb))?k=e.Wa.length>>8:e.kb=72;Hm(this,e,c,d,f,g,h,k);d=!0;break;case 13:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];f=e.wb;g=e.Ya=d;h=1;k=Em(this);e.vb=128<<k;e.xd=Em(this);Em(this);e.Fh=Em(this);m=e;m.kb=72;m.ta&&(m.Wa=null,m.kb=0,this.P&&(m.ie=0,m.Pc=Array(4),m.cg=!0,m.vf=0,Cj(this.P,2,this,"dmaFormat",m),yj(this.P,2),m.cg=!1));Hm(this,e,c,d,f,g,h,k);d=!0;break;case 15:f=Em(this),this.Qa=f&3,e=this.B[this.Qa],e.Ya=f>>2&1,f=Em(this),e.wb+=
|
||||
f-e.wd,0>e.wb&&(e.wb=0),e.wb>=e.ib&&(e.wb=e.ib-1),e.wd=f,e.kb=32,e.wb||(e.kb|=268435456),Fm(this),d=!0}0<this.D&&(this.aa|=80);this.R&8&&(!e||e.kb&8||!d||this.P&&Te(this.P,6))}};l.mk=function(){var a=this.L;this.L&=-129;return a};l.yl=function(a,b){this.H=b};function Hm(a,b,c,d,e,f,g,h){Fm(a);Gm(a,b.Qa|b.Ya<<2|b.kb&255);Gm(a,(b.kb&65280)>>>8);Gm(a,(b.kb&16711680)>>>16);var k=0;if(e!=b.wb||f!=b.Ya)k=g=1;c&128&&(f^=k,d||(k=0));Gm(a,e+k);Gm(a,f);Gm(a,g);Gm(a,h)}
|
||||
function Em(a){var b=a.I[a.G];a.G++;return b}function Fm(a){a.G=a.D=0}function Gm(a,b){a.I[a.D++]=b}l.qj=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.kb&&a.ta){do{if(a.Wa&&(e=a.Ua,0<=(b=a.ta.read(a.Wa,a.Ua++)))){d=a.Wa;break}a.Wa=a.ta.seek(a.wb,a.Ya,a.mb);if(!a.Wa){a.kb=1088;break}a.Ua=0;Im(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};l.rj=function(a,b){return void 0!==b&&0<=b?Jm(a,b):-1};
|
||||
l.Cj=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.kb)c=-1;else{a.Pc[a.ie++]=c;if(a.ie==a.Pc.length){a.wb=a.Pc[0];a.Ya=a.Pc[1];a.mb=a.Pc[2];a.vb=128<<a.Pc[3];for(var d=a.ie=0;d<a.vb;d++)if(0>Jm(a,a.Fh)){c=-1;break a}a.vf++}a.vf>=a.xd&&(c=-1)}else c=-1;return c};function Jm(a,b){if(a.kb||!a.ta)return-1;do{if(a.Wa&&a.ta.write(a.Wa,a.Ua++,b))break;a.Wa=a.ta.seek(a.wb,a.Ya,a.mb);if(!a.Wa){a.kb=8256;b=-1;break}a.Ua=0;Im(a)}while(1);return b}
|
||||
function Im(a){a.mb++;a.mb>=a.Ve+1&&(a.mb=1,a.Ya++,a.Ya>=a.Ue&&(a.Ya=0,a.wb++))}var wm={1009:rm.prototype.lk,1012:rm.prototype.nk,1013:rm.prototype.kk,1015:rm.prototype.mk},xm={1010:rm.prototype.Al,1013:rm.prototype.zl,1015:rm.prototype.yl};Ea(function(){for(var a=Za(document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new rm(d);Ya(d,c)}});
|
||||
function Z(a){Ia.call(this,"HDC",a,Z);this.dmaRead=this.sj;this.dmaWrite=this.tj;this.dmaWriteBuffer=this.Dj;this.dmaWriteFormat=this.Ej;this.ia=[];this.qa=a.drives;this.W="at"==a.type}Qa(Z);
|
||||
var Km=["XTC","ATC","COMPAQ"],Lm=[{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],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
|
||||
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];l=Z.prototype;
|
||||
l.zb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.ka[b]=c,c.onclick=function(a){return function(){var b=d.B&&d.B[a];b&&b.ta?(b=b.ta,b=za(pm(b),"octet-stream",!0,b.nh.replace(".json",".img")),n(b)):d.Ba("Hard disk "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
|
||||
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;if(d=jc(a,"drives"))this.ia=d;else if(this.qa)try{this.ia=eval("("+this.qa+")")}catch(e){n("HDC drive configuration error: "+e.message+" ("+this.qa+")")}this.P=kb(a,"ChipSet");this.H=0;this.ra=3;Nb(b,this,this.W?Mm:Nm);Pb(b,this,this.W?Om:Pm);this.W&&(this.H++,this.P&&5180==this.P.ca&&this.H++,this.ra=2,b.P[496]=2,b.S[496]=2);Zd(c,19,this.Rk.bind(this));Zd(c,64,this.Sk.bind(this));this.reset();Qm(this)||ab(this)};
|
||||
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;if(d=jc(a,"drives"))this.ia=d;else if(this.qa)try{this.ia=eval("("+this.qa+")")}catch(e){n("HDC drive configuration error: "+e.message+" ("+this.qa+")")}this.P=kb(a,"ChipSet");this.H=0;this.ra=3;Nb(b,this,this.W?Mm:Nm);Pb(b,this,this.W?Om:Pm);this.W&&(this.H++,this.P&&5180==this.P.ca&&this.H++,this.ra=2,b.P[496]=2,b.R[496]=2);Zd(c,19,this.Rk.bind(this));Zd(c,64,this.Sk.bind(this));this.reset();Qm(this)||ab(this)};
|
||||
l.Vb=function(a,b){if(!b)if(!a||!this.restore)Rm(this),this.ba.jg&&Qm(this,!0);else if(!this.restore(a))return!1;return!0};l.Ub=function(a){return a?this.save():!0};l.se=function(){return this.ba?this.ba.se():""};l.Ad=function(){return this.ba?this.ba.Ad():""};l.reset=function(){Rm(this,null,!0)};
|
||||
l.save=function(){var a=new ce(this),b=0,c=[];this.W?(c[b++]=this.K,c[b++]=this.za,c[b++]=this.L,c[b++]=this.oa,c[b++]=this.ma,c[b++]=this.la,c[b++]=this.Z,c[b++]=this.aa,c[b++]=this.pa,c[b++]=[this.S,this.Qa]):(c[b++]=this.da,c[b++]=this.aa,c[b++]=this.I,c[b++]=this.G,c[b++]=this.D,c[b++]=this.xa,c[b++]=this.va,c[b++]=this.ua,c[b++]=this.Y);for(var d=0,e=[],f=0;f<this.B.length;f++){var g=d++,h=this.B[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.jj;m[k++]=h.oe;m[k++]=h.de;m[k++]=h.ee;m[k++]=h.Ya;m[k++]=
|
||||
h.jb;m[k++]=h.Jd;m[k++]=h.mb;m[k++]=h.xd;m[k++]=h.wb;m[k++]=h.Ua;m[k]=h.ta?h.ta.save():null;e[g]=m}c[b]=e;C(a,0,c);return a.data()};l.restore=function(a){return Rm(this,a[0])};
|
||||
function Rm(a,b,c){var d=0,e=!0;a.Qa=-1;if(a.W){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.K=b[d++],a.za=b[d++],a.L=b[d++],a.oa=b[d++],a.ma=b[d++],a.la=b[d++],a.Z=b[d++],a.aa=b[d++],a.pa=b[d++],a.S=b[d++],"object"==typeof a.S){var f=a.S;a.S=f[0];a.Qa=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.da=b[d++],a.aa=b[d++],a.I=b[d++],a.G=b[d++],a.D=b[d++],a.xa=b[d++],a.va=b[d++],a.ua=b[d++],f=b[d++],void 0!==f?a.Y=f:void 0===a.Y&&(a.Y=-1);void 0===a.B&&(a.B=Array(a.ia.length));b=b[d];void 0===b&&(b=
|
||||
[]);for(d=0;d<a.B.length;d++){void 0===a.B[d]&&(a.B[d]={});var f=a.B[d],g=a,h=d,k=f,m=a.ia[d],p=b[d],x=c,r=0,z=!0;void 0===p&&(p=[0,0,!1,Array(8)]);k.Qa=h;k.errorCode=p[r++];k.jj=p[r++];k.oe=p[r++];k.de=p[r++];k.ee=p[r++];k.Ya=p[r++];k.jb=p[r++];k.Jd=p[r++];k.mb=p[r++];k.xd=p[r++];k.wb=p[r++];k.uf=g.W?0:1;k.name=m.name;void 0===k.name&&(k.name="Hard Drive");k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.Ad()||(k.mode="local");k.type=m.type;if(void 0===
|
||||
l.save=function(){var a=new ce(this),b=0,c=[];this.W?(c[b++]=this.K,c[b++]=this.za,c[b++]=this.L,c[b++]=this.oa,c[b++]=this.ma,c[b++]=this.la,c[b++]=this.Z,c[b++]=this.aa,c[b++]=this.pa,c[b++]=[this.R,this.Qa]):(c[b++]=this.da,c[b++]=this.aa,c[b++]=this.I,c[b++]=this.G,c[b++]=this.D,c[b++]=this.xa,c[b++]=this.va,c[b++]=this.ua,c[b++]=this.Y);for(var d=0,e=[],f=0;f<this.B.length;f++){var g=d++,h=this.B[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.jj;m[k++]=h.oe;m[k++]=h.de;m[k++]=h.ee;m[k++]=h.Ya;m[k++]=
|
||||
h.jb;m[k++]=h.Jd;m[k++]=h.mb;m[k++]=h.xd;m[k++]=h.vb;m[k++]=h.Ua;m[k]=h.ta?h.ta.save():null;e[g]=m}c[b]=e;C(a,0,c);return a.data()};l.restore=function(a){return Rm(this,a[0])};
|
||||
function Rm(a,b,c){var d=0,e=!0;a.Qa=-1;if(a.W){if(null==b&&(b=[0,0,0,0,0,0,0,64,0,[0,-1]]),a.K=b[d++],a.za=b[d++],a.L=b[d++],a.oa=b[d++],a.ma=b[d++],a.la=b[d++],a.Z=b[d++],a.aa=b[d++],a.pa=b[d++],a.R=b[d++],"object"==typeof a.R){var f=a.R;a.R=f[0];a.Qa=f[1]}}else null==b&&(b=[0,0,Array(14),0,0]),a.da=b[d++],a.aa=b[d++],a.I=b[d++],a.G=b[d++],a.D=b[d++],a.xa=b[d++],a.va=b[d++],a.ua=b[d++],f=b[d++],void 0!==f?a.Y=f:void 0===a.Y&&(a.Y=-1);void 0===a.B&&(a.B=Array(a.ia.length));b=b[d];void 0===b&&(b=
|
||||
[]);for(d=0;d<a.B.length;d++){void 0===a.B[d]&&(a.B[d]={});var f=a.B[d],g=a,h=d,k=f,m=a.ia[d],p=b[d],x=c,r=0,z=!0;void 0===p&&(p=[0,0,!1,Array(8)]);k.Qa=h;k.errorCode=p[r++];k.jj=p[r++];k.oe=p[r++];k.de=p[r++];k.ee=p[r++];k.Ya=p[r++];k.jb=p[r++];k.Jd=p[r++];k.mb=p[r++];k.xd=p[r++];k.vb=p[r++];k.uf=g.W?0:1;k.name=m.name;void 0===k.name&&(k.name="Hard Drive");k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||g.Ad()||(k.mode="local");k.type=m.type;if(void 0===
|
||||
k.type||void 0===Lm[g.H][k.type])k.type=g.ra;m=Lm[g.H][k.type];k.eb=m[2]||17;k.nb=m[3]||512;if(x&&g.P){var E=g.P,J=k.type;if(E.B){var x=null,m=void 0,W=E.B[18];15<J&&(x=J,J=15);h?(W=W&240|J,m=26):(W=W&15|J<<4,m=25);J=E;J.B&&(J.B[18]=W,bj(J));null!=x&&E.B&&(E.B[m]=x,bj(E))}}void 0===k.ta&&(k.ta=null,g.Ba("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Sm(g,k);k.Ua=p[r++];k.Wa=null;k.ta&&(g=p[r],void 0!==g&&0>k.ta.restore(g)&&(z=!1),z&&void 0!==k.Ua&&(k.Wa=k.ta.seek(k.Jd,k.Ya,k.mb+k.uf)));z||(e=
|
||||
!1);null!=a.da&&1>=d&&(a.da|=(f.type&3)<<(1-d<<1))}0<=a.Qa&&(a.C=a.B[a.Qa]);return e}function Sm(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.de[2])?e=b.de[0]<<8|b.de[1]:c=b.type);null==c||d||(d=Lm[a.H][c][1],e=Lm[a.H][c][0]);d&&((c=Lm[a.H][b.type])&&e!=c[0]&&d!=c[1]&&a.Ba("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.ib=e,b.jb=d,null==b.ta&&(b.ta=new am(a,b,b.mode)))}}
|
||||
function Qm(a,b){b||(a.R=0);for(var c=0;c<a.B.length;c++){var d=a.B[c];if(d.name&&d.path){if(!(b&&d.ta&&d.ta.Af)){var e;e=a;var f=d.name,d=d.path,g=e.B[c];g.Qc?(e.Ba("Drive "+c+" busy"),e=!0):(g.Qc=!0,g.Nd=!0,e.R++,(g.ta||new am(e,g,g.mode)).load(f,d,null,e.Fj),e=!1);!e&&b&&ab(a,!1)}}else b&&void 0!==d.type&&(d.ta=null,Sm(a,d,d.type))}return!!a.R}
|
||||
l.Fj=function(a,b,c){a.Qc=!1;if(a.ta=b)this.Ba('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Qa),a.Nd),b=b.info(),b[0]==a.ib&&b[1]==a.jb&&b[2]==a.eb&&b[3]==a.nb||this.Ba("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Km[this.H]+" drive type "+a.type+" ("+a.ib+":"+a.jb+":"+a.eb+")");a.Nd&&(a.Nd=!1,--this.R||ab(this))};l.Ok=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.P&&Se(this.P,5);this.aa&=-33;++this.G>=this.D&&(this.G=this.D=0,this.aa&=-15);return a};
|
||||
function Qm(a,b){b||(a.S=0);for(var c=0;c<a.B.length;c++){var d=a.B[c];if(d.name&&d.path){if(!(b&&d.ta&&d.ta.Af)){var e;e=a;var f=d.name,d=d.path,g=e.B[c];g.Qc?(e.Ba("Drive "+c+" busy"),e=!0):(g.Qc=!0,g.Nd=!0,e.S++,(g.ta||new am(e,g,g.mode)).load(f,d,null,e.Fj),e=!1);!e&&b&&ab(a,!1)}}else b&&void 0!==d.type&&(d.ta=null,Sm(a,d,d.type))}return!!a.S}
|
||||
l.Fj=function(a,b,c){a.Qc=!1;if(a.ta=b)this.Ba('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Qa),a.Nd),b=b.info(),b[0]==a.ib&&b[1]==a.jb&&b[2]==a.eb&&b[3]==a.nb||this.Ba("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Km[this.H]+" drive type "+a.type+" ("+a.ib+":"+a.jb+":"+a.eb+")");a.Nd&&(a.Nd=!1,--this.S||ab(this))};l.Ok=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.P&&Se(this.P,5);this.aa&=-33;++this.G>=this.D&&(this.G=this.D=0,this.aa&=-15);return a};
|
||||
l.Wl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=12!=this.I[0]?6:this.I.length;6==this.D&&(this.aa&=-2);this.D>=c&&(this.aa|=2,this.aa&=-2,Tm(this))};l.Pk=function(){var a=this.aa;this.G<this.D&&(this.aa|=1);return a};l.Zl=function(a,b){this.xa=b;this.P&&Se(this.P,5);Rm(this)};l.Nk=function(){return this.da};l.Yl=function(a,b){this.va=b;this.aa=13};l.Xl=function(a,b){this.ua=b};l.hh=function(){};
|
||||
function Um(a){var b=-1;a.C&&(b=Vm(a.C,function(){}),(1==a.C.Ua||a.C.Ua==a.C.nb)&&1<a.C.Ua&&(a.C.wb-=a.C.nb,a.L=a.L-1&255,a.C.wb>=a.C.nb?(a.aa=128,Vm(a.C,function(b){0<=b?(Wm(a),a.P&&5180==a.P.ca&&(a.aa=0),a.aa|=88):(a.aa=1,a.K=16)},!1)):a.aa=80));return b}l.uj=function(){return Um(this)|Um(this)<<8};function Xm(a,b){a.C&&a.C.wb>=a.C.nb&&(0>Ym(a.C,b)?(a.aa=1,a.K=16):(1==a.C.Ua||a.C.Ua==a.C.nb)&&1<a.C.Ua&&(a.C.wb-=a.C.nb,a.L=a.L-1&255,Wm(a),a.aa=80,a.C.wb>=a.C.nb&&(a.aa|=8)))}
|
||||
function Um(a){var b=-1;a.C&&(b=Vm(a.C,function(){}),(1==a.C.Ua||a.C.Ua==a.C.nb)&&1<a.C.Ua&&(a.C.vb-=a.C.nb,a.L=a.L-1&255,a.C.vb>=a.C.nb?(a.aa=128,Vm(a.C,function(b){0<=b?(Wm(a),a.P&&5180==a.P.ca&&(a.aa=0),a.aa|=88):(a.aa=1,a.K=16)},!1)):a.aa=80));return b}l.uj=function(){return Um(this)|Um(this)<<8};function Xm(a,b){a.C&&a.C.vb>=a.C.nb&&(0>Ym(a.C,b)?(a.aa=1,a.K=16):(1==a.C.Ua||a.C.Ua==a.C.nb)&&1<a.C.Ua&&(a.C.vb-=a.C.nb,a.L=a.L-1&255,Wm(a),a.aa=80,a.C.vb>=a.C.nb&&(a.aa|=8)))}
|
||||
l.gl=function(a,b){Xm(this,b&255);Xm(this,b>>8&255)};l.Uj=function(){return this.K};l.ll=function(a,b){this.za=b};l.Wj=function(){return this.L};l.jl=function(a,b){this.L=b};l.Xj=function(){return this.oa};l.kl=function(a,b){this.oa=b};l.Sj=function(){return this.ma};l.fl=function(a,b){this.ma=b};l.Rj=function(){return this.la};l.el=function(a,b){this.la=b};l.Tj=function(){return this.Z};l.hl=function(a,b){this.Z=b;this.aa=this.B[this.Z&16?1:0]?this.aa|80:this.aa&-65};
|
||||
l.Yj=function(){var a=this.aa;this.aa&64&&(this.aa&=-129);return a};l.dl=function(a,b){this.pa=b;this.P&&Se(this.P,14);Zm(this)};l.il=function(a,b){this.S&4&&!(b&4)&&(this.K=1);this.S=b};
|
||||
function Zm(a){var b=!1,c=a.pa,d=a.Z&16?1:0,e=a.Z&15,f=a.ma|(a.la&3)<<8,g=a.oa,h=a.L||256;a.Qa=-1;a.C=null;a.K=0;a.aa=80;var k=a.B[d];k?(k.Jd=f,k.Ya=e,k.mb=g,k.wb=h*k.nb,c=144<=c?c:c&240,k.Wa=null,k.Ua=0,k.errorCode=0,a.Qa=d,a.C=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.aa=128;Vm(k,function(b){0<=b&&a.P?(Wm(a),a.aa=88):(a.aa=1,a.K=16)},!1);break;case 48:a.aa=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.K=1;b=!0;break;case 145:k.jb=e+1,k.eb=h,b=!0}b&&Wm(a)}
|
||||
function Wm(a){!a.P||a.S&2||Te(a.P,14,120)}
|
||||
function Tm(a){a.G=0;var b=$m(a),c=$m(a),d=c&32,e=d>>5,f=c&31,g=$m(a),h=$m(a),k=g<<2&768|h,m=g&63,p=$m(a),x=$m(a),r=a.B[e];r&&(r.Jd=k,r.Ya=f,r.mb=m,r.wb=p*r.nb);switch(b){case 3:an(a,r?r.errorCode:4);en(a,c);en(a,g);en(a,h);en(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=$m(a));)r&&c<r.de.length&&(r.de[c++]=b);r&&Sm(a,r);b=0;r||a.Y!=e||(a.Y=-1,b=2);an(a,b|d);b=-1;break;case 224:case 228:an(a,0|d),b=-1}if(0<=b)switch(void 0===r?b=-1:(r.errorCode=0,r.jj=0),b){case 0:an(a,0|d);break;case 1:r.Ie=x;an(a,0|
|
||||
l.Yj=function(){var a=this.aa;this.aa&64&&(this.aa&=-129);return a};l.dl=function(a,b){this.pa=b;this.P&&Se(this.P,14);Zm(this)};l.il=function(a,b){this.R&4&&!(b&4)&&(this.K=1);this.R=b};
|
||||
function Zm(a){var b=!1,c=a.pa,d=a.Z&16?1:0,e=a.Z&15,f=a.ma|(a.la&3)<<8,g=a.oa,h=a.L||256;a.Qa=-1;a.C=null;a.K=0;a.aa=80;var k=a.B[d];k?(k.Jd=f,k.Ya=e,k.mb=g,k.vb=h*k.nb,c=144<=c?c:c&240,k.Wa=null,k.Ua=0,k.errorCode=0,a.Qa=d,a.C=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.aa=128;Vm(k,function(b){0<=b&&a.P?(Wm(a),a.aa=88):(a.aa=1,a.K=16)},!1);break;case 48:a.aa=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.K=1;b=!0;break;case 145:k.jb=e+1,k.eb=h,b=!0}b&&Wm(a)}
|
||||
function Wm(a){!a.P||a.R&2||Te(a.P,14,120)}
|
||||
function Tm(a){a.G=0;var b=$m(a),c=$m(a),d=c&32,e=d>>5,f=c&31,g=$m(a),h=$m(a),k=g<<2&768|h,m=g&63,p=$m(a),x=$m(a),r=a.B[e];r&&(r.Jd=k,r.Ya=f,r.mb=m,r.vb=p*r.nb);switch(b){case 3:an(a,r?r.errorCode:4);en(a,c);en(a,g);en(a,h);en(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=$m(a));)r&&c<r.de.length&&(r.de[c++]=b);r&&Sm(a,r);b=0;r||a.Y!=e||(a.Y=-1,b=2);an(a,b|d);b=-1;break;case 224:case 228:an(a,0|d),b=-1}if(0<=b)switch(void 0===r?b=-1:(r.errorCode=0,r.jj=0),b){case 0:an(a,0|d);break;case 1:r.Ie=x;an(a,0|
|
||||
d);break;case 5:an(a,0|d);break;case 8:fn(a,r,function(b){an(a,b|d)});break;case 10:gn(a,r,function(b){an(a,b|d)});break;case 15:hn(a,r,function(b){an(a,b|d)});break;default:an(a,2|d)}}function $m(a){var b=-1;a.G<a.D&&(b=a.I[a.G++]);return b}function an(a,b){a.G=a.D=0;void 0!==b&&en(a,b);a.P&&Te(a.P,5);a.aa|=32}function en(a,b){a.I[a.D++]=b}l.sj=function(a,b,c){void 0===b||0>b?Vm(a,c):c(-1,!1)};l.tj=function(a,b){return void 0!==b&&0<=b?Ym(a,b):-1};
|
||||
l.Dj=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ua<a.ee.length?a.ee[a.Ua++]=c:(a.errorCode=20,c=-1)):c=-1;return c};l.Ej=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.Pc[a.ie++]=c;if(a.ie==a.Pc.length){a.Jd=a.Pc[0];a.Ya=a.Pc[1];a.mb=a.Pc[2];a.wb=128<<a.Pc[3];for(var d=a.ie=0;d<a.wb;d++)if(0>Ym(a,a.Fh)){c=-1;break a}a.vf++}a.vf>=a.xd&&(c=-1)}else c=-1;return c};
|
||||
l.Dj=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ua<a.ee.length?a.ee[a.Ua++]=c:(a.errorCode=20,c=-1)):c=-1;return c};l.Ej=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.errorCode)c=-1;else{a.Pc[a.ie++]=c;if(a.ie==a.Pc.length){a.Jd=a.Pc[0];a.Ya=a.Pc[1];a.mb=a.Pc[2];a.vb=128<<a.Pc[3];for(var d=a.ie=0;d<a.vb;d++)if(0>Ym(a,a.Fh)){c=-1;break a}a.vf++}a.vf>=a.xd&&(c=-1)}else c=-1;return c};
|
||||
function fn(a,b,c){b.errorCode=4;if(b.ta&&(b.Wa=null,a.P)){b.errorCode=0;Cj(a.P,3,a,"dmaRead",b);yj(a.P,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function gn(a,b,c){b.errorCode=4;if(b.ta&&(b.Wa=null,a.P)){b.errorCode=0;Cj(a.P,3,a,"dmaWrite",b);yj(a.P,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 hn(a,b,c){b.errorCode=4;b.ee&&b.ee.length==b.wb||(b.ee=Array(b.wb));b.Ua=0;a.P?(b.errorCode=0,Cj(a.P,3,a,"dmaWriteBuffer",b),yj(a.P,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
|
||||
function hn(a,b,c){b.errorCode=4;b.ee&&b.ee.length==b.vb||(b.ee=Array(b.vb));b.Ua=0;a.P?(b.errorCode=0,Cj(a.P,3,a,"dmaWriteBuffer",b),yj(a.P,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
|
||||
function Vm(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Wa&&(f=a.Ua,d=a.ta.read(a.Wa,a.Ua),a.Ua+=g,0<=d))return e=a.Wa,b&&b(d,!1,e,f),d;if(b){if(a.ta)return a.ta.seek(a.Jd,a.Ya,a.mb+a.uf,!1,function(c,k){(a.Wa=c)?(e=c,f=a.Ua=0,jn(a),d=a.ta.read(a.Wa,a.Ua),a.Ua+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d}
|
||||
function Ym(a,b){if(a.errorCode)return-1;do{if(a.Wa&&a.ta.write(a.Wa,a.Ua++,b))break;a.ta&&a.ta.seek(a.Jd,a.Ya,a.mb+a.uf,!0,function(b){a.Wa=b});if(!a.Wa){a.errorCode=20;b=-1;break}a.Ua=0;jn(a)}while(1);return b}function jn(a){a.mb++;var b=1-a.uf;a.mb>=a.eb+b&&(a.mb=b,a.Ya++,a.Ya>=a.jb&&(a.Ya=0,a.Jd++))}l.Rk=function(){var a=this.A.M&255;!(this.A.J>>8)&&128<a&&(this.Y=a-128);return!0};l.Sk=function(){var a;(a=this.A.J>>8||!this.P)||(a=!(this.P.gc[0].Vc&64));return a?!0:!1};
|
||||
var Nm={800:Z.prototype.Ok,801:Z.prototype.Pk,802:Z.prototype.Nk},Mm={496:Z.prototype.uj,497:Z.prototype.Uj,498:Z.prototype.Wj,499:Z.prototype.Xj,500:Z.prototype.Sj,501:Z.prototype.Rj,502:Z.prototype.Tj,503:Z.prototype.Yj},Pm={800:Z.prototype.Wl,801:Z.prototype.Zl,802:Z.prototype.Yl,803:Z.prototype.Xl,807:Z.prototype.hh,811:Z.prototype.hh,815:Z.prototype.hh},Om={496:Z.prototype.gl,497:Z.prototype.ll,498:Z.prototype.jl,499:Z.prototype.kl,500:Z.prototype.fl,501:Z.prototype.el,502:Z.prototype.hl,503:Z.prototype.dl,
|
||||
1014:Z.prototype.il};Ea(function(){for(var a=Za(document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new Z(d);Ya(d,c)}});function ce(a,b,c){this.id=a.id;this.key=kn(a,b,c);this.Ia=a.Ia;ln(this,a.fj)}function kn(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}
|
||||
ce.prototype={constructor:ce,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:ta()&&(a=wa(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){ln(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(e){}b.splice(c,1);c=0}}};function ln(a,b){a[a.id]={};b&&C(a,"parms",b);a.A=!1}function mn(a){var b=!0;if(ta()){var c=JSON.stringify(a[a.id]);xa(a.key,c)||(n("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function nn(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function on(a,b){return a[a.id][b]||null}function C(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function pn(a,b,c){Ia.call(this,"Computer",a,pn);this.ea.Rb=!1;qn(this,b);this.ba=jc(this,"autoPower",a);this.G=0;this.ia=a.busWidth||a.buswidth;this.B=rn;this.R=null;this.K=this.da=!1;this.la=jc(this,"url")||"";this.ma=(Math.random()+.1).toString(36).substr(2,12);this.C=sn(this);if(this.A=Va("CPU",this.id)){this.Ia=Va("Debugger",this.id);this.I=[];for(b=null;b=kb(this,"Video",b);)this.I.push(b);this.ha=new rb({id:this.lf+".bus",buswidth:this.ia},this.A,this.Ia);var d,e=Ta(this.id);if((this.D=Va("Panel",
|
||||
this.id))&&this.D.gg)for(b=0;b<e.length;b++)d=e[b],d.Ba=this.D.Ba,d.rc=this.D.rc,d.gg=this.D.gg;for(b=0;b<e.length;b++)d=e[b],d.pc&&d.pc(this,this.ha,this.A,this.Ia);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.P=d:this.B=parseInt(d,10));var f;if(a=jc(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.K=!0,this.B=rn),this.B&&(this.S=new ce(this,tn),this.S.load()?b=null:delete this.S);!b&&this.B&&(b=un(this))&&(this.K=!0);if(b){var g=this;pa(b,null,!0,function(a,b,c){c?(g.P=null,g.K=!1,g.Ba("Unable to load machine state from server (error "+
|
||||
c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.R=b,g.da=!0);ab(g)})}else ab(this);this.ka.power||(this.ba=!0);!c&&this.ba&&vn(this,this.df)}else n("Unable to find CPU component")}Qa(pn);var tn="1.21.7",rn=0;l=pn.prototype;l.se=function(){return this.ma};function qn(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.L=b}
|
||||
function pn(a,b,c){Ia.call(this,"Computer",a,pn);this.ea.Rb=!1;qn(this,b);this.ba=jc(this,"autoPower",a);this.G=0;this.ia=a.busWidth||a.buswidth;this.B=rn;this.S=null;this.K=this.da=!1;this.la=jc(this,"url")||"";this.ma=(Math.random()+.1).toString(36).substr(2,12);this.C=sn(this);if(this.A=Va("CPU",this.id)){this.Ia=Va("Debugger",this.id);this.I=[];for(b=null;b=kb(this,"Video",b);)this.I.push(b);this.ha=new rb({id:this.lf+".bus",busWidth:this.ia},this.A,this.Ia);var d,e=Ta(this.id);if((this.D=Va("Panel",
|
||||
this.id))&&this.D.gg)for(b=0;b<e.length;b++)d=e[b],d.Ba=this.D.Ba,d.rc=this.D.rc,d.gg=this.D.gg;for(b=0;b<e.length;b++)d=e[b],d.pc&&d.pc(this,this.ha,this.A,this.Ia);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.P=d:this.B=parseInt(d,10));var f;if(a=jc(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.K=!0,this.B=rn),this.B&&(this.R=new ce(this,tn),this.R.load()?b=null:delete this.R);!b&&this.B&&(b=un(this))&&(this.K=!0);if(b){var g=this;pa(b,null,!0,function(a,b,c){c?(g.P=null,g.K=!1,g.Ba("Unable to load machine state from server (error "+
|
||||
c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.S=b,g.da=!0);ab(g)})}else ab(this);this.ka.power||(this.ba=!0);!c&&this.ba&&vn(this,this.df)}else n("Unable to find CPU component")}Qa(pn);var tn="1.21.7",rn=0;l=pn.prototype;l.se=function(){return this.ma};function qn(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.L=b}
|
||||
function jc(a,b,c){var d=b.toLowerCase(),d=La[b]||La[d];void 0===d&&a.L&&(d=a.L[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}l.Ad=function(){return this.C||""};function vn(a,b,c){for(var d=Ta(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!bb(f)){bb(f,function(){vn(a,b,c)});return}}b.call(a,c)}
|
||||
function wn(a,b){var c=new ce(a,tn,"validate");if(c.load()&&nn(c)){var d=on(c,"timestamp"),e=b?on(b,"timestamp"):"unknown";d!=e&&(a.Ba("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
l.df=function(a){void 0===a&&(a=this.B||(this.R?1:rn));if(!this.G){this.G++;var b=!1,c=!1;this.Z=!1;var d=this.S||new ce(this,tn);if(-1==a)b=!0;else if(a>rn){if(d.load(this.R)){this.H=new ce(this,tn,"failsafe");this.H.load()&&(xn(this,d),a=2,ln(this.H));C(this.H,"timestamp",la());mn(this.H);var e=this.B&&!this.K;if(1==a||ra("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=nn(d)){var f=on(d,"code"),g=on(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Ba("Error: "+g),"unable to verify user"==g&&(xa("user",""),this.C=null)):this.rc(f+": "+g),ln(d),d.load()?(c=nn(d),e=!0):c=!1))}e&&wn(this,c?d:null)}else 2==a&&d.clear()}else wn(this);delete this.R;delete this.S}e=Ta(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.A&&(c=yn(this,g,d,b,c));b=[d,a,c];-1!=a?vn(this,this.Nh,b):this.Nh(b)}};
|
||||
l.df=function(a){void 0===a&&(a=this.B||(this.S?1:rn));if(!this.G){this.G++;var b=!1,c=!1;this.Z=!1;var d=this.R||new ce(this,tn);if(-1==a)b=!0;else if(a>rn){if(d.load(this.S)){this.H=new ce(this,tn,"failsafe");this.H.load()&&(xn(this,d),a=2,ln(this.H));C(this.H,"timestamp",la());mn(this.H);var e=this.B&&!this.K;if(1==a||ra("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=nn(d)){var f=on(d,"code"),g=on(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
|
||||
g?(this.Ba("Error: "+g),"unable to verify user"==g&&(xa("user",""),this.C=null)):this.rc(f+": "+g),ln(d),d.load()?(c=nn(d),e=!0):c=!1))}e&&wn(this,c?d:null)}else 2==a&&d.clear()}else wn(this);delete this.S;delete this.R}e=Ta(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.A&&(c=yn(this,g,d,b,c));b=[d,a,c];-1!=a?vn(this,this.Nh,b):this.Nh(b)}};
|
||||
function yn(a,b,c,d,e){if(!b.ea.Rb){b.ea.Rb=!0;if(b.Vb){var f=null;e&&((f=on(c,b.id))||(f=on(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Vb(f,d)&&f&&(n("Unable to restore state for "+b.type),a.W&&!a.da?(c.clear(),a.B=rn,window&&window.location.reload()):a.Z=!0,b.Vb(null),e=!1)}if(!d&&b.zh)for(a=b.zh.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
l.Nh=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea.Rb=!0;var d=this.ka.power;d&&(d.textContent="Shutdown");this.Y||(this.rc("PCjs v"+tn+"\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Y=!0);this.A&&(yn(this,this.A,b,c,a),nc(this.A));this.Z&&(xn(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.G=0};
|
||||
function xn(a,b){if(ra("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.la,d=a.Ad(),e=b.toString(),f={app:"PCjs"};f.ver=tn;f.url=c;f.user=d;f.type="bug";f.data=e;pa("http://www.pcjs.org/api/v1/report",f,!0)}}
|
||||
|
|
@ -617,9 +617,9 @@ function sn(a,b){var c=a.C;c||(c=wa("user"),void 0!==c?!c&&b&&(c=null,window&&(c
|
|||
function Bn(a,b){a.C=null;var c=pa(qa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(xa("user",c.data),a.C=c.data)}catch(e){n(e.message+" ("+d+")")}return a.C}function un(a){var b=null;a.C&&(b=qa()+"/api/v1/user?req=load&user="+a.C+"&state="+kn(a,tn));return b}
|
||||
function An(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=kn(a,tn);d.data=c;b=pa(qa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ba("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.Ba(c),xa("user",""),a.C=null)}}
|
||||
function kb(a,b,c){a=Ta(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}function uc(a,b){if(a.I.length){var c=0,d=0;b&&window&&(c=window.scrollX,d=window.scrollY);var e=a.I[0];e.G&&e.G.focus();b&&window&&window.scrollTo(c,d)}}l.Xd=function(a){this.A&&this.A.Xd(a);this.D&&this.D.Xd(a)};
|
||||
function yc(a,b){for(var c=0;c<a.I.length;c++)kl(a.I[c],b);if(a.D&&(c=a.D,c.ua)){ob(c,18,c.P,c.ra);if(c.Ga){var d=c.ha,e=c.B,f,g;null==f&&(f=0);null==g&&(g=d.L-f|0);null==e&&(e={fg:0,hd:0,$f:[]});var h=f>>>d.da;f=f+g-1>>>d.da;e.fg=0;for(e.hd=0;h<=f;)g=d.R[h],e.fg+=g.size,g.size&&(e.$f.push(na(nb,h,0,0,g.type)),e.hd++),h++;c.B=e;c.ma=c.B.hd*c.ha.vb/691200;d=0;c.B.Hh=0;c.B.He||(c.B.He=[]);var e=-1,h=0,k=-1;for(f=0;f<c.B.hd;f++){var m=c.B.$f[f];g=oa(nb.type,m);m=oa(nb.bj,m);if(g!=e||m!=k+1)(k=f-h)&&
|
||||
(d+=qb(c,h,k,e)),e=g,h=f;k=m}d+=qb(c,h,f-h,e);e=c.B.Bj!=d;c.B.Bj=d;if(e){e=new ib(0,0,c.P.width,c.P.height);c.B.ce=[];h=c.B.hd;for(d=0;d<c.B.Hh;d++)f=c.B.He[d].hd,c.B.ce.push(jb(e,f,h,!d)),h-=f;for(d=0;d<c.B.ce.length;d++)e=c.B.He[d],h=f=c.B.ce[d],g=c.ra,(k=Wb[e.type])||(k=new hb),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.Fc,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.Fc,h.A),h=c,g=f,h.S=h.ia,h.L=h.la,f=g.x+(g.Fc>>1),k=g.y+(g.A>>1),m=g.A,g.Fc<g.A&&(m=g.Fc,h.da=!0,h.G.save(),
|
||||
h.G.translate(f,k),h.G.rotate(-Math.PI/2),f=k=0),m<h.L&&(h.L=m,h.S=h.L+"px Monaco, Lucida Console, Courier New"),g=k,h.D=f,h.K=g,h=c,e=Vb[e.type]+" ("+(e.hd*c.ha.vb/1024|0)+"Kb)",h.G.font=h.S,h.D-=h.G.measureText(e).width>>1,h.K+=(h.L>>1)-2,pb(h,e),h.da&&(h.G.restore(),h.da=!1)}}else pb(c,"This space intentionally left blank");c.context.drawImage(c.P,0,0,c.P.width,c.P.height,c.Oa,c.Xa,c.Da,c.Fa);c.ua=!1}}
|
||||
function yc(a,b){for(var c=0;c<a.I.length;c++)kl(a.I[c],b);if(a.D&&(c=a.D,c.ua)){ob(c,18,c.P,c.ra);if(c.Ga){var d=c.ha,e=c.B,f,g;null==f&&(f=0);null==g&&(g=d.L-f|0);null==e&&(e={fg:0,hd:0,$f:[]});var h=f>>>d.da;f=f+g-1>>>d.da;e.fg=0;for(e.hd=0;h<=f;)g=d.S[h],e.fg+=g.size,g.size&&(e.$f.push(na(nb,h,0,0,g.type)),e.hd++),h++;c.B=e;c.ma=c.B.hd*c.ha.xb/691200;d=0;c.B.Hh=0;c.B.He||(c.B.He=[]);var e=-1,h=0,k=-1;for(f=0;f<c.B.hd;f++){var m=c.B.$f[f];g=oa(nb.type,m);m=oa(nb.bj,m);if(g!=e||m!=k+1)(k=f-h)&&
|
||||
(d+=qb(c,h,k,e)),e=g,h=f;k=m}d+=qb(c,h,f-h,e);e=c.B.Bj!=d;c.B.Bj=d;if(e){e=new ib(0,0,c.P.width,c.P.height);c.B.ce=[];h=c.B.hd;for(d=0;d<c.B.Hh;d++)f=c.B.He[d].hd,c.B.ce.push(jb(e,f,h,!d)),h-=f;for(d=0;d<c.B.ce.length;d++)e=c.B.He[d],h=f=c.B.ce[d],g=c.ra,(k=Wb[e.type])||(k=new hb),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.Fc,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.Fc,h.A),h=c,g=f,h.R=h.ia,h.L=h.la,f=g.x+(g.Fc>>1),k=g.y+(g.A>>1),m=g.A,g.Fc<g.A&&(m=g.Fc,h.da=!0,h.G.save(),
|
||||
h.G.translate(f,k),h.G.rotate(-Math.PI/2),f=k=0),m<h.L&&(h.L=m,h.R=h.L+"px Monaco, Lucida Console, Courier New"),g=k,h.D=f,h.K=g,h=c,e=Vb[e.type]+" ("+(e.hd*c.ha.xb/1024|0)+"Kb)",h.G.font=h.R,h.D-=h.G.measureText(e).width>>1,h.K+=(h.L>>1)-2,pb(h,e),h.da&&(h.G.restore(),h.da=!1)}}else pb(c,"This space intentionally left blank");c.context.drawImage(c.P,0,0,c.P.width,c.P.height,c.Oa,c.Xa,c.Da,c.Fa);c.ua=!1}}
|
||||
Ea(function(){for(var a=Za(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Wa(c),c=Za(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Wa(f),g=new pn(g,d,!0);Ya(g,f);g.ba&&vn(g,g.df)}});Aa.show.push(function(){for(var a=Za(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Wa(a[b]);(c=Va("Computer",c.id))&&c.Y&&!c.ea.Rb&&c.df(-1)}});
|
||||
Aa.exit.push(function(){for(var a=Za(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Wa(a[b]);(c=Va("Computer",c.id))&&c.ea.Rb&&zn(c,!(!c.B||c.P),!0)}});var Cn=0;function Dn(a,b,c,d,e,f){e("Loading "+a+"...");pa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):En(h,a,b,c,d,e,f)})}
|
||||
function En(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){Sa(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcjs$2"));
|
||||
|
|
|
|||
Loading…
Reference in a new issue