Updated v1.35.0 files

This commit is contained in:
Jeff Parsons 2017-06-15 16:03:05 -07:00 committed by Jeff Parsons
commit d5b21be782
5 changed files with 113 additions and 105 deletions

View file

@ -47,30 +47,33 @@ something one could easily determine using the Internet Archive's own search eng
### Emulation Challenges
There are also some fundamental problems with the Internet Archive's approach to emulation. They load sets of files,
along with custom batch files, into tightly coupled machine configurations, with no indication which files were part
of the original software distribution, and no hardware details regarding their "mystery" machine configurations.
There are a few issues with the Internet Archive's approach to emulation that I'd like to discuss. First, they load
sets of files, along with custom batch files, into tightly coupled machine configurations, with no indication which
files were part of the original software distribution, and no hardware details regarding their "mystery" machine
configurations.
And the Internet Archive's overall "emulation experience" is often not very faithful. Their rendering of
"Adventures in Math" gives the impression that the game ran *much* faster than it actually ran on a 4.77Mhz IBM PC.
While their emulator can be configured operate at different speeds, it's unclear which of their holdings have already
been "tuned". As a fallback, they do provide some user controls:
Second, the Internet Archive's overall emulation experience doesn't represent the original hardware and software very
accurately. Their rendering of "Adventures in Math" gives the impression that the game ran *much* faster than it
actually ran on a circa 1983 4.77Mhz IBM PC. Their emulator can be configured operate at different speeds, but it's
unclear which of their holdings have already been "tuned" and which have not. "Adventures in Math" has not.
As a fallback, they do provide some user controls:
> "While the program is running, press CTRL-F11 to slow the program down. Pressing CTRL-F11 repeatedly will slow it
down further, until the speed is more reasonable. (Pressing CTRL-F12 repeatedly will attempt to speed things up.)"
but in general, the user has no idea what speed they have currently selected, or what the target speed should be.
For users who simply want "to play the game," that may be fine, but an historian would probably prefer to see how the
For users who simply want "to play the game," that may be fine, but historians would probably prefer to see how the
game originally operated and how each screen was painstakingly rendered, to better understand both the original user
experience and the challenges that early software developers faced.
The failure to archive software exactly as it was originally distributed, generally as one or more disk image (IMG)
files along with scanned (PDF) copies of the documentation, is the most serious problem we collectively face. I don't
blame the Internet Archive, because in most cases, they're simply archiving what someone else archived before them,
and those earlier "archivists" often didn't take the time to thoroughly preserve and document everything.
files along with scanned (PDF) copies of the documentation, is one of the most important problems we collectively face.
I don't blame the Internet Archive, because in most cases, they're simply archiving what someone else archived before
them, and those earlier "archivists" often didn't take the time to thoroughly preserve and document everything.
On the other hand, the Internet Archive could do a better job of cataloging its holdings, recording the provenance of
everything they have archived, maintaining a clear separation of original material from subsequent modifications
On the other hand, the Internet Archive could probably do a better job cataloging its holdings, recording the provenance
of everything they have archived, maintaining a clear separation of original material from subsequent modifications
(including any modifications created solely for ease of emulation), providing more control over machine configurations,
and enabling the use of third-party emulators -- like PCjs -- which may be able to perform a more faithful rendering
of certain software packages.

View file

@ -13,4 +13,8 @@
<control type="button" binding="f8">F8</control>
<control type="button" binding="f9">F9</control>
<control type="button" binding="f10">F10</control>
<control type="button" binding="left">&#x2190;</control>
<control type="button" binding="up">&#x2191;</control>
<control type="button" binding="down">&#x2193;</control>
<control type="button" binding="right">&#x2192;</control>
</keyboard>

View file

@ -11,7 +11,8 @@
<cpu id="cpu8088" model="8088" autostart="true" pos="left" padLeft="8px" padBottom="8px">
<control type="button" binding="run">Run</control>
<control type="button" binding="reset">Reset</control>
<control type="button" binding="setSpeed">Speed</control>
</cpu>
<keyboard ref="/devices/pcx86/keyboard/us83-buttons-minimal.xml"/>
<keyboard ref="/devices/pcx86/keyboard/us83-buttons-functions.xml"/>
<chipset id="chipset" model="5150" sw1="01001001" sw2="11111000"/>
</machine>

View file

