README formatting

This commit is contained in:
Jeff Parsons 2016-08-08 11:24:55 -07:00
commit 3ec9a31c92
3 changed files with 369 additions and 368 deletions

View file

@ -163,50 +163,50 @@ VT100 Initialization Process
From "Power-Up and Self-Test", section 4.2.8, p. 4-19, of the VT100 Technical Manual (July 1982): From "Power-Up and Self-Test", section 4.2.8, p. 4-19, of the VT100 Technical Manual (July 1982):
When power is first applied to the terminal controller board, the reset circuit in the 8224 holds the microprocessor > When power is first applied to the terminal controller board, the reset circuit in the 8224 holds the microprocessor
in a halt state. Within a second, after the voltages stabilize in the power supply, the RC network at the reset input in a halt state. Within a second, after the voltages stabilize in the power supply, the RC network at the reset input
allows tlhe input voltage to rise to the switching threshold of a Schmitt trigger. Then the reset is released with the allows tlhe input voltage to rise to the switching threshold of a Schmitt trigger. Then the reset is released with the
8080 program counter set to 0. The low 64 bytes of program are reserved for the eight interrupt service routines which 8080 program counter set to 0. The low 64 bytes of program are reserved for the eight interrupt service routines which
can be addressed by the restart instruction (see previous section). The low 8 start the power-up routine by disabling can be addressed by the restart instruction (see previous section). The low 8 start the power-up routine by disabling
the interrupts, setting up the stack pointer, and then going immediately into the self-test routines. the interrupts, setting up the stack pointer, and then going immediately into the self-test routines.
Assuming there are no hard logic failures present on the board, the microprocessor attempts to perform a confidence > Assuming there are no hard logic failures present on the board, the microprocessor attempts to perform a confidence
check of the controller. Some failures are considered fatal and will stop the machine; other failures limit its operation check of the controller. Some failures are considered fatal and will stop the machine; other failures limit its operation
but win not prevent its use. Fatal failures are indicated by the LEDs on the keyboard, while nonfatal errors are indicated but win not prevent its use. Fatal failures are indicated by the LEDs on the keyboard, while nonfatal errors are indicated
as a single character on the screen. as a single character on the screen.
The microprocessor first sends the number of the first ROM to the LEDs on the keyboard. Then it calculates a checksum > The microprocessor first sends the number of the first ROM to the LEDs on the keyboard. Then it calculates a checksum
of the contents of the first 2K of program. (Since firmware is treated as four 2K blocks of code, later VT100s with one of the contents of the first 2K of program. (Since firmware is treated as four 2K blocks of code, later VT100s with one
8K X 8 ROM chip operate the same way but any block failure requires replacement of the one chip). At the time of ROM 8K X 8 ROM chip operate the same way but any block failure requires replacement of the one chip). At the time of ROM
preparation, a special byte was included within each block to make the checksum equal zero if there are no errors. If preparation, a special byte was included within each block to make the checksum equal zero if there are no errors. If
there is an error, the microprocessor halts and the LEDs indicate the current ROM at the time of failure. Otherwise, the there is an error, the microprocessor halts and the LEDs indicate the current ROM at the time of failure. Otherwise, the
LEDs are incremented to show the next ROM number and the process continues. LEDs are incremented to show the next ROM number and the process continues.
The next part of the test is writing and reading the RAM. Every bit in the RAM is written with a 0 and a 1 and read each > The next part of the test is writing and reading the RAM. Every bit in the RAM is written with a 0 and a 1 and read each
time. If the advanced video option is present (as indicated by the Option Present flag), its RAM is tested immediately time. If the advanced video option is present (as indicated by the Option Present flag), its RAM is tested immediately
after the main RAM. In the main RAM a failure halts the machine. Failure of a bit in the advanced video option RAM is after the main RAM. In the main RAM a failure halts the machine. Failure of a bit in the advanced video option RAM is
indicated on the screen and the process continues. In another termnnal, the VT52, one bad bit in the screen RAM means there indicated on the screen and the process continues. In another termnnal, the VT52, one bad bit in the screen RAM means there
is one location that may not contain right character. This can be annoying to the user but does not affect the rest of the is one location that may not contain right character. This can be annoying to the user but does not affect the rest of the
screen. If one bit is bad in a VT100 line address, the entire screen below the affected line can become garbled and unsuable. screen. If one bit is bad in a VT100 line address, the entire screen below the affected line can become garbled and unsuable.
A bad bit in the scratch area could disable communication with the host. So this confidence check ensures that any RAM A bad bit in the scratch area could disable communication with the host. So this confidence check ensures that any RAM
failure is detected immediately. failure is detected immediately.
The next test checks the nonvola1tile RAM by reading it. A checksum is calculated and compared with the value stored the > The next test checks the nonvola1tile RAM by reading it. A checksum is calculated and compared with the value stored the
last time the NVR was written during a save. A bad NVR does not stop the VT100 because the SET-UP values can always be last time the NVR was written during a save. A bad NVR does not stop the VT100 because the SET-UP values can always be
reestablished from the keyboard at power-up. The NVR test is also the normal time when the terminal gets its auto SET-UP reestablished from the keyboard at power-up. The NVR test is also the normal time when the terminal gets its auto SET-UP
readings from the NVR. Time is saved because reading the NVR is the most time-consuming part of both the self-test and the readings from the NVR. Time is saved because reading the NVR is the most time-consuming part of both the self-test and the
auto SET-UP. If the NVR fails, the bell sounds several times to inform the operator, and then default settings stored in auto SET-UP. If the NVR fails, the bell sounds several times to inform the operator, and then default settings stored in
the ROM allow the terminal to work. The operator must then manually reset any parameters that differ from the default values. the ROM allow the terminal to work. The operator must then manually reset any parameters that differ from the default values.
To test the keyboard, the microprocessor commands the keyboard to scan once, lights all the LEDs, for about a half second, > To test the keyboard, the microprocessor commands the keyboard to scan once, lights all the LEDs, for about a half second,
and sounds the bell. It waits for the scan to finish and then looks for the last key address 7FH at the keyboard UART. and sounds the bell. It waits for the scan to finish and then looks for the last key address 7FH at the keyboard UART.
If the test fails, the terminal remains on-line, making it a receive-only (RO) terminal. If the test fails, the terminal remains on-line, making it a receive-only (RO) terminal.
This is the end of testing. > This is the end of testing.
Once the NVR data is in the scratch area in RAM, the microprocessor uses that data to program the hardware. All operating > Once the NVR data is in the scratch area in RAM, the microprocessor uses that data to program the hardware. All operating
parameters that were last saved (see NVR) are recalled and the terminal is set to match them. Finally the cursor appears parameters that were last saved (see NVR) are recalled and the terminal is set to match them. Finally the cursor appears
at column 1, line 1, and the microprocessor enters its background routine, ready for operation. at column 1, line 1, and the microprocessor enters its background routine, ready for operation.
Some additional observations: Some additional observations:

View file

@ -1,134 +1,134 @@
(function(){var m;function aa(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} (function(){var m;function aa(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}
function n(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return"0x"+n(a,4)}function ba(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b} function n(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function r(a){return"0x"+n(a,4)}function ba(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}
function da(a,b){return-1!==a.indexOf(b,a.length-b.length)}var fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a,b){return(a+" ").slice(0,b)}function ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} function da(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ea={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return ea[a]})}function ha(a,b){return(a+" ").slice(0,b)}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function ka(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var h=d+e>>1,g;g=c(b,a[h]);0<g?d=h+1:(e=h,f=!g)}return f?d:~d}var la=Date.now||function(){return+new Date};function ma(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function ja(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var h=d+e>>1,g;g=c(b,a[h]);0<g?d=h+1:(e=h,f=!g)}return f?d:~d}var ka=Date.now||function(){return+new Date};function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function na(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1} function ma(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
function oa(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"== function na(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"==
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function pa(){return"http://"+(window?window.location.host:"www.pcjs.org")} typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function oa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function ra(){return window?window.navigator.userAgent:""}function t(a){window&&window.alert(a)}function sa(a){var b=!1;window&&(b=window.confirm(a));return b}var ta=null;function ua(){if(null==ta){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ta=a}return ta} function pa(){return window?window.navigator.userAgent:""}function t(a){window&&window.alert(a)}function ra(a){var b=!1;window&&(b=window.confirm(a));return b}var sa=null;function ta(){if(null==sa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}sa=a}return sa}
function va(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function wa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function xa(a){if(window){var b=ra();return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function ya(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function ua(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function va(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function wa(a){if(window){var b=pa();return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function xa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function za(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Fa={init:[],show:[],exit:[]},Ga=!1,Ha=!0;function Ia(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ja(a){Fa.init.push(a)} function ya(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var za={init:[],show:[],exit:[]},Fa=!1,Ga=!0;function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){za.init.push(a)}
function Ka(a){if(Ha)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){La("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Oa(a){!Ha&&a?(Ha=!0,Ga&&Pa("init")):Ha=a}function Pa(a){Fa[a]&&Ka(Fa[a])}Ia("onload",function(){Ga=!0;Ka(Fa.init)});Ia("onpageshow",function(){Ka(Fa.show)});Ia(xa("Opera")||xa("iOS")?"onunload":"onbeforeunload",function(){Ka(Fa.exit)}); function Ja(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ka("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function La(a){!Ga&&a?(Ga=!0,Fa&&Oa("init")):Ga=a}function Oa(a){za[a]&&Ja(za[a])}Ha("onload",function(){Fa=!0;Ja(za.init)});Ha("onpageshow",function(){Ja(za.show)});Ha(wa("Opera")||wa("iOS")?"onunload":"onbeforeunload",function(){Ja(za.exit)});
function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.ac=b.comment;this.uc=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Rb=this.id.substr(0,b),this.ab=this.id.substr(b+1)):this.ab=this.id;this[a]=c;this.C={jb:!1,gb:!1,Tb:!1,sa:!1,ib:!1};this.Lb=null;this.C.ib=!1;this.M={};this.H=null;this.na=d||0;Qa.push(this)}var Ra=void 0,Sa={}; function w(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.bc=b.comment;this.wc=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Rb=this.id.substr(0,b),this.ab=this.id.substr(b+1)):this.ab=this.id;this[a]=c;this.C={jb:!1,gb:!1,Tb:!1,sa:!1,ib:!1};this.Lb=null;this.C.ib=!1;this.M={};this.H=null;this.na=d||0;Pa.push(this)}var Qa=void 0,Ra={};
if(window){Ra||(Ra=window.location.search.substr(1));for(var Ta,Ua=/\+/g,Ya=/([^&=]+)=?([^&]*)/g;Ta=Ya.exec(Ra);)Sa[decodeURIComponent(Ta[1].replace(Ua," "))]=decodeURIComponent(Ta[2].replace(Ua," "))}function Za(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function $a(a,b){b||(b=w);a.prototype=Za(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Qa=[],ab={};function bb(a,b,c){ab[a]&&b&&(ab[a][b]=c)}function La(a,b,c){b||t((c?c+": ":"")+a)}function cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Qa.length;b++){var d=Qa[b];a&&d.id.indexOf(a)||c.push(d)}return c} function Za(a,b){b||(b=w);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Pa=[],$a={};function ab(a,b,c){$a[a]&&b&&($a[a][b]=c)}function Ka(a,b,c){b||t((c?c+": ":"")+a)}function bb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Pa.length;b++){var d=Pa[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function db(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<Qa.length;d++)if(c)c==Qa[d]&&(c=null);else if(!(a!=Qa[d].type||b&&Qa[d].id.indexOf(b)))return Qa[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b} function cb(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<Pa.length;d++)if(c)c==Pa[d]&&(c=null);else if(!(a!=Pa[d].type||b&&Pa[d].id.indexOf(b)))return Pa[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
function eb(a,b){for(var c=A(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=z(h))&&g.binding&&a.pa(g.type,g.binding,h,g.value),l=k.length}}}} function db(a,b){for(var c=B(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=A(h))&&g.binding&&a.pa(g.type,g.binding,h,g.value),l=k.length}}}}
function A(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c} function B(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},pa:function(a,b,c){switch(b){case "clear":return this.M[b]||(this.M[b]=c,c.onclick=function(a){return function(){a.M.print&&(a.M.print.value="")}}(this)),!0;case "print":return this.M[b]||(this.Aa=this.M[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c), w.prototype={constructor:w,parent:null,toString:function(){return this.name?this.name:this.id||this.type},pa:function(a,b,c){switch(b){case "clear":return this.M[b]||(this.M[b]=c,c.onclick=function(a){return function(){a.M.print&&(a.M.print.value="")}}(this)),!0;case "print":return this.M[b]||(this.Aa=this.M[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.ga=function(a){this.g(a,this.ab)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.ab+": "+a)},ga:function(a,b,c){La(a,b,c||this.type)},Ca:function(){return this.C.sa=!0},Ja:function(a,b){b&&(this.C.sa=!1);return!0}};function D(a,b,c,d,e,f){var h=!0;a.H&&(!0===h?h=0:null==h&&(h=a.na),fb(a.H,a,b,c,d,e,f,h))}function gb(a,b,c){a.H&&(!0===c||hb(a,c|0))&&a.H.message(b,void 0)} this.ga=function(a){this.g(a,this.ab)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.ab+": "+a)},ga:function(a,b,c){Ka(a,b,c||this.type)},Ca:function(){return this.C.sa=!0},Ja:function(a,b){b&&(this.C.sa=!1);return!0}};function D(a,b,c,d,e,f){var h=!0;a.H&&(!0===h?h=0:null==h&&(h=a.na),eb(a.H,a,b,c,d,e,f,h))}function fb(a,b,c){a.H&&(!0===c||gb(a,c|0))&&a.H.message(b,void 0)}
function hb(a,b){if(a.H){a===a.H?b|=0:b=b||a.na;var c=a.H.na&b;return!!b&&c===b||!!(c&a.H.ed)}return!1}function ib(a,b){if(a.C.Tb)return a.C.gb&&(a.C.gb=!1),a.C.Tb=!1;if(a.C.ib)return a.g(a.toString()+" error"),!1;a.C.gb=b;return a.C.gb}function jb(a,b){a.C.gb&&(b?a.C.Tb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.C.gb}function E(a){if(!a.C.ib&&(a.C.jb=!0,a.C.jb)){var b=a.Lb;a.Lb=null;b&&b()}}function kb(a,b){b&&(a.C.jb?b():a.Lb=b);return a.C.jb}function nb(a,b){a.C.ib=!0;a.ga(b)} function gb(a,b){if(a.H){a===a.H?b|=0:b=b||a.na;var c=a.H.na&b;return!!b&&c===b||!!(c&a.H.gd)}return!1}function hb(a,b){if(a.C.Tb)return a.C.gb&&(a.C.gb=!1),a.C.Tb=!1;if(a.C.ib)return a.g(a.toString()+" error"),!1;a.C.gb=b;return a.C.gb}function ib(a,b){a.C.gb&&(b?a.C.Tb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.C.gb}function E(a){if(!a.C.ib&&(a.C.jb=!0,a.C.jb)){var b=a.Lb;a.Lb=null;b&&b()}}function jb(a,b){b&&(a.C.jb?b():a.Lb=b);return a.C.jb}function kb(a,b){a.C.ib=!0;a.ga(b)}
var ob="undefined"!==typeof ArrayBuffer,pb=[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, var nb="undefined"!==typeof ArrayBuffer,ob=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function qb(a){w.call(this,"Panel",a,qb)}$a(qb);m=qb.prototype;m.pa=function(a,b,c,d){return this.w&&this.w.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.ea&&this.ea.pa(a,b,c,d)||this.H&&this.H.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};m.Na=function(a,b,c,d){this.w=a;this.A=b;this.b=c;this.H=d;this.ea=rb(a,"Keyboard")};m.Ca=function(a,b){b||sb();return!0};m.Ja=function(){return!0};m.Da=function(){}; 0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function pb(a){w.call(this,"Panel",a,pb)}Za(pb);m=pb.prototype;m.pa=function(a,b,c,d){return this.w&&this.w.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.ea&&this.ea.pa(a,b,c,d)||this.H&&this.H.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};m.Oa=function(a,b,c,d){this.w=a;this.A=b;this.b=c;this.H=d;this.ea=qb(a,"Keyboard")};m.Ca=function(a,b){b||rb();return!0};m.Ja=function(){return!0};m.Da=function(){};
function sb(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<Qa.length;h++)if(Qa[h].id===f){f=Qa[h];break a}f=null}f||(a=!0,f=new qb(e));eb(f,d);a&&E(f)}}Ja(sb); function rb(){for(var a=!1,b=B(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=A(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<Pa.length;h++)if(Pa[h].id===f){f=Pa[h];break a}f=null}f||(a=!0,f=new pb(e));db(f,d);a&&E(f)}}Ia(rb);
function tb(a,b,c){w.call(this,"Bus",a,tb);this.b=b;this.H=c;this.J=a.busWidth||16;this.O=Math.pow(2,this.J);this.G=this.O-1|0;this.la=16>=this.J?10:20>=this.J?12:24>=this.J?14:15;this.Ba=1<<this.la;this.W=this.Ba>>2;this.A=this.Ba-1;this.L=this.O/this.Ba|0;this.K=this.L-1;this.w=[];this.u=[];this.D=this.I=!1;this.Z=[];this.ba=[];a=new F;ub(a,this.H);this.V=Array(this.L);for(b=0;b<this.L;b++)this.V[b]=a;E(this)}$a(tb);m=tb.prototype;m.reset=function(){};m.Ca=function(a,b){b||this.reset();return!0}; function sb(a,b,c){w.call(this,"Bus",a,sb);this.b=b;this.H=c;this.J=a.busWidth||16;this.O=Math.pow(2,this.J);this.G=this.O-1|0;this.la=16>=this.J?10:20>=this.J?12:24>=this.J?14:15;this.Ba=1<<this.la;this.W=this.Ba>>2;this.A=this.Ba-1;this.L=this.O/this.Ba|0;this.K=this.L-1;this.w=[];this.u=[];this.D=this.I=!1;this.Z=[];this.ba=[];a=new F;tb(a,this.H);this.V=Array(this.L);for(b=0;b<this.L;b++)this.V[b]=a;E(this)}Za(sb);m=sb.prototype;m.reset=function(){};m.Ca=function(a,b){b||this.reset();return!0};
function vb(a,b,c,d){for(var e=b,f=c,h=e>>>a.la;0<f&&h<a.V.length;){var g=a.V[h],k=h*a.Ba,l=a.Ba-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.F)return g.Fb+=g.F-e,g.F=e,!0;if(e>=g.F+g.Fb){l=g.size-(e-k);l>f&&(l=f);g.Fb=e-g.F+l;e=k+a.Ba;f-=l;h++;continue}}return wb(1,e,f)}e=new F(e,l,a.Ba,d);ub(e,a.H,g);a.V[h++]=e;e=k+a.Ba;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+xb[d]+" at "+r(b)),!0):wb(2,b,c)}m.Y=function(a){return this.V[(a&this.G)>>>this.la].qb(a&this.A,a)}; function ub(a,b,c,d){for(var e=b,f=c,h=e>>>a.la;0<f&&h<a.V.length;){var g=a.V[h],k=h*a.Ba,l=a.Ba-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.F)return g.Fb+=g.F-e,g.F=e,!0;if(e>=g.F+g.Fb){l=g.size-(e-k);l>f&&(l=f);g.Fb=e-g.F+l;e=k+a.Ba;f-=l;h++;continue}}return vb(1,e,f)}e=new F(e,l,a.Ba,d);tb(e,a.H,g);a.V[h++]=e;e=k+a.Ba;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+wb[d]+" at "+r(b)),!0):vb(2,b,c)}m.Y=function(a){return this.V[(a&this.G)>>>this.la].qb(a&this.A,a)};
function yb(a,b){return a.V[(b&a.G)>>>a.la].Db(b&a.A,b)}m.Pa=function(a){var b=a&this.A,c=(a&this.G)>>>this.la;return b!=this.A?this.V[c].vc(b,a):this.V[c++].qb(b,a)|this.V[c&this.K].qb(0,a+1)<<8};function zb(a,b){var c=b&a.A,d=(b&a.G)>>>a.la;return c!=a.A?a.V[d].Zb(c,b):a.V[d++].Db(c,b)|a.V[d&a.K].Db(0,b+1)<<8}m.qa=function(a,b){this.V[(a&this.G)>>>this.la].sb(a&this.A,b&255,a)};function Ab(a,b,c){a.V[(b&a.G)>>>a.la].Gb(b&a.A,c&255,b)} function xb(a,b){return a.V[(b&a.G)>>>a.la].Db(b&a.A,b)}m.Pa=function(a){var b=a&this.A,c=(a&this.G)>>>this.la;return b!=this.A?this.V[c].xc(b,a):this.V[c++].qb(b,a)|this.V[c&this.K].qb(0,a+1)<<8};function yb(a,b){var c=b&a.A,d=(b&a.G)>>>a.la;return c!=a.A?a.V[d].Zb(c,b):a.V[d++].Db(c,b)|a.V[d&a.K].Db(0,b+1)<<8}m.qa=function(a,b){this.V[(a&this.G)>>>this.la].sb(a&this.A,b&255,a)};function zb(a,b,c){a.V[(b&a.G)>>>a.la].Gb(b&a.A,c&255,b)}
m.Qb=function(a,b){var c=a&this.A,d=(a&this.G)>>>this.la;c!=this.A?this.V[d].xc(c,b&65535,a):(this.V[d++].sb(c,b&255,a),this.V[d&this.K].sb(0,b>>8&255,a+1))};function Bb(a,b){if(void 0===b)return a.D=!a.D,a.D;void 0===a.w[b]&&(a.w[b]=[null,!1]);a.w[b][1]=!a.w[b][1];return a.w[b][1]}function Cb(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.w[k]?t("Input port "+r(k)+" already registered"):f.w[k]=[g,!1]}} m.Qb=function(a,b){var c=a&this.A,d=(a&this.G)>>>this.la;c!=this.A?this.V[d].zc(c,b&65535,a):(this.V[d++].sb(c,b&255,a),this.V[d&this.K].sb(0,b>>8&255,a+1))};function Ab(a,b){if(void 0===b)return a.D=!a.D,a.D;void 0===a.w[b]&&(a.w[b]=[null,!1]);a.w[b][1]=!a.w[b][1];return a.w[b][1]}function Bb(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.w[k]?t("Input port "+r(k)+" already registered"):f.w[k]=[g,!1]}}
function Db(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.w[b],g=a.Z[b]||1,k=1==g?255:2==g?65535:-1,l=k;void 0!==h?(h[0]&&(l=h[0](b,c),void 0===l?l=k:l&=k),a.H&&a.D!=h[1]&&Eb(a.H,b,l)):a.H&&(fb(a.H,a,b,null,c),a.D&&Eb(a.H,b,l));e|=l<<f;f+=g<<3;b+=g;d-=g}return e}function Fb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]} function Cb(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.w[b],g=a.Z[b]||1,k=1==g?255:2==g?65535:-1,l=k;void 0!==h?(h[0]&&(l=h[0](b,c),void 0===l?l=k:l&=k),a.H&&a.D!=h[1]&&Db(a.H,b,l)):a.H&&(eb(a.H,a,b,null,c),a.D&&Db(a.H,b,l));e|=l<<f;f+=g<<3;b+=g;d-=g}return e}function Eb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]}
function Gb(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.u[k]?t("Output port "+r(k)+" already registered"):f.u[k]=[g,!1]}}function Hb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.u[b],g=a.ba[b]||1,k=1==g?255:2==g?65535:-1,k=(c>>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.H&&a.I!=h[1]&&Ib(a.H,b,k)}else a.H&&(fb(a.H,a,b,k,d),a.I&&Ib(a.H,b,k));f+=g<<3;b+=g;e-=g}} function Fb(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.u[k]?t("Output port "+r(k)+" already registered"):f.u[k]=[g,!1]}}function Gb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.u[b],g=a.ba[b]||1,k=1==g?255:2==g?65535:-1,k=(c>>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.H&&a.I!=h[1]&&Hb(a.H,b,k)}else a.H&&(eb(a.H,a,b,k,d),a.I&&Hb(a.H,b,k));f+=g<<3;b+=g;e-=g}}
function wb(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Jb;if(ob){var Sb=new ArrayBuffer(2);(new DataView(Sb)).setUint16(0,256,!0);Jb=256===(new Uint16Array(Sb))[0]}else Jb=!1;var Tb=Jb; function vb(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ib;if(nb){var Jb=new ArrayBuffer(2);(new DataView(Jb)).setUint16(0,256,!0);Ib=256===(new Uint16Array(Jb))[0]}else Ib=!1;var Sb=Ib;
function F(a,b,c,d){this.id=Ub+=2;this.b=null;this.F=a;this.Fb=b;this.size=c||0;this.type=d||Vb;this.M=d==Wb;ub(this);this.Ka=this.oc=!1;if(c)if(ob)this.D=new ArrayBuffer(c),this.I=new DataView(this.D,0,c),this.A=new Uint8Array(this.D,0,c),this.K=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),Xb(this,Tb?Yb:Zb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Xb(this,$b)}else Xb(this)}var Vb=0,Wb=2,xb=["NONE","RAM","ROM","VID","H/W"],Ub=0; function F(a,b,c,d){this.id=Tb+=2;this.b=null;this.F=a;this.Fb=b;this.size=c||0;this.type=d||Ub;this.M=d==Vb;tb(this);this.La=this.qc=!1;if(c)if(nb)this.D=new ArrayBuffer(c),this.I=new DataView(this.D,0,c),this.A=new Uint8Array(this.D,0,c),this.K=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),Wb(this,Sb?Xb:Yb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Wb(this,Zb)}else Wb(this)}var Ub=0,Vb=2,wb=["NONE","RAM","ROM","VID","H/W"],Tb=0;
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(ob)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.I.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(ob)for(b=0;b<a.length;b++)this.I.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ka=!0}return!1},Va:function(a,b){b?0===this.u++&&ac(this,bc,!1):0===this.w++&&cc(this,bc,!1)},L:function(){this.H&&hb(this.H,129)&&this.H.message("attempt to read invalid block %"+n(this.F),!0); F.prototype={constructor:F,parent:null,save:function(){var a,b;if(nb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.I.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(nb)for(b=0;b<a.length;b++)this.I.setInt32(b<<2,a[b],!0);else this.b=a;return this.La=!0}return!1},Va:function(a,b){b?0===this.u++&&$b(this,ac,!1):0===this.w++&&bc(this,ac,!1)},L:function(){this.H&&gb(this.H,129)&&this.H.message("attempt to read invalid block %"+n(this.F),!0);
return 255},G:function(a,b){this.H&&hb(this.H,129)&&this.H.message("attempt to write "+r(b)+" to invalid block %"+n(this.F),!0)},O:function(a,b){return this.qb(a++,b++)|this.qb(a,b)<<8},J:function(a,b,c){this.sb(a++,b&255,c++);this.sb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma: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},Ea:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.Ka=!0},ab:function(a, return 255},G:function(a,b){this.H&&gb(this.H,129)&&this.H.message("attempt to write "+r(b)+" to invalid block %"+n(this.F),!0)},O:function(a,b){return this.qb(a++,b++)|this.qb(a,b)<<8},J:function(a,b,c){this.sb(a++,b&255,c++);this.sb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma: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},Ea:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.La=!0},ab:function(a,
b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ka=!0},Z:function(a,b){if(this.H&&null!=this.F){var c=this.H;dc(c,this.F+a,1,c.Z)&&c.ja(!0)}return this.Db(a,b)},fa:function(a,b){if(this.H&&null!=this.F){var c=this.H;dc(c,this.F+a,2,c.Z)&&c.ja(!0)}return this.Zb(a,b)},wa:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;dc(d,this.F+a,1,d.I)&&d.ja(!0)}this.M?this.G(a,b,c):this.Gb(a,b,c)},Ga:function(a, b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.La=!0},Z:function(a,b){if(this.H&&null!=this.F){var c=this.H;cc(c,this.F+a,1,c.Z)&&c.ja(!0)}return this.Db(a,b)},fa:function(a,b){if(this.H&&null!=this.F){var c=this.H;cc(c,this.F+a,2,c.Z)&&c.ja(!0)}return this.Zb(a,b)},wa:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;cc(d,this.F+a,1,d.I)&&d.ja(!0)}this.M?this.G(a,b,c):this.Gb(a,b,c)},Ga:function(a,
b,c){if(this.H&&null!=this.F){var d=this.H;dc(d,this.F+a,2,d.I)&&d.ja(!0)}this.M?this.G(a,b,c):this.$b(a,b,c)},W:function(a){return this.A[a]},ba:function(a){return this.A[a]},ea:function(a){return this.I.getUint16(a,!0)},ka:function(a){return a&1?this.A[a]|this.A[a+1]<<8:this.K[a>>1]},ra:function(a,b){this.A[a]=b;this.Ka=!0},za:function(a,b){this.A[a]=b;this.Ka=!0},Fa:function(a,b){this.I.setUint16(a,b,!0);this.Ka=!0},Ha:function(a,b){a&1?(this.A[a]=b,this.A[a+1]=b>>8):this.K[a>>1]=b;this.Ka=!0}}; b,c){if(this.H&&null!=this.F){var d=this.H;cc(d,this.F+a,2,d.I)&&d.ja(!0)}this.M?this.G(a,b,c):this.$b(a,b,c)},W:function(a){return this.A[a]},ba:function(a){return this.A[a]},ea:function(a){return this.I.getUint16(a,!0)},ka:function(a){return a&1?this.A[a]|this.A[a+1]<<8:this.K[a>>1]},ra:function(a,b){this.A[a]=b;this.La=!0},za:function(a,b){this.A[a]=b;this.La=!0},Fa:function(a,b){this.I.setUint16(a,b,!0);this.La=!0},Ha:function(a,b){a&1?(this.A[a]=b,this.A[a+1]=b>>8):this.K[a>>1]=b;this.La=!0}};
function ub(a,b,c){a.H=b;a.w=a.u=0;c&&((a.w=c.w)&&cc(a,bc,!1),(a.u=c.u)&&ac(a,bc,!1))}function ec(a,b){b?0===--a.u&&(a.sb=a.M?a.G:a.Gb,a.xc=a.M?a.J:a.$b):0===--a.w&&(a.qb=a.Db,a.vc=a.Zb)}function ac(a,b,c){c&&a.u||(a.sb=!a.M&&b[2]||a.G,a.xc=!a.M&&b[3]||a.J);if(c||void 0===c)a.Gb=b[2]||a.G,a.$b=b[3]||a.J}function cc(a,b,c){c&&a.w||(a.qb=b[0]||a.L,a.vc=b[1]||a.O);if(c||void 0===c)a.Db=b[0]||a.L,a.Zb=b[1]||a.O}function Xb(a,b){b||(b=fc);cc(a,b,void 0);ac(a,b,void 0)} function tb(a,b,c){a.H=b;a.w=a.u=0;c&&((a.w=c.w)&&bc(a,ac,!1),(a.u=c.u)&&$b(a,ac,!1))}function dc(a,b){b?0===--a.u&&(a.sb=a.M?a.G:a.Gb,a.zc=a.M?a.J:a.$b):0===--a.w&&(a.qb=a.Db,a.xc=a.Zb)}function $b(a,b,c){c&&a.u||(a.sb=!a.M&&b[2]||a.G,a.zc=!a.M&&b[3]||a.J);if(c||void 0===c)a.Gb=b[2]||a.G,a.$b=b[3]||a.J}function bc(a,b,c){c&&a.w||(a.qb=b[0]||a.L,a.xc=b[1]||a.O);if(c||void 0===c)a.Db=b[0]||a.L,a.Zb=b[1]||a.O}function Wb(a,b){b||(b=ec);bc(a,b,void 0);$b(a,b,void 0)}
var fc=[],$b=[F.prototype.da,F.prototype.ma,F.prototype.Ea,F.prototype.ab],bc=[F.prototype.Z,F.prototype.fa,F.prototype.wa,F.prototype.Ga];if(ob)var Zb=[F.prototype.W,F.prototype.ea,F.prototype.ra,F.prototype.Fa],Yb=[F.prototype.ba,F.prototype.ka,F.prototype.za,F.prototype.Ha]; var ec=[],Zb=[F.prototype.da,F.prototype.ma,F.prototype.Ea,F.prototype.ab],ac=[F.prototype.Z,F.prototype.fa,F.prototype.wa,F.prototype.Ga];if(nb)var Yb=[F.prototype.W,F.prototype.ea,F.prototype.ra,F.prototype.Fa],Xb=[F.prototype.ba,F.prototype.ka,F.prototype.za,F.prototype.Ha];
function gc(a,b){w.call(this,"CPU",a,gc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.pb=c;this.i.Nb=0;this.i.Za=d;this.i.Vb=Math.round(this.i.pb/1E4)/100;this.i.Xa=this.i.Vb*this.i.Za;this.C.va=!1;this.C.Ub=!1;this.C.nc=a.autoStart;this.C.pc=!1;this.C.hb=!1;this.i.xb=this.i.mb=0;this.i.yb=a.csStart;this.i.lb=a.csInterval;this.i.nb=a.csStop;this.ba=this.$a.bind(this);E(this)}$a(gc);var hc=["power","reset"];m=gc.prototype; function fc(a,b){w.call(this,"CPU",a,fc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.pb=c;this.i.Nb=0;this.i.Za=d;this.i.Vb=Math.round(this.i.pb/1E4)/100;this.i.Xa=this.i.Vb*this.i.Za;this.C.va=!1;this.C.Ub=!1;this.C.pc=a.autoStart;this.C.rc=!1;this.C.hb=!1;this.i.xb=this.i.mb=0;this.i.yb=a.csStart;this.i.lb=a.csInterval;this.i.nb=a.csStop;this.ba=this.$a.bind(this);E(this)}Za(fc);var gc=["power","reset"];m=fc.prototype;
m.Na=function(a,b,c,d){this.w=a;this.A=b;this.H=d;for(b=0;b<hc.length;b++)(c=this.M[hc[b]])&&this.w.pa(null,hc[b],c);this.L=(b=rb(a,"Video"))&&Math.max(b.cd,b.jc)||60;this.G=rb(a,"ChipSet");a=ic(a,"autoStart");null!=a&&(this.C.nc="true"==a?!0:"false"==a?!1:!!a);E(this)};m.reset=function(){this.i.Nb=0};m.save=function(){return null};m.restore=function(){return!1}; m.Oa=function(a,b,c,d){this.w=a;this.A=b;this.H=d;for(b=0;b<gc.length;b++)(c=this.M[gc[b]])&&this.w.pa(null,gc[b],c);this.L=(b=qb(a,"Video"))&&Math.max(b.Ac,b.lc)||60;this.G=qb(a,"ChipSet");a=hc(a,"autoStart");null!=a&&(this.C.pc="true"==a?!0:"false"==a?!1:!!a);E(this)};m.reset=function(){this.i.Nb=0};m.save=function(){return null};m.restore=function(){return!1};
m.Ca=function(a,b){if(!b){if(a&&this.restore){jc(this);if(!this.restore(a))return!1;kc(this)}else this.reset();if(this.H){var c=this.H;c.g("Type ? for help with PC8080 Debugger commands");c.Da();if(c.Ha){var d=c.Ha;c.Ha=null;lc(c,d)}}else this.g("No debugger detected")}mc(this);return!0};m.Ja=function(a){return a?this.save():!0};function nc(a){(a.C.nc||!a.H&&void 0===a.M.run)&&a.$a(!0)}m.qc=function(){return 0}; m.Ca=function(a,b){if(!b){if(a&&this.restore){ic(this);if(!this.restore(a))return!1;jc(this)}else this.reset();if(this.H){var c=this.H;c.g("Type ? for help with PC8080 Debugger commands");c.Da();if(c.Ha){var d=c.Ha;c.Ha=null;kc(c,d)}}else this.g("No debugger detected")}lc(this);return!0};m.Ja=function(a){return a?this.save():!0};function mc(a){(a.C.pc||!a.H&&void 0===a.M.run)&&a.$a(!0)}m.sc=function(){return 0};
function kc(a){void 0===a.i.yb&&(a.i.yb=0);void 0===a.i.lb&&(a.i.lb=-1);void 0===a.i.nb&&(a.i.nb=-1);a.C.hb=0<=a.i.yb&&0<a.i.lb;a.C.hb&&(a.i.xb=0,a.i.mb=a.i.yb-a.J)}function Ac(a,b){if(a.C.hb){var c=!1;a.i.xb=a.i.xb+a.qc()|0;a.i.mb-=b;0>=a.i.mb&&(a.i.mb+=a.i.lb,c=!0);0<=a.i.nb&&a.i.nb<=Bc(a)&&(a.i.lb=a.i.nb=-1,kc(a),a.ja(),c=!0);c&&a.g(Bc(a)+" cycles: checksum="+n(a.i.xb))}} function jc(a){void 0===a.i.yb&&(a.i.yb=0);void 0===a.i.lb&&(a.i.lb=-1);void 0===a.i.nb&&(a.i.nb=-1);a.C.hb=0<=a.i.yb&&0<a.i.lb;a.C.hb&&(a.i.xb=0,a.i.mb=a.i.yb-a.J)}function nc(a,b){if(a.C.hb){var c=!1;a.i.xb=a.i.xb+a.sc()|0;a.i.mb-=b;0>=a.i.mb&&(a.i.mb+=a.i.lb,c=!0);0<=a.i.nb&&a.i.nb<=Ac(a)&&(a.i.lb=a.i.nb=-1,jc(a),a.ja(),c=!0);c&&a.g(Ac(a)+" cycles: checksum="+n(a.i.xb))}}
m.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.C.sa)a=!0;else{var b=null,c,g=cb(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.C.jb);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.C.sa);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.C.jb?"powered yet":"ready yet"+(b.Lb?" (waiting for notification)":""))+".");a=!1}a&&(d.C.va?d.ja(!0):d.$a(!0))};a= m.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.C.sa)a=!0;else{var b=null,c,g=bb(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.C.jb);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.C.sa);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.C.jb?"powered yet":"ready yet"+(b.Lb?" (waiting for notification)":""))+".");a=!1}a&&(d.C.va?d.ja(!0):d.$a(!0))};a=
!0;break;case "speed":this.M[b]=c;a=!0;break;case "setSpeed":this.M[b]=c,c.onclick=function(){Cc(d,d.i.Za<<1,!0)},c.textContent=this.i.Xa.toFixed(2)+"Mhz",a=!0}return a};function Dc(a,b,c){a.J+=b;c&&(a.D=a.b=0)} !0;break;case "speed":this.M[b]=c;a=!0;break;case "setSpeed":this.M[b]=c,c.onclick=function(){Bc(d,d.i.Za<<1,!0)},c.textContent=this.i.Xa.toFixed(2)+"Mhz",a=!0}return a};function Cc(a,b,c){a.J+=b;c&&(a.D=a.b=0)}
function Ec(a,b){var c=30;c<a.L&&(c=a.L);2>c&&(c=2);var d=1;b&&1<a.i.Za&&a.i.Wa&&(d=a.i.Wa/a.i.Vb);a.i.rc=Math.round(1E3/30);a.i.nd=Math.floor(a.i.pb/c*d);a.i.Xb=Math.floor(a.i.pb/30*d);a.i.tc=Math.floor(a.i.pb/a.L*d);a.i.sc=Math.floor(a.i.pb/2*d);b||(a.i.ob=a.i.Xb,a.i.Ab=a.i.tc,a.i.zb=a.i.sc);a.i.Yb=0}function Bc(a){return a.J+a.I+a.D-a.b}function jc(a){a.i.Wa=0;a.J=a.I=a.D=a.b=0;kc(a);Cc(a,1)} function Dc(a,b){var c=30;c<a.L&&(c=a.L);2>c&&(c=2);var d=1;b&&1<a.i.Za&&a.i.Wa&&(d=a.i.Wa/a.i.Vb);a.i.tc=Math.round(1E3/30);a.i.pd=Math.floor(a.i.pb/c*d);a.i.Xb=Math.floor(a.i.pb/30*d);a.i.vc=Math.floor(a.i.pb/a.L*d);a.i.uc=Math.floor(a.i.pb/2*d);b||(a.i.ob=a.i.Xb,a.i.Ab=a.i.vc,a.i.zb=a.i.uc);a.i.Yb=0}function Ac(a){return a.J+a.I+a.D-a.b}function ic(a){a.i.Wa=0;a.J=a.I=a.D=a.b=0;jc(a);Bc(a,1)}
function Cc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Wa/a.i.Xa?b=1:d=!0;a.i.Za=b;b=a.i.Vb*a.i.Za;if(a.i.Xa!=b){a.i.Xa=b;b=a.i.Xa.toFixed(2)+"Mhz";var e=a.M.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.w&&a.w.Eb()}Dc(a,a.I);a.I=0;a.i.kb=la();a.i.Ya=0;Ec(a);return d} function Bc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Wa/a.i.Xa?b=1:d=!0;a.i.Za=b;b=a.i.Vb*a.i.Za;if(a.i.Xa!=b){a.i.Xa=b;b=a.i.Xa.toFixed(2)+"Mhz";var e=a.M.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.w&&a.w.Eb()}Cc(a,a.I);a.I=0;a.i.kb=ka();a.i.Ya=0;Dc(a);return d}
m.$a=function(a){if(ib(this,!0)){if(!this.C.va){Cc(this);this.w&&this.w.start(this.i.kb,Bc(this));this.C.va=!0;this.C.Ub=!0;this.G&&this.G.start();var b=this.M.run;b&&(b.textContent="Halt");this.w&&(this.w.Da(!0),a&&this.w.Eb(!0))}this.i.Yb>=this.i.pb&&Ec(this,!0);this.i.Bb=0;this.i.Mb=la();this.i.Ya&&(a=this.i.Mb-this.i.Ya,a>this.i.rc&&(this.i.kb+=a,this.i.kb>this.i.Mb&&(this.i.kb=this.i.Mb)));try{do{this.rb(this.C.hb?1:this.i.nd);var c=this.D-this.b;this.I+=c;this.i.Bb+=c;Dc(this,0,!0);Ac(this, m.$a=function(a){if(hb(this,!0)){if(!this.C.va){Bc(this);this.w&&this.w.start(this.i.kb,Ac(this));this.C.va=!0;this.C.Ub=!0;this.G&&this.G.start();var b=this.M.run;b&&(b.textContent="Halt");this.w&&(this.w.Da(!0),a&&this.w.Eb(!0))}this.i.Yb>=this.i.pb&&Dc(this,!0);this.i.Bb=0;this.i.Mb=ka();this.i.Ya&&(a=this.i.Mb-this.i.Ya,a>this.i.tc&&(this.i.kb+=a,this.i.kb>this.i.Mb&&(this.i.kb=this.i.Mb)));try{do{this.rb(this.C.hb?1:this.i.pd);var c=this.D-this.b;this.I+=c;this.i.Bb+=c;Cc(this,0,!0);nc(this,
c);this.i.Ab-=c;0>=this.i.Ab&&(this.i.Ab+=this.i.tc,this.w&&Fc(this.w,this.i.Nb++),this.i.Nb>this.L&&(this.i.Nb=0));this.i.zb-=c;0>=this.i.zb&&(this.i.zb+=this.i.sc,this.w&&this.w.Da());this.i.ob-=c;if(0>=this.i.ob){this.i.ob+=this.i.Xb;break}}while(this.C.va)}catch(e){this.ja();mc(this);this.w&&this.w.stop(la(),Bc(this));ib(this,!1);nb(this,e.stack||e.message);return}c=setTimeout;a=this.ba;this.i.Ya=la();b=this.i.rc;this.i.Bb&&(b=Math.round(b*this.i.Bb/this.i.Xb));var b=b-(this.i.Ya-this.i.Mb),d= c);this.i.Ab-=c;0>=this.i.Ab&&(this.i.Ab+=this.i.vc,this.w&&Ec(this.w,this.i.Nb++),this.i.Nb>this.L&&(this.i.Nb=0));this.i.zb-=c;0>=this.i.zb&&(this.i.zb+=this.i.uc,this.w&&this.w.Da());this.i.ob-=c;if(0>=this.i.ob){this.i.ob+=this.i.Xb;break}}while(this.C.va)}catch(e){this.ja();lc(this);this.w&&this.w.stop(ka(),Ac(this));hb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.ba;this.i.Ya=ka();b=this.i.tc;this.i.Bb&&(b=Math.round(b*this.i.Bb/this.i.Xb));var b=b-(this.i.Ya-this.i.Mb),d=
this.i.Ya-this.i.kb;d&&(this.i.Wa=Math.round(this.I/(10*d))/100,864E5<=d&&(this.J=0,Cc(this)));if(0>b||this.i.Wa<this.i.Xa)b=0;this.i.Yb+=this.i.Bb;this.i.Ya+=b;c(a,b)}else mc(this),this.w&&this.w.stop(la(),Bc(this))};m.rb=function(){return 0};m.ja=function(a){jb(this,!0);this.D-=this.b;this.b=0;Dc(this,this.I);this.I=0;if(this.C.va){this.C.va=!1;this.G&&this.G.stop();var b=this.M.run;b&&(b.textContent="Run")}this.C.Kb=a};function mc(a,b){a.w&&(Fc(a.w,-1),a.w.Da(b))} this.i.Ya-this.i.kb;d&&(this.i.Wa=Math.round(this.I/(10*d))/100,864E5<=d&&(this.J=0,Bc(this)));if(0>b||this.i.Wa<this.i.Xa)b=0;this.i.Yb+=this.i.Bb;this.i.Ya+=b;c(a,b)}else lc(this),this.w&&this.w.stop(ka(),Ac(this))};m.rb=function(){return 0};m.ja=function(a){ib(this,!0);this.D-=this.b;this.b=0;Cc(this,this.I);this.I=0;if(this.C.va){this.C.va=!1;this.G&&this.G.stop();var b=this.M.run;b&&(b.textContent="Run")}this.C.Kb=a};function lc(a,b){a.w&&(Ec(a.w,-1),a.w.Da(b))}
function Gc(a){this.Wb=+a.model||8080;gc.call(this,a,1E6);this.O=Hc;jc(this);this.C.Kb=this.C.fd=!1;this.Z=0;this.K=[];this.W=0;Ic(this)}$a(Gc,gc);function Jc(a,b){a.K.push(b)}m=Gc.prototype;m.reset=function(){this.C.va&&this.ja();Ic(this);jc(this);this.C.ib=!1;this.parent.reset.call(this)};function Ic(a){a.j=0;a.P=0;a.R=0;a.S=0;a.T=0;a.U=0;a.X=0;a.ia=0;G(a,a.W);Kc(a,0);a.u=0}function Lc(a,b){a.W=b;G(a,b)} function Fc(a){this.Wb=+a.model||8080;fc.call(this,a,1E6);this.O=Gc;ic(this);this.C.Kb=this.C.hd=!1;this.Z=0;this.K=[];this.W=0;Hc(this)}Za(Fc,fc);function Ic(a,b){a.K.push(b)}m=Fc.prototype;m.reset=function(){this.C.va&&this.ja();Hc(this);ic(this);this.C.ib=!1;this.parent.reset.call(this)};function Hc(a){a.j=0;a.P=0;a.R=0;a.S=0;a.T=0;a.U=0;a.X=0;a.ia=0;G(a,a.W);Jc(a,0);a.u=0}function Kc(a,b){a.W=b;G(a,b)}
m.qc=function(){var a=this.j+this.P+this.R+this.S+this.T+this.U+this.X|0;return a=a+this.ia+this.N+Mc(this)|0}; m.sc=function(){var a=this.j+this.P+this.R+this.S+this.T+this.U+this.X|0;return a=a+this.ia+this.N+Lc(this)|0};
m.save=function(){var a=new I(this);J(a,0,[this.j,this.P,this.R,this.S,this.T,this.U,this.X,this.ia,this.N,Mc(this)]);J(a,1,[this.u,this.J,this.i.Za]);for(var b=this.A,c=0,d=[],e=0;e<b.L;e++){var f=b.V[e];if(f.Ka||f.oc){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var p=f[g],q=g+1;q<f.length&&f[q]===p;)q++;l[k++]=q-g;l[k++]=p;g=q}if(l.length<f.length){f=l;break a}}d[h]=f}}J(a,2,d);return a.data()}; m.save=function(){var a=new Mc(this);H(a,0,[this.j,this.P,this.R,this.S,this.T,this.U,this.X,this.ia,this.N,Lc(this)]);H(a,1,[this.u,this.J,this.i.Za]);for(var b=this.A,c=0,d=[],e=0;e<b.L;e++){var f=b.V[e];if(f.La||f.qc){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var p=f[g],q=g+1;q<f.length&&f[q]===p;)q++;l[k++]=q-g;l[k++]=p;g=q}if(l.length<f.length){f=l;break a}}d[h]=f}}H(a,2,d);return a.data()};
m.restore=function(a){var b=a[0];this.j=b[0];this.P=b[1];this.R=b[2];this.S=b[3];this.T=b[4];this.U=b[5];this.X=b[6];this.ia=b[7]&65535;G(this,b[8]);Kc(this,b[9]);b=a[1];this.u=b[0];this.J=b[1];Cc(this,b[3]);a:{b=this.A;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.W){for(var f=0,h=Array(b.W),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.V[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; m.restore=function(a){var b=a[0];this.j=b[0];this.P=b[1];this.R=b[2];this.S=b[3];this.T=b[4];this.U=b[5];this.X=b[6];this.ia=b[7]&65535;G(this,b[8]);Jc(this,b[9]);b=a[1];this.u=b[0];this.J=b[1];Bc(this,b[3]);a:{b=this.A;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.W){for(var f=0,h=Array(b.W),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.V[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
m.pa=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.M[b]=c;this.Z++;d=!0;break;default:d=this.parent.pa.call(this,a,b,c)}return d};function Nc(a){return a.P<<8|a.R}function Oc(a,b){a.P=b>>8&255;a.R=b&255}function Pc(a){return a.S<<8|a.T}function Qc(a,b){a.S=b>>8&255;a.T=b&255}function K(a){return a.U<<8|a.X} m.pa=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.M[b]=c;this.Z++;d=!0;break;default:d=this.parent.pa.call(this,a,b,c)}return d};function Nc(a){return a.P<<8|a.R}function Oc(a,b){a.P=b>>8&255;a.R=b&255}function Pc(a){return a.S<<8|a.T}function Qc(a,b){a.S=b>>8&255;a.T=b&255}function J(a){return a.U<<8|a.X}
function Rc(a,b){a.U=b>>8&255;a.X=b&255}function G(a,b){a.N=b&65535}function Sc(a){return a.aa&256?1:0}function Tc(a,b){a.aa=a.aa&255|b}function Uc(a){return pb[a.ca&255]?4:0}function Vc(a){return(a.ca^a.ua)&16?16:0}function Wc(a){return a.aa&255?0:64}function Xc(a){return a.ca&128?128:0}function Mc(a){return a.ta&-214|Xc(a)|Wc(a)|Vc(a)|Uc(a)|Sc(a)}function Kc(a,b){a.aa=a.ca=a.ua=0;b&1&&(a.aa|=256);b&4||(a.ca|=1);b&16&&(a.ua|=16);b&64||(a.aa|=255);b&128&&(a.ca^=192);a.ta=a.ta&-726|b&512|2} function Rc(a,b){a.U=b>>8&255;a.X=b&255}function G(a,b){a.N=b&65535}function Sc(a){return a.aa&256?1:0}function Tc(a,b){a.aa=a.aa&255|b}function Uc(a){return ob[a.ca&255]?4:0}function Vc(a){return(a.ca^a.ua)&16?16:0}function Wc(a){return a.aa&255?0:64}function Xc(a){return a.ca&128?128:0}function Lc(a){return a.ta&-214|Xc(a)|Wc(a)|Vc(a)|Uc(a)|Sc(a)}function Jc(a,b){a.aa=a.ca=a.ua=0;b&1&&(a.aa|=256);b&4||(a.ca|=1);b&16&&(a.ua|=16);b&64||(a.aa|=255);b&128&&(a.ca^=192);a.ta=a.ta&-726|b&512|2}
function Yc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b)&255}function Zc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?1:0))&255}function $c(a,b){a.aa=a.ca=a.ua=a.j&b;(a.j|b)&8&&(a.ua^=16);return a.aa}function ad(a,b){a.ua=b^255;b=a.ca=b+255&255;a.aa=a.aa&-256|b;return b}function bd(a,b){a.ua=b;b=a.ca=b+1&255;a.aa=a.aa&-256|b;return b}function cd(a,b){return a.ca=a.aa=a.ua=a.j|b}function L(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+1^256)&255} function Yc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b)&255}function Zc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?1:0))&255}function $c(a,b){a.aa=a.ca=a.ua=a.j&b;(a.j|b)&8&&(a.ua^=16);return a.aa}function ad(a,b){a.ua=b^255;b=a.ca=b+255&255;a.aa=a.aa&-256|b;return b}function bd(a,b){a.ua=b;b=a.ca=b+1&255;a.aa=a.aa&-256|b;return b}function cd(a,b){return a.ca=a.aa=a.ua=a.j|b}function K(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+1^256)&255}
function wd(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?0:1)^256)&255}function xd(a,b){return a.ca=a.aa=a.ua=a.j^b}m.Y=function(a){return this.A.Y(a)};m.qa=function(a,b){this.A.qa(a,b)};function M(a){var b=a.Y(a.N);G(a,a.N+1);return b}function N(a){var b=a.A.Pa(a.N);G(a,a.N+2);return b}function P(a){var b=a.A.Pa(a.ia);a.ia=a.ia+2&65535;return b}function Q(a,b){a.ia=a.ia-2&65535;a.A.Qb(a.ia,b)} function wd(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?0:1)^256)&255}function xd(a,b){return a.ca=a.aa=a.ua=a.j^b}m.Y=function(a){return this.A.Y(a)};m.qa=function(a,b){this.A.qa(a,b)};function L(a){var b=a.Y(a.N);G(a,a.N+1);return b}function M(a){var b=a.A.Pa(a.N);G(a,a.N+2);return b}function N(a){var b=a.A.Pa(a.ia);a.ia=a.ia+2&65535;return b}function P(a,b){a.ia=a.ia-2&65535;a.A.Qb(a.ia,b)}
function R(a,b,c,d){d=d||2;a.M[b]&&(void 0===c&&(nb(a,"Value for "+b+" is invalid"),a.ja()),c=!a.C.va||a.C.pc?n(c,d):"--------".substr(0,d),a.M[b].textContent!=c&&(a.M[b].textContent=c))} function Q(a,b,c,d){d=d||2;a.M[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.ja()),c=!a.C.va||a.C.rc?n(c,d):"--------".substr(0,d),a.M[b].textContent!=c&&(a.M[b].textContent=c))}
m.Da=function(a){this.Z&&(a||!this.C.va||this.C.pc)&&(R(this,"A",this.j),R(this,"B",this.P),R(this,"C",this.R),R(this,"BC",Nc(this),4),R(this,"D",this.S),R(this,"E",this.T),R(this,"DE",Pc(this),4),R(this,"H",this.U),R(this,"L",this.X),R(this,"HL",K(this),4),R(this,"SP",this.ia,4),R(this,"PC",this.N,4),a=Mc(this),R(this,"PS",a,4),R(this,"IF",a&512?1:0,1),R(this,"SF",a&128?1:0,1),R(this,"ZF",a&64?1:0,1),R(this,"AF",a&16?1:0,1),R(this,"PF",a&4?1:0,1),R(this,"CF",a&1?1:0,1));if(a=this.M.speed)a.textContent= m.Da=function(a){this.Z&&(a||!this.C.va||this.C.rc)&&(Q(this,"A",this.j),Q(this,"B",this.P),Q(this,"C",this.R),Q(this,"BC",Nc(this),4),Q(this,"D",this.S),Q(this,"E",this.T),Q(this,"DE",Pc(this),4),Q(this,"H",this.U),Q(this,"L",this.X),Q(this,"HL",J(this),4),Q(this,"SP",this.ia,4),Q(this,"PC",this.N,4),a=Lc(this),Q(this,"PS",a,4),Q(this,"IF",a&512?1:0,1),Q(this,"SF",a&128?1:0,1),Q(this,"ZF",a&64?1:0,1),Q(this,"AF",a&16?1:0,1),Q(this,"PF",a&4?1:0,1),Q(this,"CF",a&1?1:0,1));if(a=this.M.speed)a.textContent=
this.C.va&&this.i.Wa?this.i.Wa.toFixed(2)+"Mhz":"Stopped"}; this.C.va&&this.i.Wa?this.i.Wa.toFixed(2)+"Mhz":"Stopped"};
m.rb=function(a){this.C.Kb=!0;var b=this.C.fd=this.H&&yd(this.H),c=a?this.C.Ub?0:1:-1;this.C.Ub=!1;this.D=this.b=a;do{if(this.u){var d;this.u&8&&this.ta&512?(d=199|(this.u&7)<<3,this.u&=-16,this.ta&=-513,this.O[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.u&16){this.b=0;break}}if(b){if(zd(this.H,this.N,c)){this.ja();break}c=1}this.O[M(this)].call(this)}while(0<this.b);return this.C.Kb?this.D-this.b:void 0===this.C.Kb?0:-1}; m.rb=function(a){this.C.Kb=!0;var b=this.C.hd=this.H&&yd(this.H),c=a?this.C.Ub?0:1:-1;this.C.Ub=!1;this.D=this.b=a;do{if(this.u){var d;this.u&8&&this.ta&512?(d=199|(this.u&7)<<3,this.u&=-16,this.ta&=-513,this.O[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.u&16){this.b=0;break}}if(b){if(zd(this.H,this.N,c)){this.ja();break}c=1}this.O[L(this)].call(this)}while(0<this.b);return this.C.Kb?this.D-this.b:void 0===this.C.Kb?0:-1};
Ja(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Gc(d);eb(d,c)}});function Ad(){this.b-=4}function Bd(){G(this,N(this));this.b-=10}function Cd(){G(this,P(this));this.b-=10}function Dd(){var a=N(this);Q(this,this.N);G(this,a);this.b-=17} Ia(function(){for(var a=B(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Fc(d);db(d,c)}});function Ad(){this.b-=4}function Bd(){G(this,M(this));this.b-=10}function Cd(){G(this,N(this));this.b-=10}function Dd(){var a=M(this);P(this,this.N);G(this,a);this.b-=17}
var Hc=[Ad,function(){Oc(this,N(this));this.b-=10},function(){this.qa(Nc(this),this.j);this.b-=7},function(){Oc(this,Nc(this)+1);this.b-=5},function(){this.P=bd(this,this.P);this.b-=5},function(){this.P=ad(this,this.P);this.b-=5},function(){this.P=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Tc(this,a&256);this.b-=4},Ad,function(){var a;Rc(this,a=K(this)+Nc(this));Tc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(Nc(this));this.b-=7},function(){Oc(this,Nc(this)-1);this.b-= var Gc=[Ad,function(){Oc(this,M(this));this.b-=10},function(){this.qa(Nc(this),this.j);this.b-=7},function(){Oc(this,Nc(this)+1);this.b-=5},function(){this.P=bd(this,this.P);this.b-=5},function(){this.P=ad(this,this.P);this.b-=5},function(){this.P=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Tc(this,a&256);this.b-=4},Ad,function(){var a;Rc(this,a=J(this)+Nc(this));Tc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(Nc(this));this.b-=7},function(){Oc(this,Nc(this)-1);this.b-=
5},function(){this.R=bd(this,this.R);this.b-=5},function(){this.R=ad(this,this.R);this.b-=5},function(){this.R=M(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Tc(this,a);this.b-=4},Ad,function(){Qc(this,N(this));this.b-=10},function(){this.qa(Pc(this),this.j);this.b-=7},function(){Qc(this,Pc(this)+1);this.b-=5},function(){this.S=bd(this,this.S);this.b-=5},function(){this.S=ad(this,this.S);this.b-=5},function(){this.S=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| 5},function(){this.R=bd(this,this.R);this.b-=5},function(){this.R=ad(this,this.R);this.b-=5},function(){this.R=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Tc(this,a);this.b-=4},Ad,function(){Qc(this,M(this));this.b-=10},function(){this.qa(Pc(this),this.j);this.b-=7},function(){Qc(this,Pc(this)+1);this.b-=5},function(){this.S=bd(this,this.S);this.b-=5},function(){this.S=ad(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|
Sc(this);Tc(this,a&256);this.b-=4},Ad,function(){var a;Rc(this,a=K(this)+Pc(this));Tc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(Pc(this));this.b-=7},function(){Qc(this,Pc(this)-1);this.b-=5},function(){this.T=bd(this,this.T);this.b-=5},function(){this.T=ad(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.j<<8;this.j=(Sc(this)<<8|this.j)>>1;Tc(this,a&256);this.b-=4},Ad,function(){Rc(this,N(this));this.b-=10},function(){var a=N(this);this.A.Qb(a,K(this)); Sc(this);Tc(this,a&256);this.b-=4},Ad,function(){var a;Rc(this,a=J(this)+Pc(this));Tc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(Pc(this));this.b-=7},function(){Qc(this,Pc(this)-1);this.b-=5},function(){this.T=bd(this,this.T);this.b-=5},function(){this.T=ad(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(Sc(this)<<8|this.j)>>1;Tc(this,a&256);this.b-=4},Ad,function(){Rc(this,M(this));this.b-=10},function(){var a=M(this);this.A.Qb(a,J(this));
this.b-=16},function(){Rc(this,K(this)+1);this.b-=5},function(){this.U=bd(this,this.U);this.b-=5},function(){this.U=ad(this,this.U);this.b-=5},function(){this.U=M(this);this.b-=7},function(){var a=0,b=Sc(this);if(Vc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Yc(this,a);Tc(this,b?256:0);this.b-=4},Ad,function(){var a;Rc(this,a=K(this)+K(this));Tc(this,a>>8&256);this.b-=10},function(){var a;a=N(this);a=this.A.Pa(a);Rc(this,a);this.b-=16},function(){Rc(this,K(this)-1);this.b-=5},function(){this.X= this.b-=16},function(){Rc(this,J(this)+1);this.b-=5},function(){this.U=bd(this,this.U);this.b-=5},function(){this.U=ad(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=0,b=Sc(this);if(Vc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Yc(this,a);Tc(this,b?256:0);this.b-=4},Ad,function(){var a;Rc(this,a=J(this)+J(this));Tc(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.A.Pa(a);Rc(this,a);this.b-=16},function(){Rc(this,J(this)-1);this.b-=5},function(){this.X=
bd(this,this.X);this.b-=5},function(){this.X=ad(this,this.X);this.b-=5},function(){this.X=M(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},Ad,function(){this.ia=N(this)&65535;this.b-=10},function(){this.qa(N(this),this.j);this.b-=13},function(){this.ia=this.ia+1&65535;this.b-=5},function(){var a=K(this);this.qa(a,bd(this,this.Y(a)));this.b-=10},function(){var a=K(this);this.qa(a,ad(this,this.Y(a)));this.b-=10},function(){this.qa(K(this),M(this));this.b-=10},function(){this.aa|=256;this.b-= bd(this,this.X);this.b-=5},function(){this.X=ad(this,this.X);this.b-=5},function(){this.X=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},Ad,function(){this.ia=M(this)&65535;this.b-=10},function(){this.qa(M(this),this.j);this.b-=13},function(){this.ia=this.ia+1&65535;this.b-=5},function(){var a=J(this);this.qa(a,bd(this,this.Y(a)));this.b-=10},function(){var a=J(this);this.qa(a,ad(this,this.Y(a)));this.b-=10},function(){this.qa(J(this),L(this));this.b-=10},function(){this.aa|=256;this.b-=
4},Ad,function(){var a;Rc(this,a=K(this)+this.ia);Tc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(N(this));this.b-=13},function(){this.ia=this.ia-1&65535;this.b-=5},function(){this.j=bd(this,this.j);this.b-=5},function(){this.j=ad(this,this.j);this.b-=5},function(){this.j=M(this);this.b-=7},function(){Tc(this,Sc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.P=this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.T;this.b-=5},function(){this.P=this.U;this.b-= 4},Ad,function(){var a;Rc(this,a=J(this)+this.ia);Tc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(M(this));this.b-=13},function(){this.ia=this.ia-1&65535;this.b-=5},function(){this.j=bd(this,this.j);this.b-=5},function(){this.j=ad(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){Tc(this,Sc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.P=this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.T;this.b-=5},function(){this.P=this.U;this.b-=
5},function(){this.P=this.X;this.b-=5},function(){this.P=this.Y(K(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.T;this.b-=5},function(){this.R=this.U;this.b-=5},function(){this.R=this.X;this.b-=5},function(){this.R=this.Y(K(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S= 5},function(){this.P=this.X;this.b-=5},function(){this.P=this.Y(J(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R=this.S;this.b-=5},function(){this.R=this.T;this.b-=5},function(){this.R=this.U;this.b-=5},function(){this.R=this.X;this.b-=5},function(){this.R=this.Y(J(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=
this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.X;this.b-=5},function(){this.S=this.Y(K(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.T=this.P;this.b-=5},function(){this.T=this.R;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.X;this.b-=5},function(){this.T=this.Y(K(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.P;this.b-=5},function(){this.U= this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.X;this.b-=5},function(){this.S=this.Y(J(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.T=this.P;this.b-=5},function(){this.T=this.R;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.X;this.b-=5},function(){this.T=this.Y(J(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.P;this.b-=5},function(){this.U=
this.R;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U=this.X;this.b-=5},function(){this.U=this.Y(K(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.X=this.P;this.b-=5},function(){this.X=this.R;this.b-=5},function(){this.X=this.S;this.b-=5},function(){this.X=this.T;this.b-=5},function(){this.X=this.U;this.b-=5},function(){this.b-=5},function(){this.X=this.Y(K(this));this.b-=7},function(){this.X=this.j; this.R;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U=this.X;this.b-=5},function(){this.U=this.Y(J(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.X=this.P;this.b-=5},function(){this.X=this.R;this.b-=5},function(){this.X=this.S;this.b-=5},function(){this.X=this.T;this.b-=5},function(){this.X=this.U;this.b-=5},function(){this.b-=5},function(){this.X=this.Y(J(this));this.b-=7},function(){this.X=this.j;
this.b-=5},function(){this.qa(K(this),this.P);this.b-=7},function(){this.qa(K(this),this.R);this.b-=7},function(){this.qa(K(this),this.S);this.b-=7},function(){this.qa(K(this),this.T);this.b-=7},function(){this.qa(K(this),this.U);this.b-=7},function(){this.qa(K(this),this.X);this.b-=7},function(){var a=this.N-1;if(this.K.length)for(var b=0;b<this.K.length;b++)if(this.K[b](a))return;this.u|=16;this.b-=7;this.H&&hb(this,-2147483648)?(G(this,a),this.H.ja()):this.ta&512||(this.H&&G(this,a),this.ja())}, this.b-=5},function(){this.qa(J(this),this.P);this.b-=7},function(){this.qa(J(this),this.R);this.b-=7},function(){this.qa(J(this),this.S);this.b-=7},function(){this.qa(J(this),this.T);this.b-=7},function(){this.qa(J(this),this.U);this.b-=7},function(){this.qa(J(this),this.X);this.b-=7},function(){var a=this.N-1;if(this.K.length)for(var b=0;b<this.K.length;b++)if(this.K[b](a))return;this.u|=16;this.b-=7;this.H&&gb(this,-2147483648)?(G(this,a),this.H.ja()):this.ta&512||(this.H&&G(this,a),this.ja())},
function(){this.qa(K(this),this.j);this.b-=7},function(){this.j=this.P;this.b-=5},function(){this.j=this.R;this.b-=5},function(){this.j=this.S;this.b-=5},function(){this.j=this.T;this.b-=5},function(){this.j=this.U;this.b-=5},function(){this.j=this.X;this.b-=5},function(){this.j=this.Y(K(this));this.b-=7},function(){this.b-=5},function(){this.j=Yc(this,this.P);this.b-=4},function(){this.j=Yc(this,this.R);this.b-=4},function(){this.j=Yc(this,this.S);this.b-=4},function(){this.j=Yc(this,this.T);this.b-= function(){this.qa(J(this),this.j);this.b-=7},function(){this.j=this.P;this.b-=5},function(){this.j=this.R;this.b-=5},function(){this.j=this.S;this.b-=5},function(){this.j=this.T;this.b-=5},function(){this.j=this.U;this.b-=5},function(){this.j=this.X;this.b-=5},function(){this.j=this.Y(J(this));this.b-=7},function(){this.b-=5},function(){this.j=Yc(this,this.P);this.b-=4},function(){this.j=Yc(this,this.R);this.b-=4},function(){this.j=Yc(this,this.S);this.b-=4},function(){this.j=Yc(this,this.T);this.b-=
4},function(){this.j=Yc(this,this.U);this.b-=4},function(){this.j=Yc(this,this.X);this.b-=4},function(){this.j=Yc(this,this.Y(K(this)));this.b-=7},function(){this.j=Yc(this,this.j);this.b-=4},function(){this.j=Zc(this,this.P);this.b-=4},function(){this.j=Zc(this,this.R);this.b-=4},function(){this.j=Zc(this,this.S);this.b-=4},function(){this.j=Zc(this,this.T);this.b-=4},function(){this.j=Zc(this,this.U);this.b-=4},function(){this.j=Zc(this,this.X);this.b-=4},function(){this.j=Zc(this,this.Y(K(this))); 4},function(){this.j=Yc(this,this.U);this.b-=4},function(){this.j=Yc(this,this.X);this.b-=4},function(){this.j=Yc(this,this.Y(J(this)));this.b-=7},function(){this.j=Yc(this,this.j);this.b-=4},function(){this.j=Zc(this,this.P);this.b-=4},function(){this.j=Zc(this,this.R);this.b-=4},function(){this.j=Zc(this,this.S);this.b-=4},function(){this.j=Zc(this,this.T);this.b-=4},function(){this.j=Zc(this,this.U);this.b-=4},function(){this.j=Zc(this,this.X);this.b-=4},function(){this.j=Zc(this,this.Y(J(this)));
this.b-=7},function(){this.j=Zc(this,this.j);this.b-=4},function(){this.j=L(this,this.P);this.b-=4},function(){this.j=L(this,this.R);this.b-=4},function(){this.j=L(this,this.S);this.b-=4},function(){this.j=L(this,this.T);this.b-=4},function(){this.j=L(this,this.U);this.b-=4},function(){this.j=L(this,this.X);this.b-=4},function(){this.j=L(this,this.Y(K(this)));this.b-=7},function(){this.j=L(this,this.j);this.b-=4},function(){this.j=wd(this,this.P);this.b-=4},function(){this.j=wd(this,this.R);this.b-= this.b-=7},function(){this.j=Zc(this,this.j);this.b-=4},function(){this.j=K(this,this.P);this.b-=4},function(){this.j=K(this,this.R);this.b-=4},function(){this.j=K(this,this.S);this.b-=4},function(){this.j=K(this,this.T);this.b-=4},function(){this.j=K(this,this.U);this.b-=4},function(){this.j=K(this,this.X);this.b-=4},function(){this.j=K(this,this.Y(J(this)));this.b-=7},function(){this.j=K(this,this.j);this.b-=4},function(){this.j=wd(this,this.P);this.b-=4},function(){this.j=wd(this,this.R);this.b-=
4},function(){this.j=wd(this,this.S);this.b-=4},function(){this.j=wd(this,this.T);this.b-=4},function(){this.j=wd(this,this.U);this.b-=4},function(){this.j=wd(this,this.X);this.b-=4},function(){this.j=wd(this,this.Y(K(this)));this.b-=7},function(){this.j=wd(this,this.j);this.b-=4},function(){this.j=$c(this,this.P);this.b-=4},function(){this.j=$c(this,this.R);this.b-=4},function(){this.j=$c(this,this.S);this.b-=4},function(){this.j=$c(this,this.T);this.b-=4},function(){this.j=$c(this,this.U);this.b-= 4},function(){this.j=wd(this,this.S);this.b-=4},function(){this.j=wd(this,this.T);this.b-=4},function(){this.j=wd(this,this.U);this.b-=4},function(){this.j=wd(this,this.X);this.b-=4},function(){this.j=wd(this,this.Y(J(this)));this.b-=7},function(){this.j=wd(this,this.j);this.b-=4},function(){this.j=$c(this,this.P);this.b-=4},function(){this.j=$c(this,this.R);this.b-=4},function(){this.j=$c(this,this.S);this.b-=4},function(){this.j=$c(this,this.T);this.b-=4},function(){this.j=$c(this,this.U);this.b-=
4},function(){this.j=$c(this,this.X);this.b-=4},function(){this.j=$c(this,this.Y(K(this)));this.b-=7},function(){this.j=$c(this,this.j);this.b-=4},function(){this.j=xd(this,this.P);this.b-=4},function(){this.j=xd(this,this.R);this.b-=4},function(){this.j=xd(this,this.S);this.b-=4},function(){this.j=xd(this,this.T);this.b-=4},function(){this.j=xd(this,this.U);this.b-=4},function(){this.j=xd(this,this.X);this.b-=4},function(){this.j=xd(this,this.Y(K(this)));this.b-=7},function(){this.j=xd(this,this.j); 4},function(){this.j=$c(this,this.X);this.b-=4},function(){this.j=$c(this,this.Y(J(this)));this.b-=7},function(){this.j=$c(this,this.j);this.b-=4},function(){this.j=xd(this,this.P);this.b-=4},function(){this.j=xd(this,this.R);this.b-=4},function(){this.j=xd(this,this.S);this.b-=4},function(){this.j=xd(this,this.T);this.b-=4},function(){this.j=xd(this,this.U);this.b-=4},function(){this.j=xd(this,this.X);this.b-=4},function(){this.j=xd(this,this.Y(J(this)));this.b-=7},function(){this.j=xd(this,this.j);
this.b-=4},function(){this.j=cd(this,this.P);this.b-=4},function(){this.j=cd(this,this.R);this.b-=4},function(){this.j=cd(this,this.S);this.b-=4},function(){this.j=cd(this,this.T);this.b-=4},function(){this.j=cd(this,this.U);this.b-=4},function(){this.j=cd(this,this.X);this.b-=4},function(){this.j=cd(this,this.Y(K(this)));this.b-=7},function(){this.j=cd(this,this.j);this.b-=4},function(){L(this,this.P);this.b-=4},function(){L(this,this.R);this.b-=4},function(){L(this,this.S);this.b-=4},function(){L(this, this.b-=4},function(){this.j=cd(this,this.P);this.b-=4},function(){this.j=cd(this,this.R);this.b-=4},function(){this.j=cd(this,this.S);this.b-=4},function(){this.j=cd(this,this.T);this.b-=4},function(){this.j=cd(this,this.U);this.b-=4},function(){this.j=cd(this,this.X);this.b-=4},function(){this.j=cd(this,this.Y(J(this)));this.b-=7},function(){this.j=cd(this,this.j);this.b-=4},function(){K(this,this.P);this.b-=4},function(){K(this,this.R);this.b-=4},function(){K(this,this.S);this.b-=4},function(){K(this,
this.T);this.b-=4},function(){L(this,this.U);this.b-=4},function(){L(this,this.X);this.b-=4},function(){L(this,this.Y(K(this)));this.b-=7},function(){L(this,this.j);this.b-=4},function(){Wc(this)||(G(this,P(this)),this.b-=6);this.b-=5},function(){Oc(this,P(this));this.b-=10},function(){var a=N(this);Wc(this)||G(this,a);this.b-=10},Bd,function(){var a=N(this);Wc(this)||(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){Q(this,Nc(this));this.b-=11},function(){this.j=Yc(this,M(this));this.b-= this.T);this.b-=4},function(){K(this,this.U);this.b-=4},function(){K(this,this.X);this.b-=4},function(){K(this,this.Y(J(this)));this.b-=7},function(){K(this,this.j);this.b-=4},function(){Wc(this)||(G(this,N(this)),this.b-=6);this.b-=5},function(){Oc(this,N(this));this.b-=10},function(){var a=M(this);Wc(this)||G(this,a);this.b-=10},Bd,function(){var a=M(this);Wc(this)||(P(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){P(this,Nc(this));this.b-=11},function(){this.j=Yc(this,L(this));this.b-=
7},function(){Q(this,this.N);G(this,0);this.b-=11},function(){Wc(this)&&(G(this,P(this)),this.b-=6);this.b-=5},Cd,function(){var a=N(this);Wc(this)&&G(this,a);this.b-=10},Bd,function(){var a=N(this);Wc(this)&&(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=Zc(this,M(this));this.b-=7},function(){Q(this,this.N);G(this,8);this.b-=11},function(){Sc(this)||(G(this,P(this)),this.b-=6);this.b-=5},function(){Qc(this,P(this));this.b-=10},function(){var a=N(this);Sc(this)||G(this,a);this.b-= 7},function(){P(this,this.N);G(this,0);this.b-=11},function(){Wc(this)&&(G(this,N(this)),this.b-=6);this.b-=5},Cd,function(){var a=M(this);Wc(this)&&G(this,a);this.b-=10},Bd,function(){var a=M(this);Wc(this)&&(P(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=Zc(this,L(this));this.b-=7},function(){P(this,this.N);G(this,8);this.b-=11},function(){Sc(this)||(G(this,N(this)),this.b-=6);this.b-=5},function(){Qc(this,N(this));this.b-=10},function(){var a=M(this);Sc(this)||G(this,a);this.b-=
10},function(){var a=M(this);Hb(this.A,a,this.j,this.N+-2&65535);this.b-=10},function(){var a=N(this);Sc(this)||(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){Q(this,Pc(this));this.b-=11},function(){this.j=L(this,M(this));this.b-=7},function(){Q(this,this.N);G(this,16);this.b-=11},function(){Sc(this)&&(G(this,P(this)),this.b-=6);this.b-=5},Cd,function(){var a=N(this);Sc(this)&&G(this,a);this.b-=10},function(){var a=M(this);this.j=Db(this.A,a,this.N+-2&65535)&255;this.b-=10},function(){var a= 10},function(){var a=L(this);Gb(this.A,a,this.j,this.N+-2&65535);this.b-=10},function(){var a=M(this);Sc(this)||(P(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){P(this,Pc(this));this.b-=11},function(){this.j=K(this,L(this));this.b-=7},function(){P(this,this.N);G(this,16);this.b-=11},function(){Sc(this)&&(G(this,N(this)),this.b-=6);this.b-=5},Cd,function(){var a=M(this);Sc(this)&&G(this,a);this.b-=10},function(){var a=L(this);this.j=Cb(this.A,a,this.N+-2&65535)&255;this.b-=10},function(){var a=
N(this);Sc(this)&&(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=wd(this,M(this));this.b-=7},function(){Q(this,this.N);G(this,24);this.b-=11},function(){Uc(this)||(G(this,P(this)),this.b-=6);this.b-=5},function(){Rc(this,P(this));this.b-=10},function(){var a=N(this);Uc(this)||G(this,a);this.b-=10},function(){var a=P(this);Q(this,K(this));Rc(this,a);this.b-=18},function(){var a=N(this);Uc(this)||(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){Q(this,K(this));this.b-= M(this);Sc(this)&&(P(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=wd(this,L(this));this.b-=7},function(){P(this,this.N);G(this,24);this.b-=11},function(){Uc(this)||(G(this,N(this)),this.b-=6);this.b-=5},function(){Rc(this,N(this));this.b-=10},function(){var a=M(this);Uc(this)||G(this,a);this.b-=10},function(){var a=N(this);P(this,J(this));Rc(this,a);this.b-=18},function(){var a=M(this);Uc(this)||(P(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){P(this,J(this));this.b-=
11},function(){this.j=$c(this,M(this));this.b-=7},function(){Q(this,this.N);G(this,32);this.b-=11},function(){Uc(this)&&(G(this,P(this)),this.b-=6);this.b-=5},function(){G(this,K(this));this.b-=5},function(){var a=N(this);Uc(this)&&G(this,a);this.b-=10},function(){var a=K(this);Rc(this,Pc(this));Qc(this,a);this.b-=5},function(){var a=N(this);Uc(this)&&(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=xd(this,M(this));this.b-=7},function(){Q(this,this.N);G(this,40);this.b-=11}, 11},function(){this.j=$c(this,L(this));this.b-=7},function(){P(this,this.N);G(this,32);this.b-=11},function(){Uc(this)&&(G(this,N(this)),this.b-=6);this.b-=5},function(){G(this,J(this));this.b-=5},function(){var a=M(this);Uc(this)&&G(this,a);this.b-=10},function(){var a=J(this);Rc(this,Pc(this));Qc(this,a);this.b-=5},function(){var a=M(this);Uc(this)&&(P(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=xd(this,L(this));this.b-=7},function(){P(this,this.N);G(this,40);this.b-=11},
function(){Xc(this)||(G(this,P(this)),this.b-=6);this.b-=5},function(){var a=P(this);Kc(this,a&255|this.ta&-256);this.j=a>>8;this.b-=10},function(){var a=N(this);Xc(this)||G(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=N(this);Xc(this)||(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){Q(this,Mc(this)&255|this.j<<8);this.b-=11},function(){this.j=cd(this,M(this));this.b-=7},function(){Q(this,this.N);G(this,48);this.b-=11},function(){Xc(this)&&(G(this,P(this)), function(){Xc(this)||(G(this,N(this)),this.b-=6);this.b-=5},function(){var a=N(this);Jc(this,a&255|this.ta&-256);this.j=a>>8;this.b-=10},function(){var a=M(this);Xc(this)||G(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=M(this);Xc(this)||(P(this,this.N),G(this,a),this.b-=6);this.b-=11},function(){P(this,Lc(this)&255|this.j<<8);this.b-=11},function(){this.j=cd(this,L(this));this.b-=7},function(){P(this,this.N);G(this,48);this.b-=11},function(){Xc(this)&&(G(this,N(this)),
this.b-=6);this.b-=5},function(){this.ia=K(this)&65535;this.b-=5},function(){var a=N(this);Xc(this)&&G(this,a);this.b-=10},function(){this.ta|=512;this.b-=4},function(){var a=N(this);Xc(this)&&(Q(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){L(this,M(this));this.b-=7},function(){Q(this,this.N);G(this,56);this.b-=11}]; this.b-=6);this.b-=5},function(){this.ia=J(this)&65535;this.b-=5},function(){var a=M(this);Xc(this)&&G(this,a);this.b-=10},function(){this.ta|=512;this.b-=4},function(){var a=M(this);Xc(this)&&(P(this,this.N),G(this,a),this.b-=6);this.b-=11},Dd,function(){K(this,L(this));this.b-=7},function(){P(this,this.N);G(this,56);this.b-=11}];
function S(a){w.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Ed[b]&&La("Unrecognized ChipSet model: "+b);this.G=Ed[b]||{};a.sound&&(this.ba=null,window&&(this.ba=window.AudioContext||window.webkitAudioContext),this.ba&&new this.ba);E(this)}$a(S); function R(a){w.call(this,"ChipSet",a,R,32768);var b=a.model;b&&!Ed[b]&&Ka("Unrecognized ChipSet model: "+b);this.G=Ed[b]||{};a.sound&&(this.ba=null,window&&(this.ba=window.AudioContext||window.webkitAudioContext),this.ba&&new this.ba);E(this)}Za(R);
var T={xa:1978.1,Vc:{ya:0,Hd:1,Md:16,$d:32,ne:64,le:128,tb:14},Ua:{ya:1,Cc:1,Rc:2,Nc:4,Oc:16,Pc:32,Qc:64,tb:8},Wc:{ya:2,Gd:3,xe:4,Id:8,he:16,ie:32,je:64,Jd:128,tb:0},re:{ya:3},pe:{ya:2,be:7},te:{ya:3,ze:1,se:2,ke:4,Ud:8,Kd:16,yd:32},qe:{ya:4},ue:{ya:5,Nd:1,Od:2,Pd:4,Qd:8,Ae:16}},U={xa:100,bb:{ya:66,Ee:1,Lc:2,Mc:4,fe:8,de:16,cc:32,bc:64,Xd:128},Bc:{ya:66,INIT:0},Ia:{Zd:{ya:98},Qa:{Ac:0,zc:1,Tc:2,Zc:4,Fc:5,Sc:6,Uc:7},Jb:16383},Ec:{ya:162,INIT:0},Dc:{ya:194,INIT:0}},Ed={SI1978:T,VT100:U}; var S={xa:1978.1,Xc:{ya:0,Jd:1,Od:16,be:32,pe:64,ne:128,tb:14},Ua:{ya:1,Ec:1,Tc:2,Pc:4,Qc:16,Rc:32,Sc:64,tb:8},Yc:{ya:2,Id:3,ze:4,Kd:8,je:16,ke:32,le:64,Ld:128,tb:0},te:{ya:3},re:{ya:2,de:7},ve:{ya:3,Be:1,ue:2,me:4,Wd:8,Md:16,Ad:32},se:{ya:4},we:{ya:5,Pd:1,Qd:2,Rd:4,Sd:8,Ce:16}},T={xa:100,bb:{ya:66,Ge:1,Nc:2,Oc:4,he:8,fe:16,dc:32,cc:64,Zd:128},Dc:{ya:66,INIT:0},Ia:{ae:{ya:98},Qa:{Cc:0,Bc:1,Vc:2,$c:4,Hc:5,Uc:6,Wc:7},Jb:16383},Gc:{ya:162,INIT:0},Fc:{ya:194,INIT:0}},Ed={SI1978:S,VT100:T};
S.prototype.pa=function(){return!1};S.prototype.Na=function(a,b,c,d){this.A=b;this.b=c;this.H=d;this.w=a;Cb(b,this,this.G.Ob);Gb(b,this,this.G.Pb)};S.prototype.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};S.prototype.Ja=function(a){return a?this.save():!0};T.INIT=[[T.Vc.tb,T.Ua.tb,T.Wc.tb,0,0,0,0]];U.INIT=[[U.Bc.INIT,U.bb.Lc|U.bb.Mc,U.Ec.INIT,U.Dc.INIT],[0,0,0,0,Array(100)]];m=S.prototype;m.reset=function(){this.G.INIT&&!this.restore(this.G.INIT)&&this.ga("reset error")}; R.prototype.pa=function(){return!1};R.prototype.Oa=function(a,b,c,d){this.A=b;this.b=c;this.H=d;this.w=a;Bb(b,this,this.G.Ob);Fb(b,this,this.G.Pb)};R.prototype.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};R.prototype.Ja=function(a){return a?this.save():!0};S.INIT=[[S.Xc.tb,S.Ua.tb,S.Yc.tb,0,0,0,0]];T.INIT=[[T.Dc.INIT,T.bb.Nc|T.bb.Oc,T.Gc.INIT,T.Fc.INIT],[0,0,0,0,Array(100)]];m=R.prototype;m.reset=function(){this.G.INIT&&!this.restore(this.G.INIT)&&this.ga("reset error")};
m.save=function(){var a=new I(this);switch(this.G.xa){case T.xa:J(a,0,[this.ra,this.D,this.wa,this.O,this.Z,this.ka,this.ma]);break;case U.xa:J(a,0,[this.da,this.J,this.fa,this.ea]),J(a,1,[this.L,this.u,this.K,this.W,this.I])}return a.data()}; m.save=function(){var a=new Mc(this);switch(this.G.xa){case S.xa:H(a,0,[this.ra,this.D,this.wa,this.O,this.Z,this.ka,this.ma]);break;case T.xa:H(a,0,[this.da,this.J,this.fa,this.ea]),H(a,1,[this.L,this.u,this.K,this.W,this.I])}return a.data()};
m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.G.xa){case T.xa:return this.ra=b[0],this.D=b[1],this.wa=b[2],this.O=b[3],this.Z=b[4],this.ka=b[5],this.ma=b[6],!0;case U.xa:return this.da=b[0],this.J=b[2],this.fa=b[3],this.ea=b[4],b=a[1],this.L=b[0],this.u=b[1],this.K=b[2],this.W=b[3],this.I=b[4],!0}return!1};m.start=function(){};m.stop=function(){};function Fd(a,b,c){a.D&=~b;c&&(a.D|=b)}m.hd=function(a,b){var c=this.ra;D(this,a,null,b,"STATUS0",c);return c}; m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.G.xa){case S.xa:return this.ra=b[0],this.D=b[1],this.wa=b[2],this.O=b[3],this.Z=b[4],this.ka=b[5],this.ma=b[6],!0;case T.xa:return this.da=b[0],this.J=b[2],this.fa=b[3],this.ea=b[4],b=a[1],this.L=b[0],this.u=b[1],this.K=b[2],this.W=b[3],this.I=b[4],!0}return!1};m.start=function(){};m.stop=function(){};function Fd(a,b,c){a.D&=~b;c&&(a.D|=b)}m.kd=function(a,b){var c=this.ra;D(this,a,null,b,"STATUS0",c);return c};
m.jd=function(a,b){var c=this.D;D(this,a,null,b,"STATUS1",c);return c};m.kd=function(a,b){var c=this.wa;D(this,a,null,b,"STATUS2",c);return c};m.gd=function(a,b){var c=this.O>>8-this.Z&255;D(this,a,null,b,"SHIFT.RESULT",c);return c};m.od=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null);this.Z=b};m.qd=function(a,b,c){D(this,a,b,c,"SOUND1",null);this.ka=b};m.pd=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null);this.O=b<<8|this.O>>8};m.rd=function(a,b,c){D(this,a,b,c,"SOUND2",null);this.ma=b}; m.ld=function(a,b){var c=this.D;D(this,a,null,b,"STATUS1",c);return c};m.md=function(a,b){var c=this.wa;D(this,a,null,b,"STATUS2",c);return c};m.jd=function(a,b){var c=this.O>>8-this.Z&255;D(this,a,null,b,"SHIFT.RESULT",c);return c};m.qd=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null);this.Z=b};m.sd=function(a,b,c){D(this,a,b,c,"SOUND1",null);this.ka=b};m.rd=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null);this.O=b<<8|this.O>>8};m.td=function(a,b,c){D(this,a,b,c,"SOUND2",null);this.ma=b};
m.sd=function(a,b,c){D(this,a,b,c,"WATCHDOG",null)};function Gd(a){var b=0,c=0,d=~a.L;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} m.ud=function(a,b,c){D(this,a,b,c,"WATCHDOG",null)};function Gd(a){var b=0,c=0,d=~a.L;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}
m.ld=function(a,b){var c=this.J,c=c&~U.bb.bc;if((Bc(this.b)&64)<<1&&(c|=U.bb.bc,c!=this.J)){var d,e;d=this.K&1;e=this.K>>1&7;switch(e){case U.Ia.Qa.Uc:break;case U.Ia.Qa.zc:this.L=this.L<<1|d;break;case U.Ia.Qa.Fc:d=Gd(this);this.I[d]=U.Ia.Jb;gb(this,"doNVRCommand(): erase data at addr "+r(d));break;case U.Ia.Qa.Ac:this.u=this.u<<1|d;break;case U.Ia.Qa.Zc:d=Gd(this);e=this.u&U.Ia.Jb;this.I[d]=e;gb(this,"doNVRCommand(): write data "+r(e)+" to addr "+r(d));break;case U.Ia.Qa.Sc:d=Gd(this);e=this.I[d]; m.nd=function(a,b){var c=this.J,c=c&~T.bb.cc;if((Ac(this.b)&64)<<1&&(c|=T.bb.cc,c!=this.J)){var d,e;d=this.K&1;e=this.K>>1&7;switch(e){case T.Ia.Qa.Wc:break;case T.Ia.Qa.Bc:this.L=this.L<<1|d;break;case T.Ia.Qa.Hc:d=Gd(this);this.I[d]=T.Ia.Jb;fb(this,"doNVRCommand(): erase data at addr "+r(d));break;case T.Ia.Qa.Cc:this.u=this.u<<1|d;break;case T.Ia.Qa.$c:d=Gd(this);e=this.u&T.Ia.Jb;this.I[d]=e;fb(this,"doNVRCommand(): write data "+r(e)+" to addr "+r(d));break;case T.Ia.Qa.Uc:d=Gd(this);e=this.I[d];
null==e&&(e=U.Ia.Jb);this.u=e;gb(this,"doNVRCommand(): read data "+r(e)+" from addr "+r(d));break;case U.Ia.Qa.Tc:this.u<<=1;this.W=this.u&U.Ia.Jb+1;break;default:gb(this,"doNVRCommand(): unrecognized command 0x"+n(e,2))}}c&=~U.bb.cc;this.W&&(c|=U.bb.cc);this.J=c;D(this,a,null,b,"FLAGS.BUFFER",c);return c};m.td=function(a,b,c){D(this,a,b,c,"BRIGHTNESS",null);this.da=b};m.wd=function(a,b,c){D(this,a,b,c,"NVR.LATCH",null);this.K=b};m.vd=function(a,b,c){D(this,a,b,c,"DC012",null);this.fa=b}; null==e&&(e=T.Ia.Jb);this.u=e;fb(this,"doNVRCommand(): read data "+r(e)+" from addr "+r(d));break;case T.Ia.Qa.Vc:this.u<<=1;this.W=this.u&T.Ia.Jb+1;break;default:fb(this,"doNVRCommand(): unrecognized command 0x"+n(e,2))}}c&=~T.bb.dc;this.W&&(c|=T.bb.dc);this.J=c;D(this,a,null,b,"FLAGS.BUFFER",c);return c};m.vd=function(a,b,c){D(this,a,b,c,"BRIGHTNESS",null);this.da=b};m.yd=function(a,b,c){D(this,a,b,c,"NVR.LATCH",null);this.K=b};m.xd=function(a,b,c){D(this,a,b,c,"DC012",null);this.fa=b};
m.ud=function(a,b,c){D(this,a,b,c,"DC011",null);this.ea=b};T.Ob={0:S.prototype.hd,1:S.prototype.jd,2:S.prototype.kd,3:S.prototype.gd};T.Pb={2:S.prototype.od,3:S.prototype.qd,4:S.prototype.pd,5:S.prototype.rd,6:S.prototype.sd};U.Ob={66:S.prototype.ld};U.Pb={66:S.prototype.td,98:S.prototype.wd,162:S.prototype.vd,194:S.prototype.ud};Ja(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new S(d);eb(d,c)}}); m.wd=function(a,b,c){D(this,a,b,c,"DC011",null);this.ea=b};S.Ob={0:R.prototype.kd,1:R.prototype.ld,2:R.prototype.md,3:R.prototype.jd};S.Pb={2:R.prototype.qd,3:R.prototype.sd,4:R.prototype.rd,5:R.prototype.td,6:R.prototype.ud};T.Ob={66:R.prototype.nd};T.Pb={66:R.prototype.vd,98:R.prototype.yd,162:R.prototype.xd,194:R.prototype.wd};Ia(function(){for(var a=B(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new R(d);db(d,c)}});
function Hd(a){w.call(this,"ROM",a,Hd);this.w=null;this.I=a.addr;this.u=a.size;this.J=a.writable;this.G=a.alias;this.D=a.file;this.K=ba(this.D);if(this.D){a=this.D;var b=ca(this.K);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.D+"&format=bytes&decimal=true");var c=this;oa(a,null,!0,function(a,b,f){Id(c,a,b,f)})}}$a(Hd);var Jd=[0,5];Hd.prototype.Na=function(a,b,c,d){this.A=b;this.b=c;this.H=d;Kd(this)}; function Hd(a){w.call(this,"ROM",a,Hd);this.w=null;this.I=a.addr;this.u=a.size;this.J=a.writable;this.G=a.alias;this.D=a.file;this.K=ba(this.D);if(this.D){a=this.D;var b=ca(this.K);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.D+"&format=bytes&decimal=true");var c=this;na(a,null,!0,function(a,b,f){Id(c,a,b,f)})}}Za(Hd);var Jd=[0,5];Hd.prototype.Oa=function(a,b,c,d){this.A=b;this.b=c;this.H=d;Kd(this)};
Hd.prototype.Ca=function(){if(this.Ma){if(this.H){var a=this.H,b=this.id,c=this.I,d=this.u,e=this.Ma,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var p=f,k=[k>>>0,h],q=ka(p,k,a.Sa);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.J.push({Te:b,F:c,md:d,Ma:e,lc:f})}delete this.Ma}return!0};Hd.prototype.Ja=function(){return!0}; Hd.prototype.Ca=function(){if(this.Na){if(this.H){var a=this.H,b=this.id,c=this.I,d=this.u,e=this.Na,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var p=f,k=[k>>>0,h],q=ja(p,k,a.Sa);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.J.push({Ve:b,F:c,od:d,Na:e,nc:f})}delete this.Na}return!0};Hd.prototype.Ja=function(){return!0};
function Id(a,b,c,d){if(d)a.ga("Unable to load system ROM (error "+d+": "+b+")");else{bb(a.Rb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.w=f;else if(h)for(a.w=Array(4*h.length),d=c=0;c<h.length;c++)a.w[d++]=h[c]&255,a.w[d++]=h[c]>>8&255,a.w[d++]=h[c]>>16&255,a.w[d++]=h[c]>>24&255;else a.w=e;a.Ma=e.symbols;if(!a.w.length){t("Empty ROM: "+b);return}if(1==a.w.length){t(a.w[0]);return}}catch(g){a.ga("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function Id(a,b,c,d){if(d)a.ga("Unable to load system ROM (error "+d+": "+b+")");else{ab(a.Rb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.w=f;else if(h)for(a.w=Array(4*h.length),d=c=0;c<h.length;c++)a.w[d++]=h[c]&255,a.w[d++]=h[c]>>8&255,a.w[d++]=h[c]>>16&255,a.w[d++]=h[c]>>24&255;else a.w=e;a.Na=e.symbols;if(!a.w.length){t("Empty ROM: "+b);return}if(1==a.w.length){t(a.w[0]);return}}catch(g){a.ga("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.w=Array(b.length),e=0;e<b.length;e++)a.w[e]=aa(b[e],16);Kd(a)}} " ").replace(/ +$/,"").split(" "),a.w=Array(b.length),e=0;e<b.length;e++)a.w[e]=aa(b[e],16);Kd(a)}}
function Kd(a){if(!kb(a))if(!a.D)E(a);else if(a.w&&a.A){a.u||(a.u=a.w.length);if(a.w.length!=a.u)nb(a,"ROM size (0x"+n(a.w.length)+") does not match specified size ("+("0x"+n(a.u))+")");else if(Ld(a,a.I)){var b=[];"number"==typeof a.G?b.push(a.G):null!=a.G&&a.G.length&&(b=a.G);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.A,h=d.u,g=[],k=d.I>>>f.la;0<h&&k<f.V.length;)g.push(f.V[k++]),h-=f.Ba;f=d.A;d=d.u;h=0;for(e>>>=f.la;0<d&&e<f.V.length;){k=g[h++];if(!k)break;f.V[e++]=k;d-=f.Ba}}delete a.w}E(a)}} function Kd(a){if(!jb(a))if(!a.D)E(a);else if(a.w&&a.A){a.u||(a.u=a.w.length);if(a.w.length!=a.u)kb(a,"ROM size (0x"+n(a.w.length)+") does not match specified size ("+("0x"+n(a.u))+")");else if(Ld(a,a.I)){var b=[];"number"==typeof a.G?b.push(a.G):null!=a.G&&a.G.length&&(b=a.G);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.A,h=d.u,g=[],k=d.I>>>f.la;0<h&&k<f.V.length;)g.push(f.V[k++]),h-=f.Ba;f=d.A;d=d.u;h=0;for(e>>>=f.la;0<d&&e<f.V.length;){k=g[h++];if(!k)break;f.V[e++]=k;d-=f.Ba}}delete a.w}E(a)}}
function Ld(a,b){if(vb(a.A,b,a.u,a.J?1:Wb)){var c;for(c=0;c<a.w.length;c++)Ab(a.A,b+c,a.w[c]);if(a.J&&256==b){for(c=0;c<Jd.length;c++)Ab(a.A,Jd[c],118);Jc(a.b,function(a){return function(b){if(0<=Jd.indexOf(b)){var c=!1,h=a.b,g=a.H;if(5==b)switch(c=!0,h.R){case 2:Md(a,String.fromCharCode(h.T));break;case 9:for(var k=Pc(h),l="",p=255;p--;){var q=a.b.Y(k++);if(36==q)break;l+=String.fromCharCode(q)}Md(a,l);break;default:c=!1}c?Cd.call(h):g&&(a.g("\nCP/M vector "+r(b)),G(h,b),g.ja());b=!0}else b=!1;return b}}(a)); function Ld(a,b){if(ub(a.A,b,a.u,a.J?1:Vb)){var c;for(c=0;c<a.w.length;c++)zb(a.A,b+c,a.w[c]);if(a.J&&256==b){for(c=0;c<Jd.length;c++)zb(a.A,Jd[c],118);Ic(a.b,function(a){return function(b){if(0<=Jd.indexOf(b)){var c=!1,h=a.b,g=a.H;if(5==b)switch(c=!0,h.R){case 2:Md(a,String.fromCharCode(h.T));break;case 9:for(var k=Pc(h),l="",p=255;p--;){var q=a.b.Y(k++);if(36==q)break;l+=String.fromCharCode(q)}Md(a,l);break;default:c=!1}c?Cd.call(h):g&&(a.g("\nCP/M vector "+r(b)),G(h,b),g.ja());b=!0}else b=!1;return b}}(a));
Lc(a.b,b)}return!0}return!1}function Md(a,b){b=b.replace(/\r/g,"");a.Aa&&(a.Aa.value+=b,a.Aa.scrollTop=a.Aa.scrollHeight)}Ja(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Hd(d);eb(d,c)}});function Nd(a){w.call(this,"RAM",a,Nd);this.G=a.addr;this.u=a.size;this.w=!1}$a(Nd);m=Nd.prototype;m.Na=function(a,b,c,d){this.A=b;this.b=c;this.H=d;E(this)};m.Ca=function(a,b){b||this.reset();return!0};m.Ja=function(a){return a?this.save():!0}; Kc(a.b,b)}return!0}return!1}function Md(a,b){b=b.replace(/\r/g,"");a.Aa&&(a.Aa.value+=b,a.Aa.scrollTop=a.Aa.scrollHeight)}Ia(function(){for(var a=B(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Hd(d);db(d,c)}});function Nd(a){w.call(this,"RAM",a,Nd);this.G=a.addr;this.u=a.size;this.w=!1}Za(Nd);m=Nd.prototype;m.Oa=function(a,b,c,d){this.A=b;this.b=c;this.H=d;E(this)};m.Ca=function(a,b){b||this.reset();return!0};m.Ja=function(a){return a?this.save():!0};
m.reset=function(){!this.w&&this.u&&vb(this.A,this.G,this.u,1)&&(this.w=!0);this.w||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ja(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Nd(d);eb(d,c)}});function Od(a){w.call(this,"Keyboard",a,Od,65536);(a=a.model)&&!Pd[a]&&La("Unrecognized Keyboard model: "+a);this.b=Pd[a]||{};this.reset();E(this)}$a(Od); m.reset=function(){!this.w&&this.u&&ub(this.A,this.G,this.u,1)&&(this.w=!0);this.w||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ia(function(){for(var a=B(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Nd(d);db(d,c)}});function Od(a){w.call(this,"Keyboard",a,Od,65536);(a=a.model)&&!Pd[a]&&Ka("Unrecognized Keyboard model: "+a);this.b=Pd[a]||{};this.reset();E(this)}Za(Od);
var V={Cd:1,Dd:3,Ed:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,xd:65,zd:66,Ad:67,Fd:68,E:69,Ld:70,Rd:71,Sd:72,Td:73,Vd:74,Wd:75,Yd:76,ae:77,ce:78,ee:79,ge:80,Q:81,me:82,oe:83,we:84,ye:85,Be:86,Ce:87,De:88,Fe:89,Ge:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,He:97,Ie:98,Je:99,d:100,e:101,Ke:102,Le:103,Me:104,Ne:105,Oe:106,k:107,Pe:108, var U={Ed:1,Fd:3,Gd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,zd:65,Bd:66,Cd:67,Hd:68,E:69,Nd:70,Td:71,Ud:72,Vd:73,Xd:74,Yd:75,$d:76,ce:77,ee:78,ge:79,ie:80,Q:81,oe:82,qe:83,ye:84,Ae:85,De:86,Ee:87,Fe:88,He:89,Ie:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Je:97,Ke:98,Le:99,d:100,e:101,Me:102,Ne:103,Oe:104,Pe:105,Qe:106,k:107,Re:108,
Qe:109,n:110,Re:111,p:112,q:113,r:114,Se:115,t:116,Ue:117,Ve:118,We:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Qd={65:37,68:39,76:32},Rd={xa:1978.1,wb:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},W={xa:100,wb:{},Oa:{ya:130,Jc:1,Ic:2,Hc:4,Gc:8,Kc:16,ec:32,ve:64,Bd:128,INIT:0},B:{}};W.B[46]=3;W.B[80]=5;W.B[79]=6;W.B[89]=7;W.B[84]=8;W.B[87]=9;W.B[81]=10;W.B[39]=16;W.B[V["]"]]=20;W.B[V["["]]=21;W.B[73]=22;W.B[85]=23;W.B[82]=24;W.B[69]=25;W.B[V["1"]]=26;W.B[37]=32;W.B[40]=34; Se:109,n:110,Te:111,p:112,q:113,r:114,Ue:115,t:116,We:117,Xe:118,Ye:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Qd={65:37,68:39,76:32},Rd={xa:1978.1,wb:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},V={xa:100,wb:{},Ka:{ya:130,Lc:1,Kc:2,Jc:4,Ic:8,Mc:16,fc:32,ac:63,xe:64,Dd:128,INIT:0},B:{}};V.B[46]=3;V.B[80]=5;V.B[79]=6;V.B[89]=7;V.B[84]=8;V.B[87]=9;V.B[81]=10;V.B[39]=16;V.B[U["]"]]=20;V.B[U["["]]=21;V.B[73]=22;V.B[85]=23;V.B[82]=24;V.B[69]=25;V.B[U["1"]]=26;V.B[37]=32;V.B[40]=34;
W.B[19]=35;W.B[V["`"]]=36;W.B[V["-"]]=37;W.B[V["9"]]=38;W.B[V["7"]]=39;W.B[V["4"]]=40;W.B[V["3"]]=41;W.B[27]=42;W.B[38]=48;W.B[114]=49;W.B[112]=50;W.B[8]=51;W.B[V["="]]=52;W.B[V["0"]]=53;W.B[V["8"]]=54;W.B[V["6"]]=55;W.B[V["5"]]=56;W.B[V["2"]]=57;W.B[9]=58;W.B[103]=64;W.B[115]=65;W.B[113]=66;W.B[96]=67;W.B[10]=68;W.B[V["\\"]]=69;W.B[76]=70;W.B[75]=71;W.B[71]=72;W.B[70]=73;W.B[65]=74;W.B[104]=80;W.B[2013]=81;W.B[98]=82;W.B[97]=83;W.B[V["'"]]=85;W.B[V[";"]]=86;W.B[74]=87;W.B[72]=88;W.B[68]=89; V.B[19]=35;V.B[U["`"]]=36;V.B[U["-"]]=37;V.B[U["9"]]=38;V.B[U["7"]]=39;V.B[U["4"]]=40;V.B[U["3"]]=41;V.B[27]=42;V.B[38]=48;V.B[114]=49;V.B[112]=50;V.B[8]=51;V.B[U["="]]=52;V.B[U["0"]]=53;V.B[U["8"]]=54;V.B[U["6"]]=55;V.B[U["5"]]=56;V.B[U["2"]]=57;V.B[9]=58;V.B[103]=64;V.B[115]=65;V.B[113]=66;V.B[96]=67;V.B[10]=68;V.B[U["\\"]]=69;V.B[76]=70;V.B[75]=71;V.B[71]=72;V.B[70]=73;V.B[65]=74;V.B[104]=80;V.B[2013]=81;V.B[98]=82;V.B[97]=83;V.B[U["'"]]=85;V.B[U[";"]]=86;V.B[74]=87;V.B[72]=88;V.B[68]=89;
W.B[83]=90;W.B[110]=96;W.B[119]=97;W.B[101]=98;W.B[100]=99;W.B[13]=100;W.B[V["."]]=101;W.B[V[","]]=102;W.B[78]=103;W.B[66]=104;W.B[88]=105;W.B[120]=106;W.B[105]=112;W.B[99]=113;W.B[102]=114;W.B[109]=115;W.B[V["/"]]=117;W.B[77]=118;W.B[V[" "]]=119;W.B[86]=120;W.B[67]=121;W.B[90]=122;W.B[121]=123;W.B[17]=124;W.B[16]=125;W.B[20]=126;W.Hb={l4:W.Oa.Jc,l3:W.Oa.Ic,l2:W.Oa.Hc,l1:W.Oa.Gc,locked:W.Oa.Kc,online:W.Oa.ec,local:~W.Oa.ec};var Pd={SI1978:Rd,VT100:W}; V.B[83]=90;V.B[110]=96;V.B[119]=97;V.B[101]=98;V.B[100]=99;V.B[13]=100;V.B[U["."]]=101;V.B[U[","]]=102;V.B[78]=103;V.B[66]=104;V.B[88]=105;V.B[120]=106;V.B[105]=112;V.B[99]=113;V.B[102]=114;V.B[109]=115;V.B[U["/"]]=117;V.B[77]=118;V.B[U[" "]]=119;V.B[86]=120;V.B[67]=121;V.B[90]=122;V.B[121]=123;V.B[17]=124;V.B[16]=125;V.B[20]=126;V.Hb={l4:V.Ka.Lc,l3:V.Ka.Kc,l2:V.Ka.Jc,l1:V.Ka.Ic,locked:V.Ka.Mc,online:V.Ka.fc,local:~V.Ka.fc};var Pd={SI1978:Rd,VT100:V};
Od.prototype.pa=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.M[e]){if("led"==a&&this.b.Hb&&this.b.Hb[b])return this.M[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Sd(d,a,!0)},c.onkeyup=function(a){return Sd(d,a,!1)},!0;default:if(this.b.wb&&void 0!==this.b.wb[b])return this.M[e]=c,a=function(a,b){return function(){Td(a,b,!0)}}(this,b),b=function(a,b){return function(){Td(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= Od.prototype.pa=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.M[e]){if("led"==a&&this.b.Hb&&this.b.Hb[b])return this.M[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Sd(d,a,!0)},c.onkeyup=function(a){return Sd(d,a,!1)},!0;default:if(this.b.wb&&void 0!==this.b.wb[b])return this.M[e]=c,a=function(a,b){return function(){Td(a,b,!0)}}(this,b),b=function(a,b){return function(){Td(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0}}return!1};Od.prototype.Na=function(a,b,c,d){this.H=d;this.G=rb(a,"ChipSet");Cb(b,this,this.b.Ob);Gb(b,this,this.b.Pb)};Od.prototype.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};Od.prototype.Ja=function(a){return a?this.save():!0};W.INIT=[[W.Oa.INIT]];Od.prototype.reset=function(){this.u={};this.A={};this.b.INIT&&!this.restore(this.b.INIT)&&this.ga("reset error")}; c.onmouseout=b),!0}}return!1};Od.prototype.Oa=function(a,b,c,d){this.H=d;this.G=qb(a,"ChipSet");Bb(b,this,this.b.Ob);Fb(b,this,this.b.Pb)};Od.prototype.Ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};Od.prototype.Ja=function(a){return a?this.save():!0};V.INIT=[[V.Ka.INIT]];Od.prototype.reset=function(){this.u={};this.A={};this.b.INIT&&!this.restore(this.b.INIT)&&this.ga("reset error")};
Od.prototype.save=function(){var a=new I(this);switch(this.b.xa){case W.xa:J(a,0,[this.w])}return a.data()};Od.prototype.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.xa){case Rd.xa:return!0;case W.xa:return this.w=b[0],Ud(this),!0}return!1};function Ud(a){for(var b in a.b.Hb){var c=a.M["led-"+b];if(c){var d=a.b.Hb[b],e=!!(a.w&d);d&d-1&&(e=!(a.w&~d));c.style.backgroundColor=e?"#ff0000":"#000000"}}} Od.prototype.save=function(){var a=new Mc(this);switch(this.b.xa){case V.xa:H(a,0,[this.w])}return a.data()};Od.prototype.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.xa){case Rd.xa:return!0;case V.xa:return this.w=b[0],Ud(this,this.w&V.Ka.ac),!0}return!1};function Ud(a,b){for(var c in a.b.Hb){var d=a.M["led-"+c];if(d){var e=a.b.Hb[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
function Sd(a,b,c){var d=!0,e;a:{e=b.keyCode;e=Qd[e]||e;for(var f in a.b.wb)if(a.b.wb[f]===e){e=f;break a}e=null}e&&(d=Td(a,e,c),b.preventDefault());return d} function Sd(a,b,c){var d=!0,e;a:{e=b.keyCode;e=Qd[e]||e;for(var f in a.b.wb)if(a.b.wb[f]===e){e=f;break a}e=null}e&&(d=Td(a,e,c),b.preventDefault());return d}
function Td(a,b,c){if(c)a.u[b]=Date.now(),delete a.A[b];else{var d=a.u[b];if(d&&100>Date.now()-d)return a.A[b]=d,Vd(a),!0;delete a.u[b]}if(a.G)switch(b){case "1p":Fd(a.G,T.Ua.Nc,c);break;case "2p":Fd(a.G,T.Ua.Rc,c);break;case "coin":Fd(a.G,T.Ua.Cc,c);break;case "left":Fd(a.G,T.Ua.Pc,c);break;case "right":Fd(a.G,T.Ua.Qc,c);break;case "fire":Fd(a.G,T.Ua.Oc,c)}return!0} function Td(a,b,c){if(c)a.u[b]=Date.now(),delete a.A[b];else{var d=a.u[b];if(d&&100>Date.now()-d)return a.A[b]=d,Vd(a),!0;delete a.u[b]}if(a.G)switch(b){case "1p":Fd(a.G,S.Ua.Pc,c);break;case "2p":Fd(a.G,S.Ua.Tc,c);break;case "coin":Fd(a.G,S.Ua.Ec,c);break;case "left":Fd(a.G,S.Ua.Rc,c);break;case "right":Fd(a.G,S.Ua.Sc,c);break;case "fire":Fd(a.G,S.Ua.Qc,c)}return!0}
function Vd(a){for(var b=-1,c=Object.keys(a.A),d=0;d<c.length;d++){var e=c[d],f=100-(Date.now()-a.A[e]);if(0<f){if(0>b||b>f)b=f}else delete a.A[e],Td(a,e,!1)}0<=b&&setTimeout(function(){Vd(a)},b)}Od.prototype.D=function(a,b,c){D(this,a,b,c,"KBDUART.STATUS",null);this.w=b;Ud(this)};W.Ob={};W.Pb={130:Od.prototype.D};Ja(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Od(d);eb(d,c)}}); function Vd(a){for(var b=-1,c=Object.keys(a.A),d=0;d<c.length;d++){var e=c[d],f=100-(Date.now()-a.A[e]);if(0<f){if(0>b||b>f)b=f}else delete a.A[e],Td(a,e,!1)}0<=b&&setTimeout(function(){Vd(a)},b)}Od.prototype.D=function(a,b,c){D(this,a,b,c,"KBDUART.STATUS",null);this.w=b;Ud(this,b&V.Ka.ac)};V.Ob={};V.Pb={130:Od.prototype.D};Ia(function(){for(var a=B(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Od(d);db(d,c)}});
function Wd(a,b,c,d,e){var f=this;this.fc=xa("Gecko/");var h=["","moz","ms","webkit"];w.call(this,"Video",a,Wd,262144);this.ba=a.screenWidth;this.W=a.screenHeight;this.Ea=a.bufferAddr;this.ad=a.bufferRAM;var g=a.bufferFormat;this.Z=g&&Xd[g.toLowerCase()]||Yd;this.Sa=a.bufferCols;this.fa=a.bufferRows;this.Xc=this.oa=a.cellWidth||1;this.ha=a.cellHeight||1;this.cb=null;this.Ra=a.bufferBits||1;this.bd=a.bufferLeft||0;if(this.D=a.bufferRotate)this.D=this.D%360,0<this.D&&(this.D-=360),-90!=this.D&&(this.ga("unsupported buffer rotation: "+ function Wd(a,b,c,d,e){var f=this;this.hc=wa("Gecko/");var h=["","moz","ms","webkit"];w.call(this,"Video",a,Wd,262144);this.ba=a.screenWidth;this.Z=a.screenHeight;this.Ea=a.bufferAddr;this.cd=a.bufferRAM;var g=a.bufferFormat;this.L=g&&Xd[g.toLowerCase()]||Yd;this.Sa=a.bufferCols;this.fa=a.bufferRows;this.Zc=this.oa=a.cellWidth||1;this.ha=a.cellHeight||1;this.cb=null;this.gc=!1;this.Ra=a.bufferBits||1;this.dd=a.bufferLeft||0;if(this.D=a.bufferRotate)this.D=this.D%360,0<this.D&&(this.D-=360),-90!=this.D&&
this.D),this.D=0);this.jc=a.interruptRate;this.cd=a.refreshRate||60;this.O=b;this.I=c;this.Ga=(this.yc=d)||b||null;this.Yc=this.ba;this.$c=this.W;this.Ib=this.ba/this.Sa|0;this.dc=this.W/this.fa|0;1<this.ha&&this.fa++;b=a.smoothing;(c=Sa.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.I[d]){this.I[d]=b;break}if(this.J=a.screenRotate)this.J=this.J%360,0<this.J&&(this.J-=360),-90!=this.J?(this.ga("unsupported screen rotation: "+ (this.ga("unsupported buffer rotation: "+this.D),this.D=0);this.lc=a.interruptRate;this.Ac=a.refreshRate||60;this.W=b;this.I=c;this.Ga=(this.fd=d)||b||null;this.ad=this.ba;this.bd=this.Z;this.Ib=this.ba/this.Sa|0;this.ec=this.Z/this.fa|0;1<this.ha&&this.fa++;b=a.smoothing;(c=Ra.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.I[d]){this.I[d]=b;break}if(this.J=a.screenRotate)this.J=this.J%360,0<this.J&&(this.J-=
this.J),this.J=0):(this.I.translate(0,this.W),this.I.rotate(this.J*Math.PI/180),this.I.scale(this.W/this.ba,this.ba/this.W));if(this.u=e)if(this.u.fb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.u.fb){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Zd(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)}, 360),-90!=this.J?(this.ga("unsupported screen rotation: "+this.J),this.J=0):(this.I.translate(0,this.Z),this.I.rotate(this.J*Math.PI/180),this.I.scale(this.Z/this.ba,this.ba/this.Z));if(this.u=e)if(this.u.fb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.u.fb){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Zd(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||
!1);break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Zd(f,null)},!1);break}}if(this.ka=a.fontROM)"json"!=ca(this.ka)&&(this.ka=pa()+"/api/v1/dump?file="+this.ka+"&format=bytes"),oa(this.ka,null,!0,function(a,b,c){$d(f,a,b,c)});this.vb={}}$a(Wd);var Yd=0,Xd={vt100:2}; document.webkitFullscreenElement?!0:!1)},!1);break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Zd(f,null)},!1);break}}if(this.ka=a.fontROM)"json"!=ca(this.ka)&&(this.ka=oa()+"/api/v1/dump?file="+this.ka+"&format=bytes"),na(this.ka,null,!0,function(a,b,c){$d(f,a,b,c)});this.vb={}}Za(Wd);var Yd=0,Xd={vt100:2};
Wd.prototype.Na=function(a,b,c,d){this.w=a;this.A=b;this.b=c;this.H=d;this.G=rb(a,"ChipSet");!this.Z&&this.G&&this.G.Wb==T.xa&&(this.Z=1);this.K=this.Sa*this.oa;this.da=this.fa*this.ha;b=this.K;c=this.da;this.D&&(b=this.da,c=this.K);this.Ta=(this.K*this.Ra>>3)*this.da;if(this.ad||vb(this.A,this.Ea,this.Ta,3))1<this.oa?ae(this,this.Sa*this.fa):(this.gc=this.I.createImageData(b,c),this.ic=16/this.Ra|0,ae(this,this.Ta>>1)),this.L=document.createElement("canvas"),this.L.width=b,this.L.height=c,this.eb= Wd.prototype.Oa=function(a,b,c,d){this.w=a;this.A=b;this.b=c;this.H=d;this.G=qb(a,"ChipSet");!this.L&&this.G&&this.G.Wb==S.xa&&(this.L=1);this.K=this.Sa*this.oa;this.da=this.fa*this.ha;b=this.K;c=this.da;this.D&&(b=this.da,c=this.K);this.Ta=(this.K*this.Ra>>3)*this.da;if(this.cd||ub(this.A,this.Ea,this.Ta,3))1<this.oa?ae(this,this.Sa*this.fa):(this.ic=this.I.createImageData(b,c),this.kc=16/this.Ra|0,ae(this,this.Ta>>1)),this.O=document.createElement("canvas"),this.O.width=b,this.O.height=c,this.eb=
this.L.getContext("2d"),this.ra={},this.Ha=1<<this.Ra,this.wa=Array(this.Ha+2),this.wa[0]=[0,0,0,255],this.wa[1]=[255,255,255,255],1==this.Z&&(this.wa[this.Ha+0]=[255,255,0,255],this.wa[this.Ha+1]=[0,255,0,255]),2==this.Z&&(this.kc=60,this.ub=!1,this.za=Array(this.Sa));if(this.ea=rb(a,"Keyboard")){for(var e in this.vb)this.ea.pa("led",e,this.vb[e]);this.O&&this.ea.pa(this.yc?"textarea":"canvas","kbd",this.Ga)}this.ka||E(this)}; this.O.getContext("2d"),this.ra={},this.Ha=1<<this.Ra,this.wa=Array(this.Ha+2),this.wa[0]=[0,0,0,255],this.wa[1]=[255,255,255,255],1==this.L&&(this.wa[this.Ha+0]=[255,255,0,255],this.wa[this.Ha+1]=[0,255,0,255]),2==this.L&&(this.mc=60,this.ub=!1,this.za=Array(this.Sa));if(this.ea=qb(a,"Keyboard")){for(var e in this.vb)this.ea.pa("led",e,this.vb[e]);this.W&&this.ea.pa(this.fd?"textarea":"canvas","kbd",this.Ga)}this.ka||E(this)};
function $d(a,b,c,d){if(d)a.ga("Unable to load font ROM (error "+d+": "+b+")");else{bb(a.Rb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)be(a,f);else{a.ga("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ga("Font ROM data error: "+h.message);return}(a.I||a.H)&&E(a)}} function $d(a,b,c,d){if(d)a.ga("Unable to load font ROM (error "+d+": "+b+")");else{ab(a.Rb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)be(a,f);else{a.ga("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ga("Font ROM data error: "+h.message);return}(a.I||a.H)&&E(a)}}
function be(a,b){a.cb=b;a.ra[96]=[ce(a,a.oa,a.ha),ce(a,a.oa,a.ha,a.ub)];a.ra[64]=[ce(a,2*a.oa,a.ha),ce(a,2*a.oa,a.ha,a.ub)];a.ra[32]=a.ra[0]=[ce(a,2*a.oa,2*a.ha),ce(a,2*a.oa,2*a.ha,a.ub)]} function be(a,b){a.cb=b;a.gc=2==a.L;a.ra[96]=[ce(a,a.oa,a.ha),ce(a,a.oa,a.ha,a.ub)];a.ra[64]=[ce(a,2*a.oa,a.ha),ce(a,2*a.oa,a.ha,a.ub)];a.ra[32]=a.ra[0]=[ce(a,2*a.oa,2*a.ha),ce(a,2*a.oa,2*a.ha,a.ub)]}
function ce(a,b,c,d){var e=8>=a.Xc?8:16,f=8<e?15:0,h=a.cb.length/e,g=!1===d,k={oa:b,ha:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var l=k.context.createImageData(b,c),p=0;p<h;p++){for(var q=0,y=q;q<a.ha;q++)for(var x=p*e+(f+q&e-1),x=d&&8==q?255:a.cb[x],u=0;u<c/a.ha;u++){for(var B=0,v=B;B<a.oa;B++)for(var H=x&128>>(7<B?7:B),C=0;C<b/a.oa;C++)g&&(H=!H),de(a,l,v,y,H?1:0),v++;y++}k.context.putImageData(l,(p&15)*b,(p>> function ce(a,b,c,d){var e=8>=a.Zc?8:16,f=8<e?15:0,h=a.cb.length/e,g=!1===d,k={oa:b,ha:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var l=k.context.createImageData(b,c),p=0;p<h;p++){for(var q=0,y=q;q<a.ha;q++)for(var x=p*e+(f+q&e-1),x=d&&8==q?255:a.cb[x],v=0;v<c/a.ha;v++){for(var z=0,u=0,I=u;u<a.oa;u++){for(var C=x&128>>(7<u?7:u),z=a.gc&&!C&&z?z:C,W=0;W<b/a.oa;W++)g&&(z=!z),de(a,l,I,y,z?1:0),I++;z=C}y++}k.context.putImageData(l,
4)*c)}return k} (p&15)*b,(p>>4)*c)}return k}
Wd.prototype.Ca=function(){if(2==this.Z){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.Ea,c=-1,d=-1,e,f=-(60==this.kc?2:5);f<this.fa;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;Ab(this.A,b++,e);Ab(this.A,b++,c& Wd.prototype.Ca=function(){if(2==this.L){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.Ea,c=-1,d=-1,e,f=-(60==this.mc?2:5);f<this.fa;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;zb(this.A,b++,e);zb(this.A,b++,c&
255);if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)Ab(this.A,b++,g.charCodeAt(k)|c);c^=128}Ab(this.A,b++,127);c=b}ee(this)}return!0};Wd.prototype.pa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.vb[b]=c,!0;switch(b){case "fullScreen":return this.M[b]=c,this.u&&this.u.fb?c.onclick=function(){d.fb()}:c.parentNode.removeChild(c),!0}return!1}; 255);if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)zb(this.A,b++,g.charCodeAt(k)|c);c^=128}zb(this.A,b++,127);c=b}ee(this)}return!0};Wd.prototype.pa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.vb[b]=c,!0;switch(b){case "fullScreen":return this.M[b]=c,this.u&&this.u.fb?c.onclick=function(){d.fb()}:c.parentNode.removeChild(c),!0}return!1};
Wd.prototype.fb=function(){var a=!1;if(this.u){if(this.u.fb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ba/this.W;b>c&&(a=Math.round(c/b*100)+"%")}this.fc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.u.style.width=a,this.u.style.height="auto");this.u.style.backgroundColor="black";this.u.fb();a=!0}this.Ga&&this.Ga.focus()}return a}; Wd.prototype.fb=function(){var a=!1;if(this.u){if(this.u.fb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ba/this.Z;b>c&&(a=Math.round(c/b*100)+"%")}this.hc?(this.W.style.width=a,this.W.style.width=a,this.W.style.display="block",this.W.style.margin="auto"):(this.u.style.width=a,this.u.style.height="auto");this.u.style.backgroundColor="black";this.u.fb();a=!0}this.Ga&&this.Ga.focus()}return a};
function Zd(a,b){!b&&a.u&&(a.fc?a.O.style.width=a.O.style.height="":a.u.style.width=a.u.style.height="");gb(a,"notifyFullScreen("+b+")",!0)}function ae(a,b){a.hc=b;a.Fa=!1;if(void 0===a.ma||a.ma.length!=a.hc)a.ma=Array(a.hc)}function de(a,b,c,d,e){d=a.D?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.Z&&(208<=c&&236>c?e=a.Ha+0:28<=c&&72>c&&(e=a.Ha+1));a=a.wa[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 Zd(a,b){!b&&a.u&&(a.hc?a.W.style.width=a.W.style.height="":a.u.style.width=a.u.style.height="");fb(a,"notifyFullScreen("+b+")",!0)}function ae(a,b){a.jc=b;a.Fa=!1;if(void 0===a.ma||a.ma.length!=a.jc)a.ma=Array(a.jc)}function de(a,b,c,d,e){d=a.D?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.L&&(208<=c&&236>c?e=a.Ha+0:28<=c&&72>c&&(e=a.Ha+1));a=a.wa[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 ee(a){for(var b=a.Ea,c=-1,d=0,e=60==a.kc?2:5,f=0,h=0;d<a.fa;){for(var g=0,k=b,l=c;;){var p=yb(a.A,k++);if(127==(p&127)){var q=yb(a.A,k++),c=q&96,b=(q&15)<<8|yb(a.A,k),b=b+(q&16?8192:16384);break}if(g<a.za.length)a.za[g++]=p;else break}if(e)e--;else{for(;g<a.za.length;)a.za[g++]=0;if(0<=l)for(k=0;k<g;k++){p=a.za[k];if(!a.Fa||p!==a.ma[f]){var q=a,y=a.eb,x=p&127;if(p=q.ra[l][p&128?1:0]){var u=(x&15)*p.oa,x=(x>>4)*p.ha,B=void 0,v=void 0,H=void 0,C=void 0,ia=p.oa,qa=p.ha;y?(B=k*q.oa,v=d*q.ha, function ee(a){for(var b=a.Ea,c=-1,d=0,e=60==a.mc?2:5,f=0,h=0;d<a.fa;){for(var g=0,k=b,l=c;;){var p=xb(a.A,k++);if(127==(p&127)){var q=xb(a.A,k++),c=q&96,b=(q&15)<<8|xb(a.A,k),b=b+(q&16?8192:16384);break}if(g<a.za.length)a.za[g++]=p;else break}if(e)e--;else{for(;g<a.za.length;)a.za[g++]=0;if(0<=l)for(k=0;k<g;k++){p=a.za[k];if(!a.Fa||p!==a.ma[f]){var q=a,y=a.eb,x=p&127;if(p=q.ra[l][p&128?1:0]){var v=(x&15)*p.oa,x=(x>>4)*p.ha,z=void 0,u=void 0,I=void 0,C=void 0,W=p.oa,qa=p.ha;y?(z=k*q.oa,u=d*q.ha,I=
H=q.oa,C=q.ha):(B=k*q.Ib,v=d*q.dc,H=q.Ib,C=q.dc);p.oa>q.oa&&(B*=2,H*=2);p.ha>q.ha&&(0==l&&(x+=q.ha),qa=q.ha);y?y.drawImage(p.canvas,u,x,ia,qa,B,v,H,C):(B+=0,v+=0,q.I.drawImage(p.canvas,u,x,ia,qa,B,v,H,C))}h++}f++}d++}}a.Fa=!0;h&&a.eb&&a.I.drawImage(a.L,0,0,a.K,a.da-a.ha,0,0,a.Yc,a.$c)} q.oa,C=q.ha):(z=k*q.Ib,u=d*q.ec,I=q.Ib,C=q.ec);p.oa>q.oa&&(z*=2,I*=2);p.ha>q.ha&&(0==l&&(x+=q.ha),qa=q.ha);y?y.drawImage(p.canvas,v,x,W,qa,z,u,I,C):(z+=0,u+=0,q.I.drawImage(p.canvas,v,x,W,qa,z,u,I,C))}h++}f++}d++}}a.Fa=!0;h&&a.eb&&a.I.drawImage(a.O,0,0,a.K,a.da-a.ha,0,0,a.ad,a.bd)}
Ja(function(){for(var a=A(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &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<=ra().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= Ia(function(){for(var a=B(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=document.createElement("canvas");if(void 0===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<=pa().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||Sa.aspect);f&&.3<=f&&3.33>=f&&(Ia("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");xa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Wd(d,e,h,f,c);eb(d,c)}}); (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ha("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Wd(d,e,h,f,c);db(d,c)}});
function fe(a){w.call(this,"Debugger",a,fe);this.style=ge;this.da=this.Fa=this.L=0;this.W=X();this.Ta=X();this.D=-1;this.G=[];this.fa=!1;this.ea=X();this.J=[];this.ka={};this.u=this.Z=this.I=[];he(this);this.wa=0;ie(this);this.Ga=[];je(this,a.messages);this.Ha=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return lc(b,a)}):void 0===global.$&&(global.$=function(a){return lc(b,a)})}$a(fe); function fe(a){w.call(this,"Debugger",a,fe);this.style=ge;this.da=this.Fa=this.L=0;this.W=X();this.Ta=X();this.D=-1;this.G=[];this.fa=!1;this.ea=X();this.J=[];this.ka={};this.u=this.Z=this.I=[];he(this);this.wa=0;ie(this);this.Ga=[];je(this,a.messages);this.Ha=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return kc(b,a)}):void 0===global.$&&(global.$=function(a){return kc(b,a)})}Za(fe);
var ke={"?":"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"}, var ke={"?":"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"},
ge=8080,le="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(" "),me="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(" "), ge=8080,le="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(" "),me="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(" "),
ne="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),oe=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963, ne="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),oe=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,
@ -138,100 +138,100 @@ ne="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),oe=[[45],[42,2067,32],[71,
18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193, 18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,
785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77, 785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,
18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,18193,33],[65,128]],pe={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};m=fe.prototype; 18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,18193,33],[65,128]],pe={cpu:1,bus:64,mem:128,port:256,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};m=fe.prototype;
m.Na=function(a,b,c,d){this.A=b;this.b=c;this.w=a;(a=ic(a,"messages"))&&je(this,a);this.Ra=oe;qe(this,function(a){a:{var b=d.A.V,c=a[0],g=a=0,k=b.length;if(c){a=re(se(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.A.la;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=xb[c],p&&d.g(n(p.id)+" %"+n(g<<d.A.la)+" %%"+n(p.F)+" "+r(p.Fb)+" "+ m.Oa=function(a,b,c,d){this.A=b;this.b=c;this.w=a;(a=hc(a,"messages"))&&je(this,a);this.Ra=oe;qe(this,function(a){a:{var b=d.A.V,c=a[0],g=a=0,k=b.length;if(c){a=re(se(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.A.la;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=wb[c],p&&d.g(n(p.id)+" %"+n(g<<d.A.la)+" %%"+n(p.F)+" "+r(p.Fb)+" "+
r(p.size)+" "+l),c!=Vb&&(c=-1),l=0);a+=d.A.Ba;g++}}});E(this)}; r(p.size)+" "+l),c!=Ub&&(c=-1),l=0);a+=d.A.Ba;g++}}});E(this)};
m.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ra=this.M[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",lc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.D<d.G.length-1&&(b=d.G[++d.D]):40==a.keyCode&&(0<d.D?b=d.G[--d.D]:(b="",d.D=-1)),null!=b){var h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,za(c,function(){if(d.ra){var a=d.ra.value;d.ra.value= m.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ra=this.M[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",kc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.D<d.G.length-1&&(b=d.G[++d.D]):40==a.keyCode&&(0<d.D?b=d.G[--d.D]:(b="",d.D=-1)),null!=b){var h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,ya(c,function(){if(d.ra){var a=d.ra.value;d.ra.value=
"";lc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,za(c,function(a){var b=!1;jb(d,!0)||(ib(d,!0),b=d.rb(a?1:0),ib(d,!1));return b}),!0}return!1};m.Eb=function(){this.ra&&this.ra.focus()};function re(a){a=a&&a.F;null==a&&(a=-1);return a}m.Y=function(a,b){var c=255,d=re(a);-1!==d&&(c=yb(this.A,d),b&&te(a,b));return c};m.Pa=function(a,b){var c=65535,d=re(a);-1!==d&&(c=zb(this.A,d),b&&te(a,b));return c};m.qa=function(a,b,c){var d=re(a);-1!==d&&(Ab(this.A,d,b),c&&te(a,c),mc(this.b,!0))}; "";kc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,ya(c,function(a){var b=!1;ib(d,!0)||(hb(d,!0),b=d.rb(a?1:0),hb(d,!1));return b}),!0}return!1};m.Eb=function(){this.ra&&this.ra.focus()};function re(a){a=a&&a.F;null==a&&(a=-1);return a}m.Y=function(a,b){var c=255,d=re(a);-1!==d&&(c=xb(this.A,d),b&&te(a,b));return c};m.Pa=function(a,b){var c=65535,d=re(a);-1!==d&&(c=yb(this.A,d),b&&te(a,b));return c};m.qa=function(a,b,c){var d=re(a);-1!==d&&(zb(this.A,d,b),c&&te(a,c),lc(this.b,!0))};
m.Qb=function(a,b,c){var d=re(a);if(-1!==d){var e=this.A,f=d&e.A,h=(d&e.G)>>>e.la;f!=e.A?e.V[h].$b(f,b&65535,d):(e.V[h++].Gb(f,b&255,d),e.V[h&e.K].Gb(0,b>>8&255,d+1));c&&te(a,c);mc(this.b,!0)}};function X(a){return{F:a,La:!1}}function ue(a){return[a.F,a.La]}function ve(a){return{F:a[0],La:a[1]}} m.Qb=function(a,b,c){var d=re(a);if(-1!==d){var e=this.A,f=d&e.A,h=(d&e.G)>>>e.la;f!=e.A?e.V[h].$b(f,b&65535,d):(e.V[h++].Gb(f,b&255,d),e.V[h&e.K].Gb(0,b>>8&255,d+1));c&&te(a,c);lc(this.b,!0)}};function X(a){return{F:a,Ma:!1}}function ue(a){return[a.F,a.Ma]}function ve(a){return{F:a[0],Ma:a[1]}}
function se(a,b,c){var d;c=(c?a.W:a.Ta).F;if(void 0!==b){d=b=we(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.J.length;c++){var f=a.J[c].Ma[d];if(void 0!==f){d=f.o;void 0!==d&&(e=X(d));break}}if(d=e)return d;c=xe(a,b,void 0)}null!=c&&(d=X(c));return d}function ye(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.dd=ze(a,b.wc=c[2]))}function te(a,b){null!=a.F&&(a.F+=b||1)}function Z(a){return n(a,4)} function se(a,b,c){var d;c=(c?a.W:a.Ta).F;if(void 0!==b){d=b=we(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.J.length;c++){var f=a.J[c].Na[d];if(void 0!==f){d=f.o;void 0!==d&&(e=X(d));break}}if(d=e)return d;c=xe(a,b,void 0)}null!=c&&(d=X(c));return d}function ye(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ed=ze(a,b.yc=c[2]))}function te(a,b){null!=a.F&&(a.F+=b||1)}function Y(a){return n(a,4)}
function Ae(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Y(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function je(a,b){a.H=a;a.na=a.ed=536870912;a.za=null;a.Ea=[];var c=ze(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in pe)0<=na(c,d)&&(a.na|=pe[d],a.g(d+" messages enabled"))}function qe(a,b){for(var c in pe)if(64==pe[c]){a.Ga[c]=b;break}} function Ae(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Y(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function je(a,b){a.H=a;a.na=a.gd=536870912;a.za=null;a.Ea=[];var c=ze(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in pe)0<=ma(c,d)&&(a.na|=pe[d],a.g(d+" messages enabled"))}function qe(a,b){for(var c in pe)if(64==pe[c]){a.Ga[c]=b;break}}
function Be(a,b){var c;a=a.toUpperCase();null==b?c=na(ne,a):(c=na(ne,a.substr(b,2)),0>c&&(c=na(ne,a.substr(b,1))));return c}function Ce(a,b){var c=0,d=De(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"} function Be(a,b){var c;a=a.toUpperCase();null==b?c=ma(ne,a):(c=ma(ne,a.substr(b,2)),0>c&&(c=ma(ne,a.substr(b,1))));return c}function Ce(a,b){var c=0,d=De(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"}
function De(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.P;break;case 1:c=d.R;break;case 8:c=Nc(d);break;case 2:c=d.S;break;case 3:c=d.T;break;case 9:c=Pc(d);break;case 4:c=d.U;break;case 5:c=d.X;break;case 10:c=K(d);break;case 6:c=d.Y(K(d));break;case 11:c=d.ia;break;case 12:c=d.N;break;case 13:c=Mc(d);break;case 14:c=Mc(d)&255|d.j<<8}}return c} function De(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.P;break;case 1:c=d.R;break;case 8:c=Nc(d);break;case 2:c=d.S;break;case 3:c=d.T;break;case 9:c=Pc(d);break;case 4:c=d.U;break;case 5:c=d.X;break;case 10:c=J(d);break;case 6:c=d.Y(J(d));break;case 11:c=d.ia;break;case 12:c=d.N;break;case 13:c=Lc(d);break;case 14:c=Lc(d)&255|d.j<<8}}return c}
function Ee(a,b){b=we(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Be(b,c+1),0<=e&&(b=b.substr(0,c)+Ce(a,e)+b.substr(c+1+ne[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=se(a,e))?(d=e+' "'+Ae(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=se(a,e))?(te(d),d=e+' "'+ function Ee(a,b){b=we(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Be(b,c+1),0<=e&&(b=b.substr(0,c)+Ce(a,e)+b.substr(c+1+ne[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=se(a,e))?(d=e+' "'+Ae(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=se(a,e))?(te(d),d=e+' "'+
Ae(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(X(this.b.N).F));if(this.na&1073741824)this.Ea.push(a);else if(!this.za||a!=this.za)if(this.za=a,this.na&-2147483648&&(this.ja(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.ob=0;c.D-=c.b;c.b=0;mc(c)}}; Ae(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Y(X(this.b.N).F));if(this.na&1073741824)this.Ea.push(a);else if(!this.za||a!=this.za)if(this.za=a,this.na&-2147483648&&(this.ja(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.ob=0;c.D-=c.b;c.b=0;lc(c)}};
function fb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.na&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+n(d,2):"")+")"+(null!=h?": 0x"+n(h,2):"")+(null!=e?" at "+Z(e):""))} function eb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.na&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+n(d,2):"")+")"+(null!=h?": 0x"+n(h,2):"")+(null!=e?" at "+Y(e):""))}
function ie(a){var b;if(yd(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=X();a.ma=0;a.g("instruction history buffer allocated")}if(!a.K||!a.K.length)for(a.K=Array(256),b=0;b<a.K.length;b++)a.K[b]=[b,0]}else a.O&&a.O.length&&a.g("instruction history buffer freed"),a.ma=0,a.O=[],a.K=[]}m.$a=function(a){if(!Fe(this))return!1;this.b.$a(a);return!0}; function ie(a){var b;if(yd(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=X();a.ma=0;a.g("instruction history buffer allocated")}if(!a.K||!a.K.length)for(a.K=Array(256),b=0;b<a.K.length;b++)a.K[b]=[b,0]}else a.O&&a.O.length&&a.g("instruction history buffer freed"),a.ma=0,a.O=[],a.K=[]}m.$a=function(a){if(!Fe(this))return!1;this.b.$a(a);return!0};
m.rb=function(a,b,c){if(!Fe(this))return!1;this.L=0;a||yd(this)&&zd(this,this.b.N,0);try{var d=this.b.rb(a);0<d&&(this.L+=d,Dc(this.b,d,!0),Ac(this.b,d),this.da++)}catch(e){"number"!=typeof e&&(this.L=0,nb(this.b,e.stack||e.message))}!1!==c&&mc(this.b);this.Da(b||!1);return 0<this.L};m.ja=function(a){this.b&&this.b.ja(a)};m.Da=function(a){void 0===a&&(a=!0);this.W=X(this.b.N);a&&1!=this.ba?Ge(this):He(this)}; m.rb=function(a,b,c){if(!Fe(this))return!1;this.L=0;a||yd(this)&&zd(this,this.b.N,0);try{var d=this.b.rb(a);0<d&&(this.L+=d,Cc(this.b,d,!0),nc(this.b,d),this.da++)}catch(e){"number"!=typeof e&&(this.L=0,kb(this.b,e.stack||e.message))}!1!==c&&lc(this.b);this.Da(b||!1);return 0<this.L};m.ja=function(a){this.b&&this.b.ja(a)};m.Da=function(a){void 0===a&&(a=!0);this.W=X(this.b.N);a&&1!=this.ba?Ge(this):He(this)};
function Fe(a){var b;if(b=a.b&&kb(a.b))b=a.b,b.C.sa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!jb(a.b)?(a=a.b,a.C.ib?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Ca=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Ja=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){ie(this);this.da=this.Fa=0;this.za=null;this.L=0;this.W=X(this.b.N);this.C.va=!1;Ie(this);a||this.Da()}; function Fe(a){var b;if(b=a.b&&jb(a.b))b=a.b,b.C.sa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!ib(a.b)?(a=a.b,a.C.ib?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Ca=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Ja=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){ie(this);this.da=this.Fa=0;this.za=null;this.L=0;this.W=X(this.b.N);this.C.va=!1;Ie(this);a||this.Da()};
m.save=function(){var a=new I(this);J(a,0,ue(this.W));J(a,1,ue(this.ea));J(a,2,[this.G,this.fa,this.na]);J(a,3,this.J);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.W=ve(a[b++]),this.ea=ve(a[b++]),this.G=a[b][0],"string"==typeof this.G&&(this.G=[this.G]),this.fa=a[b][1],this.na|=a[b][2]);a[3]&&(this.J=a[3]);return!0};m.start=function(a,b){this.ba||this.g("running");this.C.va=!0;this.ub=a;this.vb=b}; m.save=function(){var a=new Mc(this);H(a,0,ue(this.W));H(a,1,ue(this.ea));H(a,2,[this.G,this.fa,this.na]);H(a,3,this.J);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.W=ve(a[b++]),this.ea=ve(a[b++]),this.G=a[b][0],"string"==typeof this.G&&(this.G=[this.G]),this.fa=a[b][1],this.na|=a[b][2]);a[3]&&(this.J=a[3]);return!0};m.start=function(a,b){this.ba||this.g("running");this.C.va=!0;this.ub=a;this.vb=b};
m.stop=function(a,b){if(this.C.va){this.C.va=!1;this.L=b-this.vb;if(!this.ba){var c="stopped";if(this.L){var d=a-this.ub,e=0<d?Math.round(1E3*this.L/d):0,c=c+" (";yd(this)&&(c+=this.da+" opcodes, ",this.Fa-=this.da,this.da=0);c+=this.L+" cycles, "+d+" ms, "+e+" hz)"}else hb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Da(!0);this.Eb();Ie(this,this.b.N)}};function yd(a){return 1<a.u.length||!!a.wa} m.stop=function(a,b){if(this.C.va){this.C.va=!1;this.L=b-this.vb;if(!this.ba){var c="stopped";if(this.L){var d=a-this.ub,e=0<d?Math.round(1E3*this.L/d):0,c=c+" (";yd(this)&&(c+=this.da+" opcodes, ",this.Fa-=this.da,this.da=0);c+=this.L+" cycles, "+d+" ms, "+e+" hz)"}else gb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Da(!0);this.Eb();Ie(this,this.b.N)}};function yd(a){return 1<a.u.length||!!a.wa}
function zd(a,b,c){var d=a.b;if(0<c&&(a.wa&&!--a.wa||dc(a,b,1,a.u)))return!0;0<=c&&a.K.length&&(a.da++,b=yb(a.A,b),null!=b&&(a.K[b][1]++,b=a.O[a.ma],b.F=d.N,b.La=!1,++a.ma==a.O.length&&(a.ma=0)));return!1}function Eb(a,b,c){a.g("break on input from port "+r(b)+": "+n(c));a.ja(!0)}function Ib(a,b,c){a.g("break on output to port "+r(b)+": "+n(c));a.ja(!0)} function zd(a,b,c){var d=a.b;if(0<c&&(a.wa&&!--a.wa||cc(a,b,1,a.u)))return!0;0<=c&&a.K.length&&(a.da++,b=xb(a.A,b),null!=b&&(a.K[b][1]++,b=a.O[a.ma],b.F=d.N,b.Ma=!1,++a.ma==a.O.length&&(a.ma=0)));return!1}function Db(a,b,c){a.g("break on input from port "+r(b)+": "+n(c));a.ja(!0)}function Hb(a,b,c){a.g("break on output to port "+r(b)+": "+n(c));a.ja(!0)}
function he(a){var b,c;a.u=["bp"];if(void 0!==a.Z)for(b=1;b<a.Z.length;b++){c=a.Z[b];var d=a.A;ec(d.V[re(c)>>>d.la],!1)}a.Z=["br"];if(void 0!==a.I)for(b=1;b<a.I.length;b++)c=a.I[b],d=a.A,ec(d.V[re(c)>>>d.la],!0);a.I=["bw"];a.cb=0}m.Va=function(a,b,c){var d=!0;c||Je(this,a,b,!1,!0);if(a!=this.u){var e=re(b);if(-1===e)this.g("invalid address: "+Z(b.F)),d=!1;else{var f=this.A;f.V[e>>>f.la].Va(e&f.A,a==this.I)}}d&&(a.push(b),c?b.La=!0:(Ke(this,a,a.length-1,"set"),ie(this)));return d}; function he(a){var b,c;a.u=["bp"];if(void 0!==a.Z)for(b=1;b<a.Z.length;b++){c=a.Z[b];var d=a.A;dc(d.V[re(c)>>>d.la],!1)}a.Z=["br"];if(void 0!==a.I)for(b=1;b<a.I.length;b++)c=a.I[b],d=a.A,dc(d.V[re(c)>>>d.la],!0);a.I=["bw"];a.cb=0}m.Va=function(a,b,c){var d=!0;c||Je(this,a,b,!1,!0);if(a!=this.u){var e=re(b);if(-1===e)this.g("invalid address: "+Y(b.F)),d=!1;else{var f=this.A;f.V[e>>>f.la].Va(e&f.A,a==this.I)}}d&&(a.push(b),c?b.Ma=!0:(Ke(this,a,a.length-1,"set"),ie(this)));return d};
function Je(a,b,c,d,e){var f=!1;c=re(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==re(g)&&(!d||g.La)){f=!0;g.La||e||Ke(a,b,h,"cleared");b.splice(h,1);b!=a.u&&(d=a.A,ec(d.V[c>>>d.la],b==a.I));g.La||ie(a);break}}return f}function kf(a,b){for(var c=1;c<b.length;c++)Ke(a,b,c);return b.length-1}function Ke(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.F)+(d?" "+d:c.wc?' "'+c.wc+'"':""))} function Je(a,b,c,d,e){var f=!1;c=re(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==re(g)&&(!d||g.Ma)){f=!0;g.Ma||e||Ke(a,b,h,"cleared");b.splice(h,1);b!=a.u&&(d=a.A,dc(d.V[c>>>d.la],b==a.I));g.Ma||ie(a);break}}return f}function kf(a,b){for(var c=1;c<b.length;c++)Ke(a,b,c);return b.length-1}function Ke(a,b,c,d){c=b[c];a.g(b[0]+" "+Y(c.F)+(d?" "+d:c.yc?' "'+c.yc+'"':""))}
function Ie(a,b){if(void 0!==b)dc(a,b,1,a.u,!0),a.ba=0;else for(var c=1;c<a.u.length;c++){var d=a.u[c];if(d.La){if(!Je(a,a.u,d,!0))break;c=0}}} function Ie(a,b){if(void 0!==b)cc(a,b,1,a.u,!0),a.ba=0;else for(var c=1;c<a.u.length;c++){var d=a.u[c];if(d.Ma){if(!Je(a,a.u,d,!0))break;c=0}}}
function dc(a,b,c,d,e){var f=!1;if(!a.cb++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.La)for(var k=re(g),l=0;l<c;l++)if(b+l==k){var p,f=!0;g.La&&(Je(a,d,g,!0),e=!0);if(p=g.dd){for(var f=!1,q=0;q<p.length;q++)if(!lf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var y=q+1;y<p.length&&p[y].indexOf("else");y++)q++;if(y==p.length){f=!0;break}}a.b.C.va||(f=!0)}if(f){e||Ke(a,d,h,"hit");break}}}a.cb--;return f} function cc(a,b,c,d,e){var f=!1;if(!a.cb++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Ma)for(var k=re(g),l=0;l<c;l++)if(b+l==k){var p,f=!0;g.Ma&&(Je(a,d,g,!0),e=!0);if(p=g.ed){for(var f=!1,q=0;q<p.length;q++)if(!lf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var y=q+1;y<p.length&&p[y].indexOf("else");y++)q++;if(y==p.length){f=!0;break}}a.b.C.va||(f=!0)}if(f){e||Ke(a,d,h,"hit");break}}}a.cb--;return f}
function mf(a,b,c,d){for(var e=X(b.F),f=a.Y(b,1),h=a.Ra[f],g="",k=(8086!=a.style?le:me)[h[0]],l=h.length-1,p=0,q,y=1;y<=l;y++){var x="";q=h[y];if(void 0!==q&&!(q&16384&&a.style==ge)){var u=q&240;if(u){var B=q&15;B?p=B:q|=p;q&61440||(q|=1==y?8192:4096);if(u&32)a:{var x=a,u=q,B=b,v=" ";switch(u&15){case 1:v=n(x.Y(B,1),2);break;case 2:v=n(x.Y(B,1)<<24>>24,4);break;case 3:v=n(x.Pa(B,2),4);break;default:x="imm("+r(u)+")";break a}8086==x.style&&u&64?v="["+v+"]":u&16||(v=(x.style==ge?"$":"0x")+v);x=v}else u& function mf(a,b,c,d){for(var e=X(b.F),f=a.Y(b,1),h=a.Ra[f],g="",k=(8086!=a.style?le:me)[h[0]],l=h.length-1,p=0,q,y=1;y<=l;y++){var x="";q=h[y];if(void 0!==q&&!(q&16384&&a.style==ge)){var v=q&240;if(v){var z=q&15;z?p=z:q|=p;q&61440||(q|=1==y?8192:4096);if(v&32)a:{var x=a,v=q,z=b,u=" ";switch(v&15){case 1:u=n(x.Y(z,1),2);break;case 2:u=n(x.Y(z,1)<<24>>24,4);break;case 3:u=n(x.Pa(z,2),4);break;default:x="imm("+r(v)+")";break a}8086==x.style&&v&64?u="["+u+"]":v&16||(u=(x.style==ge?"$":"0x")+u);x=u}else v&
16?(x=(q&3840)>>8,u=ne[x],8086==a.style&&q&64&&(6==x&&(u="HL"),u="["+u+"]"),x=u):u&128&&(x=(f>>3&7).toString());if(!x||!x.length){g="INVALID";break}0<g.length&&(g+=",");g+=x||"???"}}}f="";h=Z(e.F)+" ";if(-1!==e.F&&-1!==b.F){do if(f+=n(a.Y(e,1),2),null==e.F)break;while(e.F!=b.F)}h+=ha(f,10);h=h+(q&32768?"*":" ")+ha(k,7);g&&(h+=" "+g);c&&(h=ha(h,40)+";"+c,h=a.b.C.hb?h+("cycles="+Bc(a.b).toString()+" cs="+n(a.b.i.xb)):h+(null!=d?"="+d.toString():""));return h} 16?(x=(q&3840)>>8,v=ne[x],8086==a.style&&q&64&&(6==x&&(v="HL"),v="["+v+"]"),x=v):v&128&&(x=(f>>3&7).toString());if(!x||!x.length){g="INVALID";break}0<g.length&&(g+=",");g+=x||"???"}}}f="";h=Y(e.F)+" ";if(-1!==e.F&&-1!==b.F){do if(f+=n(a.Y(e,1),2),null==e.F)break;while(e.F!=b.F)}h+=ha(f,10);h=h+(q&32768?"*":" ")+ha(k,7);g&&(h+=" "+g);c&&(h=ha(h,40)+";"+c,h=a.b.C.hb?h+("cycles="+Ac(a.b).toString()+" cs="+n(a.b.i.xb)):h+(null!=d?"="+d.toString():""));return h}
function nf(a,b){var c;switch(b){case "IF":c=a.b.ta&512;break;case "SF":c=Xc(a.b);break;case "ZF":c=Wc(a.b);break;case "AF":c=Vc(a.b);break;case "PF":c=Uc(a.b);break;case "CF":c=Sc(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function of(a,b){return ne[b]+"="+Ce(a,b)+" "}function pf(a){return of(a,7)+of(a,8)+of(a,9)+of(a,10)+of(a,11)+nf(a,"IF")+nf(a,"SF")+nf(a,"ZF")+nf(a,"AF")+nf(a,"PF")+nf(a,"CF")} function nf(a,b){var c;switch(b){case "IF":c=a.b.ta&512;break;case "SF":c=Xc(a.b);break;case "ZF":c=Wc(a.b);break;case "AF":c=Vc(a.b);break;case "PF":c=Uc(a.b);break;case "CF":c=Sc(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function of(a,b){return ne[b]+"="+Ce(a,b)+" "}function pf(a){return of(a,7)+of(a,8)+of(a,9)+of(a,10)+of(a,11)+nf(a,"IF")+nf(a,"SF")+nf(a,"ZF")+nf(a,"AF")+nf(a,"PF")+nf(a,"CF")}
var qf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; var qf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function rf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; function rf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function xe(a,b,c){var d;if(b){b=we(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var p=l[e++],q=p.length,p=ja(p);if(!p){f=!0;break}p=sf(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}g.push(p);if(e==l.length)break;var p=l[e++],y=p.length;k.length&&qf[p]<qf[k[k.length-1]]&&rf(g,k,1);k.push(p);b=b.substr(q+y)}rf(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&tf(a,null, function xe(a,b,c){var d;if(b){b=we(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var p=l[e++],q=p.length,p=ia(p);if(!p){f=!0;break}p=sf(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}g.push(p);if(e==l.length)break;var p=l[e++],y=p.length;k.length&&qf[p]<qf[k[k.length-1]]&&rf(g,k,1);k.push(p);b=b.substr(q+y)}rf(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&tf(a,null,
d))}return d}function we(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=xe(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?n(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=se(a,c[1]),b=b.replace("["+c[1]+"]",d?n(a.Pa(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.da-a.Fa}if(null==e)break;c=c.replace(d[0],e.toString())}return c} d))}return d}function we(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=xe(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?n(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=se(a,c[1]),b=b.replace("["+c[1]+"]",d?n(a.Pa(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.da-a.Fa}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function sf(a,b,c,d){var e;void 0!==b?(e=Be(b),0<=e?e=De(a,e):(e=a.ka[b],void 0===e&&(e=aa(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e} function sf(a,b,c,d){var e;void 0!==b?(e=Be(b),0<=e?e=De(a,e):(e=a.ka[b],void 0===e&&(e=aa(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
function tf(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,p="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)p="?"+p;else for(;0<l--;)p=(k&1?"1":"0")+p,k>>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function uf(a,b){if(b)return tf(a,b,a.ka[b]);var c=0;for(b in a.ka)tf(a,b,a.ka[b]),c++;return 0<c}fe.prototype.Sa=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function tf(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,p="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)p="?"+p;else for(;0<l--;)p=(k&1?"1":"0")+p,k>>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function uf(a,b){if(b)return tf(a,b,a.ka[b]);var c=0;for(b in a.ka)tf(a,b,a.ka[b]),c++;return 0<c}fe.prototype.Sa=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function vf(a,b,c){var d=[],e=re(b)>>>0;for(b=0;b<a.J.length;b++){var f=a.J[b],h=f.F>>>0,g=f.md;if(e>=h&&e<h+g){e=ka(f.lc,[e-h],a.Sa);0<=e?wf(a,b,e,d):c&&(e=~e,wf(a,b,e-1,d),wf(a,b,e,d));break}}return d}function wf(a,b,c,d){var e={},f=a.J[b].lc,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.J[b].Ma[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)} function vf(a,b,c){var d=[],e=re(b)>>>0;for(b=0;b<a.J.length;b++){var f=a.J[b],h=f.F>>>0,g=f.od;if(e>=h&&e<h+g){e=ja(f.nc,[e-h],a.Sa);0<=e?wf(a,b,e,d):c&&(e=~e,wf(a,b,e-1,d),wf(a,b,e,d));break}}return d}function wf(a,b,c,d){var e={},f=a.J[b].nc,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.J[b].Na[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
function xf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c,d=0;if(a.K)if("clear"==b){for(c=0;c<a.K.length;c++)a.K[c]=[c,0];a.g("frequency data cleared");d++}else if(void 0!==b)a.g("unknown frequency command: "+b),d++;else{var e=a.K.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.style?le:me;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Ra[h][0]]+" ").substr(0,5)+" ("+("0x"+n(h,2))+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}} function xf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c,d=0;if(a.K)if("clear"==b){for(c=0;c<a.K.length;c++)a.K[c]=[c,0];a.g("frequency data cleared");d++}else if(void 0!==b)a.g("unknown frequency command: "+b),d++;else{var e=a.K.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.style?le:me;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Ra[h][0]]+" ").substr(0,5)+" ("+("0x"+n(h,2))+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}}
function yf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return uf(a)||a.g("no variables"),!0;if(!c[2])return uf(a,c[1]);if(!c[3])return delete a.ka[c[1]],!0;var d=xe(a,c[3]);return void 0!==d?(a.ka[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1} function yf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return uf(a)||a.g("no variables"),!0;if(!c[2])return uf(a,c[1]);if(!c[3])return delete a.ka[c[1]],!0;var d=xe(a,c[3]);return void 0!==d?(a.ka[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1}
function zf(a,b,c){var d=null;if(b=se(a,b,!0)){var e=vf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.F-e[1])&&(h=" + "+r(f)),f=e[0]+" ("+Z(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.F)&&(h=" - "+r(f)),f=e[4]+" ("+Z(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d} function zf(a,b,c){var d=null;if(b=se(a,b,!0)){var e=vf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.F-e[1])&&(h=" + "+r(f)),f=e[0]+" ("+Y(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.F)&&(h=" - "+r(f)),f=e[4]+" ("+Y(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
function Af(a,b){switch(b[1]){case "8080":a.style=ge;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.i.lb=c;break;case "start":a.b.i.yb=c;break;case "stop":a.b.i.nb=c;break;default:a.g("unknown cs option");return}void 0!==c&&kc(a.b);a.g("checksums "+(a.b.C.hb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Cc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Xa.toFixed(2)+"Mhz")+ function Af(a,b){switch(b[1]){case "8080":a.style=ge;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.i.lb=c;break;case "start":a.b.i.yb=c;break;case "stop":a.b.i.nb=c;break;default:a.g("unknown cs option");return}void 0!==c&&jc(a.b);a.g("checksums "+(a.b.C.hb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Bc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Xa.toFixed(2)+"Mhz")+
" ("+a.b.i.Za+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.style+"-style mnemonics enabled")} " ("+a.b.i.Za+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.style+"-style mnemonics enabled")}
function Ge(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=xe(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.P=g&255;break;case "BC":d.P=g>>8&255;case "C":d.R=g&255;break;case "D":d.S= function Ge(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=xe(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.P=g&255;break;case "BC":d.P=g>>8&255;case "C":d.R=g&255;break;case "D":d.S=
g&255;break;case "DE":d.S=g>>8&255;case "E":d.T=g&255;break;case "H":d.U=g&255;break;case "HL":d.U=g>>8&255;case "L":d.X=g&255;break;case "SP":d.ia=g&65535;break;case "PC":G(d,g);a.W=X(d.N);break;case "PS":Kc(d,g);break;case "PSW":Kc(d,g&255|d.ta&-256);d.j=g>>8;break;case "CF":d.aa=g?d.aa|256:d.aa&255;break;case "PF":g?Uc(d)||(d.ca^=1):Uc(d)&&(d.ca^=1);break;case "AF":d.ua=g?~d.ca&16|d.ua&-17:d.ca&16|d.ua&-17;break;case "ZF":d.aa=g?d.aa&-256:d.aa|255;break;case "SF":g?Xc(d)||(d.ca^=192):Xc(d)&&(d.ca^= g&255;break;case "DE":d.S=g>>8&255;case "E":d.T=g&255;break;case "H":d.U=g&255;break;case "HL":d.U=g>>8&255;case "L":d.X=g&255;break;case "SP":d.ia=g&65535;break;case "PC":G(d,g);a.W=X(d.N);break;case "PS":Jc(d,g);break;case "PSW":Jc(d,g&255|d.ta&-256);d.j=g>>8;break;case "CF":d.aa=g?d.aa|256:d.aa&255;break;case "PF":g?Uc(d)||(d.ca^=1):Uc(d)&&(d.ca^=1);break;case "AF":d.ua=g?~d.ca&16|d.ua&-17:d.ca&16|d.ua&-17;break;case "ZF":d.aa=g?d.aa&-256:d.aa|255;break;case "SF":g?Xc(d)||(d.ca^=192):Xc(d)&&(d.ca^=
192);break;case "IF":d.ta=g?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}mc(d);a.g("updated registers:")}a.g(pf(a));c&&(a.W=X(d.N),He(a,Z(a.W.F)))}}function Bf(a,b){b=ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Ee(a,c[2])):xe(a,b,!0)}function Cf(a,b,c){var d="t"!=b;c=sf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);ya(c,function(){return ib(a,!0)&&a.rb(e,d,!1)},function(){mc(a.b);ib(a,!1)})} 192);break;case "IF":d.ta=g?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}lc(d);a.g("updated registers:")}a.g(pf(a));c&&(a.W=X(d.N),He(a,Y(a.W.F)))}}function Bf(a,b){b=ia(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Ee(a,c[2])):xe(a,b,!0)}function Cf(a,b,c){var d="t"!=b;c=sf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);xa(c,function(){return hb(a,!0)&&a.rb(e,d,!1)},function(){lc(a.b);hb(a,!1)})}
function He(a,b,c,d){if(b=se(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=se(a,c,!0);if(!d||d.F<b.F)return;e=d.F-b.F;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=jb(a,!1)||a.ba?a.L:null;var h=null!=f?"cycles":null,g=vf(a,b),k=b.F;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=mf(a,b,h,f);a.g(f);a.W=b;e-=b.F-k;c++}}} function He(a,b,c,d){if(b=se(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=se(a,c,!0);if(!d||d.F<b.F)return;e=d.F-b.F;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ib(a,!1)||a.ba?a.L:null;var h=null!=f?"cycles":null,g=vf(a,b),k=b.F;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=mf(a,b,h,f);a.g(f);a.W=b;e-=b.F-k;c++}}}
function ze(a,b,c,d){if(c)if(b){0>a.D&&a.G.length&&(a.D=0);if(0>a.D||b!=a.G[a.D])a.G.splice(0,0,b),a.D=0;a.D--}else a.fa?b="end":b=a.G[a.D+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ja(b.substring(c,f))),c=f+1}}return a} function ze(a,b,c,d){if(c)if(b){0>a.D&&a.G.length&&(a.D=0);if(0>a.D||b!=a.G[a.D])a.G.splice(0,0,b),a.D=0;a.D--}else a.fa?b="end":b=a.G[a.D+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ia(b.substring(c,f))),c=f+1}}return a}
function lf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.fa&&(a.g("ended assemble at "+Z(a.ea.F)),a.W=a.ea,a.fa=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.za=null;if(kb(a)&&0<b.length){a.fa&&(b="a "+Z(a.ea.F)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=se(a,f[1],!0);if(p)if(a.ea= function lf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.fa&&(a.g("ended assemble at "+Y(a.ea.F)),a.W=a.ea,a.fa=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.za=null;if(jb(a)&&0<b.length){a.fa&&(b="a "+Y(a.ea.F)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=se(a,f[1],!0);if(p)if(a.ea=
p,void 0===f[2])a.g("begin assemble at "+Z(p.F)),a.fa=!0,mc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var y=0;y<q.length;y++)a.qa(p,q[y],1);a.g(mf(a,a.ea))}}break;case "b":a:{var x=f[0],u=f[1],B=b;if("?"==u)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"), p,void 0===f[2])a.g("begin assemble at "+Y(p.F)),a.fa=!0,lc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var y=0;y<q.length;y++)a.qa(p,q[y],1);a.g(mf(a,a.ea))}}break;case "b":a:{var x=f[0],v=f[1],z=b;if("?"==v)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),
a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var v=x.charAt(1);if("l"==v){var H=0,H=H+kf(a,a.u),H=H+kf(a,a.Z);(H+=kf(a,a.I))||a.g("no breakpoints")}else if("n"==v)a.wa=sf(a,u),a.g("break after "+a.wa+" instruction(s)");else if(void 0===u)a.g("missing breakpoint address");else{var C=X();if("*"!=u&&(C=se(a,u,!0),!C))break a;u=r(C.F);"c"==v?null==C.F?(he(a),a.g("all breakpoints cleared")):Je(a,a.u,C)||Je(a,a.Z,C)|| a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var u=x.charAt(1);if("l"==u){var I=0,I=I+kf(a,a.u),I=I+kf(a,a.Z);(I+=kf(a,a.I))||a.g("no breakpoints")}else if("n"==u)a.wa=sf(a,v),a.g("break after "+a.wa+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var C=X();if("*"!=v&&(C=se(a,v,!0),!C))break a;v=r(C.F);"c"==u?null==C.F?(he(a),a.g("all breakpoints cleared")):Je(a,a.u,C)||Je(a,a.Z,C)||
Je(a,a.I,C)||a.g("breakpoint missing: "+Z(C.F)):"i"==v?a.g("breakpoint "+(Bb(a.A,C.F)?"enabled":"cleared")+": port "+u+" (input)"):"o"==v?a.g("breakpoint "+(Fb(a.A,C.F)?"enabled":"cleared")+": port "+u+" (output)"):null!=C.F&&(ye(a,C,B),"p"==v?a.Va(a.u,C):"r"==v?a.Va(a.Z,C):"w"==v?a.Va(a.I,C):a.g("unknown breakpoint command: "+v))}}}break;case "c":a.Aa&&(a.Aa.value="");break;case "d":a:{var ia,qa=f[0],Aa=f[1],Va=f[2],Xf=f[3];if("?"==Aa){var Ba="";for(ia in pe)a.Ga[ia]&&(Ba&&(Ba+=","),Ba+=ia);Ba+= Je(a,a.I,C)||a.g("breakpoint missing: "+Y(C.F)):"i"==u?a.g("breakpoint "+(Ab(a.A,C.F)?"enabled":"cleared")+": port "+v+" (input)"):"o"==u?a.g("breakpoint "+(Eb(a.A,C.F)?"enabled":"cleared")+": port "+v+" (output)"):null!=C.F&&(ye(a,C,z),"p"==u?a.Va(a.u,C):"r"==u?a.Va(a.Z,C):"w"==u?a.Va(a.I,C):a.g("unknown breakpoint command: "+u))}}}break;case "c":a.Aa&&(a.Aa.value="");break;case "d":a:{var W,qa=f[0],Aa=f[1],Va=f[2],Xf=f[3];if("?"==Aa){var Ba="";for(W in pe)a.Ga[W]&&(Ba&&(Ba+=","),Ba+=W);Ba+=",state,symbols";
",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Ba.length&&a.g("dump extension commands:\n\t"+Ba)}else if("state"==Aa){var Le=Df(a.w,!0);"console"==Va?console.log(Le):(a.Aa&&(a.Aa.value=""),a.g(Le))}else if("symbols"==Aa)for(var dd=0;dd<a.J.length;dd++){var ed=a.J[dd],lb;for(lb in ed.Ma)if("."!=lb.charAt(0)){var Me= a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Ba.length&&a.g("dump extension commands:\n\t"+Ba)}else if("state"==Aa){var Le=Df(a.w,!0);"console"==Va?console.log(Le):(a.Aa&&(a.Aa.value=""),a.g(Le))}else if("symbols"==Aa)for(var dd=0;dd<a.J.length;dd++){var ed=a.J[dd],lb;for(lb in ed.Na)if("."!=lb.charAt(0)){var Me=
ed.Ma[lb].o;if(void 0!==Me){var Ne=ed.Ma[lb].l;Ne&&(lb=Ne);a.g(Z(Me)+" "+lb)}}}else{if("d"==qa){for(ia in pe)if(f[1]==ia){var Oe=a.Ga[ia];Oe?(f.shift(),f.shift(),Oe(f)):a.g("no dump registered for "+Aa);break a}Aa||(qa=a.Ib||"db")}else a.Ib=qa;if("dh"==qa){var Pe=Aa,Qe=Va,Re="",Se=0,Y=a.ma,Ca=a.O;if(Ca.length){var ea=+Pe||a.eb,mb=+Qe||10;isNaN(ea)?ea=mb:Re="more ";ea>Ca.length&&(a.g("note: only "+Ca.length+" available"),ea=Ca.length);Y-=ea;0>Y&&(null==Ca[Ca.length-1].F?(ea=Y+ea,Y=0):Y+=Ca.length); ed.Na[lb].o;if(void 0!==Me){var Ne=ed.Na[lb].l;Ne&&(lb=Ne);a.g(Y(Me)+" "+lb)}}}else{if("d"==qa){for(W in pe)if(f[1]==W){var Oe=a.Ga[W];Oe?(f.shift(),f.shift(),Oe(f)):a.g("no dump registered for "+Aa);break a}Aa||(qa=a.Ib||"db")}else a.Ib=qa;if("dh"==qa){var Pe=Aa,Qe=Va,Re="",Se=0,Z=a.ma,Ca=a.O;if(Ca.length){var fa=+Pe||a.eb,mb=+Qe||10;isNaN(fa)?fa=mb:Re="more ";fa>Ca.length&&(a.g("note: only "+Ca.length+" available"),fa=Ca.length);Z-=fa;0>Z&&(null==Ca[Ca.length-1].F?(fa=Z+fa,Z=0):Z+=Ca.length);var fd=
var fd=[];"call"==Qe&&(mb=1E5,fd=["CALL"]);for(void 0!==Pe&&a.g(ea+" instructions earlier:");0<mb&&Y!=a.ma;){var Te=Ca[Y++];if(null==Te.F)break;var Kb=X(Te.F),Yf=ea--,Ue=mf(a,Kb,"history",Yf);(!fd.length||0<=Ue.indexOf(fd[0]))&&a.g(Ue);Kb.Sb&&(Y+=Kb.Sb,mb-=Kb.Sb,ea-=Kb.Sb);Y>=Ca.length&&(Y=0);a.eb=ea;Se++;mb--}}Se||(a.g("no "+Re+"history available"),a.eb=void 0)}else{var oc=se(a,Aa);if(oc){var pc=0;Va&&("l"==Va.charAt(0)&&(Va=Va.substr(1)||Xf),pc=sf(a,Va)>>>0,65536<pc&&(pc=65536));for(var Wa="",qc= [];"call"==Qe&&(mb=1E5,fd=["CALL"]);for(void 0!==Pe&&a.g(fa+" instructions earlier:");0<mb&&Z!=a.ma;){var Te=Ca[Z++];if(null==Te.F)break;var Kb=X(Te.F),Yf=fa--,Ue=mf(a,Kb,"history",Yf);(!fd.length||0<=Ue.indexOf(fd[0]))&&a.g(Ue);Kb.Sb&&(Z+=Kb.Sb,mb-=Kb.Sb,fa-=Kb.Sb);Z>=Ca.length&&(Z=0);a.eb=fa;Se++;mb--}}Se||(a.g("no "+Re+"history available"),a.eb=void 0)}else{var oc=se(a,Aa);if(oc){var pc=0;Va&&("l"==Va.charAt(0)&&(Va=Va.substr(1)||Xf),pc=sf(a,Va)>>>0,65536<pc&&(pc=65536));for(var Wa="",qc="dd"==
"dd"==qa?4:"dw"==qa?2:1,rc=qc*pc||128,Zf=rc+15>>4||1;Zf--&&0<rc;){var sc=0,gd=0,Lb,Mb="",hd="",Aa=Z(oc.F);for(Lb=16;0<Lb&&0<rc;Lb--){var tc=a.Y(oc,1),sc=sc|tc<<(gd++<<3);gd==qc&&(Mb+=n(sc,2*qc),Mb+=1==qc?9==Lb?"-":" ":" ",sc=gd=0);hd+=32<=tc&&128>tc?String.fromCharCode(tc):".";rc--}Wa&&(Wa+="\n");Wa+=Aa+" "+Mb+(0==Lb?" "+hd:"")}Wa&&a.g(Wa);a.Ta=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,Ve=255,We=a.Y,Xe=a.qa;"ew"==f[0]&&(uc=2,Ve=65535,We=a.Pa,Xe=a.Qb);var Ye=uc<<1,Ze=f[1];if(null==Ze)a.g("edit memory commands:"), qa?4:"dw"==qa?2:1,rc=qc*pc||128,Zf=rc+15>>4||1;Zf--&&0<rc;){var sc=0,gd=0,Lb,Mb="",hd="",Aa=Y(oc.F);for(Lb=16;0<Lb&&0<rc;Lb--){var tc=a.Y(oc,1),sc=sc|tc<<(gd++<<3);gd==qc&&(Mb+=n(sc,2*qc),Mb+=1==qc?9==Lb?"-":" ":" ",sc=gd=0);hd+=32<=tc&&128>tc?String.fromCharCode(tc):".";rc--}Wa&&(Wa+="\n");Wa+=Aa+" "+Mb+(0==Lb?" "+hd:"")}Wa&&a.g(Wa);a.Ta=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,Ve=255,We=a.Y,Xe=a.qa;"ew"==f[0]&&(uc=2,Ve=65535,We=a.Pa,Xe=a.Qb);var Ye=uc<<1,Ze=f[1];if(null==Ze)a.g("edit memory commands:"),
a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var vc=se(a,Ze);if(vc)for(var wc=2;wc<f.length;wc++){var Nb=xe(a,f[wc]);if(void 0===Nb){a.g("unrecognized value: "+f[wc]);break}Nb&~Ve&&a.g("warning: "+n(Nb)+" exceeds "+uc+"-byte value");var $f=We.call(a,vc);a.g("changing "+Z(vc.F)+" from 0x"+n($f,Ye)+" to 0x"+n(Nb,Ye));Xe.call(a,vc,Nb,uc)}}break;case "f":xf(a,f[1]);break;case "g":a:{var $e=f[1],ag=b;if(void 0!==$e){var id=se(a,$e,!0);if(!id)break a; a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var vc=se(a,Ze);if(vc)for(var wc=2;wc<f.length;wc++){var Nb=xe(a,f[wc]);if(void 0===Nb){a.g("unrecognized value: "+f[wc]);break}Nb&~Ve&&a.g("warning: "+n(Nb)+" exceeds "+uc+"-byte value");var $f=We.call(a,vc);a.g("changing "+Y(vc.F)+" from 0x"+n($f,Ye)+" to 0x"+n(Nb,Ye));Xe.call(a,vc,Nb,uc)}}break;case "f":xf(a,f[1]);break;case "g":a:{var $e=f[1],ag=b;if(void 0!==$e){var id=se(a,$e,!0);if(!id)break a;
ye(a,id,ag);a.Va(a.u,id,!0)}a.$a(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var jd;if(a.C.va)jd="halting",a.ja();else{if(jb(a,!0))break a;jd="already halted"}c||a.g(jd)}break;case "i":if("if"==f[0]){var kd;var Ob=b.substr(2),Ob=ja(Ob);xe(a,Ob)?(c||a.g("true: "+Ob),kd=!0):(c||a.g("false: "+Ob),kd=!1);kd||(d=!1);break}if("int"==f[0]){var xc;var bg=f[1];if(a.b.ta&512){var ld=xe(a,bg);if(null==ld)xc=!1;else{a.g("requesting interrupt level "+ld);var af=a.b;af.u=af.u& ye(a,id,ag);a.Va(a.u,id,!0)}a.$a(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var jd;if(a.C.va)jd="halting",a.ja();else{if(ib(a,!0))break a;jd="already halted"}c||a.g(jd)}break;case "i":if("if"==f[0]){var kd;var Ob=b.substr(2),Ob=ia(Ob);xe(a,Ob)?(c||a.g("true: "+Ob),kd=!0):(c||a.g("false: "+Ob),kd=!1);kd||(d=!1);break}if("int"==f[0]){var xc;var bg=f[1];if(a.b.ta&512){var ld=xe(a,bg);if(null==ld)xc=!1;else{a.g("requesting interrupt level "+ld);var af=a.b;af.u=af.u&
-8|ld|8;xc=!0}}else a.g("interrupts disabled (use rif=1 to enable)"),xc=!1;xc||(d=!1);break}var md=f[1];if(md&&"?"!=md){var nd=sf(a,md);if(void 0!==nd){var cg=Db(a.A,nd);a.g(r(nd)+": "+("0x"+n(cg,2)))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");break;case "k":var dg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var od=0,bf=X(),Pb=X(a.b.ia);for(a.g("stack trace for "+ -8|ld|8;xc=!0}}else a.g("interrupts disabled (use rif=1 to enable)"),xc=!1;xc||(d=!1);break}var md=f[1];if(md&&"?"!=md){var nd=sf(a,md);if(void 0!==nd){var cg=Cb(a.A,nd);a.g(r(nd)+": "+("0x"+n(cg,2)))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");break;case "k":var dg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var od=0,bf=X(),Pb=X(a.b.ia);for(a.g("stack trace for "+
Z(Pb.F));10>od;){for(var Xa=null,eg=256;65536>Pb.F>>>0;){bf.F=a.Pa(Pb,2);if(null==Pb.F||!eg--)break;for(var fg=a,yc=bf,cf=null,Qb=yc.F,df=Qb,pd=1;6>=pd&&Qb;pd++){if(2<pd){yc.F=Qb;var zc=mf(fg,yc);if(0<=zc.indexOf("CALL")){var ef=zc.indexOf(" ");if(Qb+(zc.indexOf(" ",ef+1)-ef-1)/2==df){cf=zc;break}}}Qb--}yc.F=df;if(Xa=cf)break}if(!Xa||null==Xa)break;var ff=null;if("ks"==dg){var gf=Xa.match(/[0-9A-F]+$/);gf&&(ff=zf(a,gf[0]))}Xa=ha(Xa,50)+" ;"+(ff||"stack="+Z(Pb.F));a.g(Xa);od++}od||a.g("no return addresses found")}break; Y(Pb.F));10>od;){for(var Xa=null,eg=256;65536>Pb.F>>>0;){bf.F=a.Pa(Pb,2);if(null==Pb.F||!eg--)break;for(var fg=a,yc=bf,cf=null,Qb=yc.F,df=Qb,pd=1;6>=pd&&Qb;pd++){if(2<pd){yc.F=Qb;var zc=mf(fg,yc);if(0<=zc.indexOf("CALL")){var ef=zc.indexOf(" ");if(Qb+(zc.indexOf(" ",ef+1)-ef-1)/2==df){cf=zc;break}}}Qb--}yc.F=df;if(Xa=cf)break}if(!Xa||null==Xa)break;var ff=null;if("ks"==dg){var gf=Xa.match(/[0-9A-F]+$/);gf&&(ff=zf(a,gf[0]))}Xa=ha(Xa,50)+" ;"+(ff||"stack="+Y(Pb.F));a.g(Xa);od++}od||a.g("no return addresses found")}break;
case "l":if("ln"==f[0]){zf(a,f[1],!0);break}break;case "m":a:{var Da,Ea=null,O=f[1];"?"==O&&(O=void 0);if(void 0!==O){var Ma=0;if("all"==O)Ma=1878917119,O=null;else if("on"==O)Ea=!0,O=null;else if("off"==O)Ea=!1,O=null;else{"keys"==O&&(O="key");"kbd"==O&&(O="keyboard");for(Da in pe)if(O==Da){Ma=pe[Da];Ea=!!(a.na&Ma);break}if(!Ma){a.g("unknown message category: "+O);break a}}if(Ma)if("on"==f[2])a.na|=Ma,Ea=!0;else if("off"==f[2]&&(a.na&=~Ma,Ea=!1,1073741824==Ma)){for(var qd=0;qd<a.Ea.length;qd++)a.g(a.Ea[qd]); case "l":if("ln"==f[0]){zf(a,f[1],!0);break}break;case "m":a:{var Da,Ea=null,O=f[1];"?"==O&&(O=void 0);if(void 0!==O){var Ma=0;if("all"==O)Ma=1878917119,O=null;else if("on"==O)Ea=!0,O=null;else if("off"==O)Ea=!1,O=null;else{"keys"==O&&(O="key");"kbd"==O&&(O="keyboard");for(Da in pe)if(O==Da){Ma=pe[Da];Ea=!!(a.na&Ma);break}if(!Ma){a.g("unknown message category: "+O);break a}}if(Ma)if("on"==f[2])a.na|=Ma,Ea=!0;else if("off"==f[2]&&(a.na&=~Ma,Ea=!1,1073741824==Ma)){for(var qd=0;qd<a.Ea.length;qd++)a.g(a.Ea[qd]);
a.Ea=[]}}var gg=0,Na="";for(Da in pe)if(!O||O==Da){var hg=!!(a.na&pe[Da]);if(null===Ea||Ea==hg)Na&&(Na+=","),++gg%10||(Na+="\n\t"),"key"==Da&&(Da="keys"),Na+=Da}void 0===O&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ea?Ea?"messages on: ":"messages off: ":"message categories:\n\t")+(Na||"none"));ie(a)}break;case "o":var rd=f[1],ig=f[2];if(rd&&"?"!=rd){var sd=sf(a,rd,"port #"),td=sf(a,ig);void 0!==sd&&void 0!==td&&(Hb(a.A,sd,td),a.g(r(sd)+": "+("0x"+n(td, a.Ea=[]}}var gg=0,Na="";for(Da in pe)if(!O||O==Da){var hg=!!(a.na&pe[Da]);if(null===Ea||Ea==hg)Na&&(Na+=","),++gg%10||(Na+="\n\t"),"key"==Da&&(Da="keys"),Na+=Da}void 0===O&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ea?Ea?"messages on: ":"messages off: ":"message categories:\n\t")+(Na||"none"));ie(a)}break;case "o":var rd=f[1],ig=f[2];if(rd&&"?"!=rd){var sd=sf(a,rd,"port #"),td=sf(a,ig);void 0!==sd&&void 0!==td&&(Gb(a.A,sd,td),a.g(r(sd)+": "+("0x"+n(td,
2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){Bf(a,b.substr(5));break}var hf="pr"==f[0]?1:0,jg=1+hf;if(a.ba)a.g("step in progress");else{var ud=X(a.b.N);switch(a.Y(ud)){case 205:a.ba=jg,te(ud,3)}a.ba?(a.Va(a.u,ud,!0),a.$a()||(a.w&&a.w.Eb(),a.ba=0)):Cf(a,hf?"tr":"t")}break;case "r":if("reset"==b){a.w&&a.w.reset();break}Ge(a,f);break;case "s":Af(a,f);break;case "t":Cf(a,f[0], 2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){Bf(a,b.substr(5));break}var hf="pr"==f[0]?1:0,jg=1+hf;if(a.ba)a.g("step in progress");else{var ud=X(a.b.N);switch(a.Y(ud)){case 205:a.ba=jg,te(ud,3)}a.ba?(a.Va(a.u,ud,!0),a.$a()||(a.w&&a.w.Eb(),a.ba=0)):Cf(a,hf?"tr":"t")}break;case "r":if("reset"==b){a.w&&a.w.reset();break}Ge(a,f);break;case "s":Af(a,f);break;case "t":Cf(a,f[0],
f[1]);break;case "u":He(a,f[1],f[2],8);break;case "v":if("var"==f[0]){yf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.23.3 ("+a.b.Wb+",RELEASE"+(ob?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ra());break;case "?":if(f[1]){Bf(a,b.substr(1));break}var Rb="commands:",vd;for(vd in ke)Rb+="\n"+ha(vd,9)+ke[vd];yd(a)||(Rb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Rb);break;default:a.g("unknown command: "+b),d=!1}}}catch(jf){a.g("debugger error: "+(jf.stack||jf.message)),d=!1}return d} f[1]);break;case "u":He(a,f[1],f[2],8);break;case "v":if("var"==f[0]){yf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.23.3 ("+a.b.Wb+",RELEASE"+(nb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(pa());break;case "?":if(f[1]){Bf(a,b.substr(1));break}var Rb="commands:",vd;for(vd in ke)Rb+="\n"+ha(vd,9)+ke[vd];yd(a)||(Rb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Rb);break;default:a.g("unknown command: "+b),d=!1}}}catch(jf){a.g("debugger error: "+(jf.stack||jf.message)),d=!1}return d}
function lc(a,b,c){b=ze(a,b,c);for(var d in b)if(!lf(a,b[d]))return!1;return!0}Ja(function(){for(var a=A(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new fe(d);eb(d,c)}});function I(a,b,c){this.id=a.id;this.key=Ef(a,b,c);this.H=a.H;Ff(this,a.uc)}function Ef(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} function kc(a,b,c){b=ze(a,b,c);for(var d in b)if(!lf(a,b[d]))return!1;return!0}Ia(function(){for(var a=B(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new fe(d);db(d,c)}});function Mc(a,b,c){this.id=a.id;this.key=Ef(a,b,c);this.H=a.H;Ff(this,a.wc)}function Ef(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
I.prototype={constructor:I,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Ff(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}}}; Mc.prototype={constructor:Mc,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Ff(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 Ff(a,b){a[a.id]={};b&&J(a,"parms",b);a.b=!1}function Gf(a){var b=!0;if(ua()){var c=JSON.stringify(a[a.id]);wa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Hf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function If(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ua()&&(b=va(a.key))?(a[a.id]=b,a.b=!0):!1}function Jf(a,b){return a[a.id][b]||null}function J(a,b,c){try{a[a.id][b]=c}catch(d){}} function Ff(a,b){a[a.id]={};b&&H(a,"parms",b);a.b=!1}function Gf(a){var b=!0;if(ta()){var c=JSON.stringify(a[a.id]);va(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Hf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function If(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ta()&&(b=ua(a.key))?(a[a.id]=b,a.b=!0):!1}function Jf(a,b){return a[a.id][b]||null}function H(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Kf(a,b,c){w.call(this,"Computer",a,Kf,67108864);this.C.sa=!1;Lf(this,b);this.ba=ic(this,"autoPower",a);this.G=0;this.ka=a.busWidth||a.buswidth;this.w=Mf;this.W=null;this.K=this.fa=!1;this.ma=ic(this,"url")||"";(Math.random()+.1).toString(36);this.u=Nf(this);if(this.b=db("CPU",this.id)){this.H=db("Debugger",this.id);this.J=[];for(b=null;b=rb(this,"Video",b);)this.J.push(b);this.A=new tb({id:this.Rb+".bus",busWidth:this.ka},this.b,this.H);var d,e=cb(this.id);if((this.D=db("Panel",this.id))&& function Kf(a,b,c){w.call(this,"Computer",a,Kf,67108864);this.C.sa=!1;Lf(this,b);this.ba=hc(this,"autoPower",a);this.G=0;this.ka=a.busWidth||a.buswidth;this.w=Mf;this.W=null;this.K=this.fa=!1;this.ma=hc(this,"url")||"";(Math.random()+.1).toString(36);this.u=Nf(this);if(this.b=cb("CPU",this.id)){this.H=cb("Debugger",this.id);this.J=[];for(b=null;b=qb(this,"Video",b);)this.J.push(b);this.A=new sb({id:this.Rb+".bus",busWidth:this.ka},this.b,this.H);var d,e=bb(this.id);if((this.D=cb("Panel",this.id))&&
this.D.Aa)for(b=0;b<e.length;b++)d=e[b],d.ga=this.D.ga,d.g=this.D.g,d.Aa=this.D.Aa;this.g("PC8080 v1.23.3\nCopyright \u00a9 2012-2016 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.Na&&d.Na(this,this.A,this.b,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.O=d:this.w=parseInt(d,10));var f;if(a=ic(this,"state")||(f=!0,a.state))b=this.da=a,f||(this.K=!0,this.w=Mf),this.w&&(this.Z=new I(this,"1.23.3"),If(this.Z)? this.D.Aa)for(b=0;b<e.length;b++)d=e[b],d.ga=this.D.ga,d.g=this.D.g,d.Aa=this.D.Aa;this.g("PC8080 v1.23.3\nCopyright \u00a9 2012-2016 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.Oa&&d.Oa(this,this.A,this.b,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.O=d:this.w=parseInt(d,10));var f;if(a=hc(this,"state")||(f=!0,a.state))b=this.da=a,f||(this.K=!0,this.w=Mf),this.w&&(this.Z=new Mc(this,"1.23.3"),If(this.Z)?
b=null:delete this.Z);!b&&this.w&&(b=Of(this))&&(this.K=!0);if(b){var h=this;oa(b,null,!0,function(a,b,c){c?(h.O=null,h.K=!1,h.ga("Unable to load machine state from server (error "+c+(b?": "+ja(b):"")+")")):(h.W=b,h.fa=!0);E(h)})}else E(this);this.M.power||(this.ba=!0);!c&&this.ba&&Pf(this,this.Cb)}else t("Unable to find CPU component")}$a(Kf);var Mf=0;function Lf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.L=b} b=null:delete this.Z);!b&&this.w&&(b=Of(this))&&(this.K=!0);if(b){var h=this;na(b,null,!0,function(a,b,c){c?(h.O=null,h.K=!1,h.ga("Unable to load machine state from server (error "+c+(b?": "+ia(b):"")+")")):(h.W=b,h.fa=!0);E(h)})}else E(this);this.M.power||(this.ba=!0);!c&&this.ba&&Pf(this,this.Cb)}else t("Unable to find CPU component")}Za(Kf);var Mf=0;function Lf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.L=b}
function ic(a,b,c){var d=b.toLowerCase(),d=Sa[b]||Sa[d];void 0===d&&a.L&&(d=a.L[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Pf(a,b,c){for(var d=cb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!kb(f)){kb(f,function(){Pf(a,b,c)});return}}b.call(a,c)} function hc(a,b,c){var d=b.toLowerCase(),d=Ra[b]||Ra[d];void 0===d&&a.L&&(d=a.L[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Pf(a,b,c){for(var d=bb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!jb(f)){jb(f,function(){Pf(a,b,c)});return}}b.call(a,c)}
function Qf(a,b){var c=new I(a,"1.23.3","validate");if(If(c)&&Hf(c)){var d=Jf(c,"timestamp"),e=b?Jf(b,"timestamp"):"unknown";d!=e&&(a.ga("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Kf.prototype; function Qf(a,b){var c=new Mc(a,"1.23.3","validate");if(If(c)&&Hf(c)){var d=Jf(c,"timestamp"),e=b?Jf(b,"timestamp"):"unknown";d!=e&&(a.ga("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Kf.prototype;
m.Cb=function(a){void 0===a&&(a=this.w||(this.W?1:Mf));if(!this.G){this.G++;var b=!1,c=!1;this.ea=!1;var d=this.Z||new I(this,"1.23.3");if(-1==a)b=!0;else if(a>Mf){if(If(d,this.W)){this.I=new I(this,"1.23.3","failsafe");If(this.I)&&(Rf(this,d),a=2,Ff(this.I));J(this.I,"timestamp",ma());Gf(this.I);var e=this.w&&!this.K;if(1==a||sa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Hf(d)){var f=Jf(d,"code"),h=Jf(d,"data");f&&("ok"==f?If(d,h):("error"==f&& m.Cb=function(a){void 0===a&&(a=this.w||(this.W?1:Mf));if(!this.G){this.G++;var b=!1,c=!1;this.ea=!1;var d=this.Z||new Mc(this,"1.23.3");if(-1==a)b=!0;else if(a>Mf){if(If(d,this.W)){this.I=new Mc(this,"1.23.3","failsafe");If(this.I)&&(Rf(this,d),a=2,Ff(this.I));H(this.I,"timestamp",la());Gf(this.I);var e=this.w&&!this.K;if(1==a||ra("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Hf(d)){var f=Jf(d,"code"),h=Jf(d,"data");f&&("ok"==f?If(d,h):("error"==
"no machine state"!=h?(this.ga("Error: "+h),"unable to verify user"==h&&(wa("user",""),this.u=null)):this.g(f+": "+h),Ff(d),If(d)?(c=Hf(d),e=!0):c=!1))}e&&Qf(this,c?d:null)}else 2==a&&d.clear()}else Qf(this);delete this.W;delete this.Z}e=cb(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=Sf(this,h,d,b,c));b=[d,a,c];-1!=a?Pf(this,this.mc,b):this.mc(b)}}; f&&"no machine state"!=h?(this.ga("Error: "+h),"unable to verify user"==h&&(va("user",""),this.u=null)):this.g(f+": "+h),Ff(d),If(d)?(c=Hf(d),e=!0):c=!1))}e&&Qf(this,c?d:null)}else 2==a&&d.clear()}else Qf(this);delete this.W;delete this.Z}e=bb(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=Sf(this,h,d,b,c));b=[d,a,c];-1!=a?Pf(this,this.oc,b):this.oc(b)}};
function Sf(a,b,c,d,e){if(!b.C.sa){b.C.sa=!0;if(b.Ca){var f=null;e&&((f=Jf(c,b.id))||(f=Jf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ca(f,d)&&f&&(t("Unable to restore state for "+b.type),a.da&&!a.fa?(c.clear(),a.w=Mf,window&&window.location.reload()):a.ea=!0,b.Ca(null),e=!1)}if(!d&&b.ac)for(a=b.ac.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function Sf(a,b,c,d,e){if(!b.C.sa){b.C.sa=!0;if(b.Ca){var f=null;e&&((f=Jf(c,b.id))||(f=Jf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ca(f,d)&&f&&(t("Unable to restore state for "+b.type),a.da&&!a.fa?(c.clear(),a.w=Mf,window&&window.location.reload()):a.ea=!0,b.Ca(null),e=!1)}if(!d&&b.bc)for(a=b.bc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.mc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ra=!0;this.C.sa=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(Sf(this,this.b,b,c,a),nc(this.b));this.ea&&(Rf(this,b),b.clear());!c&&this.I&&(this.I.clear(),delete this.I);this.G=0}; m.oc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ra=!0;this.C.sa=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(Sf(this,this.b,b,c,a),mc(this.b));this.ea&&(Rf(this,b),b.clear());!c&&this.I&&(this.I.clear(),delete this.I);this.G=0};
function Rf(a,b){if(sa("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.u||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.ma;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",e,!0)}} function Rf(a,b){if(ra("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.u||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.ma;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",e,!0)}}
function Df(a,b,c){var d,e="none";if(a.G)return null;a.G--;var f=new I(a,"1.23.3"),h=new I(a,"1.23.3","validate"),g=ma();J(h,"timestamp",g);J(f,"timestamp",g);J(f,"version","1.23.3");J(f,"url",window?window.location.href:null);J(f,"browser",ra());a.b&&a.b.Ja&&(c&&a.b.ja(),d=a.b.Ja(b,c),"object"===typeof d&&J(f,a.b.id,d),c&&(a.b.C.sa=!1,!1===d&&(e=null)));for(var g=cb(a.id),k=0;k<g.length;k++){var l=g[k];l.C.sa&&(l.Ja&&(d=l.Ja(b,c),"object"===typeof d&&J(f,l.id,d)),c&&(l.C.sa=!1,!1===d&&(e=null)))}e&& function Df(a,b,c){var d,e="none";if(a.G)return null;a.G--;var f=new Mc(a,"1.23.3"),h=new Mc(a,"1.23.3","validate"),g=la();H(h,"timestamp",g);H(f,"timestamp",g);H(f,"version","1.23.3");H(f,"url",window?window.location.href:null);H(f,"browser",pa());a.b&&a.b.Ja&&(c&&a.b.ja(),d=a.b.Ja(b,c),"object"===typeof d&&H(f,a.b.id,d),c&&(a.b.C.sa=!1,!1===d&&(e=null)));for(var g=bb(a.id),k=0;k<g.length;k++){var l=g[k];l.C.sa&&(l.Ja&&(d=l.Ja(b,c),"object"===typeof d&&H(f,l.id,d)),c&&(l.C.sa=!1,!1===d&&(e=null)))}e&&
(c?(g=d=!1,b?(a.u&&Tf(a,a.u,f.toString()),Gf(h)&&Gf(f)||(e=null,d=g=!0)):a.w&&(d=!0,g=3==a.w),d&&f.clear(g)):e=f.toString());c&&(a.C.sa=!1,b=a.M.power)&&(b.textContent="Power");a.G=0;return e}m.reset=function(){this.A&&this.A.reset&&(gb(this,"Resetting "+this.A.type),this.A.reset());for(var a=cb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&(gb(this,"Resetting "+c.type),c.reset())}}; (c?(g=d=!1,b?(a.u&&Tf(a,a.u,f.toString()),Gf(h)&&Gf(f)||(e=null,d=g=!0)):a.w&&(d=!0,g=3==a.w),d&&f.clear(g)):e=f.toString());c&&(a.C.sa=!1,b=a.M.power)&&(b.textContent="Power");a.G=0;return e}m.reset=function(){this.A&&this.A.reset&&(fb(this,"Resetting "+this.A.type),this.A.reset());for(var a=bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&(fb(this,"Resetting "+c.type),c.reset())}};
m.start=function(a,b){for(var c=cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}}; m.start=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.pa=function(a,b,c){var d=this;switch(b){case "power":return this.M[b]=c,c.onclick=function(){d.G||(d.C.sa?Df(d,!1,!0):Pf(d,d.Cb))},!0;case "reset":return this.M[b]=c,c.onclick=function(){if(d.C.sa&&!d.G)if(d.w&&!d.O){var a=sa("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Df(d,a,!0);!a&&d.da?window&&window.location.reload():d.Cb(Mf)}else d.reset(),d.b&&nc(d.b)},!0;case "save":if(da(pa(),"pcjs.org")){c.parentNode.removeChild(c); m.pa=function(a,b,c){var d=this;switch(b){case "power":return this.M[b]=c,c.onclick=function(){d.G||(d.C.sa?Df(d,!1,!0):Pf(d,d.Cb))},!0;case "reset":return this.M[b]=c,c.onclick=function(){if(d.C.sa&&!d.G)if(d.w&&!d.O){var a=ra("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Df(d,a,!0);!a&&d.da?window&&window.location.reload():d.Cb(Mf)}else d.reset(),d.b&&mc(d.b)},!0;case "save":if(da(oa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.M[b]=c;c.onclick=function(){var a=Nf(d,!0);if(a){var b=!!(d.w&&!d.O||d.da),c=Df(d,b);b?Tf(d,a,c):d.ga("Resume disabled, machine state not saved")}};return!0}return!1}; break}this.M[b]=c;c.onclick=function(){var a=Nf(d,!0);if(a){var b=!!(d.w&&!d.O||d.da),c=Df(d,b);b?Tf(d,a,c):d.ga("Resume disabled, machine state not saved")}};return!0}return!1};
function Nf(a,b){var c=a.u;c||(c=va("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Uf(a,c))||a.ga("The user ID is invalid."))):b&&a.ga("Browser local storage is not available"));return c} function Nf(a,b){var c=a.u;c||(c=ua("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Uf(a,c))||a.ga("The user ID is invalid."))):b&&a.ga("Browser local storage is not available"));return c}
function Uf(a,b){a.u=null;var c=oa(pa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(wa("user",c.data),a.u=c.data)}catch(e){t(e.message+" ("+d+")")}return a.u}function Of(a){var b=null;a.u&&(b=pa()+"/api/v1/user?req=load&user="+a.u+"&state="+Ef(a,"1.23.3"));return b} function Uf(a,b){a.u=null;var c=na(oa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(va("user",c.data),a.u=c.data)}catch(e){t(e.message+" ("+d+")")}return a.u}function Of(a){var b=null;a.u&&(b=oa()+"/api/v1/user?req=load&user="+a.u+"&state="+Ef(a,"1.23.3"));return b}
function Tf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ef(a,"1.23.3");d.data=c;b=oa(pa()+"/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.ga("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.ga(c),wa("user",""),a.u=null)}} function Tf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ef(a,"1.23.3");d.data=c;b=na(oa()+"/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.ga("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.ga(c),va("user",""),a.u=null)}}
function rb(a,b,c){a=cb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}m.Eb=function(a){if(this.J.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.J[0];d.Ga&&d.Ga.focus();a&&window&&window.scrollTo(b,c)}};m.Da=function(a){this.b&&this.b.Da(a);this.D&&this.D.Da(a)}; function qb(a,b,c){a=bb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}m.Eb=function(a){if(this.J.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.J[0];d.Ga&&d.Ga.focus();a&&window&&window.scrollTo(b,c)}};m.Da=function(a){this.b&&this.b.Da(a);this.D&&this.D.Da(a)};
function Fc(a,b){for(var c=0;c<a.J.length;c++){var d=a.J[c],e=!0;if(0<=b){if(d.jc)if(b&1)e=d.b,e.u=e.u&-8|10,e=!1;else{var f=d.b;f.u=f.u&-8|9}if(f=e&&d.Fa){for(var f=d.A,h=d.Ta,g=!0,k=d.Ea>>>f.la;0<h&&k<f.V.length;)f.V[k].Ka&&(f.V[k].Ka=g=!1,f.V[k].oc=!0),h-=f.Ba,k++;f=g}f&&(e=!1)}if(e)if(1<d.oa)switch(d.Z){case 2:ee(d)}else{var g=d.Ea,k=g+d.Ta,l=0,p=0,q=0,e=d.K,y=0,f=d.da,x=h=0,u=d.Ra,B=(1<<u)-1;d.bd&&(u=-u,x=16+u);for(;g<k;){var v=zb(d.A,g);if(d.Fa&&v===d.ma[l])p+=d.ic;else{d.ma[l]=v;var H=x;H&& function Ec(a,b){for(var c=0;c<a.J.length;c++){var d=a.J[c],e=!0;if(0<=b){if(d.lc)if(b&1)e=d.b,e.u=e.u&-8|10,e=!1;else{var f=d.b;f.u=f.u&-8|9}if(f=e&&d.Fa){for(var f=d.A,h=d.Ta,g=!0,k=d.Ea>>>f.la;0<h&&k<f.V.length;)f.V[k].La&&(f.V[k].La=g=!1,f.V[k].qc=!0),h-=f.Ba,k++;f=g}f&&(e=!1)}if(e)if(1<d.oa)switch(d.L){case 2:ee(d)}else{var g=d.Ea,k=g+d.Ta,l=0,p=0,q=0,e=d.K,y=0,f=d.da,x=h=0,v=d.Ra,z=(1<<v)-1;d.dd&&(v=-v,x=16+v);for(;g<k;){var u=yb(d.A,g);if(d.Fa&&u===d.ma[l])p+=d.kc;else{d.ma[l]=u;var I=x;I&&
(v=v>>8|(v&255)<<8);p<e&&(e=p);for(var C=d.ic;C--;){var ia=v>>H&B;de(d,d.gc,p++,q,ia);H+=u}p>y&&(y=p);q<f&&(f=q);q>=h&&(h=q+1)}g+=2;l++;if(p>=d.K&&(p=0,q++,q>d.da))break}d.Fa=!0;e<d.K&&(g=y-e,h-=f,d.D&&(k=e,l=g,e=f,g=h,f=d.K-(k+l),h=l),d.eb.putImageData(d.gc,0,0,e,f,g,h),d.I.drawImage(d.L,0,0,d.L.width,d.L.height,0,0,d.ba,d.W))}}} (u=u>>8|(u&255)<<8);p<e&&(e=p);for(var C=d.kc;C--;){var W=u>>I&z;de(d,d.ic,p++,q,W);I+=v}p>y&&(y=p);q<f&&(f=q);q>=h&&(h=q+1)}g+=2;l++;if(p>=d.K&&(p=0,q++,q>d.da))break}d.Fa=!0;e<d.K&&(g=y-e,h-=f,d.D&&(k=e,l=g,e=f,g=h,f=d.K-(k+l),h=l),d.eb.putImageData(d.ic,0,0,e,f,g,h),d.I.drawImage(d.O,0,0,d.O.width,d.O.height,0,0,d.ba,d.Z))}}}
Ja(function(){for(var a=A(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new Kf(h,d,!0);eb(h,f);h.ba&&Pf(h,h.Cb)}});Fa.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=db("Computer",c.id))&&c.ra&&!c.C.sa&&c.Cb(-1)}}); Ia(function(){for(var a=B(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=B(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=A(f),h=new Kf(h,d,!0);db(h,f);h.ba&&Pf(h,h.Cb)}});za.show.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=cb("Computer",c.id))&&c.ra&&!c.C.sa&&c.Cb(-1)}});
Fa.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=db("Computer",c.id))&&c.C.sa&&Df(c,!(!c.w||c.O),!0)}});var Vf=0;function Wf(a,b,c,d,e,f){e("Loading "+a+"...");oa(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):kg(g,a,b,c,d,e,f)})} za.exit.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=cb("Computer",c.id))&&c.C.sa&&Df(c,!(!c.w||c.O),!0)}});var Vf=0;function Wf(a,b,c,d,e,f){e("Loading "+a+"...");na(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):kg(g,a,b,c,d,e,f)})}
function kg(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){bb(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2")); function kg(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){ab(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?lg(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)} g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?lg(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function lg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, function lg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);lg(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],h);lg(a,b,c)}})}else c(a,null)}
function mg(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);k&&(--Vf||Oa(!0));k=!1}var h,g,k=!0;Vf++;ab[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c|| function mg(a,b,c,d){function e(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);k&&(--Vf||La(!0));k=!1}var h,g,k=!0;Vf++;$a[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c||
(c="/versions/pc8080/1.23.3/components.xsl");l=function(d,g){g?Wf(c,null,null,!1,e,function(d,k){if(k)if(bb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Vf||Oa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Vf||Oa(!0)):f("invalid machine element: "+ (c="/versions/pc8080/1.23.3/components.xsl");l=function(d,g){g?Wf(c,null,null,!1,e,function(d,k){if(k)if(ab(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Vf||La(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Vf||La(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Wf(b,a,d,!0,e,l):kg(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(y){f(y.message)}return k}window.embedPC8080=function(a,b,c,d){Oa(!1);return mg(a,b,c,d)};window.enableEvents=Oa;window.sendEvent=Pa; a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Wf(b,a,d,!0,e,l):kg(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(y){f(y.message)}return k}window.embedPC8080=function(a,b,c,d){La(!1);return mg(a,b,c,d)};window.enableEvents=La;window.sendEvent=Oa;
function ng(a,b,c,d){if(!c&&b){d.push(b);a=ab[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){og(b,d)}):og(null,d)}else t("Error ("+c+") requesting "+a)} function ng(a,b,c,d){if(!c&&b){d.push(b);a=$a[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?na(b,null,!0,function(a,b){og(b,d)}):og(null,d)}else t("Error ("+c+") requesting "+a)}
function og(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=ab[f],k={},l;for(l in g){var p=g[l],q=ca(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[l]);){var y=d[2];y&&(g[y]||(p=p.replace(d[0],"")))}d=l=ba(l)}else"xsl"==q&&(e=l=ba(l));k[l]=p}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, function og(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=$a[f],k={},l;for(l in g){var p=g[l],q=ca(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[l]);){var y=d[2];y&&(g[y]||(p=p.replace(d[0],"")))}d=l=ba(l)}else"xsl"==q&&(e=l=ba(l));k[l]=p}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),l=h,g=null,k="data:application/javascript,",k=xa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', "&#xA9;"),l=h,g=null,k="data:application/javascript,",k=wa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")} c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=db("Computer",a),e=db("Debugger",a);if(d){var f=Df(d,!0),h=d.L?JSON.stringify(d.L):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,uc:h}))return!0;oa(b,null,!0,function(c,d,e){ng(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})(); window.savePC=function(a,b,c){var d=cb("Computer",a),e=cb("Debugger",a);if(d){var f=Df(d,!0),h=d.L?JSON.stringify(d.L):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,wc:h}))return!0;na(b,null,!0,function(c,d,e){ng(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -4,131 +4,132 @@ function da(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ea={"&":"&amp;","
function r(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"== function r(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"==
typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function ia(){return"http://"+(window?window.location.host:"www.pcjs.org")} typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(k)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function ia(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function t(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function t(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var pa={init:[],show:[],exit:[]},ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ua(a){pa.init.push(a)} function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var pa={init:[],show:[],exit:[]},qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ta(a){pa.init.push(a)}
function va(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){wa("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function xa(a){!sa&&a?(sa=!0,ra&&ya("init")):sa=a}function ya(a){pa[a]&&va(pa[a])}ta("onload",function(){ra=!0;va(pa.init)});ta("onpageshow",function(){va(pa.show)});ta(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){va(pa.exit)}); function ua(a){if(ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){va("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function wa(a){!ra&&a?(ra=!0,qa&&xa("init")):ra=a}function xa(a){pa[a]&&ua(pa[a])}sa("onload",function(){qa=!0;ua(pa.init)});sa("onpageshow",function(){ua(pa.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ua(pa.exit)});
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.nb=b.comment;this.Jb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.gb=this.id.substr(0,b),this.fb=this.id.substr(b+1)):this.fb=this.id;this[a]=c;this.i={va:!1,Ea:!1,ib:!1,R:!1,ma:!1};this.Ta=null;this.i.ma=!1;this.A={};this.M=null;w.push(this)}var za=void 0,Aa={}; function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.ob=b.comment;this.Lb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.gb=this.id.substr(0,b),this.fb=this.id.substr(b+1)):this.fb=this.id;this[a]=c;this.i={va:!1,Ea:!1,ib:!1,R:!1,ma:!1};this.Ta=null;this.i.ma=!1;this.A={};this.M=null;w.push(this)}var ya=void 0,za={};
if(window){za||(za=window.location.search.substr(1));for(var Ba,Ca=/\+/g,Da=/([^&=]+)=?([^&]*)/g;Ba=Da.exec(za);)Aa[decodeURIComponent(Ba[1].replace(Ca," "))]=decodeURIComponent(Ba[2].replace(Ca," "))}function Ea(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){ya||(ya=window.location.search.substr(1));for(var Aa,Ba=/\+/g,Ca=/([^&=]+)=?([^&]*)/g;Aa=Ca.exec(ya);)za[decodeURIComponent(Aa[1].replace(Ba," "))]=decodeURIComponent(Aa[2].replace(Ba," "))}function Da(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function x(a,b){b||(b=u);a.prototype=Ea(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var w=[],Fa={};function Ga(a,b,c){Fa[a]&&b&&(Fa[a][b]=c)}function wa(a,b,c){b||t((c?c+": ":"")+a)}function Ha(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c} function Ea(a,b){b||(b=v);a.prototype=Da(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var w=[],Fa={};function Ga(a,b,c){Fa[a]&&b&&(Fa[a][b]=c)}function va(a,b,c){b||t((c?c+": ":"")+a)}function Ha(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Ia(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b} function Ia(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function x(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
function Ja(a,b){for(var c=z(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=y(h))&&g.binding&&a.S(g.type,g.binding,h,g.value),l=k.length}}}} function Ja(a,b){for(var c=y(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=x(h))&&g.binding&&a.S(g.type,g.binding,h,g.value),l=k.length}}}}
function z(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c} function y(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},S:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.ja=this.A[b]=c,c.value="",this.X=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c), v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},S:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.ja=this.A[b]=c,c.value="",this.X=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.J=function(a){this.X(a,this.fb)}),!0;default:return!1}},log:function(){},X:function(){},status:function(a){this.X(this.fb+": "+a)},J:function(a,b,c){wa(a,b,c||this.type)},Z:function(){return this.i.R=!0},ea:function(a,b){b&&(this.i.R=!1);return!0}};function Ka(a,b){if(a.i.ib)return a.i.Ea&&(a.i.Ea=!1),a.i.ib=!1;if(a.i.ma)return a.X(a.toString()+" error"),!1;a.i.Ea=b;return a.i.Ea}function A(a){if(!a.i.ma&&(a.i.va=!0,a.i.va)){var b=a.Ta;a.Ta=null;b&&b()}} this.J=function(a){this.X(a,this.fb)}),!0;default:return!1}},log:function(){},X:function(){},status:function(a){this.X(this.fb+": "+a)},J:function(a,b,c){va(a,b,c||this.type)},Z:function(){return this.i.R=!0},fa:function(a,b){b&&(this.i.R=!1);return!0}};function Ka(a,b){if(a.i.ib)return a.i.Ea&&(a.i.Ea=!1),a.i.ib=!1;if(a.i.ma)return a.X(a.toString()+" error"),!1;a.i.Ea=b;return a.i.Ea}function z(a){if(!a.i.ma&&(a.i.va=!0,a.i.va)){var b=a.Ta;a.Ta=null;b&&b()}}
function La(a,b){b&&(a.i.va?b():a.Ta=b);return a.i.va} function La(a,b){b&&(a.i.va?b():a.Ta=b);return a.i.va}
var Ma="undefined"!==typeof ArrayBuffer,Na=[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, var Ma="undefined"!==typeof ArrayBuffer,Na=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function Oa(a){u.call(this,"Panel",a,Oa)}x(Oa);m=Oa.prototype;m.S=function(a,b,c,d){return this.v&&this.v.S(a,b,c,d)||this.a&&this.a.S(a,b,c,d)||this.F&&this.F.S(a,b,c,d)?!0:this.parent.S.call(this,a,b,c,d)};m.ka=function(a,b,c,d){this.v=a;this.m=b;this.a=c;this.M=d;this.F=Pa(a,"Keyboard")};m.Z=function(a,b){b||Qa();return!0};m.ea=function(){return!0};m.pa=function(){}; 0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function Oa(a){v.call(this,"Panel",a,Oa)}Ea(Oa);m=Oa.prototype;m.S=function(a,b,c,d){return this.v&&this.v.S(a,b,c,d)||this.a&&this.a.S(a,b,c,d)||this.F&&this.F.S(a,b,c,d)?!0:this.parent.S.call(this,a,b,c,d)};m.ka=function(a,b,c,d){this.v=a;this.m=b;this.a=c;this.M=d;this.F=Pa(a,"Keyboard")};m.Z=function(a,b){b||Qa();return!0};m.fa=function(){return!0};m.pa=function(){};
function Qa(){for(var a=!1,b=z(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=y(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<w.length;h++)if(w[h].id===f){f=w[h];break a}f=null}f||(a=!0,f=new Oa(e));Ja(f,d);a&&A(f)}}ua(Qa); function Qa(){for(var a=!1,b=y(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=x(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<w.length;h++)if(w[h].id===f){f=w[h];break a}f=null}f||(a=!0,f=new Oa(e));Ja(f,d);a&&z(f)}}ta(Qa);
function Ra(a,b,c){u.call(this,"Bus",a,Ra);this.a=b;this.M=c;this.j=a.busWidth||16;this.u=Math.pow(2,this.j);this.h=this.u-1|0;this.c=16>=this.j?10:20>=this.j?12:24>=this.j?14:15;this.m=1<<this.c;this.w=this.m>>2;this.f=this.m-1;this.l=this.u/this.m|0;this.v=this.l-1;this.o=[];this.s=[];this.G=[];this.D=[];a=new B;Sa(a,this.M);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;A(this)}x(Ra);Ra.prototype.reset=function(){};Ra.prototype.Z=function(a,b){b||this.reset();return!0}; function Ra(a,b,c){v.call(this,"Bus",a,Ra);this.a=b;this.M=c;this.j=a.busWidth||16;this.u=Math.pow(2,this.j);this.h=this.u-1|0;this.c=16>=this.j?10:20>=this.j?12:24>=this.j?14:15;this.m=1<<this.c;this.w=this.m>>2;this.f=this.m-1;this.l=this.u/this.m|0;this.v=this.l-1;this.o=[];this.s=[];this.G=[];this.D=[];a=new A;Sa(a,this.M);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;z(this)}Ea(Ra);Ra.prototype.reset=function(){};Ra.prototype.Z=function(a,b){b||this.reset();return!0};
function Ta(a,b,c,d){for(var e=b,f=c,h=e>>>a.c;0<f&&h<a.b.length;){var g=a.b[h],k=h*a.m,l=a.m-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Da)return g.ab+=g.Da-e,g.Da=e,!0;if(e>=g.Da+g.ab){l=g.size-(e-k);l>f&&(l=f);g.ab=e-g.Da+l;e=k+a.m;f-=l;h++;continue}}return Ua(1,e,f)}e=new B(e,l,a.m,d);Sa(e,a.M,g);a.b[h++]=e;e=k+a.m;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Va[d]+" at "+("0x"+n(b,4))),!0):Ua(2,b,c)} function Ta(a,b,c,d){for(var e=b,f=c,h=e>>>a.c;0<f&&h<a.b.length;){var g=a.b[h],k=h*a.m,l=a.m-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Da)return g.ab+=g.Da-e,g.Da=e,!0;if(e>=g.Da+g.ab){l=g.size-(e-k);l>f&&(l=f);g.ab=e-g.Da+l;e=k+a.m;f-=l;h++;continue}}return Ua(1,e,f)}e=new A(e,l,a.m,d);Sa(e,a.M,g);a.b[h++]=e;e=k+a.m;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Va[d]+" at "+("0x"+n(b,4))),!0):Ua(2,b,c)}
Ra.prototype.I=function(a){return this.b[(a&this.h)>>>this.c].Ma(a&this.f,a)};function Wa(a,b){return a.b[(b&a.h)>>>a.c].$a(b&a.f,b)}function Xa(a,b){var c=b&a.f,d=(b&a.h)>>>a.c;return c!=a.f?a.b[d].Hc(c,b):a.b[d++].Ma(c,b)|a.b[d&a.v].Ma(0,b+1)<<8}Ra.prototype.U=function(a,b){this.b[(a&this.h)>>>this.c].Na(a&this.f,b&255,a)};function Ya(a,b,c){a.b[(b&a.h)>>>a.c].Mb(b&a.f,c&255,b)} Ra.prototype.I=function(a){return this.b[(a&this.h)>>>this.c].Ma(a&this.f,a)};function Wa(a,b){return a.b[(b&a.h)>>>a.c].$a(b&a.f,b)}function Xa(a,b){var c=b&a.f,d=(b&a.h)>>>a.c;return c!=a.f?a.b[d].Jc(c,b):a.b[d++].Ma(c,b)|a.b[d&a.v].Ma(0,b+1)<<8}Ra.prototype.U=function(a,b){this.b[(a&this.h)>>>this.c].Na(a&this.f,b&255,a)};function Ya(a,b,c){a.b[(b&a.h)>>>a.c].Ob(b&a.f,c&255,b)}
function Za(a,b,c){var d=b&a.f,e=(b&a.h)>>>a.c;d!=a.f?a.b[e].Ic(d,c&65535,b):(a.b[e++].Na(d,c&255,b),a.b[e&a.v].Na(0,c>>8&255,b+1))}function $a(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.o[k]?t("Input port 0x"+n(k,4)+" already registered"):f.o[k]=[g,!1]}} function Za(a,b,c){var d=b&a.f,e=(b&a.h)>>>a.c;d!=a.f?a.b[e].Kc(d,c&65535,b):(a.b[e++].Na(d,c&255,b),a.b[e&a.v].Na(0,c>>8&255,b+1))}function $a(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.o[k]?t("Input port 0x"+n(k,4)+" already registered"):f.o[k]=[g,!1]}}
function ab(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.s[k]?t("Output port 0x"+n(k,4)+" already registered"):f.s[k]=[g,!1]}}function Ua(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var bb;if(Ma){var cb=new ArrayBuffer(2);(new DataView(cb)).setUint16(0,256,!0);bb=256===(new Uint16Array(cb))[0]}else bb=!1;var db=bb; function ab(a,b,c){var d;void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.s[k]?t("Output port 0x"+n(k,4)+" already registered"):f.s[k]=[g,!1]}}function Ua(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var bb;if(Ma){var cb=new ArrayBuffer(2);(new DataView(cb)).setUint16(0,256,!0);bb=256===(new Uint16Array(cb))[0]}else bb=!1;var db=bb;
function B(a,b,c,d){this.id=eb+=2;this.a=null;this.Da=a;this.ab=b;this.size=c||0;this.type=d||fb;this.f=d==gb;Sa(this);this.ca=this.Cb=!1;if(c)if(Ma)this.c=new ArrayBuffer(c),this.m=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.l=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),hb(this,db?ib:jb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;hb(this,kb)}else hb(this)}var fb=0,gb=2,Va=["NONE","RAM","ROM","VID","H/W"],eb=0; function A(a,b,c,d){this.id=eb+=2;this.a=null;this.Da=a;this.ab=b;this.size=c||0;this.type=d||fb;this.f=d==gb;Sa(this);this.da=this.Eb=!1;if(c)if(Ma)this.c=new ArrayBuffer(c),this.m=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.l=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),hb(this,db?ib:jb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;hb(this,kb)}else hb(this)}var fb=0,gb=2,Va=["NONE","RAM","ROM","VID","H/W"],eb=0;
B.prototype={constructor:B,parent:null,save:function(){var a,b;if(Ma)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.m.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ma)for(b=0;b<a.length;b++)this.m.setInt32(b<<2,a[b],!0);else this.a=a;return this.ca=!0}return!1},A:function(){return 255},s:function(){},o:function(a,b){return this.Ma(a++,b++)|this.Ma(a,b)<<8},v:function(a,b,c){this.Na(a++,b&255,c++);this.Na(a,b>>8,c)},D:function(a){return this.a[a>> A.prototype={constructor:A,parent:null,save:function(){var a,b;if(Ma)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.m.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ma)for(b=0;b<a.length;b++)this.m.setInt32(b<<2,a[b],!0);else this.a=a;return this.da=!0}return!1},A:function(){return 255},s:function(){},o:function(a,b){return this.Ma(a++,b++)|this.Ma(a,b)<<8},v:function(a,b,c){this.Na(a++,b&255,c++);this.Na(a,b>>8,c)},D:function(a){return this.a[a>>
2]>>>((a&3)<<3)&255},N:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},fa:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.ca=!0},sa:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<<d)|b<<d:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ca=!0},w:function(a,b){return this.$a(a,b)},H:function(a,b){return this.Kb(a,b)},V:function(a,b,c){this.f||this.Mb(a,b,c)},aa:function(a, 2]>>>((a&3)<<3)&255},N:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},ga:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.da=!0},sa:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<<d)|b<<d:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.da=!0},w:function(a,b){return this.$a(a,b)},H:function(a,b){return this.Mb(a,b)},V:function(a,b,c){this.f||this.Ob(a,b,c)},aa:function(a,
b,c){this.f||this.ha(a,b,c)},u:function(a){return this.b[a]},G:function(a){return this.b[a]},F:function(a){return this.m.getUint16(a,!0)},K:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},O:function(a,b){this.b[a]=b;this.ca=!0},Y:function(a,b){this.b[a]=b;this.ca=!0},ga:function(a,b){this.m.setUint16(a,b,!0);this.ca=!0},ra:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.ca=!0}}; b,c){this.f||this.ia(a,b,c)},u:function(a){return this.b[a]},G:function(a){return this.b[a]},F:function(a){return this.m.getUint16(a,!0)},K:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.l[a>>1]},O:function(a,b){this.b[a]=b;this.da=!0},Y:function(a,b){this.b[a]=b;this.da=!0},ha:function(a,b){this.m.setUint16(a,b,!0);this.da=!0},ra:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.l[a>>1]=b;this.da=!0}};
function Sa(a,b,c){a.M=b;a.h=a.j=0;c&&((a.h=c.h)&&lb(a,mb,!1),(a.j=c.j)&&nb(a,mb,!1))}function nb(a,b,c){c&&a.j||(a.Na=!a.f&&b[2]||a.s,a.Ic=!a.f&&b[3]||a.v);if(c||void 0===c)a.Mb=b[2]||a.s,a.ha=b[3]||a.v}function lb(a,b,c){c&&a.h||(a.Ma=b[0]||a.A,a.Hc=b[1]||a.o);if(c||void 0===c)a.$a=b[0]||a.A,a.Kb=b[1]||a.o}function hb(a,b){b||(b=ob);lb(a,b,void 0);nb(a,b,void 0)}var ob=[],kb=[B.prototype.D,B.prototype.N,B.prototype.fa,B.prototype.sa],mb=[B.prototype.w,B.prototype.H,B.prototype.V,B.prototype.aa]; function Sa(a,b,c){a.M=b;a.h=a.j=0;c&&((a.h=c.h)&&lb(a,mb,!1),(a.j=c.j)&&nb(a,mb,!1))}function nb(a,b,c){c&&a.j||(a.Na=!a.f&&b[2]||a.s,a.Kc=!a.f&&b[3]||a.v);if(c||void 0===c)a.Ob=b[2]||a.s,a.ia=b[3]||a.v}function lb(a,b,c){c&&a.h||(a.Ma=b[0]||a.A,a.Jc=b[1]||a.o);if(c||void 0===c)a.$a=b[0]||a.A,a.Mb=b[1]||a.o}function hb(a,b){b||(b=ob);lb(a,b,void 0);nb(a,b,void 0)}var ob=[],kb=[A.prototype.D,A.prototype.N,A.prototype.ga,A.prototype.sa],mb=[A.prototype.w,A.prototype.H,A.prototype.V,A.prototype.aa];
if(Ma)var jb=[B.prototype.u,B.prototype.F,B.prototype.O,B.prototype.ga],ib=[B.prototype.G,B.prototype.K,B.prototype.Y,B.prototype.ra]; if(Ma)var jb=[A.prototype.u,A.prototype.F,A.prototype.O,A.prototype.ha],ib=[A.prototype.G,A.prototype.K,A.prototype.Y,A.prototype.ra];
function pb(a,b){u.call(this,"CPU",a,pb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.Aa=c;this.c.Xa=0;this.c.za=d;this.c.jb=Math.round(this.c.Aa/1E4)/100;this.c.wa=this.c.jb*this.c.za;this.i.da=!1;this.i.Eb=!1;this.i.Bb=a.autoStart;this.i.Db=!1;this.i.Ra=!1;this.c.Va=this.c.ya=0;this.c.Wa=a.csStart;this.c.Fa=a.csInterval;this.c.Ga=a.csStop;this.ha=this.mb.bind(this);A(this)}x(pb);var qb=["power","reset"];m=pb.prototype; function pb(a,b){v.call(this,"CPU",a,pb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.Aa=c;this.c.Xa=0;this.c.za=d;this.c.jb=Math.round(this.c.Aa/1E4)/100;this.c.wa=this.c.jb*this.c.za;this.i.ea=!1;this.i.Gb=!1;this.i.Db=a.autoStart;this.i.Fb=!1;this.i.Ra=!1;this.c.Va=this.c.ya=0;this.c.Wa=a.csStart;this.c.Fa=a.csInterval;this.c.Ga=a.csStop;this.ia=this.mb.bind(this);z(this)}Ea(pb);var qb=["power","reset"];m=pb.prototype;
m.ka=function(a,b,c,d){this.v=a;this.m=b;this.M=d;for(b=0;b<qb.length;b++)(c=this.A[qb[b]])&&this.v.S(null,qb[b],c);this.Y=(b=Pa(a,"Video"))&&Math.max(b.Nb,b.yb)||60;this.G=Pa(a,"ChipSet");a=rb(a,"autoStart");null!=a&&(this.i.Bb="true"==a?!0:"false"==a?!1:!!a);A(this)};m.reset=function(){this.c.Xa=0};m.save=function(){return null};m.restore=function(){return!1}; m.ka=function(a,b,c,d){this.v=a;this.m=b;this.M=d;for(b=0;b<qb.length;b++)(c=this.A[qb[b]])&&this.v.S(null,qb[b],c);this.Y=(b=Pa(a,"Video"))&&Math.max(b.rc,b.Ab)||60;this.G=Pa(a,"ChipSet");a=rb(a,"autoStart");null!=a&&(this.i.Db="true"==a?!0:"false"==a?!1:!!a);z(this)};m.reset=function(){this.c.Xa=0};m.save=function(){return null};m.restore=function(){return!1};
m.Z=function(a,b){if(!b){if(a&&this.restore){sb(this);if(!this.restore(a))return!1;tb(this)}else this.reset();this.X("No debugger detected")}ub(this);return!0};m.ea=function(a){return a?this.save():!0};function vb(a){(a.i.Bb||void 0===a.A.run)&&a.mb(!0)}m.Fb=function(){return 0};function tb(a){void 0===a.c.Wa&&(a.c.Wa=0);void 0===a.c.Fa&&(a.c.Fa=-1);void 0===a.c.Ga&&(a.c.Ga=-1);a.i.Ra=0<=a.c.Wa&&0<a.c.Fa;a.i.Ra&&(a.c.Va=0,a.c.ya=a.c.Wa-a.O)} m.Z=function(a,b){if(!b){if(a&&this.restore){sb(this);if(!this.restore(a))return!1;tb(this)}else this.reset();this.X("No debugger detected")}ub(this);return!0};m.fa=function(a){return a?this.save():!0};function vb(a){(a.i.Db||void 0===a.A.run)&&a.mb(!0)}m.Hb=function(){return 0};function tb(a){void 0===a.c.Wa&&(a.c.Wa=0);void 0===a.c.Fa&&(a.c.Fa=-1);void 0===a.c.Ga&&(a.c.Ga=-1);a.i.Ra=0<=a.c.Wa&&0<a.c.Fa;a.i.Ra&&(a.c.Va=0,a.c.ya=a.c.Wa-a.O)}
m.S=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.A[b]=c;a=!0;break;case "run":this.A[b]=c;c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.i.R)a=!0;else{var b=null,c,g=Ha(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.i.va);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.i.R);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.i.va?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.i.da?wb(d,!0):d.mb(!0))};a=!0; m.S=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.A[b]=c;a=!0;break;case "run":this.A[b]=c;c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.i.R)a=!0;else{var b=null,c,g=Ha(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.i.va);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.i.R);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.i.va?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.i.ea?wb(d,!0):d.mb(!0))};a=!0;
break;case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(){xb(d,d.c.za<<1,!0)},c.textContent=this.c.wa.toFixed(2)+"Mhz",a=!0}return a};function yb(a,b,c){a.O+=b;c&&(a.N=a.a=0)} break;case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(){xb(d,d.c.za<<1,!0)},c.textContent=this.c.wa.toFixed(2)+"Mhz",a=!0}return a};function yb(a,b,c){a.O+=b;c&&(a.N=a.a=0)}
function zb(a,b){var c=30;c<a.Y&&(c=a.Y);2>c&&(c=2);var d=1;b&&1<a.c.za&&a.c.na&&(d=a.c.na/a.c.jb);a.c.Gb=Math.round(1E3/30);a.c.xc=Math.floor(a.c.Aa/c*d);a.c.kb=Math.floor(a.c.Aa/30*d);a.c.Ib=Math.floor(a.c.Aa/a.Y*d);a.c.Hb=Math.floor(a.c.Aa/2*d);b||(a.c.Ja=a.c.kb,a.c.Ia=a.c.Ib,a.c.Ha=a.c.Hb);a.c.lb=0}function Ab(a){return a.O+a.K+a.N-a.a}function sb(a){a.c.na=0;a.O=a.K=a.N=a.a=0;tb(a);xb(a,1)} function zb(a,b){var c=30;c<a.Y&&(c=a.Y);2>c&&(c=2);var d=1;b&&1<a.c.za&&a.c.na&&(d=a.c.na/a.c.jb);a.c.Ib=Math.round(1E3/30);a.c.zc=Math.floor(a.c.Aa/c*d);a.c.kb=Math.floor(a.c.Aa/30*d);a.c.Kb=Math.floor(a.c.Aa/a.Y*d);a.c.Jb=Math.floor(a.c.Aa/2*d);b||(a.c.Ja=a.c.kb,a.c.Ia=a.c.Kb,a.c.Ha=a.c.Jb);a.c.lb=0}function Ab(a){return a.O+a.K+a.N-a.a}function sb(a){a.c.na=0;a.O=a.K=a.N=a.a=0;tb(a);xb(a,1)}
function xb(a,b,c){if(void 0!==b){.8>a.c.na/a.c.wa&&(b=1);a.c.za=b;b=a.c.jb*a.c.za;if(a.c.wa!=b){a.c.wa=b;b=a.c.wa.toFixed(2)+"Mhz";var d=a.A.setSpeed;d&&(d.textContent=b);a.X("target speed: "+b)}c&&a.v&&Bb(a.v)}yb(a,a.K);a.K=0;a.c.xa=ga();a.c.oa=0;zb(a)} function xb(a,b,c){if(void 0!==b){.8>a.c.na/a.c.wa&&(b=1);a.c.za=b;b=a.c.jb*a.c.za;if(a.c.wa!=b){a.c.wa=b;b=a.c.wa.toFixed(2)+"Mhz";var d=a.A.setSpeed;d&&(d.textContent=b);a.X("target speed: "+b)}c&&a.v&&Bb(a.v)}yb(a,a.K);a.K=0;a.c.xa=ga();a.c.oa=0;zb(a)}
m.mb=function(a){if(Ka(this,!0)){if(!this.i.da){xb(this);this.v&&this.v.start(this.c.xa,Ab(this));this.i.da=!0;this.i.Eb=!0;this.G&&this.G.start();var b=this.A.run;b&&(b.textContent="Halt");this.v&&(this.v.pa(!0),a&&Bb(this.v,!0))}this.c.lb>=this.c.Aa&&zb(this,!0);this.c.Ka=0;this.c.Ua=ga();this.c.oa&&(a=this.c.Ua-this.c.oa,a>this.c.Gb&&(this.c.xa+=a,this.c.xa>this.c.Ua&&(this.c.xa=this.c.Ua)));try{do{this.Lb(this.i.Ra?1:this.c.xc);var c=this.N-this.a;this.K+=c;this.c.Ka+=c;yb(this,0,!0);a=c;this.i.Ra&& m.mb=function(a){if(Ka(this,!0)){if(!this.i.ea){xb(this);this.v&&this.v.start(this.c.xa,Ab(this));this.i.ea=!0;this.i.Gb=!0;this.G&&this.G.start();var b=this.A.run;b&&(b.textContent="Halt");this.v&&(this.v.pa(!0),a&&Bb(this.v,!0))}this.c.lb>=this.c.Aa&&zb(this,!0);this.c.Ka=0;this.c.Ua=ga();this.c.oa&&(a=this.c.Ua-this.c.oa,a>this.c.Ib&&(this.c.xa+=a,this.c.xa>this.c.Ua&&(this.c.xa=this.c.Ua)));try{do{this.Nb(this.i.Ra?1:this.c.zc);var c=this.N-this.a;this.K+=c;this.c.Ka+=c;yb(this,0,!0);a=c;this.i.Ra&&
(b=!1,this.c.Va=this.c.Va+this.Fb()|0,this.c.ya-=a,0>=this.c.ya&&(this.c.ya+=this.c.Fa,b=!0),0<=this.c.Ga&&this.c.Ga<=Ab(this)&&(this.c.Fa=this.c.Ga=-1,tb(this),wb(this),b=!0),b&&this.X(Ab(this)+" cycles: checksum="+n(this.c.Va)));this.c.Ia-=c;0>=this.c.Ia&&(this.c.Ia+=this.c.Ib,this.v&&Cb(this.v,this.c.Xa++),this.c.Xa>this.Y&&(this.c.Xa=0));this.c.Ha-=c;0>=this.c.Ha&&(this.c.Ha+=this.c.Hb,this.v&&this.v.pa());this.c.Ja-=c;if(0>=this.c.Ja){this.c.Ja+=this.c.kb;break}}while(this.i.da)}catch(e){wb(this); (b=!1,this.c.Va=this.c.Va+this.Hb()|0,this.c.ya-=a,0>=this.c.ya&&(this.c.ya+=this.c.Fa,b=!0),0<=this.c.Ga&&this.c.Ga<=Ab(this)&&(this.c.Fa=this.c.Ga=-1,tb(this),wb(this),b=!0),b&&this.X(Ab(this)+" cycles: checksum="+n(this.c.Va)));this.c.Ia-=c;0>=this.c.Ia&&(this.c.Ia+=this.c.Kb,this.v&&Cb(this.v,this.c.Xa++),this.c.Xa>this.Y&&(this.c.Xa=0));this.c.Ha-=c;0>=this.c.Ha&&(this.c.Ha+=this.c.Jb,this.v&&this.v.pa());this.c.Ja-=c;if(0>=this.c.Ja){this.c.Ja+=this.c.kb;break}}while(this.i.ea)}catch(e){wb(this);
ub(this);this.v&&this.v.stop(ga(),Ab(this));Ka(this,!1);c=e.stack||e.message;this.i.ma=!0;this.J(c);return}c=setTimeout;a=this.ha;this.c.oa=ga();b=this.c.Gb;this.c.Ka&&(b=Math.round(b*this.c.Ka/this.c.kb));var b=b-(this.c.oa-this.c.Ua),d=this.c.oa-this.c.xa;d&&(this.c.na=Math.round(this.K/(10*d))/100,864E5<=d&&(this.O=0,xb(this)));if(0>b||this.c.na<this.c.wa)b=0;this.c.lb+=this.c.Ka;this.c.oa+=b;c(a,b)}else ub(this),this.v&&this.v.stop(ga(),Ab(this))};m.Lb=function(){return 0}; ub(this);this.v&&this.v.stop(ga(),Ab(this));Ka(this,!1);c=e.stack||e.message;this.i.ma=!0;this.J(c);return}c=setTimeout;a=this.ia;this.c.oa=ga();b=this.c.Ib;this.c.Ka&&(b=Math.round(b*this.c.Ka/this.c.kb));var b=b-(this.c.oa-this.c.Ua),d=this.c.oa-this.c.xa;d&&(this.c.na=Math.round(this.K/(10*d))/100,864E5<=d&&(this.O=0,xb(this)));if(0>b||this.c.na<this.c.wa)b=0;this.c.lb+=this.c.Ka;this.c.oa+=b;c(a,b)}else ub(this),this.v&&this.v.stop(ga(),Ab(this))};m.Nb=function(){return 0};
function wb(a,b){a.i.Ea&&(a.i.ib=!0);a.N-=a.a;a.a=0;yb(a,a.K);a.K=0;if(a.i.da){a.i.da=!1;a.G&&a.G.stop();var c=a.A.run;c&&(c.textContent="Run")}a.i.Sa=b}function ub(a){a.v&&(Cb(a.v,-1),a.v.pa(void 0))}function Eb(a){this.vb=+a.model||8080;pb.call(this,a,1E6);this.fa=Fb;sb(this);this.i.Sa=this.i.rc=!1;this.aa=0;this.V=[];this.ga=0;Gb(this)}x(Eb,pb);function Hb(a,b){a.V.push(b)}m=Eb.prototype;m.reset=function(){this.i.da&&wb(this);Gb(this);sb(this);this.i.ma=!1;this.parent.reset.call(this)}; function wb(a,b){a.i.Ea&&(a.i.ib=!0);a.N-=a.a;a.a=0;yb(a,a.K);a.K=0;if(a.i.ea){a.i.ea=!1;a.G&&a.G.stop();var c=a.A.run;c&&(c.textContent="Run")}a.i.Sa=b}function ub(a){a.v&&(Cb(a.v,-1),a.v.pa(void 0))}function Eb(a){this.xb=+a.model||8080;pb.call(this,a,1E6);this.ga=Fb;sb(this);this.i.Sa=this.i.tc=!1;this.aa=0;this.V=[];this.ha=0;Gb(this)}Ea(Eb,pb);function Hb(a,b){a.V.push(b)}m=Eb.prototype;m.reset=function(){this.i.ea&&wb(this);Gb(this);sb(this);this.i.ma=!1;this.parent.reset.call(this)};
function Gb(a){a.b=0;a.f=0;a.B=0;a.h=0;a.C=0;a.j=0;a.l=0;a.w=0;D(a,a.ga);Ib(a,0);a.F=0}function Jb(a,b){a.ga=b;D(a,b)}m.Fb=function(){var a=this.b+this.f+this.B+this.h+this.C+this.j+this.l|0;return a=a+this.w+this.s+Kb(this)|0}; function Gb(a){a.b=0;a.f=0;a.B=0;a.h=0;a.C=0;a.j=0;a.l=0;a.w=0;B(a,a.ha);Ib(a,0);a.F=0}function Jb(a,b){a.ha=b;B(a,b)}m.Hb=function(){var a=this.b+this.f+this.B+this.h+this.C+this.j+this.l|0;return a=a+this.w+this.s+Kb(this)|0};
m.save=function(){var a=new E(this);F(a,0,[this.b,this.f,this.B,this.h,this.C,this.j,this.l,this.w,this.s,Kb(this)]);F(a,1,[this.F,this.O,this.c.za]);for(var b=this.m,c=0,d=[],e=0;e<b.l;e++){var f=b.b[e];if(f.ca||f.Cb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var q=f[g],p=g+1;p<f.length&&f[p]===q;)p++;l[k++]=p-g;l[k++]=q;g=p}if(l.length<f.length){f=l;break a}}d[h]=f}}F(a,2,d);return a.data()}; m.save=function(){var a=new C(this);D(a,0,[this.b,this.f,this.B,this.h,this.C,this.j,this.l,this.w,this.s,Kb(this)]);D(a,1,[this.F,this.O,this.c.za]);for(var b=this.m,c=0,d=[],e=0;e<b.l;e++){var f=b.b[e];if(f.da||f.Eb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var q=f[g],p=g+1;p<f.length&&f[p]===q;)p++;l[k++]=p-g;l[k++]=q;g=p}if(l.length<f.length){f=l;break a}}d[h]=f}}D(a,2,d);return a.data()};
m.restore=function(a){var b=a[0];this.b=b[0];this.f=b[1];this.B=b[2];this.h=b[3];this.C=b[4];this.j=b[5];this.l=b[6];this.w=b[7]&65535;D(this,b[8]);Ib(this,b[9]);b=a[1];this.F=b[0];this.O=b[1];xb(this,b[3]);a:{b=this.m;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.w){for(var f=0,h=Array(b.w),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.b[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; m.restore=function(a){var b=a[0];this.b=b[0];this.f=b[1];this.B=b[2];this.h=b[3];this.C=b[4];this.j=b[5];this.l=b[6];this.w=b[7]&65535;B(this,b[8]);Ib(this,b[9]);b=a[1];this.F=b[0];this.O=b[1];xb(this,b[3]);a:{b=this.m;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.w){for(var f=0,h=Array(b.w),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.b[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
m.S=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.A[b]=c;this.aa++;d=!0;break;default:d=this.parent.S.call(this,a,b,c)}return d};function Lb(a){return a.f<<8|a.B}function Mb(a,b){a.f=b>>8&255;a.B=b&255}function Nb(a){return a.h<<8|a.C}function Ob(a,b){a.h=b>>8&255;a.C=b&255}function G(a){return a.j<<8|a.l} m.S=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.A[b]=c;this.aa++;d=!0;break;default:d=this.parent.S.call(this,a,b,c)}return d};function Lb(a){return a.f<<8|a.B}function Mb(a,b){a.f=b>>8&255;a.B=b&255}function Nb(a){return a.h<<8|a.C}function Ob(a,b){a.h=b>>8&255;a.C=b&255}function F(a){return a.j<<8|a.l}
function H(a,b){a.j=b>>8&255;a.l=b&255}function D(a,b){a.s=b&65535}function K(a){return a.o&256?1:0}function Pb(a,b){a.o=a.o&255|b}function Qb(a){return Na[a.u&255]?4:0}function Kb(a){return a.H&-214|(a.u&128?128:0)|(a.o&255?0:64)|((a.u^a.D)&16?16:0)|Qb(a)|K(a)}function Ib(a,b){a.o=a.u=a.D=0;b&1&&(a.o|=256);b&4||(a.u|=1);b&16&&(a.D|=16);b&64||(a.o|=255);b&128&&(a.u^=192);a.H=a.H&-726|b&512|2}function Rb(a,b){a.D=a.b^b;return a.u=(a.o=a.b+b)&255} function H(a,b){a.j=b>>8&255;a.l=b&255}function B(a,b){a.s=b&65535}function I(a){return a.o&256?1:0}function Pb(a,b){a.o=a.o&255|b}function Qb(a){return Na[a.u&255]?4:0}function Kb(a){return a.H&-214|(a.u&128?128:0)|(a.o&255?0:64)|((a.u^a.D)&16?16:0)|Qb(a)|I(a)}function Ib(a,b){a.o=a.u=a.D=0;b&1&&(a.o|=256);b&4||(a.u|=1);b&16&&(a.D|=16);b&64||(a.o|=255);b&128&&(a.u^=192);a.H=a.H&-726|b&512|2}function Rb(a,b){a.D=a.b^b;return a.u=(a.o=a.b+b)&255}
function Sb(a,b){a.D=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?1:0))&255}function Tb(a,b){a.o=a.u=a.D=a.b&b;(a.b|b)&8&&(a.D^=16);return a.o}function Ub(a,b){a.D=b^255;b=a.u=b+255&255;a.o=a.o&-256|b;return b}function Vb(a,b){a.D=b;b=a.u=b+1&255;a.o=a.o&-256|b;return b}function Wb(a,b){return a.u=a.o=a.D=a.b|b}function M(a,b){b^=255;a.D=a.b^b;return a.u=(a.o=a.b+b+1^256)&255}function Xb(a,b){b^=255;a.D=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?0:1)^256)&255}function Yb(a,b){return a.u=a.o=a.D=a.b^b}m.I=function(a){return this.m.I(a)}; function Sb(a,b){a.D=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?1:0))&255}function Tb(a,b){a.o=a.u=a.D=a.b&b;(a.b|b)&8&&(a.D^=16);return a.o}function Ub(a,b){a.D=b^255;b=a.u=b+255&255;a.o=a.o&-256|b;return b}function Vb(a,b){a.D=b;b=a.u=b+1&255;a.o=a.o&-256|b;return b}function Wb(a,b){return a.u=a.o=a.D=a.b|b}function K(a,b){b^=255;a.D=a.b^b;return a.u=(a.o=a.b+b+1^256)&255}function Xb(a,b){b^=255;a.D=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?0:1)^256)&255}function Yb(a,b){return a.u=a.o=a.D=a.b^b}m.I=function(a){return this.m.I(a)};
m.U=function(a,b){this.m.U(a,b)};function N(a){var b=a.I(a.s);D(a,a.s+1);return b}function P(a){var b=Xa(a.m,a.s);D(a,a.s+2);return b}function Q(a){var b=Xa(a.m,a.w);a.w=a.w+2&65535;return b}function R(a,b){a.w=a.w-2&65535;Za(a.m,a.w,b)}function S(a,b,c,d){d=d||2;a.A[b]&&(void 0===c&&(a.i.ma=!0,a.J("Value for "+b+" is invalid"),wb(a)),c=!a.i.da||a.i.Db?n(c,d):"--------".substr(0,d),a.A[b].textContent!=c&&(a.A[b].textContent=c))} m.U=function(a,b){this.m.U(a,b)};function N(a){var b=a.I(a.s);B(a,a.s+1);return b}function O(a){var b=Xa(a.m,a.s);B(a,a.s+2);return b}function P(a){var b=Xa(a.m,a.w);a.w=a.w+2&65535;return b}function Q(a,b){a.w=a.w-2&65535;Za(a.m,a.w,b)}function R(a,b,c,d){d=d||2;a.A[b]&&(void 0===c&&(a.i.ma=!0,a.J("Value for "+b+" is invalid"),wb(a)),c=!a.i.ea||a.i.Fb?n(c,d):"--------".substr(0,d),a.A[b].textContent!=c&&(a.A[b].textContent=c))}
m.pa=function(a){this.aa&&(a||!this.i.da||this.i.Db)&&(S(this,"A",this.b),S(this,"B",this.f),S(this,"C",this.B),S(this,"BC",Lb(this),4),S(this,"D",this.h),S(this,"E",this.C),S(this,"DE",Nb(this),4),S(this,"H",this.j),S(this,"L",this.l),S(this,"HL",G(this),4),S(this,"SP",this.w,4),S(this,"PC",this.s,4),a=Kb(this),S(this,"PS",a,4),S(this,"IF",a&512?1:0,1),S(this,"SF",a&128?1:0,1),S(this,"ZF",a&64?1:0,1),S(this,"AF",a&16?1:0,1),S(this,"PF",a&4?1:0,1),S(this,"CF",a&1?1:0,1));if(a=this.A.speed)a.textContent= m.pa=function(a){this.aa&&(a||!this.i.ea||this.i.Fb)&&(R(this,"A",this.b),R(this,"B",this.f),R(this,"C",this.B),R(this,"BC",Lb(this),4),R(this,"D",this.h),R(this,"E",this.C),R(this,"DE",Nb(this),4),R(this,"H",this.j),R(this,"L",this.l),R(this,"HL",F(this),4),R(this,"SP",this.w,4),R(this,"PC",this.s,4),a=Kb(this),R(this,"PS",a,4),R(this,"IF",a&512?1:0,1),R(this,"SF",a&128?1:0,1),R(this,"ZF",a&64?1:0,1),R(this,"AF",a&16?1:0,1),R(this,"PF",a&4?1:0,1),R(this,"CF",a&1?1:0,1));if(a=this.A.speed)a.textContent=
this.i.da&&this.c.na?this.c.na.toFixed(2)+"Mhz":"Stopped"};m.Lb=function(a){this.i.Sa=!0;this.i.rc=!1;this.i.Eb=!1;this.N=this.a=a;do{if(a=this.F)this.F&8&&this.H&512?(a=199|(this.F&7)<<3,this.F&=-16,this.H&=-513,this.fa[a].call(this),a=!0):a=!1,a=!a;if(a&&this.F&16){this.a=0;break}this.fa[N(this)].call(this)}while(0<this.a);return this.i.Sa?this.N-this.a:void 0===this.i.Sa?0:-1};ua(function(){for(var a=z(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Eb(d);Ja(d,c)}}); this.i.ea&&this.c.na?this.c.na.toFixed(2)+"Mhz":"Stopped"};m.Nb=function(a){this.i.Sa=!0;this.i.tc=!1;this.i.Gb=!1;this.N=this.a=a;do{if(a=this.F)this.F&8&&this.H&512?(a=199|(this.F&7)<<3,this.F&=-16,this.H&=-513,this.ga[a].call(this),a=!0):a=!1,a=!a;if(a&&this.F&16){this.a=0;break}this.ga[N(this)].call(this)}while(0<this.a);return this.i.Sa?this.N-this.a:void 0===this.i.Sa?0:-1};ta(function(){for(var a=y(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new Eb(d);Ja(d,c)}});
function Zb(){this.a-=4}function $b(){D(this,P(this));this.a-=10}function ac(){D(this,Q(this));this.a-=10}function bc(){var a=P(this);R(this,this.s);D(this,a);this.a-=17} function Zb(){this.a-=4}function $b(){B(this,O(this));this.a-=10}function ac(){B(this,P(this));this.a-=10}function bc(){var a=O(this);Q(this,this.s);B(this,a);this.a-=17}
var Fb=[Zb,function(){Mb(this,P(this));this.a-=10},function(){this.U(Lb(this),this.b);this.a-=7},function(){Mb(this,Lb(this)+1);this.a-=5},function(){this.f=Vb(this,this.f);this.a-=5},function(){this.f=Ub(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;Pb(this,a&256);this.a-=4},Zb,function(){var a;H(this,a=G(this)+Lb(this));Pb(this,a>>8&256);this.a-=10},function(){this.b=this.I(Lb(this));this.a-=7},function(){Mb(this,Lb(this)-1);this.a-=5}, var Fb=[Zb,function(){Mb(this,O(this));this.a-=10},function(){this.U(Lb(this),this.b);this.a-=7},function(){Mb(this,Lb(this)+1);this.a-=5},function(){this.f=Vb(this,this.f);this.a-=5},function(){this.f=Ub(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;Pb(this,a&256);this.a-=4},Zb,function(){var a;H(this,a=F(this)+Lb(this));Pb(this,a>>8&256);this.a-=10},function(){this.b=this.I(Lb(this));this.a-=7},function(){Mb(this,Lb(this)-1);this.a-=5},
function(){this.B=Vb(this,this.B);this.a-=5},function(){this.B=Ub(this,this.B);this.a-=5},function(){this.B=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;Pb(this,a);this.a-=4},Zb,function(){Ob(this,P(this));this.a-=10},function(){this.U(Nb(this),this.b);this.a-=7},function(){Ob(this,Nb(this)+1);this.a-=5},function(){this.h=Vb(this,this.h);this.a-=5},function(){this.h=Ub(this,this.h);this.a-=5},function(){this.h=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|K(this); function(){this.B=Vb(this,this.B);this.a-=5},function(){this.B=Ub(this,this.B);this.a-=5},function(){this.B=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;Pb(this,a);this.a-=4},Zb,function(){Ob(this,O(this));this.a-=10},function(){this.U(Nb(this),this.b);this.a-=7},function(){Ob(this,Nb(this)+1);this.a-=5},function(){this.h=Vb(this,this.h);this.a-=5},function(){this.h=Ub(this,this.h);this.a-=5},function(){this.h=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|I(this);
Pb(this,a&256);this.a-=4},Zb,function(){var a;H(this,a=G(this)+Nb(this));Pb(this,a>>8&256);this.a-=10},function(){this.b=this.I(Nb(this));this.a-=7},function(){Ob(this,Nb(this)-1);this.a-=5},function(){this.C=Vb(this,this.C);this.a-=5},function(){this.C=Ub(this,this.C);this.a-=5},function(){this.C=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(K(this)<<8|this.b)>>1;Pb(this,a&256);this.a-=4},Zb,function(){H(this,P(this));this.a-=10},function(){var a=P(this);Za(this.m,a,G(this));this.a-=16}, Pb(this,a&256);this.a-=4},Zb,function(){var a;H(this,a=F(this)+Nb(this));Pb(this,a>>8&256);this.a-=10},function(){this.b=this.I(Nb(this));this.a-=7},function(){Ob(this,Nb(this)-1);this.a-=5},function(){this.C=Vb(this,this.C);this.a-=5},function(){this.C=Ub(this,this.C);this.a-=5},function(){this.C=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(I(this)<<8|this.b)>>1;Pb(this,a&256);this.a-=4},Zb,function(){H(this,O(this));this.a-=10},function(){var a=O(this);Za(this.m,a,F(this));this.a-=16},
function(){H(this,G(this)+1);this.a-=5},function(){this.j=Vb(this,this.j);this.a-=5},function(){this.j=Ub(this,this.j);this.a-=5},function(){this.j=N(this);this.a-=7},function(){var a=0,b=K(this);if((this.u^this.D)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=Rb(this,a);Pb(this,b?256:0);this.a-=4},Zb,function(){var a;H(this,a=G(this)+G(this));Pb(this,a>>8&256);this.a-=10},function(){var a;a=P(this);a=Xa(this.m,a);H(this,a);this.a-=16},function(){H(this,G(this)-1);this.a-=5},function(){this.l= function(){H(this,F(this)+1);this.a-=5},function(){this.j=Vb(this,this.j);this.a-=5},function(){this.j=Ub(this,this.j);this.a-=5},function(){this.j=N(this);this.a-=7},function(){var a=0,b=I(this);if((this.u^this.D)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=Rb(this,a);Pb(this,b?256:0);this.a-=4},Zb,function(){var a;H(this,a=F(this)+F(this));Pb(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=Xa(this.m,a);H(this,a);this.a-=16},function(){H(this,F(this)-1);this.a-=5},function(){this.l=
Vb(this,this.l);this.a-=5},function(){this.l=Ub(this,this.l);this.a-=5},function(){this.l=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Zb,function(){this.w=P(this)&65535;this.a-=10},function(){this.U(P(this),this.b);this.a-=13},function(){this.w=this.w+1&65535;this.a-=5},function(){var a=G(this);this.U(a,Vb(this,this.I(a)));this.a-=10},function(){var a=G(this);this.U(a,Ub(this,this.I(a)));this.a-=10},function(){this.U(G(this),N(this));this.a-=10},function(){this.o|=256;this.a-=4},Zb, Vb(this,this.l);this.a-=5},function(){this.l=Ub(this,this.l);this.a-=5},function(){this.l=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Zb,function(){this.w=O(this)&65535;this.a-=10},function(){this.U(O(this),this.b);this.a-=13},function(){this.w=this.w+1&65535;this.a-=5},function(){var a=F(this);this.U(a,Vb(this,this.I(a)));this.a-=10},function(){var a=F(this);this.U(a,Ub(this,this.I(a)));this.a-=10},function(){this.U(F(this),N(this));this.a-=10},function(){this.o|=256;this.a-=4},Zb,
function(){var a;H(this,a=G(this)+this.w);Pb(this,a>>8&256);this.a-=10},function(){this.b=this.I(P(this));this.a-=13},function(){this.w=this.w-1&65535;this.a-=5},function(){this.b=Vb(this,this.b);this.a-=5},function(){this.b=Ub(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){Pb(this,K(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.B;this.a-=5},function(){this.f=this.h;this.a-=5},function(){this.f=this.C;this.a-=5},function(){this.f=this.j;this.a-=5},function(){this.f= function(){var a;H(this,a=F(this)+this.w);Pb(this,a>>8&256);this.a-=10},function(){this.b=this.I(O(this));this.a-=13},function(){this.w=this.w-1&65535;this.a-=5},function(){this.b=Vb(this,this.b);this.a-=5},function(){this.b=Ub(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){Pb(this,I(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.B;this.a-=5},function(){this.f=this.h;this.a-=5},function(){this.f=this.C;this.a-=5},function(){this.f=this.j;this.a-=5},function(){this.f=
this.l;this.a-=5},function(){this.f=this.I(G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.B=this.f;this.a-=5},function(){this.a-=5},function(){this.B=this.h;this.a-=5},function(){this.B=this.C;this.a-=5},function(){this.B=this.j;this.a-=5},function(){this.B=this.l;this.a-=5},function(){this.B=this.I(G(this));this.a-=7},function(){this.B=this.b;this.a-=5},function(){this.h=this.f;this.a-=5},function(){this.h=this.B;this.a-=5},function(){this.a-=5},function(){this.h=this.C; this.l;this.a-=5},function(){this.f=this.I(F(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.B=this.f;this.a-=5},function(){this.a-=5},function(){this.B=this.h;this.a-=5},function(){this.B=this.C;this.a-=5},function(){this.B=this.j;this.a-=5},function(){this.B=this.l;this.a-=5},function(){this.B=this.I(F(this));this.a-=7},function(){this.B=this.b;this.a-=5},function(){this.h=this.f;this.a-=5},function(){this.h=this.B;this.a-=5},function(){this.a-=5},function(){this.h=this.C;
this.a-=5},function(){this.h=this.j;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=this.I(G(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.C=this.f;this.a-=5},function(){this.C=this.B;this.a-=5},function(){this.C=this.h;this.a-=5},function(){this.a-=5},function(){this.C=this.j;this.a-=5},function(){this.C=this.l;this.a-=5},function(){this.C=this.I(G(this));this.a-=7},function(){this.C=this.b;this.a-=5},function(){this.j=this.f;this.a-=5},function(){this.j= this.a-=5},function(){this.h=this.j;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=this.I(F(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.C=this.f;this.a-=5},function(){this.C=this.B;this.a-=5},function(){this.C=this.h;this.a-=5},function(){this.a-=5},function(){this.C=this.j;this.a-=5},function(){this.C=this.l;this.a-=5},function(){this.C=this.I(F(this));this.a-=7},function(){this.C=this.b;this.a-=5},function(){this.j=this.f;this.a-=5},function(){this.j=
this.B;this.a-=5},function(){this.j=this.h;this.a-=5},function(){this.j=this.C;this.a-=5},function(){this.a-=5},function(){this.j=this.l;this.a-=5},function(){this.j=this.I(G(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.l=this.f;this.a-=5},function(){this.l=this.B;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.C;this.a-=5},function(){this.l=this.j;this.a-=5},function(){this.a-=5},function(){this.l=this.I(G(this));this.a-=7},function(){this.l=this.b; this.B;this.a-=5},function(){this.j=this.h;this.a-=5},function(){this.j=this.C;this.a-=5},function(){this.a-=5},function(){this.j=this.l;this.a-=5},function(){this.j=this.I(F(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.l=this.f;this.a-=5},function(){this.l=this.B;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.C;this.a-=5},function(){this.l=this.j;this.a-=5},function(){this.a-=5},function(){this.l=this.I(F(this));this.a-=7},function(){this.l=this.b;
this.a-=5},function(){this.U(G(this),this.f);this.a-=7},function(){this.U(G(this),this.B);this.a-=7},function(){this.U(G(this),this.h);this.a-=7},function(){this.U(G(this),this.C);this.a-=7},function(){this.U(G(this),this.j);this.a-=7},function(){this.U(G(this),this.l);this.a-=7},function(){var a=this.s-1;if(this.V.length)for(var b=0;b<this.V.length;b++)if(this.V[b](a))return;this.F|=16;this.a-=7;this.H&512||wb(this)},function(){this.U(G(this),this.b);this.a-=7},function(){this.b=this.f;this.a-=5}, this.a-=5},function(){this.U(F(this),this.f);this.a-=7},function(){this.U(F(this),this.B);this.a-=7},function(){this.U(F(this),this.h);this.a-=7},function(){this.U(F(this),this.C);this.a-=7},function(){this.U(F(this),this.j);this.a-=7},function(){this.U(F(this),this.l);this.a-=7},function(){var a=this.s-1;if(this.V.length)for(var b=0;b<this.V.length;b++)if(this.V[b](a))return;this.F|=16;this.a-=7;this.H&512||wb(this)},function(){this.U(F(this),this.b);this.a-=7},function(){this.b=this.f;this.a-=5},
function(){this.b=this.B;this.a-=5},function(){this.b=this.h;this.a-=5},function(){this.b=this.C;this.a-=5},function(){this.b=this.j;this.a-=5},function(){this.b=this.l;this.a-=5},function(){this.b=this.I(G(this));this.a-=7},function(){this.a-=5},function(){this.b=Rb(this,this.f);this.a-=4},function(){this.b=Rb(this,this.B);this.a-=4},function(){this.b=Rb(this,this.h);this.a-=4},function(){this.b=Rb(this,this.C);this.a-=4},function(){this.b=Rb(this,this.j);this.a-=4},function(){this.b=Rb(this,this.l); function(){this.b=this.B;this.a-=5},function(){this.b=this.h;this.a-=5},function(){this.b=this.C;this.a-=5},function(){this.b=this.j;this.a-=5},function(){this.b=this.l;this.a-=5},function(){this.b=this.I(F(this));this.a-=7},function(){this.a-=5},function(){this.b=Rb(this,this.f);this.a-=4},function(){this.b=Rb(this,this.B);this.a-=4},function(){this.b=Rb(this,this.h);this.a-=4},function(){this.b=Rb(this,this.C);this.a-=4},function(){this.b=Rb(this,this.j);this.a-=4},function(){this.b=Rb(this,this.l);
this.a-=4},function(){this.b=Rb(this,this.I(G(this)));this.a-=7},function(){this.b=Rb(this,this.b);this.a-=4},function(){this.b=Sb(this,this.f);this.a-=4},function(){this.b=Sb(this,this.B);this.a-=4},function(){this.b=Sb(this,this.h);this.a-=4},function(){this.b=Sb(this,this.C);this.a-=4},function(){this.b=Sb(this,this.j);this.a-=4},function(){this.b=Sb(this,this.l);this.a-=4},function(){this.b=Sb(this,this.I(G(this)));this.a-=7},function(){this.b=Sb(this,this.b);this.a-=4},function(){this.b=M(this, this.a-=4},function(){this.b=Rb(this,this.I(F(this)));this.a-=7},function(){this.b=Rb(this,this.b);this.a-=4},function(){this.b=Sb(this,this.f);this.a-=4},function(){this.b=Sb(this,this.B);this.a-=4},function(){this.b=Sb(this,this.h);this.a-=4},function(){this.b=Sb(this,this.C);this.a-=4},function(){this.b=Sb(this,this.j);this.a-=4},function(){this.b=Sb(this,this.l);this.a-=4},function(){this.b=Sb(this,this.I(F(this)));this.a-=7},function(){this.b=Sb(this,this.b);this.a-=4},function(){this.b=K(this,
this.f);this.a-=4},function(){this.b=M(this,this.B);this.a-=4},function(){this.b=M(this,this.h);this.a-=4},function(){this.b=M(this,this.C);this.a-=4},function(){this.b=M(this,this.j);this.a-=4},function(){this.b=M(this,this.l);this.a-=4},function(){this.b=M(this,this.I(G(this)));this.a-=7},function(){this.b=M(this,this.b);this.a-=4},function(){this.b=Xb(this,this.f);this.a-=4},function(){this.b=Xb(this,this.B);this.a-=4},function(){this.b=Xb(this,this.h);this.a-=4},function(){this.b=Xb(this,this.C); this.f);this.a-=4},function(){this.b=K(this,this.B);this.a-=4},function(){this.b=K(this,this.h);this.a-=4},function(){this.b=K(this,this.C);this.a-=4},function(){this.b=K(this,this.j);this.a-=4},function(){this.b=K(this,this.l);this.a-=4},function(){this.b=K(this,this.I(F(this)));this.a-=7},function(){this.b=K(this,this.b);this.a-=4},function(){this.b=Xb(this,this.f);this.a-=4},function(){this.b=Xb(this,this.B);this.a-=4},function(){this.b=Xb(this,this.h);this.a-=4},function(){this.b=Xb(this,this.C);
this.a-=4},function(){this.b=Xb(this,this.j);this.a-=4},function(){this.b=Xb(this,this.l);this.a-=4},function(){this.b=Xb(this,this.I(G(this)));this.a-=7},function(){this.b=Xb(this,this.b);this.a-=4},function(){this.b=Tb(this,this.f);this.a-=4},function(){this.b=Tb(this,this.B);this.a-=4},function(){this.b=Tb(this,this.h);this.a-=4},function(){this.b=Tb(this,this.C);this.a-=4},function(){this.b=Tb(this,this.j);this.a-=4},function(){this.b=Tb(this,this.l);this.a-=4},function(){this.b=Tb(this,this.I(G(this))); this.a-=4},function(){this.b=Xb(this,this.j);this.a-=4},function(){this.b=Xb(this,this.l);this.a-=4},function(){this.b=Xb(this,this.I(F(this)));this.a-=7},function(){this.b=Xb(this,this.b);this.a-=4},function(){this.b=Tb(this,this.f);this.a-=4},function(){this.b=Tb(this,this.B);this.a-=4},function(){this.b=Tb(this,this.h);this.a-=4},function(){this.b=Tb(this,this.C);this.a-=4},function(){this.b=Tb(this,this.j);this.a-=4},function(){this.b=Tb(this,this.l);this.a-=4},function(){this.b=Tb(this,this.I(F(this)));
this.a-=7},function(){this.b=Tb(this,this.b);this.a-=4},function(){this.b=Yb(this,this.f);this.a-=4},function(){this.b=Yb(this,this.B);this.a-=4},function(){this.b=Yb(this,this.h);this.a-=4},function(){this.b=Yb(this,this.C);this.a-=4},function(){this.b=Yb(this,this.j);this.a-=4},function(){this.b=Yb(this,this.l);this.a-=4},function(){this.b=Yb(this,this.I(G(this)));this.a-=7},function(){this.b=Yb(this,this.b);this.a-=4},function(){this.b=Wb(this,this.f);this.a-=4},function(){this.b=Wb(this,this.B); this.a-=7},function(){this.b=Tb(this,this.b);this.a-=4},function(){this.b=Yb(this,this.f);this.a-=4},function(){this.b=Yb(this,this.B);this.a-=4},function(){this.b=Yb(this,this.h);this.a-=4},function(){this.b=Yb(this,this.C);this.a-=4},function(){this.b=Yb(this,this.j);this.a-=4},function(){this.b=Yb(this,this.l);this.a-=4},function(){this.b=Yb(this,this.I(F(this)));this.a-=7},function(){this.b=Yb(this,this.b);this.a-=4},function(){this.b=Wb(this,this.f);this.a-=4},function(){this.b=Wb(this,this.B);
this.a-=4},function(){this.b=Wb(this,this.h);this.a-=4},function(){this.b=Wb(this,this.C);this.a-=4},function(){this.b=Wb(this,this.j);this.a-=4},function(){this.b=Wb(this,this.l);this.a-=4},function(){this.b=Wb(this,this.I(G(this)));this.a-=7},function(){this.b=Wb(this,this.b);this.a-=4},function(){M(this,this.f);this.a-=4},function(){M(this,this.B);this.a-=4},function(){M(this,this.h);this.a-=4},function(){M(this,this.C);this.a-=4},function(){M(this,this.j);this.a-=4},function(){M(this,this.l); this.a-=4},function(){this.b=Wb(this,this.h);this.a-=4},function(){this.b=Wb(this,this.C);this.a-=4},function(){this.b=Wb(this,this.j);this.a-=4},function(){this.b=Wb(this,this.l);this.a-=4},function(){this.b=Wb(this,this.I(F(this)));this.a-=7},function(){this.b=Wb(this,this.b);this.a-=4},function(){K(this,this.f);this.a-=4},function(){K(this,this.B);this.a-=4},function(){K(this,this.h);this.a-=4},function(){K(this,this.C);this.a-=4},function(){K(this,this.j);this.a-=4},function(){K(this,this.l);
this.a-=4},function(){M(this,this.I(G(this)));this.a-=7},function(){M(this,this.b);this.a-=4},function(){this.o&255&&(D(this,Q(this)),this.a-=6);this.a-=5},function(){Mb(this,Q(this));this.a-=10},function(){var a=P(this);this.o&255&&D(this,a);this.a-=10},$b,function(){var a=P(this);this.o&255&&(R(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){R(this,Lb(this));this.a-=11},function(){this.b=Rb(this,N(this));this.a-=7},function(){R(this,this.s);D(this,0);this.a-=11},function(){this.o&255|| this.a-=4},function(){K(this,this.I(F(this)));this.a-=7},function(){K(this,this.b);this.a-=4},function(){this.o&255&&(B(this,P(this)),this.a-=6);this.a-=5},function(){Mb(this,P(this));this.a-=10},function(){var a=O(this);this.o&255&&B(this,a);this.a-=10},$b,function(){var a=O(this);this.o&255&&(Q(this,this.s),B(this,a),this.a-=6);this.a-=11},function(){Q(this,Lb(this));this.a-=11},function(){this.b=Rb(this,N(this));this.a-=7},function(){Q(this,this.s);B(this,0);this.a-=11},function(){this.o&255||
(D(this,Q(this)),this.a-=6);this.a-=5},ac,function(){var a=P(this);this.o&255||D(this,a);this.a-=10},$b,function(){var a=P(this);this.o&255||(R(this,this.s),D(this,a),this.a-=6);this.a-=11},bc,function(){this.b=Sb(this,N(this));this.a-=7},function(){R(this,this.s);D(this,8);this.a-=11},function(){K(this)||(D(this,Q(this)),this.a-=6);this.a-=5},function(){Ob(this,Q(this));this.a-=10},function(){var a=P(this);K(this)||D(this,a);this.a-=10},function(){for(var a=N(this),b=this.m,c=this.b,d=this.s+-2& (B(this,P(this)),this.a-=6);this.a-=5},ac,function(){var a=O(this);this.o&255||B(this,a);this.a-=10},$b,function(){var a=O(this);this.o&255||(Q(this,this.s),B(this,a),this.a-=6);this.a-=11},bc,function(){this.b=Sb(this,N(this));this.a-=7},function(){Q(this,this.s);B(this,8);this.a-=11},function(){I(this)||(B(this,P(this)),this.a-=6);this.a-=5},function(){Ob(this,P(this));this.a-=10},function(){var a=O(this);I(this)||B(this,a);this.a-=10},function(){for(var a=N(this),b=this.m,c=this.b,d=this.s+-2&
65535,e=1,f=0;0<e;){var h=b.s[a],g=b.D[a]||1,k=1==g?255:2==g?65535:-1,k=(c>>>=f)&k;if(void 0!==h&&h[0])h[0](a,k,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=P(this);K(this)||(R(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){R(this,Nb(this));this.a-=11},function(){this.b=M(this,N(this));this.a-=7},function(){R(this,this.s);D(this,16);this.a-=11},function(){K(this)&&(D(this,Q(this)),this.a-=6);this.a-=5},ac,function(){var a=P(this);K(this)&&D(this,a);this.a-=10},function(){for(var a= 65535,e=1,f=0;0<e;){var h=b.s[a],g=b.D[a]||1,k=1==g?255:2==g?65535:-1,k=(c>>>=f)&k;if(void 0!==h&&h[0])h[0](a,k,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=O(this);I(this)||(Q(this,this.s),B(this,a),this.a-=6);this.a-=11},function(){Q(this,Nb(this));this.a-=11},function(){this.b=K(this,N(this));this.a-=7},function(){Q(this,this.s);B(this,16);this.a-=11},function(){I(this)&&(B(this,P(this)),this.a-=6);this.a-=5},ac,function(){var a=O(this);I(this)&&B(this,a);this.a-=10},function(){for(var a=
N(this),b=this.m,c=this.s+-2&65535,d=1,e=0,f=0;0<d;){var h=b.o[a],g=b.G[a]||1,k=1==g?255:2==g?65535:-1,l=k;void 0!==h&&h[0]&&(l=h[0](a,c),void 0===l?l=k:l&=k);e|=l<<f;f+=g<<3;a+=g;d-=g}this.b=e&255;this.a-=10},function(){var a=P(this);K(this)&&(R(this,this.s),D(this,a),this.a-=6);this.a-=11},bc,function(){this.b=Xb(this,N(this));this.a-=7},function(){R(this,this.s);D(this,24);this.a-=11},function(){Qb(this)||(D(this,Q(this)),this.a-=6);this.a-=5},function(){H(this,Q(this));this.a-=10},function(){var a= N(this),b=this.m,c=this.s+-2&65535,d=1,e=0,f=0;0<d;){var h=b.o[a],g=b.G[a]||1,k=1==g?255:2==g?65535:-1,l=k;void 0!==h&&h[0]&&(l=h[0](a,c),void 0===l?l=k:l&=k);e|=l<<f;f+=g<<3;a+=g;d-=g}this.b=e&255;this.a-=10},function(){var a=O(this);I(this)&&(Q(this,this.s),B(this,a),this.a-=6);this.a-=11},bc,function(){this.b=Xb(this,N(this));this.a-=7},function(){Q(this,this.s);B(this,24);this.a-=11},function(){Qb(this)||(B(this,P(this)),this.a-=6);this.a-=5},function(){H(this,P(this));this.a-=10},function(){var a=
P(this);Qb(this)||D(this,a);this.a-=10},function(){var a=Q(this);R(this,G(this));H(this,a);this.a-=18},function(){var a=P(this);Qb(this)||(R(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){R(this,G(this));this.a-=11},function(){this.b=Tb(this,N(this));this.a-=7},function(){R(this,this.s);D(this,32);this.a-=11},function(){Qb(this)&&(D(this,Q(this)),this.a-=6);this.a-=5},function(){D(this,G(this));this.a-=5},function(){var a=P(this);Qb(this)&&D(this,a);this.a-=10},function(){var a=G(this); O(this);Qb(this)||B(this,a);this.a-=10},function(){var a=P(this);Q(this,F(this));H(this,a);this.a-=18},function(){var a=O(this);Qb(this)||(Q(this,this.s),B(this,a),this.a-=6);this.a-=11},function(){Q(this,F(this));this.a-=11},function(){this.b=Tb(this,N(this));this.a-=7},function(){Q(this,this.s);B(this,32);this.a-=11},function(){Qb(this)&&(B(this,P(this)),this.a-=6);this.a-=5},function(){B(this,F(this));this.a-=5},function(){var a=O(this);Qb(this)&&B(this,a);this.a-=10},function(){var a=F(this);
H(this,Nb(this));Ob(this,a);this.a-=5},function(){var a=P(this);Qb(this)&&(R(this,this.s),D(this,a),this.a-=6);this.a-=11},bc,function(){this.b=Yb(this,N(this));this.a-=7},function(){R(this,this.s);D(this,40);this.a-=11},function(){this.u&128||(D(this,Q(this)),this.a-=6);this.a-=5},function(){var a=Q(this);Ib(this,a&255|this.H&-256);this.b=a>>8;this.a-=10},function(){var a=P(this);this.u&128||D(this,a);this.a-=10},function(){this.H&=-513;this.a-=4},function(){var a=P(this);this.u&128||(R(this,this.s), H(this,Nb(this));Ob(this,a);this.a-=5},function(){var a=O(this);Qb(this)&&(Q(this,this.s),B(this,a),this.a-=6);this.a-=11},bc,function(){this.b=Yb(this,N(this));this.a-=7},function(){Q(this,this.s);B(this,40);this.a-=11},function(){this.u&128||(B(this,P(this)),this.a-=6);this.a-=5},function(){var a=P(this);Ib(this,a&255|this.H&-256);this.b=a>>8;this.a-=10},function(){var a=O(this);this.u&128||B(this,a);this.a-=10},function(){this.H&=-513;this.a-=4},function(){var a=O(this);this.u&128||(Q(this,this.s),
D(this,a),this.a-=6);this.a-=11},function(){R(this,Kb(this)&255|this.b<<8);this.a-=11},function(){this.b=Wb(this,N(this));this.a-=7},function(){R(this,this.s);D(this,48);this.a-=11},function(){this.u&128&&(D(this,Q(this)),this.a-=6);this.a-=5},function(){this.w=G(this)&65535;this.a-=5},function(){var a=P(this);this.u&128&&D(this,a);this.a-=10},function(){this.H|=512;this.a-=4},function(){var a=P(this);this.u&128&&(R(this,this.s),D(this,a),this.a-=6);this.a-=11},bc,function(){M(this,N(this));this.a-= B(this,a),this.a-=6);this.a-=11},function(){Q(this,Kb(this)&255|this.b<<8);this.a-=11},function(){this.b=Wb(this,N(this));this.a-=7},function(){Q(this,this.s);B(this,48);this.a-=11},function(){this.u&128&&(B(this,P(this)),this.a-=6);this.a-=5},function(){this.w=F(this)&65535;this.a-=5},function(){var a=O(this);this.u&128&&B(this,a);this.a-=10},function(){this.H|=512;this.a-=4},function(){var a=O(this);this.u&128&&(Q(this,this.s),B(this,a),this.a-=6);this.a-=11},bc,function(){K(this,N(this));this.a-=
7},function(){R(this,this.s);D(this,56);this.a-=11}];function T(a){u.call(this,"ChipSet",a,T);var b=a.model;b&&!cc[b]&&wa("Unrecognized ChipSet model: "+b);this.c=cc[b]||{};a.sound&&(this.G=null,window&&(this.G=window.AudioContext||window.webkitAudioContext),this.G&&new this.G);A(this)}x(T); 7},function(){Q(this,this.s);B(this,56);this.a-=11}];function S(a){v.call(this,"ChipSet",a,S);var b=a.model;b&&!cc[b]&&va("Unrecognized ChipSet model: "+b);this.c=cc[b]||{};a.sound&&(this.G=null,window&&(this.G=window.AudioContext||window.webkitAudioContext),this.G&&new this.G);z(this)}Ea(S);
var U={T:1978.1,ic:{W:0,Tc:1,Yc:16,md:32,Ad:64,yd:128,Ba:14},la:{W:1,Rb:1,fc:2,bc:4,cc:16,dc:32,ec:64,Ba:8},jc:{W:2,Sc:3,Ld:4,Uc:8,ud:16,vd:32,wd:64,Vc:128,Ba:0},Ed:{W:3},Cd:{W:2,od:7},Gd:{W:3,Nd:1,Fd:2,xd:4,fd:8,Wc:16,Kc:32},Dd:{W:4},Hd:{W:5,Zc:1,$c:2,ad:4,bd:8,Od:16}},V={T:100,ta:{W:66,Sd:1,$b:2,ac:4,sd:8,qd:16,qb:32,pb:64,jd:128},Qb:{W:66,INIT:0},ba:{ld:{W:98},qa:{Pb:0,Ob:1,hc:2,lc:4,Ub:5,gc:6,Id:7},Qa:16383},Tb:{W:162,INIT:0},Sb:{W:194,INIT:0}},cc={SI1978:U,VT100:V};T.prototype.S=function(){return!1}; var T={T:1978.1,kc:{W:0,Vc:1,$c:16,od:32,Cd:64,Ad:128,Ba:14},la:{W:1,Tb:1,hc:2,dc:4,ec:16,fc:32,gc:64,Ba:8},lc:{W:2,Uc:3,Nd:4,Wc:8,wd:16,xd:32,yd:64,Xc:128,Ba:0},Gd:{W:3},Ed:{W:2,qd:7},Id:{W:3,Pd:1,Hd:2,zd:4,hd:8,Yc:16,Mc:32},Fd:{W:4},Jd:{W:5,ad:1,bd:2,cd:4,dd:8,Qd:16}},U={T:100,ta:{W:66,Ud:1,bc:2,cc:4,ud:8,sd:16,rb:32,qb:64,ld:128},Sb:{W:66,INIT:0},ba:{nd:{W:98},qa:{Rb:0,Qb:1,jc:2,mc:4,Wb:5,ic:6,Kd:7},Qa:16383},Vb:{W:162,INIT:0},Ub:{W:194,INIT:0}},cc={SI1978:T,VT100:U};S.prototype.S=function(){return!1};
T.prototype.ka=function(a,b,c,d){this.m=b;this.a=c;this.M=d;this.v=a;$a(b,this,this.c.Ya);ab(b,this,this.c.Za)};T.prototype.Z=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.ea=function(a){return a?this.save():!0};U.INIT=[[U.ic.Ba,U.la.Ba,U.jc.Ba,0,0,0,0]];V.INIT=[[V.Qb.INIT,V.ta.$b|V.ta.ac,V.Tb.INIT,V.Sb.INIT],[0,0,0,0,Array(100)]];m=T.prototype;m.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.J("reset error")}; S.prototype.ka=function(a,b,c,d){this.m=b;this.a=c;this.M=d;this.v=a;$a(b,this,this.c.Ya);ab(b,this,this.c.Za)};S.prototype.Z=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};S.prototype.fa=function(a){return a?this.save():!0};T.INIT=[[T.kc.Ba,T.la.Ba,T.lc.Ba,0,0,0,0]];U.INIT=[[U.Sb.INIT,U.ta.bc|U.ta.cc,U.Vb.INIT,U.Ub.INIT],[0,0,0,0,Array(100)]];m=S.prototype;m.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.J("reset error")};
m.save=function(){var a=new E(this);switch(this.c.T){case U.T:F(a,0,[this.O,this.f,this.V,this.s,this.w,this.K,this.N]);break;case V.T:F(a,0,[this.D,this.j,this.H,this.F]),F(a,1,[this.o,this.b,this.l,this.u,this.h])}return a.data()}; m.save=function(){var a=new C(this);switch(this.c.T){case T.T:D(a,0,[this.O,this.f,this.V,this.s,this.w,this.K,this.N]);break;case U.T:D(a,0,[this.D,this.j,this.H,this.F]),D(a,1,[this.o,this.b,this.l,this.u,this.h])}return a.data()};
m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.T){case U.T:return this.O=b[0],this.f=b[1],this.V=b[2],this.s=b[3],this.w=b[4],this.K=b[5],this.N=b[6],!0;case V.T:return this.D=b[0],this.j=b[2],this.H=b[3],this.F=b[4],b=a[1],this.o=b[0],this.b=b[1],this.l=b[2],this.u=b[3],this.h=b[4],!0}return!1};m.start=function(){};m.stop=function(){};function dc(a,b,c){a.f&=~b;c&&(a.f|=b)}m.tc=function(){return this.O};m.uc=function(){return this.f};m.vc=function(){return this.V}; m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.T){case T.T:return this.O=b[0],this.f=b[1],this.V=b[2],this.s=b[3],this.w=b[4],this.K=b[5],this.N=b[6],!0;case U.T:return this.D=b[0],this.j=b[2],this.H=b[3],this.F=b[4],b=a[1],this.o=b[0],this.b=b[1],this.l=b[2],this.u=b[3],this.h=b[4],!0}return!1};m.start=function(){};m.stop=function(){};function dc(a,b,c){a.f&=~b;c&&(a.f|=b)}m.vc=function(){return this.O};m.wc=function(){return this.f};m.xc=function(){return this.V};
m.sc=function(){return this.s>>8-this.w&255};m.yc=function(a,b){this.w=b};m.Ac=function(a,b){this.K=b};m.zc=function(a,b){this.s=b<<8|this.s>>8};m.Bc=function(a,b){this.N=b};m.Cc=function(){};function ec(a){var b=0,c=0,d=~a.o;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} m.uc=function(){return this.s>>8-this.w&255};m.Ac=function(a,b){this.w=b};m.Cc=function(a,b){this.K=b};m.Bc=function(a,b){this.s=b<<8|this.s>>8};m.Dc=function(a,b){this.N=b};m.Ec=function(){};function ec(a){var b=0,c=0,d=~a.o;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}
m.wc=function(){var a=this.j,a=a&~V.ta.pb;if((Ab(this.a)&64)<<1&&(a|=V.ta.pb,a!=this.j)){var b,c;b=this.l&1;switch(this.l>>1&7){case V.ba.qa.Ob:this.o=this.o<<1|b;break;case V.ba.qa.Ub:b=ec(this);this.h[b]=V.ba.Qa;break;case V.ba.qa.Pb:this.b=this.b<<1|b;break;case V.ba.qa.lc:b=ec(this);c=this.b&V.ba.Qa;this.h[b]=c;break;case V.ba.qa.gc:b=ec(this);c=this.h[b];null==c&&(c=V.ba.Qa);this.b=c;break;case V.ba.qa.hc:this.b<<=1,this.u=this.b&V.ba.Qa+1}}a&=~V.ta.qb;this.u&&(a|=V.ta.qb);return this.j=a}; m.yc=function(){var a=this.j,a=a&~U.ta.qb;if((Ab(this.a)&64)<<1&&(a|=U.ta.qb,a!=this.j)){var b,c;b=this.l&1;switch(this.l>>1&7){case U.ba.qa.Qb:this.o=this.o<<1|b;break;case U.ba.qa.Wb:b=ec(this);this.h[b]=U.ba.Qa;break;case U.ba.qa.Rb:this.b=this.b<<1|b;break;case U.ba.qa.mc:b=ec(this);c=this.b&U.ba.Qa;this.h[b]=c;break;case U.ba.qa.ic:b=ec(this);c=this.h[b];null==c&&(c=U.ba.Qa);this.b=c;break;case U.ba.qa.jc:this.b<<=1,this.u=this.b&U.ba.Qa+1}}a&=~U.ta.rb;this.u&&(a|=U.ta.rb);return this.j=a};
m.Dc=function(a,b){this.D=b};m.Gc=function(a,b){this.l=b};m.Fc=function(a,b){this.H=b};m.Ec=function(a,b){this.F=b};U.Ya={0:T.prototype.tc,1:T.prototype.uc,2:T.prototype.vc,3:T.prototype.sc};U.Za={2:T.prototype.yc,3:T.prototype.Ac,4:T.prototype.zc,5:T.prototype.Bc,6:T.prototype.Cc};V.Ya={66:T.prototype.wc};V.Za={66:T.prototype.Dc,98:T.prototype.Gc,162:T.prototype.Fc,194:T.prototype.Ec};ua(function(){for(var a=z(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new T(d);Ja(d,c)}}); m.Fc=function(a,b){this.D=b};m.Ic=function(a,b){this.l=b};m.Hc=function(a,b){this.H=b};m.Gc=function(a,b){this.F=b};T.Ya={0:S.prototype.vc,1:S.prototype.wc,2:S.prototype.xc,3:S.prototype.uc};T.Za={2:S.prototype.Ac,3:S.prototype.Cc,4:S.prototype.Bc,5:S.prototype.Dc,6:S.prototype.Ec};U.Ya={66:S.prototype.yc};U.Za={66:S.prototype.Fc,98:S.prototype.Ic,162:S.prototype.Hc,194:S.prototype.Gc};ta(function(){for(var a=y(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new S(d);Ja(d,c)}});
function fc(a){u.call(this,"ROM",a,fc);this.b=null;this.l=a.addr;this.c=a.size;this.o=a.writable;this.f=a.alias;this.h=a.file;this.s=ba(this.h);if(this.h){a=this.h;var b=ca(this.s);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){gc(c,a,b,f)})}}x(fc);var hc=[0,5];fc.prototype.ka=function(a,b,c,d){this.m=b;this.a=c;this.M=d;ic(this)}; function fc(a){v.call(this,"ROM",a,fc);this.b=null;this.l=a.addr;this.c=a.size;this.o=a.writable;this.f=a.alias;this.h=a.file;this.s=ba(this.h);if(this.h){a=this.h;var b=ca(this.s);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){gc(c,a,b,f)})}}Ea(fc);var hc=[0,5];fc.prototype.ka=function(a,b,c,d){this.m=b;this.a=c;this.M=d;ic(this)};
fc.prototype.Z=function(){this.j&&(this.M&&this.M.a(this.id,this.l,this.c,this.j),delete this.j);return!0};fc.prototype.ea=function(){return!0}; fc.prototype.Z=function(){this.j&&(this.M&&this.M.a(this.id,this.l,this.c,this.j),delete this.j);return!0};fc.prototype.fa=function(){return!0};
function gc(a,b,c,d){if(d)a.J("Unable to load system ROM (error "+d+": "+b+")");else{Ga(a.gb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.j=e.symbols;if(!a.b.length){t("Empty ROM: "+b);return}if(1==a.b.length){t(a.b[0]);return}}catch(g){a.J("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function gc(a,b,c,d){if(d)a.J("Unable to load system ROM (error "+d+": "+b+")");else{Ga(a.gb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.j=e.symbols;if(!a.b.length){t("Empty ROM: "+b);return}if(1==a.b.length){t(a.b[0]);return}}catch(g){a.J("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);ic(a)}} " ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);ic(a)}}
function ic(a){if(!La(a))if(!a.h)A(a);else if(a.b&&a.m){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size (0x"+n(a.b.length)+") does not match specified size ("+("0x"+n(a.c))+")";a.i.ma=!0;a.J(b)}else if(jc(a,a.l)){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.m,h=d.c,g=[],k=d.l>>>f.c;0<h&&k<f.b.length;)g.push(f.b[k++]),h-=f.m;f=d.m;d=d.c;h=0;for(e>>>=f.c;0<d&&e<f.b.length;){k=g[h++];if(!k)break;f.b[e++]=k;d-=f.m}}delete a.b}A(a)}} function ic(a){if(!La(a))if(!a.h)z(a);else if(a.b&&a.m){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size (0x"+n(a.b.length)+") does not match specified size ("+("0x"+n(a.c))+")";a.i.ma=!0;a.J(b)}else if(jc(a,a.l)){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.m,h=d.c,g=[],k=d.l>>>f.c;0<h&&k<f.b.length;)g.push(f.b[k++]),h-=f.m;f=d.m;d=d.c;h=0;for(e>>>=f.c;0<d&&e<f.b.length;){k=g[h++];if(!k)break;f.b[e++]=k;d-=f.m}}delete a.b}z(a)}}
function jc(a,b){if(Ta(a.m,b,a.c,a.o?1:gb)){var c;for(c=0;c<a.b.length;c++)Ya(a.m,b+c,a.b[c]);if(a.o&&256==b){for(c=0;c<hc.length;c++)Ya(a.m,hc[c],118);Hb(a.a,function(a){return function(b){if(0<=hc.indexOf(b)){var c=!1,h=a.a,g=a.M;if(5==b)switch(c=!0,h.B){case 2:kc(a,String.fromCharCode(h.C));break;case 9:for(var k=Nb(h),l="",q=255;q--;){var p=a.a.I(k++);if(36==p)break;l+=String.fromCharCode(p)}kc(a,l);break;default:c=!1}c?ac.call(h):g&&(a.X("\nCP/M vector 0x"+n(b,4)),D(h,b),wb(g));b=!0}else b=!1; function jc(a,b){if(Ta(a.m,b,a.c,a.o?1:gb)){var c;for(c=0;c<a.b.length;c++)Ya(a.m,b+c,a.b[c]);if(a.o&&256==b){for(c=0;c<hc.length;c++)Ya(a.m,hc[c],118);Hb(a.a,function(a){return function(b){if(0<=hc.indexOf(b)){var c=!1,h=a.a,g=a.M;if(5==b)switch(c=!0,h.B){case 2:kc(a,String.fromCharCode(h.C));break;case 9:for(var k=Nb(h),l="",q=255;q--;){var p=a.a.I(k++);if(36==p)break;l+=String.fromCharCode(p)}kc(a,l);break;default:c=!1}c?ac.call(h):g&&(a.X("\nCP/M vector 0x"+n(b,4)),B(h,b),wb(g));b=!0}else b=!1;
return b}}(a));Jb(a.a,b)}return!0}return!1}function kc(a,b){b=b.replace(/\r/g,"");a.ja&&(a.ja.value+=b,a.ja.scrollTop=a.ja.scrollHeight)}ua(function(){for(var a=z(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new fc(d);Ja(d,c)}});function lc(a){u.call(this,"RAM",a,lc);this.f=a.addr;this.c=a.size;this.b=!1}x(lc);m=lc.prototype;m.ka=function(a,b,c,d){this.m=b;this.a=c;this.M=d;A(this)};m.Z=function(a,b){b||this.reset();return!0};m.ea=function(a){return a?this.save():!0}; return b}}(a));Jb(a.a,b)}return!0}return!1}function kc(a,b){b=b.replace(/\r/g,"");a.ja&&(a.ja.value+=b,a.ja.scrollTop=a.ja.scrollHeight)}ta(function(){for(var a=y(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new fc(d);Ja(d,c)}});function lc(a){v.call(this,"RAM",a,lc);this.f=a.addr;this.c=a.size;this.b=!1}Ea(lc);m=lc.prototype;m.ka=function(a,b,c,d){this.m=b;this.a=c;this.M=d;z(this)};m.Z=function(a,b){b||this.reset();return!0};m.fa=function(a){return a?this.save():!0};
m.reset=function(){!this.b&&this.c&&Ta(this.m,this.f,this.c,1)&&(this.b=!0);this.b||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};ua(function(){for(var a=z(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new lc(d);Ja(d,c)}});function X(a){u.call(this,"Keyboard",a,X);(a=a.model)&&!mc[a]&&wa("Unrecognized Keyboard model: "+a);this.a=mc[a]||{};this.reset();A(this)}x(X); m.reset=function(){!this.b&&this.c&&Ta(this.m,this.f,this.c,1)&&(this.b=!0);this.b||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};ta(function(){for(var a=y(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new lc(d);Ja(d,c)}});function V(a){v.call(this,"Keyboard",a,V);(a=a.model)&&!mc[a]&&va("Unrecognized Keyboard model: "+a);this.a=mc[a]||{};this.reset();z(this)}Ea(V);
var Y={Oc:1,Pc:3,Qc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Jc:65,Lc:66,Mc:67,Rc:68,E:69,Xc:70,cd:71,dd:72,ed:73,gd:74,hd:75,kd:76,nd:77,pd:78,rd:79,td:80,Q:81,zd:82,Bd:83,Kd:84,Md:85,Pd:86,Qd:87,Rd:88,Td:89,Ud:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Vd:97,Wd:98,Xd:99,d:100,e:101,Yd:102,Zd:103,$d:104,ae:105,be:106,k:107,ce:108, var Y={Qc:1,Rc:3,Sc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Lc:65,Nc:66,Oc:67,Tc:68,E:69,Zc:70,ed:71,fd:72,gd:73,jd:74,kd:75,md:76,pd:77,rd:78,td:79,vd:80,Q:81,Bd:82,Dd:83,Md:84,Od:85,Rd:86,Sd:87,Td:88,Vd:89,Wd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Xd:97,Yd:98,Zd:99,d:100,e:101,$d:102,ae:103,be:104,ce:105,de:106,k:107,ee:108,
de:109,n:110,ee:111,p:112,q:113,r:114,fe:115,t:116,ge:117,he:118,ie:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},nc={65:37,68:39,76:32},oc={T:1978.1,Ca:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},Z={T:100,Ca:{},ia:{W:130,Yb:1,Xb:2,Wb:4,Vb:8,Zb:16,sb:32,Jd:64,Nc:128,INIT:0},g:{}};Z.g[46]=3;Z.g[80]=5;Z.g[79]=6;Z.g[89]=7;Z.g[84]=8;Z.g[87]=9;Z.g[81]=10;Z.g[39]=16;Z.g[Y["]"]]=20;Z.g[Y["["]]=21;Z.g[73]=22;Z.g[85]=23;Z.g[82]=24;Z.g[69]=25;Z.g[Y["1"]]=26;Z.g[37]=32;Z.g[40]=34;Z.g[19]=35; fe:109,n:110,ge:111,p:112,q:113,r:114,he:115,t:116,ie:117,je:118,ke:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},nc={65:37,68:39,76:32},oc={T:1978.1,Ca:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},Z={T:100,Ca:{},ca:{W:130,$b:1,Zb:2,Yb:4,Xb:8,ac:16,tb:32,nb:63,Ld:64,Pc:128,INIT:0},g:{}};Z.g[46]=3;Z.g[80]=5;Z.g[79]=6;Z.g[89]=7;Z.g[84]=8;Z.g[87]=9;Z.g[81]=10;Z.g[39]=16;Z.g[Y["]"]]=20;Z.g[Y["["]]=21;Z.g[73]=22;Z.g[85]=23;Z.g[82]=24;Z.g[69]=25;Z.g[Y["1"]]=26;Z.g[37]=32;Z.g[40]=34;
Z.g[Y["`"]]=36;Z.g[Y["-"]]=37;Z.g[Y["9"]]=38;Z.g[Y["7"]]=39;Z.g[Y["4"]]=40;Z.g[Y["3"]]=41;Z.g[27]=42;Z.g[38]=48;Z.g[114]=49;Z.g[112]=50;Z.g[8]=51;Z.g[Y["="]]=52;Z.g[Y["0"]]=53;Z.g[Y["8"]]=54;Z.g[Y["6"]]=55;Z.g[Y["5"]]=56;Z.g[Y["2"]]=57;Z.g[9]=58;Z.g[103]=64;Z.g[115]=65;Z.g[113]=66;Z.g[96]=67;Z.g[10]=68;Z.g[Y["\\"]]=69;Z.g[76]=70;Z.g[75]=71;Z.g[71]=72;Z.g[70]=73;Z.g[65]=74;Z.g[104]=80;Z.g[2013]=81;Z.g[98]=82;Z.g[97]=83;Z.g[Y["'"]]=85;Z.g[Y[";"]]=86;Z.g[74]=87;Z.g[72]=88;Z.g[68]=89;Z.g[83]=90; Z.g[19]=35;Z.g[Y["`"]]=36;Z.g[Y["-"]]=37;Z.g[Y["9"]]=38;Z.g[Y["7"]]=39;Z.g[Y["4"]]=40;Z.g[Y["3"]]=41;Z.g[27]=42;Z.g[38]=48;Z.g[114]=49;Z.g[112]=50;Z.g[8]=51;Z.g[Y["="]]=52;Z.g[Y["0"]]=53;Z.g[Y["8"]]=54;Z.g[Y["6"]]=55;Z.g[Y["5"]]=56;Z.g[Y["2"]]=57;Z.g[9]=58;Z.g[103]=64;Z.g[115]=65;Z.g[113]=66;Z.g[96]=67;Z.g[10]=68;Z.g[Y["\\"]]=69;Z.g[76]=70;Z.g[75]=71;Z.g[71]=72;Z.g[70]=73;Z.g[65]=74;Z.g[104]=80;Z.g[2013]=81;Z.g[98]=82;Z.g[97]=83;Z.g[Y["'"]]=85;Z.g[Y[";"]]=86;Z.g[74]=87;Z.g[72]=88;Z.g[68]=89;
Z.g[110]=96;Z.g[119]=97;Z.g[101]=98;Z.g[100]=99;Z.g[13]=100;Z.g[Y["."]]=101;Z.g[Y[","]]=102;Z.g[78]=103;Z.g[66]=104;Z.g[88]=105;Z.g[120]=106;Z.g[105]=112;Z.g[99]=113;Z.g[102]=114;Z.g[109]=115;Z.g[Y["/"]]=117;Z.g[77]=118;Z.g[Y[" "]]=119;Z.g[86]=120;Z.g[67]=121;Z.g[90]=122;Z.g[121]=123;Z.g[17]=124;Z.g[16]=125;Z.g[20]=126;Z.Pa={l4:Z.ia.Yb,l3:Z.ia.Xb,l2:Z.ia.Wb,l1:Z.ia.Vb,locked:Z.ia.Zb,online:Z.ia.sb,local:~Z.ia.sb};var mc={SI1978:oc,VT100:Z}; Z.g[83]=90;Z.g[110]=96;Z.g[119]=97;Z.g[101]=98;Z.g[100]=99;Z.g[13]=100;Z.g[Y["."]]=101;Z.g[Y[","]]=102;Z.g[78]=103;Z.g[66]=104;Z.g[88]=105;Z.g[120]=106;Z.g[105]=112;Z.g[99]=113;Z.g[102]=114;Z.g[109]=115;Z.g[Y["/"]]=117;Z.g[77]=118;Z.g[Y[" "]]=119;Z.g[86]=120;Z.g[67]=121;Z.g[90]=122;Z.g[121]=123;Z.g[17]=124;Z.g[16]=125;Z.g[20]=126;Z.Pa={l4:Z.ca.$b,l3:Z.ca.Zb,l2:Z.ca.Yb,l1:Z.ca.Xb,locked:Z.ca.ac,online:Z.ca.tb,local:~Z.ca.tb};var mc={SI1978:oc,VT100:Z};
X.prototype.S=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.A[e]){if("led"==a&&this.a.Pa&&this.a.Pa[b])return this.A[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return pc(d,a,!0)},c.onkeyup=function(a){return pc(d,a,!1)},!0;default:if(this.a.Ca&&void 0!==this.a.Ca[b])return this.A[e]=c,a=function(a,b){return function(){qc(a,b,!0)}}(this,b),b=function(a,b){return function(){qc(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= V.prototype.S=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.A[e]){if("led"==a&&this.a.Pa&&this.a.Pa[b])return this.A[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return pc(d,a,!0)},c.onkeyup=function(a){return pc(d,a,!1)},!0;default:if(this.a.Ca&&void 0!==this.a.Ca[b])return this.A[e]=c,a=function(a,b){return function(){qc(a,b,!0)}}(this,b),b=function(a,b){return function(){qc(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0}}return!1};X.prototype.ka=function(a,b,c,d){this.M=d;this.G=Pa(a,"ChipSet");$a(b,this,this.a.Ya);ab(b,this,this.a.Za)};X.prototype.Z=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};X.prototype.ea=function(a){return a?this.save():!0};Z.INIT=[[Z.ia.INIT]];X.prototype.reset=function(){this.m={};this.b={};this.a.INIT&&!this.restore(this.a.INIT)&&this.J("reset error")};X.prototype.save=function(){var a=new E(this);switch(this.a.T){case Z.T:F(a,0,[this.c])}return a.data()}; c.onmouseout=b),!0}}return!1};V.prototype.ka=function(a,b,c,d){this.M=d;this.G=Pa(a,"ChipSet");$a(b,this,this.a.Ya);ab(b,this,this.a.Za)};V.prototype.Z=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};V.prototype.fa=function(a){return a?this.save():!0};Z.INIT=[[Z.ca.INIT]];V.prototype.reset=function(){this.m={};this.b={};this.a.INIT&&!this.restore(this.a.INIT)&&this.J("reset error")};V.prototype.save=function(){var a=new C(this);switch(this.a.T){case Z.T:D(a,0,[this.c])}return a.data()};
X.prototype.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.a.T){case oc.T:return!0;case Z.T:return this.c=b[0],rc(this),!0}return!1};function rc(a){for(var b in a.a.Pa){var c=a.A["led-"+b];if(c){var d=a.a.Pa[b],e=!!(a.c&d);d&d-1&&(e=!(a.c&~d));c.style.backgroundColor=e?"#ff0000":"#000000"}}}function pc(a,b,c){var d=!0,e;a:{e=b.keyCode;e=nc[e]||e;for(var f in a.a.Ca)if(a.a.Ca[f]===e){e=f;break a}e=null}e&&(d=qc(a,e,c),b.preventDefault());return d} V.prototype.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.a.T){case oc.T:return!0;case Z.T:return this.c=b[0],rc(this,this.c&Z.ca.nb),!0}return!1};function rc(a,b){for(var c in a.a.Pa){var d=a.A["led-"+c];if(d){var e=a.a.Pa[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}function pc(a,b,c){var d=!0,e;a:{e=b.keyCode;e=nc[e]||e;for(var f in a.a.Ca)if(a.a.Ca[f]===e){e=f;break a}e=null}e&&(d=qc(a,e,c),b.preventDefault());return d}
function qc(a,b,c){if(c)a.m[b]=Date.now(),delete a.b[b];else{var d=a.m[b];if(d&&100>Date.now()-d)return a.b[b]=d,sc(a),!0;delete a.m[b]}if(a.G)switch(b){case "1p":dc(a.G,U.la.bc,c);break;case "2p":dc(a.G,U.la.fc,c);break;case "coin":dc(a.G,U.la.Rb,c);break;case "left":dc(a.G,U.la.dc,c);break;case "right":dc(a.G,U.la.ec,c);break;case "fire":dc(a.G,U.la.cc,c)}return!0} function qc(a,b,c){if(c)a.m[b]=Date.now(),delete a.b[b];else{var d=a.m[b];if(d&&100>Date.now()-d)return a.b[b]=d,sc(a),!0;delete a.m[b]}if(a.G)switch(b){case "1p":dc(a.G,T.la.dc,c);break;case "2p":dc(a.G,T.la.hc,c);break;case "coin":dc(a.G,T.la.Tb,c);break;case "left":dc(a.G,T.la.fc,c);break;case "right":dc(a.G,T.la.gc,c);break;case "fire":dc(a.G,T.la.ec,c)}return!0}
function sc(a){for(var b=-1,c=Object.keys(a.b),d=0;d<c.length;d++){var e=c[d],f=100-(Date.now()-a.b[e]);if(0<f){if(0>b||b>f)b=f}else delete a.b[e],qc(a,e,!1)}0<=b&&setTimeout(function(){sc(a)},b)}X.prototype.f=function(a,b){this.c=b;rc(this)};Z.Ya={};Z.Za={130:X.prototype.f};ua(function(){for(var a=z(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new X(d);Ja(d,c)}}); function sc(a){for(var b=-1,c=Object.keys(a.b),d=0;d<c.length;d++){var e=c[d],f=100-(Date.now()-a.b[e]);if(0<f){if(0>b||b>f)b=f}else delete a.b[e],qc(a,e,!1)}0<=b&&setTimeout(function(){sc(a)},b)}V.prototype.f=function(a,b){this.c=b;rc(this,b&Z.ca.nb)};Z.Ya={};Z.Za={130:V.prototype.f};ta(function(){for(var a=y(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new V(d);Ja(d,c)}});
function tc(a,b,c,d,e){var f=this;this.tb=oa("Gecko/");var h=["","moz","ms","webkit"];u.call(this,"Video",a,tc);this.w=a.screenWidth;this.s=a.screenHeight;this.fa=a.bufferAddr;this.oc=a.bufferRAM;var g=a.bufferFormat;this.u=g&&uc[g.toLowerCase()]||vc;this.sa=a.bufferCols;this.H=a.bufferRows;this.kc=this.P=a.cellWidth||1;this.L=a.cellHeight||1;this.bb=null;this.ra=a.bufferBits||1;this.pc=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.J("unsupported buffer rotation: "+ function tc(a,b,c,d,e){var f=this;this.vb=oa("Gecko/");var h=["","moz","ms","webkit"];v.call(this,"Video",a,tc);this.w=a.screenWidth;this.u=a.screenHeight;this.ga=a.bufferAddr;this.qc=a.bufferRAM;var g=a.bufferFormat;this.l=g&&uc[g.toLowerCase()]||vc;this.sa=a.bufferCols;this.H=a.bufferRows;this.nc=this.P=a.cellWidth||1;this.L=a.cellHeight||1;this.bb=null;this.ub=!1;this.ra=a.bufferBits||1;this.Pb=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.J("unsupported buffer rotation: "+
this.c),this.c=0);this.yb=a.interruptRate;this.Nb=a.refreshRate||60;this.o=b;this.f=c;this.aa=(this.qc=d)||b||null;this.mc=this.w;this.nc=this.s;this.ob=this.w/this.sa|0;this.rb=this.s/this.H|0;1<this.L&&this.H++;b=a.smoothing;(c=Aa.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.f[d]){this.f[d]=b;break}if(this.h=a.screenRotate)this.h=this.h%360,0<this.h&&(this.h-=360),-90!=this.h?(this.J("unsupported screen rotation: "+ this.c),this.c=0);this.Ab=a.interruptRate;this.rc=a.refreshRate||60;this.s=b;this.f=c;this.aa=(this.sc=d)||b||null;this.oc=this.w;this.pc=this.u;this.pb=this.w/this.sa|0;this.sb=this.u/this.H|0;1<this.L&&this.H++;b=a.smoothing;(c=za.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.f[d]){this.f[d]=b;break}if(this.h=a.screenRotate)this.h=this.h%360,0<this.h&&(this.h-=360),-90!=this.h?(this.J("unsupported screen rotation: "+
this.h),this.h=0):(this.f.translate(0,this.s),this.f.rotate(this.h*Math.PI/180),this.f.scale(this.s/this.w,this.w/this.s));if(this.b=e)if(this.b.ua=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.ua){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){wc(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1); this.h),this.h=0):(this.f.translate(0,this.u),this.f.rotate(this.h*Math.PI/180),this.f.scale(this.u/this.w,this.w/this.u));if(this.b=e)if(this.b.ua=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.ua){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){wc(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);
break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){wc(f,null)},!1);break}}if(this.K=a.fontROM)"json"!=ca(this.K)&&(this.K=ia()+"/api/v1/dump?file="+this.K+"&format=bytes"),r(this.K,null,!0,function(a,b,c){xc(f,a,b,c)});this.hb={}}x(tc);var vc=0,uc={vt100:2}; break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){wc(f,null)},!1);break}}if(this.K=a.fontROM)"json"!=ca(this.K)&&(this.K=ia()+"/api/v1/dump?file="+this.K+"&format=bytes"),r(this.K,null,!0,function(a,b,c){xc(f,a,b,c)});this.hb={}}Ea(tc);var vc=0,uc={vt100:2};
tc.prototype.ka=function(a,b,c,d){this.v=a;this.m=b;this.a=c;this.M=d;this.G=Pa(a,"ChipSet");!this.u&&this.G&&this.G.vb==U.T&&(this.u=1);this.j=this.sa*this.P;this.D=this.H*this.L;b=this.j;c=this.D;this.c&&(b=this.D,c=this.j);this.Oa=(this.j*this.ra>>3)*this.D;if(this.oc||Ta(this.m,this.fa,this.Oa,3))1<this.P?yc(this,this.sa*this.H):(this.ub=this.f.createImageData(b,c),this.xb=16/this.ra|0,yc(this,this.Oa>>1)),this.l=document.createElement("canvas"),this.l.width=b,this.l.height=c,this.cb=this.l.getContext("2d"), tc.prototype.ka=function(a,b,c,d){this.v=a;this.m=b;this.a=c;this.M=d;this.G=Pa(a,"ChipSet");!this.l&&this.G&&this.G.xb==T.T&&(this.l=1);this.j=this.sa*this.P;this.D=this.H*this.L;b=this.j;c=this.D;this.c&&(b=this.D,c=this.j);this.Oa=(this.j*this.ra>>3)*this.D;if(this.qc||Ta(this.m,this.ga,this.Oa,3))1<this.P?yc(this,this.sa*this.H):(this.wb=this.f.createImageData(b,c),this.zb=16/this.ra|0,yc(this,this.Oa>>1)),this.o=document.createElement("canvas"),this.o.width=b,this.o.height=c,this.cb=this.o.getContext("2d"),
this.O={},this.ha=1<<this.ra,this.V=Array(this.ha+2),this.V[0]=[0,0,0,255],this.V[1]=[255,255,255,255],1==this.u&&(this.V[this.ha+0]=[255,255,0,255],this.V[this.ha+1]=[0,255,0,255]),2==this.u&&(this.zb=60,this.eb=!1,this.Y=Array(this.sa));if(this.F=Pa(a,"Keyboard")){for(var e in this.hb)this.F.S("led",e,this.hb[e]);this.o&&this.F.S(this.qc?"textarea":"canvas","kbd",this.aa)}this.K||A(this)}; this.O={},this.ia=1<<this.ra,this.V=Array(this.ia+2),this.V[0]=[0,0,0,255],this.V[1]=[255,255,255,255],1==this.l&&(this.V[this.ia+0]=[255,255,0,255],this.V[this.ia+1]=[0,255,0,255]),2==this.l&&(this.Bb=60,this.eb=!1,this.Y=Array(this.sa));if(this.F=Pa(a,"Keyboard")){for(var e in this.hb)this.F.S("led",e,this.hb[e]);this.s&&this.F.S(this.sc?"textarea":"canvas","kbd",this.aa)}this.K||z(this)};
function xc(a,b,c,d){if(d)a.J("Unable to load font ROM (error "+d+": "+b+")");else{Ga(a.gb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)zc(a,f);else{a.J("Unrecognized font data length ("+f.length+")");return}}catch(h){a.J("Font ROM data error: "+h.message);return}(a.f||a.M)&&A(a)}} function xc(a,b,c,d){if(d)a.J("Unable to load font ROM (error "+d+": "+b+")");else{Ga(a.gb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)zc(a,f);else{a.J("Unrecognized font data length ("+f.length+")");return}}catch(h){a.J("Font ROM data error: "+h.message);return}(a.f||a.M)&&z(a)}}
function zc(a,b){a.bb=b;a.O[96]=[Ac(a,a.P,a.L),Ac(a,a.P,a.L,a.eb)];a.O[64]=[Ac(a,2*a.P,a.L),Ac(a,2*a.P,a.L,a.eb)];a.O[32]=a.O[0]=[Ac(a,2*a.P,2*a.L),Ac(a,2*a.P,2*a.L,a.eb)]} function zc(a,b){a.bb=b;a.ub=2==a.l;a.O[96]=[Ac(a,a.P,a.L),Ac(a,a.P,a.L,a.eb)];a.O[64]=[Ac(a,2*a.P,a.L),Ac(a,2*a.P,a.L,a.eb)];a.O[32]=a.O[0]=[Ac(a,2*a.P,2*a.L),Ac(a,2*a.P,2*a.L,a.eb)]}
function Ac(a,b,c,d){var e=8>=a.kc?8:16,f=8<e?15:0,h=a.bb.length/e,g=!1===d,k={P:b,L:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var l=k.context.createImageData(b,c),q=0;q<h;q++){for(var p=0,J=p;p<a.L;p++)for(var L=q*e+(f+p&e-1),L=d&&8==p?255:a.bb[L],W=0;W<c/a.L;W++){for(var I=0,v=I;I<a.P;I++)for(var C=L&128>>(7<I?7:I),O=0;O<b/a.P;O++)g&&(C=!C),Bc(a,l,v,J,C?1:0),v++;J++}k.context.putImageData(l,(q&15)*b,(q>>4)*c)}return k} function Ac(a,b,c,d){var e=8>=a.nc?8:16,f=8<e?15:0,h=a.bb.length/e,g=!1===d,k={P:b,L:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var l=k.context.createImageData(b,c),q=0;q<h;q++){for(var p=0,J=p;p<a.L;p++)for(var L=q*e+(f+p&e-1),L=d&&8==p?255:a.bb[L],W=0;W<c/a.L;W++){for(var G=0,u=0,E=u;u<a.P;u++){for(var M=L&128>>(7<u?7:u),G=a.ub&&!M&&G?G:M,X=0;X<b/a.P;X++)g&&(G=!G),Bc(a,l,E,J,G?1:0),E++;G=M}J++}k.context.putImageData(l,
tc.prototype.Z=function(){if(2==this.u){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.fa,c=-1,d=-1,e,f=-(60==this.zb?2:5);f<this.H;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;Ya(this.m,b++,e);Ya(this.m,b++,c&255); (q&15)*b,(q>>4)*c)}return k}
tc.prototype.Z=function(){if(2==this.l){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.ga,c=-1,d=-1,e,f=-(60==this.Bb?2:5);f<this.H;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;Ya(this.m,b++,e);Ya(this.m,b++,c&255);
if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)Ya(this.m,b++,g.charCodeAt(k)|c);c^=128}Ya(this.m,b++,127);c=b}Cc(this)}return!0};tc.prototype.S=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.hb[b]=c,!0;switch(b){case "fullScreen":return this.A[b]=c,this.b&&this.b.ua?c.onclick=function(){d.ua()}:c.parentNode.removeChild(c),!0}return!1}; if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)Ya(this.m,b++,g.charCodeAt(k)|c);c^=128}Ya(this.m,b++,127);c=b}Cc(this)}return!0};tc.prototype.S=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.hb[b]=c,!0;switch(b){case "fullScreen":return this.A[b]=c,this.b&&this.b.ua?c.onclick=function(){d.ua()}:c.parentNode.removeChild(c),!0}return!1};
tc.prototype.ua=function(){var a=!1;if(this.b){if(this.b.ua){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.w/this.s;b>c&&(a=Math.round(c/b*100)+"%")}this.tb?(this.o.style.width=a,this.o.style.width=a,this.o.style.display="block",this.o.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.ua();a=!0}this.aa&&this.aa.focus()}return a}; tc.prototype.ua=function(){var a=!1;if(this.b){if(this.b.ua){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.w/this.u;b>c&&(a=Math.round(c/b*100)+"%")}this.vb?(this.s.style.width=a,this.s.style.width=a,this.s.style.display="block",this.s.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.ua();a=!0}this.aa&&this.aa.focus()}return a};
function wc(a,b){!b&&a.b&&(a.tb?a.o.style.width=a.o.style.height="":a.b.style.width=a.b.style.height="")}function yc(a,b){a.wb=b;a.ga=!1;if(void 0===a.N||a.N.length!=a.wb)a.N=Array(a.wb)}function Bc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.u&&(208<=c&&236>c?e=a.ha+0:28<=c&&72>c&&(e=a.ha+1));a=a.V[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 wc(a,b){!b&&a.b&&(a.vb?a.s.style.width=a.s.style.height="":a.b.style.width=a.b.style.height="")}function yc(a,b){a.yb=b;a.ha=!1;if(void 0===a.N||a.N.length!=a.yb)a.N=Array(a.yb)}function Bc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.l&&(208<=c&&236>c?e=a.ia+0:28<=c&&72>c&&(e=a.ia+1));a=a.V[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 Cc(a){for(var b=a.fa,c=-1,d=0,e=60==a.zb?2:5,f=0,h=0;d<a.H;){for(var g=0,k=b,l=c;;){var q=Wa(a.m,k++);if(127==(q&127)){var p=Wa(a.m,k++),c=p&96,b=(p&15)<<8|Wa(a.m,k),b=b+(p&16?8192:16384);break}if(g<a.Y.length)a.Y[g++]=q;else break}if(e)e--;else{for(;g<a.Y.length;)a.Y[g++]=0;if(0<=l)for(k=0;k<g;k++){q=a.Y[k];if(!a.ga||q!==a.N[f]){var p=a,J=a.cb,L=q&127;if(q=p.O[l][q&128?1:0]){var W=(L&15)*q.P,L=(L>>4)*q.L,I=void 0,v=void 0,C=void 0,O=void 0,qa=q.P,Db=q.L;J?(I=k*p.P,v=d*p.L,C=p.P,O=p.L):(I= function Cc(a){for(var b=a.ga,c=-1,d=0,e=60==a.Bb?2:5,f=0,h=0;d<a.H;){for(var g=0,k=b,l=c;;){var q=Wa(a.m,k++);if(127==(q&127)){var p=Wa(a.m,k++),c=p&96,b=(p&15)<<8|Wa(a.m,k),b=b+(p&16?8192:16384);break}if(g<a.Y.length)a.Y[g++]=q;else break}if(e)e--;else{for(;g<a.Y.length;)a.Y[g++]=0;if(0<=l)for(k=0;k<g;k++){q=a.Y[k];if(!a.ha||q!==a.N[f]){var p=a,J=a.cb,L=q&127;if(q=p.O[l][q&128?1:0]){var W=(L&15)*q.P,L=(L>>4)*q.L,G=void 0,u=void 0,E=void 0,M=void 0,X=q.P,Db=q.L;J?(G=k*p.P,u=d*p.L,E=p.P,M=p.L):(G=
k*p.ob,v=d*p.rb,C=p.ob,O=p.rb);q.P>p.P&&(I*=2,C*=2);q.L>p.L&&(0==l&&(L+=p.L),Db=p.L);J?J.drawImage(q.canvas,W,L,qa,Db,I,v,C,O):(I+=0,v+=0,p.f.drawImage(q.canvas,W,L,qa,Db,I,v,C,O))}h++}f++}d++}}a.ga=!0;h&&a.cb&&a.f.drawImage(a.l,0,0,a.j,a.D-a.L,0,0,a.mc,a.nc)} k*p.pb,u=d*p.sb,E=p.pb,M=p.sb);q.P>p.P&&(G*=2,E*=2);q.L>p.L&&(0==l&&(L+=p.L),Db=p.L);J?J.drawImage(q.canvas,W,L,X,Db,G,u,E,M):(G+=0,u+=0,p.f.drawImage(q.canvas,W,L,X,Db,G,u,E,M))}h++}f++}d++}}a.ha=!0;h&&a.cb&&a.f.drawImage(a.o,0,0,a.j,a.D-a.L,0,0,a.oc,a.pc)}
ua(function(){for(var a=z(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=y(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &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<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a, ta(function(){for(var a=y(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=x(c),e=document.createElement("canvas");if(void 0===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<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Aa.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"));c.appendChild(f);var h=e.getContext("2d"),d=new tc(d,e,h,f,c);Ja(d,c)}}); 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||za.aspect);f&&.3<=f&&3.33>=f&&(sa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");oa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new tc(d,e,h,f,c);Ja(d,c)}});
function E(a,b,c){this.id=a.id;this.key=Dc(a,b,c);this.M=a.M;Ec(this,a.Jb)}function Dc(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} function C(a,b,c){this.id=a.id;this.key=Dc(a,b,c);this.M=a.M;Ec(this,a.Lb)}function Dc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
E.prototype={constructor:E,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Ec(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}}}; C.prototype={constructor:C,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Ec(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 Ec(a,b){a[a.id]={};b&&F(a,"parms",b);a.a=!1}function Fc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Gc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Hc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}function Ic(a,b){return a[a.id][b]||null}function F(a,b,c){try{a[a.id][b]=c}catch(d){}} function Ec(a,b){a[a.id]={};b&&D(a,"parms",b);a.a=!1}function Fc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Gc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Hc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}function Ic(a,b){return a[a.id][b]||null}function D(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Jc(a,b,c){u.call(this,"Computer",a,Jc);this.i.R=!1;Kc(this,b);this.G=rb(this,"autoPower",a);this.f=0;this.K=a.busWidth||a.buswidth;this.b=Lc;this.u=null;this.o=this.H=!1;this.N=rb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Mc(this);if(this.a=Ia("CPU",this.id)){this.M=Ia("Debugger",this.id);this.l=[];for(b=null;b=Pa(this,"Video",b);)this.l.push(b);this.m=new Ra({id:this.gb+".bus",busWidth:this.K},this.a,this.M);var d,e=Ha(this.id);if((this.h=Ia("Panel",this.id))&&this.h.ja)for(b= function Jc(a,b,c){v.call(this,"Computer",a,Jc);this.i.R=!1;Kc(this,b);this.G=rb(this,"autoPower",a);this.f=0;this.K=a.busWidth||a.buswidth;this.b=Lc;this.u=null;this.o=this.H=!1;this.N=rb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Mc(this);if(this.a=Ia("CPU",this.id)){this.M=Ia("Debugger",this.id);this.l=[];for(b=null;b=Pa(this,"Video",b);)this.l.push(b);this.m=new Ra({id:this.gb+".bus",busWidth:this.K},this.a,this.M);var d,e=Ha(this.id);if((this.h=Ia("Panel",this.id))&&this.h.ja)for(b=
0;b<e.length;b++)d=e[b],d.J=this.h.J,d.X=this.h.X,d.ja=this.h.ja;this.X("PC8080 v1.23.3\nCopyright \u00a9 2012-2016 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.ka&&d.ka(this,this.m,this.a,this.M);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.v=d:this.b=parseInt(d,10));var f;if(a=rb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=Lc),this.b&&(this.w=new E(this,"1.23.3"),Hc(this.w)?b=null:delete this.w); 0;b<e.length;b++)d=e[b],d.J=this.h.J,d.X=this.h.X,d.ja=this.h.ja;this.X("PC8080 v1.23.3\nCopyright \u00a9 2012-2016 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.ka&&d.ka(this,this.m,this.a,this.M);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.v=d:this.b=parseInt(d,10));var f;if(a=rb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=Lc),this.b&&(this.w=new C(this,"1.23.3"),Hc(this.w)?b=null:delete this.w);
!b&&this.b&&(b=Nc(this))&&(this.o=!0);if(b){var h=this;r(b,null,!0,function(a,b,c){c?(h.v=null,h.o=!1,h.J("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.u=b,h.H=!0);A(h)})}else A(this);this.A.power||(this.G=!0);!c&&this.G&&Oc(this,this.La)}else t("Unable to find CPU component")}x(Jc);var Lc=0; !b&&this.b&&(b=Nc(this))&&(this.o=!0);if(b){var h=this;r(b,null,!0,function(a,b,c){c?(h.v=null,h.o=!1,h.J("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.u=b,h.H=!0);z(h)})}else z(this);this.A.power||(this.G=!0);!c&&this.G&&Oc(this,this.La)}else t("Unable to find CPU component")}Ea(Jc);var Lc=0;
function Kc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.s=b}function rb(a,b,c){var d=b.toLowerCase(),d=Aa[b]||Aa[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 Oc(a,b,c){for(var d=Ha(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){Oc(a,b,c)});return}}b.call(a,c)} function Kc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.s=b}function rb(a,b,c){var d=b.toLowerCase(),d=za[b]||za[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 Oc(a,b,c){for(var d=Ha(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){Oc(a,b,c)});return}}b.call(a,c)}
function Pc(a,b){var c=new E(a,"1.23.3","validate");if(Hc(c)&&Gc(c)){var d=Ic(c,"timestamp"),e=b?Ic(b,"timestamp"):"unknown";d!=e&&(a.J("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Jc.prototype; function Pc(a,b){var c=new C(a,"1.23.3","validate");if(Hc(c)&&Gc(c)){var d=Ic(c,"timestamp"),e=b?Ic(b,"timestamp"):"unknown";d!=e&&(a.J("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Jc.prototype;
m.La=function(a){void 0===a&&(a=this.b||(this.u?1:Lc));if(!this.f){this.f++;var b=!1,c=!1;this.F=!1;var d=this.w||new E(this,"1.23.3");if(-1==a)b=!0;else if(a>Lc){if(Hc(d,this.u)){this.j=new E(this,"1.23.3","failsafe");Hc(this.j)&&(Qc(this,d),a=2,Ec(this.j));F(this.j,"timestamp",ha());Fc(this.j);var e=this.b&&!this.o;if(1==a||ja("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Gc(d)){var f=Ic(d,"code"),h=Ic(d,"data");f&&("ok"==f?Hc(d,h):("error"==f&& m.La=function(a){void 0===a&&(a=this.b||(this.u?1:Lc));if(!this.f){this.f++;var b=!1,c=!1;this.F=!1;var d=this.w||new C(this,"1.23.3");if(-1==a)b=!0;else if(a>Lc){if(Hc(d,this.u)){this.j=new C(this,"1.23.3","failsafe");Hc(this.j)&&(Qc(this,d),a=2,Ec(this.j));D(this.j,"timestamp",ha());Fc(this.j);var e=this.b&&!this.o;if(1==a||ja("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Gc(d)){var f=Ic(d,"code"),h=Ic(d,"data");f&&("ok"==f?Hc(d,h):("error"==f&&
"no machine state"!=h?(this.J("Error: "+h),"unable to verify user"==h&&(na("user",""),this.c=null)):this.X(f+": "+h),Ec(d),Hc(d)?(c=Gc(d),e=!0):c=!1))}e&&Pc(this,c?d:null)}else 2==a&&d.clear()}else Pc(this);delete this.u;delete this.w}e=Ha(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=Rc(this,h,d,b,c));b=[d,a,c];-1!=a?Oc(this,this.Ab,b):this.Ab(b)}}; "no machine state"!=h?(this.J("Error: "+h),"unable to verify user"==h&&(na("user",""),this.c=null)):this.X(f+": "+h),Ec(d),Hc(d)?(c=Gc(d),e=!0):c=!1))}e&&Pc(this,c?d:null)}else 2==a&&d.clear()}else Pc(this);delete this.u;delete this.w}e=Ha(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=Rc(this,h,d,b,c));b=[d,a,c];-1!=a?Oc(this,this.Cb,b):this.Cb(b)}};
function Rc(a,b,c,d,e){if(!b.i.R){b.i.R=!0;if(b.Z){var f=null;e&&((f=Ic(c,b.id))||(f=Ic(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Z(f,d)&&f&&(t("Unable to restore state for "+b.type),a.D&&!a.H?(c.clear(),a.b=Lc,window&&window.location.reload()):a.F=!0,b.Z(null),e=!1)}if(!d&&b.nb)for(a=b.nb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function Rc(a,b,c,d,e){if(!b.i.R){b.i.R=!0;if(b.Z){var f=null;e&&((f=Ic(c,b.id))||(f=Ic(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Z(f,d)&&f&&(t("Unable to restore state for "+b.type),a.D&&!a.H?(c.clear(),a.b=Lc,window&&window.location.reload()):a.F=!0,b.Z(null),e=!1)}if(!d&&b.ob)for(a=b.ob.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.Ab=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.i.R=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.a&&(Rc(this,this.a,b,c,a),vb(this.a));this.F&&(Qc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.f=0}; m.Cb=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.i.R=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.a&&(Rc(this,this.a,b,c,a),vb(this.a));this.F&&(Qc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.f=0};
function Qc(a,b){if(ja("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.N;e.user=c;e.type="bug";e.data=d;r("http://www.pcjs.org/api/v1/report",e,!0)}} function Qc(a,b){if(ja("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.N;e.user=c;e.type="bug";e.data=d;r("http://www.pcjs.org/api/v1/report",e,!0)}}
function Sc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new E(a,"1.23.3"),h=new E(a,"1.23.3","validate"),g=ha();F(h,"timestamp",g);F(f,"timestamp",g);F(f,"version","1.23.3");F(f,"url",window?window.location.href:null);F(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.ea&&(c&&wb(a.a),d=a.a.ea(b,c),"object"===typeof d&&F(f,a.a.id,d),c&&(a.a.i.R=!1,!1===d&&(e=null)));for(var g=Ha(a.id),k=0;k<g.length;k++){var l=g[k];l.i.R&&(l.ea&&(d=l.ea(b,c),"object"===typeof d&&F(f,l.id,d)),c&& function Sc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new C(a,"1.23.3"),h=new C(a,"1.23.3","validate"),g=ha();D(h,"timestamp",g);D(f,"timestamp",g);D(f,"version","1.23.3");D(f,"url",window?window.location.href:null);D(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.fa&&(c&&wb(a.a),d=a.a.fa(b,c),"object"===typeof d&&D(f,a.a.id,d),c&&(a.a.i.R=!1,!1===d&&(e=null)));for(var g=Ha(a.id),k=0;k<g.length;k++){var l=g[k];l.i.R&&(l.fa&&(d=l.fa(b,c),"object"===typeof d&&D(f,l.id,d)),c&&
(l.i.R=!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.c&&Tc(a,a.c,f.toString()),Fc(h)&&Fc(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.i.R=!1,b=a.A.power)&&(b.textContent="Power");a.f=0;return e}m.reset=function(){this.m&&this.m.reset&&this.m.reset();for(var a=Ha(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.m&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=Ha(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}}; (l.i.R=!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.c&&Tc(a,a.c,f.toString()),Fc(h)&&Fc(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.i.R=!1,b=a.A.power)&&(b.textContent="Power");a.f=0;return e}m.reset=function(){this.m&&this.m.reset&&this.m.reset();for(var a=Ha(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.m&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=Ha(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
m.stop=function(a,b){for(var c=Ha(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}}; m.stop=function(a,b){for(var c=Ha(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.S=function(a,b,c){var d=this;switch(b){case "power":return this.A[b]=c,c.onclick=function(){d.f||(d.i.R?Sc(d,!1,!0):Oc(d,d.La))},!0;case "reset":return this.A[b]=c,c.onclick=function(){if(d.i.R&&!d.f)if(d.b&&!d.v){var a=ja("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sc(d,a,!0);!a&&d.D?window&&window.location.reload():d.La(Lc)}else d.reset(),d.a&&vb(d.a)},!0;case "save":if(da(ia(),"pcjs.org")){c.parentNode.removeChild(c);break}this.A[b]= m.S=function(a,b,c){var d=this;switch(b){case "power":return this.A[b]=c,c.onclick=function(){d.f||(d.i.R?Sc(d,!1,!0):Oc(d,d.La))},!0;case "reset":return this.A[b]=c,c.onclick=function(){if(d.i.R&&!d.f)if(d.b&&!d.v){var a=ja("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sc(d,a,!0);!a&&d.D?window&&window.location.reload():d.La(Lc)}else d.reset(),d.a&&vb(d.a)},!0;case "save":if(da(ia(),"pcjs.org")){c.parentNode.removeChild(c);break}this.A[b]=
@ -137,19 +138,19 @@ function Mc(a,b){var c=a.c;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c
function Uc(a,b){a.c=null;var c=r(ia()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.c=c.data)}catch(e){t(e.message+" ("+d+")")}return a.c}function Nc(a){var b=null;a.c&&(b=ia()+"/api/v1/user?req=load&user="+a.c+"&state="+Dc(a,"1.23.3"));return b} function Uc(a,b){a.c=null;var c=r(ia()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.c=c.data)}catch(e){t(e.message+" ("+d+")")}return a.c}function Nc(a){var b=null;a.c&&(b=ia()+"/api/v1/user?req=load&user="+a.c+"&state="+Dc(a,"1.23.3"));return b}
function Tc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Dc(a,"1.23.3");d.data=c;b=r(ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.J("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.J(c),na("user",""),a.c=null)}} function Tc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Dc(a,"1.23.3");d.data=c;b=r(ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.J("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.J(c),na("user",""),a.c=null)}}
function Pa(a,b,c){a=Ha(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function Bb(a,b){if(a.l.length){var c=0,d=0;b&&window&&(c=window.scrollX,d=window.scrollY);var e=a.l[0];e.aa&&e.aa.focus();b&&window&&window.scrollTo(c,d)}}m.pa=function(a){this.a&&this.a.pa(a);this.h&&this.h.pa(a)}; function Pa(a,b,c){a=Ha(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function Bb(a,b){if(a.l.length){var c=0,d=0;b&&window&&(c=window.scrollX,d=window.scrollY);var e=a.l[0];e.aa&&e.aa.focus();b&&window&&window.scrollTo(c,d)}}m.pa=function(a){this.a&&this.a.pa(a);this.h&&this.h.pa(a)};
function Cb(a,b){for(var c=0;c<a.l.length;c++){var d=a.l[c],e=!0;if(0<=b){if(d.yb)if(b&1)e=d.a,e.F=e.F&-8|10,e=!1;else{var f=d.a;f.F=f.F&-8|9}if(f=e&&d.ga){for(var f=d.m,h=d.Oa,g=!0,k=d.fa>>>f.c;0<h&&k<f.b.length;)f.b[k].ca&&(f.b[k].ca=g=!1,f.b[k].Cb=!0),h-=f.m,k++;f=g}f&&(e=!1)}if(e)if(1<d.P)switch(d.u){case 2:Cc(d)}else{var g=d.fa,k=g+d.Oa,l=0,q=0,p=0,e=d.j,J=0,f=d.D,L=h=0,W=d.ra,I=(1<<W)-1;d.pc&&(W=-W,L=16+W);for(;g<k;){var v;v=d.m;var C=g,O=C&v.f,qa=(C&v.h)>>>v.c;v=O!=v.f?v.b[qa].Kb(O,C):v.b[qa++].$a(O, function Cb(a,b){for(var c=0;c<a.l.length;c++){var d=a.l[c],e=!0;if(0<=b){if(d.Ab)if(b&1)e=d.a,e.F=e.F&-8|10,e=!1;else{var f=d.a;f.F=f.F&-8|9}if(f=e&&d.ha){for(var f=d.m,h=d.Oa,g=!0,k=d.ga>>>f.c;0<h&&k<f.b.length;)f.b[k].da&&(f.b[k].da=g=!1,f.b[k].Eb=!0),h-=f.m,k++;f=g}f&&(e=!1)}if(e)if(1<d.P)switch(d.l){case 2:Cc(d)}else{var g=d.ga,k=g+d.Oa,l=0,q=0,p=0,e=d.j,J=0,f=d.D,L=h=0,W=d.ra,G=(1<<W)-1;d.Pb&&(W=-W,L=16+W);for(;g<k;){var u;u=d.m;var E=g,M=E&u.f,X=(E&u.h)>>>u.c;u=M!=u.f?u.b[X].Mb(M,E):u.b[X++].$a(M,
C)|v.b[qa&v.v].$a(0,C+1)<<8;if(d.ga&&v===d.N[l])q+=d.xb;else{d.N[l]=v;(C=L)&&(v=v>>8|(v&255)<<8);q<e&&(e=q);for(O=d.xb;O--;)qa=v>>C&I,Bc(d,d.ub,q++,p,qa),C+=W;q>J&&(J=q);p<f&&(f=p);p>=h&&(h=p+1)}g+=2;l++;if(q>=d.j&&(q=0,p++,p>d.D))break}d.ga=!0;e<d.j&&(g=J-e,h-=f,d.c&&(k=e,l=g,e=f,g=h,f=d.j-(k+l),h=l),d.cb.putImageData(d.ub,0,0,e,f,g,h),d.f.drawImage(d.l,0,0,d.l.width,d.l.height,0,0,d.w,d.s))}}} E)|u.b[X&u.v].$a(0,E+1)<<8;if(d.ha&&u===d.N[l])q+=d.zb;else{d.N[l]=u;(E=L)&&(u=u>>8|(u&255)<<8);q<e&&(e=q);for(M=d.zb;M--;)X=u>>E&G,Bc(d,d.wb,q++,p,X),E+=W;q>J&&(J=q);p<f&&(f=p);p>=h&&(h=p+1)}g+=2;l++;if(q>=d.j&&(q=0,p++,p>d.D))break}d.ha=!0;e<d.j&&(g=J-e,h-=f,d.c&&(k=e,l=g,e=f,g=h,f=d.j-(k+l),h=l),d.cb.putImageData(d.wb,0,0,e,f,g,h),d.f.drawImage(d.o,0,0,d.o.width,d.o.height,0,0,d.w,d.u))}}}
ua(function(){for(var a=z(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=z(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=y(f),h=new Jc(h,d,!0);Ja(h,f);h.G&&Oc(h,h.La)}});pa.show.push(function(){for(var a=z(document,"pc8080","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=Ia("Computer",c.id))&&c.O&&!c.i.R&&c.La(-1)}}); ta(function(){for(var a=y(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=x(c),c=y(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=x(f),h=new Jc(h,d,!0);Ja(h,f);h.G&&Oc(h,h.La)}});pa.show.push(function(){for(var a=y(document,"pc8080","computer"),b=0;b<a.length;b++){var c=x(a[b]);(c=Ia("Computer",c.id))&&c.O&&!c.i.R&&c.La(-1)}});
pa.exit.push(function(){for(var a=z(document,"pc8080","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=Ia("Computer",c.id))&&c.i.R&&Sc(c,!(!c.b||c.v),!0)}});var Vc=0;function Wc(a,b,c,d,e,f){e("Loading "+a+"...");r(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):Xc(g,a,b,c,d,e,f)})} pa.exit.push(function(){for(var a=y(document,"pc8080","computer"),b=0;b<a.length;b++){var c=x(a[b]);(c=Ia("Computer",c.id))&&c.i.R&&Sc(c,!(!c.b||c.v),!0)}});var Vc=0;function Wc(a,b,c,d,e,f){e("Loading "+a+"...");r(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):Xc(g,a,b,c,d,e,f)})}
function Xc(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ga(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2")); function Xc(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ga(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Yc(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)} g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Yc(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Yc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,q=/( [a-z]+=)(['"])(.*?)\2/g;l=q.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, function Yc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,q=/( [a-z]+=)(['"])(.*?)\2/g;l=q.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);Yc(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],h);Yc(a,b,c)}})}else c(a,null)}
function Zc(a,b,c,d){function e(a){if(void 0===g){var b=h&&z(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);k&&(--Vc||xa(!0));k=!1}var h,g,k=!0;Vc++;Fa[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));q.appendChild(p)}c|| function Zc(a,b,c,d){function e(a){if(void 0===g){var b=h&&y(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);k&&(--Vc||wa(!0));k=!1}var h,g,k=!0;Vc++;Fa[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=l:p.appendChild(document.createTextNode(l));q.appendChild(p)}c||
(c="/versions/pc8080/1.23.3/components.xsl");l=function(d,g){g?Wc(c,null,null,!1,e,function(d,k){if(k)if(Ga(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Vc||xa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Vc||xa(!0)):f("invalid machine element: "+ (c="/versions/pc8080/1.23.3/components.xsl");l=function(d,g){g?Wc(c,null,null,!1,e,function(d,k){if(k)if(Ga(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Vc||wa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Vc||wa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Wc(b,a,d,!0,e,l):Xc(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(J){f(J.message)}return k}window.embedPC8080=function(a,b,c,d){xa(!1);return Zc(a,b,c,d)};window.enableEvents=xa;window.sendEvent=ya; a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Wc(b,a,d,!0,e,l):Xc(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(J){f(J.message)}return k}window.embedPC8080=function(a,b,c,d){wa(!1);return Zc(a,b,c,d)};window.enableEvents=wa;window.sendEvent=xa;
function $c(a,b,c,d){if(!c&&b){d.push(b);a=Fa[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?r(b,null,!0,function(a,b){ad(b,d)}):ad(null,d)}else t("Error ("+c+") requesting "+a)} function $c(a,b,c,d){if(!c&&b){d.push(b);a=Fa[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?r(b,null,!0,function(a,b){ad(b,d)}):ad(null,d)}else t("Error ("+c+") requesting "+a)}
function ad(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Fa[f],k={},l;for(l in g){var q=g[l],p=ca(l);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[l]);){var J=d[2];J&&(g[J]||(q=q.replace(d[0],"")))}d=l=ba(l)}else"xsl"==p&&(e=l=ba(l));k[l]=q}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, function ad(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Fa[f],k={},l;for(l in g){var q=g[l],p=ca(l);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[l]);){var J=d[2];J&&(g[J]||(q=q.replace(d[0],"")))}d=l=ba(l)}else"xsl"==p&&(e=l=ba(l));k[l]=q}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),l=h,g=null,k="data:application/javascript,",k=oa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', "&#xA9;"),l=h,g=null,k="data:application/javascript,",k=oa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")} c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=Ia("Computer",a),e=Ia("Debugger",a);if(d){var f=Sc(d,!0),h=d.s?JSON.stringify(d.s):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Jb:h}))return!0;r(b,null,!0,function(c,d,e){$c(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})(); window.savePC=function(a,b,c){var d=Ia("Computer",a),e=Ia("Debugger",a);if(d){var f=Sc(d,!0),h=d.s?JSON.stringify(d.s):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Lb:h}))return!0;r(b,null,!0,function(c,d,e){$c(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})();