@ -49,7 +49,7 @@ function ta(){return"http://"+(window?window.location.host:"www.pcjs.org")}funct
function La(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Oa(a){if(window){var b=Ha();return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}function Pa(a){if(!Qa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Qa=c}return Qa[a]}
function Ra(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}function Sa(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}}function Ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}
function Ua(a){Va.init.push(a)}function Wa(a){if(Xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ya("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Za(a){!Xa&&a?(Xa=!0,cb&&db("init"),eb&&db("show")):Xa=a}function db(a){Va[a]&&Wa(Va[a])}var Qa=null,Va={init:[],show:[],exit:[]},cb=!1,eb=!1,Xa=!0,Ja=null;Ta("onload",function(){cb=!0;Wa(Va.init)});Ta("onpageshow",function(){eb=!0;Wa(Va.show)});
Ta(Oa("Opera")||Oa("iOS")?"onunload":"onbeforeunload",function(){Wa(Va.exit)});function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.vc=b.comment;this.Ad=b;this.exports={};this.P=this.bindings={};a=this.id.indexOf(".");0>a?this.cb=this.id:(this.eb=this.id.substr(0,a),this.cb=this.id.substr(a+1));this.G={ready:!1,mb:!1,Ib:!1,ja:!1,error:!1};this.zb=null;this.G.error=!1;this.ha=c||0;this.K=this.u=this.I=this.R=this.ua=null;fb.push(this)}
Ta(Oa("Opera")||Oa("iOS")?"onunload":"onbeforeunload",function(){Wa(Va.exit)});function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.vc=b.comment;this.Ad=b;this.exports={};this.P=this.bindings={};a=this.id.indexOf(".");0>a?this.cb=this.id:(this.eb=this.id.substr(0,a),this.cb=this.id.substr(a+1));this.G={ready:!1,mb:!1,Ib:!1,ja:!1,error:!1};this.zb=null;this.G.error=!1;this.ha=c||0;this.K=this.w=this.I=this.R=this.ua=null;fb.push(this)}
function gb(a,b,c){hb[a]&&b&&(hb[a][b]=c)}function ib(){return Date.now()||+new Date}function Ya(a,b,c){b||r((c?c+": ":"")+a)}function r(a){window&&window.alert(a)}function jb(a){var b=!1;window&&(b=window.confirm(a));return b}function kb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<fb.length;b++){var d=fb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function lb(a){if(void 0!==a){var b;for(b=0;b<fb.length;b++)if(fb[b].id===a)return fb[b]}return null}
function mb(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<fb.length;d++)if(c)c==fb[d]&&(c=null);else if(!(a!=fb[d].type||b&&fb[d].id.indexOf(b)))return fb[d]}return null}function ob(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function pb(a,b){b=qb(b.parentNode,"pc8080-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pc8080-binding":(g=ob(f))&&g.binding&&a.da(g.type,g.binding,f,g.value),k=h.length}}}}
@ -65,22 +65,22 @@ Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var Fb="undefined"!==typeof ArrayBuffer,Gb=[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],Hb={cpu:1,bus:64,mem:128,port:256,nvr:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function Ib(a){t.call(this,"Panel",a)}aa(Ib,t);
Ib.prototype.da=function(a,b,c,d){return this.R&&this.R.da(a,b,c,d)||this.u&&this.u.da(a,b,c,d)||this.B&&this.B.da(a,b,c,d)||this.K&&this.K.da(a,b,c,d)?!0:t.prototype.da.call(this,a,b,c,d)};Ib.prototype.Ga=function(a,b,c,d){this.R=a;this.I=b;this.u=c;this.K=d;this.B=Jb(a,"Keyboard")};Ib.prototype.wa=function(a,b){b||Kb();return!0};Ib.prototype.va=function(){return!0};
Ib.prototype.da=function(a,b,c,d){return this.R&&this.R.da(a,b,c,d)||this.w&&this.w.da(a,b,c,d)||this.B&&this.B.da(a,b,c,d)||this.K&&this.K.da(a,b,c,d)?!0:t.prototype.da.call(this,a,b,c,d)};Ib.prototype.Ga=function(a,b,c,d){this.R=a;this.I=b;this.w=c;this.K=d;this.B=Jb(a,"Keyboard")};Ib.prototype.wa=function(a,b){b||Kb();return!0};Ib.prototype.va=function(){return!0};
function Kb(){for(var a=!1,b=qb(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=ob(d),f=lb(e.id);f||(a=!0,f=new Ib(e));pb(f,d);a&&zb(f)}}Ua(Kb);
function Lb(a,b,c){t.call(this,"Bus",a);this.u=b;this.K=c;this.M=a.busWidth||16;this.N=Math.pow(2,this.M);this.C=this.N-1|0;this.g=(this.M>>1)+2;10>this.g&&(this.g=10);15<this.g&&(this.g=15);this.w=1<<this.g;this.O=this.w>>2;this.j=this.w-1;this.L=this.N/this.w|0;this.H=this.L-1;this.A=[];this.B=[];this.D=this.F=!1;this.S=[];this.T=[];a=new z;Mb(a,this.K);this.b=Array(this.L);for(b=0;b<this.L;b++)this.b[b]=a;zb(this)}aa(Lb,t);Lb.prototype.reset=function(){};
Lb.prototype.wa=function(a,b){b||this.reset();return!0};function Nb(a,b,c,d){for(var e=b,f=c,g=e>>>a.g;0<f&&g<a.b.length;){var h=a.b[g],k=g*a.w,p=a.w-(e-k);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.J)return h.pb+=h.J-e,h.J=e,!0;if(e>=h.J+h.pb){p=h.size-(e-k);p>f&&(p=f);h.pb=e-h.J+p;e=k+a.w;f-=p;g++;continue}}return Ob(Rb,e,f)}e=new z(e,p,a.w,d);Mb(e,a.K,h);a.b[g++]=e;e=k+a.w;f-=p}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Sb[d]+" at "+q(b)),!0):Ob(Tb,b,c)}
function Lb(a,b,c){t.call(this,"Bus",a);this.w=b;this.K=c;this.M=a.busWidth||16;this.N=Math.pow(2,this.M);this.C=this.N-1|0;this.g=(this.M>>1)+2;10>this.g&&(this.g=10);15<this.g&&(this.g=15);this.u=1<<this.g;this.O=this.u>>2;this.j=this.u-1;this.L=this.N/this.u|0;this.H=this.L-1;this.A=[];this.B=[];this.D=this.F=!1;this.S=[];this.T=[];a=new z;Mb(a,this.K);this.b=Array(this.L);for(b=0;b<this.L;b++)this.b[b]=a;zb(this)}aa(Lb,t);Lb.prototype.reset=function(){};
Lb.prototype.wa=function(a,b){b||this.reset();return!0};function Nb(a,b,c,d){for(var e=b,f=c,g=e>>>a.g;0<f&&g<a.b.length;){var h=a.b[g],k=g*a.u,p=a.u-(e-k);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.J)return h.pb+=h.J-e,h.J=e,!0;if(e>=h.J+h.pb){p=h.size-(e-k);p>f&&(p=f);h.pb=e-h.J+p;e=k+a.u;f-=p;g++;continue}}return Ob(Rb,e,f)}e=new z(e,p,a.u,d);Mb(e,a.K,h);a.b[g++]=e;e=k+a.u;f-=p}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Sb[d]+" at "+q(b)),!0):Ob(Tb,b,c)}
function Ub(a,b){return a.b[(b&a.C)>>>a.g].ob(b&a.j,b)}function Vb(a,b){var c=b&a.j,d=(b&a.C)>>>a.g;return c!=a.j?a.b[d].Hc(c,b):a.b[d++].Ya(c,b)|a.b[d&a.H].Ya(0,b+1)<<8}function Wb(a,b){var c=b&a.j,d=(b&a.C)>>>a.g;return c!=a.j?a.b[d].Nb(c,b):a.b[d++].ob(c,b)|a.b[d&a.H].ob(0,b+1)<<8}function Xb(a,b,c){a.b[(b&a.C)>>>a.g].qb(b&a.j,c&255,b)}function Yb(a,b,c){var d=b&a.j,e=(b&a.C)>>>a.g;d!=a.j?a.b[e].Kc(d,c&65535,b):(a.b[e++].$a(d,c&255,b),a.b[e&a.H].$a(0,c>>8&255,b+1))}
function Zb(a){for(var b=0,c=[],d=0;d<a.L;d++){var e=a.b[d];if(e.Ea||e.Dc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var p=e[g],u=g+1;u<e.length&&e[u]===p;)u++;k[h++]=u-g;k[h++]=p;g=u}k.length<e.length&&(e=k)}c[f]=e}}return c}function $b(a,b){if(void 0===b)return a.D=!a.D,a.D;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}
function ac(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.A[k]?r("Input port "+q(k)+" already registered"):f.A[k]=[h,!1]}}function bc(a,b,c){for(var d=1,e=0,f=0;0<d;){var g=a.A[b],h=a.S[b]||1,k=1==h?255:2==h?65535:-1,p=k;void 0!==g?(g[0]&&(p=g[0](b,c),void 0===p?p=k:p&=k),a.K&&a.D!=g[1]&&cc(a.K,b,p)):a.K&&(Eb(a.K,a,b,null,c),a.D&&cc(a.K,b,p));e|=p<<f;f+=h<<3;b+=h;d-=h}return e}
function dc(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}function ec(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?r("Output port "+q(k)+" already registered"):f.B[k]=[h,!1]}}
function fc(a,b,c,d){for(var e=1,f=0;0<e;){var g=a.B[b],h=a.T[b]||1,k=1==h?255:2==h?65535:-1,k=(c>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.K&&a.F!=g[1]&&gc(a.K,b,k)}else a.K&&(Eb(a.K,a,b,k,d),a.F&&gc(a.K,b,k));f+=h<<3;b+=h;e-=h}}function Ob(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Rb=1,Tb=2,ic;if(Fb){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
function z(a,b,c,d){this.id=lc+=2;this.b=null;this.J=a;this.pb=b;this.size=c||0;this.type=d||vc;this.u=d==wc;Mb(this);this.Ea=this.Dc=!1;if(c)if(Fb)this.j=new ArrayBuffer(c),this.R=new DataView(this.j,0,c),this.g=new Uint8Array(this.j,0,c),this.w=new Uint16Array(this.j,0,c>>1),this.b=new Int32Array(this.j,0,c>>2),xc(this,kc?yc:zc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;xc(this,Ac)}else xc(this)}l=z.prototype;
function z(a,b,c,d){this.id=lc+=2;this.b=null;this.J=a;this.pb=b;this.size=c||0;this.type=d||vc;this.w=d==wc;Mb(this);this.Ea=this.Dc=!1;if(c)if(Fb)this.j=new ArrayBuffer(c),this.R=new DataView(this.j,0,c),this.g=new Uint8Array(this.j,0,c),this.u=new Uint16Array(this.j,0,c>>1),this.b=new Int32Array(this.j,0,c>>2),xc(this,kc?yc:zc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;xc(this,Ac)}else xc(this)}l=z.prototype;
l.save=function(){var a,b;if(Fb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.R.getInt32(b<<2,!0);else a=this.b;return a};l.restore=function(a){if(a&&this.size==a.length<<2){var b;if(Fb)for(b=0;b<a.length;b++)this.R.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ea=!0}return!1};function xc(a,b){b||(b=Bc);Cc(a,b,void 0);Dc(a,b,void 0)}function Cc(a,b,c){c&&a.I||(a.Ya=b[0]||a.Gc,a.Hc=b[2]||a.Ic);if(c||void 0===c)a.ob=b[0]||a.Gc,a.Nb=b[2]||a.Ic}
function Dc(a,b,c){c&&a.P||(a.$a=!a.u&&b[1]||a.rb,a.Kc=!a.u&&b[3]||a.Rb);if(c||void 0===c)a.qb=b[1]||a.rb,a.Sb=b[3]||a.Rb}l.Pa=function(a,b){b?this.P++||Dc(this,Ec,!1):this.I++||Cc(this,Ec,!1)};function Fc(a,b){b?--a.P||(a.$a=a.u?a.rb:a.qb,a.Kc=a.u?a.Rb:a.Sb):--a.I||(a.Ya=a.ob,a.Hc=a.Nb)}function Mb(a,b,c){a.K=b;a.I=a.P=0;c&&((a.I=c.I)&&Cc(a,Ec,!1),(a.P=c.P)&&Dc(a,Ec,!1))}l.Gc=function(){this.K&&Cb(this.K,129)&&this.K.message("attempt to read invalid block %"+n(this.J),!0);return 255};
function Dc(a,b,c){c&&a.P||(a.$a=!a.w&&b[1]||a.rb,a.Kc=!a.w&&b[3]||a.Rb);if(c||void 0===c)a.qb=b[1]||a.rb,a.Sb=b[3]||a.Rb}l.Pa=function(a,b){b?this.P++||Dc(this,Ec,!1):this.I++||Cc(this,Ec,!1)};function Fc(a,b){b?--a.P||(a.$a=a.w?a.rb:a.qb,a.Kc=a.w?a.Rb:a.Sb):--a.I||(a.Ya=a.ob,a.Hc=a.Nb)}function Mb(a,b,c){a.K=b;a.I=a.P=0;c&&((a.I=c.I)&&Cc(a,Ec,!1),(a.P=c.P)&&Dc(a,Ec,!1))}l.Gc=function(){this.K&&Cb(this.K,129)&&this.K.message("attempt to read invalid block %"+n(this.J),!0);return 255};
l.rb=function(a,b){this.K&&Cb(this.K,129)&&this.K.message("attempt to write "+q(b)+" to invalid block %"+n(this.J),!0)};l.Ic=function(a,b){return this.Ya(a++,b++)|this.Ya(a,b)<<8};l.Rb=function(a,b,c){this.$a(a++,b&255,c++);this.$a(a,b>>8,c)};l.ie=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};l.me=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};l.we=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Ea=!0};
l.Ae=function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ea=!0};l.ge=function(a,b){if(this.K&&null!=this.J){var c=this.K;Gc(c,this.J+a,1,c.M)&&c.ea(!0)}return this.ob(a,b)};l.ke=function(a,b){if(this.K&&null!=this.J){var c=this.K;Gc(c,this.J+a,2,c.M)&&c.ea(!0)}return this.Nb(a,b)};
l.ue=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;Gc(d,this.J+a,1,d.B)&&d.ea(!0)}this.u?this.rb(0,b):this.qb(a,b,c)};l.ye=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;Gc(d,this.J+a,2,d.B)&&d.ea(!0)}this.u?this.rb(0,b):this.Sb(a,b,c)};l.fe=function(a){return this.g[a]};l.he=function(a){return this.g[a]};l.je=function(a){return this.R.getUint16(a,!0)};l.le=function(a){return a&1?this.g[a]|this.g[a+1]<<8:this.w[a>>1]};l.te=function(a,b){this.g[a]=b;this.Ea=!0};
l.ve=function(a,b){this.g[a]=b;this.Ea=!0};l.xe=function(a,b){this.R.setUint16(a,b,!0);this.Ea=!0};l.ze=function(a,b){a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.w[a>>1]=b;this.Ea=!0};var vc=0,wc=2,Sb=["NONE","RAM","ROM","VID","H/W"],lc=0,Bc=[],Ac=[z.prototype.ie,z.prototype.we,z.prototype.me,z.prototype.Ae],Ec=[z.prototype.ge,z.prototype.ue,z.prototype.ke,z.prototype.ye];if(Fb)var zc=[z.prototype.fe,z.prototype.te,z.prototype.je,z.prototype.xe],yc=[z.prototype.he,z.prototype.ve,z.prototype.le,z.prototype.ze];
l.ue=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;Gc(d,this.J+a,1,d.B)&&d.ea(!0)}this.w?this.rb(0,b):this.qb(a,b,c)};l.ye=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;Gc(d,this.J+a,2,d.B)&&d.ea(!0)}this.w?this.rb(0,b):this.Sb(a,b,c)};l.fe=function(a){return this.g[a]};l.he=function(a){return this.g[a]};l.je=function(a){return this.R.getUint16(a,!0)};l.le=function(a){return a&1?this.g[a]|this.g[a+1]<<8:this.u[a>>1]};l.te=function(a,b){this.g[a]=b;this.Ea=!0};
l.ve=function(a,b){this.g[a]=b;this.Ea=!0};l.xe=function(a,b){this.R.setUint16(a,b,!0);this.Ea=!0};l.ze=function(a,b){a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.u[a>>1]=b;this.Ea=!0};var vc=0,wc=2,Sb=["NONE","RAM","ROM","VID","H/W"],lc=0,Bc=[],Ac=[z.prototype.ie,z.prototype.we,z.prototype.me,z.prototype.Ae],Ec=[z.prototype.ge,z.prototype.ue,z.prototype.ke,z.prototype.ye];if(Fb)var zc=[z.prototype.fe,z.prototype.te,z.prototype.je,z.prototype.xe],yc=[z.prototype.he,z.prototype.ve,z.prototype.le,z.prototype.ze];
function Hc(a,b){t.call(this,"CPU",a,1);var c=a.multiplier||1;this.Aa=a.cycles||b;this.U=c;this.Ta=Math.round(this.Aa/1E4)/100;this.Z=this.Ta*this.U;this.G.ma=!1;this.G.Qb=!1;this.G.lb=a.autoStart;this.G.Bc=!1;this.G.Wa=!1;this.xa=this.oa=0;this.za=a.csStart;this.na=a.csInterval;this.sa=a.csStop;this.T=[];this.Db=this.tb.bind(this);zb(this)}aa(Hc,t);l=Hc.prototype;
l.Ga=function(a,b,c,d){this.R=a;this.I=b;this.K=d;for(b=0;b<Ic.length;b++)(c=this.P[Ic[b]])&&this.R.da(null,Ic[b],c);this.V=Jb(a,"ChipSet");a=Jc(a,"autoStart");null!=a&&(this.G.lb="true"==a?!0:"false"==a?!1:!!a);zb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.wa=function(a,b){if(!b){if(a&&this.restore){Kc(this);if(!this.restore(a))return!1;Lc(this)}else this.reset();this.K?(a=this.K,a.i("Type ? for help with PC8080 Debugger commands"),Mc(a),a.na&&(b=a.na,a.na=null,Nc(a,b))):this.i("No debugger detected")}Oc(this);return!0};l.va=function(a){return a?this.save():!0};l.lb=function(){return this.G.lb||!this.K&&void 0===this.P.run?(this.tb(),!0):!1};l.Ec=function(){return 0};
@ -91,32 +91,32 @@ function Rc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y/a.Z?b=1:d=!0;a.U=b;b=a.Ta*a.U;
l.tb=function(a){if(Bb(this,!0)){if(!this.G.ma){Rc(this);this.R&&this.R.start(this.W,Qc(this));this.G.ma=!0;this.G.Qb=!0;this.V&&this.V.start();var b=this.P.run;b&&(b.textContent="Halt");this.R&&(Yc(this.R,!0),a&&this.R.Za(!0))}this.Va>=this.Aa&&Tc(this,!0);this.Da=0;this.Ma=ib();this.ba&&(a=this.Ma-this.ba,a>this.jb&&(this.W+=a,this.W>this.Ma&&(this.W=this.Ma)));try{do{for(var c,d=this.G.Wa?1:this.Na,e=this.T.length-1;0<=e;e--){var f=this.T[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Eb(c);c=Xc(this,!0);
this.Da+=c;this.X+=c;Pc(this,c);a=c;for(var g=this.T.length-1;0<=g;g--){var h=this.T[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ta-=c;if(0>=this.ta){this.ta+=this.Na;++this.kb>=Zc&&(this.R&&Yc(this.R),this.kb=0);break}}while(this.G.ma)}catch(k){this.ea();Oc(this);this.R&&this.R.stop(ib(),Qc(this));Bb(this,!1);xb(this,k.stack||k.message);return}c=setTimeout;d=this.Db;this.ba=ib();e=this.jb;this.Da&&(e=Math.round(e*this.Da/this.Na));e-=this.ba-this.Ma;if(f=this.ba-this.W)this.Y=Math.round(this.X/
(10*f))/100,864E5<=f&&(this.ka=0,Rc(this));if(0>e||this.Y<this.Z)-1E3>e&&(this.W-=e),e=0;this.Va+=this.Da;this.ba+=e;c(d,e)}else Oc(this),this.R&&this.R.stop(ib(),Qc(this))};l.Eb=function(){return 0};l.ea=function(a){Ab(this,!0);Xc(this);Sc(this,this.X);this.X=0;if(this.G.ma){this.G.ma=!1;this.V&&this.V.stop();var b=this.P.run;b&&(b.textContent="Run")}this.G.complete=a};function Oc(a,b){if(a.R){for(var c=a.R,d=0;d<c.A.length;d++)$c(c.A[d],b);Yc(a.R,b)}}var Uc=30,Zc=15,Ic=["power","reset"];
function ad(a){var b=+a.model||8080;Hc.call(this,a,1E6);this.xb=b;this.gb=bd;Kc(this);this.G.complete=this.G.zd=!1;this.ib=0;this.La=[];this.hb=0;od(this)}aa(ad,Hc);function pd(a,b){a.La.push(b)}l=ad.prototype;l.reset=function(){this.G.ma&&this.ea();od(this);Kc(this);this.G.error=!1;Hc.prototype.reset.call(this)};function od(a){a.g=0;a.w=0;a.A=0;a.B=0;a.C=0;a.D=0;a.F=0;a.M=0;A(a,a.hb);qd(a,0);a.S=0}function rd(a,b){a.hb=b;A(a,b)}
l.Ec=function(){var a=this.g+this.w+this.A+this.B+this.C+this.D+this.F|0;return a=a+this.M+this.j+sd(this)|0};l.save=function(){var a=new td(this);a.set(0,[this.g,this.w,this.A,this.B,this.C,this.D,this.F,this.M,this.j,sd(this)]);a.set(1,[this.S,this.ka,this.U]);a.set(2,Zb(this.I));return a.data()};
l.restore=function(a){var b=a[0];this.g=b[0];this.w=b[1];this.A=b[2];this.B=b[3];this.C=b[4];this.D=b[5];this.F=b[6];this.M=b[7]&65535;A(this,b[8]);qd(this,b[9]);b=a[1];this.S=b[0];this.ka=b[1];Rc(this,b[3]);a:{b=this.I;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,g=Array(b.O),h=0;h<e.length-1;)for(var k=e[h++],p=e[h++];k--;)g[f++]=p;e=g}f=b.b[d];if(!f||!f.restore(e)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.da=function(a,b,c){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 "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.P[b]=c;this.ib++;a=!0;break;default:a=Hc.prototype.da.call(this,a,b,c)}return a};function ud(a){return a.w<<8|a.A}function vd(a,b){a.w=b>>8&255;a.A=b&255}function wd(a){return a.B<<8|a.C}function xd(a,b){a.B=b>>8&255;a.C=b&255}function D(a){return a.D<<8|a.F}
function ad(a){var b=+a.model||8080;Hc.call(this,a,1E6);this.xb=b;this.gb=bd;Kc(this);this.G.complete=this.G.zd=!1;this.ib=0;this.La=[];this.hb=0;od(this)}aa(ad,Hc);function pd(a,b){a.La.push(b)}l=ad.prototype;l.reset=function(){this.G.ma&&this.ea();od(this);Kc(this);this.G.error=!1;Hc.prototype.reset.call(this)};function od(a){a.g=0;a.u=0;a.A=0;a.B=0;a.C=0;a.D=0;a.F=0;a.M=0;A(a,a.hb);qd(a,0);a.S=0}function rd(a,b){a.hb=b;A(a,b)}
l.Ec=function(){var a=this.g+this.u+this.A+this.B+this.C+this.D+this.F|0;return a=a+this.M+this.j+sd(this)|0};l.save=function(){var a=new td(this);a.set(0,[this.g,this.u,this.A,this.B,this.C,this.D,this.F,this.M,this.j,sd(this)]);a.set(1,[this.S,this.ka,this.U]);a.set(2,Zb(this.I));return a.data()};
l.restore=function(a){var b=a[0];this.g=b[0];this.u=b[1];this.A=b[2];this.B=b[3];this.C=b[4];this.D=b[5];this.F=b[6];this.M=b[7]&65535;A(this,b[8]);qd(this,b[9]);b=a[1];this.S=b[0];this.ka=b[1];Rc(this,b[3]);a:{b=this.I;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,g=Array(b.O),h=0;h<e.length-1;)for(var k=e[h++],p=e[h++];k--;)g[f++]=p;e=g}f=b.b[d];if(!f||!f.restore(e)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.da=function(a,b,c){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 "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.P[b]=c;this.ib++;a=!0;break;default:a=Hc.prototype.da.call(this,a,b,c)}return a};function ud(a){return a.u<<8|a.A}function vd(a,b){a.u=b>>8&255;a.A=b&255}function wd(a){return a.B<<8|a.C}function xd(a,b){a.B=b>>8&255;a.C=b&255}function D(a){return a.D<<8|a.F}
function yd(a,b){a.D=b>>8&255;a.F=b&255}function A(a,b){a.j=b&65535}function zd(a){return a.H&256?1:0}function Ad(a,b){a.H=a.H&255|b}function Bd(a){return Gb[a.L&255]?4:0}function Cd(a){return(a.L^a.O)&16?16:0}function Dd(a){return a.H&255?0:64}function Ed(a){return a.L&128?128:0}function sd(a){return a.N&-214|Ed(a)|Dd(a)|Cd(a)|Bd(a)|zd(a)}function qd(a,b){a.H=a.L=a.O=0;b&1&&(a.H|=256);b&4||(a.L|=1);b&16&&(a.O|=16);b&64||(a.H|=255);b&128&&(a.L^=192);a.N=a.N&-726|b&512|2}
function Fd(a,b){a.O=a.g^b;return a.L=(a.H=a.g+b)&255}function Gd(a,b){a.O=a.g^b;return a.L=(a.H=a.g+b+(a.H&256?1:0))&255}function Hd(a,b){a.H=a.L=a.O=a.g&b;(a.g|b)&8&&(a.O^=16);return a.H}function Id(a,b){a.O=b^255;b=a.L=b+255&255;a.H=a.H&-256|b;return b}function Jd(a,b){a.O=b;b=a.L=b+1&255;a.H=a.H&-256|b;return b}function Kd(a,b){return a.L=a.H=a.O=a.g|b}function Ld(a,b){b^=255;a.O=a.g^b;return a.L=(a.H=a.g+b+1^256)&255}
function Md(a,b){b^=255;a.O=a.g^b;return a.L=(a.H=a.g+b+(a.H&256?0:1)^256)&255}function Nd(a,b){return a.L=a.H=a.O=a.g^b}function E(a,b){a=a.I;return a.b[(b&a.C)>>>a.g].Ya(b&a.j,b)}function Od(a,b,c){a=a.I;a.b[(b&a.C)>>>a.g].$a(b&a.j,c&255,b)}function F(a){var b=E(a,a.j);A(a,a.j+1);return b}function G(a){var b=Vb(a.I,a.j);A(a,a.j+2);return b}function Pd(a){var b=Vb(a.I,a.M);a.M=a.M+2&65535;return b}function H(a,b){a.M=a.M-2&65535;Yb(a.I,a.M,b)}
function Qd(a){if(a.b&&a.S&255&&a.N&512){for(var b=0;8>b&&!(a.S&1<<b);b++);a.S&=~(0>b?255:1<<b);a.N&=-513;a.S&=-257;a.gb[199|b<<3].call(a)}return a.S&256?(Xc(a),!1):!0}function Rd(a,b){a.S|=1<<b;a.N&512&&Xc(a)}function I(a,b,c,d){d=d||2;a.P[b]&&(void 0===c&&(xb(a,"Value for "+b+" is invalid"),a.ea()),c=!a.G.ma||a.G.Bc?n(c,d):"--------".substr(0,d),a.P[b].textContent!=c&&(a.P[b].textContent=c))}
l.Eb=function(a){this.G.complete=!0;var b=this.G.zd=this.K&&Sd(this.K),c=a?this.G.Qb?0:1:-1;this.G.Qb=!1;this.fa=this.b=a;if(Qd(this)){do{if(b){if(Td(this.K,this.j,c)){this.ea();break}c=1}this.gb[F(this)].call(this)}while(0<this.b)}return this.G.complete?this.fa-this.b:void 0===this.G.complete?0:-1};Ua(function(){for(var a=qb(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ad(d);pb(d,c)}});function Ud(){this.b-=4}function Vd(){A(this,G(this));this.b-=10}
function Wd(){A(this,Pd(this));this.b-=10}function Xd(){var a=G(this);H(this,this.j);A(this,a);this.b-=17}
var bd=[Ud,function(){vd(this,G(this));this.b-=10},function(){Od(this,ud(this),this.g);this.b-=7},function(){vd(this,ud(this)+1);this.b-=5},function(){this.w=Jd(this,this.w);this.b-=5},function(){this.w=Id(this,this.w);this.b-=5},function(){this.w=F(this);this.b-=7},function(){var a=this.g<<1;this.g=a&255|a>>8;Ad(this,a&256);this.b-=4},Ud,function(){var a;yd(this,a=D(this)+ud(this));Ad(this,a>>8&256);this.b-=10},function(){this.g=E(this,ud(this));this.b-=7},function(){vd(this,ud(this)-1);this.b-=
var bd=[Ud,function(){vd(this,G(this));this.b-=10},function(){Od(this,ud(this),this.g);this.b-=7},function(){vd(this,ud(this)+1);this.b-=5},function(){this.u=Jd(this,this.u);this.b-=5},function(){this.u=Id(this,this.u);this.b-=5},function(){this.u=F(this);this.b-=7},function(){var a=this.g<<1;this.g=a&255|a>>8;Ad(this,a&256);this.b-=4},Ud,function(){var a;yd(this,a=D(this)+ud(this));Ad(this,a>>8&256);this.b-=10},function(){this.g=E(this,ud(this));this.b-=7},function(){vd(this,ud(this)-1);this.b-=
5},function(){this.A=Jd(this,this.A);this.b-=5},function(){this.A=Id(this,this.A);this.b-=5},function(){this.A=F(this);this.b-=7},function(){var a=this.g<<8&256;this.g=(a|this.g)>>1;Ad(this,a);this.b-=4},Ud,function(){xd(this,G(this));this.b-=10},function(){Od(this,wd(this),this.g);this.b-=7},function(){xd(this,wd(this)+1);this.b-=5},function(){this.B=Jd(this,this.B);this.b-=5},function(){this.B=Id(this,this.B);this.b-=5},function(){this.B=F(this);this.b-=7},function(){var a=this.g<<1;this.g=a&255|
zd(this);Ad(this,a&256);this.b-=4},Ud,function(){var a;yd(this,a=D(this)+wd(this));Ad(this,a>>8&256);this.b-=10},function(){this.g=E(this,wd(this));this.b-=7},function(){xd(this,wd(this)-1);this.b-=5},function(){this.C=Jd(this,this.C);this.b-=5},function(){this.C=Id(this,this.C);this.b-=5},function(){this.C=F(this);this.b-=7},function(){var a=this.g<<8;this.g=(zd(this)<<8|this.g)>>1;Ad(this,a&256);this.b-=4},Ud,function(){yd(this,G(this));this.b-=10},function(){var a=G(this);Yb(this.I,a,D(this));
this.b-=16},function(){yd(this,D(this)+1);this.b-=5},function(){this.D=Jd(this,this.D);this.b-=5},function(){this.D=Id(this,this.D);this.b-=5},function(){this.D=F(this);this.b-=7},function(){var a=0,b=zd(this);if(Cd(this)||9<(this.g&15))a|=6;if(b||154<=this.g)a|=96,b=1;this.g=Fd(this,a);Ad(this,b?256:0);this.b-=4},Ud,function(){var a;yd(this,a=D(this)+D(this));Ad(this,a>>8&256);this.b-=10},function(){var a;a=G(this);a=Vb(this.I,a);yd(this,a);this.b-=16},function(){yd(this,D(this)-1);this.b-=5},function(){this.F=
Jd(this,this.F);this.b-=5},function(){this.F=Id(this,this.F);this.b-=5},function(){this.F=F(this);this.b-=7},function(){this.g=~this.g&255;this.b-=4},Ud,function(){this.M=G(this)&65535;this.b-=10},function(){Od(this,G(this),this.g);this.b-=13},function(){this.M=this.M+1&65535;this.b-=5},function(){var a=D(this);Od(this,a,Jd(this,E(this,a)));this.b-=10},function(){var a=D(this);Od(this,a,Id(this,E(this,a)));this.b-=10},function(){Od(this,D(this),F(this));this.b-=10},function(){this.H|=256;this.b-=
4},Ud,function(){var a;yd(this,a=D(this)+this.M);Ad(this,a>>8&256);this.b-=10},function(){this.g=E(this,G(this));this.b-=13},function(){this.M=this.M-1&65535;this.b-=5},function(){this.g=Jd(this,this.g);this.b-=5},function(){this.g=Id(this,this.g);this.b-=5},function(){this.g=F(this);this.b-=7},function(){Ad(this,zd(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.w=this.A;this.b-=5},function(){this.w=this.B;this.b-=5},function(){this.w=this.C;this.b-=5},function(){this.w=this.D;this.b-=
5},function(){this.w=this.F;this.b-=5},function(){this.w=E(this,D(this));this.b-=7},function(){this.w=this.g;this.b-=5},function(){this.A=this.w;this.b-=5},function(){this.b-=5},function(){this.A=this.B;this.b-=5},function(){this.A=this.C;this.b-=5},function(){this.A=this.D;this.b-=5},function(){this.A=this.F;this.b-=5},function(){this.A=E(this,D(this));this.b-=7},function(){this.A=this.g;this.b-=5},function(){this.B=this.w;this.b-=5},function(){this.B=this.A;this.b-=5},function(){this.b-=5},function(){this.B=
this.C;this.b-=5},function(){this.B=this.D;this.b-=5},function(){this.B=this.F;this.b-=5},function(){this.B=E(this,D(this));this.b-=7},function(){this.B=this.g;this.b-=5},function(){this.C=this.w;this.b-=5},function(){this.C=this.A;this.b-=5},function(){this.C=this.B;this.b-=5},function(){this.b-=5},function(){this.C=this.D;this.b-=5},function(){this.C=this.F;this.b-=5},function(){this.C=E(this,D(this));this.b-=7},function(){this.C=this.g;this.b-=5},function(){this.D=this.w;this.b-=5},function(){this.D=
this.A;this.b-=5},function(){this.D=this.B;this.b-=5},function(){this.D=this.C;this.b-=5},function(){this.b-=5},function(){this.D=this.F;this.b-=5},function(){this.D=E(this,D(this));this.b-=7},function(){this.D=this.g;this.b-=5},function(){this.F=this.w;this.b-=5},function(){this.F=this.A;this.b-=5},function(){this.F=this.B;this.b-=5},function(){this.F=this.C;this.b-=5},function(){this.F=this.D;this.b-=5},function(){this.b-=5},function(){this.F=E(this,D(this));this.b-=7},function(){this.F=this.g;
this.b-=5},function(){Od(this,D(this),this.w);this.b-=7},function(){Od(this,D(this),this.A);this.b-=7},function(){Od(this,D(this),this.B);this.b-=7},function(){Od(this,D(this),this.C);this.b-=7},function(){Od(this,D(this),this.D);this.b-=7},function(){Od(this,D(this),this.F);this.b-=7},function(){var a=this.j-1;if(this.La.length)for(var b=0;b<this.La.length;b++)if(this.La[b](a))return;this.b-=7;this.S|=256;Xc(this);this.K&&Cb(this,-2147483648)?(A(this,a),this.K.ea()):this.N&512||(this.K&&A(this,a),
this.ea())},function(){Od(this,D(this),this.g);this.b-=7},function(){this.g=this.w;this.b-=5},function(){this.g=this.A;this.b-=5},function(){this.g=this.B;this.b-=5},function(){this.g=this.C;this.b-=5},function(){this.g=this.D;this.b-=5},function(){this.g=this.F;this.b-=5},function(){this.g=E(this,D(this));this.b-=7},function(){this.b-=5},function(){this.g=Fd(this,this.w);this.b-=4},function(){this.g=Fd(this,this.A);this.b-=4},function(){this.g=Fd(this,this.B);this.b-=4},function(){this.g=Fd(this,
this.C);this.b-=4},function(){this.g=Fd(this,this.D);this.b-=4},function(){this.g=Fd(this,this.F);this.b-=4},function(){this.g=Fd(this,E(this,D(this)));this.b-=7},function(){this.g=Fd(this,this.g);this.b-=4},function(){this.g=Gd(this,this.w);this.b-=4},function(){this.g=Gd(this,this.A);this.b-=4},function(){this.g=Gd(this,this.B);this.b-=4},function(){this.g=Gd(this,this.C);this.b-=4},function(){this.g=Gd(this,this.D);this.b-=4},function(){this.g=Gd(this,this.F);this.b-=4},function(){this.g=Gd(this,
E(this,D(this)));this.b-=7},function(){this.g=Gd(this,this.g);this.b-=4},function(){this.g=Ld(this,this.w);this.b-=4},function(){this.g=Ld(this,this.A);this.b-=4},function(){this.g=Ld(this,this.B);this.b-=4},function(){this.g=Ld(this,this.C);this.b-=4},function(){this.g=Ld(this,this.D);this.b-=4},function(){this.g=Ld(this,this.F);this.b-=4},function(){this.g=Ld(this,E(this,D(this)));this.b-=7},function(){this.g=Ld(this,this.g);this.b-=4},function(){this.g=Md(this,this.w);this.b-=4},function(){this.g=
Md(this,this.A);this.b-=4},function(){this.g=Md(this,this.B);this.b-=4},function(){this.g=Md(this,this.C);this.b-=4},function(){this.g=Md(this,this.D);this.b-=4},function(){this.g=Md(this,this.F);this.b-=4},function(){this.g=Md(this,E(this,D(this)));this.b-=7},function(){this.g=Md(this,this.g);this.b-=4},function(){this.g=Hd(this,this.w);this.b-=4},function(){this.g=Hd(this,this.A);this.b-=4},function(){this.g=Hd(this,this.B);this.b-=4},function(){this.g=Hd(this,this.C);this.b-=4},function(){this.g=
Hd(this,this.D);this.b-=4},function(){this.g=Hd(this,this.F);this.b-=4},function(){this.g=Hd(this,E(this,D(this)));this.b-=7},function(){this.g=Hd(this,this.g);this.b-=4},function(){this.g=Nd(this,this.w);this.b-=4},function(){this.g=Nd(this,this.A);this.b-=4},function(){this.g=Nd(this,this.B);this.b-=4},function(){this.g=Nd(this,this.C);this.b-=4},function(){this.g=Nd(this,this.D);this.b-=4},function(){this.g=Nd(this,this.F);this.b-=4},function(){this.g=Nd(this,E(this,D(this)));this.b-=7},function(){this.g=
Nd(this,this.g);this.b-=4},function(){this.g=Kd(this,this.w);this.b-=4},function(){this.g=Kd(this,this.A);this.b-=4},function(){this.g=Kd(this,this.B);this.b-=4},function(){this.g=Kd(this,this.C);this.b-=4},function(){this.g=Kd(this,this.D);this.b-=4},function(){this.g=Kd(this,this.F);this.b-=4},function(){this.g=Kd(this,E(this,D(this)));this.b-=7},function(){this.g=Kd(this,this.g);this.b-=4},function(){Ld(this,this.w);this.b-=4},function(){Ld(this,this.A);this.b-=4},function(){Ld(this,this.B);this.b-=
4},Ud,function(){var a;yd(this,a=D(this)+this.M);Ad(this,a>>8&256);this.b-=10},function(){this.g=E(this,G(this));this.b-=13},function(){this.M=this.M-1&65535;this.b-=5},function(){this.g=Jd(this,this.g);this.b-=5},function(){this.g=Id(this,this.g);this.b-=5},function(){this.g=F(this);this.b-=7},function(){Ad(this,zd(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.u=this.A;this.b-=5},function(){this.u=this.B;this.b-=5},function(){this.u=this.C;this.b-=5},function(){this.u=this.D;this.b-=
5},function(){this.u=this.F;this.b-=5},function(){this.u=E(this,D(this));this.b-=7},function(){this.u=this.g;this.b-=5},function(){this.A=this.u;this.b-=5},function(){this.b-=5},function(){this.A=this.B;this.b-=5},function(){this.A=this.C;this.b-=5},function(){this.A=this.D;this.b-=5},function(){this.A=this.F;this.b-=5},function(){this.A=E(this,D(this));this.b-=7},function(){this.A=this.g;this.b-=5},function(){this.B=this.u;this.b-=5},function(){this.B=this.A;this.b-=5},function(){this.b-=5},function(){this.B=
this.C;this.b-=5},function(){this.B=this.D;this.b-=5},function(){this.B=this.F;this.b-=5},function(){this.B=E(this,D(this));this.b-=7},function(){this.B=this.g;this.b-=5},function(){this.C=this.u;this.b-=5},function(){this.C=this.A;this.b-=5},function(){this.C=this.B;this.b-=5},function(){this.b-=5},function(){this.C=this.D;this.b-=5},function(){this.C=this.F;this.b-=5},function(){this.C=E(this,D(this));this.b-=7},function(){this.C=this.g;this.b-=5},function(){this.D=this.u;this.b-=5},function(){this.D=
this.A;this.b-=5},function(){this.D=this.B;this.b-=5},function(){this.D=this.C;this.b-=5},function(){this.b-=5},function(){this.D=this.F;this.b-=5},function(){this.D=E(this,D(this));this.b-=7},function(){this.D=this.g;this.b-=5},function(){this.F=this.u;this.b-=5},function(){this.F=this.A;this.b-=5},function(){this.F=this.B;this.b-=5},function(){this.F=this.C;this.b-=5},function(){this.F=this.D;this.b-=5},function(){this.b-=5},function(){this.F=E(this,D(this));this.b-=7},function(){this.F=this.g;
this.b-=5},function(){Od(this,D(this),this.u);this.b-=7},function(){Od(this,D(this),this.A);this.b-=7},function(){Od(this,D(this),this.B);this.b-=7},function(){Od(this,D(this),this.C);this.b-=7},function(){Od(this,D(this),this.D);this.b-=7},function(){Od(this,D(this),this.F);this.b-=7},function(){var a=this.j-1;if(this.La.length)for(var b=0;b<this.La.length;b++)if(this.La[b](a))return;this.b-=7;this.S|=256;Xc(this);this.K&&Cb(this,-2147483648)?(A(this,a),this.K.ea()):this.N&512||(this.K&&A(this,a),
this.ea())},function(){Od(this,D(this),this.g);this.b-=7},function(){this.g=this.u;this.b-=5},function(){this.g=this.A;this.b-=5},function(){this.g=this.B;this.b-=5},function(){this.g=this.C;this.b-=5},function(){this.g=this.D;this.b-=5},function(){this.g=this.F;this.b-=5},function(){this.g=E(this,D(this));this.b-=7},function(){this.b-=5},function(){this.g=Fd(this,this.u);this.b-=4},function(){this.g=Fd(this,this.A);this.b-=4},function(){this.g=Fd(this,this.B);this.b-=4},function(){this.g=Fd(this,
this.C);this.b-=4},function(){this.g=Fd(this,this.D);this.b-=4},function(){this.g=Fd(this,this.F);this.b-=4},function(){this.g=Fd(this,E(this,D(this)));this.b-=7},function(){this.g=Fd(this,this.g);this.b-=4},function(){this.g=Gd(this,this.u);this.b-=4},function(){this.g=Gd(this,this.A);this.b-=4},function(){this.g=Gd(this,this.B);this.b-=4},function(){this.g=Gd(this,this.C);this.b-=4},function(){this.g=Gd(this,this.D);this.b-=4},function(){this.g=Gd(this,this.F);this.b-=4},function(){this.g=Gd(this,
E(this,D(this)));this.b-=7},function(){this.g=Gd(this,this.g);this.b-=4},function(){this.g=Ld(this,this.u);this.b-=4},function(){this.g=Ld(this,this.A);this.b-=4},function(){this.g=Ld(this,this.B);this.b-=4},function(){this.g=Ld(this,this.C);this.b-=4},function(){this.g=Ld(this,this.D);this.b-=4},function(){this.g=Ld(this,this.F);this.b-=4},function(){this.g=Ld(this,E(this,D(this)));this.b-=7},function(){this.g=Ld(this,this.g);this.b-=4},function(){this.g=Md(this,this.u);this.b-=4},function(){this.g=
Md(this,this.A);this.b-=4},function(){this.g=Md(this,this.B);this.b-=4},function(){this.g=Md(this,this.C);this.b-=4},function(){this.g=Md(this,this.D);this.b-=4},function(){this.g=Md(this,this.F);this.b-=4},function(){this.g=Md(this,E(this,D(this)));this.b-=7},function(){this.g=Md(this,this.g);this.b-=4},function(){this.g=Hd(this,this.u);this.b-=4},function(){this.g=Hd(this,this.A);this.b-=4},function(){this.g=Hd(this,this.B);this.b-=4},function(){this.g=Hd(this,this.C);this.b-=4},function(){this.g=
Hd(this,this.D);this.b-=4},function(){this.g=Hd(this,this.F);this.b-=4},function(){this.g=Hd(this,E(this,D(this)));this.b-=7},function(){this.g=Hd(this,this.g);this.b-=4},function(){this.g=Nd(this,this.u);this.b-=4},function(){this.g=Nd(this,this.A);this.b-=4},function(){this.g=Nd(this,this.B);this.b-=4},function(){this.g=Nd(this,this.C);this.b-=4},function(){this.g=Nd(this,this.D);this.b-=4},function(){this.g=Nd(this,this.F);this.b-=4},function(){this.g=Nd(this,E(this,D(this)));this.b-=7},function(){this.g=
Nd(this,this.g);this.b-=4},function(){this.g=Kd(this,this.u);this.b-=4},function(){this.g=Kd(this,this.A);this.b-=4},function(){this.g=Kd(this,this.B);this.b-=4},function(){this.g=Kd(this,this.C);this.b-=4},function(){this.g=Kd(this,this.D);this.b-=4},function(){this.g=Kd(this,this.F);this.b-=4},function(){this.g=Kd(this,E(this,D(this)));this.b-=7},function(){this.g=Kd(this,this.g);this.b-=4},function(){Ld(this,this.u);this.b-=4},function(){Ld(this,this.A);this.b-=4},function(){Ld(this,this.B);this.b-=
4},function(){Ld(this,this.C);this.b-=4},function(){Ld(this,this.D);this.b-=4},function(){Ld(this,this.F);this.b-=4},function(){Ld(this,E(this,D(this)));this.b-=7},function(){Ld(this,this.g);this.b-=4},function(){Dd(this)||(A(this,Pd(this)),this.b-=6);this.b-=5},function(){vd(this,Pd(this));this.b-=10},function(){var a=G(this);Dd(this)||A(this,a);this.b-=10},Vd,function(){var a=G(this);Dd(this)||(H(this,this.j),A(this,a),this.b-=6);this.b-=11},function(){H(this,ud(this));this.b-=11},function(){this.g=
Fd(this,F(this));this.b-=7},function(){H(this,this.j);A(this,0);this.b-=11},function(){Dd(this)&&(A(this,Pd(this)),this.b-=6);this.b-=5},Wd,function(){var a=G(this);Dd(this)&&A(this,a);this.b-=10},Vd,function(){var a=G(this);Dd(this)&&(H(this,this.j),A(this,a),this.b-=6);this.b-=11},Xd,function(){this.g=Gd(this,F(this));this.b-=7},function(){H(this,this.j);A(this,8);this.b-=11},function(){zd(this)||(A(this,Pd(this)),this.b-=6);this.b-=5},function(){xd(this,Pd(this));this.b-=10},function(){var a=G(this);
zd(this)||A(this,a);this.b-=10},function(){var a=F(this);fc(this.I,a,this.g,this.j+-2&65535);this.b-=10},function(){var a=G(this);zd(this)||(H(this,this.j),A(this,a),this.b-=6);this.b-=11},function(){H(this,wd(this));this.b-=11},function(){this.g=Ld(this,F(this));this.b-=7},function(){H(this,this.j);A(this,16);this.b-=11},function(){zd(this)&&(A(this,Pd(this)),this.b-=6);this.b-=5},Wd,function(){var a=G(this);zd(this)&&A(this,a);this.b-=10},function(){var a=F(this);this.g=bc(this.I,a,this.j+-2&65535)&
@ -125,42 +125,42 @@ zd(this)||A(this,a);this.b-=10},function(){var a=F(this);fc(this.I,a,this.g,this
this.j);A(this,40);this.b-=11},function(){Ed(this)||(A(this,Pd(this)),this.b-=6);this.b-=5},function(){var a=Pd(this);qd(this,a&255|this.N&-256);this.g=a>>8;this.b-=10},function(){var a=G(this);Ed(this)||A(this,a);this.b-=10},function(){this.N&=-513;this.b-=4},function(){var a=G(this);Ed(this)||(H(this,this.j),A(this,a),this.b-=6);this.b-=11},function(){H(this,sd(this)&255|this.g<<8);this.b-=11},function(){this.g=Kd(this,F(this));this.b-=7},function(){H(this,this.j);A(this,48);this.b-=11},function(){Ed(this)&&
(A(this,Pd(this)),this.b-=6);this.b-=5},function(){this.M=D(this)&65535;this.b-=5},function(){var a=G(this);Ed(this)&&A(this,a);this.b-=10},function(){this.N|=512;this.b-=4;Qd(this)},function(){var a=G(this);Ed(this)&&(H(this,this.j),A(this,a),this.b-=6);this.b-=11},Xd,function(){Ld(this,F(this));this.b-=7},function(){H(this,this.j);A(this,56);this.b-=11}];
function Yd(a){t.call(this,"ChipSet",a,32768);var b=a.model;b&&!Zd[b]&&Ya("Unrecognized ChipSet model: "+b);this.g=Zd[b]||{};a.sound&&(this.U=null,window&&(this.U=window.AudioContext||window.webkitAudioContext),this.U&&new this.U);zb(this)}aa(Yd,t);l=Yd.prototype;l.da=function(){return!1};
l.Ga=function(a,b,c,d){this.I=b;this.u=c;this.K=d;this.R=a;this.B=Jb(a,"Keyboard");this.C=Jb(a,"SerialPort");this.video=Jb(a,"Video");ac(b,this,this.g.Bb);ec(b,this,this.g.Cb);if(d){var e=this;$d(d,16384,function(){for(var a="",b=0;b<e.j.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=q(e.j[b]);e.K.i(a)})}};l.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.va=function(a){return a?this.save():!0};l.reset=function(){this.g.INIT&&!this.restore(this.g.INIT)&&this.aa("reset error")};
l.save=function(){var a=new td(this);switch(this.g.pa){case ae.pa:a.set(0,[this.ba,this.A,this.fa,this.N,this.T,this.Y,this.Z]);break;case J.pa:a.set(0,[this.V,this.D]),a.set(1,[this.F,this.H]),a.set(2,[this.w,this.O,this.X,this.W]),a.set(3,[this.M,this.b,this.L,this.S,this.j])}return a.data()};
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.g.pa){case ae.pa:return this.ba=b[0],this.A=b[1],this.fa=b[2],this.N=b[3],this.T=b[4],this.Y=b[5],this.Z=b[6],!0;case J.pa:return this.V=b[0],this.D=b[1],b=a[1],this.F=b[0],this.H=b[1],b=a[2],this.w=b[0],this.O=b[1],this.X=b[2],this.W=b[3],b=a[3],this.M=b[0],this.b=b[1],this.L=b[2],this.S=b[3],this.j=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Jd=function(a,b){var c=this.ba;x(this,a,null,b,"STATUS0",c,!0);return c};
l.Ga=function(a,b,c,d){this.I=b;this.w=c;this.K=d;this.R=a;this.B=Jb(a,"Keyboard");this.C=Jb(a,"SerialPort");this.video=Jb(a,"Video");ac(b,this,this.g.Bb);ec(b,this,this.g.Cb);if(d){var e=this;$d(d,16384,function(){for(var a="",b=0;b<e.j.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=q(e.j[b]);e.K.i(a)})}};l.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.va=function(a){return a?this.save():!0};l.reset=function(){this.g.INIT&&!this.restore(this.g.INIT)&&this.aa("reset error")};
l.save=function(){var a=new td(this);switch(this.g.pa){case ae.pa:a.set(0,[this.ba,this.A,this.fa,this.N,this.T,this.Y,this.Z]);break;case J.pa:a.set(0,[this.V,this.D]),a.set(1,[this.F,this.H]),a.set(2,[this.u,this.O,this.X,this.W]),a.set(3,[this.M,this.b,this.L,this.S,this.j])}return a.data()};
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.g.pa){case ae.pa:return this.ba=b[0],this.A=b[1],this.fa=b[2],this.N=b[3],this.T=b[4],this.Y=b[5],this.Z=b[6],!0;case J.pa:return this.V=b[0],this.D=b[1],b=a[1],this.F=b[0],this.H=b[1],b=a[2],this.u=b[0],this.O=b[1],this.X=b[2],this.W=b[3],b=a[3],this.M=b[0],this.b=b[1],this.L=b[2],this.S=b[3],this.j=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Jd=function(a,b){var c=this.ba;x(this,a,null,b,"STATUS0",c,!0);return c};
l.Kd=function(a,b){var c=this.A;x(this,a,null,b,"STATUS1",c,!0);return c};l.Ld=function(a,b){var c=this.fa;x(this,a,null,b,"STATUS2",c,!0);return c};l.Id=function(a,b){var c=this.N>>8-this.T&255;x(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.Wd=function(a,b,c){x(this,a,b,c,"SHIFT.COUNT",null,!0);this.T=b};l.Yd=function(a,b,c){x(this,a,b,c,"SOUND1",null,!0);this.Y=b};l.Xd=function(a,b,c){x(this,a,b,c,"SHIFT.DATA",null,!0);this.N=b<<8|this.N>>8};
l.Zd=function(a,b,c){x(this,a,b,c,"SOUND2",null,!0);this.Z=b};l.$d=function(a,b,c){x(this,a,b,c,"WATCHDOG",null,!0)};function be(a){var b=0,c=0,d=~a.M;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
l.Md=function(a,b){var c=this.D,c=c&~J.ya.jc;if((Qc(this.u)&64)<<1&&(c|=J.ya.jc,c!=this.D)){var d,e;d=this.L&1;e=this.L>>1&7;switch(e){case J.Ba.Ja.nd:break;case J.Ba.Ja.Lc:this.M=this.M<<1|d;break;case J.Ba.Ja.Rc:d=be(this);this.j[d]=J.Ba.vb;Db(this,"doNVRCommand(): erase data at addr "+q(d));break;case J.Ba.Ja.Mc:this.b=this.b<<1|d;break;case J.Ba.Ja.rd:d=be(this);e=this.b&J.Ba.vb;this.j[d]=e;Db(this,"doNVRCommand(): write data "+q(e)+" to addr "+q(d));break;case J.Ba.Ja.ld:d=be(this);e=this.j[d];
null==e&&(e=J.Ba.vb);this.b=e;Db(this,"doNVRCommand(): read data "+q(e)+" from addr "+q(d));break;case J.Ba.Ja.md:this.b<<=1;this.S=this.b&J.Ba.vb+1;break;default:Db(this,"doNVRCommand(): unrecognized command "+pa(e))}}c&=~J.ya.kc;this.S&&(c|=J.ya.kc);c&=~J.ya.dc;if(d=this.B){d=this.B;if(e=d.A)e=d.u,e=Qc(d.u)>=d.F+e.Aa*e.U/1E3*1.2731488;e&&(d.A=!1);d=!d.A}d&&(c|=J.ya.dc);c&=~J.ya.sc;this.C&&this.C.ia&ce&&(c|=J.ya.sc);this.D=c;x(this,a,null,b,"FLAGS",c);return c};
l.ae=function(a,b,c){x(this,a,b,c,"BRIGHTNESS");this.V=b};l.de=function(a,b,c){x(this,a,b,c,"NVR.LATCH");this.L=b};l.ce=function(a,b,c){x(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.w=this.w&-4|a;break;case 1:this.w=this.w&-13|a<<2;this.video&&(b=this.video,a=this.w,Db(b,"updateScrollOffset("+a+")"),b.sa!==a&&((b.sa=a)?$c(b,!0):b.xa=!0));break;case 2:switch(a){case 0:this.O=~this.O;break;case 2:case 3:this.X=3-a}break;case 3:this.W=a}};
l.Md=function(a,b){var c=this.D,c=c&~J.ya.jc;if((Qc(this.w)&64)<<1&&(c|=J.ya.jc,c!=this.D)){var d,e;d=this.L&1;e=this.L>>1&7;switch(e){case J.Ba.Ja.nd:break;case J.Ba.Ja.Lc:this.M=this.M<<1|d;break;case J.Ba.Ja.Rc:d=be(this);this.j[d]=J.Ba.vb;Db(this,"doNVRCommand(): erase data at addr "+q(d));break;case J.Ba.Ja.Mc:this.b=this.b<<1|d;break;case J.Ba.Ja.rd:d=be(this);e=this.b&J.Ba.vb;this.j[d]=e;Db(this,"doNVRCommand(): write data "+q(e)+" to addr "+q(d));break;case J.Ba.Ja.ld:d=be(this);e=this.j[d];
null==e&&(e=J.Ba.vb);this.b=e;Db(this,"doNVRCommand(): read data "+q(e)+" from addr "+q(d));break;case J.Ba.Ja.md:this.b<<=1;this.S=this.b&J.Ba.vb+1;break;default:Db(this,"doNVRCommand(): unrecognized command "+pa(e))}}c&=~J.ya.kc;this.S&&(c|=J.ya.kc);c&=~J.ya.dc;if(d=this.B){d=this.B;if(e=d.A)e=d.w,e=Qc(d.w)>=d.F+e.Aa*e.U/1E3*1.2731488;e&&(d.A=!1);d=!d.A}d&&(c|=J.ya.dc);c&=~J.ya.sc;this.C&&this.C.ia&ce&&(c|=J.ya.sc);this.D=c;x(this,a,null,b,"FLAGS",c);return c};
l.ae=function(a,b,c){x(this,a,b,c,"BRIGHTNESS");this.V=b};l.de=function(a,b,c){x(this,a,b,c,"NVR.LATCH");this.L=b};l.ce=function(a,b,c){x(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.u=this.u&-4|a;break;case 1:this.u=this.u&-13|a<<2;this.video&&(b=this.video,a=this.u,Db(b,"updateScrollOffset("+a+")"),b.sa!==a&&((b.sa=a)?$c(b,!0):b.xa=!0));break;case 2:switch(a){case 0:this.O=~this.O;break;case 2:case 3:this.X=3-a}break;case 3:this.W=a}};
l.be=function(a,b,c){x(this,a,b,c,"DC011");b&J.Ka.kd?(b&=J.Ka.oc,this.H!=b&&(this.H=b,this.video&&(a=this.video,b=this.H==J.Ka.oc?50:60,Db(a,"updateRate("+b+")"),a.jb=b))):(b&=J.Ka.Wb,this.F!=b&&(this.F=b,this.video&&(a=this.F==J.Ka.Wb?132:80,b=this.video,Db(b,"updateDimensions("+a+","+(80<a&&this.D&J.ya.ic?14:24)+")"),b.O=a,b.ga=b.Da,80<a&&b.ga--,de(b)&&ee(b))))};
var ae={pa:1978.1,pd:{qa:0,gf:1,lf:16,tf:32,Cf:64,Bf:128,bb:14},Oa:{qa:1,Pc:1,jd:2,ed:4,fd:16,gd:32,hd:64,bb:8},qd:{qa:2,ff:3,Kf:4,hf:8,xf:16,yf:32,zf:64,jf:128,bb:0},Gf:{qa:3},Ef:{qa:2,uf:7},If:{qa:3,Lf:1,Hf:2,Af:4,rf:8,kf:16,Be:32},Ff:{qa:4},Jf:{qa:5,mf:1,nf:2,pf:4,qf:8,Mf:16}},J={pa:100,ya:{qa:66,sc:1,ic:2,dd:4,wf:8,vf:16,kc:32,jc:64,dc:128},Oc:{qa:66,INIT:0},Ka:{qa:194,Ee:0,Wb:16,kd:32,oc:48,Uc:0,Vc:32},ub:{qa:162,Df:0,Xc:0,Tc:0,Wc:0,Sc:0},Ba:{sf:{qa:98},Ja:{Mc:0,Lc:1,md:2,rd:4,Rc:5,ld:6,nd:7},
vb:16383}},Zd={SI1978:ae,VT100:J};ae.INIT=[[ae.pd.bb,ae.Oa.bb,ae.qd.bb,0,0,0,0]];
J.INIT=[[J.Oc.INIT,J.ya.ic|J.ya.dd],[J.Ka.Uc,J.Ka.Vc],[J.ub.Xc,J.ub.Tc,J.ub.Wc,J.ub.Sc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];ae.Bb={0:Yd.prototype.Jd,1:Yd.prototype.Kd,2:Yd.prototype.Ld,3:Yd.prototype.Id};
ae.Cb={2:Yd.prototype.Wd,3:Yd.prototype.Yd,4:Yd.prototype.Xd,5:Yd.prototype.Zd,6:Yd.prototype.$d};J.Bb={66:Yd.prototype.Md};J.Cb={66:Yd.prototype.ae,98:Yd.prototype.de,162:Yd.prototype.ce,194:Yd.prototype.be};Ua(function(){for(var a=qb(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Yd(d);pb(d,c)}});
function fe(a){t.call(this,"ROM",a);this.b=null;this.A=a.addr;this.g=a.size;this.w=a.alias;this.j=a.file;this.B=qa(this.j);if(this.j){a=this.j;var b=ra(this.B);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){ge(c,a,b,f)})}}aa(fe,t);fe.prototype.Ga=function(a,b,c,d){this.I=b;this.u=c;this.K=d;he(this)};
function fe(a){t.call(this,"ROM",a);this.b=null;this.A=a.addr;this.g=a.size;this.u=a.alias;this.j=a.file;this.B=qa(this.j);if(this.j){a=this.j;var b=ra(this.B);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){ge(c,a,b,f)})}}aa(fe,t);fe.prototype.Ga=function(a,b,c,d){this.I=b;this.w=c;this.K=d;he(this)};
fe.prototype.wa=function(){if(this.ra){if(this.K){var a=this.K,b=this.id,c=this.A,d=this.g,e=this.ra,f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,p=h.a;if(void 0!==k){var u=f,k=[k>>>0,g],v=Ca(u,k,a.Ac);0>v&&u.splice(-(v+1),0,k)}p&&(h.a=p.replace(/''/g,'"'))}a.C.push({Of:b,J:c,Qd:d,ra:e,zc:f})}delete this.ra}return!0};fe.prototype.va=function(){return!0};
function ge(a,b,c,d){if(d)a.aa("Unable to load system ROM (error "+d+": "+b+")");else{gb(a.eb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||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.ra=e.symbols;if(!a.b.length){r("Empty ROM: "+b);return}if(1==a.b.length){r(a.b[0]);return}}catch(h){a.aa("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]=ma(b[e],16);he(a)}}
function he(a){if(!yb(a))if(!a.j)zb(a);else if(a.b&&a.I){a.g||(a.g=a.b.length);if(a.b.length!=a.g)xb(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.g,8,!0)+")");else{var b;b=a.A;if(Nb(a.I,b,a.g,wc)){var c;for(c=0;c<a.b.length;c++)Xb(a.I,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.I,g=d.g,h=[],k=d.A>>>f.g;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=f.w;f=d.I;d=d.g;g=0;for(e>>>=
f.g;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=f.w}}delete a.b}}zb(a)}}Ua(function(){for(var a=qb(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new fe(d);pb(d,c)}});
function ie(a){t.call(this,"RAM",a);this.ra=this.g=null;this.w=a.addr;this.A=a.size;this.Qa=a.load;this.Ia=a.exec;this.j=!1;this.b=a.file;this.B=qa(this.b);if(this.b){a=this.b;var b=ra(this.B);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){f?c.aa("Unable to load RAM resource (error "+f+": "+a+")"):(gb(c.eb,a,b),(a=Ga(a,b))?(c.g=a.la,c.ra=a.ra,null==c.Qa&&(c.Qa=a.Qa),null==c.Ia&&(c.Ia=a.Ia)):c.b=null,je(c))})}}aa(ie,t);
ie.prototype.Ga=function(a,b,c,d){this.I=b;this.u=c;this.K=d;je(this)};ie.prototype.wa=function(){return!0};ie.prototype.va=function(){return!0};
function je(a){!a.j&&a.A&&Nb(a.I,a.w,a.A,1)&&(a.j=!0);if(!yb(a)){if(!a.j)r("No RAM allocated");else if(a.b){if(!a.g||!a.I)return;var b=a.w;null!==a.Qa&&(b=a.Qa);for(var c=0;c<a.g.length;c++)Xb(a.I,b+c,a.g[c]);if(null!==a.Ia){if(a.Ia==ke){for(c=0;c<le.length;c++)Xb(a.I,le[c],118);pd(a.u,function(a){return function(b){if(0<=le.indexOf(b)){var c=!1,d=a.u,e=a.K;if(b==me)switch(c=!0,d.A){case ne:oe(a,String.fromCharCode(d.C));break;case pe:for(var k=wd(d),p="",u=255;u--;){var v=E(a.u,k++);if(36==v)break;
p+=String.fromCharCode(v)}oe(a,p);break;default:c=!1}c?Wd.call(d):e&&(a.i("\nCP/M vector "+q(b)),A(d,b),e.ea());b=!0}else b=!1;return b}}(a))}rd(a.u,a.Ia)}delete a.g}zb(a)}}ie.prototype.reset=function(){};function oe(a,b){b=b.replace(/\r/g,"");a.ua&&(a.ua.value+=b,a.ua.scrollTop=a.ua.scrollHeight)}var me=5,ne=2,pe=9,ke=256,le=[0,me];Ua(function(){for(var a=qb(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ie(d);pb(d,c)}});
function he(a){if(!yb(a))if(!a.j)zb(a);else if(a.b&&a.I){a.g||(a.g=a.b.length);if(a.b.length!=a.g)xb(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.g,8,!0)+")");else{var b;b=a.A;if(Nb(a.I,b,a.g,wc)){var c;for(c=0;c<a.b.length;c++)Xb(a.I,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.u?b.push(a.u):null!=a.u&&a.u.length&&(b=a.u);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.I,g=d.g,h=[],k=d.A>>>f.g;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=f.u;f=d.I;d=d.g;g=0;for(e>>>=
f.g;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=f.u}}delete a.b}}zb(a)}}Ua(function(){for(var a=qb(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new fe(d);pb(d,c)}});
function ie(a){t.call(this,"RAM",a);this.ra=this.g=null;this.u=a.addr;this.A=a.size;this.Qa=a.load;this.Ia=a.exec;this.j=!1;this.b=a.file;this.B=qa(this.b);if(this.b){a=this.b;var b=ra(this.B);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){f?c.aa("Unable to load RAM resource (error "+f+": "+a+")"):(gb(c.eb,a,b),(a=Ga(a,b))?(c.g=a.la,c.ra=a.ra,null==c.Qa&&(c.Qa=a.Qa),null==c.Ia&&(c.Ia=a.Ia)):c.b=null,je(c))})}}aa(ie,t);
ie.prototype.Ga=function(a,b,c,d){this.I=b;this.w=c;this.K=d;je(this)};ie.prototype.wa=function(){return!0};ie.prototype.va=function(){return!0};
function je(a){!a.j&&a.A&&Nb(a.I,a.u,a.A,1)&&(a.j=!0);if(!yb(a)){if(!a.j)r("No RAM allocated");else if(a.b){if(!a.g||!a.I)return;var b=a.u;null!==a.Qa&&(b=a.Qa);for(var c=0;c<a.g.length;c++)Xb(a.I,b+c,a.g[c]);if(null!==a.Ia){if(a.Ia==ke){for(c=0;c<le.length;c++)Xb(a.I,le[c],118);pd(a.w,function(a){return function(b){if(0<=le.indexOf(b)){var c=!1,d=a.w,e=a.K;if(b==me)switch(c=!0,d.A){case ne:oe(a,String.fromCharCode(d.C));break;case pe:for(var k=wd(d),p="",u=255;u--;){var v=E(a.w,k++);if(36==v)break;
p+=String.fromCharCode(v)}oe(a,p);break;default:c=!1}c?Wd.call(d):e&&(a.i("\nCP/M vector "+q(b)),A(d,b),e.ea());b=!0}else b=!1;return b}}(a))}rd(a.w,a.Ia)}delete a.g}zb(a)}}ie.prototype.reset=function(){};function oe(a,b){b=b.replace(/\r/g,"");a.ua&&(a.ua.value+=b,a.ua.scrollTop=a.ua.scrollHeight)}var me=5,ne=2,pe=9,ke=256,le=[0,me];Ua(function(){for(var a=qb(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ie(d);pb(d,c)}});
function qe(a){t.call(this,"Keyboard",a,65536);(a=a.model)&&!Me[a]&&Ya("Unrecognized Keyboard8080 model: "+a);this.b=Me[a]||{};this.reset();zb(this)}aa(qe,t);l=qe.prototype;
l.da=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.P[e]){if("led"==a&&this.b.fb[b])return this.P[e]=c,!0;switch(b){case "kbd":case "screen":return Oa("iOS")?(c.onkeypress=function(a){var b=!1;if(a=d.b.sb[a.keyCode||a.charCode]){a&128&&(a&=127,b=!0);var c;a:{for(c in d.b.Sa)if(d.b.Sa[c]==a){c=+c;break a}c=0}c&&(b?Ne(d,16,!0,!0):Ne(d,16,!1),Ne(d,c,!0,!0))}return!0},c.onkeydown=function(a){return Oe(d,a,!0)},c.onkeyup=function(a){return Oe(d,a,!1)}):(c.onkeydown=function(a){return Pe(d,a,!0)},
c.onkeyup=function(a){return Pe(d,a,!1)},c.onkeypress=function(a){a=a.keyCode||a.charCode;a>=m.ab&&a<=m.wb?d.g&(Qe|Re)||(d.g|=Re,Ne(d,20,!0),Se(d)):a>=m.yc&&a<=m.z&&d.g&Re&&(d.g&=~Re,Ne(d,20,!1),Se(d));return!0}),c.onpaste=function(a){a:{if(d.C&&d.C.Ra&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a=a.clipboardData||window.clipboardData)){Te(d.C,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ua&&void 0!==this.b.Ua[b])return this.P[e]=c,c.onclick=
function(a,b){return function(d){d.preventDefault&&d.preventDefault();d=!0;var e=0;17==b?e=Ue:20==b&&(e=Re);if(e){c.style.fontWeight="normal";if(d=!(a.g&e))c.style.fontWeight="bold";Ve(a,b,d)}Ne(a,b,d,!e);a.R&&a.R.Za()}}(this,this.b.Ua[b]),!0}}return!1};l.Ga=function(a,b,c,d){this.R=a;this.u=c;this.K=d;var e=this;this.L=Vc(this.u,function(){We(e)});this.V=Jb(a,"ChipSet");this.C=Jb(a,"SerialPort");ac(b,this,this.b.Bb);ec(b,this,this.b.Cb)};
function(a,b){return function(d){d.preventDefault&&d.preventDefault();d=!0;var e=0;17==b?e=Ue:20==b&&(e=Re);if(e){c.style.fontWeight="normal";if(d=!(a.g&e))c.style.fontWeight="bold";Ve(a,b,d)}Ne(a,b,d,!e);a.R&&a.R.Za()}}(this,this.b.Ua[b]),!0}}return!1};l.Ga=function(a,b,c,d){this.R=a;this.w=c;this.K=d;var e=this;this.L=Vc(this.w,function(){We(e)});this.V=Jb(a,"ChipSet");this.C=Jb(a,"SerialPort");ac(b,this,this.b.Bb);ec(b,this,this.b.Cb)};
l.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.va=function(a){return a?this.save():!0};l.reset=function(){this.j=[];this.g=0;this.b.INIT&&!this.restore(this.b.INIT)&&this.aa("reset error")};l.save=function(){var a=new td(this);switch(this.b.pa){case K.pa:a.set(0,[this.D,this.B,this.A,this.F,-1])}return a.data()};
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.pa){case Xe.pa:return!0;case K.pa:return this.D=b[0],Se(this,this.D&K.Ca.ec),this.B=b[1],this.A=b[2],this.F=b[3],this.w=b[4],!0}return!1};function Se(a,b){var c;null!=b?a.H=b:b=a.H;for(var d in a.b.fb)if(c="led-"+d,c=a.P[c]){var e=a.b.fb[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+n(16711680,6):"#000000"}if(c=a.P["led-caps-lock"])c.style.backgroundColor=a.g&Re?"#"+n(65280,6):"#000000"}
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.pa){case Xe.pa:return!0;case K.pa:return this.D=b[0],Se(this,this.D&K.Ca.ec),this.B=b[1],this.A=b[2],this.F=b[3],this.u=b[4],!0}return!1};function Se(a,b){var c;null!=b?a.H=b:b=a.H;for(var d in a.b.fb)if(c="led-"+d,c=a.P[c]){var e=a.b.fb[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+n(16711680,6):"#000000"}if(c=a.P["led-caps-lock"])c.style.backgroundColor=a.g&Re?"#"+n(65280,6):"#000000"}
function Ve(a,b,c,d){var e=0;switch(b){case 16:e=d?Ye:Ze;break;case 17:e=d?$e:Ue;break;case 18:e=d?af:bf;break;case 91:e=d?cf:df;break;case 20:e=Re,c=!(a.g&e)}e&&(a.g=c?a.g|e:a.g&~e);return c}
function Pe(a,b,c){var d=!0,e=b.keyCode,e=la[e]||e;c=Ve(a,e,c,2==b.location);var f;a:if(e=a.b.Tb[e]||e,a.b.Sa[e])f=e;else{for(f in a.b.Ua)if(a.b.Ua[f]===e)break a;f=null}f&&!b.metaKey&&(d=!1,a.g&(ef|ff)&&(13==f?(f=118,d=!0):8==f&&(f=46,d=!0),d&&(a.g=c?a.g|ff:a.g&~ff)),d=Ne(a,f,c),(!(f>=m.ab&&f<=m.wb)||a.g|gf)&&b.preventDefault&&b.preventDefault());return d}
function Oe(a,b,c){var d=!0;if(c){var e=b.keyCode,f=a.b.Sa[e],g;if(g=f){a:{for(var h in a.b.sb)if(a.b.sb[h]==f){f=+h;break a}f=0}g=!f}g&&(d=Ne(a,e,c,!0),b.preventDefault&&b.preventDefault())}return d}
function Ne(a,b,c,d){var e;a:{for(e=0;e<a.j.length;e++)if(a.j[e].Pb==b)break a;e=-1}if(c)0>e?a.j.push({Pb:b,Mb:Date.now(),yb:d||!1}):(a.j[e].Mb=Date.now(),a.j[e].yb=d||!1),d&&We(a);else if(0<=e){if(!a.j[e].yb&&(d=a.j[e].Mb)&&Date.now()-d<hf)return a.j[e].yb=!0,We(a),!0;a.j.splice(e,1)}if(a.V){d=0;switch(b){case "1p":d=ae.Oa.ed;break;case "2p":d=ae.Oa.jd;break;case "coin":d=ae.Oa.Pc;break;case "left":d=ae.Oa.gd;break;case "right":d=ae.Oa.hd;break;case "fire":d=ae.Oa.fd}d&&(a=a.V,b=d,a.A&=~b,c&&(a.A|=
b))}return!0}function We(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].yb){var d=a.j[b].Pb,e=hf-(Date.now()-a.j[b].Mb);if(0<e){if(0>c||c>e)c=e}else{Ne(a,d,!1);b=0;continue}}b++}0<=c&&Wc(a.u,a.L,c)}l.Nd=function(a,b){var c=this.B;0<=this.w&&(this.w<this.j.length?(c=this.j[this.w],this.w++,c=K.Sa[c.Pb],c&128&&(c&=127)):(this.w=-1,c=K.Yc),this.B=c,Rd(this.u,1));x(this,a,null,b,"KBDUART.ADDRESS",c);return c};
l.ee=function(a,b,c){x(this,a,b,c,"KBDUART.STATUS");this.D=b;this.A=!0;this.F=Qc(this.u);Se(this,b&K.Ca.ec);b&K.Ca.od&&(this.w=0,Rd(this.u,1))};var Ye=1,Ze=2,Qe=3,$e=4,Ue=8,gf=12,af=16,bf=32,ef=48,cf=64,df=128,Re=512,ff=4096,hf=50,jf={};jf[m.ab]=37;jf[m.Fb]=39;jf[m.Hb]=32;
b))}return!0}function We(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].yb){var d=a.j[b].Pb,e=hf-(Date.now()-a.j[b].Mb);if(0<e){if(0>c||c>e)c=e}else{Ne(a,d,!1);b=0;continue}}b++}0<=c&&Wc(a.w,a.L,c)}l.Nd=function(a,b){var c=this.B;0<=this.u&&(this.u<this.j.length?(c=this.j[this.u],this.u++,c=K.Sa[c.Pb],c&128&&(c&=127)):(this.u=-1,c=K.Yc),this.B=c,Rd(this.w,1));x(this,a,null,b,"KBDUART.ADDRESS",c);return c};
l.ee=function(a,b,c){x(this,a,b,c,"KBDUART.STATUS");this.D=b;this.A=!0;this.F=Qc(this.w);Se(this,b&K.Ca.ec);b&K.Ca.od&&(this.u=0,Rd(this.w,1))};var Ye=1,Ze=2,Qe=3,$e=4,Ue=8,gf=12,af=16,bf=32,ef=48,cf=64,df=128,Re=512,ff=4096,hf=50,jf={};jf[m.ab]=37;jf[m.Fb]=39;jf[m.Hb]=32;
var Xe={pa:1978.1,Sa:{},sb:{},Tb:jf,fb:{},Ua:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},M={},N={},K={pa:100,Sa:(M[8]=3,M[m.mc]=5,M[m.lc]=6,M[m.xc]=7,M[m.qc]=8,M[m.uc]=9,M[m.Q]=10,M[39]=16,M[221]=20,M[219]=21,M[m.ac]=22,M[m.rc]=23,M[m.nc]=24,M[m.E]=25,M[49]=26,M[37]=32,M[40]=34,M[117]=35,M[19]=35,M[192]=36,M[189]=37,M[57]=38,M[55]=39,M[52]=40,M[51]=41,M[27]=42,M[38]=48,M[114]=49,M[112]=50,M[46]=51,M[187]=52,M[48]=53,M[56]=54,M[54]=55,M[53]=56,M[50]=57,M[9]=58,M[103]=64,M[115]=65,M[113]=66,
M[96]=67,M[118]=68,M[220]=69,M[m.Hb]=70,M[m.cc]=71,M[m.Zb]=72,M[m.Yb]=73,M[m.ab]=74,M[104]=80,M[2013]=81,M[98]=82,M[97]=83,M[222]=85,M[186]=86,M[m.bc]=87,M[m.$b]=88,M[m.Fb]=89,M[m.pc]=90,M[110]=96,M[116]=97,M[101]=98,M[100]=99,M[13]=100,M[190]=101,M[188]=102,M[m.hc]=103,M[m.Ub]=104,M[m.wc]=105,M[119]=106,M[105]=112,M[99]=113,M[102]=114,M[109]=115,M[191]=117,M[m.gc]=118,M[m[" "]]=119,M[m.tc]=120,M[m.Vb]=121,M[m.wb]=122,M[120]=123,M[17]=124,M[16]=125,M[20]=126,M),sb:(N[m.p]=5,N[m.Sd]=6,N[m.y]=7,N[m.t]=
8,N[m.se]=9,N[m.q]=10,N[m["]"]]=20,N[m["["]]=21,N[m.Fd]=22,N[m.qe]=23,N[m.r]=24,N[m.e]=25,N[m["1"]]=26,N[m["`"]]=36,N[m["-"]]=37,N[m["9"]]=38,N[m["7"]]=39,N[m["4"]]=40,N[m["3"]]=41,N[m["="]]=52,N[m["0"]]=53,N[m["8"]]=54,N[m["6"]]=55,N[m["5"]]=56,N[m["2"]]=57,N[m["\\"]]=69,N[m.Pd]=70,N[m.k]=71,N[m.Dd]=72,N[m.Bd]=73,N[m.yc]=74,N[m["'"]]=85,N[m[";"]]=86,N[m.Od]=87,N[m.Ed]=88,N[m.d]=89,N[m.oe]=90,N[13]=100,N[m["."]]=101,N[m[","]]=102,N[m.n]=103,N[m.ud]=104,N[m.x]=105,N[m["/"]]=117,N[m.Rd]=118,N[m.re]=
@ -168,88 +168,88 @@ M[96]=67,M[118]=68,M[220]=69,M[m.Hb]=70,M[m.cc]=71,M[m.Zb]=72,M[m.Yb]=73,M[m.ab]
229,N[m["<"]]=230,N[m.hc]=231,N[m.Ub]=232,N[m.wc]=233,N[m["?"]]=245,N[m.gc]=246,N[m.tc]=248,N[m.Vb]=249,N[m.wb]=250,N),Tb:{},fb:{},Ua:{"caps-lock":20,ctrl:17,esc:27,tab:9,"num-comma":116,"break":117,"line-feed":118,"no-scroll":119,setup:120},Nc:{qa:130,INIT:127},Ca:{qa:130,bd:1,ad:2,$c:4,Zc:8,cd:16,fc:32,ec:63,od:64,De:128,INIT:0},Yc:127};K.fb={l4:K.Ca.bd,l3:K.Ca.ad,l2:K.Ca.$c,l1:K.Ca.Zc,locked:K.Ca.cd,local:K.Ca.fc,online:~K.Ca.fc,"caps-lock":Re};var Me={SI1978:Xe,VT100:K};
K.INIT=[[K.Ca.INIT,K.Nc.INIT,!1,0,-1]];K.Bb={130:qe.prototype.Nd};K.Cb={130:qe.prototype.ee};Ua(function(){for(var a=qb(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new qe(d);pb(d,c)}});
function kf(a,b,c,d,e){t.call(this,"Video",a,262144);var f=this;this.Ta=Oa("Gecko/");var g=["","moz","ms","webkit"];this.M=a.screenWidth;this.H=a.screenHeight;this.ka=a.bufferAddr;this.vd=a.bufferRAM;var h=a.bufferFormat;this.Y=h&&lf[h.toUpperCase()]||mf;this.O=a.bufferCols;this.Z=a.bufferRows;this.Da=this.ga=a.cellWidth||1;this.ca=a.cellHeight||1;this.ba=null;this.Na=!1;this.na=a.bufferBits||1;this.yd=a.bufferLeft||0;if(this.g=a.bufferRotate)this.g=this.g%360,0<this.g&&(this.g-=360),-90!=this.g&&
(this.aa("unsupported buffer rotation: "+this.g),this.g=0);this.oa=a.interruptRate;this.kb=a.refreshRate||60;this.F=b;this.j=c;this.W=(this.Cd=d)||b||null;this.Db=this.M;this.td=this.H;this.La=this.M/this.O|0;this.Ma=this.H/this.Z|0;1<this.ca&&(this.Z++,this.sa=0,this.xa=!1);b=a.smoothing;(c=Pa("smoothing"))&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.j[d]){this.j[d]=b;break}if(this.w=a.screenRotate)this.w=this.w%360,
0<this.w&&(this.w-=360),-90!=this.w?(this.aa("unsupported screen rotation: "+this.w),this.w=0):(this.j.translate(0,this.H),this.j.rotate(this.w*Math.PI/180),this.j.scale(this.H/this.M,this.M/this.H));if(this.b=e)if(this.b.Xa=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.Xa){for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){nf(f,!!(document.fullscreenElement||document.msFullscreenElement||
(this.aa("unsupported buffer rotation: "+this.g),this.g=0);this.oa=a.interruptRate;this.kb=a.refreshRate||60;this.F=b;this.j=c;this.W=(this.Cd=d)||b||null;this.Db=this.M;this.td=this.H;this.La=this.M/this.O|0;this.Ma=this.H/this.Z|0;1<this.ca&&(this.Z++,this.sa=0,this.xa=!1);b=a.smoothing;(c=Pa("smoothing"))&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.j[d]){this.j[d]=b;break}if(this.u=a.screenRotate)this.u=this.u%360,
0<this.u&&(this.u-=360),-90!=this.u?(this.aa("unsupported screen rotation: "+this.u),this.u=0):(this.j.translate(0,this.H),this.j.rotate(this.u*Math.PI/180),this.j.scale(this.H/this.M,this.M/this.H));if(this.b=e)if(this.b.Xa=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.Xa){for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){nf(f,!!(document.fullscreenElement||document.msFullscreenElement||
document.mozFullScreenElement||document.webkitFullscreenElement))},!1);break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){nf(f,null)},!1);break}}if(this.S=a.fontROM)"json"!=ra(this.S)&&(this.S=ta()+"/api/v1/dump?file="+this.S+"&format=bytes"),Fa(this.S,null,!0,function(a,b,c){of(f,a,b,c)});this.Aa={}}aa(kf,t);
function de(a){a.C=a.O*a.ga;a.N=a.Z*a.ca;var b=a.C,c=a.N;a.g&&(b=a.N,c=a.C);a.L=0;if(!a.vd&&(a.L=(a.C*a.na>>3)*a.N,!Nb(a.I,a.ka,a.L,3)))return!1;a.L?(a.Va=a.j.createImageData(b,c),a.hb=16/a.na|0,pf(a,a.L>>1)):pf(a,(a.O+1)*a.Z);a.D=document.createElement("canvas");a.D.width=b;a.D.height=c;a.ta=a.D.getContext("2d");a.T={};a.X=1<<a.na;a.U=Array(a.X+qf);a.U[0]=[0,0,0,255];a.U[1]=[255,255,255,255];a.Y==rf&&(a.U[a.X+sf]=[255,255,0,255],a.U[a.X+tf]=[0,255,0,255]);a.Y==uf&&(a.jb=60,a.za=!1,a.fa=Array(a.O));
return!0}l=kf.prototype;l.da=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Aa[b]=c,!0;switch(b){case "fullScreen":return this.P[b]=c,this.b&&this.b.Xa?c.onclick=function(){d.Xa()}:c.parentNode.removeChild(c),!0}return!1};
l.Ga=function(a,b,c,d){this.R=a;this.I=b;this.u=c;this.K=d;de(this);if(this.B=Jb(a,"Keyboard")){for(var e in this.Aa)this.B.da("led",e,this.Aa[e]);this.F&&this.B.da(this.Cd?"textarea":"canvas","screen",this.W)}var f=this;this.xb=Vc(this.u,function(){$c(f)});Wc(this.u,this.xb,1E3/Math.max(this.kb,this.oa));this.ib=0;this.S||zb(this)};
l.Ga=function(a,b,c,d){this.R=a;this.I=b;this.w=c;this.K=d;de(this);if(this.B=Jb(a,"Keyboard")){for(var e in this.Aa)this.B.da("led",e,this.Aa[e]);this.F&&this.B.da(this.Cd?"textarea":"canvas","screen",this.W)}var f=this;this.xb=Vc(this.w,function(){$c(f)});Wc(this.w,this.xb,1E3/Math.max(this.kb,this.oa));this.ib=0;this.S||zb(this)};
function of(a,b,c,d){if(d)a.aa("Unable to load font ROM (error "+d+": "+b+")");else{gb(a.eb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){r("Empty font ROM: "+b);return}if(1==f.length){r(f[0]);return}if(2048==f.length)a.ba=f,ee(a);else{a.aa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.aa("Font ROM data error: "+g.message);return}(a.j||a.K)&&zb(a)}}
function ee(a){a.ba&&(a.Na=a.Y==uf,a.T[vf]=[wf(a,a.ga,a.ca),wf(a,a.ga,a.ca,a.za)],a.T[xf]=[wf(a,2*a.ga,a.ca),wf(a,2*a.ga,a.ca,a.za)],a.T[yf]=a.T[zf]=[wf(a,2*a.ga,2*a.ca),wf(a,2*a.ga,2*a.ca,a.za)])}
function wf(a,b,c,d){var e=8>=a.Da?8:16,f=8<e?15:0,g=a.ba.length/e,h=!1===d,k={ga:b,ca:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=g/16*c;k.context=k.canvas.getContext("2d");for(var p=k.context.createImageData(b,c),u=0;u<g;u++){for(var v=0,B=v;v<a.ca;v++)for(var y=u*e+(f+v&e-1),y=d&&8==v?255:a.ba[y],w=0;w<c/a.ca;w++){for(var C=0,T=0,za=T;T<a.ga;T++){for(var L=y&128>>(7<T?7:T),C=a.Na&&!L&&C?C:L,ja=0;ja<b/a.ga;ja++)h&&(C=!C),Af(a,p,za,B,C?1:0),za++;C=L}B++}k.context.putImageData(p,
(u&15)*b,(u>>4)*c)}return k}l.wa=function(a,b){return b||!a||this.restore(a)?!0:!1};l.va=function(a){return!a||this.save()};l.save=function(){var a=new td(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};
l.Xa=function(){var a=!1;if(this.b){if(this.b.Xa){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.M/this.H;b>c&&(a=Math.round(c/b*100)+"%")}this.Ta?(this.F.style.width=a,this.F.style.width=a,this.F.style.display="block",this.F.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Xa();a=!0}this.W&&this.W.focus()}return a};
function nf(a,b){!b&&a.b&&(a.Ta?a.F.style.width=a.F.style.height="":a.b.style.width=a.b.style.height="");Db(a,"notifyFullScreen("+b+")")}function pf(a,b){a.gb=b;a.V=!1;if(void 0===a.A||a.A.length!=a.gb)a.A=Array(a.gb)}function Af(a,b,c,d,e){d=a.g?(b.height-c-1)*b.width+d:c+d*b.width;e&&a.Y==rf&&(208<=c&&236>c?e=a.X+sf:28<=c&&72>c&&(e=a.X+tf));a=a.U[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]}
function $c(a,b){var c=!0;if(!b){a.oa&&(120==a.oa?a.ib&1?(Rd(a.u,2),c=!1):Rd(a.u,1):Rd(a.u,4));if(c&&a.V&&a.L){for(var d=a.I,e=a.L,f=!0,g=a.ka>>>d.g;0<e&&g<d.b.length;)d.b[g].Ea&&(d.b[g].Ea=f=!1,d.b[g].Dc=!0),e-=d.w,g++;f&&(c=!1)}Wc(a.u,a.xb,1E3/Math.max(a.kb,a.oa));a.ib++}if(c)if(1<a.ga)switch(a.Y){case uf:for(var c=a.ka,d=-1,e=0,f=60==a.jb?2:5,h=g=0,k=-1;e<a.Z;){var p=0,u=c,v=d,B=a.O;for(v!=vf&&(B>>=1);;){var y=Ub(a.I,u++);if((y&Bf)==Bf){var w=Ub(a.I,u++),d=w&Cf,c=(w&Df)<<8|Ub(a.I,u),c=c+(w&Ef?
function $c(a,b){var c=!0;if(!b){a.oa&&(120==a.oa?a.ib&1?(Rd(a.w,2),c=!1):Rd(a.w,1):Rd(a.w,4));if(c&&a.V&&a.L){for(var d=a.I,e=a.L,f=!0,g=a.ka>>>d.g;0<e&&g<d.b.length;)d.b[g].Ea&&(d.b[g].Ea=f=!1,d.b[g].Dc=!0),e-=d.u,g++;f&&(c=!1)}Wc(a.w,a.xb,1E3/Math.max(a.kb,a.oa));a.ib++}if(c)if(1<a.ga)switch(a.Y){case uf:for(var c=a.ka,d=-1,e=0,f=60==a.jb?2:5,h=g=0,k=-1;e<a.Z;){var p=0,u=c,v=d,B=a.O;for(v!=vf&&(B>>=1);;){var y=Ub(a.I,u++);if((y&Bf)==Bf){var w=Ub(a.I,u++),d=w&Cf,c=(w&Df)<<8|Ub(a.I,u),c=c+(w&Ef?
Ff:Gf);break}if(p<B)a.fa[p++]=y;else break}if(f)f--;else{for(;p<a.fa.length;)a.fa[p++]=0;if(0<=v)for(u=a.V&&a.A[g]==B,a.A[g++]=B,B=0;B<p;B++){y=a.fa[B];if(!u||y!==a.A[g]){a.A[k=g]=y;var w=a,C=a.ta,T=y&127;if(y=w.T[v][y&128?1:0]){var za=(T&15)*y.ga,T=(T>>4)*y.ca,L,ja,ua,na,Ma=y.ga,hc=y.ca;C?(L=B*w.ga,ja=e*w.ca,ua=w.ga,na=w.ca):(L=B*w.La,ja=e*w.Ma,ua=w.La,na=w.Ma);y.ga>w.ga&&(L*=2,ua*=2);y.ca>w.ca&&(v==zf&&(T+=w.ca),hc=w.ca);C?C.drawImage(y.canvas,za,T,Ma,hc,L,ja,ua,na):(L+=0,ja+=0,w.j.drawImage(y.canvas,
za,T,Ma,hc,L,ja,ua,na))}h++}g++}e++}}a.V=!0;!b&&a.xa&&1==h&&(a.A[k]=-1,h=0);a.xa=!1;(h||b)&&a.ta&&a.j.drawImage(a.D,0,a.sa,a.C,a.N-a.ca,0,0,a.Db,a.td)}else{e=a.ka;f=e+a.L;k=h=g=0;b=a.C;p=0;c=a.N;v=d=0;u=a.na;B=(1<<u)-1;a.yd&&(u=-u,v=16+u);for(;e<f;){w=Wb(a.I,e);if(a.V&&w===a.A[g])h+=a.hb;else{a.A[g]=w;(C=v)&&(w=w>>8|(w&255)<<8);h<b&&(b=h);for(y=a.hb;y--;)za=w>>C&B,Af(a,a.Va,h++,k,za),C+=u;h>p&&(p=h);k<c&&(c=k);k>=d&&(d=k+1)}e+=2;g++;if(h>=a.C&&(h=0,k++,k>a.N))break}a.V=!0;b<a.C&&(e=p-b,d-=c,a.g&&
(f=b,g=e,b=c,e=d,c=a.C-(f+g),d=g),a.ta.putImageData(a.Va,0,0,b,c,e,d),a.j.drawImage(a.D,0,0,a.D.width,a.D.height,0,0,a.M,a.H))}}var sf=0,tf=1,qf=2,mf=0,rf=1,uf=2,lf={SI1978:rf,VT100:uf},vf=96,xf=64,yf=32,zf=0,Bf=127,Df=15,Ef=16,Cf=96,Ff=8192,Gf=16384;
Ua(function(){for(var a=qb(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=ob(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; 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<=Ha().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||Pa("aspect"));f&&.3<=f&&3.33>=f&&(Ta("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"),f.style.fontSize="16px");c.appendChild(f);var g=e.getContext("2d"),d=new kf(d,e,g,f,c);pb(d,c)}});
function Hf(a){t.call(this,"SerialPort",a,8388608);this.T=+a.adapter;switch(this.T){case 0:this.U=0;this.X=2;break;default:r("Unrecognized serial adapter #"+this.T);return}this.g=this.j=null;this.W=a.tabSize;this.S=a.charBOL;this.w=0;this.N=!1;this.D=!0;var b=a.binding;if("console"==b)this.j="";else{var c;a=If;b&&(void 0===c&&(c="Panel"),(c=mb(c,this.id))&&(b=c.P[b])&&this.da(null,a,b))}this.A="";this.b=this.Ra=this.H=null;this.exports={connect:this.Fc,receiveData:this.Ob,receiveStatus:this.ne}}
function Hf(a){t.call(this,"SerialPort",a,8388608);this.T=+a.adapter;switch(this.T){case 0:this.U=0;this.X=2;break;default:r("Unrecognized serial adapter #"+this.T);return}this.g=this.j=null;this.W=a.tabSize;this.S=a.charBOL;this.u=0;this.N=!1;this.D=!0;var b=a.binding;if("console"==b)this.j="";else{var c;a=If;b&&(void 0===c&&(c="Panel"),(c=mb(c,this.id))&&(b=c.P[b])&&this.da(null,a,b))}this.A="";this.b=this.Ra=this.H=null;this.exports={connect:this.Fc,receiveData:this.Ob,receiveStatus:this.ne}}
aa(Hf,t);l=Hf.prototype;l.da=function(a,b,c,d){var e=this;switch(b){case If:return this.P[b]=this.g=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),Jf(e,b);return!0},c.onkeypress=function(a){a=a||window.event;Jf(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.P[b]=c,c.onclick=function(){e.Ob(d);return!0},!0}return!1};
l.Ga=function(a,b,c,d){this.R=a;this.I=b;this.u=c;this.K=d;var e=this;this.Y=Vc(this.u,function(){e.Ob()});this.Z=Vc(this.u,function(){Te(e)});this.V=Jb(a,"ChipSet");ac(b,this,Kf,this.U);ec(b,this,Lf,this.U);zb(this)};
l.Ga=function(a,b,c,d){this.R=a;this.I=b;this.w=c;this.K=d;var e=this;this.Y=Vc(this.w,function(){e.Ob()});this.Z=Vc(this.w,function(){Te(e)});this.V=Jb(a,"ChipSet");ac(b,this,Kf,this.U);ec(b,this,Lf,this.U);zb(this)};
l.Fc=function(a){if(!this.b){var b=Jc(this.R,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ya(c[0]);if(d!=this.cb)return;c=ya(c[1]);if(this.b=lb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.D);if(this.Ra=e.receiveData){this.D=a;this.H=e.receiveStatus;this.status("Connected "+this.eb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
l.wa=function(a,b){if(!b)if(this.Fc(this.D),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.va=function(a){return a?this.save():!0};l.reset=function(){Mf(this)};l.save=function(){var a=new td(this),b=0,c=[];c[b++]=this.F;c[b++]=this.M;c[b++]=this.O;c[b++]=this.ia;c[b++]=this.B;c[b++]=this.C;c[b]=this.L;a.set(0,c);return a.data()};l.restore=function(a){return Mf(this,a[0])};
function Mf(a,b){var c=0;b||(b=Nf);a.F=b[c++];a.M=b[c++];a.O=b[c++];a.ia=b[c++];a.B=b[c++];a.C=b[c++];a.L=b[c];return!0}function Of(a,b){var c=a.L&b;b&15||(c>>=4);b=Pf[c];c=((a.B&Qf)>>2)+6;a.B&Rf&&c++;c+=((a.B&Sf)>>6)+1>>1;return 1E3/Math.round(b/c)}function Jf(a,b){Db(a,"receiveByte("+pa(b)+"), status="+pa(a.ia));return a.N||a.ia&Tf?!1:(a.M=b,a.ia|=Tf,Rd(a.u,a.X),!0)}
l.Ob=function(a){null!=a&&(this.A="number"!=typeof a?a:this.A+String.fromCharCode(a));this.A&&(Jf(this,this.A.charCodeAt(0))&&(this.A=this.A.substr(1)),this.A&&this.u&&Wc(this.u,this.Y,Of(this,Uf)));return!0};l.ne=function(a){this.ia&=~Vf;a&64&&(this.ia|=Vf)};function Te(a,b){a.ia=a.ia|ce|Wf;b&&a.Ra&&a.Ra.call(a.b,b)}l.Hd=function(a,b){var c=this.M;x(this,a,null,b,"DATA",c);this.ia&=~Tf;return c};l.Gd=function(a,b){var c=this.ia;x(this,a,null,b,"STATUS",c);return c};
l.Vd=function(a,b,c){x(this,a,b,c,"DATA");this.O=b;this.ia&=~(ce|Wf);Db(this,"transmitByte("+pa(b)+")");if(19==b)this.N=!0;else if(17==b)this.N=!1;else if(this.Ra&&this.Ra.call(this.b,b),this.g)if(8==b)this.g.value=this.g.value.slice(0,-1),0<this.w&&this.w--;else{var d;13!=b&&10!=b&&(d=Aa[b]);a=d=d?"<"+d+">":String.fromCharCode(b);c=a.length;9==b?(b=this.W||8,c=b-this.w%b,this.W&&(a=xa("",c))):13==b&&(this.w=c=0,a="\n");this.S&&!this.w&&c&&(a=String.fromCharCode(this.S)+a);this.g.value+=a;this.g.scrollTop=
this.g.scrollHeight;this.w+=c}else if(null!=this.j){if(10==b||1024<=this.j.length)this.i(this.j),this.j="";10!=b&&(this.j+=String.fromCharCode(b))}this.u&&Wc(this.u,this.Z,Of(this,Xf))};l.Ud=function(a,b,c){x(this,a,b,c,"CONTROL");this.F?(this.H&&(b^this.C)&(Yf|Zf)&&(a=0,this.D?(a|=b&Yf?32:0,a|=b&Zf?320:0):(a|=b&Yf?16:0,a|=b&Zf?1048576:0),this.H.call(this.b,a)),this.C=b,this.C&$f&&(this.F=!1)):(this.B=b,this.F=!0)};l.Td=function(a,b,c){x(this,a,b,c,"BAUDRATES");this.L=b};
function Mf(a,b){var c=0;b||(b=Nf);a.F=b[c++];a.M=b[c++];a.O=b[c++];a.ia=b[c++];a.B=b[c++];a.C=b[c++];a.L=b[c];return!0}function Of(a,b){var c=a.L&b;b&15||(c>>=4);b=Pf[c];c=((a.B&Qf)>>2)+6;a.B&Rf&&c++;c+=((a.B&Sf)>>6)+1>>1;return 1E3/Math.round(b/c)}function Jf(a,b){Db(a,"receiveByte("+pa(b)+"), status="+pa(a.ia));return a.N||a.ia&Tf?!1:(a.M=b,a.ia|=Tf,Rd(a.w,a.X),!0)}
l.Ob=function(a){null!=a&&(this.A="number"!=typeof a?a:this.A+String.fromCharCode(a));this.A&&(Jf(this,this.A.charCodeAt(0))&&(this.A=this.A.substr(1)),this.A&&this.w&&Wc(this.w,this.Y,Of(this,Uf)));return!0};l.ne=function(a){this.ia&=~Vf;a&64&&(this.ia|=Vf)};function Te(a,b){a.ia=a.ia|ce|Wf;b&&a.Ra&&a.Ra.call(a.b,b)}l.Hd=function(a,b){var c=this.M;x(this,a,null,b,"DATA",c);this.ia&=~Tf;return c};l.Gd=function(a,b){var c=this.ia;x(this,a,null,b,"STATUS",c);return c};
l.Vd=function(a,b,c){x(this,a,b,c,"DATA");this.O=b;this.ia&=~(ce|Wf);Db(this,"transmitByte("+pa(b)+")");if(19==b)this.N=!0;else if(17==b)this.N=!1;else if(this.Ra&&this.Ra.call(this.b,b),this.g)if(8==b)this.g.value=this.g.value.slice(0,-1),0<this.u&&this.u--;else{var d;13!=b&&10!=b&&(d=Aa[b]);a=d=d?"<"+d+">":String.fromCharCode(b);c=a.length;9==b?(b=this.W||8,c=b-this.u%b,this.W&&(a=xa("",c))):13==b&&(this.u=c=0,a="\n");this.S&&!this.u&&c&&(a=String.fromCharCode(this.S)+a);this.g.value+=a;this.g.scrollTop=
this.g.scrollHeight;this.u+=c}else if(null!=this.j){if(10==b||1024<=this.j.length)this.i(this.j),this.j="";10!=b&&(this.j+=String.fromCharCode(b))}this.w&&Wc(this.w,this.Z,Of(this,Xf))};l.Ud=function(a,b,c){x(this,a,b,c,"CONTROL");this.F?(this.H&&(b^this.C)&(Yf|Zf)&&(a=0,this.D?(a|=b&Yf?32:0,a|=b&Zf?320:0):(a|=b&Yf?16:0,a|=b&Zf?1048576:0),this.H.call(this.b,a)),this.C=b,this.C&$f&&(this.F=!1)):(this.B=b,this.F=!0)};l.Td=function(a,b,c){x(this,a,b,c,"BAUDRATES");this.L=b};
var Qf=12,Rf=16,Sf=192,Zf=2,Yf=32,$f=64,ce=1,Tf=2,Wf=4,Vf=128,Uf=15,Xf=240,Pf=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Nf=[!1,0,0,133,142,39,238],If="buffer",Kf={0:Hf.prototype.Hd,1:Hf.prototype.Gd},Lf={0:Hf.prototype.Vd,1:Hf.prototype.Ud,2:Hf.prototype.Td};Ua(function(){for(var a=qb(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new Hf(d);pb(d,c)}});
function ag(a){t.call(this,"Debugger",a);this.A=+a.base||16;this.U=["{","}"];this.fa=["[","]"];this.S=this.ba=this.F=0;this.N=!1;this.b=-1;this.g=[];this.w={}}aa(ag,t);ag.prototype.Kb=function(){return-1};ag.prototype.Lb=function(){};
function ag(a){t.call(this,"Debugger",a);this.u=+a.base||16;this.U=["{","}"];this.fa=["[","]"];this.S=this.ba=this.F=0;this.N=!1;this.b=-1;this.g=[];this.A={}}aa(ag,t);ag.prototype.Kb=function(){return-1};ag.prototype.Lb=function(){};
ag.prototype.Ab=function(a,b,c){if(b)if(a){0>this.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.N?a="end":a=this.g[this.b+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(ya(a.substring(d,f))),d=f+1}}return b};
function bg(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
function cg(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "^/":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case ",,":e=bg(e,18,!0)*Math.pow(2,18)+bg(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=bg(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(bg(e))}return!0}
function dg(a,b,c,d,e,f){var g,h,k,p=!1,u=0,v=[],B=[],y=a.A;for(a.A=e;c<d;){var w;h=b[c++].trim();k=c<d?b[c++]:"";if(h)w=eg(a,h,null,f,u);else if("{"==k){h=1;for(w=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;w=dg(a,b,w,c-1,a.A,f);null!=w&&u&&(w=fg(w,u));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.A=2;continue}if("^O"==k){a.A=8;continue}if("^D"==k){a.A=10;continue}if(!(u&-1073741824)){if("+"==k)continue;if("-"==k){u=u<<2|1;continue}if("~"==
k||"^-"==k){u=u<<2|2;continue}if("^L"==k){u=u<<2|3;continue}}p=!0;break}if(void 0===w)if(f)f.push(h),w=0;else{p=!0;f=[];break}v.push(bg(w));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{p=!0;break}if(!k)break;u="<"==a.U[0]?gg:hg;if(!u[k]){p=!0;break}B.length&&u[k]<=u[B[B.length-1]]&&cg(v,B,1);B.push(k);a.A="^_"==k?10:e;u=0}if(p||!cg(v,B)||1!=v.length)p=!0;p?f||a.i("parse error ("+(h||k)+")"):g=v.pop();a.A=y;return g}
function dg(a,b,c,d,e,f){var g,h,k,p=!1,u=0,v=[],B=[],y=a.u;for(a.u=e;c<d;){var w;h=b[c++].trim();k=c<d?b[c++]:"";if(h)w=eg(a,h,null,f,u);else if("{"==k){h=1;for(w=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;w=dg(a,b,w,c-1,a.u,f);null!=w&&u&&(w=fg(w,u));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.u=2;continue}if("^O"==k){a.u=8;continue}if("^D"==k){a.u=10;continue}if(!(u&-1073741824)){if("+"==k)continue;if("-"==k){u=u<<2|1;continue}if("~"==
k||"^-"==k){u=u<<2|2;continue}if("^L"==k){u=u<<2|3;continue}}p=!0;break}if(void 0===w)if(f)f.push(h),w=0;else{p=!0;f=[];break}v.push(bg(w));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{p=!0;break}if(!k)break;u="<"==a.U[0]?gg:hg;if(!u[k]){p=!0;break}B.length&&u[k]<=u[B[B.length-1]]&&cg(v,B,1);B.push(k);a.u="^_"==k?10:e;u=0}if(p||!cg(v,B)||1!=v.length)p=!0;p?f||a.i("parse error ("+(h||k)+")"):g=v.pop();a.u=y;return g}
function ig(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var p=b[h++];if(p==c){k=-1;break}if(!k)break;k--;p=p.charCodeAt(0);7==d?p&=127:p=p-32&63;g=bg(g*Math.pow(2,d)+p,d*e,!0)}if(0<=k){a.i("parse error ("+c+b+c+")");return}b=b.substr(0,f)+jg(a,g,-1)+b.substr(h)}return b}
function kg(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.U[0]&&(b=b.split(a.U[0]).join("{").split(a.U[1]).join("}"));b=ig(a,b,'"',7,5);if(!b)return d;b=ig(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=dg(a,b,0,b.length,a.A,c);void 0!==d&&e&&lg(a,null,d)}return d}
function kg(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.U[0]&&(b=b.split(a.U[0]).join("{").split(a.U[1]).join("}"));b=ig(a,b,'"',7,5);if(!b)return d;b=ig(a,b,"'",6,6);if(!b)return d;16!=a.u&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=dg(a,b,0,b.length,a.u,c);void 0!==d&&e&&lg(a,null,d)}return d}
function mg(a,b){var c,d=a.U[0],e=a.U[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=kg(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?jg(a,g):"undefined")}if(a.fa.length)for(d=a.fa[0],e=a.fa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=
a.S-a.ba}if(null==e)break;b=b.replace(d[0],e.toString())}return b}function fg(a,b){for(;b;){switch(b&3){case 1:a=-bg(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function eg(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.Kb(b);if(0<=f)f=a.Lb(f);else if(f=b,a.w[f]?f=a.w[f].value:(f=f.substr(0,6),f=a.w[f]&&a.w[f].value),null!=f){var h=a.w[b]&&a.w[b].pe;h&&(g?g.push(h):(g=kg(a,h,d),void 0!==g?f+=g:(d||a.i("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=ma(b,1<b.length||10<a.A?a.A:10);null!=f?f=bg(fg(f,e)):d||a.i("invalid "+(c||"value")+": "+b)}else d||a.i("missing "+(c||"value"));return f}
function lg(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.A?jg(a,c,32,8,1)+" "+c+".":jg(a,c,32,16,1)+" "+jg(a,c,32,8,1)+" "+jg(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.i((null!=b?b+": ":"")+d);return e}function ng(a,b){var c=0;if(a.w){if(b)return lg(a,b,a.w[b]&&a.w[b].value);b=Object.keys(a.w);b.sort();for(var d=0;d<b.length;d++)lg(a,b[d],a.w[b[d]].value),c++}return 0<c}
function jg(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.A){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=oa(b,2,a,"",e);break;case 8:(a=0<c?(c+2)/3|0:0)?12<a&&(a=12):(a=Math.abs(b),a=262143>=a?6:16777215>=a?8:12);b=oa(b,8,a,e?"0o":"");break;case 10:(e=0<c?Math.ceil(.3*c):0)?11<e&&(e=11):e=99999>=Math.abs(b)?5:11;b=oa(b,10,e);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
function eg(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.Kb(b);if(0<=f)f=a.Lb(f);else if(f=b,a.A[f]?f=a.A[f].value:(f=f.substr(0,6),f=a.A[f]&&a.A[f].value),null!=f){var h=a.A[b]&&a.A[b].pe;h&&(g?g.push(h):(g=kg(a,h,d),void 0!==g?f+=g:(d||a.i("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=ma(b,1<b.length||10<a.u?a.u:10);null!=f?f=bg(fg(f,e)):d||a.i("invalid "+(c||"value")+": "+b)}else d||a.i("missing "+(c||"value"));return f}
function lg(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.u?jg(a,c,32,8,1)+" "+c+".":jg(a,c,32,16,1)+" "+jg(a,c,32,8,1)+" "+jg(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.i((null!=b?b+": ":"")+d);return e}function ng(a,b){var c=0;if(a.A){if(b)return lg(a,b,a.A[b]&&a.A[b].value);b=Object.keys(a.A);b.sort();for(var d=0;d<b.length;d++)lg(a,b[d],a.A[b[d]].value),c++}return 0<c}
function jg(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.u){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=oa(b,2,a,"",e);break;case 8:(a=0<c?(c+2)/3|0:0)?12<a&&(a=12):(a=Math.abs(b),a=262143>=a?6:16777215>=a?8:12);b=oa(b,8,a,e?"0o":"");break;case 10:(e=0<c?Math.ceil(.3*c):0)?11<e&&(e=11):e=99999>=Math.abs(b)?5:11;b=oa(b,10,e);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var hg={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},gg={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
function og(a){ag.call(this,a);this.style=pg;this.L=qg();this.sa=qg();this.T=qg();this.C=[];this.j=this.M=this.B=[];rg(this);this.X=0;sg(this);this.ka={};tg(this,a.messages);this.na=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Nc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Nc(b,a)})}aa(og,ag);l=og.prototype;
l.Ga=function(a,b,c,d){this.I=b;this.u=c;this.R=a;(a=Jc(a,"messages"))&&tg(this,a);this.oa=ug;$d(this,64,function(a){a:{var b=d.I.b,c=a[0],e=a=0,k=b.length;if(c){a=vg(wg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.I.g;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;k--;){var u=b[e];u.type==c?p++||d.i("..."):(c=u.type,p=Sb[c],u&&d.i(n(u.id)+" %"+n(e<<d.I.g)+" %%"+n(u.J)+" "+q(u.pb)+" "+
q(u.size)+" "+p),c!=vc&&(c=-1),p=0);a+=d.I.w;e++}}});zb(this)};
l.Ga=function(a,b,c,d){this.I=b;this.w=c;this.R=a;(a=Jc(a,"messages"))&&tg(this,a);this.oa=ug;$d(this,64,function(a){a:{var b=d.I.b,c=a[0],e=a=0,k=b.length;if(c){a=vg(wg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.I.g;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;k--;){var u=b[e];u.type==c?p++||d.i("..."):(c=u.type,p=Sb[c],u&&d.i(n(u.id)+" %"+n(e<<d.I.g)+" %%"+n(u.J)+" "+q(u.pb)+" "+
q(u.size)+" "+p),c!=vc&&(c=-1),p=0);a+=d.I.u;e++}}});zb(this)};
l.da=function(a,b,c){var d=this;switch(b){case "debugInput":return this.W=this.P[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?(b=null,d.b<d.g.length-1&&(b=d.g[++d.b])):40==a.keyCode&&(0<d.b?b=d.g[--d.b]:(b="",d.b=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.P[b]=c,Sa(c,function(){if(d.W){var a=d.W.value;d.W.value=
"";Nc(d,a,!0);return!0}return!1}),!0;case "step":return this.P[b]=c,Sa(c,function(a){var b=!1;Ab(d,!0)||(Bb(d,!0),b=xg(d,a?1:0),Bb(d,!1));return b}),!0}return!1};l.Za=function(){this.W&&this.W.focus()};function vg(a){a=a&&a.J;null==a&&(a=-1);return a}l.Ha=function(a,b){var c=255,d=vg(a);-1!==d&&(c=Ub(this.I,d),b&&yg(a,b));return c};l.Gb=function(a,b){var c=65535,d=vg(a);-1!==d&&(c=Wb(this.I,d),b&&yg(a,b));return c};l.Xb=function(a,b,c){var d=vg(a);-1!==d&&(Xb(this.I,d,b),c&&yg(a,c),Oc(this.u,!0))};
l.Qc=function(a,b,c){var d=vg(a);if(-1!==d){var e=this.I,f=d&e.j,g=(d&e.C)>>>e.g;f!=e.j?e.b[g].Sb(f,b&65535,d):(e.b[g++].qb(f,b&255,d),e.b[g&e.H].qb(0,b>>8&255,d+1));c&&yg(a,c);Oc(this.u,!0)}};function qg(a){return{J:a,Fa:!1}}function Wg(a){return[a.J,a.Fa]}function Yg(a){return{J:a[0],Fa:a[1]}}
"";Nc(d,a,!0);return!0}return!1}),!0;case "step":return this.P[b]=c,Sa(c,function(a){var b=!1;Ab(d,!0)||(Bb(d,!0),b=xg(d,a?1:0),Bb(d,!1));return b}),!0}return!1};l.Za=function(){this.W&&this.W.focus()};function vg(a){a=a&&a.J;null==a&&(a=-1);return a}l.Ha=function(a,b){var c=255,d=vg(a);-1!==d&&(c=Ub(this.I,d),b&&yg(a,b));return c};l.Gb=function(a,b){var c=65535,d=vg(a);-1!==d&&(c=Wb(this.I,d),b&&yg(a,b));return c};l.Xb=function(a,b,c){var d=vg(a);-1!==d&&(Xb(this.I,d,b),c&&yg(a,c),Oc(this.w,!0))};
l.Qc=function(a,b,c){var d=vg(a);if(-1!==d){var e=this.I,f=d&e.j,g=(d&e.C)>>>e.g;f!=e.j?e.b[g].Sb(f,b&65535,d):(e.b[g++].qb(f,b&255,d),e.b[g&e.H].qb(0,b>>8&255,d+1));c&&yg(a,c);Oc(this.w,!0)}};function qg(a){return{J:a,Fa:!1}}function Wg(a){return[a.J,a.Fa]}function Yg(a){return{J:a[0],Fa:a[1]}}
function wg(a,b,c){var d;c=(c?a.L:a.sa).J;if(void 0!==b){d=b=mg(a,b)||b;var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.C.length;c++){var f=a.C[c].ra[d];if(void 0!==f){d=f.o;void 0!==d&&(e=qg(d));break}}if(d=e)return d;c=kg(a,b)}null!=c&&(d=qg(c));return d}function Zg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sd=a.Ab(b.Jc=c[2]))}function yg(a,b){null!=a.J&&(a.J+=b||1)}function $g(a){return n(a,4)}
function ah(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ha(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function tg(a,b){a.K=a;a.ha=a.wd=536870912;a.Y=null;a.Z=[];b=a.Ab(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Hb)0<=Ea(b,c)&&(a.ha|=Hb[c],a.i(c+" messages enabled"))}function $d(a,b,c){for(var d in Hb)if(b==Hb[d]){a.ka[d]=c;break}}
l.Kb=function(a,b){var c;a=a.toUpperCase();null==b?c=Ea(bh,a):(c=Ea(bh,a.substr(b,2)),0>c&&(c=Ea(bh,a.substr(b,1))));return c};function ch(a,b){var c=0;a=a.Lb(b);if(void 0!==a)switch(b){case dh:case eh:case fh:case gh:case hh:case ih:case jh:case kh:c=2;break;case lh:case mh:case nh:case oh:case ph:case qh:case rh:c=4}return c?n(a,c):"??"}
l.Lb=function(a){var b;if(0<=a){var c=this.u;switch(a){case dh:b=c.g;break;case eh:b=c.w;break;case fh:b=c.A;break;case lh:b=ud(c);break;case gh:b=c.B;break;case hh:b=c.C;break;case mh:b=wd(c);break;case ih:b=c.D;break;case jh:b=c.F;break;case nh:b=D(c);break;case kh:b=E(c,D(c));break;case oh:b=c.M;break;case ph:b=c.j;break;case qh:b=sd(c);break;case rh:b=sd(c)&255|c.g<<8}}return b};
l.Lb=function(a){var b;if(0<=a){var c=this.w;switch(a){case dh:b=c.g;break;case eh:b=c.u;break;case fh:b=c.A;break;case lh:b=ud(c);break;case gh:b=c.B;break;case hh:b=c.C;break;case mh:b=wd(c);break;case ih:b=c.D;break;case jh:b=c.F;break;case nh:b=D(c);break;case kh:b=E(c,D(c));break;case oh:b=c.M;break;case ph:b=c.j;break;case qh:b=sd(c);break;case rh:b=sd(c)&255|c.g<<8}}return b};
function sh(a,b){b=mg(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Kb(b,c+1),0<=e&&(b=b.substr(0,c)+ch(a,e)+b.substr(c+1+bh[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ma(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=wg(a,e))?(d=e+' "'+ah(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=wg(a,e))?(yg(d),d=
e+' "'+ah(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+$g(qg(this.u.j).J));this.ha&1073741824?this.Z.push(a):this.Y&&a==this.Y||(this.Y=a,this.ha&-2147483648&&(this.ea(),a+=" (cpu halted)"),this.i(a),this.u&&(a=this.u,Xc(a),a.ta=0,Oc(a)))};
e+' "'+ah(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+$g(qg(this.w.j).J));this.ha&1073741824?this.Z.push(a):this.Y&&a==this.Y||(this.Y=a,this.ha&-2147483648&&(this.ea(),a+=" (cpu halted)"),this.i(a),this.w&&(a=this.w,Xc(a),a.ta=0,Oc(a)))};
function Eb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ha&h)!=h||a.message(b.cb+"."+(null!=d?"outPort":"inPort")+"("+q(c)+","+(f?f:"unknown")+(null!=d?","+pa(d):"")+")"+(null!=g?": "+pa(g):"")+(null!=e?" at "+$g(e):""))}
function sg(a){var b;if(Sd(a)){if(!a.H||!a.H.length){a.H=Array(th);for(b=0;b<a.H.length;b++)a.H[b]=qg();a.V=0;a.i("instruction history buffer allocated")}if(!a.D||!a.D.length)for(a.D=Array(256),b=0;b<a.D.length;b++)a.D[b]=[b,0]}else a.H&&a.H.length&&a.i("instruction history buffer freed"),a.V=0,a.H=[],a.D=[]}function uh(a,b){if(!vh(a))return!1;a.u.tb(b);return!0}
function xg(a,b,c,d){if(!vh(a))return!1;a.F=0;b||Sd(a)&&Td(a,a.u.j,0);try{var e=a.u.Eb(b);0<e&&(a.F+=e,Sc(a.u,e,!0),Pc(a.u,e),a.S++)}catch(f){"number"!=typeof f&&(a.F=0,xb(a.u,f.stack||f.message))}!1!==d&&Oc(a.u);Mc(a,c||!1);return 0<a.F}l.ea=function(a){this.u&&this.u.ea(a)};function Mc(a,b){void 0===b&&(b=!0);a.L=qg(a.u.j);b&&1!=a.O?wh(a):xh(a)}
function vh(a){var b;if(b=a.u&&yb(a.u))b=a.u,b.G.ja?b=!0:(b.i(b.toString()+" not powered"),b=!1);b&&!Ab(a.u)?(a=a.u,a.G.error?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.wa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.va=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){sg(this);this.S=this.ba=0;this.Y=null;this.F=0;this.L=qg(this.u.j);this.G.ma=!1;yh(this);a||Mc(this)};
function sg(a){var b;if(Sd(a)){if(!a.H||!a.H.length){a.H=Array(th);for(b=0;b<a.H.length;b++)a.H[b]=qg();a.V=0;a.i("instruction history buffer allocated")}if(!a.D||!a.D.length)for(a.D=Array(256),b=0;b<a.D.length;b++)a.D[b]=[b,0]}else a.H&&a.H.length&&a.i("instruction history buffer freed"),a.V=0,a.H=[],a.D=[]}function uh(a,b){if(!vh(a))return!1;a.w.tb(b);return!0}
function xg(a,b,c,d){if(!vh(a))return!1;a.F=0;b||Sd(a)&&Td(a,a.w.j,0);try{var e=a.w.Eb(b);0<e&&(a.F+=e,Sc(a.w,e,!0),Pc(a.w,e),a.S++)}catch(f){"number"!=typeof f&&(a.F=0,xb(a.w,f.stack||f.message))}!1!==d&&Oc(a.w);Mc(a,c||!1);return 0<a.F}l.ea=function(a){this.w&&this.w.ea(a)};function Mc(a,b){void 0===b&&(b=!0);a.L=qg(a.w.j);b&&1!=a.O?wh(a):xh(a)}
function vh(a){var b;if(b=a.w&&yb(a.w))b=a.w,b.G.ja?b=!0:(b.i(b.toString()+" not powered"),b=!1);b&&!Ab(a.w)?(a=a.w,a.G.error?(a.i(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.wa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.va=function(a,b){b&&this.i(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){sg(this);this.S=this.ba=0;this.Y=null;this.F=0;this.L=qg(this.w.j);this.G.ma=!1;yh(this);a||Mc(this)};
l.save=function(){var a=new td(this);a.set(0,Wg(this.L));a.set(1,Wg(this.T));a.set(2,[this.g,this.N,this.ha]);a.set(3,this.C);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.L=Yg(a[b++]),this.T=Yg(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.N=a[b][1],this.ha|=a[b][2]);a[3]&&(this.C=a[3]);return!0};l.start=function(a,b){this.O||this.i("running");this.G.ma=!0;this.za=a;this.Aa=b};
l.stop=function(a,b){if(this.G.ma){this.G.ma=!1;this.F=b-this.Aa;if(!this.O){b="stopped";if(this.F){a-=this.za;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";Sd(this)&&(b+=this.S+" opcodes, ",this.ba-=this.S,this.S=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else Cb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}Mc(this,!0);this.Za();yh(this,this.u.j)}};function Sd(a){return 1<a.j.length||!!a.X}
function Td(a,b,c){var d=a.u;if(0<c&&(a.X&&!--a.X||Gc(a,b,1,a.j)))return!0;0<=c&&a.D.length&&(a.S++,b=Ub(a.I,b),null!=b&&(a.D[b][1]++,b=a.H[a.V],b.J=d.j,b.Fa=!1,++a.V==a.H.length&&(a.V=0)));return!1}function cc(a,b,c){a.i("break on input from port "+q(b)+": "+n(c));a.ea(!0)}function gc(a,b,c){a.i("break on output to port "+q(b)+": "+n(c));a.ea(!0)}
l.stop=function(a,b){if(this.G.ma){this.G.ma=!1;this.F=b-this.Aa;if(!this.O){b="stopped";if(this.F){a-=this.za;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";Sd(this)&&(b+=this.S+" opcodes, ",this.ba-=this.S,this.S=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else Cb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.i(b)}Mc(this,!0);this.Za();yh(this,this.w.j)}};function Sd(a){return 1<a.j.length||!!a.X}
function Td(a,b,c){var d=a.w;if(0<c&&(a.X&&!--a.X||Gc(a,b,1,a.j)))return!0;0<=c&&a.D.length&&(a.S++,b=Ub(a.I,b),null!=b&&(a.D[b][1]++,b=a.H[a.V],b.J=d.j,b.Fa=!1,++a.V==a.H.length&&(a.V=0)));return!1}function cc(a,b,c){a.i("break on input from port "+q(b)+": "+n(c));a.ea(!0)}function gc(a,b,c){a.i("break on output to port "+q(b)+": "+n(c));a.ea(!0)}
function rg(a){var b,c;a.j=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];var d=a.I;Fc(d.b[vg(c)>>>d.g],!1)}a.M=["br"];if(a.B)for(b=1;b<a.B.length;b++)c=a.B[b],d=a.I,Fc(d.b[vg(c)>>>d.g],!0);a.B=["bw"];a.ta=0}l.Pa=function(a,b,c){var d=!0;c||zh(this,a,b,!1,!0);if(a!=this.j){var e=vg(b);if(-1===e)this.i("invalid address: "+$g(b.J)),d=!1;else{var f=this.I;f.b[e>>>f.g].Pa(e&f.j,a==this.B)}}d&&(a.push(b),c?b.Fa=!0:(Ah(this,a,a.length-1,"set"),sg(this)));return d};
function zh(a,b,c,d,e){var f=!1;c=vg(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==vg(h)&&(!d||h.Fa)){f=!0;h.Fa||e||Ah(a,b,g,"cleared");b.splice(g,1);b!=a.j&&(d=a.I,Fc(d.b[c>>>d.g],b==a.B));h.Fa||sg(a);break}}return f}function Bh(a,b){for(var c=1;c<b.length;c++)Ah(a,b,c);return b.length-1}function Ah(a,b,c,d){c=b[c];a.i(b[0]+" "+$g(c.J)+(d?" "+d:c.Jc?' "'+c.Jc+'"':""))}
function yh(a,b){if(void 0!==b)Gc(a,b,1,a.j,!0),a.O=0;else for(b=1;b<a.j.length;b++){var c=a.j[b];if(c.Fa){if(!zh(a,a.j,c,!0))break;b=0}}}
function Gc(a,b,c,d,e){var f=!1;if(!a.ta++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Fa)for(var k=vg(h),p=0;p<c;p++)if(b+p==k){var u,f=!0;h.Fa&&(zh(a,d,h,!0),e=!0);if(u=h.sd){for(var f=!1,v=0;v<u.length;v++)if(!Ch(a,u[v],!0)){if(u[v].indexOf("if")){f=!0;break}for(var B=v+1;B<u.length&&u[B].indexOf("else");B++)v++;if(B==u.length){f=!0;break}}a.u.G.ma||(f=!0)}if(f){e||Ah(a,d,g,"hit");break}}}a.ta--;return f}
function Gc(a,b,c,d,e){var f=!1;if(!a.ta++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Fa)for(var k=vg(h),p=0;p<c;p++)if(b+p==k){var u,f=!0;h.Fa&&(zh(a,d,h,!0),e=!0);if(u=h.sd){for(var f=!1,v=0;v<u.length;v++)if(!Ch(a,u[v],!0)){if(u[v].indexOf("if")){f=!0;break}for(var B=v+1;B<u.length&&u[B].indexOf("else");B++)v++;if(B==u.length){f=!0;break}}a.w.G.ma||(f=!0)}if(f){e||Ah(a,d,g,"hit");break}}}a.ta--;return f}
function Dh(a,b,c,d){for(var e=qg(b.J),f=a.Ha(b,1),g=a.oa[f],h="",k=(a.style!=Eh?Fh:Gh)[g[0]],p=g.length-1,u=Hh,v,B=1;B<=p;B++){var y="";v=g[B];if(void 0!==v&&!(v&O&&a.style==pg)){var w=v&Ih;if(w){var C=v&Jh;C?u=C:v|=u;v&Kh||(v|=1==B?Lh:Mh);if(w&P)a:{y=a;w=v;C=b;switch(w&Jh){case Q:C=n(y.Ha(C,1),2);break;case Nh:C=n(y.Ha(C,1)<<24>>24,4);break;case Oh:C=n(y.Gb(C,2),4);break;default:y="imm("+q(w)+")";break a}y.style==Eh&&w&Ph?C="["+C+"]":w&Qh||(C=(y.style==pg?"$":"0x")+C);y=C}else w&Qh?(y=(v&Rh)>>8,
w=bh[y],a.style==Eh&&v&Ph&&(y==kh&&(w="HL"),w="["+w+"]"),y=w):w&Sh&&(y=(f>>3&7).toString());if(!y||!y.length){h="INVALID";break}0<h.length&&(h+=",");h+=y||"???"}}}f="";g=$g(e.J)+" ";if(-1!==e.J&&-1!==b.J){do if(f+=n(a.Ha(e,1),2),null==e.J)break;while(e.J!=b.J)}g+=xa(f,10);g+=v&Th?"*":" ";g+=xa(k,7);h&&(g+=" "+h);c&&(g=xa(g,40)+";"+c,g=a.u.G.Wa?g+("cycles="+Qc(a.u).toString()+" cs="+n(a.u.xa)):g+(null!=d?"="+d.toString():""));return g}
function Uh(a,b){switch(b){case "IF":a=a.u.N&512;break;case "SF":a=Ed(a.u);break;case "ZF":a=Dd(a.u);break;case "AF":a=Cd(a.u);break;case "PF":a=Bd(a.u);break;case "CF":a=zd(a.u);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Vh(a,b){return bh[b]+"="+ch(a,b)+" "}function Wh(a){return Vh(a,dh)+Vh(a,lh)+Vh(a,mh)+Vh(a,nh)+Vh(a,oh)+Uh(a,"IF")+Uh(a,"SF")+Uh(a,"ZF")+Uh(a,"AF")+Uh(a,"PF")+Uh(a,"CF")}l.Ac=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
w=bh[y],a.style==Eh&&v&Ph&&(y==kh&&(w="HL"),w="["+w+"]"),y=w):w&Sh&&(y=(f>>3&7).toString());if(!y||!y.length){h="INVALID";break}0<h.length&&(h+=",");h+=y||"???"}}}f="";g=$g(e.J)+" ";if(-1!==e.J&&-1!==b.J){do if(f+=n(a.Ha(e,1),2),null==e.J)break;while(e.J!=b.J)}g+=xa(f,10);g+=v&Th?"*":" ";g+=xa(k,7);h&&(g+=" "+h);c&&(g=xa(g,40)+";"+c,g=a.w.G.Wa?g+("cycles="+Qc(a.w).toString()+" cs="+n(a.w.xa)):g+(null!=d?"="+d.toString():""));return g}
function Uh(a,b){switch(b){case "IF":a=a.w.N&512;break;case "SF":a=Ed(a.w);break;case "ZF":a=Dd(a.w);break;case "AF":a=Cd(a.w);break;case "PF":a=Bd(a.w);break;case "CF":a=zd(a.w);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Vh(a,b){return bh[b]+"="+ch(a,b)+" "}function Wh(a){return Vh(a,dh)+Vh(a,lh)+Vh(a,mh)+Vh(a,nh)+Vh(a,oh)+Uh(a,"IF")+Uh(a,"SF")+Uh(a,"ZF")+Uh(a,"AF")+Uh(a,"PF")+Uh(a,"CF")}l.Ac=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Xh(a,b,c){var d=[],e=vg(b)>>>0;for(b=0;b<a.C.length;b++){var f=a.C[b],g=f.J>>>0,h=f.Qd;if(e>=g&&e<g+h){e=Ca(f.zc,[e-g],a.Ac);0<=e?Yh(a,b,e,d):c&&(e=~e,Yh(a,b,e-1,d),Yh(a,b,e,d));break}}return d}function Yh(a,b,c,d){var e={},f=a.C[b].zc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.C[b].ra[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Zh(a,b){if("?"==b)a.i("frequency commands:"),a.i("\tclear\tclear all frequency counts");else{var c=0;if(a.D)if("clear"==b){for(b=0;b<a.D.length;b++)a.D[b]=[b,0];a.i("frequency data cleared");c++}else if(void 0!==b)a.i("unknown frequency command: "+b),c++;else{var d=a.D.slice();d.sort(function(a,b){return b[1]-a[1]});var e=a.style!=Eh?Fh:Gh;for(b=0;b<d.length;b++){var f=d[b][0],g=d[b][1];g&&(a.i((e[a.oa[f][0]]+" ").substr(0,5)+" ("+pa(f)+"): "+g+" times"),c++)}}c||a.i("no frequency data available")}}
function $h(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ng(a)||a.i("no variables"),!0;if(!c[2])return ng(a,c[1]);if(!c[3])return delete a.w[c[1]],!0;b=kg(a,c[3]);return void 0!==b?(a.w[c[1]]={value:b,pe:void 0},!0):!1}a.i("invalid assignment:"+b);return!1}
function $h(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return ng(a)||a.i("no variables"),!0;if(!c[2])return ng(a,c[1]);if(!c[3])return delete a.A[c[1]],!0;b=kg(a,c[3]);return void 0!==b?(a.A[c[1]]={value:b,pe:void 0},!0):!1}a.i("invalid assignment:"+b);return!1}
function ai(a,b,c){var d=null;if(b=wg(a,b,!0)){var e=Xh(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.J-e[1])&&(g=" + "+q(f)),f=e[0]+" ("+$g(e[1])+")"+g,c&&a.i(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.J)&&(g=" - "+q(f)),f=e[4]+" ("+$g(e[5])+")"+g,c&&a.i(f),d||(d=f))}else c&&a.i("no symbols")}return d}
function bi(a,b){switch(b[1]){case "8080":a.style=pg;break;case "8086":a.style=Eh;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.u.na=c;break;case "start":a.u.za=c;break;case "stop":a.u.sa=c;break;default:a.i("unknown cs option");return}void 0!==c&&Lc(a.u);a.i("checksums "+(a.u.G.Wa?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Rc(a.u,+b[2])||a.i("warning: using 1x multiplier, previous target not reached"));a.i("target speed: "+(a.u.Z.toFixed(2)+"Mhz")+" ("+a.u.U+
function bi(a,b){switch(b[1]){case "8080":a.style=pg;break;case "8086":a.style=Eh;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.w.na=c;break;case "start":a.w.za=c;break;case "stop":a.w.sa=c;break;default:a.i("unknown cs option");return}void 0!==c&&Lc(a.w);a.i("checksums "+(a.w.G.Wa?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Rc(a.w,+b[2])||a.i("warning: using 1x multiplier, previous target not reached"));a.i("target speed: "+(a.w.Z.toFixed(2)+"Mhz")+" ("+a.w.U+
"x)");return;case "?":a.i("debugger options:");a.i("\t8080\t\tselect 8080-style mnemonics");a.i("\t8086\t\tselect 8086-style mnemonics");a.i("\tcs int #\tset checksum cycle interval to #");a.i("\tcs start #\tset checksum cycle start count to #");a.i("\tcs stop #\tset checksum cycle stop count to #");a.i("\tsp #\t\tset speed multiplier to #");break;default:if(b[1]){a.i("unknown option: "+b[1]);return}}a.i(a.style+"-style mnemonics enabled")}
function wh(a,b){var c;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var d=a.u;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.i("missing value for "+b[1]);return}f=kg(a,b);if(void 0===f)return;switch(e.toUpperCase()){case "A":d.g=f&255;break;case "B":d.w=f&255;break;case "BC":d.w=f>>8&255;case "C":d.A=f&255;break;case "D":d.B=f&255;break;
function wh(a,b){var c;if(b&&"?"==b[1])a.i("register commands:"),a.i("\tr\tdump registers"),a.i("\trx [#]\tset flag or register x to [#]");else{var d=a.w;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.i("missing value for "+b[1]);return}f=kg(a,b);if(void 0===f)return;switch(e.toUpperCase()){case "A":d.g=f&255;break;case "B":d.u=f&255;break;case "BC":d.u=f>>8&255;case "C":d.A=f&255;break;case "D":d.B=f&255;break;
case "DE":d.B=f>>8&255;case "E":d.C=f&255;break;case "H":d.D=f&255;break;case "HL":d.D=f>>8&255;case "L":d.F=f&255;break;case "SP":d.M=f&65535;break;case "PC":A(d,f);a.L=qg(d.j);break;case "PS":qd(d,f);break;case "PSW":qd(d,f&255|d.N&-256);d.g=f>>8;break;case "CF":d.H=f?d.H|256:d.H&255;break;case "PF":f?Bd(d)||(d.L^=1):Bd(d)&&(d.L^=1);break;case "AF":d.O=f?~d.L&16|d.O&-17:d.L&16|d.O&-17;break;case "ZF":d.H=f?d.H&-256:d.H|255;break;case "SF":f?Ed(d)||(d.L^=192):Ed(d)&&(d.L^=192);break;case "IF":d.N=
f?d.N|512:d.N&-513;break;default:a.i("unknown register: "+e);return}Oc(d);a.i("updated registers:")}a.i(Wh(a));c&&(a.L=qg(d.j),xh(a,$g(a.L.J)))}}function ci(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.i(sh(a,c[2])):kg(a,b,!1)}function di(a,b,c){var d="t"!=b;c=eg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ra(c,function(){return Bb(a,!0)&&xg(a,e,d,!1)},function(){Oc(a.u);Bb(a,!1)})}
f?d.N|512:d.N&-513;break;default:a.i("unknown register: "+e);return}Oc(d);a.i("updated registers:")}a.i(Wh(a));c&&(a.L=qg(d.j),xh(a,$g(a.L.J)))}}function ci(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.i(sh(a,c[2])):kg(a,b,!1)}function di(a,b,c){var d="t"!=b;c=eg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ra(c,function(){return Bb(a,!0)&&xg(a,e,d,!1)},function(){Oc(a.w);Bb(a,!1)})}
function xh(a,b,c,d){if(b=wg(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=wg(a,c,!0);if(!d||d.J<b.J)return;e=d.J-b.J;if(256<e){a.i("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=Ab(a,!1)||a.O?a.F:null;var g=null!=f?"cycles":null,h=Xh(a,b),k=b.J;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var p=h[0]+":";h[2]&&(p+=" "+h[2]);a.i(p)}h[3]&&(g=h[3],f=null);f=Dh(a,b,g,f);a.i(f);a.L=b;e-=b.J-k;c++}}}
l.Ab=function(a,b,c){if(b)if(a){0>this.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.N?a="end":a=this.g[this.b+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(ya(a.substring(d,f))),d=f+1}}return b};
function Ch(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.N&&(a.i("ended assemble at "+$g(a.T.J)),a.L=a.T,a.N=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Y=null;if(yb(a)&&0<b.length){a.N&&(b="a "+$g(a.T.J)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var g=f[0],h=g.charAt(0),k=1;k<g.length;k++){var p=g.charAt(k);if("?"==h||"r"==h||"a">p||"z"<p){f[0]=g.substr(k);f.unshift(g.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var u=wg(a,f[1],!0);if(u)if(a.T=
u,void 0===f[2])a.i("begin assemble at "+$g(u.J)),a.N=!0,Oc(a.u);else{var v;a.i("not supported yet");v=[];if(v.length){for(var B=0;B<v.length;B++)a.Xb(u,v[B],1);a.i(Dh(a,a.T))}}break;case "b":a:{var y=f[0],w=f[1],C=b;if("?"==w)a.i("breakpoint commands:"),a.i("\tbi [p]\ttoggle break on input port [p]"),a.i("\tbo [p]\ttoggle break on output port [p]"),a.i("\tbp [a]\tset exec breakpoint at addr [a]"),a.i("\tbr [a]\tset read breakpoint at addr [a]"),a.i("\tbw [a]\tset write breakpoint at addr [a]"),a.i("\tbc [a]\tclear breakpoint at addr [a]"),
u,void 0===f[2])a.i("begin assemble at "+$g(u.J)),a.N=!0,Oc(a.w);else{var v;a.i("not supported yet");v=[];if(v.length){for(var B=0;B<v.length;B++)a.Xb(u,v[B],1);a.i(Dh(a,a.T))}}break;case "b":a:{var y=f[0],w=f[1],C=b;if("?"==w)a.i("breakpoint commands:"),a.i("\tbi [p]\ttoggle break on input port [p]"),a.i("\tbo [p]\ttoggle break on output port [p]"),a.i("\tbp [a]\tset exec breakpoint at addr [a]"),a.i("\tbr [a]\tset read breakpoint at addr [a]"),a.i("\tbw [a]\tset write breakpoint at addr [a]"),a.i("\tbc [a]\tclear breakpoint at addr [a]"),
a.i("\tbl\tlist all breakpoints"),a.i("\tbn [n]\tbreak after [n] instruction(s)");else{var T=y.charAt(1);if("l"==T){var za;za=0+Bh(a,a.j);za+=Bh(a,a.M);(za+=Bh(a,a.B))||a.i("no breakpoints")}else if("n"==T)a.X=eg(a,w),a.i("break after "+a.X+" instruction(s)");else if(void 0===w)a.i("missing breakpoint address");else{var L=qg();if("*"!=w&&(L=wg(a,w,!0),!L))break a;w=q(L.J);"c"==T?null==L.J?(rg(a),a.i("all breakpoints cleared")):zh(a,a.j,L)||zh(a,a.M,L)||zh(a,a.B,L)||a.i("breakpoint missing: "+$g(L.J)):
"i"==T?a.i("breakpoint "+($b(a.I,L.J)?"enabled":"cleared")+": port "+w+" (input)"):"o"==T?a.i("breakpoint "+(dc(a.I,L.J)?"enabled":"cleared")+": port "+w+" (output)"):null!=L.J&&(Zg(a,L,C),"p"==T?a.Pa(a.j,L):"r"==T?a.Pa(a.M,L):"w"==T?a.Pa(a.B,L):a.i("unknown breakpoint command: "+T))}}}break;case "c":a.ua&&(a.ua.value="");break;case "d":a:{var ja,ua=f[0],na=f[1],Ma=f[2],hc=f[3];if("?"==na){var Pb="";for(ja in Hb)a.ka[ja]&&(Pb&&(Pb+=","),Pb+=ja);Pb+=",state,symbols";a.i("dump memory commands:");a.i("\tdb [a] [#] dump # bytes at address a");
a.i("\tdw [a] [#] dump # words at address a");a.i("\tdd [a] [#] dump # dwords at address a");a.i("\tdh [#] [#] dump # instructions from history");Pb.length&&a.i("dump extension commands:\n\t"+Pb)}else if("state"==na){var re=ei(a.R,!0);"console"==Ma?console.log(re):(a.ua&&(a.ua.value=""),re&&a.i(re))}else if("symbols"==na)for(var se=0;se<a.C.length;se++){var te=a.C[se],Qb;for(Qb in te.ra)if("."!=Qb.charAt(0)){var zg=te.ra[Qb].o;if(void 0!==zg){var Ag=te.ra[Qb].l;Ag&&(Qb=Ag);a.i($g(zg)+" "+
@ -257,12 +257,12 @@ Qb)}}}else{if("d"==ua){for(ja in Hb)if(f[1]==ja){var Bg=a.ka[ja];Bg?(f.shift(),f
" instructions earlier:");0<mc&&Na!=a.V;){var Gg=$a[Na++];if(null==Gg.J)break;var nc=qg(Gg.J),Ii=Ba--,Hg=Dh(a,nc,"history",Ii);(!ue.length||0<=Hg.indexOf(ue[0]))&&a.i(Hg);nc.Jb&&(Na+=nc.Jb,mc-=nc.Jb,Ba-=nc.Jb);Na>=$a.length&&(Na=0);a.xa=Ba;Fg++;mc--}}Fg||(a.i("no "+Eg+"history available"),a.xa=void 0)}else{var cd=wg(a,na);if(cd){var dd=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||hc),dd=eg(a,Ma)>>>0,65536<dd&&(dd=65536));for(var oc="",ed="dd"==ua?4:"dw"==ua?2:1,fd=ed*dd||128,Ji=fd+15>>4||1;Ji--&&0<
fd;){var gd=0,ve=0,pc,we="",Ig="",na=$g(cd.J);for(pc=16;0<pc&&0<fd;pc--){var hd=a.Ha(cd,1),gd=gd|hd<<(ve++<<3);ve==ed&&(we+=n(gd,2*ed),we+=1==ed?9==pc?"-":" ":" ",gd=ve=0);Ig+=32<=hd&&128>hd?String.fromCharCode(hd):".";fd--}oc&&(oc+="\n");oc+=na+" "+we+(pc?"":" "+Ig)}oc&&a.i(oc);a.sa=cd}}}}break;case "e":if("else"==f[0])break;var id=1,Jg=255,Kg=a.Ha,Lg=a.Xb;"ew"==f[0]&&(id=2,Jg=65535,Kg=a.Gb,Lg=a.Qc);var Mg=id<<1,Ng=f[1];if(null==Ng)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),
a.i("\tew [a] [...] edit words at address a");else{var jd=wg(a,Ng);if(jd)for(var kd=2;kd<f.length;kd++){var qc=kg(a,f[kd]);if(void 0===qc){a.i("unrecognized value: "+f[kd]);break}qc&~Jg&&a.i("warning: "+n(qc)+" exceeds "+id+"-byte value");var Ki=Kg.call(a,jd);a.i("changing "+$g(jd.J)+" from "+n(Ki,Mg,!0)+" to "+n(qc,Mg,!0));Lg.call(a,jd,qc,id)}}break;case "f":Zh(a,f[1]);break;case "g":a:{var Og=f[1],Li=b;if(void 0!==Og){var xe=wg(a,Og,!0);if(!xe)break a;Zg(a,xe,Li);a.Pa(a.j,xe,!0)}uh(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;
case "h":a:{var ye;if(a.G.ma)ye="halting",a.ea();else{if(Ab(a,!0))break a;ye="already halted"}c||a.i(ye)}break;case "i":if("if"==f[0]){var ze;var rc=b.substr(2),rc=ya(rc);kg(a,rc)?(c||a.i("true: "+rc),ze=!0):(c||a.i("false: "+rc),ze=!1);ze||(d=!1);break}if("int"==f[0]){var ld;var Mi=f[1];if(a.u.N&512){var Ae=kg(a,Mi);null==Ae?ld=!1:(a.i("requesting interrupt level "+Ae),Rd(a.u,Ae),ld=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),ld=!1;ld||(d=!1);break}var Be=f[1];if(Be&&"?"!=Be){var Ce=
eg(a,Be);if(void 0!==Ce){var Ni=bc(a.I,Ce);a.i(q(Ce)+": "+pa(Ni))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Oi=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var De=0,Pg=qg(),sc=qg(a.u.M);for(a.i("stack trace for "+$g(sc.J));10>De;){for(var vb=null,Pi=256;65536>sc.J>>>0;){Pg.J=a.Gb(sc,2);if(null==sc.J||!Pi--)break;for(var Qi=a,md=Pg,
case "h":a:{var ye;if(a.G.ma)ye="halting",a.ea();else{if(Ab(a,!0))break a;ye="already halted"}c||a.i(ye)}break;case "i":if("if"==f[0]){var ze;var rc=b.substr(2),rc=ya(rc);kg(a,rc)?(c||a.i("true: "+rc),ze=!0):(c||a.i("false: "+rc),ze=!1);ze||(d=!1);break}if("int"==f[0]){var ld;var Mi=f[1];if(a.w.N&512){var Ae=kg(a,Mi);null==Ae?ld=!1:(a.i("requesting interrupt level "+Ae),Rd(a.w,Ae),ld=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),ld=!1;ld||(d=!1);break}var Be=f[1];if(Be&&"?"!=Be){var Ce=
eg(a,Be);if(void 0!==Ce){var Ni=bc(a.I,Ce);a.i(q(Ce)+": "+pa(Ni))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Oi=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var De=0,Pg=qg(),sc=qg(a.w.M);for(a.i("stack trace for "+$g(sc.J));10>De;){for(var vb=null,Pi=256;65536>sc.J>>>0;){Pg.J=a.Gb(sc,2);if(null==sc.J||!Pi--)break;for(var Qi=a,md=Pg,
Qg=null,tc=md.J,Rg=tc,Ee=1;6>=Ee&&tc;Ee++){if(2<Ee){md.J=tc;var nd=Dh(Qi,md);if(0<=nd.indexOf("CALL")){var Sg=nd.indexOf(" ");if(tc+(nd.indexOf(" ",Sg+1)-Sg-1)/2==Rg){Qg=nd;break}}}tc--}md.J=Rg;if(vb=Qg)break}if(!vb||null==vb)break;var Tg=null;if("ks"==Oi){var Ug=vb.match(/[0-9A-F]+$/);Ug&&(Tg=ai(a,Ug[0]))}vb=xa(vb,50)+" ;"+(Tg||"stack="+$g(sc.J));a.i(vb);De++}De||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&ai(a,f[1],!0);break;case "m":a:{var ab,bb=null,ba=f[1];"?"==ba&&(ba=void 0);
if(void 0!==ba){var nb=0;if("all"==ba)nb=1878917119,ba=null;else if("on"==ba)bb=!0,ba=null;else if("off"==ba)bb=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for(ab in Hb)if(ba==ab){nb=Hb[ab];bb=!!(a.ha&nb);break}if(!nb){a.i("unknown message category: "+ba);break a}}if(nb)if("on"==f[2])a.ha|=nb,bb=!0;else if("off"==f[2]&&(a.ha&=~nb,bb=!1,1073741824==nb)){for(var Fe=0;Fe<a.Z.length;Fe++)a.i(a.Z[Fe]);a.Z=[]}}var Ri=0,uc="";for(ab in Hb)if(!ba||ba==ab){var Si=!!(a.ha&Hb[ab]);if(null===
bb||bb==Si)uc&&(uc+=","),++Ri%10||(uc+="\n\t"),"key"==ab&&(ab="keys"),uc+=ab}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==bb?bb?"messages on: ":"messages off: ":"message categories:\n\t")+(uc||"none"));sg(a)}break;case "o":var Ge=f[1],Ti=f[2];if(Ge&&"?"!=Ge){var He=eg(a,Ge,"port #"),Ie=eg(a,Ti);void 0!==He&&void 0!==Ie&&(fc(a.I,He,Ie),a.i(q(He)+": "+pa(Ie)))}else a.i("output commands:"),a.i("\to [p] [b]\twrite byte [b] to port [p]"),a.i("warning: port accesses can affect hardware state");
break;case "p":if("print"==f[0]){ci(a,b.substr(5));break}var Vg="pr"==f[0]?1:0,Ui=1+Vg;if(a.O)a.i("step in progress");else{var Je=qg(a.u.j);switch(a.Ha(Je)){case 205:a.O=Ui,yg(Je,3)}a.O?(a.Pa(a.j,Je,!0),uh(a)||(a.R&&a.R.Za(),a.O=0)):di(a,Vg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}wh(a,f);break;case "s":bi(a,f);break;case "t":di(a,f[0],f[1]);break;case "u":xh(a,f[1],f[2],8);break;case "v":if("var"==f[0]){$h(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.35.0 ("+a.u.xb+",RELEASE"+
break;case "p":if("print"==f[0]){ci(a,b.substr(5));break}var Vg="pr"==f[0]?1:0,Ui=1+Vg;if(a.O)a.i("step in progress");else{var Je=qg(a.w.j);switch(a.Ha(Je)){case 205:a.O=Ui,yg(Je,3)}a.O?(a.Pa(a.j,Je,!0),uh(a)||(a.R&&a.R.Za(),a.O=0)):di(a,Vg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}wh(a,f);break;case "s":bi(a,f);break;case "t":di(a,f[0],f[1]);break;case "u":xh(a,f[1],f[2],8);break;case "v":if("var"==f[0]){$h(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.35.0 ("+a.w.xb+",RELEASE"+
(Fb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(Ha());break;case "?":if(f[1]){ci(a,b.substr(1));break}var Ke="commands:",Le;for(Le in fi)Ke+="\n"+xa(Le,9)+fi[Le];Sd(a)||(Ke+="\nnote: frequency/history disabled if no exec breakpoints");a.i(Ke);break;default:a.i("unknown command: "+b),d=!1}}}catch(Xg){a.i("debugger error: "+(Xg.stack||Xg.message)),d=!1}return d}function Nc(a,b,c){b=a.Ab(b,c);for(var d in b)if(!Ch(a,b[+d]))return!1;return!0}
var fi={"?":"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","int [#]":"request interrupt",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"},
pg=8080,Eh=8086,Fh="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(" "),Gh="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(" "),
@ -272,29 +272,29 @@ S,U],[43,S,V],[43,S,W],[43,S,X],[43,S,Y],[43,S,Z],[43,S,R],[43,U,S],[43,U,U],[43
U],[43,R,V],[43,R,W],[43,R,X],[43,R,Y],[43,R,Z],[43,R,R],[3,R|O,S],[3,R|O,U],[3,R|O,V],[3,R|O,W],[3,R|O,X],[3,R|O,Y],[3,R|O,Z],[3,R|O,R],[2,R|O,S],[2,R|O,U],[2,R|O,V],[2,R|O,W],[2,R|O,X],[2,R|O,Y],[2,R|O,Z],[2,R|O,R],[73,R|O,S],[73,R|O,U],[73,R|O,V],[73,R|O,W],[73,R|O,X],[73,R|O,Y],[73,R|O,Z],[73,R|O,R],[66,R|O,S],[66,R|O,U],[66,R|O,V],[66,R|O,W],[66,R|O,X],[66,R|O,Y],[66,R|O,Z],[66,R|O,R],[5,R|O,S],[5,R|O,U],[5,R|O,V],[5,R|O,W],[5,R|O,X],[5,R|O,Y],[5,R|O,Z],[5,R|O,R],[76,R|O,S],[76,R|O,U],[76,R|
O,V],[76,R|O,W],[76,R|O,X],[76,R|O,Y],[76,R|O,Z],[76,R|O,R],[46,R|O,S],[46,R|O,U],[46,R|O,V],[46,R|O,W],[46,R|O,X],[46,R|O,Y],[46,R|O,Z],[46,R|O,R],[18,R|O,S],[18,R|O,U],[18,R|O,V],[18,R|O,W],[18,R|O,X],[18,R|O,Y],[18,R|O,Z],[18,R|O,R],[58],[50,gi],[34,51],[30,51],[11,51],[51,gi],[4,R|O,P|Q],[65,Sh],[62],[54],[38,51],[30,51|Th],[15,51],[7,51],[1,R|O,P|Q],[65,Sh],[57],[50,hi],[33,51],[48,P|Q,R|O],[10,51],[51,hi],[74,R|O,P|Q],[65,Sh],[55],[54,Th],[31,51],[27,R|O,P|Q],[8,51],[7,51|Th],[67,R|O,P|Q],[65,
Sh],[61],[50,ii],[37,51],[78,ji|Ph|O,ii|O],[14,51],[51,ii],[6,R|O,P|Q],[65,Sh],[60],[49,ii],[36,51],[75,ii|O,hi|O],[13,51],[7,51|Th],[77,R|O,P|Q],[65,Sh],[59],[50,ki],[35,51],[24],[12,51],[51,ki],[47,R|O,P|Q],[65,Sh],[56],[69,ji|O,ii|O],[32,51],[25],[9,51],[7,51|Th],[19,R|O,P|Q],[65,Sh]],th=1E3;Ua(function(){for(var a=qb(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new og(d);pb(d,c)}});
function li(a,b,c){t.call(this,"Computer",a,67108864);this.G.ja=!1;mi(this,b);this.L=Jc(this,"autoPower",a);this.j=0;this.T=a.busWidth||a.buswidth;this.b=ni;this.F=null;this.C=this.O=!1;this.U=Jc(this,"url")||"";(Math.random()+.1).toString(36);this.g=oi(this);if(this.u=mb("CPU",this.id)){this.K=mb("Debugger",this.id);this.A=[];for(b=null;b=Jb(this,"Video",b);)this.A.push(b);this.I=new Lb({id:this.eb+".bus",busWidth:this.T},this.u,this.K);var d,e=kb(this.id);if((this.B=mb("Panel",this.id))&&this.B.ua)for(b=
0;b<e.length;b++)d=e[b],d.aa=this.B.aa,d.i=this.B.i,d.ua=this.B.ua;this.i("PC8080 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ga&&d.Ga(this,this.I,this.u,this.K);b=null;d=Jc(this,"resume",a);void 0!==d&&(1<d.length?b=this.D=d:this.b=parseInt(d,10));var f;if(a=Jc(this,"state")||(f=!0,a.state))b=this.M=a,f||(this.C=!0,this.b=ni),this.b&&(this.H=new td(this,"1.35.0"),pi(this.H)?
function li(a,b,c){t.call(this,"Computer",a,67108864);this.G.ja=!1;mi(this,b);this.L=Jc(this,"autoPower",a);this.j=0;this.T=a.busWidth||a.buswidth;this.b=ni;this.F=null;this.C=this.O=!1;this.U=Jc(this,"url")||"";(Math.random()+.1).toString(36);this.g=oi(this);if(this.w=mb("CPU",this.id)){this.K=mb("Debugger",this.id);this.A=[];for(b=null;b=Jb(this,"Video",b);)this.A.push(b);this.I=new Lb({id:this.eb+".bus",busWidth:this.T},this.w,this.K);var d,e=kb(this.id);if((this.B=mb("Panel",this.id))&&this.B.ua)for(b=
0;b<e.length;b++)d=e[b],d.aa=this.B.aa,d.i=this.B.i,d.ua=this.B.ua;this.i("PC8080 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ga&&d.Ga(this,this.I,this.w,this.K);b=null;d=Jc(this,"resume",a);void 0!==d&&(1<d.length?b=this.D=d:this.b=parseInt(d,10));var f;if(a=Jc(this,"state")||(f=!0,a.state))b=this.M=a,f||(this.C=!0,this.b=ni),this.b&&(this.H=new td(this,"1.35.0"),pi(this.H)?
b=null:delete this.H);!b&&this.b&&(b=qi(this))&&(this.C=!0);if(b){var g=this;Fa(b,null,!0,function(a,b,c){c?(g.D=null,g.C=!1,g.aa("Unable to load machine state from server (error "+c+(b?": "+ya(b):"")+")")):(g.F=b,g.O=!0);zb(g)})}else zb(this);this.P.power||(this.L=!0);!c&&this.L&&ri(this,this.nb)}else r("Unable to find CPU component")}aa(li,t);function mi(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.S=b}
function Jc(a,b,c){var d=b.toLowerCase(),d=Pa(b)||Pa(d);void 0===d&&a.S&&(d=a.S[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ri(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!yb(f)){yb(f,function(){ri(a,b,c)});return}}b.call(a,c)}
function si(a,b){var c=new td(a,"1.35.0",ti);if(pi(c)&&ui(c)){var d=c.get(vi),e=b?b.get(vi):"unknown";d!=e&&(a.aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=li.prototype;
l.nb=function(a){void 0===a&&(a=this.b||(this.F?wi:ni));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.H||new td(this,"1.35.0");if(a==xi)b=!0;else if(a>ni){if(pi(d,this.F)){this.w=new td(this,"1.35.0",yi);pi(this.w)&&(zi(this,d),a=Ai,Bi(this.w));this.w.set(vi,Da());Ci(this.w);var e=this.b&&!this.C;if(a==wi||jb("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=ui(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?pi(d,g):("error"==f&&"no machine state"!=
g?(this.aa("Error: "+g),"unable to verify user"==g&&(La(Di,""),this.g=null)):this.i(f+": "+g),Bi(d),pi(d)?(c=ui(d),e=!0):c=!1))}e&&si(this,c?d:null)}else a==Ai&&d.clear()}else si(this);delete this.F;delete this.H}e=kb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.u&&(c=Ei(this,g,d,b,c));b=[d,a,c];a!=xi?ri(this,this.Cc,b):this.Cc(b)}};
l.nb=function(a){void 0===a&&(a=this.b||(this.F?wi:ni));if(!this.j){this.j++;var b=!1,c=!1;this.N=!1;var d=this.H||new td(this,"1.35.0");if(a==xi)b=!0;else if(a>ni){if(pi(d,this.F)){this.u=new td(this,"1.35.0",yi);pi(this.u)&&(zi(this,d),a=Ai,Bi(this.u));this.u.set(vi,Da());Ci(this.u);var e=this.b&&!this.C;if(a==wi||jb("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=ui(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?pi(d,g):("error"==f&&"no machine state"!=
g?(this.aa("Error: "+g),"unable to verify user"==g&&(La(Di,""),this.g=null)):this.i(f+": "+g),Bi(d),pi(d)?(c=ui(d),e=!0):c=!1))}e&&si(this,c?d:null)}else a==Ai&&d.clear()}else si(this);delete this.F;delete this.H}e=kb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.w&&(c=Ei(this,g,d,b,c));b=[d,a,c];a!=xi?ri(this,this.Cc,b):this.Cc(b)}};
function Ei(a,b,c,d,e){if(!b.G.ja){b.G.ja=!0;if(b.wa){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.wa(f,d)&&f&&(r("Unable to restore state for "+b.type),a.M&&!a.O?(c.clear(),a.b=ni,window&&window.location.reload()):a.N=!0,b.wa(null),e=!1)}if(!d&&b.vc)for(a=b.vc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.Cc=function(a){var b=a[0],c=0>a[1];a=a[2];this.V=!0;this.G.ja=!0;var d=this.P.power;d&&(d.textContent="Shutdown");this.u&&(Ei(this,this.u,b,c,a),this.u.lb());this.N&&(zi(this,b),b.clear());!c&&this.w&&(this.w.clear(),delete this.w);this.j=0};
l.Cc=function(a){var b=a[0],c=0>a[1];a=a[2];this.V=!0;this.G.ja=!0;var d=this.P.power;d&&(d.textContent="Shutdown");this.w&&(Ei(this,this.w,b,c,a),this.w.lb());this.N&&(zi(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0};
function zi(a,b){if(jb("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.g||"";b=b.toString();var d={app:"PC8080",ver:"1.35.0"};d.url=a.U;d.user=c;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}}
function ei(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new td(a,"1.35.0"),g=new td(a,"1.35.0",ti),h=Da();g.set(vi,h);f.set(vi,h);f.set(Fi,"1.35.0");f.set(Gi,window?window.location.href:null);f.set(Hi,Ha());a.u&&a.u.va&&(c&&a.u.ea(),d=a.u.va(b,c),"object"===typeof d&&f.set(a.u.id,d),c&&(a.u.G.ja=!1,!1===d&&(e=null)));for(var h=kb(a.id),k=0;k<h.length;k++){var p=h[k];p.G.ja&&(p.va&&(d=p.va(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.G.ja=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.g&&Vi(a,
function ei(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new td(a,"1.35.0"),g=new td(a,"1.35.0",ti),h=Da();g.set(vi,h);f.set(vi,h);f.set(Fi,"1.35.0");f.set(Gi,window?window.location.href:null);f.set(Hi,Ha());a.w&&a.w.va&&(c&&a.w.ea(),d=a.w.va(b,c),"object"===typeof d&&f.set(a.w.id,d),c&&(a.w.G.ja=!1,!1===d&&(e=null)));for(var h=kb(a.id),k=0;k<h.length;k++){var p=h[k];p.G.ja&&(p.va&&(d=p.va(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.G.ja=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.g&&Vi(a,
a.g,f.toString()),Ci(g)&&Ci(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Wi),d&&f.clear(h)):e=f.toString());c&&(a.G.ja=!1,b=a.P.power)&&(b.textContent="Power");a.j=0;return e}l.reset=function(){this.I&&this.I.reset&&(Db(this,"Resetting "+this.I.type),this.I.reset());for(var a=kb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.I&&c.reset&&(Db(this,"Resetting "+c.type),c.reset())}};
l.start=function(a,b){for(var c=kb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};l.stop=function(a,b){for(var c=kb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.P[b]=c,c.onclick=function(){d.j||(d.G.ja?ei(d,!1,!0):ri(d,d.nb))},!0;case "reset":return this.P[b]=c,c.onclick=function(){if(d.G.ja&&!d.j)if(d.b&&!d.D){var a=jb("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ei(d,a,!0);!a&&d.M?window&&window.location.reload():d.nb(ni)}else d.reset(),d.u&&d.u.lb()},!0;case "save":if(sa())c.parentNode.removeChild(c);else return this.P[b]=
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.P[b]=c,c.onclick=function(){d.j||(d.G.ja?ei(d,!1,!0):ri(d,d.nb))},!0;case "reset":return this.P[b]=c,c.onclick=function(){if(d.G.ja&&!d.j)if(d.b&&!d.D){var a=jb("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ei(d,a,!0);!a&&d.M?window&&window.location.reload():d.nb(ni)}else d.reset(),d.w&&d.w.lb()},!0;case "save":if(sa())c.parentNode.removeChild(c);else return this.P[b]=
c,c.onclick=function(){var a=oi(d,!0);if(a){var b=!!(d.b&&!d.D||d.M),c=ei(d,b);b?Vi(d,a,c):d.aa("Resume disabled, machine state not saved")}},!0}return!1};
function oi(a,b){var c=a.g;c||((c=Ka(Di),void 0!==c)?!c&&b&&(b=null,window&&(b=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=b)&&((c=Xi(a,c))||a.aa("The user ID is invalid.")):b&&a.aa("Browser local storage is not available"));return c}
function Xi(a,b){a.g=null;b=Fa(ta()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(La(Di,b.data),a.g=b.data)}catch(d){r(d.message+" ("+c+")")}return a.g}function qi(a){var b=null;a.g&&(b=ta()+"/api/v1/user?req=load&user="+a.g+"&state="+Yi(a,"1.35.0"));return b}
function Vi(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Yi(a,"1.35.0");d.data=c;b=Fa(ta()+"/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.aa("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.aa(c),La(Di,""),a.g=null)}}
function Jb(a,b,c){a=kb(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}l.Za=function(a){if(this.A.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.A[0];d.W&&d.W.focus();!a&&window&&window.scrollTo(b,c)}};
function Yc(a,b){a.u&&(a=a.u,a.ib&&(b||!a.G.ma||a.G.Bc)&&(I(a,"A",a.g),I(a,"B",a.w),I(a,"C",a.A),I(a,"BC",ud(a),4),I(a,"D",a.B),I(a,"E",a.C),I(a,"DE",wd(a),4),I(a,"H",a.D),I(a,"L",a.F),I(a,"HL",D(a),4),I(a,"SP",a.M,4),I(a,"PC",a.j,4),b=sd(a),I(a,"PS",b,4),I(a,"IF",b&512?1:0,1),I(a,"SF",b&128?1:0,1),I(a,"ZF",b&64?1:0,1),I(a,"AF",b&16?1:0,1),I(a,"PF",b&4?1:0,1),I(a,"CF",b&1?1:0,1)),b=a.P.speed)&&(b.textContent=a.G.ma&&a.Y?a.Y.toFixed(2)+"Mhz":"Stopped")}
function Yc(a,b){a.w&&(a=a.w,a.ib&&(b||!a.G.ma||a.G.Bc)&&(I(a,"A",a.g),I(a,"B",a.u),I(a,"C",a.A),I(a,"BC",ud(a),4),I(a,"D",a.B),I(a,"E",a.C),I(a,"DE",wd(a),4),I(a,"H",a.D),I(a,"L",a.F),I(a,"HL",D(a),4),I(a,"SP",a.M,4),I(a,"PC",a.j,4),b=sd(a),I(a,"PS",b,4),I(a,"IF",b&512?1:0,1),I(a,"SF",b&128?1:0,1),I(a,"ZF",b&64?1:0,1),I(a,"AF",b&16?1:0,1),I(a,"PF",b&4?1:0,1),I(a,"CF",b&1?1:0,1)),b=a.P.speed)&&(b.textContent=a.G.ma&&a.Y?a.Y.toFixed(2)+"Mhz":"Stopped")}
var yi="failsafe",ti="validate",vi="timestamp",Fi="version",Gi="url",Hi="browser",Di="user",xi=-1,ni=0,wi=1,Ai=2,Wi=3;Ua(function(){for(var a=qb(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=ob(c),c=qb(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],g=ob(f),g=new li(g,d,!0);pb(g,f);g.L&&ri(g,g.nb)}});Va.show.push(function(){for(var a=qb(document,"pc8080","computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=mb("Computer",c.id))&&c.V&&!c.G.ja&&c.nb(xi)}});
Va.exit.push(function(){for(var a=qb(document,"pc8080","computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=mb("Computer",c.id))&&c.G.ja&&ei(c,!(!c.b||c.D),!0)}});function td(a,b,c){this.id=a.id;this.K=a.K;this.g="";this.b={};this.u=this.I=!1;this.key=Yi(a,b,c);Bi(this,a.Ad)}l=td.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};l.data=function(){return this.b};
function pi(a,b){return b?(a.g=b,a.u=!0,a.I=!1,!0):a.u?!0:Ia()&&(b=Ka(a.key))?(a.g=b,a.u=!0):!1}function ui(a){var b=!0;if(!a.I)try{a.b=JSON.parse(a.g),a.I=!0}catch(c){r(c.message||c),b=!1}return b}function Ci(a){var b=!0;if(Ia()){var c=JSON.stringify(a.b);La(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.g};function Bi(a,b){a.g="";a.b={};a.u=a.I=!1;b&&a.set("parms",b)}
Va.exit.push(function(){for(var a=qb(document,"pc8080","computer"),b=0;b<a.length;b++){var c=ob(a[b]);(c=mb("Computer",c.id))&&c.G.ja&&ei(c,!(!c.b||c.D),!0)}});function td(a,b,c){this.id=a.id;this.K=a.K;this.g="";this.b={};this.w=this.I=!1;this.key=Yi(a,b,c);Bi(this,a.Ad)}l=td.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};l.data=function(){return this.b};
function pi(a,b){return b?(a.g=b,a.w=!0,a.I=!1,!0):a.w?!0:Ia()&&(b=Ka(a.key))?(a.g=b,a.w=!0):!1}function ui(a){var b=!0;if(!a.I)try{a.b=JSON.parse(a.g),a.I=!0}catch(c){r(c.message||c),b=!1}return b}function Ci(a){var b=!0;if(Ia()){var c=JSON.stringify(a.b);La(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.g};function Bi(a,b){a.g="";a.b={};a.w=a.I=!1;b&&a.set("parms",b)}
l.clear=function(a){Bi(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 Yi(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}var Zi=0;
function $i(a,b,c,d,e,f){e("Loading "+a+"...");Fa(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):aj(h,a,b,c,d,e,f)})}
function aj(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(gb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PC8080$2"),

View file

@ -723,7 +723,7 @@ f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;b
function Zx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.D;for(a.D=e;c<d;){var G;h=b[c++].trim();k=c<d?b[c++]:"";if(h)G=$x(a,h,null,f,p);else if("{"==k){h=1;for(G=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;G=Zx(a,b,G,c-1,a.D,f);null!=G&&p&&(G=ay(G,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.D=2;continue}if("^O"==k){a.D=8;continue}if("^D"==k){a.D=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}m=!0;break}if(void 0===G)if(f)f.push(h),G=0;else{m=!0;f=[];break}v.push(Xx(G));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?by:cy;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&Yx(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!Yx(v,u)||1!=v.length)m=!0;m?f||a.P("parse error ("+(h||k)+")"):g=v.pop();a.D=E;return g}
function dy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Xx(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.P("parse error ("+c+b+c+")");return}b=b.substr(0,f)+ey(a,g,-1)+b.substr(h)}return b}
function fy(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=dy(a,b,'"',7,5);if(!b)return d;b=dy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Zx(a,b,0,b.length,a.D,c);void 0!==d&&e&&gy(a,null,d)}return d}
function fy(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=dy(a,b,'"',7,5);if(!b)return d;b=dy(a,b,"'",6,6);if(!b)return d;16!=a.D&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Zx(a,b,0,b.length,a.D,c);void 0!==d&&e&&gy(a,null,d)}return d}
function hy(a,b){var c,d=a.ha[0],e=a.ha[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=fy(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ey(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Qk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Z-a.la}if(null==
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b){for(;b;){switch(b&3){case 1:a=-Xx(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function $x(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.hh(b);if(0<=f)f=a.ih(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].So;h&&(g?g.push(h):(g=fy(a,h,d),void 0!==g?f+=g:(d||a.P("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Xx(ay(f,e)):d||a.P("invalid "+(c||"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}