Merge branch 'next-release'

This commit is contained in:
Jeff Parsons 2016-08-17 15:42:23 -07:00
commit 9f41feefb3
8 changed files with 218 additions and 209 deletions

View file

@ -6,7 +6,7 @@ one of several JavaScript Machines in the [PCjs Project](https://github.com/jeff
includes: includes:
* [PCx86](/docs/pcx86/), an x86-based IBM PC and PC-compatible emulator * [PCx86](/docs/pcx86/), an x86-based IBM PC and PC-compatible emulator
* [PC8080](/modules/pc8080/), a 8080-based machine emulator (e.g., [Space Invaders](/devices/pc8080/machine/invaders/), [VT100](/devices/pc8080/machine/vt100/)) * [PC8080](/modules/pc8080/), a 8080-based machine emulator (e.g., [Space Invaders](/devices/pc8080/machine/invaders/), [VT100 Terminal](/devices/pc8080/machine/vt100/))
* [C1Pjs](/docs/c1pjs/), a 6502-based emulation of the Ohio Scientific [Challenger 1P](/devices/c1p/) * [C1Pjs](/docs/c1pjs/), a 6502-based emulation of the Ohio Scientific [Challenger 1P](/devices/c1p/)
All PCjs computer simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are All PCjs computer simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are

View file

@ -14,7 +14,7 @@ Device Configurations
All PCjs machines are built from the following sets of devices: All PCjs machines are built from the following sets of devices:
* [6502-based Devices](c1p/) (e.g., [Challenger 1P](c1p/machine/)) * [6502-based Devices](c1p/) (e.g., [Challenger 1P](c1p/machine/))
* [8080-based Devices](pc8080/) (e.g., [Space Invaders](pc8080/machine/invaders/), [VT100](pc8080/machine/vt100/)) * [8080-based Devices](pc8080/) (e.g., [Space Invaders](pc8080/machine/invaders/), [VT100 Terminal](pc8080/machine/vt100/))
* [8086-based Devices](pcx86/) (e.g., [IBM PC and compatibles](pcx86/machine/)) * [8086-based Devices](pcx86/) (e.g., [IBM PC and compatibles](pcx86/machine/))
These devices are user-installable components that you would typically find in a real personal computer, These devices are user-installable components that you would typically find in a real personal computer,

View file

@ -10,7 +10,7 @@ PC8080 Machine Configurations
The following 8080-based machines are currently available: The following 8080-based machines are currently available:
* [8080 Exerciser](exerciser/) * [8080 Exerciser](exerciser/)
* [Space Invaders (1978)](invaders/) (with [Debugger](invaders/debugger/)) * [Space Invaders (1978)](invaders/) ([Debugger](invaders/debugger/))
* [DEC VT100 Terminal](vt100/) (with [Debugger](vt100/debugger/)) * [DEC VT100 Terminal](vt100/) ([Debugger](vt100/debugger/))
Check out the [Dual VT100 Terminals](vt100/dual/) for a demo of two PCjs machines communicating over a *virtual* serial connection. Check out the [Dual VT100 Terminals](vt100/dual/) for a demo of two PCjs machines communicating over a *virtual* serial connection.

View file

@ -10,7 +10,7 @@ machines:
DEC VT100 Terminal DEC VT100 Terminal
------------------ ------------------
This is a PCjs work-in-progress emulation of another 8080-based machine: the VT100 Terminal. This is a PCjs emulation of another 8080-based machine: the VT100 Terminal.
Unlike other VT100 emulators, it is not simply an emulation of VT100 protocols. It is a simulation of the original VT100 Unlike other VT100 emulators, it is not simply an emulation of VT100 protocols. It is a simulation of the original VT100
machine, running the [VT100 Firmware](/devices/pc8080/rom/vt100/) inside the [PC8080](/modules/pc8080/) CPU emulator. machine, running the [VT100 Firmware](/devices/pc8080/rom/vt100/) inside the [PC8080](/modules/pc8080/) CPU emulator.

View file

@ -7,14 +7,14 @@ machines:
type: pc8080 type: pc8080
debugger: true debugger: true
autoStart: true autoStart: true
messages: serial|mem|port messages: mem|port
config: /devices/pc8080/machine/vt100/debugger/machine.xml config: /devices/pc8080/machine/vt100/debugger/machine.xml
connection: serialPort=vt100b.serialPort connection: serialPort=vt100b.serialPort
- id: vt100b - id: vt100b
type: pc8080 type: pc8080
debugger: true debugger: true
autoStart: true autoStart: true
messages: serial|mem|port messages: mem|port
config: /devices/pc8080/machine/vt100/debugger/machine.xml config: /devices/pc8080/machine/vt100/debugger/machine.xml
connection: serialPort=vt100a.serialPort connection: serialPort=vt100a.serialPort
--- ---
@ -22,7 +22,7 @@ machines:
Dual VT100 Terminals with Debuggers Dual VT100 Terminals with Debuggers
----------------------------------- -----------------------------------
[Dual VT100 Terminals](../) with Debuggers attached. Here are [Dual VT100 Terminals](../) with the PCjs Debugger attached to each.
{% include machine.html id="vt100a" %} {% include machine.html id="vt100a" %}

View file

@ -118,13 +118,14 @@ function SerialPort(parmsSerial) {
/* /*
* No connection until initBus() invokes initConnection(). * No connection until initBus() invokes initConnection().
*/ */
this.connection = this.sendByte = null; this.sDataReceived = "";
this.connection = this.sendData = null;
/* /*
* Export all functions required by initConnection(); currently, this is the bare minimum, with no flow control. * Export all functions required by initConnection(); currently, this is the bare minimum, with no flow control.
*/ */
this['exports'] = { this['exports'] = {
'receiveByte': this.receiveByte 'receiveData': this.receiveData
}; };
} }
@ -329,8 +330,7 @@ SerialPort.prototype.setBinding = function(sHTMLType, sBinding, control, sValue)
*/ */
sValue = sValue.replace(/\\n/g, "\n").replace(/\\r/g, "\r"); sValue = sValue.replace(/\\n/g, "\n").replace(/\\r/g, "\r");
control.onclick = function onClickTest(event) { control.onclick = function onClickTest(event) {
serial.sDataReceived = sValue; serial.receiveData(sValue);
serial.receiveData();
/* /*
* Give focus back to the machine (since clicking the button takes focus away). * Give focus back to the machine (since clicking the button takes focus away).
*/ */
@ -362,11 +362,9 @@ SerialPort.prototype.initBus = function(cmp, bus, cpu, dbg)
var serial = this; var serial = this;
this.timerReceiveNext = this.cpu.addTimer(function() { this.timerReceiveNext = this.cpu.addTimer(function() {
serial.printMessage("timerReceiveNext()");
serial.receiveData(); serial.receiveData();
}); });
this.timerTransmitNext = this.cpu.addTimer(function() { this.timerTransmitNext = this.cpu.addTimer(function() {
serial.printMessage("timerTransmitNext()");
serial.transmitData(); serial.transmitData();
}); });
@ -388,7 +386,7 @@ SerialPort.prototype.initBus = function(cmp, bus, cpu, dbg)
* *
* If the target component is found, then verify that it has exported functions with the following names: * If the target component is found, then verify that it has exported functions with the following names:
* *
* receiveByte(b): called by us when we have a byte to transmit; aliased internally to sendByte(b) * receiveData(data): called when we have data to transmit; aliased internally to sendData(data)
* *
* For now, we're not going to worry about communication in the other direction, because when the target component * For now, we're not going to worry about communication in the other direction, because when the target component
* performs its own initConnection(), it will find our receiveByte(b) function, at which point communication in both * performs its own initConnection(), it will find our receiveByte(b) function, at which point communication in both
@ -409,7 +407,7 @@ SerialPort.prototype.initConnection = function()
if (this.connection) { if (this.connection) {
var exports = this.connection['exports']; var exports = this.connection['exports'];
if (exports) { if (exports) {
this.sendByte = exports['receiveByte']; this.sendData = exports['receiveData'];
} }
} }
} }
@ -560,11 +558,10 @@ SerialPort.prototype.getBaudTimeout = function(maskRate)
*/ */
SerialPort.prototype.receiveByte = function(b) SerialPort.prototype.receiveByte = function(b)
{ {
this.printMessage("receiveByte(" + str.toHexByte(b) + "): " + str.toHexByte(this.bStatus)); this.printMessage("receiveByte(" + str.toHexByte(b) + "), status=" + str.toHexByte(this.bStatus));
if (!(this.bStatus & SerialPort.UART8251.STATUS.RECV_FULL)) { if (!(this.bStatus & SerialPort.UART8251.STATUS.RECV_FULL)) {
this.bDataIn = b; this.bDataIn = b;
this.bStatus |= SerialPort.UART8251.STATUS.RECV_FULL; this.bStatus |= SerialPort.UART8251.STATUS.RECV_FULL;
this.printMessage("receiveByte(" + str.toHexByte(b) + "): " + str.toHexByte(this.bStatus) + " (requesting interrupt)");
this.cpu.requestINTR(this.nIRQ); this.cpu.requestINTR(this.nIRQ);
return true; return true;
} }
@ -572,17 +569,26 @@ SerialPort.prototype.receiveByte = function(b)
}; };
/** /**
* receiveData() * receiveData(data)
* *
* Helper for clocking received data at the expected RECV_RATE. * Helper for clocking received data at the expected RECV_RATE.
* *
* Currently, this is only use for test data that we "cram" down the terminal's throat, ensuring that we don't * When we're cramming test data down the terminal's throat, that data will typically be in the form
* cram it too rapidly. * of a string. When we're called by another component, data will typically be a number (ie, byte). If no
* data is specified at all, then all we do is "clock" any remaining data into the receiver.
* *
* @this {SerialPort} * @this {SerialPort}
* @param {number|string|undefined} [data]
*/ */
SerialPort.prototype.receiveData = function() SerialPort.prototype.receiveData = function(data)
{ {
if (data != null) {
if (typeof data != "number") {
this.sDataReceived = data;
} else {
this.sDataReceived += String.fromCharCode(data);
}
}
if (this.sDataReceived) { if (this.sDataReceived) {
if (this.receiveByte(this.sDataReceived.charCodeAt(0))) { if (this.receiveByte(this.sDataReceived.charCodeAt(0))) {
this.sDataReceived = this.sDataReceived.substr(1); this.sDataReceived = this.sDataReceived.substr(1);
@ -604,8 +610,10 @@ SerialPort.prototype.transmitByte = function(b)
{ {
var fTransmitted = false; var fTransmitted = false;
if (this.sendByte) { this.printMessage("transmitByte(" + str.toHexByte(b) + ")");
if (this.sendByte.call(this.connection, b)) {
if (this.sendData) {
if (this.sendData.call(this.connection, b)) {
fTransmitted = true; fTransmitted = true;
} }
} }

View file

@ -1,148 +1,149 @@
(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 ca(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 da(a){return"0x"+n(a,2)}function t(a){return"0x"+n(a,4)}function ea(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 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 da(a){return"0x"+n(a,2)}function t(a){return"0x"+n(a,4)}function ea(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 fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ga(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ia={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function ka(a,b){return(a+" ").slice(0,b)}function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} function fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ga(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ia={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ja(a){return a.replace(/[&<>"']/g,function(a){return ia[a]})}function ka(a,b){return(a+" ").slice(0,b)}function la(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
var ma={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"DC1",18:"DC2",19:"DC3",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function na(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 oa=Date.now||function(){return+new Date}; var ma={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"DC1",18:"DC2",19:"DC3",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function na(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 oa=Date.now||function(){return+new Date};
function pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function qa(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 pa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function qa(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 ra(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 ra(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 sa(){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 sa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function ta(){return window?window.navigator.userAgent:""}function u(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function xa(){if(null==va){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}va=a}return va} function ta(){return window?window.navigator.userAgent:""}function u(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var wa=null;function xa(){if(null==wa){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}wa=a}return wa}
function ya(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(a){if(window){var b=ta();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 Ba(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function ya(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(a){if(window){var b=ta();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 Ba(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ca(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 Da={init:[],show:[],exit:[]},Ea=!1,Ja=!0;function Ka(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function La(a){Da.init.push(a)} function Ca(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 Da={init:[],show:[],exit:[]},Ea=!1,Ja=!0;function Ka(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function La(a){Da.init.push(a)}
function Ma(a){if(Ja)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Na("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){!Ja&&a?(Ja=!0,Ea&&Pa("init")):Ja=a}function Pa(a){Da[a]&&Ma(Da[a])}Ka("onload",function(){Ea=!0;Ma(Da.init)});Ka("onpageshow",function(){Ma(Da.show)});Ka(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Ma(Da.exit)}); function Ma(a){if(Ja)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Na("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){!Ja&&a?(Ja=!0,Ea&&Pa("init")):Ja=a}function Pa(a){Da[a]&&Ma(Da[a])}Ka("onload",function(){Ea=!0;Ma(Da.init)});Ka("onpageshow",function(){Ma(Da.show)});Ka(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Ma(Da.exit)});
function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.yc=b.comment;this.Ic=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Yb=this.id.substr(0,b),this.Ya=this.id.substr(b+1)):this.Ya=this.id;this[a]=c;this.D={Ma:!1,lb:!1,Wb:!1,va:!1,nb:!1};this.Ob=null;this.D.nb=!1;this.N={};this.I=null;this.sa=d||0;Qa.push(this)}var Ta=void 0,Ua={}; function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.yc=b.comment;this.Ic=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Xb=this.id.substr(0,b),this.Ya=this.id.substr(b+1)):this.Ya=this.id;this[a]=c;this.D={Ma:!1,lb:!1,Vb:!1,va:!1,nb:!1};this.Ob=null;this.D.nb=!1;this.N={};this.I=null;this.sa=d||0;Qa.push(this)}var Ta=void 0,Ua={};
if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}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} if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}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 ab(a,b){b||(b=x);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Qa=[],bb={};function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Na(a,b,c){b||u((c?c+": ":"")+a)}function db(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 eb(a){if(void 0!==a){var b;for(b=0;b<Qa.length;b++)if(Qa[b].id===a)return Qa[b]}return null} function ab(a,b){b||(b=x);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Qa=[],bb={};function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Na(a,b,c){b||u((c?c+": ":"")+a)}function db(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 eb(a){if(void 0!==a){var b;for(b=0;b<Qa.length;b++)if(Qa[b].id===a)return Qa[b]}return null}
function fb(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){u(c.message+" ("+a+")")}return b} function fb(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){u(c.message+" ("+a+")")}return b}
function gb(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=z(h))&&g.binding&&a.ma(g.type,g.binding,h,g.value),l=k.length}}}} function gb(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=z(h))&&g.binding&&a.ma(g.type,g.binding,h,g.value),l=k.length}}}}
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} 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}
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ma:function(a,b,c){switch(b){case "clear":return this.N[b]||(this.N[b]=c,c.onclick=function(a){return function(){a.N.print&&(a.N.print.value="")}}(this)),!0;case "print":return this.N[b]||(this.Fa=this.N[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), x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ma:function(a,b,c){switch(b){case "clear":return this.N[b]||(this.N[b]=c,c.onclick=function(a){return function(){a.N.print&&(a.N.print.value="")}}(this)),!0;case "print":return this.N[b]||(this.Fa=this.N[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.ja=function(a){this.g(a,this.Ya)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Ya+": "+a)},ja:function(a,b,c){Na(a,b,c||this.type)},Ea:function(){return this.D.va=!0},Ha:function(a,b){b&&(this.D.va=!1);return!0}};function D(a,b,c,d,e,f,h){a.I&&(!0===h?h=0:null==h&&(h=a.sa),hb(a.I,a,b,c,d,e,f,h))}function E(a,b){a.I&&ib(a,0)&&a.I.message(b,void 0)}function ib(a,b){if(a.I){a===a.I?b|=0:b=b||a.sa;var c=a.I.sa&b;return!!b&&c===b||!!(c&a.I.wd)}return!1} this.ja=function(a){this.g(a,this.Ya)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Ya+": "+a)},ja:function(a,b,c){Na(a,b,c||this.type)},Ea:function(){return this.D.va=!0},Ha:function(a,b){b&&(this.D.va=!1);return!0}};function D(a,b,c,d,e,f,h){a.I&&(!0===h?h=0:null==h&&(h=a.sa),hb(a.I,a,b,c,d,e,f,h))}function ib(a,b){a.I&&jb(a,0)&&a.I.message(b,void 0)}function jb(a,b){if(a.I){a===a.I?b|=0:b=b||a.sa;var c=a.I.sa&b;return!!b&&c===b||!!(c&a.I.wd)}return!1}
function jb(a,b){if(a.D.Wb)return a.D.lb&&(a.D.lb=!1),a.D.Wb=!1;if(a.D.nb)return a.g(a.toString()+" error"),!1;a.D.lb=b;return a.D.lb}function kb(a,b){a.D.lb&&(b?a.D.Wb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.D.lb}function F(a){if(!a.D.nb&&(a.D.Ma=!0,a.D.Ma)){var b=a.Ob;a.Ob=null;b&&b()}}function lb(a,b){b&&(a.D.Ma?b():a.Ob=b);return a.D.Ma}function mb(a,b){a.D.nb=!0;a.ja(b)} function kb(a,b){if(a.D.Vb)return a.D.lb&&(a.D.lb=!1),a.D.Vb=!1;if(a.D.nb)return a.g(a.toString()+" error"),!1;a.D.lb=b;return a.D.lb}function lb(a,b){a.D.lb&&(b?a.D.Vb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.D.lb}function E(a){if(!a.D.nb&&(a.D.Ma=!0,a.D.Ma)){var b=a.Ob;a.Ob=null;b&&b()}}function mb(a,b){b&&(a.D.Ma?b():a.Ob=b);return a.D.Ma}function nb(a,b){a.D.nb=!0;a.ja(b)}
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, var ob="undefined"!==typeof ArrayBuffer,rb=[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 rb(a){x.call(this,"Panel",a,rb)}ab(rb);m=rb.prototype;m.ma=function(a,b,c,d){return this.A&&this.A.ma(a,b,c,d)||this.b&&this.b.ma(a,b,c,d)||this.K&&this.K.ma(a,b,c,d)||this.I&&this.I.ma(a,b,c,d)?!0:this.parent.ma.call(this,a,b,c,d)};m.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.I=d;this.K=sb(a,"Keyboard")};m.Ea=function(a,b){b||tb();return!0};m.Ha=function(){return!0};m.Ia=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 sb(a){x.call(this,"Panel",a,sb)}ab(sb);m=sb.prototype;m.ma=function(a,b,c,d){return this.A&&this.A.ma(a,b,c,d)||this.b&&this.b.ma(a,b,c,d)||this.K&&this.K.ma(a,b,c,d)||this.I&&this.I.ma(a,b,c,d)?!0:this.parent.ma.call(this,a,b,c,d)};m.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.I=d;this.K=tb(a,"Keyboard")};m.Ea=function(a,b){b||ub();return!0};m.Ha=function(){return!0};m.Ia=function(){};
function tb(){for(var a=!1,b=B(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=eb(e.id);f||(a=!0,f=new rb(e));gb(f,d);a&&F(f)}}La(tb); function ub(){for(var a=!1,b=B(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=eb(e.id);f||(a=!0,f=new sb(e));gb(f,d);a&&E(f)}}La(ub);
function ub(a,b,c){x.call(this,"Bus",a,ub);this.b=b;this.I=c;this.H=a.busWidth||16;this.M=Math.pow(2,this.H);this.B=this.M-1|0;this.pa=16>=this.H?10:20>=this.H?12:24>=this.H?14:15;this.Ga=1<<this.pa;this.O=this.Ga>>2;this.w=this.Ga-1;this.L=this.M/this.Ga|0;this.K=this.L-1;this.A=[];this.u=[];this.F=this.J=!1;this.P=[];this.S=[];a=new G;vb(a,this.I);this.Y=Array(this.L);for(b=0;b<this.L;b++)this.Y[b]=a;F(this)}ab(ub);m=ub.prototype;m.reset=function(){};m.Ea=function(a,b){b||this.reset();return!0}; function vb(a,b,c){x.call(this,"Bus",a,vb);this.b=b;this.I=c;this.H=a.busWidth||16;this.M=Math.pow(2,this.H);this.B=this.M-1|0;this.pa=16>=this.H?10:20>=this.H?12:24>=this.H?14:15;this.Ga=1<<this.pa;this.O=this.Ga>>2;this.w=this.Ga-1;this.L=this.M/this.Ga|0;this.K=this.L-1;this.A=[];this.u=[];this.F=this.J=!1;this.P=[];this.S=[];a=new F;wb(a,this.I);this.Y=Array(this.L);for(b=0;b<this.L;b++)this.Y[b]=a;E(this)}ab(vb);m=vb.prototype;m.reset=function(){};m.Ea=function(a,b){b||this.reset();return!0};
function wb(a,b,c,d){for(var e=b,f=c,h=e>>>a.pa;0<f&&h<a.Y.length;){var g=a.Y[h],k=h*a.Ga,l=a.Ga-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.G)return g.Ib+=g.G-e,g.G=e,!0;if(e>=g.G+g.Ib){l=g.size-(e-k);l>f&&(l=f);g.Ib=e-g.G+l;e=k+a.Ga;f-=l;h++;continue}}return xb(1,e,f)}e=new G(e,l,a.Ga,d);vb(e,a.I,g);a.Y[h++]=e;e=k+a.Ga;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+yb[d]+" at "+t(b)),!0):xb(2,b,c)}m.aa=function(a){return this.Y[(a&this.B)>>>this.pa].tb(a&this.w,a)}; function xb(a,b,c,d){for(var e=b,f=c,h=e>>>a.pa;0<f&&h<a.Y.length;){var g=a.Y[h],k=h*a.Ga,l=a.Ga-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.G)return g.Ib+=g.G-e,g.G=e,!0;if(e>=g.G+g.Ib){l=g.size-(e-k);l>f&&(l=f);g.Ib=e-g.G+l;e=k+a.Ga;f-=l;h++;continue}}return yb(1,e,f)}e=new F(e,l,a.Ga,d);wb(e,a.I,g);a.Y[h++]=e;e=k+a.Ga;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+zb[d]+" at "+t(b)),!0):yb(2,b,c)}m.aa=function(a){return this.Y[(a&this.B)>>>this.pa].tb(a&this.w,a)};
function zb(a,b){return a.Y[(b&a.B)>>>a.pa].Hb(b&a.w,b)}m.Sa=function(a){var b=a&this.w,c=(a&this.B)>>>this.pa;return b!=this.w?this.Y[c].Lc(b,a):this.Y[c++].tb(b,a)|this.Y[c&this.K].tb(0,a+1)<<8};function Ab(a,b){var c=b&a.w,d=(b&a.B)>>>a.pa;return c!=a.w?a.Y[d].fc(c,b):a.Y[d++].Hb(c,b)|a.Y[d&a.K].Hb(0,b+1)<<8}m.ta=function(a,b){this.Y[(a&this.B)>>>this.pa].vb(a&this.w,b&255,a)};function Bb(a,b,c){a.Y[(b&a.B)>>>a.pa].Jb(b&a.w,c&255,b)} function Ab(a,b){return a.Y[(b&a.B)>>>a.pa].Hb(b&a.w,b)}m.Sa=function(a){var b=a&this.w,c=(a&this.B)>>>this.pa;return b!=this.w?this.Y[c].Lc(b,a):this.Y[c++].tb(b,a)|this.Y[c&this.K].tb(0,a+1)<<8};function Bb(a,b){var c=b&a.w,d=(b&a.B)>>>a.pa;return c!=a.w?a.Y[d].ec(c,b):a.Y[d++].Hb(c,b)|a.Y[d&a.K].Hb(0,b+1)<<8}m.ta=function(a,b){this.Y[(a&this.B)>>>this.pa].vb(a&this.w,b&255,a)};function Cb(a,b,c){a.Y[(b&a.B)>>>a.pa].Jb(b&a.w,c&255,b)}
m.Ub=function(a,b){var c=a&this.w,d=(a&this.B)>>>this.pa;c!=this.w?this.Y[d].Oc(c,b&65535,a):(this.Y[d++].vb(c,b&255,a),this.Y[d&this.K].vb(0,b>>8&255,a+1))};function Cb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Db(a,b,c,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.A[k]?u("Input port "+t(k)+" already registered"):f.A[k]=[g,!1]}} m.Tb=function(a,b){var c=a&this.w,d=(a&this.B)>>>this.pa;c!=this.w?this.Y[d].Oc(c,b&65535,a):(this.Y[d++].vb(c,b&255,a),this.Y[d&this.K].vb(0,b>>8&255,a+1))};function Db(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Eb(a,b,c,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.A[k]?u("Input port "+t(k)+" already registered"):f.A[k]=[g,!1]}}
function Eb(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.A[b],g=a.P[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.I&&a.F!=h[1]&&Fb(a.I,b,l)):a.I&&(hb(a.I,a,b,null,c),a.F&&Fb(a.I,b,l));e|=l<<f;f+=g<<3;b+=g;d-=g}return e}function Gb(a,b){if(void 0===b)return a.J=!a.J,a.J;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]} function Fb(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.A[b],g=a.P[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.I&&a.F!=h[1]&&Gb(a.I,b,l)):a.I&&(hb(a.I,a,b,null,c),a.F&&Gb(a.I,b,l));e|=l<<f;f+=g<<3;b+=g;d-=g}return e}function Hb(a,b){if(void 0===b)return a.J=!a.J,a.J;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]}
function Hb(a,b,c,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]?u("Output port "+t(k)+" already registered"):f.u[k]=[g,!1]}}function Jb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.u[b],g=a.S[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.I&&a.J!=h[1]&&Kb(a.I,b,k)}else a.I&&(hb(a.I,a,b,k,d),a.J&&Kb(a.I,b,k));f+=g<<3;b+=g;e-=g}} function Jb(a,b,c,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]?u("Output port "+t(k)+" already registered"):f.u[k]=[g,!1]}}function Kb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.u[b],g=a.S[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.I&&a.J!=h[1]&&Lb(a.I,b,k)}else a.I&&(hb(a.I,a,b,k,d),a.J&&Lb(a.I,b,k));f+=g<<3;b+=g;e-=g}}
function xb(a,b,c){u("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Lb;if(nb){var Ub=new ArrayBuffer(2);(new DataView(Ub)).setUint16(0,256,!0);Lb=256===(new Uint16Array(Ub))[0]}else Lb=!1;var Vb=Lb; function yb(a,b,c){u("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ub;if(ob){var Vb=new ArrayBuffer(2);(new DataView(Vb)).setUint16(0,256,!0);Ub=256===(new Uint16Array(Vb))[0]}else Ub=!1;var Wb=Ub;
function G(a,b,c,d){this.id=Wb+=2;this.b=null;this.G=a;this.Ib=b;this.size=c||0;this.type=d||Xb;this.A=d==Yb;vb(this);this.Oa=this.vc=!1;if(c)if(nb)this.F=new ArrayBuffer(c),this.J=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),Zb(this,Vb?$b:ac);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Zb(this,bc)}else Zb(this)}var Xb=0,Yb=2,yb=["NONE","RAM","ROM","VID","H/W"],Wb=0; function F(a,b,c,d){this.id=Xb+=2;this.b=null;this.G=a;this.Ib=b;this.size=c||0;this.type=d||Yb;this.A=d==Zb;wb(this);this.Oa=this.vc=!1;if(c)if(ob)this.F=new ArrayBuffer(c),this.J=new DataView(this.F,0,c),this.w=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),$b(this,Wb?ac:bc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;$b(this,cc)}else $b(this)}var Yb=0,Zb=2,zb=["NONE","RAM","ROM","VID","H/W"],Xb=0;
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(nb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.J.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.J.setInt32(b<<2,a[b],!0);else this.b=a;return this.Oa=!0}return!1},$a:function(a,b){b?0===this.u++&&cc(this,dc,!1):0===this.N++&&ec(this,dc,!1)},L:function(){this.I&&ib(this.I,129)&&this.I.message("attempt to read invalid block %"+n(this.G),!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.J.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.J.setInt32(b<<2,a[b],!0);else this.b=a;return this.Oa=!0}return!1},$a:function(a,b){b?0===this.u++&&dc(this,ec,!1):0===this.N++&&fc(this,ec,!1)},L:function(){this.I&&jb(this.I,129)&&this.I.message("attempt to read invalid block %"+n(this.G),!0);
return 255},B:function(a,b){this.I&&ib(this.I,129)&&this.I.message("attempt to write "+t(b)+" to invalid block %"+n(this.G),!0)},M:function(a,b){return this.tb(a++,b++)|this.tb(a,b)<<8},H:function(a,b,c){this.vb(a++,b&255,c++);this.vb(a,b>>8,c)},ba:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ha: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},ua:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.Oa=!0},Da:function(a, return 255},B:function(a,b){this.I&&jb(this.I,129)&&this.I.message("attempt to write "+t(b)+" to invalid block %"+n(this.G),!0)},M:function(a,b){return this.tb(a++,b++)|this.tb(a,b)<<8},H:function(a,b,c){this.vb(a++,b&255,c++);this.vb(a,b>>8,c)},ba:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ha: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},ua:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.Oa=!0},Da: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.Oa=!0},P:function(a,b){if(this.I&&null!=this.G){var c=this.I;fc(c,this.G+a,1,c.P)&&c.na(!0)}return this.Hb(a,b)},ea:function(a,b){if(this.I&&null!=this.G){var c=this.I;fc(c,this.G+a,2,c.P)&&c.na(!0)}return this.fc(a,b)},qa:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;fc(d,this.G+a,1,d.J)&&d.na(!0)}this.A?this.B(a,b,c):this.Jb(a,b,c)},Ya: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.Oa=!0},P:function(a,b){if(this.I&&null!=this.G){var c=this.I;gc(c,this.G+a,1,c.P)&&c.na(!0)}return this.Hb(a,b)},ea:function(a,b){if(this.I&&null!=this.G){var c=this.I;gc(c,this.G+a,2,c.P)&&c.na(!0)}return this.ec(a,b)},qa:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;gc(d,this.G+a,1,d.J)&&d.na(!0)}this.A?this.B(a,b,c):this.Jb(a,b,c)},Ya:function(a,
b,c){if(this.I&&null!=this.G){var d=this.I;fc(d,this.G+a,2,d.J)&&d.na(!0)}this.A?this.B(a,b,c):this.hc(a,b,c)},O:function(a){return this.w[a]},S:function(a){return this.w[a]},da:function(a){return this.J.getUint16(a,!0)},ga:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.K[a>>1]},ia:function(a,b){this.w[a]=b;this.Oa=!0},ra:function(a,b){this.w[a]=b;this.Oa=!0},za:function(a,b){this.J.setUint16(a,b,!0);this.Oa=!0},Ca:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.K[a>>1]=b;this.Oa=!0}}; b,c){if(this.I&&null!=this.G){var d=this.I;gc(d,this.G+a,2,d.J)&&d.na(!0)}this.A?this.B(a,b,c):this.hc(a,b,c)},O:function(a){return this.w[a]},S:function(a){return this.w[a]},da:function(a){return this.J.getUint16(a,!0)},ga:function(a){return a&1?this.w[a]|this.w[a+1]<<8:this.K[a>>1]},ia:function(a,b){this.w[a]=b;this.Oa=!0},ra:function(a,b){this.w[a]=b;this.Oa=!0},za:function(a,b){this.J.setUint16(a,b,!0);this.Oa=!0},Ca:function(a,b){a&1?(this.w[a]=b,this.w[a+1]=b>>8):this.K[a>>1]=b;this.Oa=!0}};
function vb(a,b,c){a.I=b;a.N=a.u=0;c&&((a.N=c.N)&&ec(a,dc,!1),(a.u=c.u)&&cc(a,dc,!1))}function gc(a,b){b?0===--a.u&&(a.vb=a.A?a.B:a.Jb,a.Oc=a.A?a.H:a.hc):0===--a.N&&(a.tb=a.Hb,a.Lc=a.fc)}function cc(a,b,c){c&&a.u||(a.vb=!a.A&&b[2]||a.B,a.Oc=!a.A&&b[3]||a.H);if(c||void 0===c)a.Jb=b[2]||a.B,a.hc=b[3]||a.H}function ec(a,b,c){c&&a.N||(a.tb=b[0]||a.L,a.Lc=b[1]||a.M);if(c||void 0===c)a.Hb=b[0]||a.L,a.fc=b[1]||a.M}function Zb(a,b){b||(b=hc);ec(a,b,void 0);cc(a,b,void 0)} function wb(a,b,c){a.I=b;a.N=a.u=0;c&&((a.N=c.N)&&fc(a,ec,!1),(a.u=c.u)&&dc(a,ec,!1))}function hc(a,b){b?0===--a.u&&(a.vb=a.A?a.B:a.Jb,a.Oc=a.A?a.H:a.hc):0===--a.N&&(a.tb=a.Hb,a.Lc=a.ec)}function dc(a,b,c){c&&a.u||(a.vb=!a.A&&b[2]||a.B,a.Oc=!a.A&&b[3]||a.H);if(c||void 0===c)a.Jb=b[2]||a.B,a.hc=b[3]||a.H}function fc(a,b,c){c&&a.N||(a.tb=b[0]||a.L,a.Lc=b[1]||a.M);if(c||void 0===c)a.Hb=b[0]||a.L,a.ec=b[1]||a.M}function $b(a,b){b||(b=ic);fc(a,b,void 0);dc(a,b,void 0)}
var hc=[],bc=[G.prototype.ba,G.prototype.ha,G.prototype.ua,G.prototype.Da],dc=[G.prototype.P,G.prototype.ea,G.prototype.qa,G.prototype.Ya];if(nb)var ac=[G.prototype.O,G.prototype.da,G.prototype.ia,G.prototype.za],$b=[G.prototype.S,G.prototype.ga,G.prototype.ra,G.prototype.Ca]; var ic=[],cc=[F.prototype.ba,F.prototype.ha,F.prototype.ua,F.prototype.Da],ec=[F.prototype.P,F.prototype.ea,F.prototype.qa,F.prototype.Ya];if(ob)var bc=[F.prototype.O,F.prototype.da,F.prototype.ia,F.prototype.za],ac=[F.prototype.S,F.prototype.ga,F.prototype.ra,F.prototype.Ca];
function ic(a,b){x.call(this,"CPU",a,ic,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.fb=c;this.i.Qb=0;this.i.Ta=d;this.i.bc=Math.round(this.i.fb/1E4)/100;this.i.cb=this.i.bc*this.i.Ta;this.D.ya=!1;this.D.Xb=!1;this.D.uc=a.autoStart;this.D.wc=!1;this.D.mb=!1;this.i.Bb=this.i.qb=0;this.i.Cb=a.csStart;this.i.pb=a.csInterval;this.i.rb=a.csStop;this.F=[];this.ba=this.gb.bind(this);F(this)}ab(ic);var jc=["power","reset"];m=ic.prototype; function jc(a,b){x.call(this,"CPU",a,jc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.fb=c;this.i.Qb=0;this.i.Ta=d;this.i.ac=Math.round(this.i.fb/1E4)/100;this.i.cb=this.i.ac*this.i.Ta;this.D.ya=!1;this.D.Wb=!1;this.D.uc=a.autoStart;this.D.wc=!1;this.D.mb=!1;this.i.Bb=this.i.qb=0;this.i.Cb=a.csStart;this.i.pb=a.csInterval;this.i.rb=a.csStop;this.F=[];this.ba=this.gb.bind(this);E(this)}ab(jc);var kc=["power","reset"];m=jc.prototype;
m.Qa=function(a,b,c,d){this.A=a;this.w=b;this.I=d;for(b=0;b<jc.length;b++)(c=this.N[jc[b]])&&this.A.ma(null,jc[b],c);this.M=(b=sb(a,"Video"))&&Math.max(b.Zd,b.Zb)||60;this.J=sb(a,"ChipSet");a=kc(a,"autoStart");null!=a&&(this.D.uc="true"==a?!0:"false"==a?!1:!!a);F(this)};m.reset=function(){this.i.Qb=0};m.save=function(){return null};m.restore=function(){return!1}; m.Qa=function(a,b,c,d){this.A=a;this.w=b;this.I=d;for(b=0;b<kc.length;b++)(c=this.N[kc[b]])&&this.A.ma(null,kc[b],c);this.M=(b=tb(a,"Video"))&&Math.max(b.Zd,b.Yb)||60;this.J=tb(a,"ChipSet");a=lc(a,"autoStart");null!=a&&(this.D.uc="true"==a?!0:"false"==a?!1:!!a);E(this)};m.reset=function(){this.i.Qb=0};m.save=function(){return null};m.restore=function(){return!1};
m.Ea=function(a,b){if(!b){if(a&&this.restore){lc(this);if(!this.restore(a))return!1;mc(this)}else this.reset();if(this.I){var c=this.I;c.g("Type ? for help with PC8080 Debugger commands");c.Ia();if(c.Da){var d=c.Da;c.Da=null;nc(c,d)}}else this.g("No debugger detected")}oc(this);return!0};m.Ha=function(a){return a?this.save():!0};function pc(a){(a.D.uc||!a.I&&void 0===a.N.run)&&a.gb(!0)}m.xc=function(){return 0}; m.Ea=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();if(this.I){var c=this.I;c.g("Type ? for help with PC8080 Debugger commands");c.Ia();if(c.Da){var d=c.Da;c.Da=null;oc(c,d)}}else this.g("No debugger detected")}pc(this);return!0};m.Ha=function(a){return a?this.save():!0};function Cc(a){(a.D.uc||!a.I&&void 0===a.N.run)&&a.gb(!0)}m.xc=function(){return 0};
function mc(a){void 0===a.i.Cb&&(a.i.Cb=0);void 0===a.i.pb&&(a.i.pb=-1);void 0===a.i.rb&&(a.i.rb=-1);a.D.mb=0<=a.i.Cb&&0<a.i.pb;a.D.mb&&(a.i.Bb=0,a.i.qb=a.i.Cb-a.K)}function Cc(a,b){if(a.D.mb){var c=!1;a.i.Bb=a.i.Bb+a.xc()|0;a.i.qb-=b;0>=a.i.qb&&(a.i.qb+=a.i.pb,c=!0);0<=a.i.rb&&a.i.rb<=Dc(a)&&(a.i.pb=a.i.rb=-1,mc(a),a.na(),c=!0);c&&a.g(Dc(a)+" cycles: checksum="+n(a.i.Bb))}} function nc(a){void 0===a.i.Cb&&(a.i.Cb=0);void 0===a.i.pb&&(a.i.pb=-1);void 0===a.i.rb&&(a.i.rb=-1);a.D.mb=0<=a.i.Cb&&0<a.i.pb;a.D.mb&&(a.i.Bb=0,a.i.qb=a.i.Cb-a.K)}function Dc(a,b){if(a.D.mb){var c=!1;a.i.Bb=a.i.Bb+a.xc()|0;a.i.qb-=b;0>=a.i.qb&&(a.i.qb+=a.i.pb,c=!0);0<=a.i.rb&&a.i.rb<=Ec(a)&&(a.i.pb=a.i.rb=-1,nc(a),a.na(),c=!0);c&&a.g(Ec(a)+" cycles: checksum="+n(a.i.Bb))}}
m.ma=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.D.va)a=!0;else{var b=null,c,g=db(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.D.Ma);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.D.va);c++);c==g.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.D.Ma?"powered yet":"ready yet"+(b.Ob?" (waiting for notification)":""))+".");a=!1}a&&(d.D.ya?d.na(!0):d.gb(!0))};a= m.ma=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.D.va)a=!0;else{var b=null,c,g=db(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.D.Ma);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.D.va);c++);c==g.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.D.Ma?"powered yet":"ready yet"+(b.Ob?" (waiting for notification)":""))+".");a=!1}a&&(d.D.ya?d.na(!0):d.gb(!0))};a=
!0;break;case "speed":this.N[b]=c;a=!0;break;case "setSpeed":this.N[b]=c,c.onclick=function(){Ec(d,d.i.Ta<<1,!0)},c.textContent=this.i.cb.toFixed(2)+"Mhz",a=!0}return a};function Fc(a,b,c){a.K+=b;c&&(a.B=a.b=0)} !0;break;case "speed":this.N[b]=c;a=!0;break;case "setSpeed":this.N[b]=c,c.onclick=function(){Fc(d,d.i.Ta<<1,!0)},c.textContent=this.i.cb.toFixed(2)+"Mhz",a=!0}return a};function Gc(a,b,c){a.K+=b;c&&(a.B=a.b=0)}
function Gc(a,b){var c=30;c<a.M&&(c=a.M);2>c&&(c=2);var d=1;b&&1<a.i.Ta&&a.i.bb&&(d=a.i.bb/a.i.bc);a.i.Cc=Math.round(1E3/30);a.i.Hd=Math.floor(a.i.fb/c*d);a.i.dc=Math.floor(a.i.fb/30*d);a.i.Ec=Math.floor(a.i.fb/a.M*d);a.i.Dc=Math.floor(a.i.fb/2*d);b||(a.i.sb=a.i.dc,a.i.Eb=a.i.Ec,a.i.Db=a.i.Dc);a.i.ec=0}function Dc(a){return a.K+a.H+a.B-a.b}function lc(a){a.i.bb=0;a.K=a.H=a.B=a.b=0;mc(a);Ec(a,1)} function Hc(a,b){var c=30;c<a.M&&(c=a.M);2>c&&(c=2);var d=1;b&&1<a.i.Ta&&a.i.bb&&(d=a.i.bb/a.i.ac);a.i.Cc=Math.round(1E3/30);a.i.Hd=Math.floor(a.i.fb/c*d);a.i.cc=Math.floor(a.i.fb/30*d);a.i.Ec=Math.floor(a.i.fb/a.M*d);a.i.Dc=Math.floor(a.i.fb/2*d);b||(a.i.sb=a.i.cc,a.i.Eb=a.i.Ec,a.i.Db=a.i.Dc);a.i.dc=0}function Ec(a){return a.K+a.H+a.B-a.b}function mc(a){a.i.bb=0;a.K=a.H=a.B=a.b=0;nc(a);Fc(a,1)}
function Ec(a,b,c){var d=!1;if(void 0!==b){.8>a.i.bb/a.i.cb?b=1:d=!0;a.i.Ta=b;b=a.i.bc*a.i.Ta;if(a.i.cb!=b){a.i.cb=b;b=a.i.cb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.hb()}Fc(a,a.H);a.H=0;a.i.ob=oa();a.i.eb=0;Gc(a);return d}function Hc(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Ic(a,b,c){var d=-1;0<=b&&b<a.F.length&&(d=a.i.fb*a.i.Ta/1E3*c,a.F[b][0]=d)} function Fc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.bb/a.i.cb?b=1:d=!0;a.i.Ta=b;b=a.i.ac*a.i.Ta;if(a.i.cb!=b){a.i.cb=b;b=a.i.cb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.hb()}Gc(a,a.H);a.H=0;a.i.ob=oa();a.i.eb=0;Hc(a);return d}function Ic(a,b){var c=a.F.length;a.F.push([-1,b]);return c}function Jc(a,b,c){var d=-1;0<=b&&b<a.F.length&&(d=a.i.fb*a.i.Ta/1E3*c,a.F[b][0]=d)}
m.gb=function(a){if(jb(this,!0)){if(!this.D.ya){Ec(this);this.A&&this.A.start(this.i.ob,Dc(this));this.D.ya=!0;this.D.Xb=!0;this.J&&this.J.start();var b=this.N.run;b&&(b.textContent="Halt");this.A&&(this.A.Ia(!0),a&&this.A.hb(!0))}this.i.ec>=this.i.fb&&Gc(this,!0);this.i.Fb=0;this.i.Pb=oa();this.i.eb&&(a=this.i.Pb-this.i.eb,a>this.i.Cc&&(this.i.ob+=a,this.i.ob>this.i.Pb&&(this.i.ob=this.i.Pb)));try{do{var c=this.D.mb?1:this.i.Hd;a=c;for(b=0;b<this.F.length;b++){var d=this.F[b];0>d[0]||a>d[0]&&(a= m.gb=function(a){if(kb(this,!0)){if(!this.D.ya){Fc(this);this.A&&this.A.start(this.i.ob,Ec(this));this.D.ya=!0;this.D.Wb=!0;this.J&&this.J.start();var b=this.N.run;b&&(b.textContent="Halt");this.A&&(this.A.Ia(!0),a&&this.A.hb(!0))}this.i.dc>=this.i.fb&&Hc(this,!0);this.i.Fb=0;this.i.Pb=oa();this.i.eb&&(a=this.i.Pb-this.i.eb,a>this.i.Cc&&(this.i.ob+=a,this.i.ob>this.i.Pb&&(this.i.ob=this.i.Pb)));try{do{var c=this.D.mb?1:this.i.Hd;a=c;for(b=0;b<this.F.length;b++){var d=this.F[b];0>d[0]||a>d[0]&&(a=
d[0])}c=a;this.ub(c);var e=this.B-this.b;a=e;for(b=0;b<this.F.length;b++){var f=this.F[b];0>f[0]||(f[0]-=a,0>=f[0]&&(f[0]=-1,f[1]()))}this.i.Fb+=e;this.H+=e;Fc(this,0,!0);Cc(this,e);this.i.Eb-=e;0>=this.i.Eb&&(this.i.Eb+=this.i.Ec,this.A&&Jc(this.A,this.i.Qb++),this.i.Qb>this.M&&(this.i.Qb=0));this.i.Db-=e;0>=this.i.Db&&(this.i.Db+=this.i.Dc,this.A&&this.A.Ia());this.i.sb-=e;if(0>=this.i.sb){this.i.sb+=this.i.dc;break}}while(this.D.ya)}catch(h){this.na();oc(this);this.A&&this.A.stop(oa(),Dc(this)); d[0])}c=a;this.ub(c);var e=this.B-this.b;a=e;for(b=0;b<this.F.length;b++){var f=this.F[b];0>f[0]||(f[0]-=a,0>=f[0]&&(f[0]=-1,f[1]()))}this.i.Fb+=e;this.H+=e;Gc(this,0,!0);Dc(this,e);this.i.Eb-=e;0>=this.i.Eb&&(this.i.Eb+=this.i.Ec,this.A&&Kc(this.A,this.i.Qb++),this.i.Qb>this.M&&(this.i.Qb=0));this.i.Db-=e;0>=this.i.Db&&(this.i.Db+=this.i.Dc,this.A&&this.A.Ia());this.i.sb-=e;if(0>=this.i.sb){this.i.sb+=this.i.cc;break}}while(this.D.ya)}catch(h){this.na();pc(this);this.A&&this.A.stop(oa(),Ec(this));
jb(this,!1);mb(this,h.stack||h.message);return}c=setTimeout;d=this.ba;this.i.eb=oa();e=this.i.Cc;this.i.Fb&&(e=Math.round(e*this.i.Fb/this.i.dc));e-=this.i.eb-this.i.Pb;if(f=this.i.eb-this.i.ob)this.i.bb=Math.round(this.H/(10*f))/100,864E5<=f&&(this.K=0,Ec(this));if(0>e||this.i.bb<this.i.cb)e=0;this.i.ec+=this.i.Fb;this.i.eb+=e;c(d,e)}else oc(this),this.A&&this.A.stop(oa(),Dc(this))};m.ub=function(){return 0}; kb(this,!1);nb(this,h.stack||h.message);return}c=setTimeout;d=this.ba;this.i.eb=oa();e=this.i.Cc;this.i.Fb&&(e=Math.round(e*this.i.Fb/this.i.cc));e-=this.i.eb-this.i.Pb;if(f=this.i.eb-this.i.ob)this.i.bb=Math.round(this.H/(10*f))/100,864E5<=f&&(this.K=0,Fc(this));if(0>e||this.i.bb<this.i.cb)e=0;this.i.dc+=this.i.Fb;this.i.eb+=e;c(d,e)}else pc(this),this.A&&this.A.stop(oa(),Ec(this))};m.ub=function(){return 0};
m.na=function(a){kb(this,!0);this.B-=this.b;this.b=0;Fc(this,this.H);this.H=0;if(this.D.ya){this.D.ya=!1;this.J&&this.J.stop();var b=this.N.run;b&&(b.textContent="Run")}this.D.Nb=a};function oc(a,b){a.A&&(Jc(a.A,-1),a.A.Ia(b))}function Kc(a){this.Bc=+a.model||8080;ic.call(this,a,1E6);this.O=Lc;lc(this);this.D.Nb=this.D.xd=!1;this.S=0;this.L=[];this.P=0;Mc(this)}ab(Kc,ic);function Nc(a,b){a.L.push(b)}m=Kc.prototype;m.reset=function(){this.D.ya&&this.na();Mc(this);lc(this);this.D.nb=!1;this.parent.reset.call(this)}; m.na=function(a){lb(this,!0);this.B-=this.b;this.b=0;Gc(this,this.H);this.H=0;if(this.D.ya){this.D.ya=!1;this.J&&this.J.stop();var b=this.N.run;b&&(b.textContent="Run")}this.D.Nb=a};function pc(a,b){a.A&&(Kc(a.A,-1),a.A.Ia(b))}function Lc(a){this.Bc=+a.model||8080;jc.call(this,a,1E6);this.O=Mc;mc(this);this.D.Nb=this.D.xd=!1;this.S=0;this.L=[];this.P=0;Nc(this)}ab(Lc,jc);function Oc(a,b){a.L.push(b)}m=Lc.prototype;m.reset=function(){this.D.ya&&this.na();Nc(this);mc(this);this.D.nb=!1;this.parent.reset.call(this)};
function Mc(a){a.j=0;a.T=0;a.U=0;a.V=0;a.W=0;a.X=0;a.Z=0;a.la=0;H(a,a.P);Oc(a,0);a.u=0}function Pc(a,b){a.P=b;H(a,b)}m.xc=function(){var a=this.j+this.T+this.U+this.V+this.W+this.X+this.Z|0;return a=a+this.la+this.R+Qc(this)|0}; function Nc(a){a.j=0;a.T=0;a.U=0;a.V=0;a.W=0;a.X=0;a.Z=0;a.la=0;G(a,a.P);Pc(a,0);a.u=0}function Qc(a,b){a.P=b;G(a,b)}m.xc=function(){var a=this.j+this.T+this.U+this.V+this.W+this.X+this.Z|0;return a=a+this.la+this.R+Rc(this)|0};
m.save=function(){var a=new Rc(this);I(a,0,[this.j,this.T,this.U,this.V,this.W,this.X,this.Z,this.la,this.R,Qc(this)]);I(a,1,[this.u,this.K,this.i.Ta]);for(var b=this.w,c=0,d=[],e=0;e<b.L;e++){var f=b.Y[e];if(f.Oa||f.vc){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}}I(a,2,d);return a.data()}; m.save=function(){var a=new H(this);I(a,0,[this.j,this.T,this.U,this.V,this.W,this.X,this.Z,this.la,this.R,Rc(this)]);I(a,1,[this.u,this.K,this.i.Ta]);for(var b=this.w,c=0,d=[],e=0;e<b.L;e++){var f=b.Y[e];if(f.Oa||f.vc){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}}I(a,2,d);return a.data()};
m.restore=function(a){var b=a[0];this.j=b[0];this.T=b[1];this.U=b[2];this.V=b[3];this.W=b[4];this.X=b[5];this.Z=b[6];this.la=b[7]&65535;H(this,b[8]);Oc(this,b[9]);b=a[1];this.u=b[0];this.K=b[1];Ec(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.O){for(var f=0,h=Array(b.O),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.Y[d];if(!f||!f.restore(e)){u("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.T=b[1];this.U=b[2];this.V=b[3];this.W=b[4];this.X=b[5];this.Z=b[6];this.la=b[7]&65535;G(this,b[8]);Pc(this,b[9]);b=a[1];this.u=b[0];this.K=b[1];Fc(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.O){for(var f=0,h=Array(b.O),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.Y[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
m.ma=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.N[b]=c;this.S++;d=!0;break;default:d=this.parent.ma.call(this,a,b,c)}return d};function Sc(a){return a.T<<8|a.U}function Tc(a,b){a.T=b>>8&255;a.U=b&255}function Uc(a){return a.V<<8|a.W}function Vc(a,b){a.V=b>>8&255;a.W=b&255}function J(a){return a.X<<8|a.Z} m.ma=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.N[b]=c;this.S++;d=!0;break;default:d=this.parent.ma.call(this,a,b,c)}return d};function Sc(a){return a.T<<8|a.U}function Tc(a,b){a.T=b>>8&255;a.U=b&255}function Uc(a){return a.V<<8|a.W}function Vc(a,b){a.V=b>>8&255;a.W=b&255}function J(a){return a.X<<8|a.Z}
function Wc(a,b){a.X=b>>8&255;a.Z=b&255}function H(a,b){a.R=b&65535}function Xc(a){return a.ca&256?1:0}function Yc(a,b){a.ca=a.ca&255|b}function Zc(a){return ob[a.fa&255]?4:0}function $c(a){return(a.fa^a.xa)&16?16:0}function ad(a){return a.ca&255?0:64}function bd(a){return a.fa&128?128:0}function Qc(a){return a.wa&-214|bd(a)|ad(a)|$c(a)|Zc(a)|Xc(a)}function Oc(a,b){a.ca=a.fa=a.xa=0;b&1&&(a.ca|=256);b&4||(a.fa|=1);b&16&&(a.xa|=16);b&64||(a.ca|=255);b&128&&(a.fa^=192);a.wa=a.wa&-726|b&512|2} function Wc(a,b){a.X=b>>8&255;a.Z=b&255}function G(a,b){a.R=b&65535}function Xc(a){return a.ca&256?1:0}function Yc(a,b){a.ca=a.ca&255|b}function Zc(a){return rb[a.fa&255]?4:0}function $c(a){return(a.fa^a.xa)&16?16:0}function ad(a){return a.ca&255?0:64}function bd(a){return a.fa&128?128:0}function Rc(a){return a.wa&-214|bd(a)|ad(a)|$c(a)|Zc(a)|Xc(a)}function Pc(a,b){a.ca=a.fa=a.xa=0;b&1&&(a.ca|=256);b&4||(a.fa|=1);b&16&&(a.xa|=16);b&64||(a.ca|=255);b&128&&(a.fa^=192);a.wa=a.wa&-726|b&512|2}
function cd(a,b){a.xa=a.j^b;return a.fa=(a.ca=a.j+b)&255}function dd(a,b){a.xa=a.j^b;return a.fa=(a.ca=a.j+b+(a.ca&256?1:0))&255}function ed(a,b){a.ca=a.fa=a.xa=a.j&b;(a.j|b)&8&&(a.xa^=16);return a.ca}function fd(a,b){a.xa=b^255;b=a.fa=b+255&255;a.ca=a.ca&-256|b;return b}function gd(a,b){a.xa=b;b=a.fa=b+1&255;a.ca=a.ca&-256|b;return b}function Ad(a,b){return a.fa=a.ca=a.xa=a.j|b}function K(a,b){b^=255;a.xa=a.j^b;return a.fa=(a.ca=a.j+b+1^256)&255} function cd(a,b){a.xa=a.j^b;return a.fa=(a.ca=a.j+b)&255}function dd(a,b){a.xa=a.j^b;return a.fa=(a.ca=a.j+b+(a.ca&256?1:0))&255}function ed(a,b){a.ca=a.fa=a.xa=a.j&b;(a.j|b)&8&&(a.xa^=16);return a.ca}function fd(a,b){a.xa=b^255;b=a.fa=b+255&255;a.ca=a.ca&-256|b;return b}function gd(a,b){a.xa=b;b=a.fa=b+1&255;a.ca=a.ca&-256|b;return b}function hd(a,b){return a.fa=a.ca=a.xa=a.j|b}function K(a,b){b^=255;a.xa=a.j^b;return a.fa=(a.ca=a.j+b+1^256)&255}
function Bd(a,b){b^=255;a.xa=a.j^b;return a.fa=(a.ca=a.j+b+(a.ca&256?0:1)^256)&255}function Cd(a,b){return a.fa=a.ca=a.xa=a.j^b}m.aa=function(a){return this.w.aa(a)};m.ta=function(a,b){this.w.ta(a,b)};function L(a){var b=a.aa(a.R);H(a,a.R+1);return b}function M(a){var b=a.w.Sa(a.R);H(a,a.R+2);return b}function O(a){var b=a.w.Sa(a.la);a.la=a.la+2&65535;return b}function P(a,b){a.la=a.la-2&65535;a.w.Ub(a.la,b)}function Dd(a,b){a.u|=1<<b} function Bd(a,b){b^=255;a.xa=a.j^b;return a.fa=(a.ca=a.j+b+(a.ca&256?0:1)^256)&255}function Cd(a,b){return a.fa=a.ca=a.xa=a.j^b}m.aa=function(a){return this.w.aa(a)};m.ta=function(a,b){this.w.ta(a,b)};function L(a){var b=a.aa(a.R);G(a,a.R+1);return b}function M(a){var b=a.w.Sa(a.R);G(a,a.R+2);return b}function O(a){var b=a.w.Sa(a.la);a.la=a.la+2&65535;return b}function P(a,b){a.la=a.la-2&65535;a.w.Tb(a.la,b)}function Dd(a,b){a.u|=1<<b}
function R(a,b,c,d){d=d||2;a.N[b]&&(void 0===c&&(mb(a,"Value for "+b+" is invalid"),a.na()),c=!a.D.ya||a.D.wc?n(c,d):"--------".substr(0,d),a.N[b].textContent!=c&&(a.N[b].textContent=c))} function R(a,b,c,d){d=d||2;a.N[b]&&(void 0===c&&(nb(a,"Value for "+b+" is invalid"),a.na()),c=!a.D.ya||a.D.wc?n(c,d):"--------".substr(0,d),a.N[b].textContent!=c&&(a.N[b].textContent=c))}
m.Ia=function(a){this.S&&(a||!this.D.ya||this.D.wc)&&(R(this,"A",this.j),R(this,"B",this.T),R(this,"C",this.U),R(this,"BC",Sc(this),4),R(this,"D",this.V),R(this,"E",this.W),R(this,"DE",Uc(this),4),R(this,"H",this.X),R(this,"L",this.Z),R(this,"HL",J(this),4),R(this,"SP",this.la,4),R(this,"PC",this.R,4),a=Qc(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.N.speed)a.textContent= m.Ia=function(a){this.S&&(a||!this.D.ya||this.D.wc)&&(R(this,"A",this.j),R(this,"B",this.T),R(this,"C",this.U),R(this,"BC",Sc(this),4),R(this,"D",this.V),R(this,"E",this.W),R(this,"DE",Uc(this),4),R(this,"H",this.X),R(this,"L",this.Z),R(this,"HL",J(this),4),R(this,"SP",this.la,4),R(this,"PC",this.R,4),a=Rc(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.N.speed)a.textContent=
this.D.ya&&this.i.bb?this.i.bb.toFixed(2)+"Mhz":"Stopped"}; this.D.ya&&this.i.bb?this.i.bb.toFixed(2)+"Mhz":"Stopped"};
m.ub=function(a){this.D.Nb=!0;var b=this.D.xd=this.I&&Ed(this.I),c=a?this.D.Xb?0:1:-1;this.D.Xb=!1;this.B=this.b=a;do{if(this.u){if(a&&this.u&255&&this.wa&512){for(var d=0;8>d&&!(this.u&1<<d);d++);this.u&=~(0>d?255:1<<d);this.wa&=-513;this.u&=-257;this.O[199|d<<3].call(this)}if(this.u&256){this.b=0;break}}if(b){if(Fd(this.I,this.R,c)){this.na();break}c=1}this.O[L(this)].call(this)}while(0<this.b);return this.D.Nb?this.B-this.b:void 0===this.D.Nb?0:-1}; m.ub=function(a){this.D.Nb=!0;var b=this.D.xd=this.I&&Ed(this.I),c=a?this.D.Wb?0:1:-1;this.D.Wb=!1;this.B=this.b=a;do{if(this.u){if(a&&this.u&255&&this.wa&512){for(var d=0;8>d&&!(this.u&1<<d);d++);this.u&=~(0>d?255:1<<d);this.wa&=-513;this.u&=-257;this.O[199|d<<3].call(this)}if(this.u&256){this.b=0;break}}if(b){if(Fd(this.I,this.R,c)){this.na();break}c=1}this.O[L(this)].call(this)}while(0<this.b);return this.D.Nb?this.B-this.b:void 0===this.D.Nb?0:-1};
La(function(){for(var a=B(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Kc(d);gb(d,c)}});function Gd(){this.b-=4}function Hd(){H(this,M(this));this.b-=10}function Id(){H(this,O(this));this.b-=10}function Jd(){var a=M(this);P(this,this.R);H(this,a);this.b-=17} La(function(){for(var a=B(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Lc(d);gb(d,c)}});function Gd(){this.b-=4}function Hd(){G(this,M(this));this.b-=10}function Id(){G(this,O(this));this.b-=10}function Jd(){var a=M(this);P(this,this.R);G(this,a);this.b-=17}
var Lc=[Gd,function(){Tc(this,M(this));this.b-=10},function(){this.ta(Sc(this),this.j);this.b-=7},function(){Tc(this,Sc(this)+1);this.b-=5},function(){this.T=gd(this,this.T);this.b-=5},function(){this.T=fd(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Yc(this,a&256);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+Sc(this));Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(Sc(this));this.b-=7},function(){Tc(this,Sc(this)-1);this.b-= var Mc=[Gd,function(){Tc(this,M(this));this.b-=10},function(){this.ta(Sc(this),this.j);this.b-=7},function(){Tc(this,Sc(this)+1);this.b-=5},function(){this.T=gd(this,this.T);this.b-=5},function(){this.T=fd(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Yc(this,a&256);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+Sc(this));Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(Sc(this));this.b-=7},function(){Tc(this,Sc(this)-1);this.b-=
5},function(){this.U=gd(this,this.U);this.b-=5},function(){this.U=fd(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Yc(this,a);this.b-=4},Gd,function(){Vc(this,M(this));this.b-=10},function(){this.ta(Uc(this),this.j);this.b-=7},function(){Vc(this,Uc(this)+1);this.b-=5},function(){this.V=gd(this,this.V);this.b-=5},function(){this.V=fd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| 5},function(){this.U=gd(this,this.U);this.b-=5},function(){this.U=fd(this,this.U);this.b-=5},function(){this.U=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Yc(this,a);this.b-=4},Gd,function(){Vc(this,M(this));this.b-=10},function(){this.ta(Uc(this),this.j);this.b-=7},function(){Vc(this,Uc(this)+1);this.b-=5},function(){this.V=gd(this,this.V);this.b-=5},function(){this.V=fd(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|
Xc(this);Yc(this,a&256);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+Uc(this));Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-=5},function(){this.W=gd(this,this.W);this.b-=5},function(){this.W=fd(this,this.W);this.b-=5},function(){this.W=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(Xc(this)<<8|this.j)>>1;Yc(this,a&256);this.b-=4},Gd,function(){Wc(this,M(this));this.b-=10},function(){var a=M(this);this.w.Ub(a,J(this)); Xc(this);Yc(this,a&256);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+Uc(this));Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-=5},function(){this.W=gd(this,this.W);this.b-=5},function(){this.W=fd(this,this.W);this.b-=5},function(){this.W=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(Xc(this)<<8|this.j)>>1;Yc(this,a&256);this.b-=4},Gd,function(){Wc(this,M(this));this.b-=10},function(){var a=M(this);this.w.Tb(a,J(this));
this.b-=16},function(){Wc(this,J(this)+1);this.b-=5},function(){this.X=gd(this,this.X);this.b-=5},function(){this.X=fd(this,this.X);this.b-=5},function(){this.X=L(this);this.b-=7},function(){var a=0,b=Xc(this);if($c(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=cd(this,a);Yc(this,b?256:0);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+J(this));Yc(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.Sa(a);Wc(this,a);this.b-=16},function(){Wc(this,J(this)-1);this.b-=5},function(){this.Z= this.b-=16},function(){Wc(this,J(this)+1);this.b-=5},function(){this.X=gd(this,this.X);this.b-=5},function(){this.X=fd(this,this.X);this.b-=5},function(){this.X=L(this);this.b-=7},function(){var a=0,b=Xc(this);if($c(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=cd(this,a);Yc(this,b?256:0);this.b-=4},Gd,function(){var a;Wc(this,a=J(this)+J(this));Yc(this,a>>8&256);this.b-=10},function(){var a;a=M(this);a=this.w.Sa(a);Wc(this,a);this.b-=16},function(){Wc(this,J(this)-1);this.b-=5},function(){this.Z=
gd(this,this.Z);this.b-=5},function(){this.Z=fd(this,this.Z);this.b-=5},function(){this.Z=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},Gd,function(){this.la=M(this)&65535;this.b-=10},function(){this.ta(M(this),this.j);this.b-=13},function(){this.la=this.la+1&65535;this.b-=5},function(){var a=J(this);this.ta(a,gd(this,this.aa(a)));this.b-=10},function(){var a=J(this);this.ta(a,fd(this,this.aa(a)));this.b-=10},function(){this.ta(J(this),L(this));this.b-=10},function(){this.ca|=256;this.b-= gd(this,this.Z);this.b-=5},function(){this.Z=fd(this,this.Z);this.b-=5},function(){this.Z=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},Gd,function(){this.la=M(this)&65535;this.b-=10},function(){this.ta(M(this),this.j);this.b-=13},function(){this.la=this.la+1&65535;this.b-=5},function(){var a=J(this);this.ta(a,gd(this,this.aa(a)));this.b-=10},function(){var a=J(this);this.ta(a,fd(this,this.aa(a)));this.b-=10},function(){this.ta(J(this),L(this));this.b-=10},function(){this.ca|=256;this.b-=
4},Gd,function(){var a;Wc(this,a=J(this)+this.la);Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(M(this));this.b-=13},function(){this.la=this.la-1&65535;this.b-=5},function(){this.j=gd(this,this.j);this.b-=5},function(){this.j=fd(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){Yc(this,Xc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.X; 4},Gd,function(){var a;Wc(this,a=J(this)+this.la);Yc(this,a>>8&256);this.b-=10},function(){this.j=this.aa(M(this));this.b-=13},function(){this.la=this.la-1&65535;this.b-=5},function(){this.j=gd(this,this.j);this.b-=5},function(){this.j=fd(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){Yc(this,Xc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.X;
this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(J(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.X;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(J(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-= this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(J(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.X;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(J(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=
5},function(){this.V=this.W;this.b-=5},function(){this.V=this.X;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(J(this));this.b-=7},function(){this.V=this.j;this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.X;this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(J(this));this.b-=7},function(){this.W=this.j;this.b-=5},function(){this.X=this.T; 5},function(){this.V=this.W;this.b-=5},function(){this.V=this.X;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(J(this));this.b-=7},function(){this.V=this.j;this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.X;this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(J(this));this.b-=7},function(){this.W=this.j;this.b-=5},function(){this.X=this.T;
this.b-=5},function(){this.X=this.U;this.b-=5},function(){this.X=this.V;this.b-=5},function(){this.X=this.W;this.b-=5},function(){this.b-=5},function(){this.X=this.Z;this.b-=5},function(){this.X=this.aa(J(this));this.b-=7},function(){this.X=this.j;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.Z=this.X;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(J(this));this.b-= this.b-=5},function(){this.X=this.U;this.b-=5},function(){this.X=this.V;this.b-=5},function(){this.X=this.W;this.b-=5},function(){this.b-=5},function(){this.X=this.Z;this.b-=5},function(){this.X=this.aa(J(this));this.b-=7},function(){this.X=this.j;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.Z=this.X;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(J(this));this.b-=
7},function(){this.Z=this.j;this.b-=5},function(){this.ta(J(this),this.T);this.b-=7},function(){this.ta(J(this),this.U);this.b-=7},function(){this.ta(J(this),this.V);this.b-=7},function(){this.ta(J(this),this.W);this.b-=7},function(){this.ta(J(this),this.X);this.b-=7},function(){this.ta(J(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.L.length)for(var b=0;b<this.L.length;b++)if(this.L[b](a))return;this.u|=256;this.b-=7;this.I&&ib(this,-2147483648)?(H(this,a),this.I.na()):this.wa&512|| 7},function(){this.Z=this.j;this.b-=5},function(){this.ta(J(this),this.T);this.b-=7},function(){this.ta(J(this),this.U);this.b-=7},function(){this.ta(J(this),this.V);this.b-=7},function(){this.ta(J(this),this.W);this.b-=7},function(){this.ta(J(this),this.X);this.b-=7},function(){this.ta(J(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.L.length)for(var b=0;b<this.L.length;b++)if(this.L[b](a))return;this.u|=256;this.b-=7;this.I&&jb(this,-2147483648)?(G(this,a),this.I.na()):this.wa&512||
(this.I&&H(this,a),this.na())},function(){this.ta(J(this),this.j);this.b-=7},function(){this.j=this.T;this.b-=5},function(){this.j=this.U;this.b-=5},function(){this.j=this.V;this.b-=5},function(){this.j=this.W;this.b-=5},function(){this.j=this.X;this.b-=5},function(){this.j=this.Z;this.b-=5},function(){this.j=this.aa(J(this));this.b-=7},function(){this.b-=5},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.V);this.b-=4},function(){this.j= (this.I&&G(this,a),this.na())},function(){this.ta(J(this),this.j);this.b-=7},function(){this.j=this.T;this.b-=5},function(){this.j=this.U;this.b-=5},function(){this.j=this.V;this.b-=5},function(){this.j=this.W;this.b-=5},function(){this.j=this.X;this.b-=5},function(){this.j=this.Z;this.b-=5},function(){this.j=this.aa(J(this));this.b-=7},function(){this.b-=5},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.V);this.b-=4},function(){this.j=
cd(this,this.W);this.b-=4},function(){this.j=cd(this,this.X);this.b-=4},function(){this.j=cd(this,this.Z);this.b-=4},function(){this.j=cd(this,this.aa(J(this)));this.b-=7},function(){this.j=cd(this,this.j);this.b-=4},function(){this.j=dd(this,this.T);this.b-=4},function(){this.j=dd(this,this.U);this.b-=4},function(){this.j=dd(this,this.V);this.b-=4},function(){this.j=dd(this,this.W);this.b-=4},function(){this.j=dd(this,this.X);this.b-=4},function(){this.j=dd(this,this.Z);this.b-=4},function(){this.j= cd(this,this.W);this.b-=4},function(){this.j=cd(this,this.X);this.b-=4},function(){this.j=cd(this,this.Z);this.b-=4},function(){this.j=cd(this,this.aa(J(this)));this.b-=7},function(){this.j=cd(this,this.j);this.b-=4},function(){this.j=dd(this,this.T);this.b-=4},function(){this.j=dd(this,this.U);this.b-=4},function(){this.j=dd(this,this.V);this.b-=4},function(){this.j=dd(this,this.W);this.b-=4},function(){this.j=dd(this,this.X);this.b-=4},function(){this.j=dd(this,this.Z);this.b-=4},function(){this.j=
dd(this,this.aa(J(this)));this.b-=7},function(){this.j=dd(this,this.j);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.V);this.b-=4},function(){this.j=K(this,this.W);this.b-=4},function(){this.j=K(this,this.X);this.b-=4},function(){this.j=K(this,this.Z);this.b-=4},function(){this.j=K(this,this.aa(J(this)));this.b-=7},function(){this.j=K(this,this.j);this.b-=4},function(){this.j=Bd(this,this.T);this.b-=4},function(){this.j= dd(this,this.aa(J(this)));this.b-=7},function(){this.j=dd(this,this.j);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.V);this.b-=4},function(){this.j=K(this,this.W);this.b-=4},function(){this.j=K(this,this.X);this.b-=4},function(){this.j=K(this,this.Z);this.b-=4},function(){this.j=K(this,this.aa(J(this)));this.b-=7},function(){this.j=K(this,this.j);this.b-=4},function(){this.j=Bd(this,this.T);this.b-=4},function(){this.j=
Bd(this,this.U);this.b-=4},function(){this.j=Bd(this,this.V);this.b-=4},function(){this.j=Bd(this,this.W);this.b-=4},function(){this.j=Bd(this,this.X);this.b-=4},function(){this.j=Bd(this,this.Z);this.b-=4},function(){this.j=Bd(this,this.aa(J(this)));this.b-=7},function(){this.j=Bd(this,this.j);this.b-=4},function(){this.j=ed(this,this.T);this.b-=4},function(){this.j=ed(this,this.U);this.b-=4},function(){this.j=ed(this,this.V);this.b-=4},function(){this.j=ed(this,this.W);this.b-=4},function(){this.j= Bd(this,this.U);this.b-=4},function(){this.j=Bd(this,this.V);this.b-=4},function(){this.j=Bd(this,this.W);this.b-=4},function(){this.j=Bd(this,this.X);this.b-=4},function(){this.j=Bd(this,this.Z);this.b-=4},function(){this.j=Bd(this,this.aa(J(this)));this.b-=7},function(){this.j=Bd(this,this.j);this.b-=4},function(){this.j=ed(this,this.T);this.b-=4},function(){this.j=ed(this,this.U);this.b-=4},function(){this.j=ed(this,this.V);this.b-=4},function(){this.j=ed(this,this.W);this.b-=4},function(){this.j=
ed(this,this.X);this.b-=4},function(){this.j=ed(this,this.Z);this.b-=4},function(){this.j=ed(this,this.aa(J(this)));this.b-=7},function(){this.j=ed(this,this.j);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.V);this.b-=4},function(){this.j=Cd(this,this.W);this.b-=4},function(){this.j=Cd(this,this.X);this.b-=4},function(){this.j=Cd(this,this.Z);this.b-=4},function(){this.j=Cd(this,this.aa(J(this)));this.b-=7},function(){this.j= ed(this,this.X);this.b-=4},function(){this.j=ed(this,this.Z);this.b-=4},function(){this.j=ed(this,this.aa(J(this)));this.b-=7},function(){this.j=ed(this,this.j);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.V);this.b-=4},function(){this.j=Cd(this,this.W);this.b-=4},function(){this.j=Cd(this,this.X);this.b-=4},function(){this.j=Cd(this,this.Z);this.b-=4},function(){this.j=Cd(this,this.aa(J(this)));this.b-=7},function(){this.j=
Cd(this,this.j);this.b-=4},function(){this.j=Ad(this,this.T);this.b-=4},function(){this.j=Ad(this,this.U);this.b-=4},function(){this.j=Ad(this,this.V);this.b-=4},function(){this.j=Ad(this,this.W);this.b-=4},function(){this.j=Ad(this,this.X);this.b-=4},function(){this.j=Ad(this,this.Z);this.b-=4},function(){this.j=Ad(this,this.aa(J(this)));this.b-=7},function(){this.j=Ad(this,this.j);this.b-=4},function(){K(this,this.T);this.b-=4},function(){K(this,this.U);this.b-=4},function(){K(this,this.V);this.b-= Cd(this,this.j);this.b-=4},function(){this.j=hd(this,this.T);this.b-=4},function(){this.j=hd(this,this.U);this.b-=4},function(){this.j=hd(this,this.V);this.b-=4},function(){this.j=hd(this,this.W);this.b-=4},function(){this.j=hd(this,this.X);this.b-=4},function(){this.j=hd(this,this.Z);this.b-=4},function(){this.j=hd(this,this.aa(J(this)));this.b-=7},function(){this.j=hd(this,this.j);this.b-=4},function(){K(this,this.T);this.b-=4},function(){K(this,this.U);this.b-=4},function(){K(this,this.V);this.b-=
4},function(){K(this,this.W);this.b-=4},function(){K(this,this.X);this.b-=4},function(){K(this,this.Z);this.b-=4},function(){K(this,this.aa(J(this)));this.b-=7},function(){K(this,this.j);this.b-=4},function(){ad(this)||(H(this,O(this)),this.b-=6);this.b-=5},function(){Tc(this,O(this));this.b-=10},function(){var a=M(this);ad(this)||H(this,a);this.b-=10},Hd,function(){var a=M(this);ad(this)||(P(this,this.R),H(this,a),this.b-=6);this.b-=11},function(){P(this,Sc(this));this.b-=11},function(){this.j=cd(this, 4},function(){K(this,this.W);this.b-=4},function(){K(this,this.X);this.b-=4},function(){K(this,this.Z);this.b-=4},function(){K(this,this.aa(J(this)));this.b-=7},function(){K(this,this.j);this.b-=4},function(){ad(this)||(G(this,O(this)),this.b-=6);this.b-=5},function(){Tc(this,O(this));this.b-=10},function(){var a=M(this);ad(this)||G(this,a);this.b-=10},Hd,function(){var a=M(this);ad(this)||(P(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){P(this,Sc(this));this.b-=11},function(){this.j=cd(this,
L(this));this.b-=7},function(){P(this,this.R);H(this,0);this.b-=11},function(){ad(this)&&(H(this,O(this)),this.b-=6);this.b-=5},Id,function(){var a=M(this);ad(this)&&H(this,a);this.b-=10},Hd,function(){var a=M(this);ad(this)&&(P(this,this.R),H(this,a),this.b-=6);this.b-=11},Jd,function(){this.j=dd(this,L(this));this.b-=7},function(){P(this,this.R);H(this,8);this.b-=11},function(){Xc(this)||(H(this,O(this)),this.b-=6);this.b-=5},function(){Vc(this,O(this));this.b-=10},function(){var a=M(this);Xc(this)|| L(this));this.b-=7},function(){P(this,this.R);G(this,0);this.b-=11},function(){ad(this)&&(G(this,O(this)),this.b-=6);this.b-=5},Id,function(){var a=M(this);ad(this)&&G(this,a);this.b-=10},Hd,function(){var a=M(this);ad(this)&&(P(this,this.R),G(this,a),this.b-=6);this.b-=11},Jd,function(){this.j=dd(this,L(this));this.b-=7},function(){P(this,this.R);G(this,8);this.b-=11},function(){Xc(this)||(G(this,O(this)),this.b-=6);this.b-=5},function(){Vc(this,O(this));this.b-=10},function(){var a=M(this);Xc(this)||
H(this,a);this.b-=10},function(){var a=L(this);Jb(this.w,a,this.j,this.R+-2&65535);this.b-=10},function(){var a=M(this);Xc(this)||(P(this,this.R),H(this,a),this.b-=6);this.b-=11},function(){P(this,Uc(this));this.b-=11},function(){this.j=K(this,L(this));this.b-=7},function(){P(this,this.R);H(this,16);this.b-=11},function(){Xc(this)&&(H(this,O(this)),this.b-=6);this.b-=5},Id,function(){var a=M(this);Xc(this)&&H(this,a);this.b-=10},function(){var a=L(this);this.j=Eb(this.w,a,this.R+-2&65535)&255;this.b-= G(this,a);this.b-=10},function(){var a=L(this);Kb(this.w,a,this.j,this.R+-2&65535);this.b-=10},function(){var a=M(this);Xc(this)||(P(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){P(this,Uc(this));this.b-=11},function(){this.j=K(this,L(this));this.b-=7},function(){P(this,this.R);G(this,16);this.b-=11},function(){Xc(this)&&(G(this,O(this)),this.b-=6);this.b-=5},Id,function(){var a=M(this);Xc(this)&&G(this,a);this.b-=10},function(){var a=L(this);this.j=Fb(this.w,a,this.R+-2&65535)&255;this.b-=
10},function(){var a=M(this);Xc(this)&&(P(this,this.R),H(this,a),this.b-=6);this.b-=11},Jd,function(){this.j=Bd(this,L(this));this.b-=7},function(){P(this,this.R);H(this,24);this.b-=11},function(){Zc(this)||(H(this,O(this)),this.b-=6);this.b-=5},function(){Wc(this,O(this));this.b-=10},function(){var a=M(this);Zc(this)||H(this,a);this.b-=10},function(){var a=O(this);P(this,J(this));Wc(this,a);this.b-=18},function(){var a=M(this);Zc(this)||(P(this,this.R),H(this,a),this.b-=6);this.b-=11},function(){P(this, 10},function(){var a=M(this);Xc(this)&&(P(this,this.R),G(this,a),this.b-=6);this.b-=11},Jd,function(){this.j=Bd(this,L(this));this.b-=7},function(){P(this,this.R);G(this,24);this.b-=11},function(){Zc(this)||(G(this,O(this)),this.b-=6);this.b-=5},function(){Wc(this,O(this));this.b-=10},function(){var a=M(this);Zc(this)||G(this,a);this.b-=10},function(){var a=O(this);P(this,J(this));Wc(this,a);this.b-=18},function(){var a=M(this);Zc(this)||(P(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){P(this,
J(this));this.b-=11},function(){this.j=ed(this,L(this));this.b-=7},function(){P(this,this.R);H(this,32);this.b-=11},function(){Zc(this)&&(H(this,O(this)),this.b-=6);this.b-=5},function(){H(this,J(this));this.b-=5},function(){var a=M(this);Zc(this)&&H(this,a);this.b-=10},function(){var a=J(this);Wc(this,Uc(this));Vc(this,a);this.b-=5},function(){var a=M(this);Zc(this)&&(P(this,this.R),H(this,a),this.b-=6);this.b-=11},Jd,function(){this.j=Cd(this,L(this));this.b-=7},function(){P(this,this.R);H(this, J(this));this.b-=11},function(){this.j=ed(this,L(this));this.b-=7},function(){P(this,this.R);G(this,32);this.b-=11},function(){Zc(this)&&(G(this,O(this)),this.b-=6);this.b-=5},function(){G(this,J(this));this.b-=5},function(){var a=M(this);Zc(this)&&G(this,a);this.b-=10},function(){var a=J(this);Wc(this,Uc(this));Vc(this,a);this.b-=5},function(){var a=M(this);Zc(this)&&(P(this,this.R),G(this,a),this.b-=6);this.b-=11},Jd,function(){this.j=Cd(this,L(this));this.b-=7},function(){P(this,this.R);G(this,
40);this.b-=11},function(){bd(this)||(H(this,O(this)),this.b-=6);this.b-=5},function(){var a=O(this);Oc(this,a&255|this.wa&-256);this.j=a>>8;this.b-=10},function(){var a=M(this);bd(this)||H(this,a);this.b-=10},function(){this.wa&=-513;this.b-=4},function(){var a=M(this);bd(this)||(P(this,this.R),H(this,a),this.b-=6);this.b-=11},function(){P(this,Qc(this)&255|this.j<<8);this.b-=11},function(){this.j=Ad(this,L(this));this.b-=7},function(){P(this,this.R);H(this,48);this.b-=11},function(){bd(this)&&(H(this, 40);this.b-=11},function(){bd(this)||(G(this,O(this)),this.b-=6);this.b-=5},function(){var a=O(this);Pc(this,a&255|this.wa&-256);this.j=a>>8;this.b-=10},function(){var a=M(this);bd(this)||G(this,a);this.b-=10},function(){this.wa&=-513;this.b-=4},function(){var a=M(this);bd(this)||(P(this,this.R),G(this,a),this.b-=6);this.b-=11},function(){P(this,Rc(this)&255|this.j<<8);this.b-=11},function(){this.j=hd(this,L(this));this.b-=7},function(){P(this,this.R);G(this,48);this.b-=11},function(){bd(this)&&(G(this,
O(this)),this.b-=6);this.b-=5},function(){this.la=J(this)&65535;this.b-=5},function(){var a=M(this);bd(this)&&H(this,a);this.b-=10},function(){this.wa|=512;this.b-=4},function(){var a=M(this);bd(this)&&(P(this,this.R),H(this,a),this.b-=6);this.b-=11},Jd,function(){K(this,L(this));this.b-=7},function(){P(this,this.R);H(this,56);this.b-=11}]; O(this)),this.b-=6);this.b-=5},function(){this.la=J(this)&65535;this.b-=5},function(){var a=M(this);bd(this)&&G(this,a);this.b-=10},function(){this.wa|=512;this.b-=4},function(){var a=M(this);bd(this)&&(P(this,this.R),G(this,a),this.b-=6);this.b-=11},Jd,function(){K(this,L(this));this.b-=7},function(){P(this,this.R);G(this,56);this.b-=11}];
function S(a){x.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Kd[b]&&Na("Unrecognized ChipSet model: "+b);this.B=Kd[b]||{};a.sound&&(this.ha=null,window&&(this.ha=window.AudioContext||window.webkitAudioContext),this.ha&&new this.ha);F(this)}ab(S); function S(a){x.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Kd[b]&&Na("Unrecognized ChipSet model: "+b);this.B=Kd[b]||{};a.sound&&(this.ha=null,window&&(this.ha=window.AudioContext||window.webkitAudioContext),this.ha&&new this.ha);E(this)}ab(S);
var T={Aa:1978.1,sd:{Ba:0,ee:1,ie:16,pe:32,ye:64,xe:128,wb:14},Xa:{Ba:1,Tc:1,md:2,hd:4,jd:16,kd:32,ld:64,wb:8},td:{Ba:2,de:3,Ge:4,fe:8,te:16,ue:32,ve:64,ge:128,wb:0},Ce:{Ba:3},Ae:{Ba:2,qe:7},Ee:{Ba:3,He:1,De:2,we:4,ne:8,he:16,ae:32},Be:{Ba:4},Fe:{Ba:5,je:1,ke:2,le:4,me:8,Ie:16}},U={Aa:100,Ja:{Ba:66,rc:1,nc:2,gd:4,se:8,re:16,pc:32,oc:64,kc:128},Sc:{Ba:66,INIT:0},Va:{Ba:194,ce:0,jc:16,nd:32,qc:48,Xc:0,Yc:32},Kb:{Ba:162,ze:0,$c:0,Wc:0,Zc:0,Vc:0},Ka:{oe:{Ba:98},Ua:{Qc:0,Pc:1,pd:2,ud:4,Uc:5,od:6,qd:7}, var T={Aa:1978.1,sd:{Ba:0,ee:1,ie:16,pe:32,ye:64,xe:128,wb:14},Xa:{Ba:1,Tc:1,md:2,hd:4,jd:16,kd:32,ld:64,wb:8},td:{Ba:2,de:3,Ge:4,fe:8,te:16,ue:32,ve:64,ge:128,wb:0},Ce:{Ba:3},Ae:{Ba:2,qe:7},Ee:{Ba:3,He:1,De:2,we:4,ne:8,he:16,ae:32},Be:{Ba:4},Fe:{Ba:5,je:1,ke:2,le:4,me:8,Ie:16}},U={Aa:100,Ja:{Ba:66,rc:1,nc:2,gd:4,se:8,re:16,pc:32,oc:64,kc:128},Sc:{Ba:66,INIT:0},Va:{Ba:194,ce:0,jc:16,nd:32,qc:48,Xc:0,Yc:32},Kb:{Ba:162,ze:0,$c:0,Wc:0,Zc:0,Vc:0},Ka:{oe:{Ba:98},Ua:{Qc:0,Pc:1,pd:2,ud:4,Uc:5,od:6,qd:7},
Lb:16383}},Kd={SI1978:T,VT100:U};S.prototype.ma=function(){return!1};S.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;this.A=a;this.K=sb(a,"Keyboard");this.Na=sb(a,"SerialPort");this.video=sb(a,"Video");Db(b,this,this.B.Rb);Hb(b,this,this.B.Sb)};S.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};S.prototype.Ha=function(a){return a?this.save():!0};T.INIT=[[T.sd.wb,T.Xa.wb,T.td.wb,0,0,0,0]]; Lb:16383}},Kd={SI1978:T,VT100:U};S.prototype.ma=function(){return!1};S.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;this.A=a;this.K=tb(a,"Keyboard");this.Na=tb(a,"SerialPort");this.video=tb(a,"Video");Eb(b,this,this.B.Rb);Jb(b,this,this.B.Sb)};S.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};S.prototype.Ha=function(a){return a?this.save():!0};T.INIT=[[T.sd.wb,T.Xa.wb,T.td.wb,0,0,0,0]];
U.INIT=[[U.Sc.INIT,U.Ja.nc|U.Ja.gd],[U.Va.Xc,U.Va.Yc],[U.Kb.$c,U.Kb.Wc,U.Kb.Zc,U.Kb.Vc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11856,11824,11840,11808,11776,12E3,12E3,11857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]]; U.INIT=[[U.Sc.INIT,U.Ja.nc|U.Ja.gd],[U.Va.Xc,U.Va.Yc],[U.Kb.$c,U.Kb.Wc,U.Kb.Zc,U.Kb.Vc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11856,11824,11840,11808,11776,12E3,12E3,11857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];
m=S.prototype;m.reset=function(){this.B.INIT&&!this.restore(this.B.INIT)&&this.ja("reset error")};m.save=function(){var a=new Rc(this);switch(this.B.Aa){case T.Aa:I(a,0,[this.Ca,this.J,this.Da,this.ba,this.ga,this.ua,this.za]);break;case U.Aa:I(a,0,[this.ia,this.H]),I(a,1,[this.M,this.O]),I(a,2,[this.F,this.da,this.ra,this.qa]),I(a,3,[this.S,this.u,this.P,this.ea,this.L])}return a.data()}; m=S.prototype;m.reset=function(){this.B.INIT&&!this.restore(this.B.INIT)&&this.ja("reset error")};m.save=function(){var a=new H(this);switch(this.B.Aa){case T.Aa:I(a,0,[this.Ca,this.J,this.Da,this.ba,this.ga,this.ua,this.za]);break;case U.Aa:I(a,0,[this.ia,this.H]),I(a,1,[this.M,this.O]),I(a,2,[this.F,this.da,this.ra,this.qa]),I(a,3,[this.S,this.u,this.P,this.ea,this.L])}return a.data()};
m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.B.Aa){case T.Aa:return this.Ca=b[0],this.J=b[1],this.Da=b[2],this.ba=b[3],this.ga=b[4],this.ua=b[5],this.za=b[6],!0;case U.Aa:return this.ia=b[0],this.H=b[1],b=a[1],this.M=b[0],this.O=b[1],b=a[2],this.F=b[0],this.da=b[1],this.ra=b[2],this.qa=b[3],b=a[3],this.S=b[0],this.u=b[1],this.P=b[2],this.ea=b[3],this.L=b[4],!0}return!1};m.start=function(){};m.stop=function(){};m.Bd=function(a,b){var c=this.Ca;D(this,a,null,b,"STATUS0",c,!0);return c}; m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.B.Aa){case T.Aa:return this.Ca=b[0],this.J=b[1],this.Da=b[2],this.ba=b[3],this.ga=b[4],this.ua=b[5],this.za=b[6],!0;case U.Aa:return this.ia=b[0],this.H=b[1],b=a[1],this.M=b[0],this.O=b[1],b=a[2],this.F=b[0],this.da=b[1],this.ra=b[2],this.qa=b[3],b=a[3],this.S=b[0],this.u=b[1],this.P=b[2],this.ea=b[3],this.L=b[4],!0}return!1};m.start=function(){};m.stop=function(){};m.Bd=function(a,b){var c=this.Ca;D(this,a,null,b,"STATUS0",c,!0);return c};
m.Cd=function(a,b){var c=this.J;D(this,a,null,b,"STATUS1",c,!0);return c};m.Dd=function(a,b){var c=this.Da;D(this,a,null,b,"STATUS2",c,!0);return c};m.Ad=function(a,b){var c=this.ba>>8-this.ga&255;D(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.Ld=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null,!0);this.ga=b};m.Nd=function(a,b,c){D(this,a,b,c,"SOUND1",null,!0);this.ua=b};m.Md=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null,!0);this.ba=b<<8|this.ba>>8}; m.Cd=function(a,b){var c=this.J;D(this,a,null,b,"STATUS1",c,!0);return c};m.Dd=function(a,b){var c=this.Da;D(this,a,null,b,"STATUS2",c,!0);return c};m.Ad=function(a,b){var c=this.ba>>8-this.ga&255;D(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.Ld=function(a,b,c){D(this,a,b,c,"SHIFT.COUNT",null,!0);this.ga=b};m.Nd=function(a,b,c){D(this,a,b,c,"SOUND1",null,!0);this.ua=b};m.Md=function(a,b,c){D(this,a,b,c,"SHIFT.DATA",null,!0);this.ba=b<<8|this.ba>>8};
m.Od=function(a,b,c){D(this,a,b,c,"SOUND2",null,!0);this.za=b};m.Pd=function(a,b,c){D(this,a,b,c,"WATCHDOG",null,!0)};function Ld(a){var b=0,c=0,d=~a.S;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.Od=function(a,b,c){D(this,a,b,c,"SOUND2",null,!0);this.za=b};m.Pd=function(a,b,c){D(this,a,b,c,"WATCHDOG",null,!0)};function Ld(a){var b=0,c=0,d=~a.S;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.Ed=function(a,b){var c=this.H,c=c&~U.Ja.oc;if((Dc(this.b)&64)<<1&&(c|=U.Ja.oc,c!=this.H)){var d,e;d=this.P&1;e=this.P>>1&7;switch(e){case U.Ka.Ua.qd:break;case U.Ka.Ua.Pc:this.S=this.S<<1|d;break;case U.Ka.Ua.Uc:d=Ld(this);this.L[d]=U.Ka.Lb;E(this,"doNVRCommand(): erase data at addr "+t(d));break;case U.Ka.Ua.Qc:this.u=this.u<<1|d;break;case U.Ka.Ua.ud:d=Ld(this);e=this.u&U.Ka.Lb;this.L[d]=e;E(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case U.Ka.Ua.od:d=Ld(this);e=this.L[d]; m.Ed=function(a,b){var c=this.H,c=c&~U.Ja.oc;if((Ec(this.b)&64)<<1&&(c|=U.Ja.oc,c!=this.H)){var d,e;d=this.P&1;e=this.P>>1&7;switch(e){case U.Ka.Ua.qd:break;case U.Ka.Ua.Pc:this.S=this.S<<1|d;break;case U.Ka.Ua.Uc:d=Ld(this);this.L[d]=U.Ka.Lb;ib(this,"doNVRCommand(): erase data at addr "+t(d));break;case U.Ka.Ua.Qc:this.u=this.u<<1|d;break;case U.Ka.Ua.ud:d=Ld(this);e=this.u&U.Ka.Lb;this.L[d]=e;ib(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case U.Ka.Ua.od:d=Ld(this);e=this.L[d];
null==e&&(e=U.Ka.Lb);this.u=e;E(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case U.Ka.Ua.pd:this.u<<=1;this.ea=this.u&U.Ka.Lb+1;break;default:E(this,"doNVRCommand(): unrecognized command "+da(e))}}c&=~U.Ja.pc;this.ea&&(c|=U.Ja.pc);c&=~U.Ja.kc;this.K&&this.K.$b()&&(c|=U.Ja.kc);c&=~U.Ja.rc;this.Na&&this.Na.$b()&&(c|=U.Ja.rc);this.H=c;D(this,a,null,b,"FLAGS",c);return c};m.Qd=function(a,b,c){D(this,a,b,c,"BRIGHTNESS");this.ia=b}; null==e&&(e=U.Ka.Lb);this.u=e;ib(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case U.Ka.Ua.pd:this.u<<=1;this.ea=this.u&U.Ka.Lb+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+da(e))}}c&=~U.Ja.pc;this.ea&&(c|=U.Ja.pc);c&=~U.Ja.kc;this.K&&this.K.Zb()&&(c|=U.Ja.kc);c&=~U.Ja.rc;this.Na&&this.Na.Zb()&&(c|=U.Ja.rc);this.H=c;D(this,a,null,b,"FLAGS",c);return c};m.Qd=function(a,b,c){D(this,a,b,c,"BRIGHTNESS");this.ia=b};
m.Td=function(a,b,c){D(this,a,b,c,"NVR.LATCH");this.P=b};m.Sd=function(a,b,c){D(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.F=this.F&-4|a;break;case 1:this.F=this.F&-13|a<<2;this.video&&(b=this.video,a=this.F,E(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Md(b,-1):b.yb=!0));break;case 2:switch(a){case 0:this.da=~this.da;break;case 2:case 3:this.ra=3-a}break;case 3:this.qa=a}}; m.Td=function(a,b,c){D(this,a,b,c,"NVR.LATCH");this.P=b};m.Sd=function(a,b,c){D(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.F=this.F&-4|a;break;case 1:this.F=this.F&-13|a<<2;this.video&&(b=this.video,a=this.F,ib(b,"updateScrollOffset("+a+")"),b.ib!==a&&((b.ib=a)?Md(b,-1):b.yb=!0));break;case 2:switch(a){case 0:this.da=~this.da;break;case 2:case 3:this.ra=3-a}break;case 3:this.qa=a}};
m.Rd=function(a,b,c){D(this,a,b,c,"DC011");b&U.Va.nd?(b&=U.Va.qc,this.O!=b&&(this.O=b,this.video&&(a=this.video,b=this.O==U.Va.qc?50:60,E(a,"updateRate("+b+")"),a.ac=b))):(b&=U.Va.jc,this.M!=b&&(this.M=b,this.video&&(a=this.M==U.Va.jc?132:80,b=this.video,E(b,"updateDimensions("+a+","+(80<a&&this.H&U.Ja.nc?14:24)+")"),b.ea=a,b.oa=b.zc,80<a&&b.oa--,Nd(b)&&Od(b))))};T.Rb={0:S.prototype.Bd,1:S.prototype.Cd,2:S.prototype.Dd,3:S.prototype.Ad}; m.Rd=function(a,b,c){D(this,a,b,c,"DC011");b&U.Va.nd?(b&=U.Va.qc,this.O!=b&&(this.O=b,this.video&&(a=this.video,b=this.O==U.Va.qc?50:60,ib(a,"updateRate("+b+")"),a.$b=b))):(b&=U.Va.jc,this.M!=b&&(this.M=b,this.video&&(a=this.M==U.Va.jc?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80<a&&this.H&U.Ja.nc?14:24)+")"),b.ea=a,b.oa=b.zc,80<a&&b.oa--,Nd(b)&&Od(b))))};T.Rb={0:S.prototype.Bd,1:S.prototype.Cd,2:S.prototype.Dd,3:S.prototype.Ad};
T.Sb={2:S.prototype.Ld,3:S.prototype.Nd,4:S.prototype.Md,5:S.prototype.Od,6:S.prototype.Pd};U.Rb={66:S.prototype.Ed};U.Sb={66:S.prototype.Qd,98:S.prototype.Td,162:S.prototype.Sd,194:S.prototype.Rd};La(function(){for(var a=B(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new S(d);gb(d,c)}}); T.Sb={2:S.prototype.Ld,3:S.prototype.Nd,4:S.prototype.Md,5:S.prototype.Od,6:S.prototype.Pd};U.Rb={66:S.prototype.Ed};U.Sb={66:S.prototype.Qd,98:S.prototype.Td,162:S.prototype.Sd,194:S.prototype.Rd};La(function(){for(var a=B(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new S(d);gb(d,c)}});
function Pd(a){x.call(this,"ROM",a,Pd);this.A=null;this.J=a.addr;this.u=a.size;this.H=a.writable;this.B=a.alias;this.F=a.file;this.K=ea(this.F);if(this.F){a=this.F;var b=fa(this.K);"json"!=b&&"hex"!=b&&(a=sa()+"/api/v1/dump?file="+this.F+"&format=bytes&decimal=true");var c=this;ra(a,null,!0,function(a,b,f){Qd(c,a,b,f)})}}ab(Pd);var Rd=[0,5];Pd.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;Sd(this)}; function Pd(a){x.call(this,"ROM",a,Pd);this.A=null;this.J=a.addr;this.u=a.size;this.H=a.writable;this.B=a.alias;this.F=a.file;this.K=ea(this.F);if(this.F){a=this.F;var b=fa(this.K);"json"!=b&&"hex"!=b&&(a=sa()+"/api/v1/dump?file="+this.F+"&format=bytes&decimal=true");var c=this;ra(a,null,!0,function(a,b,f){Qd(c,a,b,f)})}}ab(Pd);var Rd=[0,5];Pd.prototype.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;Sd(this)};
Pd.prototype.Ea=function(){if(this.Ra){if(this.I){var a=this.I,b=this.id,c=this.J,d=this.u,e=this.Ra,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=na(p,k,a.Za);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.H.push({Je:b,G:c,Gd:d,Ra:e,sc:f})}delete this.Ra}return!0};Pd.prototype.Ha=function(){return!0}; Pd.prototype.Ea=function(){if(this.Ra){if(this.I){var a=this.I,b=this.id,c=this.J,d=this.u,e=this.Ra,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=na(p,k,a.Za);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.H.push({Je:b,G:c,Gd:d,Ra:e,sc:f})}delete this.Ra}return!0};Pd.prototype.Ha=function(){return!0};
function Qd(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.Yb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.A=f;else if(h)for(a.A=Array(4*h.length),d=c=0;c<h.length;c++)a.A[d++]=h[c]&255,a.A[d++]=h[c]>>8&255,a.A[d++]=h[c]>>16&255,a.A[d++]=h[c]>>24&255;else a.A=e;a.Ra=e.symbols;if(!a.A.length){u("Empty ROM: "+b);return}if(1==a.A.length){u(a.A[0]);return}}catch(g){a.ja("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function Qd(a,b,c,d){if(d)a.ja("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.Xb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.A=f;else if(h)for(a.A=Array(4*h.length),d=c=0;c<h.length;c++)a.A[d++]=h[c]&255,a.A[d++]=h[c]>>8&255,a.A[d++]=h[c]>>16&255,a.A[d++]=h[c]>>24&255;else a.A=e;a.Ra=e.symbols;if(!a.A.length){u("Empty ROM: "+b);return}if(1==a.A.length){u(a.A[0]);return}}catch(g){a.ja("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=aa(b[e],16);Sd(a)}} " ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=ca(b[e],16);Sd(a)}}
function Sd(a){if(!lb(a))if(!a.F)F(a);else if(a.A&&a.w){a.u||(a.u=a.A.length);if(a.A.length!=a.u)mb(a,"ROM size (0x"+n(a.A.length)+") does not match specified size ("+("0x"+n(a.u))+")");else if(Td(a,a.J)){var b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.w,h=d.u,g=[],k=d.J>>>f.pa;0<h&&k<f.Y.length;)g.push(f.Y[k++]),h-=f.Ga;f=d.w;d=d.u;h=0;for(e>>>=f.pa;0<d&&e<f.Y.length;){k=g[h++];if(!k)break;f.Y[e++]=k;d-=f.Ga}}delete a.A}F(a)}} function Sd(a){if(!mb(a))if(!a.F)E(a);else if(a.A&&a.w){a.u||(a.u=a.A.length);if(a.A.length!=a.u)nb(a,"ROM size (0x"+n(a.A.length)+") does not match specified size ("+("0x"+n(a.u))+")");else if(Td(a,a.J)){var b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.w,h=d.u,g=[],k=d.J>>>f.pa;0<h&&k<f.Y.length;)g.push(f.Y[k++]),h-=f.Ga;f=d.w;d=d.u;h=0;for(e>>>=f.pa;0<d&&e<f.Y.length;){k=g[h++];if(!k)break;f.Y[e++]=k;d-=f.Ga}}delete a.A}E(a)}}
function Td(a,b){if(wb(a.w,b,a.u,a.H?1:Yb)){var c;for(c=0;c<a.A.length;c++)Bb(a.w,b+c,a.A[c]);if(a.H&&256==b){for(c=0;c<Rd.length;c++)Bb(a.w,Rd[c],118);Nc(a.b,function(a){return function(b){if(0<=Rd.indexOf(b)){var c=!1,h=a.b,g=a.I;if(5==b)switch(c=!0,h.U){case 2:Ud(a,String.fromCharCode(h.W));break;case 9:for(var k=Uc(h),l="",p=255;p--;){var q=a.b.aa(k++);if(36==q)break;l+=String.fromCharCode(q)}Ud(a,l);break;default:c=!1}c?Id.call(h):g&&(a.g("\nCP/M vector "+t(b)),H(h,b),g.na());b=!0}else b=!1; function Td(a,b){if(xb(a.w,b,a.u,a.H?1:Zb)){var c;for(c=0;c<a.A.length;c++)Cb(a.w,b+c,a.A[c]);if(a.H&&256==b){for(c=0;c<Rd.length;c++)Cb(a.w,Rd[c],118);Oc(a.b,function(a){return function(b){if(0<=Rd.indexOf(b)){var c=!1,h=a.b,g=a.I;if(5==b)switch(c=!0,h.U){case 2:Ud(a,String.fromCharCode(h.W));break;case 9:for(var k=Uc(h),l="",p=255;p--;){var q=a.b.aa(k++);if(36==q)break;l+=String.fromCharCode(q)}Ud(a,l);break;default:c=!1}c?Id.call(h):g&&(a.g("\nCP/M vector "+t(b)),G(h,b),g.na());b=!0}else b=!1;
return b}}(a));Pc(a.b,b)}return!0}return!1}function Ud(a,b){b=b.replace(/\r/g,"");a.Fa&&(a.Fa.value+=b,a.Fa.scrollTop=a.Fa.scrollHeight)}La(function(){for(var a=B(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Pd(d);gb(d,c)}});function Vd(a){x.call(this,"RAM",a,Vd);this.B=a.addr;this.u=a.size;this.A=!1}ab(Vd);m=Vd.prototype;m.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;F(this)};m.Ea=function(a,b){b||this.reset();return!0};m.Ha=function(a){return a?this.save():!0}; return b}}(a));Qc(a.b,b)}return!0}return!1}function Ud(a,b){b=b.replace(/\r/g,"");a.Fa&&(a.Fa.value+=b,a.Fa.scrollTop=a.Fa.scrollHeight)}La(function(){for(var a=B(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Pd(d);gb(d,c)}});function Vd(a){x.call(this,"RAM",a,Vd);this.B=a.addr;this.u=a.size;this.A=!1}ab(Vd);m=Vd.prototype;m.Qa=function(a,b,c,d){this.w=b;this.b=c;this.I=d;E(this)};m.Ea=function(a,b){b||this.reset();return!0};m.Ha=function(a){return a?this.save():!0};
m.reset=function(){!this.A&&this.u&&wb(this.w,this.B,this.u,1)&&(this.A=!0);this.A||u("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};La(function(){for(var a=B(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Vd(d);gb(d,c)}});function Wd(a){x.call(this,"Keyboard",a,Wd,65536);(a=a.model)&&!Xd[a]&&Na("Unrecognized Keyboard model: "+a);this.w=Xd[a]||{};this.reset();F(this)}ab(Wd); m.reset=function(){!this.A&&this.u&&xb(this.w,this.B,this.u,1)&&(this.A=!0);this.A||u("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};La(function(){for(var a=B(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Vd(d);gb(d,c)}});function Wd(a){x.call(this,"Keyboard",a,Wd,65536);(a=a.model)&&!Xd[a]&&Na("Unrecognized Keyboard model: "+a);this.w=Xd[a]||{};this.reset();E(this)}ab(Wd);
var Yd={Aa:1978.1,C:{},ic:{65:37,68:39,76:32},xb:{},Wa:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},V={Aa:100,C:{},ic:{},xb:{},Wa:{setup:120},Rc:{Ba:130,INIT:127},La:{Ba:130,ed:1,dd:2,cd:4,bd:8,fd:16,mc:32,lc:63,rd:64,be:128,INIT:0},ad:127};V.C[46]=3;V.C[80]=5;V.C[79]=6;V.C[89]=7;V.C[84]=8;V.C[87]=9;V.C[81]=10;V.C[39]=16;V.C[221]=20;V.C[219]=21;V.C[73]=22;V.C[85]=23;V.C[82]=24;V.C[69]=25;V.C[49]=26;V.C[37]=32;V.C[40]=34;V.C[117]=35;V.C[19]=35;V.C[192]=36;V.C[189]=37;V.C[57]=38;V.C[55]=39; var Yd={Aa:1978.1,C:{},ic:{65:37,68:39,76:32},xb:{},Wa:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},V={Aa:100,C:{},ic:{},xb:{},Wa:{setup:120},Rc:{Ba:130,INIT:127},La:{Ba:130,ed:1,dd:2,cd:4,bd:8,fd:16,mc:32,lc:63,rd:64,be:128,INIT:0},ad:127};V.C[46]=3;V.C[80]=5;V.C[79]=6;V.C[89]=7;V.C[84]=8;V.C[87]=9;V.C[81]=10;V.C[39]=16;V.C[221]=20;V.C[219]=21;V.C[73]=22;V.C[85]=23;V.C[82]=24;V.C[69]=25;V.C[49]=26;V.C[37]=32;V.C[40]=34;V.C[117]=35;V.C[19]=35;V.C[192]=36;V.C[189]=37;V.C[57]=38;V.C[55]=39;
V.C[52]=40;V.C[51]=41;V.C[27]=42;V.C[38]=48;V.C[114]=49;V.C[112]=50;V.C[8]=51;V.C[187]=52;V.C[48]=53;V.C[56]=54;V.C[54]=55;V.C[53]=56;V.C[50]=57;V.C[9]=58;V.C[103]=64;V.C[115]=65;V.C[113]=66;V.C[96]=67;V.C[118]=68;V.C[220]=69;V.C[76]=70;V.C[75]=71;V.C[71]=72;V.C[70]=73;V.C[65]=74;V.C[104]=80;V.C[2013]=81;V.C[98]=82;V.C[97]=83;V.C[222]=85;V.C[186]=86;V.C[74]=87;V.C[72]=88;V.C[68]=89;V.C[83]=90;V.C[110]=96;V.C[116]=97;V.C[101]=98;V.C[100]=99;V.C[13]=100;V.C[190]=101;V.C[188]=102;V.C[78]=103; V.C[52]=40;V.C[51]=41;V.C[27]=42;V.C[38]=48;V.C[114]=49;V.C[112]=50;V.C[8]=51;V.C[187]=52;V.C[48]=53;V.C[56]=54;V.C[54]=55;V.C[53]=56;V.C[50]=57;V.C[9]=58;V.C[103]=64;V.C[115]=65;V.C[113]=66;V.C[96]=67;V.C[118]=68;V.C[220]=69;V.C[76]=70;V.C[75]=71;V.C[71]=72;V.C[70]=73;V.C[65]=74;V.C[104]=80;V.C[2013]=81;V.C[98]=82;V.C[97]=83;V.C[222]=85;V.C[186]=86;V.C[74]=87;V.C[72]=88;V.C[68]=89;V.C[83]=90;V.C[110]=96;V.C[116]=97;V.C[101]=98;V.C[100]=99;V.C[13]=100;V.C[190]=101;V.C[188]=102;V.C[78]=103;
V.C[66]=104;V.C[88]=105;V.C[119]=106;V.C[105]=112;V.C[99]=113;V.C[102]=114;V.C[109]=115;V.C[191]=117;V.C[77]=118;V.C[32]=119;V.C[86]=120;V.C[67]=121;V.C[90]=122;V.C[120]=123;V.C[17]=124;V.C[16]=125;V.C[20]=126;V.xb={l4:V.La.ed,l3:V.La.dd,l2:V.La.cd,l1:V.La.bd,locked:V.La.fd,local:V.La.mc,online:~V.La.mc};var Xd={SI1978:Yd,VT100:V}; V.C[66]=104;V.C[88]=105;V.C[119]=106;V.C[105]=112;V.C[99]=113;V.C[102]=114;V.C[109]=115;V.C[191]=117;V.C[77]=118;V.C[32]=119;V.C[86]=120;V.C[67]=121;V.C[90]=122;V.C[120]=123;V.C[17]=124;V.C[16]=125;V.C[20]=126;V.xb={l4:V.La.ed,l3:V.La.dd,l2:V.La.cd,l1:V.La.bd,locked:V.La.fd,local:V.La.mc,online:~V.La.mc};var Xd={SI1978:Yd,VT100:V};
Wd.prototype.ma=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.N[e]){if("led"==a&&this.w.xb[b])return this.N[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Zd(d,a,!0)},c.onkeyup=function(a){return Zd(d,a,!1)},!0;default:if(this.w.Wa&&void 0!==this.w.Wa[b])return this.N[e]=c,a=function(a,b){return function(){$d(a,b,!0)}}(this,this.w.Wa[b]),b=function(a,b){return function(){$d(a,b,!1);a.A&&a.A.hb()}}(this,this.w.Wa[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend= Wd.prototype.ma=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.N[e]){if("led"==a&&this.w.xb[b])return this.N[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Zd(d,a,!0)},c.onkeyup=function(a){return Zd(d,a,!1)},!0;default:if(this.w.Wa&&void 0!==this.w.Wa[b])return this.N[e]=c,a=function(a,b){return function(){$d(a,b,!0)}}(this,this.w.Wa[b]),b=function(a,b){return function(){$d(a,b,!1);a.A&&a.A.hb()}}(this,this.w.Wa[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};Wd.prototype.Qa=function(a,b,c,d){this.A=a;this.b=c;this.I=d;this.J=sb(a,"ChipSet");Db(b,this,this.w.Rb);Hb(b,this,this.w.Sb)};Wd.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};Wd.prototype.Ha=function(a){return a?this.save():!0};V.INIT=[[V.La.INIT,V.Rc.INIT,-1]];m=Wd.prototype;m.reset=function(){this.u=[];this.w.INIT&&!this.restore(this.w.INIT)&&this.ja("reset error")}; b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};Wd.prototype.Qa=function(a,b,c,d){this.A=a;this.b=c;this.I=d;this.J=tb(a,"ChipSet");Eb(b,this,this.w.Rb);Jb(b,this,this.w.Sb)};Wd.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};Wd.prototype.Ha=function(a){return a?this.save():!0};V.INIT=[[V.La.INIT,V.Rc.INIT,-1]];m=Wd.prototype;m.reset=function(){this.u=[];this.w.INIT&&!this.restore(this.w.INIT)&&this.ja("reset error")};
m.save=function(){var a=new Rc(this);switch(this.w.Aa){case V.Aa:I(a,0,[this.H,this.F,-1])}return a.data()};m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Aa){case Yd.Aa:return!0;case V.Aa:return this.H=b[0],ae(this,this.H&V.La.lc),this.F=b[1],this.B=b[2],!0}return!1};function ae(a,b){for(var c in a.w.xb){var d=a.N["led-"+c];if(d){var e=a.w.xb[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}} m.save=function(){var a=new H(this);switch(this.w.Aa){case V.Aa:I(a,0,[this.H,this.F,-1])}return a.data()};m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Aa){case Yd.Aa:return!0;case V.Aa:return this.H=b[0],ae(this,this.H&V.La.lc),this.F=b[1],this.B=b[2],!0}return!1};function ae(a,b){for(var c in a.w.xb){var d=a.N["led-"+c];if(d){var e=a.w.xb[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
function Zd(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.w.ic[e]||e,!a.w.C[e]){for(var f in a.w.Wa)if(a.w.Wa[f]===e){e=f;break a}e=null}e&&(d=$d(a,e,c),b.preventDefault());return d} function Zd(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.w.ic[e]||e,!a.w.C[e]){for(var f in a.w.Wa)if(a.w.Wa[f]===e){e=f;break a}e=null}e&&(d=$d(a,e,c),b.preventDefault());return d}
function $d(a,b,c){var d;a:{for(d=0;d<a.u.length;d++)if(a.u[d].gc==b)break a;d=-1}if(c)0>d?a.u.push({gc:b,cc:Date.now(),Mb:!1}):(a.u[d].cc=Date.now(),a.u[d].Mb=!1);else if(0<=d){if(!a.u[d].Mb){var e=a.u[d].cc;if(e&&100>Date.now()-e)return a.u[d].Mb=!0,be(a),!0}a.u.splice(d,1)}if(a.J){d=0;switch(b){case "1p":d=T.Xa.hd;break;case "2p":d=T.Xa.md;break;case "coin":d=T.Xa.Tc;break;case "left":d=T.Xa.kd;break;case "right":d=T.Xa.ld;break;case "fire":d=T.Xa.jd}d&&(a=a.J,b=d,a.J&=~b,c&&(a.J|=b))}return!0} function $d(a,b,c){var d;a:{for(d=0;d<a.u.length;d++)if(a.u[d].gc==b)break a;d=-1}if(c)0>d?a.u.push({gc:b,bc:Date.now(),Mb:!1}):(a.u[d].bc=Date.now(),a.u[d].Mb=!1);else if(0<=d){if(!a.u[d].Mb){var e=a.u[d].bc;if(e&&100>Date.now()-e)return a.u[d].Mb=!0,be(a),!0}a.u.splice(d,1)}if(a.J){d=0;switch(b){case "1p":d=T.Xa.hd;break;case "2p":d=T.Xa.md;break;case "coin":d=T.Xa.Tc;break;case "left":d=T.Xa.kd;break;case "right":d=T.Xa.ld;break;case "fire":d=T.Xa.jd}d&&(a=a.J,b=d,a.J&=~b,c&&(a.J|=b))}return!0}
function be(a){for(var b=0,c=-1;b<a.u.length;){if(a.u[b].Mb){var d=a.u[b].gc,e=100-(Date.now()-a.u[b].cc);if(0<e){if(0>c||c>e)c=e}else{$d(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){be(a)},c)}m.$b=function(){return!0};m.Fd=function(a,b){var c=this.F;0<=this.B&&(this.B<this.u.length?(c=this.u[this.B],this.B++,c=V.C[c.gc],c&128&&(c&=127)):(this.B=-1,c=V.ad),this.F=c,Dd(this.b,1));D(this,a,null,b,"KBDUART.ADDRESS",c);return c}; function be(a){for(var b=0,c=-1;b<a.u.length;){if(a.u[b].Mb){var d=a.u[b].gc,e=100-(Date.now()-a.u[b].bc);if(0<e){if(0>c||c>e)c=e}else{$d(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){be(a)},c)}m.Zb=function(){return!0};m.Fd=function(a,b){var c=this.F;0<=this.B&&(this.B<this.u.length?(c=this.u[this.B],this.B++,c=V.C[c.gc],c&128&&(c&=127)):(this.B=-1,c=V.ad),this.F=c,Dd(this.b,1));D(this,a,null,b,"KBDUART.ADDRESS",c);return c};
m.Ud=function(a,b,c){D(this,a,b,c,"KBDUART.STATUS");this.H=b;ae(this,b&V.La.lc);b&V.La.rd&&(this.B=0,Dd(this.b,1))};V.Rb={130:Wd.prototype.Fd};V.Sb={130:Wd.prototype.Ud};La(function(){for(var a=B(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Wd(d);gb(d,c)}}); m.Ud=function(a,b,c){D(this,a,b,c,"KBDUART.STATUS");this.H=b;ae(this,b&V.La.lc);b&V.La.rd&&(this.B=0,Dd(this.b,1))};V.Rb={130:Wd.prototype.Fd};V.Sb={130:Wd.prototype.Ud};La(function(){for(var a=B(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Wd(d);gb(d,c)}});
function ce(a,b,c,d,e){var f=this;this.Hc=Aa("Gecko/");var h=["","moz","ms","webkit"];x.call(this,"Video",a,ce,262144);this.ba=a.screenWidth;this.P=a.screenHeight;this.ua=a.bufferAddr;this.Xd=a.bufferRAM;var g=a.bufferFormat;this.ga=g&&de[g.toUpperCase()]||ee;this.ea=a.bufferCols;this.ha=a.bufferRows;this.zc=this.oa=a.cellWidth||1;this.ka=a.cellHeight||1;this.Na=null;this.Gc=!1;this.ab=a.bufferBits||1;this.Yd=a.bufferLeft||0;if(this.B=a.bufferRotate)this.B=this.B%360,0<this.B&&(this.B-=360),-90!= function ce(a,b,c,d,e){var f=this;this.Hc=Aa("Gecko/");var h=["","moz","ms","webkit"];x.call(this,"Video",a,ce,262144);this.ba=a.screenWidth;this.P=a.screenHeight;this.ua=a.bufferAddr;this.Xd=a.bufferRAM;var g=a.bufferFormat;this.ga=g&&de[g.toUpperCase()]||ee;this.ea=a.bufferCols;this.ha=a.bufferRows;this.zc=this.oa=a.cellWidth||1;this.ka=a.cellHeight||1;this.Na=null;this.Gc=!1;this.ab=a.bufferBits||1;this.Yd=a.bufferLeft||0;if(this.B=a.bufferRotate)this.B=this.B%360,0<this.B&&(this.B-=360),-90!=
this.B&&(this.ja("unsupported buffer rotation: "+this.B),this.B=0);this.Zb=a.interruptRate;this.Zd=a.refreshRate||60;this.O=b;this.F=c;this.Ca=(this.$d=d)||b||null;this.Vd=this.ba;this.Wd=this.P;this.Ac=this.ba/this.ea|0;this.Fc=this.P/this.ha|0;1<this.ka&&(this.ha++,this.ib=0,this.yb=!1);b=a.smoothing;(c=Ua.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.J=a.screenRotate)this.J= this.B&&(this.ja("unsupported buffer rotation: "+this.B),this.B=0);this.Yb=a.interruptRate;this.Zd=a.refreshRate||60;this.O=b;this.F=c;this.Ca=(this.$d=d)||b||null;this.Vd=this.ba;this.Wd=this.P;this.Ac=this.ba/this.ea|0;this.Fc=this.P/this.ha|0;1<this.ka&&(this.ha++,this.ib=0,this.yb=!1);b=a.smoothing;(c=Ua.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.J=a.screenRotate)this.J=
this.J%360,0<this.J&&(this.J-=360),-90!=this.J?(this.ja("unsupported screen rotation: "+this.J),this.J=0):(this.F.translate(0,this.P),this.F.rotate(this.J*Math.PI/180),this.F.scale(this.P/this.ba,this.ba/this.P));if(this.u=e)if(this.u.kb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.u.kb){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){fe(f,document.fullscreenElement||document.msFullscreenElement|| this.J%360,0<this.J&&(this.J-=360),-90!=this.J?(this.ja("unsupported screen rotation: "+this.J),this.J=0):(this.F.translate(0,this.P),this.F.rotate(this.J*Math.PI/180),this.F.scale(this.P/this.ba,this.ba/this.P));if(this.u=e)if(this.u.kb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.u.kb){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){fe(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(){fe(f,null)},!1);break}}if(this.ia=a.fontROM)"json"!=fa(this.ia)&&(this.ia=sa()+"/api/v1/dump?file="+this.ia+"&format=bytes"),ra(this.ia,null,!0,function(a,b,c){ge(f,a,b,c)});this.Ab={}}ab(ce);var ee=0,de={SI1978:1,VT100:2}; 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(){fe(f,null)},!1);break}}if(this.ia=a.fontROM)"json"!=fa(this.ia)&&(this.ia=sa()+"/api/v1/dump?file="+this.ia+"&format=bytes"),ra(this.ia,null,!0,function(a,b,c){ge(f,a,b,c)});this.Ab={}}ab(ce);var ee=0,de={SI1978:1,VT100:2};
function Nd(a){a.L=a.ea*a.oa;a.da=a.ha*a.ka;var b=a.L,c=a.da;a.B&&(b=a.da,c=a.L);a.S=0;if(!a.Xd&&(a.S=(a.L*a.ab>>3)*a.da,!wb(a.w,a.ua,a.S,3)))return!1;a.S?(a.Jc=a.F.createImageData(b,c),a.Nc=16/a.ab|0,he(a,a.S>>1)):he(a,(a.ea+1)*a.ha);a.M=document.createElement("canvas");a.M.width=b;a.M.height=c;a.jb=a.M.getContext("2d");a.qa={};a.Da=1<<a.ab;a.ra=Array(a.Da+2);a.ra[0]=[0,0,0,255];a.ra[1]=[255,255,255,255];1==a.ga&&(a.ra[a.Da+0]=[255,255,0,255],a.ra[a.Da+1]=[0,255,0,255]);2==a.ga&&(a.ac=60,a.zb=!1, function Nd(a){a.L=a.ea*a.oa;a.da=a.ha*a.ka;var b=a.L,c=a.da;a.B&&(b=a.da,c=a.L);a.S=0;if(!a.Xd&&(a.S=(a.L*a.ab>>3)*a.da,!xb(a.w,a.ua,a.S,3)))return!1;a.S?(a.Jc=a.F.createImageData(b,c),a.Nc=16/a.ab|0,he(a,a.S>>1)):he(a,(a.ea+1)*a.ha);a.M=document.createElement("canvas");a.M.width=b;a.M.height=c;a.jb=a.M.getContext("2d");a.qa={};a.Da=1<<a.ab;a.ra=Array(a.Da+2);a.ra[0]=[0,0,0,255];a.ra[1]=[255,255,255,255];1==a.ga&&(a.ra[a.Da+0]=[255,255,0,255],a.ra[a.Da+1]=[0,255,0,255]);2==a.ga&&(a.$b=60,a.zb=!1,
a.Za=Array(a.ea));return!0}ce.prototype.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.I=d;Nd(this);if(this.K=sb(a,"Keyboard")){for(var e in this.Ab)this.K.ma("led",e,this.Ab[e]);this.O&&this.K.ma(this.$d?"textarea":"canvas","kbd",this.Ca)}this.ia||F(this)}; a.Za=Array(a.ea));return!0}ce.prototype.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.I=d;Nd(this);if(this.K=tb(a,"Keyboard")){for(var e in this.Ab)this.K.ma("led",e,this.Ab[e]);this.O&&this.K.ma(this.$d?"textarea":"canvas","kbd",this.Ca)}this.ia||E(this)};
function ge(a,b,c,d){if(d)a.ja("Unable to load font ROM (error "+d+": "+b+")");else{cb(a.Yb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){u("Empty font ROM: "+b);return}if(1==f.length){u(f[0]);return}if(2048==f.length)a.Na=f,Od(a);else{a.ja("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ja("Font ROM data error: "+h.message);return}(a.F||a.I)&&F(a)}} function ge(a,b,c,d){if(d)a.ja("Unable to load font ROM (error "+d+": "+b+")");else{cb(a.Xb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){u("Empty font ROM: "+b);return}if(1==f.length){u(f[0]);return}if(2048==f.length)a.Na=f,Od(a);else{a.ja("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ja("Font ROM data error: "+h.message);return}(a.F||a.I)&&E(a)}}
function Od(a){a.Na&&(a.Gc=2==a.ga,a.qa[96]=[ie(a,a.oa,a.ka),ie(a,a.oa,a.ka,a.zb)],a.qa[64]=[ie(a,2*a.oa,a.ka),ie(a,2*a.oa,a.ka,a.zb)],a.qa[32]=a.qa[0]=[ie(a,2*a.oa,2*a.ka),ie(a,2*a.oa,2*a.ka,a.zb)])} function Od(a){a.Na&&(a.Gc=2==a.ga,a.qa[96]=[ie(a,a.oa,a.ka),ie(a,a.oa,a.ka,a.zb)],a.qa[64]=[ie(a,2*a.oa,a.ka),ie(a,2*a.oa,a.ka,a.zb)],a.qa[32]=a.qa[0]=[ie(a,2*a.oa,2*a.ka),ie(a,2*a.oa,2*a.ka,a.zb)])}
function ie(a,b,c,d){var e=8>=a.zc?8:16,f=8<e?15:0,h=a.Na.length/e,g=!1===d,k={oa:b,ka: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,v=q;q<a.ka;q++)for(var w=p*e+(f+q&e-1),w=d&&8==q?255:a.Na[w],r=0;r<c/a.ka;r++){for(var C=0,y=0,Y=y;y<a.oa;y++){for(var A=w&128>>(7<y?7:y),C=a.Gc&&!A&&C?C:A,Q=0;Q<b/a.oa;Q++)g&&(C=!C),je(a,l,Y,v,C?1:0),Y++;C=A}v++}k.context.putImageData(l, function ie(a,b,c,d){var e=8>=a.zc?8:16,f=8<e?15:0,h=a.Na.length/e,g=!1===d,k={oa:b,ka: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,v=q;q<a.ka;q++)for(var w=p*e+(f+q&e-1),w=d&&8==q?255:a.Na[w],r=0;r<c/a.ka;r++){for(var C=0,y=0,X=y;y<a.oa;y++){for(var A=w&128>>(7<y?7:y),C=a.Gc&&!A&&C?C:A,Q=0;Q<b/a.oa;Q++)g&&(C=!C),je(a,l,X,v,C?1:0),X++;C=A}v++}k.context.putImageData(l,
(p&15)*b,(p>>4)*c)}return k} (p&15)*b,(p>>4)*c)}return k}
ce.prototype.Ea=function(){if(2==this.ga){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.ua,c=-1,d=-1,e,f=-(60==this.ac?2:5);f<this.ha;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;Bb(this.w,b++,e);Bb(this.w,b++, ce.prototype.Ea=function(){if(2==this.ga){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.ua,c=-1,d=-1,e,f=-(60==this.$b?2:5);f<this.ha;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;Cb(this.w,b++,e);Cb(this.w,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++)Bb(this.w,b++,g.charCodeAt(k)|c);c^=128}Bb(this.w,b++,127);c=b}ke(this)}return!0};ce.prototype.ma=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Ab[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.u&&this.u.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1}; 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++)Cb(this.w,b++,g.charCodeAt(k)|c);c^=128}Cb(this.w,b++,127);c=b}ke(this)}return!0};ce.prototype.ma=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Ab[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.u&&this.u.kb?c.onclick=function(){d.kb()}:c.parentNode.removeChild(c),!0}return!1};
ce.prototype.kb=function(){var a=!1;if(this.u){if(this.u.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ba/this.P;b>c&&(a=Math.round(c/b*100)+"%")}this.Hc?(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.kb();a=!0}this.Ca&&this.Ca.focus()}return a}; ce.prototype.kb=function(){var a=!1;if(this.u){if(this.u.kb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ba/this.P;b>c&&(a=Math.round(c/b*100)+"%")}this.Hc?(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.kb();a=!0}this.Ca&&this.Ca.focus()}return a};
function fe(a,b){!b&&a.u&&(a.Hc?a.O.style.width=a.O.style.height="":a.u.style.width=a.u.style.height="");E(a,"notifyFullScreen("+b+")")}function he(a,b){a.Kc=b;a.za=!1;if(void 0===a.H||a.H.length!=a.Kc)a.H=Array(a.Kc)}function je(a,b,c,d,e){d=a.B?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ga&&(208<=c&&236>c?e=a.Da+0:28<=c&&72>c&&(e=a.Da+1));a=a.ra[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 fe(a,b){!b&&a.u&&(a.Hc?a.O.style.width=a.O.style.height="":a.u.style.width=a.u.style.height="");ib(a,"notifyFullScreen("+b+")")}function he(a,b){a.Kc=b;a.za=!1;if(void 0===a.H||a.H.length!=a.Kc)a.H=Array(a.Kc)}function je(a,b,c,d,e){d=a.B?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ga&&(208<=c&&236>c?e=a.Da+0:28<=c&&72>c&&(e=a.Da+1));a=a.ra[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 ke(a,b){for(var c=a.ua,d=-1,e=0,f=60==a.ac?2:5,h=0,g=0,k=-1;e<a.ha;){var l=0,p=c,q=d,v=a.ea;for(96!=q&&(v>>=1);;){var w=zb(a.w,p++);if(127==(w&127)){var r=zb(a.w,p++),d=r&96,c=(r&15)<<8|zb(a.w,p),c=c+(r&16?8192:16384);break}if(l<v)a.Za[l++]=w;else break}if(f)f--;else{for(;l<a.Za.length;)a.Za[l++]=0;if(0<=q)for(p=a.za&&a.H[h]==v,a.H[h++]=v,v=0;v<l;v++){w=a.Za[v];if(!p||w!==a.H[h]){a.H[k=h]=w;var r=a,C=a.jb,y=w&127;if(w=r.qa[q][w&128?1:0]){var Y=(y&15)*w.oa,y=(y>>4)*w.ka,A=void 0,Q=void 0, function ke(a,b){for(var c=a.ua,d=-1,e=0,f=60==a.$b?2:5,h=0,g=0,k=-1;e<a.ha;){var l=0,p=c,q=d,v=a.ea;for(96!=q&&(v>>=1);;){var w=Ab(a.w,p++);if(127==(w&127)){var r=Ab(a.w,p++),d=r&96,c=(r&15)<<8|Ab(a.w,p),c=c+(r&16?8192:16384);break}if(l<v)a.Za[l++]=w;else break}if(f)f--;else{for(;l<a.Za.length;)a.Za[l++]=0;if(0<=q)for(p=a.za&&a.H[h]==v,a.H[h++]=v,v=0;v<l;v++){w=a.Za[v];if(!p||w!==a.H[h]){a.H[k=h]=w;var r=a,C=a.jb,y=w&127;if(w=r.qa[q][w&128?1:0]){var X=(y&15)*w.oa,y=(y>>4)*w.ka,A=void 0,Q=void 0,
ba=void 0,Z=void 0,wa=w.oa,Ib=w.ka;C?(A=v*r.oa,Q=e*r.ka,ba=r.oa,Z=r.ka):(A=v*r.Ac,Q=e*r.Fc,ba=r.Ac,Z=r.Fc);w.oa>r.oa&&(A*=2,ba*=2);w.ka>r.ka&&(0==q&&(y+=r.ka),Ib=r.ka);C?C.drawImage(w.canvas,Y,y,wa,Ib,A,Q,ba,Z):(A+=0,Q+=0,r.F.drawImage(w.canvas,Y,y,wa,Ib,A,Q,ba,Z))}g++}h++}e++}}a.za=!0;!b&&a.yb&&1==g&&(a.H[k]=-1,g=0);a.yb=!1;(g||b)&&a.jb&&a.F.drawImage(a.M,0,a.ib,a.L,a.da-a.ka,0,0,a.Vd,a.Wd)} aa=void 0,Y=void 0,va=w.oa,Ib=w.ka;C?(A=v*r.oa,Q=e*r.ka,aa=r.oa,Y=r.ka):(A=v*r.Ac,Q=e*r.Fc,aa=r.Ac,Y=r.Fc);w.oa>r.oa&&(A*=2,aa*=2);w.ka>r.ka&&(0==q&&(y+=r.ka),Ib=r.ka);C?C.drawImage(w.canvas,X,y,va,Ib,A,Q,aa,Y):(A+=0,Q+=0,r.F.drawImage(w.canvas,X,y,va,Ib,A,Q,aa,Y))}g++}h++}e++}}a.za=!0;!b&&a.yb&&1==g&&(a.H[k]=-1,g=0);a.yb=!1;(g||b)&&a.jb&&a.F.drawImage(a.M,0,a.ib,a.L,a.da-a.ka,0,0,a.Vd,a.Wd)}
function Md(a,b){var c=!0,d=!0;if(0<=b){d=!1;a.Zb&&(120==a.Zb?b&1?(Dd(a.b,2),c=!1):Dd(a.b,1):Dd(a.b,4));var e;if(e=c&&a.za&&a.S){e=a.w;for(var f=a.S,h=!0,g=a.ua>>>e.pa;0<f&&g<e.Y.length;)e.Y[g].Oa&&(e.Y[g].Oa=h=!1,e.Y[g].vc=!0),f-=e.Ga,g++;e=h}e&&(c=!1)}if(c)if(1<a.oa)switch(a.ga){case 2:ke(a,d)}else{var f=a.ua,h=f+a.S,k=g=0,l=0,c=a.L,p=0,d=a.da,q=e=0,v=a.ab,w=(1<<v)-1;a.Yd&&(v=-v,q=16+v);for(;f<h;){var r=Ab(a.w,f);if(a.za&&r===a.H[g])k+=a.Nc;else{a.H[g]=r;var C=q;C&&(r=r>>8|(r&255)<<8);k<c&&(c=k); function Md(a,b){var c=!0,d=!0;if(0<=b){d=!1;a.Yb&&(120==a.Yb?b&1?(Dd(a.b,2),c=!1):Dd(a.b,1):Dd(a.b,4));var e;if(e=c&&a.za&&a.S){e=a.w;for(var f=a.S,h=!0,g=a.ua>>>e.pa;0<f&&g<e.Y.length;)e.Y[g].Oa&&(e.Y[g].Oa=h=!1,e.Y[g].vc=!0),f-=e.Ga,g++;e=h}e&&(c=!1)}if(c)if(1<a.oa)switch(a.ga){case 2:ke(a,d)}else{var f=a.ua,h=f+a.S,k=g=0,l=0,c=a.L,p=0,d=a.da,q=e=0,v=a.ab,w=(1<<v)-1;a.Yd&&(v=-v,q=16+v);for(;f<h;){var r=Bb(a.w,f);if(a.za&&r===a.H[g])k+=a.Nc;else{a.H[g]=r;var C=q;C&&(r=r>>8|(r&255)<<8);k<c&&(c=k);
for(var y=a.Nc;y--;){var Y=r>>C&w;je(a,a.Jc,k++,l,Y);C+=v}k>p&&(p=k);l<d&&(d=l);l>=e&&(e=l+1)}f+=2;g++;if(k>=a.L&&(k=0,l++,l>a.da))break}a.za=!0;c<a.L&&(f=p-c,e-=d,a.B&&(h=c,g=f,c=d,f=e,d=a.L-(h+g),e=g),a.jb.putImageData(a.Jc,0,0,c,d,f,e),a.F.drawImage(a.M,0,0,a.M.width,a.M.height,0,0,a.ba,a.P))}} for(var y=a.Nc;y--;){var X=r>>C&w;je(a,a.Jc,k++,l,X);C+=v}k>p&&(p=k);l<d&&(d=l);l>=e&&(e=l+1)}f+=2;g++;if(k>=a.L&&(k=0,l++,l>a.da))break}a.za=!0;c<a.L&&(f=p-c,e-=d,a.B&&(h=c,g=f,c=d,f=e,d=a.L-(h+g),e=g),a.jb.putImageData(a.Jc,0,0,c,d,f,e),a.F.drawImage(a.M,0,0,a.M.width,a.M.height,0,0,a.ba,a.P))}}
La(function(){for(var a=B(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<=ta().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= La(function(){for(var a=B(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<=ta().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||Ua.aspect);f&&.3<=f&&3.33>=f&&(Ka("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");Aa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new ce(d,e,h,f,c);gb(d,c)}}); (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ua.aspect);f&&.3<=f&&3.33>=f&&(Ka("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");Aa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new ce(d,e,h,f,c);gb(d,c)}});
function le(a){this.ga=+a.adapter;switch(this.ga){case 0:this.ha=0;this.qa=2;break;default:u("Unrecognized serial adapter #"+this.ga);return}this.B=this.F=null;this.ia=a.tabSize;this.ea=a.charBOL;this.H=0;x.call(this,"SerialPort",a,le,8388608);var b=a.binding;if("console"==b)this.F="";else{var c;a=me;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.N[b])&&this.ma(null,a,b))}this.M=this.ba=null;this.exports={receiveByte:this.Tb}}ab(le); function le(a){this.ga=+a.adapter;switch(this.ga){case 0:this.ha=0;this.qa=2;break;default:u("Unrecognized serial adapter #"+this.ga);return}this.B=this.F=null;this.ia=a.tabSize;this.ea=a.charBOL;this.H=0;x.call(this,"SerialPort",a,le,8388608);var b=a.binding;if("console"==b)this.F="";else{var c;a=me;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.N[b])&&this.ma(null,a,b))}this.K="";this.M=this.ba=null;this.exports={receiveData:this.fc}}ab(le);
var ne=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],oe=[!1,0,0,133,142,39,238],me="buffer";m=le.prototype; var ne=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],oe=[!1,0,0,133,142,39,238],me="buffer";m=le.prototype;
m.ma=function(a,b,c,d){var e=this;switch(b){case me:return this.N[b]=this.B=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),e.Tb(b);return!0},c.onkeypress=function(a){a=a||window.event;e.Tb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.N[b]=c,d=d.replace(/\\n/g,"\n").replace(/\\r/g,"\r"),c.onclick=function(){e.L=d;pe(e);e.A&& m.ma=function(a,b,c,d){var e=this;switch(b){case me:return this.N[b]=this.B=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),pe(e,b);return!0},c.onkeypress=function(a){a=a||window.event;pe(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.N[b]=c,d=d.replace(/\\n/g,"\n").replace(/\\r/g,"\r"),c.onclick=function(){e.fc(d);e.A&&e.A.hb();
e.A.hb();return!0},!0}return!1};m.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.I=d;var e=this;this.ra=Hc(this.b,function(){E(e,"timerReceiveNext()");pe(e)});this.ua=Hc(this.b,function(){E(e,"timerTransmitNext()");e.u|=5});this.J=sb(a,"ChipSet");Db(b,this,qe,this.ha);Hb(b,this,re,this.ha);se(this);F(this)};function se(a){var b=kc(a.A,"connection");if(b){var c=b.split("=");2==c.length&&(b=la(c[0]),c=la(c[1]),b==a.Ya&&(a.M=eb(c),a.M&&(b=a.M.exports)))&&(a.ba=b.receiveByte)}} return!0},!0}return!1};m.Qa=function(a,b,c,d){this.A=a;this.w=b;this.b=c;this.I=d;var e=this;this.ra=Ic(this.b,function(){e.fc()});this.ua=Ic(this.b,function(){e.u|=5});this.J=tb(a,"ChipSet");Eb(b,this,qe,this.ha);Jb(b,this,re,this.ha);se(this);E(this)};function se(a){var b=lc(a.A,"connection");if(b){var c=b.split("=");2==c.length&&(b=la(c[0]),c=la(c[1]),b==a.Ya&&(a.M=eb(c),a.M&&(b=a.M.exports)))&&(a.ba=b.receiveData)}}
m.Ea=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.Ha=function(a){return a?this.save():!0};m.reset=function(){te(this)};m.save=function(){var a=new Rc(this),b=0,c=[];c[b++]=this.Ma;c[b++]=this.S;c[b++]=this.da;c[b++]=this.u;c[b++]=this.K;c[b++]=this.P;c[b]=this.O;I(a,0,c);return a.data()};m.restore=function(a){return te(this,a[0])}; m.Ea=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.Ha=function(a){return a?this.save():!0};m.reset=function(){te(this)};m.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.Ma;c[b++]=this.S;c[b++]=this.da;c[b++]=this.u;c[b++]=this.L;c[b++]=this.P;c[b]=this.O;I(a,0,c);return a.data()};m.restore=function(a){return te(this,a[0])};
function te(a,b){var c=0;void 0===b&&(b=oe);a.Ma=b[c++];a.S=b[c++];a.da=b[c++];a.u=b[c++];a.K=b[c++];a.P=b[c++];a.O=b[c];return!0}function ue(a,b){var c=a.O&b;b&15||(c>>=4);var c=ne[c],d=((a.K&12)>>2)+6;a.K&16&&d++;d+=((a.K&192)>>6)+1>>1;return 1E3/Math.round(c/d)}m.Tb=function(a){E(this,"receiveByte("+da(a)+"): "+da(this.u));return this.u&2?!1:(this.S=a,this.u|=2,E(this,"receiveByte("+da(a)+"): "+da(this.u)+" (requesting interrupt)"),Dd(this.b,this.qa),!0)}; function te(a,b){var c=0;void 0===b&&(b=oe);a.Ma=b[c++];a.S=b[c++];a.da=b[c++];a.u=b[c++];a.L=b[c++];a.P=b[c++];a.O=b[c];return!0}function ue(a,b){var c=a.O&b;b&15||(c>>=4);var c=ne[c],d=((a.L&12)>>2)+6;a.L&16&&d++;d+=((a.L&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function pe(a,b){ib(a,"receiveByte("+da(b)+"), status="+da(a.u));return a.u&2?!1:(a.S=b,a.u|=2,Dd(a.b,a.qa),!0)}
function pe(a){a.L&&(a.Tb(a.L.charCodeAt(0))&&(a.L=a.L.substr(1)),a.L&&a.b&&Ic(a.b,a.ra,ue(a,15)))}m.$b=function(){return!!(this.u&1)};m.zd=function(a,b){var c=this.S;D(this,a,null,b,"DATA",c);this.u&=-3;return c};m.yd=function(a,b){var c=this.u;D(this,a,null,b,"STATUS",c);return c}; m.fc=function(a){null!=a&&(this.K="number"!=typeof a?a:this.K+String.fromCharCode(a));this.K&&(pe(this,this.K.charCodeAt(0))&&(this.K=this.K.substr(1)),this.K&&this.b&&Jc(this.b,this.ra,ue(this,15)))};m.Zb=function(){return!!(this.u&1)};m.zd=function(a,b){var c=this.S;D(this,a,null,b,"DATA",c);this.u&=-3;return c};m.yd=function(a,b){var c=this.u;D(this,a,null,b,"STATUS",c);return c};
m.Kd=function(a,b,c){D(this,a,b,c,"DATA");this.da=b;this.u&=-6;this.ba&&this.ba.call(this.M,b);if(this.B)8==b?(this.B.value=this.B.value.slice(0,-1),0<this.H&&this.H--):(a=(a=ma[b])?"<"+a+">":String.fromCharCode(b),c=a.length,9==b?(b=this.ia||8,c=b-this.H%b,this.ia&&(a=ka("",c))):13==b&&(this.H=c=0,a="\n"),this.ea&&!this.H&&c&&(a=String.fromCharCode(this.ea)+a),this.B.value+=a,this.B.scrollTop=this.B.scrollHeight,this.H+=c);else if(null!=this.F){if(10==b||1024<=this.F.length)this.g(this.F),this.F= m.Kd=function(a,b,c){D(this,a,b,c,"DATA");this.da=b;this.u&=-6;ib(this,"transmitByte("+da(b)+")");this.ba&&this.ba.call(this.M,b);if(this.B)8==b?(this.B.value=this.B.value.slice(0,-1),0<this.H&&this.H--):(a=(a=ma[b])?"<"+a+">":String.fromCharCode(b),c=a.length,9==b?(b=this.ia||8,c=b-this.H%b,this.ia&&(a=ka("",c))):13==b&&(this.H=c=0,a="\n"),this.ea&&!this.H&&c&&(a=String.fromCharCode(this.ea)+a),this.B.value+=a,this.B.scrollTop=this.B.scrollHeight,this.H+=c);else if(null!=this.F){if(10==b||1024<=
"";10!=b&&(this.F+=String.fromCharCode(b))}this.b&&Ic(this.b,this.ua,ue(this,240))};m.Jd=function(a,b,c){D(this,a,b,c,"CONTROL");this.Ma?(this.P=b,this.P&64&&(this.Ma=!1)):(this.K=b,this.Ma=!0)};m.Id=function(a,b,c){D(this,a,b,c,"BAUDRATES");this.O=b};var qe={0:le.prototype.zd,1:le.prototype.yd},re={0:le.prototype.Kd,1:le.prototype.Jd,2:le.prototype.Id};La(function(){for(var a=B(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new le(d);gb(d,c)}}); this.F.length)this.g(this.F),this.F="";10!=b&&(this.F+=String.fromCharCode(b))}this.b&&Jc(this.b,this.ua,ue(this,240))};m.Jd=function(a,b,c){D(this,a,b,c,"CONTROL");this.Ma?(this.P=b,this.P&64&&(this.Ma=!1)):(this.L=b,this.Ma=!0)};m.Id=function(a,b,c){D(this,a,b,c,"BAUDRATES");this.O=b};var qe={0:le.prototype.zd,1:le.prototype.yd},re={0:le.prototype.Kd,1:le.prototype.Jd,2:le.prototype.Id};
function ve(a){x.call(this,"Debugger",a,ve);this.style=we;this.ba=this.za=this.L=0;this.O=W();this.ab=W();this.F=-1;this.B=[];this.ea=!1;this.da=W();this.H=[];this.ga={};this.u=this.P=this.J=[];xe(this);this.qa=0;ye(this);this.Ca=[];ze(this,a.messages);this.Da=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return nc(b,a)}):void 0===global.$&&(global.$=function(a){return nc(b,a)})}ab(ve); La(function(){for(var a=B(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new le(d);gb(d,c)}});
function ve(a){x.call(this,"Debugger",a,ve);this.style=we;this.ba=this.za=this.L=0;this.O=W();this.ab=W();this.F=-1;this.B=[];this.ea=!1;this.da=W();this.H=[];this.ga={};this.u=this.P=this.J=[];xe(this);this.qa=0;ye(this);this.Ca=[];ze(this,a.messages);this.Da=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return oc(b,a)}):void 0===global.$&&(global.$=function(a){return oc(b,a)})}ab(ve);
var Ae={"?":"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 Ae={"?":"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"},
we=8080,Be="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(" "),Ce="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(" "), we=8080,Be="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(" "),Ce="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(" "),
De="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Ee=[[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, De="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Ee=[[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,
@ -152,87 +153,87 @@ De="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Ee=[[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]],Fe={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=ve.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]],Fe={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=ve.prototype;
m.Qa=function(a,b,c,d){this.w=b;this.b=c;this.A=a;(a=kc(a,"messages"))&&ze(this,a);this.Na=Ee;Ge(this,function(a){a:{var b=d.w.Y,c=a[0],g=a=0,k=b.length;if(c){a=He(Ie(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.w.pa;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=yb[c],p&&d.g(n(p.id)+" %"+n(g<<d.w.pa)+" %%"+n(p.G)+" "+t(p.Ib)+" "+ m.Qa=function(a,b,c,d){this.w=b;this.b=c;this.A=a;(a=lc(a,"messages"))&&ze(this,a);this.Na=Ee;Ge(this,function(a){a:{var b=d.w.Y,c=a[0],g=a=0,k=b.length;if(c){a=He(Ie(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.w.pa;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=zb[c],p&&d.g(n(p.id)+" %"+n(g<<d.w.pa)+" %%"+n(p.G)+" "+t(p.Ib)+" "+
t(p.size)+" "+l),c!=Xb&&(c=-1),l=0);a+=d.w.Ga;g++}}});F(this)}; t(p.size)+" "+l),c!=Yb&&(c=-1),l=0);a+=d.w.Ga;g++}}});E(this)};
m.ma=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ia=this.N[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",nc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.F<d.B.length-1&&(b=d.B[++d.F]):40==a.keyCode&&(0<d.F?b=d.B[--d.F]:(b="",d.F=-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.N[b]=c,Ca(c,function(){if(d.ia){var a=d.ia.value;d.ia.value= m.ma=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ia=this.N[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",oc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.F<d.B.length-1&&(b=d.B[++d.F]):40==a.keyCode&&(0<d.F?b=d.B[--d.F]:(b="",d.F=-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.N[b]=c,Ca(c,function(){if(d.ia){var a=d.ia.value;d.ia.value=
"";nc(d,a,!0);return!0}return!1}),!0;case "step":return this.N[b]=c,Ca(c,function(a){var b=!1;kb(d,!0)||(jb(d,!0),b=d.ub(a?1:0),jb(d,!1));return b}),!0}return!1};m.hb=function(){this.ia&&this.ia.focus()};function He(a){a=a&&a.G;null==a&&(a=-1);return a}m.aa=function(a,b){var c=255,d=He(a);-1!==d&&(c=zb(this.w,d),b&&Je(a,b));return c};m.Sa=function(a,b){var c=65535,d=He(a);-1!==d&&(c=Ab(this.w,d),b&&Je(a,b));return c};m.ta=function(a,b,c){var d=He(a);-1!==d&&(Bb(this.w,d,b),c&&Je(a,c),oc(this.b,!0))}; "";oc(d,a,!0);return!0}return!1}),!0;case "step":return this.N[b]=c,Ca(c,function(a){var b=!1;lb(d,!0)||(kb(d,!0),b=d.ub(a?1:0),kb(d,!1));return b}),!0}return!1};m.hb=function(){this.ia&&this.ia.focus()};function He(a){a=a&&a.G;null==a&&(a=-1);return a}m.aa=function(a,b){var c=255,d=He(a);-1!==d&&(c=Ab(this.w,d),b&&Je(a,b));return c};m.Sa=function(a,b){var c=65535,d=He(a);-1!==d&&(c=Bb(this.w,d),b&&Je(a,b));return c};m.ta=function(a,b,c){var d=He(a);-1!==d&&(Cb(this.w,d,b),c&&Je(a,c),pc(this.b,!0))};
m.Ub=function(a,b,c){var d=He(a);if(-1!==d){var e=this.w,f=d&e.w,h=(d&e.B)>>>e.pa;f!=e.w?e.Y[h].hc(f,b&65535,d):(e.Y[h++].Jb(f,b&255,d),e.Y[h&e.K].Jb(0,b>>8&255,d+1));c&&Je(a,c);oc(this.b,!0)}};function W(a){return{G:a,Pa:!1}}function Ke(a){return[a.G,a.Pa]}function Le(a){return{G:a[0],Pa:a[1]}} m.Tb=function(a,b,c){var d=He(a);if(-1!==d){var e=this.w,f=d&e.w,h=(d&e.B)>>>e.pa;f!=e.w?e.Y[h].hc(f,b&65535,d):(e.Y[h++].Jb(f,b&255,d),e.Y[h&e.K].Jb(0,b>>8&255,d+1));c&&Je(a,c);pc(this.b,!0)}};function W(a){return{G:a,Pa:!1}}function Ke(a){return[a.G,a.Pa]}function Le(a){return{G:a[0],Pa:a[1]}}
function Ie(a,b,c){var d;c=(c?a.O:a.ab).G;if(void 0!==b){d=b=Me(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var f=a.H[c].Ra[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Ne(a,b,void 0)}null!=c&&(d=W(c));return d}function Oe(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.vd=Pe(a,b.Mc=c[2]))}function Je(a,b){null!=a.G&&(a.G+=b||1)}function X(a){return n(a,4)} function Ie(a,b,c){var d;c=(c?a.O:a.ab).G;if(void 0!==b){d=b=Me(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.H.length;c++){var f=a.H[c].Ra[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Ne(a,b,void 0)}null!=c&&(d=W(c));return d}function Oe(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.vd=Pe(a,b.Mc=c[2]))}function Je(a,b){null!=a.G&&(a.G+=b||1)}function Z(a){return n(a,4)}
function Qe(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.aa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function ze(a,b){a.I=a;a.sa=a.wd=536870912;a.ra=null;a.ua=[];var c=Pe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Fe)0<=qa(c,d)&&(a.sa|=Fe[d],a.g(d+" messages enabled"))}function Ge(a,b){for(var c in Fe)if(64==Fe[c]){a.Ca[c]=b;break}} function Qe(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.aa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function ze(a,b){a.I=a;a.sa=a.wd=536870912;a.ra=null;a.ua=[];var c=Pe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in Fe)0<=qa(c,d)&&(a.sa|=Fe[d],a.g(d+" messages enabled"))}function Ge(a,b){for(var c in Fe)if(64==Fe[c]){a.Ca[c]=b;break}}
function Re(a,b){var c;a=a.toUpperCase();null==b?c=qa(De,a):(c=qa(De,a.substr(b,2)),0>c&&(c=qa(De,a.substr(b,1))));return c}function Se(a,b){var c=0,d=Te(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 Re(a,b){var c;a=a.toUpperCase();null==b?c=qa(De,a):(c=qa(De,a.substr(b,2)),0>c&&(c=qa(De,a.substr(b,1))));return c}function Se(a,b){var c=0,d=Te(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 Te(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.T;break;case 1:c=d.U;break;case 8:c=Sc(d);break;case 2:c=d.V;break;case 3:c=d.W;break;case 9:c=Uc(d);break;case 4:c=d.X;break;case 5:c=d.Z;break;case 10:c=J(d);break;case 6:c=d.aa(J(d));break;case 11:c=d.la;break;case 12:c=d.R;break;case 13:c=Qc(d);break;case 14:c=Qc(d)&255|d.j<<8}}return c} function Te(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.T;break;case 1:c=d.U;break;case 8:c=Sc(d);break;case 2:c=d.V;break;case 3:c=d.W;break;case 9:c=Uc(d);break;case 4:c=d.X;break;case 5:c=d.Z;break;case 10:c=J(d);break;case 6:c=d.aa(J(d));break;case 11:c=d.la;break;case 12:c=d.R;break;case 13:c=Rc(d);break;case 14:c=Rc(d)&255|d.j<<8}}return c}
function Ue(a,b){b=Me(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Re(b,c+1),0<=e&&(b=b.substr(0,c)+Se(a,e)+b.substr(c+1+De[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=Ie(a,e))?(d=e+' "'+Qe(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=Ie(a,e))?(Je(d),d=e+' "'+ function Ue(a,b){b=Me(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Re(b,c+1),0<=e&&(b=b.substr(0,c)+Se(a,e)+b.substr(c+1+De[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(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=Ie(a,e))?(d=e+' "'+Qe(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=Ie(a,e))?(Je(d),d=e+' "'+
Qe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+X(W(this.b.R).G));if(this.sa&1073741824)this.ua.push(a);else if(!this.ra||a!=this.ra)if(this.ra=a,this.sa&-2147483648&&(this.na(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.sb=0;c.B-=c.b;c.b=0;oc(c)}}; Qe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(W(this.b.R).G));if(this.sa&1073741824)this.ua.push(a);else if(!this.ra||a!=this.ra)if(this.ra=a,this.sa&-2147483648&&(this.na(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.sb=0;c.B-=c.b;c.b=0;pc(c)}};
function hb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.sa&g)!=g||a.message(b.Ya+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?","+da(d):"")+")"+(null!=h?": "+da(h):"")+(null!=e?" at "+X(e):""))} function hb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.sa&g)!=g||a.message(b.Ya+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?","+da(d):"")+")"+(null!=h?": "+da(h):"")+(null!=e?" at "+Z(e):""))}
function ye(a){var b;if(Ed(a)){if(!a.M||!a.M.length){a.M=Array(1E3);for(b=0;b<a.M.length;b++)a.M[b]=W();a.ha=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.M&&a.M.length&&a.g("instruction history buffer freed"),a.ha=0,a.M=[],a.K=[]}m.gb=function(a){if(!Ve(this))return!1;this.b.gb(a);return!0}; function ye(a){var b;if(Ed(a)){if(!a.M||!a.M.length){a.M=Array(1E3);for(b=0;b<a.M.length;b++)a.M[b]=W();a.ha=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.M&&a.M.length&&a.g("instruction history buffer freed"),a.ha=0,a.M=[],a.K=[]}m.gb=function(a){if(!Ve(this))return!1;this.b.gb(a);return!0};
m.ub=function(a,b,c){if(!Ve(this))return!1;this.L=0;a||Ed(this)&&Fd(this,this.b.R,0);try{var d=this.b.ub(a);0<d&&(this.L+=d,Fc(this.b,d,!0),Cc(this.b,d),this.ba++)}catch(e){"number"!=typeof e&&(this.L=0,mb(this.b,e.stack||e.message))}!1!==c&&oc(this.b);this.Ia(b||!1);return 0<this.L};m.na=function(a){this.b&&this.b.na(a)};m.Ia=function(a){void 0===a&&(a=!0);this.O=W(this.b.R);a&&1!=this.S?We(this):vf(this)}; m.ub=function(a,b,c){if(!Ve(this))return!1;this.L=0;a||Ed(this)&&Fd(this,this.b.R,0);try{var d=this.b.ub(a);0<d&&(this.L+=d,Gc(this.b,d,!0),Dc(this.b,d),this.ba++)}catch(e){"number"!=typeof e&&(this.L=0,nb(this.b,e.stack||e.message))}!1!==c&&pc(this.b);this.Ia(b||!1);return 0<this.L};m.na=function(a){this.b&&this.b.na(a)};m.Ia=function(a){void 0===a&&(a=!0);this.O=W(this.b.R);a&&1!=this.S?We(this):vf(this)};
function Ve(a){var b;if(b=a.b&&lb(a.b))b=a.b,b.D.va?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!kb(a.b)?(a=a.b,a.D.nb?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Ea=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Ha=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){ye(this);this.ba=this.za=0;this.ra=null;this.L=0;this.O=W(this.b.R);this.D.ya=!1;wf(this);a||this.Ia()}; function Ve(a){var b;if(b=a.b&&mb(a.b))b=a.b,b.D.va?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!lb(a.b)?(a=a.b,a.D.nb?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Ea=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Ha=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){ye(this);this.ba=this.za=0;this.ra=null;this.L=0;this.O=W(this.b.R);this.D.ya=!1;wf(this);a||this.Ia()};
m.save=function(){var a=new Rc(this);I(a,0,Ke(this.O));I(a,1,Ke(this.da));I(a,2,[this.B,this.ea,this.sa]);I(a,3,this.H);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.O=Le(a[b++]),this.da=Le(a[b++]),this.B=a[b][0],"string"==typeof this.B&&(this.B=[this.B]),this.ea=a[b][1],this.sa|=a[b][2]);a[3]&&(this.H=a[3]);return!0};m.start=function(a,b){this.S||this.g("running");this.D.ya=!0;this.yb=a;this.zb=b}; m.save=function(){var a=new H(this);I(a,0,Ke(this.O));I(a,1,Ke(this.da));I(a,2,[this.B,this.ea,this.sa]);I(a,3,this.H);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.O=Le(a[b++]),this.da=Le(a[b++]),this.B=a[b][0],"string"==typeof this.B&&(this.B=[this.B]),this.ea=a[b][1],this.sa|=a[b][2]);a[3]&&(this.H=a[3]);return!0};m.start=function(a,b){this.S||this.g("running");this.D.ya=!0;this.yb=a;this.zb=b};
m.stop=function(a,b){if(this.D.ya){this.D.ya=!1;this.L=b-this.zb;if(!this.S){var c="stopped";if(this.L){var d=a-this.yb,e=0<d?Math.round(1E3*this.L/d):0,c=c+" (";Ed(this)&&(c+=this.ba+" opcodes, ",this.za-=this.ba,this.ba=0);c+=this.L+" cycles, "+d+" ms, "+e+" hz)"}else ib(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ia(!0);this.hb();wf(this,this.b.R)}};function Ed(a){return 1<a.u.length||!!a.qa} m.stop=function(a,b){if(this.D.ya){this.D.ya=!1;this.L=b-this.zb;if(!this.S){var c="stopped";if(this.L){var d=a-this.yb,e=0<d?Math.round(1E3*this.L/d):0,c=c+" (";Ed(this)&&(c+=this.ba+" opcodes, ",this.za-=this.ba,this.ba=0);c+=this.L+" cycles, "+d+" ms, "+e+" hz)"}else jb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ia(!0);this.hb();wf(this,this.b.R)}};function Ed(a){return 1<a.u.length||!!a.qa}
function Fd(a,b,c){var d=a.b;if(0<c&&(a.qa&&!--a.qa||fc(a,b,1,a.u)))return!0;0<=c&&a.K.length&&(a.ba++,b=zb(a.w,b),null!=b&&(a.K[b][1]++,b=a.M[a.ha],b.G=d.R,b.Pa=!1,++a.ha==a.M.length&&(a.ha=0)));return!1}function Fb(a,b,c){a.g("break on input from port "+t(b)+": "+n(c));a.na(!0)}function Kb(a,b,c){a.g("break on output to port "+t(b)+": "+n(c));a.na(!0)} function Fd(a,b,c){var d=a.b;if(0<c&&(a.qa&&!--a.qa||gc(a,b,1,a.u)))return!0;0<=c&&a.K.length&&(a.ba++,b=Ab(a.w,b),null!=b&&(a.K[b][1]++,b=a.M[a.ha],b.G=d.R,b.Pa=!1,++a.ha==a.M.length&&(a.ha=0)));return!1}function Gb(a,b,c){a.g("break on input from port "+t(b)+": "+n(c));a.na(!0)}function Lb(a,b,c){a.g("break on output to port "+t(b)+": "+n(c));a.na(!0)}
function xe(a){var b,c;a.u=["bp"];if(void 0!==a.P)for(b=1;b<a.P.length;b++){c=a.P[b];var d=a.w;gc(d.Y[He(c)>>>d.pa],!1)}a.P=["br"];if(void 0!==a.J)for(b=1;b<a.J.length;b++)c=a.J[b],d=a.w,gc(d.Y[He(c)>>>d.pa],!0);a.J=["bw"];a.ib=0}m.$a=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.u){var e=He(b);if(-1===e)this.g("invalid address: "+X(b.G)),d=!1;else{var f=this.w;f.Y[e>>>f.pa].$a(e&f.w,a==this.J)}}d&&(a.push(b),c?b.Pa=!0:(yf(this,a,a.length-1,"set"),ye(this)));return d}; function xe(a){var b,c;a.u=["bp"];if(void 0!==a.P)for(b=1;b<a.P.length;b++){c=a.P[b];var d=a.w;hc(d.Y[He(c)>>>d.pa],!1)}a.P=["br"];if(void 0!==a.J)for(b=1;b<a.J.length;b++)c=a.J[b],d=a.w,hc(d.Y[He(c)>>>d.pa],!0);a.J=["bw"];a.ib=0}m.$a=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.u){var e=He(b);if(-1===e)this.g("invalid address: "+Z(b.G)),d=!1;else{var f=this.w;f.Y[e>>>f.pa].$a(e&f.w,a==this.J)}}d&&(a.push(b),c?b.Pa=!0:(yf(this,a,a.length-1,"set"),ye(this)));return d};
function xf(a,b,c,d,e){var f=!1;c=He(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==He(g)&&(!d||g.Pa)){f=!0;g.Pa||e||yf(a,b,h,"cleared");b.splice(h,1);b!=a.u&&(d=a.w,gc(d.Y[c>>>d.pa],b==a.J));g.Pa||ye(a);break}}return f}function zf(a,b){for(var c=1;c<b.length;c++)yf(a,b,c);return b.length-1}function yf(a,b,c,d){c=b[c];a.g(b[0]+" "+X(c.G)+(d?" "+d:c.Mc?' "'+c.Mc+'"':""))} function xf(a,b,c,d,e){var f=!1;c=He(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==He(g)&&(!d||g.Pa)){f=!0;g.Pa||e||yf(a,b,h,"cleared");b.splice(h,1);b!=a.u&&(d=a.w,hc(d.Y[c>>>d.pa],b==a.J));g.Pa||ye(a);break}}return f}function zf(a,b){for(var c=1;c<b.length;c++)yf(a,b,c);return b.length-1}function yf(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.G)+(d?" "+d:c.Mc?' "'+c.Mc+'"':""))}
function wf(a,b){if(void 0!==b)fc(a,b,1,a.u,!0),a.S=0;else for(var c=1;c<a.u.length;c++){var d=a.u[c];if(d.Pa){if(!xf(a,a.u,d,!0))break;c=0}}} function wf(a,b){if(void 0!==b)gc(a,b,1,a.u,!0),a.S=0;else for(var c=1;c<a.u.length;c++){var d=a.u[c];if(d.Pa){if(!xf(a,a.u,d,!0))break;c=0}}}
function fc(a,b,c,d,e){var f=!1;if(!a.ib++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Pa)for(var k=He(g),l=0;l<c;l++)if(b+l==k){var p,f=!0;g.Pa&&(xf(a,d,g,!0),e=!0);if(p=g.vd){for(var f=!1,q=0;q<p.length;q++)if(!Af(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var v=q+1;v<p.length&&p[v].indexOf("else");v++)q++;if(v==p.length){f=!0;break}}a.b.D.ya||(f=!0)}if(f){e||yf(a,d,h,"hit");break}}}a.ib--;return f} function gc(a,b,c,d,e){var f=!1;if(!a.ib++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Pa)for(var k=He(g),l=0;l<c;l++)if(b+l==k){var p,f=!0;g.Pa&&(xf(a,d,g,!0),e=!0);if(p=g.vd){for(var f=!1,q=0;q<p.length;q++)if(!Af(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var v=q+1;v<p.length&&p[v].indexOf("else");v++)q++;if(v==p.length){f=!0;break}}a.b.D.ya||(f=!0)}if(f){e||yf(a,d,h,"hit");break}}}a.ib--;return f}
function Bf(a,b,c,d){for(var e=W(b.G),f=a.aa(b,1),h=a.Na[f],g="",k=(8086!=a.style?Be:Ce)[h[0]],l=h.length-1,p=0,q,v=1;v<=l;v++){var w="";q=h[v];if(void 0!==q&&!(q&16384&&a.style==we)){var r=q&240;if(r){var C=q&15;C?p=C:q|=p;q&61440||(q|=1==v?8192:4096);if(r&32)a:{var w=a,r=q,C=b,y=" ";switch(r&15){case 1:y=n(w.aa(C,1),2);break;case 2:y=n(w.aa(C,1)<<24>>24,4);break;case 3:y=n(w.Sa(C,2),4);break;default:w="imm("+t(r)+")";break a}8086==w.style&&r&64?y="["+y+"]":r&16||(y=(w.style==we?"$":"0x")+y);w=y}else r& function Bf(a,b,c,d){for(var e=W(b.G),f=a.aa(b,1),h=a.Na[f],g="",k=(8086!=a.style?Be:Ce)[h[0]],l=h.length-1,p=0,q,v=1;v<=l;v++){var w="";q=h[v];if(void 0!==q&&!(q&16384&&a.style==we)){var r=q&240;if(r){var C=q&15;C?p=C:q|=p;q&61440||(q|=1==v?8192:4096);if(r&32)a:{var w=a,r=q,C=b,y=" ";switch(r&15){case 1:y=n(w.aa(C,1),2);break;case 2:y=n(w.aa(C,1)<<24>>24,4);break;case 3:y=n(w.Sa(C,2),4);break;default:w="imm("+t(r)+")";break a}8086==w.style&&r&64?y="["+y+"]":r&16||(y=(w.style==we?"$":"0x")+y);w=y}else r&
16?(w=(q&3840)>>8,r=De[w],8086==a.style&&q&64&&(6==w&&(r="HL"),r="["+r+"]"),w=r):r&128&&(w=(f>>3&7).toString());if(!w||!w.length){g="INVALID";break}0<g.length&&(g+=",");g+=w||"???"}}}f="";h=X(e.G)+" ";if(-1!==e.G&&-1!==b.G){do if(f+=n(a.aa(e,1),2),null==e.G)break;while(e.G!=b.G)}h+=ka(f,10);h=h+(q&32768?"*":" ")+ka(k,7);g&&(h+=" "+g);c&&(h=ka(h,40)+";"+c,h=a.b.D.mb?h+("cycles="+Dc(a.b).toString()+" cs="+n(a.b.i.Bb)):h+(null!=d?"="+d.toString():""));return h} 16?(w=(q&3840)>>8,r=De[w],8086==a.style&&q&64&&(6==w&&(r="HL"),r="["+r+"]"),w=r):r&128&&(w=(f>>3&7).toString());if(!w||!w.length){g="INVALID";break}0<g.length&&(g+=",");g+=w||"???"}}}f="";h=Z(e.G)+" ";if(-1!==e.G&&-1!==b.G){do if(f+=n(a.aa(e,1),2),null==e.G)break;while(e.G!=b.G)}h+=ka(f,10);h=h+(q&32768?"*":" ")+ka(k,7);g&&(h+=" "+g);c&&(h=ka(h,40)+";"+c,h=a.b.D.mb?h+("cycles="+Ec(a.b).toString()+" cs="+n(a.b.i.Bb)):h+(null!=d?"="+d.toString():""));return h}
function Cf(a,b){var c;switch(b){case "IF":c=a.b.wa&512;break;case "SF":c=bd(a.b);break;case "ZF":c=ad(a.b);break;case "AF":c=$c(a.b);break;case "PF":c=Zc(a.b);break;case "CF":c=Xc(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function Df(a,b){return De[b]+"="+Se(a,b)+" "}function Ef(a){return Df(a,7)+Df(a,8)+Df(a,9)+Df(a,10)+Df(a,11)+Cf(a,"IF")+Cf(a,"SF")+Cf(a,"ZF")+Cf(a,"AF")+Cf(a,"PF")+Cf(a,"CF")} function Cf(a,b){var c;switch(b){case "IF":c=a.b.wa&512;break;case "SF":c=bd(a.b);break;case "ZF":c=ad(a.b);break;case "AF":c=$c(a.b);break;case "PF":c=Zc(a.b);break;case "CF":c=Xc(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function Df(a,b){return De[b]+"="+Se(a,b)+" "}function Ef(a){return Df(a,7)+Df(a,8)+Df(a,9)+Df(a,10)+Df(a,11)+Cf(a,"IF")+Cf(a,"SF")+Cf(a,"ZF")+Cf(a,"AF")+Cf(a,"PF")+Cf(a,"CF")}
var Ff={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; var Ff={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Gf(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 Gf(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 Ne(a,b,c){var d;if(b){b=Me(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=la(p);if(!p){f=!0;break}p=Hf(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++],v=p.length;k.length&&Ff[p]<Ff[k[k.length-1]]&&Gf(g,k,1);k.push(p);b=b.substr(q+v)}Gf(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&If(a,null, function Ne(a,b,c){var d;if(b){b=Me(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=la(p);if(!p){f=!0;break}p=Hf(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++],v=p.length;k.length&&Ff[p]<Ff[k[k.length-1]]&&Gf(g,k,1);k.push(p);b=b.substr(q+v)}Gf(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&If(a,null,
d))}return d}function Me(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Ne(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?n(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Ie(a,c[1]),b=b.replace("["+c[1]+"]",d?n(a.Sa(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.ba-a.za}if(null==e)break;c=c.replace(d[0],e.toString())}return c} d))}return d}function Me(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Ne(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?n(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Ie(a,c[1]),b=b.replace("["+c[1]+"]",d?n(a.Sa(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.ba-a.za}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function Hf(a,b,c,d){var e;void 0!==b?(e=Re(b),0<=e?e=Te(a,e):(e=a.ga[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 Hf(a,b,c,d){var e;void 0!==b?(e=Re(b),0<=e?e=Te(a,e):(e=a.ga[b],void 0===e&&(e=ca(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
function If(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 Jf(a,b){if(b)return If(a,b,a.ga[b]);var c=0;for(b in a.ga)If(a,b,a.ga[b]),c++;return 0<c}ve.prototype.Za=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function If(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 Jf(a,b){if(b)return If(a,b,a.ga[b]);var c=0;for(b in a.ga)If(a,b,a.ga[b]),c++;return 0<c}ve.prototype.Za=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Kf(a,b,c){var d=[],e=He(b)>>>0;for(b=0;b<a.H.length;b++){var f=a.H[b],h=f.G>>>0,g=f.Gd;if(e>=h&&e<h+g){e=na(f.sc,[e-h],a.Za);0<=e?Lf(a,b,e,d):c&&(e=~e,Lf(a,b,e-1,d),Lf(a,b,e,d));break}}return d}function Lf(a,b,c,d){var e={},f=a.H[b].sc,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.H[b].Ra[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)} function Kf(a,b,c){var d=[],e=He(b)>>>0;for(b=0;b<a.H.length;b++){var f=a.H[b],h=f.G>>>0,g=f.Gd;if(e>=h&&e<h+g){e=na(f.sc,[e-h],a.Za);0<=e?Lf(a,b,e,d):c&&(e=~e,Lf(a,b,e-1,d),Lf(a,b,e,d));break}}return d}function Lf(a,b,c,d){var e={},f=a.H[b].sc,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.H[b].Ra[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
function Mf(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?Be:Ce;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Na[h][0]]+" ").substr(0,5)+" ("+da(h)+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}} function Mf(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?Be:Ce;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Na[h][0]]+" ").substr(0,5)+" ("+da(h)+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}}
function Nf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Jf(a)||a.g("no variables"),!0;if(!c[2])return Jf(a,c[1]);if(!c[3])return delete a.ga[c[1]],!0;var d=Ne(a,c[3]);return void 0!==d?(a.ga[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1} function Nf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Jf(a)||a.g("no variables"),!0;if(!c[2])return Jf(a,c[1]);if(!c[3])return delete a.ga[c[1]],!0;var d=Ne(a,c[3]);return void 0!==d?(a.ga[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1}
function Of(a,b,c){var d=null;if(b=Ie(a,b,!0)){var e=Kf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.G-e[1])&&(h=" + "+t(f)),f=e[0]+" ("+X(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.G)&&(h=" - "+t(f)),f=e[4]+" ("+X(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d} function Of(a,b,c){var d=null;if(b=Ie(a,b,!0)){var e=Kf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.G-e[1])&&(h=" + "+t(f)),f=e[0]+" ("+Z(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.G)&&(h=" - "+t(f)),f=e[4]+" ("+Z(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
function Pf(a,b){switch(b[1]){case "8080":a.style=we;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.pb=c;break;case "start":a.b.i.Cb=c;break;case "stop":a.b.i.rb=c;break;default:a.g("unknown cs option");return}void 0!==c&&mc(a.b);a.g("checksums "+(a.b.D.mb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Ec(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.cb.toFixed(2)+"Mhz")+ function Pf(a,b){switch(b[1]){case "8080":a.style=we;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.pb=c;break;case "start":a.b.i.Cb=c;break;case "stop":a.b.i.rb=c;break;default:a.g("unknown cs option");return}void 0!==c&&nc(a.b);a.g("checksums "+(a.b.D.mb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Fc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.cb.toFixed(2)+"Mhz")+
" ("+a.b.i.Ta+"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.Ta+"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 We(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=Ne(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.T=g&255;break;case "BC":d.T=g>>8&255;case "C":d.U=g&255;break;case "D":d.V= function We(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=Ne(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.T=g&255;break;case "BC":d.T=g>>8&255;case "C":d.U=g&255;break;case "D":d.V=
g&255;break;case "DE":d.V=g>>8&255;case "E":d.W=g&255;break;case "H":d.X=g&255;break;case "HL":d.X=g>>8&255;case "L":d.Z=g&255;break;case "SP":d.la=g&65535;break;case "PC":H(d,g);a.O=W(d.R);break;case "PS":Oc(d,g);break;case "PSW":Oc(d,g&255|d.wa&-256);d.j=g>>8;break;case "CF":d.ca=g?d.ca|256:d.ca&255;break;case "PF":g?Zc(d)||(d.fa^=1):Zc(d)&&(d.fa^=1);break;case "AF":d.xa=g?~d.fa&16|d.xa&-17:d.fa&16|d.xa&-17;break;case "ZF":d.ca=g?d.ca&-256:d.ca|255;break;case "SF":g?bd(d)||(d.fa^=192):bd(d)&&(d.fa^= g&255;break;case "DE":d.V=g>>8&255;case "E":d.W=g&255;break;case "H":d.X=g&255;break;case "HL":d.X=g>>8&255;case "L":d.Z=g&255;break;case "SP":d.la=g&65535;break;case "PC":G(d,g);a.O=W(d.R);break;case "PS":Pc(d,g);break;case "PSW":Pc(d,g&255|d.wa&-256);d.j=g>>8;break;case "CF":d.ca=g?d.ca|256:d.ca&255;break;case "PF":g?Zc(d)||(d.fa^=1):Zc(d)&&(d.fa^=1);break;case "AF":d.xa=g?~d.fa&16|d.xa&-17:d.fa&16|d.xa&-17;break;case "ZF":d.ca=g?d.ca&-256:d.ca|255;break;case "SF":g?bd(d)||(d.fa^=192):bd(d)&&(d.fa^=
192);break;case "IF":d.wa=g?d.wa|512:d.wa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}oc(d);a.g("updated registers:")}a.g(Ef(a));c&&(a.O=W(d.R),vf(a,X(a.O.G)))}}function Qf(a,b){b=la(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Ue(a,c[2])):Ne(a,b,!0)}function Rf(a,b,c){var d="t"!=b;c=Hf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return jb(a,!0)&&a.ub(e,d,!1)},function(){oc(a.b);jb(a,!1)})} 192);break;case "IF":d.wa=g?d.wa|512:d.wa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}pc(d);a.g("updated registers:")}a.g(Ef(a));c&&(a.O=W(d.R),vf(a,Z(a.O.G)))}}function Qf(a,b){b=la(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Ue(a,c[2])):Ne(a,b,!0)}function Rf(a,b,c){var d="t"!=b;c=Hf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return kb(a,!0)&&a.ub(e,d,!1)},function(){pc(a.b);kb(a,!1)})}
function vf(a,b,c,d){if(b=Ie(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ie(a,c,!0);if(!d||d.G<b.G)return;e=d.G-b.G;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=kb(a,!1)||a.S?a.L:null;var h=null!=f?"cycles":null,g=Kf(a,b),k=b.G;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=Bf(a,b,h,f);a.g(f);a.O=b;e-=b.G-k;c++}}} function vf(a,b,c,d){if(b=Ie(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ie(a,c,!0);if(!d||d.G<b.G)return;e=d.G-b.G;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=lb(a,!1)||a.S?a.L:null;var h=null!=f?"cycles":null,g=Kf(a,b),k=b.G;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=Bf(a,b,h,f);a.g(f);a.O=b;e-=b.G-k;c++}}}
function Pe(a,b,c,d){if(c)if(b){0>a.F&&a.B.length&&(a.F=0);if(0>a.F||b!=a.B[a.F])a.B.splice(0,0,b),a.F=0;a.F--}else a.ea?b="end":b=a.B[a.F+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(la(b.substring(c,f))),c=f+1}}return a} function Pe(a,b,c,d){if(c)if(b){0>a.F&&a.B.length&&(a.F=0);if(0>a.F||b!=a.B[a.F])a.B.splice(0,0,b),a.F=0;a.F--}else a.ea?b="end":b=a.B[a.F+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(la(b.substring(c,f))),c=f+1}}return a}
function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ea&&(a.g("ended assemble at "+X(a.da.G)),a.O=a.da,a.ea=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ra=null;if(lb(a)&&0<b.length){a.ea&&(b="a "+X(a.da.G)+" "+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=Ie(a,f[1],!0);if(p)if(a.da= function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ea&&(a.g("ended assemble at "+Z(a.da.G)),a.O=a.da,a.ea=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ra=null;if(mb(a)&&0<b.length){a.ea&&(b="a "+Z(a.da.G)+" "+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=Ie(a,f[1],!0);if(p)if(a.da=
p,void 0===f[2])a.g("begin assemble at "+X(p.G)),a.ea=!0,oc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var v=0;v<q.length;v++)a.ta(p,q[v],1);a.g(Bf(a,a.da))}}break;case "b":a:{var w=f[0],r=f[1],C=b;if("?"==r)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 "+Z(p.G)),a.ea=!0,pc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var v=0;v<q.length;v++)a.ta(p,q[v],1);a.g(Bf(a,a.da))}}break;case "b":a:{var w=f[0],r=f[1],C=b;if("?"==r)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 y=w.charAt(1);if("l"==y){var Y=0,Y=Y+zf(a,a.u),Y=Y+zf(a,a.P);(Y+=zf(a,a.J))||a.g("no breakpoints")}else if("n"==y)a.qa=Hf(a,r),a.g("break after "+a.qa+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var A=W();if("*"!=r&&(A=Ie(a,r,!0),!A))break a;r=t(A.G);"c"==y?null==A.G?(xe(a),a.g("all breakpoints cleared")):xf(a,a.u,A)||xf(a,a.P,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 y=w.charAt(1);if("l"==y){var X=0,X=X+zf(a,a.u),X=X+zf(a,a.P);(X+=zf(a,a.J))||a.g("no breakpoints")}else if("n"==y)a.qa=Hf(a,r),a.g("break after "+a.qa+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var A=W();if("*"!=r&&(A=Ie(a,r,!0),!A))break a;r=t(A.G);"c"==y?null==A.G?(xe(a),a.g("all breakpoints cleared")):xf(a,a.u,A)||xf(a,a.P,A)||
xf(a,a.J,A)||a.g("breakpoint missing: "+X(A.G)):"i"==y?a.g("breakpoint "+(Cb(a.w,A.G)?"enabled":"cleared")+": port "+r+" (input)"):"o"==y?a.g("breakpoint "+(Gb(a.w,A.G)?"enabled":"cleared")+": port "+r+" (output)"):null!=A.G&&(Oe(a,A,C),"p"==y?a.$a(a.u,A):"r"==y?a.$a(a.P,A):"w"==y?a.$a(a.J,A):a.g("unknown breakpoint command: "+y))}}}break;case "c":a.Fa&&(a.Fa.value="");break;case "d":a:{var Q,ba=f[0],Z=f[1],wa=f[2],Ib=f[3];if("?"==Z){var Fa="";for(Q in Fe)a.Ca[Q]&&(Fa&&(Fa+=","),Fa+=Q);Fa+=",state,symbols"; xf(a,a.J,A)||a.g("breakpoint missing: "+Z(A.G)):"i"==y?a.g("breakpoint "+(Db(a.w,A.G)?"enabled":"cleared")+": port "+r+" (input)"):"o"==y?a.g("breakpoint "+(Hb(a.w,A.G)?"enabled":"cleared")+": port "+r+" (output)"):null!=A.G&&(Oe(a,A,C),"p"==y?a.$a(a.u,A):"r"==y?a.$a(a.P,A):"w"==y?a.$a(a.J,A):a.g("unknown breakpoint command: "+y))}}}break;case "c":a.Fa&&(a.Fa.value="");break;case "d":a:{var Q,aa=f[0],Y=f[1],va=f[2],Ib=f[3];if("?"==Y){var Fa="";for(Q in Fe)a.Ca[Q]&&(Fa&&(Fa+=","),Fa+=Q);Fa+=",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");Fa.length&&a.g("dump extension commands:\n\t"+Fa)}else if("state"==Z){var Xe=Sf(a.A,!0);"console"==wa?console.log(Xe):(a.Fa&&(a.Fa.value=""),a.g(Xe))}else if("symbols"==Z)for(var hd=0;hd<a.H.length;hd++){var id=a.H[hd],pb;for(pb in id.Ra)if("."!=pb.charAt(0)){var Ye=id.Ra[pb].o; 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");Fa.length&&a.g("dump extension commands:\n\t"+Fa)}else if("state"==Y){var Xe=Sf(a.A,!0);"console"==va?console.log(Xe):(a.Fa&&(a.Fa.value=""),a.g(Xe))}else if("symbols"==Y)for(var id=0;id<a.H.length;id++){var jd=a.H[id],pb;for(pb in jd.Ra)if("."!=pb.charAt(0)){var Ye=jd.Ra[pb].o;
if(void 0!==Ye){var Ze=id.Ra[pb].l;Ze&&(pb=Ze);a.g(X(Ye)+" "+pb)}}}else{if("d"==ba){for(Q in Fe)if(f[1]==Q){var $e=a.Ca[Q];$e?(f.shift(),f.shift(),$e(f)):a.g("no dump registered for "+Z);break a}Z||(ba=a.Ab||"db")}else a.Ab=ba;if("dh"==ba){var af=Z,bf=wa,cf="",df=0,ca=a.ha,Ga=a.M;if(Ga.length){var ha=+af||a.jb,qb=+bf||10;isNaN(ha)?ha=qb:cf="more ";ha>Ga.length&&(a.g("note: only "+Ga.length+" available"),ha=Ga.length);ca-=ha;0>ca&&(null==Ga[Ga.length-1].G?(ha=ca+ha,ca=0):ca+=Ga.length);var jd=[];"call"== if(void 0!==Ye){var Ze=jd.Ra[pb].l;Ze&&(pb=Ze);a.g(Z(Ye)+" "+pb)}}}else{if("d"==aa){for(Q in Fe)if(f[1]==Q){var $e=a.Ca[Q];$e?(f.shift(),f.shift(),$e(f)):a.g("no dump registered for "+Y);break a}Y||(aa=a.Ab||"db")}else a.Ab=aa;if("dh"==aa){var af=Y,bf=va,cf="",df=0,ba=a.ha,Ga=a.M;if(Ga.length){var ha=+af||a.jb,qb=+bf||10;isNaN(ha)?ha=qb:cf="more ";ha>Ga.length&&(a.g("note: only "+Ga.length+" available"),ha=Ga.length);ba-=ha;0>ba&&(null==Ga[Ga.length-1].G?(ha=ba+ha,ba=0):ba+=Ga.length);var kd=[];"call"==
bf&&(qb=1E5,jd=["CALL"]);for(void 0!==af&&a.g(ha+" instructions earlier:");0<qb&&ca!=a.ha;){var ef=Ga[ca++];if(null==ef.G)break;var Mb=W(ef.G),lg=ha--,ff=Bf(a,Mb,"history",lg);(!jd.length||0<=ff.indexOf(jd[0]))&&a.g(ff);Mb.Vb&&(ca+=Mb.Vb,qb-=Mb.Vb,ha-=Mb.Vb);ca>=Ga.length&&(ca=0);a.jb=ha;df++;qb--}}df||(a.g("no "+cf+"history available"),a.jb=void 0)}else{var qc=Ie(a,Z);if(qc){var rc=0;wa&&("l"==wa.charAt(0)&&(wa=wa.substr(1)||Ib),rc=Hf(a,wa)>>>0,65536<rc&&(rc=65536));for(var Za="",sc="dd"==ba?4:"dw"== bf&&(qb=1E5,kd=["CALL"]);for(void 0!==af&&a.g(ha+" instructions earlier:");0<qb&&ba!=a.ha;){var ef=Ga[ba++];if(null==ef.G)break;var Mb=W(ef.G),lg=ha--,ff=Bf(a,Mb,"history",lg);(!kd.length||0<=ff.indexOf(kd[0]))&&a.g(ff);Mb.Ub&&(ba+=Mb.Ub,qb-=Mb.Ub,ha-=Mb.Ub);ba>=Ga.length&&(ba=0);a.jb=ha;df++;qb--}}df||(a.g("no "+cf+"history available"),a.jb=void 0)}else{var qc=Ie(a,Y);if(qc){var rc=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||Ib),rc=Hf(a,va)>>>0,65536<rc&&(rc=65536));for(var Za="",sc="dd"==aa?4:"dw"==
ba?2:1,tc=sc*rc||128,mg=tc+15>>4||1;mg--&&0<tc;){var uc=0,kd=0,Nb,Ob="",ld="",Z=X(qc.G);for(Nb=16;0<Nb&&0<tc;Nb--){var vc=a.aa(qc,1),uc=uc|vc<<(kd++<<3);kd==sc&&(Ob+=n(uc,2*sc),Ob+=1==sc?9==Nb?"-":" ":" ",uc=kd=0);ld+=32<=vc&&128>vc?String.fromCharCode(vc):".";tc--}Za&&(Za+="\n");Za+=Z+" "+Ob+(0==Nb?" "+ld:"")}Za&&a.g(Za);a.ab=qc}}}}break;case "e":if("else"==f[0])break;var wc=1,gf=255,hf=a.aa,jf=a.ta;"ew"==f[0]&&(wc=2,gf=65535,hf=a.Sa,jf=a.Ub);var kf=wc<<1,lf=f[1];if(null==lf)a.g("edit memory commands:"), aa?2:1,tc=sc*rc||128,mg=tc+15>>4||1;mg--&&0<tc;){var uc=0,ld=0,Nb,Ob="",md="",Y=Z(qc.G);for(Nb=16;0<Nb&&0<tc;Nb--){var vc=a.aa(qc,1),uc=uc|vc<<(ld++<<3);ld==sc&&(Ob+=n(uc,2*sc),Ob+=1==sc?9==Nb?"-":" ":" ",uc=ld=0);md+=32<=vc&&128>vc?String.fromCharCode(vc):".";tc--}Za&&(Za+="\n");Za+=Y+" "+Ob+(0==Nb?" "+md:"")}Za&&a.g(Za);a.ab=qc}}}}break;case "e":if("else"==f[0])break;var wc=1,gf=255,hf=a.aa,jf=a.ta;"ew"==f[0]&&(wc=2,gf=65535,hf=a.Sa,jf=a.Tb);var kf=wc<<1,lf=f[1];if(null==lf)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 xc=Ie(a,lf);if(xc)for(var yc=2;yc<f.length;yc++){var Pb=Ne(a,f[yc]);if(void 0===Pb){a.g("unrecognized value: "+f[yc]);break}Pb&~gf&&a.g("warning: "+n(Pb)+" exceeds "+wc+"-byte value");var ng=hf.call(a,xc);a.g("changing "+X(xc.G)+" from 0x"+n(ng,kf)+" to 0x"+n(Pb,kf));jf.call(a,xc,Pb,wc)}}break;case "f":Mf(a,f[1]);break;case "g":a:{var mf=f[1],og=b;if(void 0!==mf){var md=Ie(a,mf,!0);if(!md)break a; a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var xc=Ie(a,lf);if(xc)for(var yc=2;yc<f.length;yc++){var Pb=Ne(a,f[yc]);if(void 0===Pb){a.g("unrecognized value: "+f[yc]);break}Pb&~gf&&a.g("warning: "+n(Pb)+" exceeds "+wc+"-byte value");var ng=hf.call(a,xc);a.g("changing "+Z(xc.G)+" from 0x"+n(ng,kf)+" to 0x"+n(Pb,kf));jf.call(a,xc,Pb,wc)}}break;case "f":Mf(a,f[1]);break;case "g":a:{var mf=f[1],og=b;if(void 0!==mf){var nd=Ie(a,mf,!0);if(!nd)break a;
Oe(a,md,og);a.$a(a.u,md,!0)}a.gb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var nd;if(a.D.ya)nd="halting",a.na();else{if(kb(a,!0))break a;nd="already halted"}c||a.g(nd)}break;case "i":if("if"==f[0]){var od;var Qb=b.substr(2),Qb=la(Qb);Ne(a,Qb)?(c||a.g("true: "+Qb),od=!0):(c||a.g("false: "+Qb),od=!1);od||(d=!1);break}if("int"==f[0]){var zc;var pg=f[1];if(a.b.wa&512){var pd=Ne(a,pg);null==pd?zc=!1:(a.g("requesting interrupt level "+pd),Dd(a.b,pd),zc=!0)}else a.g("interrupts disabled (use rif=1 to enable)"), Oe(a,nd,og);a.$a(a.u,nd,!0)}a.gb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var od;if(a.D.ya)od="halting",a.na();else{if(lb(a,!0))break a;od="already halted"}c||a.g(od)}break;case "i":if("if"==f[0]){var pd;var Qb=b.substr(2),Qb=la(Qb);Ne(a,Qb)?(c||a.g("true: "+Qb),pd=!0):(c||a.g("false: "+Qb),pd=!1);pd||(d=!1);break}if("int"==f[0]){var zc;var pg=f[1];if(a.b.wa&512){var qd=Ne(a,pg);null==qd?zc=!1:(a.g("requesting interrupt level "+qd),Dd(a.b,qd),zc=!0)}else a.g("interrupts disabled (use rif=1 to enable)"),
zc=!1;zc||(d=!1);break}var qd=f[1];if(qd&&"?"!=qd){var rd=Hf(a,qd);if(void 0!==rd){var qg=Eb(a.w,rd);a.g(t(rd)+": "+da(qg))}}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 rg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var sd=0,nf=W(),Rb=W(a.b.la);for(a.g("stack trace for "+X(Rb.G));10>sd;){for(var $a=null,sg=256;65536>Rb.G>>>0;){nf.G= zc=!1;zc||(d=!1);break}var rd=f[1];if(rd&&"?"!=rd){var sd=Hf(a,rd);if(void 0!==sd){var qg=Fb(a.w,sd);a.g(t(sd)+": "+da(qg))}}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 rg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var td=0,nf=W(),Rb=W(a.b.la);for(a.g("stack trace for "+Z(Rb.G));10>td;){for(var $a=null,sg=256;65536>Rb.G>>>0;){nf.G=
a.Sa(Rb,2);if(null==Rb.G||!sg--)break;for(var tg=a,Ac=nf,of=null,Sb=Ac.G,pf=Sb,td=1;6>=td&&Sb;td++){if(2<td){Ac.G=Sb;var Bc=Bf(tg,Ac);if(0<=Bc.indexOf("CALL")){var qf=Bc.indexOf(" ");if(Sb+(Bc.indexOf(" ",qf+1)-qf-1)/2==pf){of=Bc;break}}}Sb--}Ac.G=pf;if($a=of)break}if(!$a||null==$a)break;var rf=null;if("ks"==rg){var sf=$a.match(/[0-9A-F]+$/);sf&&(rf=Of(a,sf[0]))}$a=ka($a,50)+" ;"+(rf||"stack="+X(Rb.G));a.g($a);sd++}sd||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Of(a,f[1],!0); a.Sa(Rb,2);if(null==Rb.G||!sg--)break;for(var tg=a,Ac=nf,of=null,Sb=Ac.G,pf=Sb,ud=1;6>=ud&&Sb;ud++){if(2<ud){Ac.G=Sb;var Bc=Bf(tg,Ac);if(0<=Bc.indexOf("CALL")){var qf=Bc.indexOf(" ");if(Sb+(Bc.indexOf(" ",qf+1)-qf-1)/2==pf){of=Bc;break}}}Sb--}Ac.G=pf;if($a=of)break}if(!$a||null==$a)break;var rf=null;if("ks"==rg){var sf=$a.match(/[0-9A-F]+$/);sf&&(rf=Of(a,sf[0]))}$a=ka($a,50)+" ;"+(rf||"stack="+Z(Rb.G));a.g($a);td++}td||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Of(a,f[1],!0);
break}break;case "m":a:{var Ha,Ia=null,N=f[1];"?"==N&&(N=void 0);if(void 0!==N){var Ra=0;if("all"==N)Ra=1878917119,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Fe)if(N==Ha){Ra=Fe[Ha];Ia=!!(a.sa&Ra);break}if(!Ra){a.g("unknown message category: "+N);break a}}if(Ra)if("on"==f[2])a.sa|=Ra,Ia=!0;else if("off"==f[2]&&(a.sa&=~Ra,Ia=!1,1073741824==Ra)){for(var ud=0;ud<a.ua.length;ud++)a.g(a.ua[ud]);a.ua=[]}}var ug=0,Sa="";for(Ha in Fe)if(!N|| break}break;case "m":a:{var Ha,Ia=null,N=f[1];"?"==N&&(N=void 0);if(void 0!==N){var Ra=0;if("all"==N)Ra=1878917119,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in Fe)if(N==Ha){Ra=Fe[Ha];Ia=!!(a.sa&Ra);break}if(!Ra){a.g("unknown message category: "+N);break a}}if(Ra)if("on"==f[2])a.sa|=Ra,Ia=!0;else if("off"==f[2]&&(a.sa&=~Ra,Ia=!1,1073741824==Ra)){for(var vd=0;vd<a.ua.length;vd++)a.g(a.ua[vd]);a.ua=[]}}var ug=0,Sa="";for(Ha in Fe)if(!N||
N==Ha){var vg=!!(a.sa&Fe[Ha]);if(null===Ia||Ia==vg)Sa&&(Sa+=","),++ug%10||(Sa+="\n\t"),"key"==Ha&&(Ha="keys"),Sa+=Ha}void 0===N&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+(Sa||"none"));ye(a)}break;case "o":var vd=f[1],wg=f[2];if(vd&&"?"!=vd){var wd=Hf(a,vd,"port #"),xd=Hf(a,wg);void 0!==wd&&void 0!==xd&&(Jb(a.w,wd,xd),a.g(t(wd)+": "+da(xd)))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"), N==Ha){var vg=!!(a.sa&Fe[Ha]);if(null===Ia||Ia==vg)Sa&&(Sa+=","),++ug%10||(Sa+="\n\t"),"key"==Ha&&(Ha="keys"),Sa+=Ha}void 0===N&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+(Sa||"none"));ye(a)}break;case "o":var wd=f[1],wg=f[2];if(wd&&"?"!=wd){var xd=Hf(a,wd,"port #"),yd=Hf(a,wg);void 0!==xd&&void 0!==yd&&(Kb(a.w,xd,yd),a.g(t(xd)+": "+da(yd)))}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]){Qf(a,b.substr(5));break}var tf="pr"==f[0]?1:0,xg=1+tf;if(a.S)a.g("step in progress");else{var yd=W(a.b.R);switch(a.aa(yd)){case 205:a.S=xg,Je(yd,3)}a.S?(a.$a(a.u,yd,!0),a.gb()||(a.A&&a.A.hb(),a.S=0)):Rf(a,tf?"tr":"t")}break;case "r":if("reset"==b){a.A&&a.A.reset();break}We(a,f);break;case "s":Pf(a,f);break;case "t":Rf(a,f[0],f[1]);break;case "u":vf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Nf(a,b.substr(3))|| a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){Qf(a,b.substr(5));break}var tf="pr"==f[0]?1:0,xg=1+tf;if(a.S)a.g("step in progress");else{var zd=W(a.b.R);switch(a.aa(zd)){case 205:a.S=xg,Je(zd,3)}a.S?(a.$a(a.u,zd,!0),a.gb()||(a.A&&a.A.hb(),a.S=0)):Rf(a,tf?"tr":"t")}break;case "r":if("reset"==b){a.A&&a.A.reset();break}We(a,f);break;case "s":Pf(a,f);break;case "t":Rf(a,f[0],f[1]);break;case "u":vf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Nf(a,b.substr(3))||
(d=!1);break}a.g("PC8080 version 1.23.3 ("+a.b.Bc+",RELEASE"+(nb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ta());break;case "?":if(f[1]){Qf(a,b.substr(1));break}var Tb="commands:",zd;for(zd in Ae)Tb+="\n"+ka(zd,9)+Ae[zd];Ed(a)||(Tb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Tb);break;default:a.g("unknown command: "+b),d=!1}}}catch(uf){a.g("debugger error: "+(uf.stack||uf.message)),d=!1}return d}function nc(a,b,c){b=Pe(a,b,c);for(var d in b)if(!Af(a,b[d]))return!1;return!0} (d=!1);break}a.g("PC8080 version 1.23.3 ("+a.b.Bc+",RELEASE"+(ob?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ta());break;case "?":if(f[1]){Qf(a,b.substr(1));break}var Tb="commands:",Ad;for(Ad in Ae)Tb+="\n"+ka(Ad,9)+Ae[Ad];Ed(a)||(Tb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Tb);break;default:a.g("unknown command: "+b),d=!1}}}catch(uf){a.g("debugger error: "+(uf.stack||uf.message)),d=!1}return d}function oc(a,b,c){b=Pe(a,b,c);for(var d in b)if(!Af(a,b[d]))return!1;return!0}
La(function(){for(var a=B(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ve(d);gb(d,c)}});function Rc(a,b,c){this.id=a.id;this.key=Tf(a,b,c);this.I=a.I;Uf(this,a.Ic)}function Tf(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} La(function(){for(var a=B(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ve(d);gb(d,c)}});function H(a,b,c){this.id=a.id;this.key=Tf(a,b,c);this.I=a.I;Uf(this,a.Ic)}function Tf(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}
Rc.prototype={constructor:Rc,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){Uf(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}}}; H.prototype={constructor:H,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){Uf(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 Uf(a,b){a[a.id]={};b&&I(a,"parms",b);a.b=!1}function Vf(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Wf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Xf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:xa()&&(b=ya(a.key))?(a[a.id]=b,a.b=!0):!1}function Yf(a,b){return a[a.id][b]||null}function I(a,b,c){try{a[a.id][b]=c}catch(d){}} function Uf(a,b){a[a.id]={};b&&I(a,"parms",b);a.b=!1}function Vf(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Wf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Xf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:xa()&&(b=ya(a.key))?(a[a.id]=b,a.b=!0):!1}function Yf(a,b){return a[a.id][b]||null}function I(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Zf(a,b,c){x.call(this,"Computer",a,Zf,67108864);this.D.va=!1;$f(this,b);this.S=kc(this,"autoPower",a);this.B=0;this.ga=a.busWidth||a.buswidth;this.A=ag;this.O=null;this.K=this.ea=!1;this.ha=kc(this,"url")||"";(Math.random()+.1).toString(36);this.u=bg(this);if(this.b=fb("CPU",this.id)){this.I=fb("Debugger",this.id);this.H=[];for(b=null;b=sb(this,"Video",b);)this.H.push(b);this.w=new ub({id:this.Yb+".bus",busWidth:this.ga},this.b,this.I);var d,e=db(this.id);if((this.F=fb("Panel",this.id))&& function Zf(a,b,c){x.call(this,"Computer",a,Zf,67108864);this.D.va=!1;$f(this,b);this.S=lc(this,"autoPower",a);this.B=0;this.ga=a.busWidth||a.buswidth;this.A=ag;this.O=null;this.K=this.ea=!1;this.ha=lc(this,"url")||"";(Math.random()+.1).toString(36);this.u=bg(this);if(this.b=fb("CPU",this.id)){this.I=fb("Debugger",this.id);this.H=[];for(b=null;b=tb(this,"Video",b);)this.H.push(b);this.w=new vb({id:this.Xb+".bus",busWidth:this.ga},this.b,this.I);var d,e=db(this.id);if((this.F=fb("Panel",this.id))&&
this.F.Fa)for(b=0;b<e.length;b++)d=e[b],d.ja=this.F.ja,d.g=this.F.g,d.Fa=this.F.Fa;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.Qa&&d.Qa(this,this.w,this.b,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.M=d:this.A=parseInt(d,10));var f;if(a=kc(this,"state")||(f=!0,a.state))b=this.ba=a,f||(this.K=!0,this.A=ag),this.A&&(this.P=new Rc(this,"1.23.3"),Xf(this.P)? this.F.Fa)for(b=0;b<e.length;b++)d=e[b],d.ja=this.F.ja,d.g=this.F.g,d.Fa=this.F.Fa;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.Qa&&d.Qa(this,this.w,this.b,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.M=d:this.A=parseInt(d,10));var f;if(a=lc(this,"state")||(f=!0,a.state))b=this.ba=a,f||(this.K=!0,this.A=ag),this.A&&(this.P=new H(this,"1.23.3"),Xf(this.P)?
b=null:delete this.P);!b&&this.A&&(b=cg(this))&&(this.K=!0);if(b){var h=this;ra(b,null,!0,function(a,b,c){c?(h.M=null,h.K=!1,h.ja("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):(h.O=b,h.ea=!0);F(h)})}else F(this);this.N.power||(this.S=!0);!c&&this.S&&dg(this,this.Gb)}else u("Unable to find CPU component")}ab(Zf);var ag=0;function $f(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.L=b} b=null:delete this.P);!b&&this.A&&(b=cg(this))&&(this.K=!0);if(b){var h=this;ra(b,null,!0,function(a,b,c){c?(h.M=null,h.K=!1,h.ja("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):(h.O=b,h.ea=!0);E(h)})}else E(this);this.N.power||(this.S=!0);!c&&this.S&&dg(this,this.Gb)}else u("Unable to find CPU component")}ab(Zf);var ag=0;function $f(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.L=b}
function kc(a,b,c){var d=b.toLowerCase(),d=Ua[b]||Ua[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 dg(a,b,c){for(var d=db(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!lb(f)){lb(f,function(){dg(a,b,c)});return}}b.call(a,c)} function lc(a,b,c){var d=b.toLowerCase(),d=Ua[b]||Ua[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 dg(a,b,c){for(var d=db(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!mb(f)){mb(f,function(){dg(a,b,c)});return}}b.call(a,c)}
function eg(a,b){var c=new Rc(a,"1.23.3","validate");if(Xf(c)&&Wf(c)){var d=Yf(c,"timestamp"),e=b?Yf(b,"timestamp"):"unknown";d!=e&&(a.ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Zf.prototype; function eg(a,b){var c=new H(a,"1.23.3","validate");if(Xf(c)&&Wf(c)){var d=Yf(c,"timestamp"),e=b?Yf(b,"timestamp"):"unknown";d!=e&&(a.ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Zf.prototype;
m.Gb=function(a){void 0===a&&(a=this.A||(this.O?1:ag));if(!this.B){this.B++;var b=!1,c=!1;this.da=!1;var d=this.P||new Rc(this,"1.23.3");if(-1==a)b=!0;else if(a>ag){if(Xf(d,this.O)){this.J=new Rc(this,"1.23.3","failsafe");Xf(this.J)&&(fg(this,d),a=2,Uf(this.J));I(this.J,"timestamp",pa());Vf(this.J);var e=this.A&&!this.K;if(1==a||ua("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Wf(d)){var f=Yf(d,"code"),h=Yf(d,"data");f&&("ok"==f?Xf(d,h):("error"== m.Gb=function(a){void 0===a&&(a=this.A||(this.O?1:ag));if(!this.B){this.B++;var b=!1,c=!1;this.da=!1;var d=this.P||new H(this,"1.23.3");if(-1==a)b=!0;else if(a>ag){if(Xf(d,this.O)){this.J=new H(this,"1.23.3","failsafe");Xf(this.J)&&(fg(this,d),a=2,Uf(this.J));I(this.J,"timestamp",pa());Vf(this.J);var e=this.A&&!this.K;if(1==a||ua("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Wf(d)){var f=Yf(d,"code"),h=Yf(d,"data");f&&("ok"==f?Xf(d,h):("error"==f&&
f&&"no machine state"!=h?(this.ja("Error: "+h),"unable to verify user"==h&&(za("user",""),this.u=null)):this.g(f+": "+h),Uf(d),Xf(d)?(c=Wf(d),e=!0):c=!1))}e&&eg(this,c?d:null)}else 2==a&&d.clear()}else eg(this);delete this.O;delete this.P}e=db(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=gg(this,h,d,b,c));b=[d,a,c];-1!=a?dg(this,this.tc,b):this.tc(b)}}; "no machine state"!=h?(this.ja("Error: "+h),"unable to verify user"==h&&(za("user",""),this.u=null)):this.g(f+": "+h),Uf(d),Xf(d)?(c=Wf(d),e=!0):c=!1))}e&&eg(this,c?d:null)}else 2==a&&d.clear()}else eg(this);delete this.O;delete this.P}e=db(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=gg(this,h,d,b,c));b=[d,a,c];-1!=a?dg(this,this.tc,b):this.tc(b)}};
function gg(a,b,c,d,e){if(!b.D.va){b.D.va=!0;if(b.Ea){var f=null;e&&((f=Yf(c,b.id))||(f=Yf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ea(f,d)&&f&&(u("Unable to restore state for "+b.type),a.ba&&!a.ea?(c.clear(),a.A=ag,window&&window.location.reload()):a.da=!0,b.Ea(null),e=!1)}if(!d&&b.yc)for(a=b.yc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function gg(a,b,c,d,e){if(!b.D.va){b.D.va=!0;if(b.Ea){var f=null;e&&((f=Yf(c,b.id))||(f=Yf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ea(f,d)&&f&&(u("Unable to restore state for "+b.type),a.ba&&!a.ea?(c.clear(),a.A=ag,window&&window.location.reload()):a.da=!0,b.Ea(null),e=!1)}if(!d&&b.yc)for(a=b.yc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.tc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ia=!0;this.D.va=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),pc(this.b));this.da&&(fg(this,b),b.clear());!c&&this.J&&(this.J.clear(),delete this.J);this.B=0}; m.tc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ia=!0;this.D.va=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),Cc(this.b));this.da&&(fg(this,b),b.clear());!c&&this.J&&(this.J.clear(),delete this.J);this.B=0};
function fg(a,b){if(ua("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.ha;e.user=c;e.type="bug";e.data=d;ra("http://www.pcjs.org/api/v1/report",e,!0)}} function fg(a,b){if(ua("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.ha;e.user=c;e.type="bug";e.data=d;ra("http://www.pcjs.org/api/v1/report",e,!0)}}
function Sf(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new Rc(a,"1.23.3"),h=new Rc(a,"1.23.3","validate"),g=pa();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.23.3");I(f,"url",window?window.location.href:null);I(f,"browser",ta());a.b&&a.b.Ha&&(c&&a.b.na(),d=a.b.Ha(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.D.va=!1,!1===d&&(e=null)));for(var g=db(a.id),k=0;k<g.length;k++){var l=g[k];l.D.va&&(l.Ha&&(d=l.Ha(b,c),"object"===typeof d&&I(f,l.id,d)),c&&(l.D.va=!1,!1===d&&(e=null)))}e&& function Sf(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new H(a,"1.23.3"),h=new H(a,"1.23.3","validate"),g=pa();I(h,"timestamp",g);I(f,"timestamp",g);I(f,"version","1.23.3");I(f,"url",window?window.location.href:null);I(f,"browser",ta());a.b&&a.b.Ha&&(c&&a.b.na(),d=a.b.Ha(b,c),"object"===typeof d&&I(f,a.b.id,d),c&&(a.b.D.va=!1,!1===d&&(e=null)));for(var g=db(a.id),k=0;k<g.length;k++){var l=g[k];l.D.va&&(l.Ha&&(d=l.Ha(b,c),"object"===typeof d&&I(f,l.id,d)),c&&(l.D.va=!1,!1===d&&(e=null)))}e&&
(c?(g=d=!1,b?(a.u&&hg(a,a.u,f.toString()),Vf(h)&&Vf(f)||(e=null,d=g=!0)):a.A&&(d=!0,g=3==a.A),d&&f.clear(g)):e=f.toString());c&&(a.D.va=!1,b=a.N.power)&&(b.textContent="Power");a.B=0;return e}m.reset=function(){this.w&&this.w.reset&&(E(this,"Resetting "+this.w.type),this.w.reset());for(var a=db(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}}; (c?(g=d=!1,b?(a.u&&hg(a,a.u,f.toString()),Vf(h)&&Vf(f)||(e=null,d=g=!0)):a.A&&(d=!0,g=3==a.A),d&&f.clear(g)):e=f.toString());c&&(a.D.va=!1,b=a.N.power)&&(b.textContent="Power");a.B=0;return e}m.reset=function(){this.w&&this.w.reset&&(ib(this,"Resetting "+this.w.type),this.w.reset());for(var a=db(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&(ib(this,"Resetting "+c.type),c.reset())}};
m.start=function(a,b){for(var c=db(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=db(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=db(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=db(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.ma=function(a,b,c){var d=this;switch(b){case "power":return this.N[b]=c,c.onclick=function(){d.B||(d.D.va?Sf(d,!1,!0):dg(d,d.Gb))},!0;case "reset":return this.N[b]=c,c.onclick=function(){if(d.D.va&&!d.B)if(d.A&&!d.M){var a=ua("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sf(d,a,!0);!a&&d.ba?window&&window.location.reload():d.Gb(ag)}else d.reset(),d.b&&pc(d.b)},!0;case "save":if(ga(sa(),"pcjs.org")){c.parentNode.removeChild(c); m.ma=function(a,b,c){var d=this;switch(b){case "power":return this.N[b]=c,c.onclick=function(){d.B||(d.D.va?Sf(d,!1,!0):dg(d,d.Gb))},!0;case "reset":return this.N[b]=c,c.onclick=function(){if(d.D.va&&!d.B)if(d.A&&!d.M){var a=ua("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sf(d,a,!0);!a&&d.ba?window&&window.location.reload():d.Gb(ag)}else d.reset(),d.b&&Cc(d.b)},!0;case "save":if(ga(sa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.N[b]=c;c.onclick=function(){var a=bg(d,!0);if(a){var b=!!(d.A&&!d.M||d.ba),c=Sf(d,b);b?hg(d,a,c):d.ja("Resume disabled, machine state not saved")}};return!0}return!1}; break}this.N[b]=c;c.onclick=function(){var a=bg(d,!0);if(a){var b=!!(d.A&&!d.M||d.ba),c=Sf(d,b);b?hg(d,a,c):d.ja("Resume disabled, machine state not saved")}};return!0}return!1};
function bg(a,b){var c=a.u;c||(c=ya("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=ig(a,c))||a.ja("The user ID is invalid."))):b&&a.ja("Browser local storage is not available"));return c} function bg(a,b){var c=a.u;c||(c=ya("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=ig(a,c))||a.ja("The user ID is invalid."))):b&&a.ja("Browser local storage is not available"));return c}
function ig(a,b){a.u=null;var c=ra(sa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(za("user",c.data),a.u=c.data)}catch(e){u(e.message+" ("+d+")")}return a.u}function cg(a){var b=null;a.u&&(b=sa()+"/api/v1/user?req=load&user="+a.u+"&state="+Tf(a,"1.23.3"));return b} function ig(a,b){a.u=null;var c=ra(sa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(za("user",c.data),a.u=c.data)}catch(e){u(e.message+" ("+d+")")}return a.u}function cg(a){var b=null;a.u&&(b=sa()+"/api/v1/user?req=load&user="+a.u+"&state="+Tf(a,"1.23.3"));return b}
function hg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Tf(a,"1.23.3");d.data=c;b=ra(sa()+"/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.ja("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.ja(c),za("user",""),a.u=null)}} function hg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Tf(a,"1.23.3");d.data=c;b=ra(sa()+"/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.ja("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.ja(c),za("user",""),a.u=null)}}
function sb(a,b,c){a=db(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.hb=function(a){if(this.H.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.H[0];d.Ca&&d.Ca.focus();a&&window&&window.scrollTo(b,c)}};m.Ia=function(a){this.b&&this.b.Ia(a);this.F&&this.F.Ia(a)};function Jc(a,b){for(var c=0;c<a.H.length;c++)Md(a.H[c],b)} function tb(a,b,c){a=db(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.hb=function(a){if(this.H.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.H[0];d.Ca&&d.Ca.focus();a&&window&&window.scrollTo(b,c)}};m.Ia=function(a){this.b&&this.b.Ia(a);this.F&&this.F.Ia(a)};function Kc(a,b){for(var c=0;c<a.H.length;c++)Md(a.H[c],b)}
La(function(){for(var a=B(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new Zf(h,d,!0);gb(h,f);h.S&&dg(h,h.Gb)}});Da.show.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=fb("Computer",c.id))&&c.ia&&!c.D.va&&c.Gb(-1)}}); La(function(){for(var a=B(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new Zf(h,d,!0);gb(h,f);h.S&&dg(h,h.Gb)}});Da.show.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=fb("Computer",c.id))&&c.ia&&!c.D.va&&c.Gb(-1)}});
Da.exit.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=fb("Computer",c.id))&&c.D.va&&Sf(c,!(!c.A||c.M),!0)}});var jg=0;function kg(a,b,c,d,e,f){e("Loading "+a+"...");ra(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):yg(g,a,b,c,d,e,f)})} Da.exit.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=fb("Computer",c.id))&&c.D.va&&Sf(c,!(!c.A||c.M),!0)}});var jg=0;function kg(a,b,c,d,e,f){e("Loading "+a+"...");ra(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):yg(g,a,b,c,d,e,f)})}
function yg(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){cb(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 yg(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){cb(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"));

View file

@ -8,40 +8,40 @@ typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encod
function q(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}var na=null;function oa(){if(null==na){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}na=a}return na}function pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function q(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}var na=null;function oa(){if(null==na){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}na=a}return na}function pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ra(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 sa={init:[],show:[],exit:[]},ta=!1,ua=!0;function va(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wa(a){sa.init.push(a)} function qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ra(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 sa={init:[],show:[],exit:[]},ta=!1,ua=!0;function va(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function wa(a){sa.init.push(a)}
function xa(a){if(ua)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){ya("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function za(a){!ua&&a?(ua=!0,ta&&Aa("init")):ua=a}function Aa(a){sa[a]&&xa(sa[a])}va("onload",function(){ta=!0;xa(sa.init)});va("onpageshow",function(){xa(sa.show)});va(ra("Opera")||ra("iOS")?"onunload":"onbeforeunload",function(){xa(sa.exit)}); function xa(a){if(ua)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){ya("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function za(a){!ua&&a?(ua=!0,ta&&Aa("init")):ua=a}function Aa(a){sa[a]&&xa(sa[a])}va("onload",function(){ta=!0;xa(sa.init)});va("onpageshow",function(){xa(sa.show)});va(ra("Opera")||ra("iOS")?"onunload":"onbeforeunload",function(){xa(sa.exit)});
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.wb=b.comment;this.Xb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.kb=this.id.substr(0,b),this.Qa=this.id.substr(b+1)):this.Qa=this.id;this[a]=c;this.j={fa:!1,Fa:!1,nb:!1,V:!1,ra:!1};this.Wa=null;this.j.ra=!1;this.B={};this.N=null;w.push(this)}var Ba=void 0,Ca={}; function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.wb=b.comment;this.Xb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.jb=this.id.substr(0,b),this.Qa=this.id.substr(b+1)):this.Qa=this.id;this[a]=c;this.j={fa:!1,Fa:!1,mb:!1,V:!1,ra:!1};this.Wa=null;this.j.ra=!1;this.B={};this.N=null;w.push(this)}var Ba=void 0,Ca={};
if(window){Ba||(Ba=window.location.search.substr(1));for(var Ea,Fa=/\+/g,Ga=/([^&=]+)=?([^&]*)/g;Ea=Ga.exec(Ba);)Ca[decodeURIComponent(Ea[1].replace(Fa," "))]=decodeURIComponent(Ea[2].replace(Fa," "))}function Ha(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){Ba||(Ba=window.location.search.substr(1));for(var Ea,Fa=/\+/g,Ga=/([^&=]+)=?([^&]*)/g;Ea=Ga.exec(Ba);)Ca[decodeURIComponent(Ea[1].replace(Fa," "))]=decodeURIComponent(Ea[2].replace(Fa," "))}function Ha(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 y(a,b){b||(b=r);a.prototype=Ha(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var w=[],Ia={};function Ja(a,b,c){Ia[a]&&b&&(Ia[a][b]=c)}function ya(a,b,c){b||q((c?c+": ":"")+a)}function Ka(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 La(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null} function y(a,b){b||(b=r);a.prototype=Ha(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var w=[],Ia={};function Ja(a,b,c){Ia[a]&&b&&(Ia[a][b]=c)}function ya(a,b,c){b||q((c?c+": ":"")+a)}function Ka(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 La(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null}
function Ma(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 z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b} function Ma(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 z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
function Na(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(" "),m=0;m<k.length;m++)switch(g=k[m],g){case "pc8080-binding":(g=z(h))&&g.binding&&a.S(g.type,g.binding,h,g.value),m=k.length}}}} function Na(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(" "),m=0;m<k.length;m++)switch(g=k[m],g){case "pc8080-binding":(g=z(h))&&g.binding&&a.S(g.type,g.binding,h,g.value),m=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 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}
r.prototype={constructor:r,parent:null,toString:function(){return this.name?this.name:this.id||this.type},S:function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.na=this.B[b]=c,c.value="",this.ba=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), r.prototype={constructor:r,parent:null,toString:function(){return this.name?this.name:this.id||this.type},S:function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.na=this.B[b]=c,c.value="",this.ba=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.M=function(a){this.ba(a,this.Qa)}),!0;default:return!1}},log:function(){},ba:function(){},status:function(a){this.ba(this.Qa+": "+a)},M:function(a,b,c){ya(a,b,c||this.type)},ca:function(){return this.j.V=!0},ga:function(a,b){b&&(this.j.V=!1);return!0}};function Oa(a,b){if(a.j.nb)return a.j.Fa&&(a.j.Fa=!1),a.j.nb=!1;if(a.j.ra)return a.ba(a.toString()+" error"),!1;a.j.Fa=b;return a.j.Fa}function D(a){if(!a.j.ra&&(a.j.fa=!0,a.j.fa)){var b=a.Wa;a.Wa=null;b&&b()}} this.M=function(a){this.ba(a,this.Qa)}),!0;default:return!1}},log:function(){},ba:function(){},status:function(a){this.ba(this.Qa+": "+a)},M:function(a,b,c){ya(a,b,c||this.type)},ca:function(){return this.j.V=!0},ga:function(a,b){b&&(this.j.V=!1);return!0}};function Oa(a,b){if(a.j.mb)return a.j.Fa&&(a.j.Fa=!1),a.j.mb=!1;if(a.j.ra)return a.ba(a.toString()+" error"),!1;a.j.Fa=b;return a.j.Fa}function D(a){if(!a.j.ra&&(a.j.fa=!0,a.j.fa)){var b=a.Wa;a.Wa=null;b&&b()}}
function Pa(a,b){b&&(a.j.fa?b():a.Wa=b);return a.j.fa} function Pa(a,b){b&&(a.j.fa?b():a.Wa=b);return a.j.fa}
var Qa="undefined"!==typeof ArrayBuffer,Ra=[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 Qa="undefined"!==typeof ArrayBuffer,Ra=[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 Sa(a){r.call(this,"Panel",a,Sa)}y(Sa);l=Sa.prototype;l.S=function(a,b,c,d){return this.l&&this.l.S(a,b,c,d)||this.a&&this.a.S(a,b,c,d)||this.o&&this.o.S(a,b,c,d)?!0:this.parent.S.call(this,a,b,c,d)};l.la=function(a,b,c,d){this.l=a;this.m=b;this.a=c;this.N=d;this.o=E(a,"Keyboard")};l.ca=function(a,b){b||Ta();return!0};l.ga=function(){return!0};l.wa=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 Sa(a){r.call(this,"Panel",a,Sa)}y(Sa);l=Sa.prototype;l.S=function(a,b,c,d){return this.l&&this.l.S(a,b,c,d)||this.a&&this.a.S(a,b,c,d)||this.o&&this.o.S(a,b,c,d)?!0:this.parent.S.call(this,a,b,c,d)};l.la=function(a,b,c,d){this.l=a;this.m=b;this.a=c;this.N=d;this.o=E(a,"Keyboard")};l.ca=function(a,b){b||Ta();return!0};l.ga=function(){return!0};l.wa=function(){};
function Ta(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=La(e.id);f||(a=!0,f=new Sa(e));Na(f,d);a&&D(f)}}wa(Ta); function Ta(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=La(e.id);f||(a=!0,f=new Sa(e));Na(f,d);a&&D(f)}}wa(Ta);
function Ua(a,b,c){r.call(this,"Bus",a,Ua);this.a=b;this.N=c;this.h=a.busWidth||16;this.v=Math.pow(2,this.h);this.f=this.v-1|0;this.c=16>=this.h?10:20>=this.h?12:24>=this.h?14:15;this.m=1<<this.c;this.w=this.m>>2;this.l=this.m-1;this.i=this.v/this.m|0;this.u=this.i-1;this.o=[];this.s=[];this.A=[];this.C=[];a=new F;Va(a,this.N);this.b=Array(this.i);for(b=0;b<this.i;b++)this.b[b]=a;D(this)}y(Ua);Ua.prototype.reset=function(){};Ua.prototype.ca=function(a,b){b||this.reset();return!0}; function Ua(a,b,c){r.call(this,"Bus",a,Ua);this.a=b;this.N=c;this.h=a.busWidth||16;this.v=Math.pow(2,this.h);this.f=this.v-1|0;this.c=16>=this.h?10:20>=this.h?12:24>=this.h?14:15;this.m=1<<this.c;this.w=this.m>>2;this.l=this.m-1;this.i=this.v/this.m|0;this.u=this.i-1;this.o=[];this.s=[];this.A=[];this.C=[];a=new F;Va(a,this.N);this.b=Array(this.i);for(b=0;b<this.i;b++)this.b[b]=a;D(this)}y(Ua);Ua.prototype.reset=function(){};Ua.prototype.ca=function(a,b){b||this.reset();return!0};
function Wa(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,m=a.m-(e-k);m>f&&(m=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Ea)return g.fb+=g.Ea-e,g.Ea=e,!0;if(e>=g.Ea+g.fb){m=g.size-(e-k);m>f&&(m=f);g.fb=e-g.Ea+m;e=k+a.m;f-=m;h++;continue}}return Xa(1,e,f)}e=new F(e,m,a.m,d);Va(e,a.N,g);a.b[h++]=e;e=k+a.m;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ya[d]+" at "+("0x"+n(b,4))),!0):Xa(2,b,c)} function Wa(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,m=a.m-(e-k);m>f&&(m=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Ea)return g.eb+=g.Ea-e,g.Ea=e,!0;if(e>=g.Ea+g.eb){m=g.size-(e-k);m>f&&(m=f);g.eb=e-g.Ea+m;e=k+a.m;f-=m;h++;continue}}return Xa(1,e,f)}e=new F(e,m,a.m,d);Va(e,a.N,g);a.b[h++]=e;e=k+a.m;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ya[d]+" at "+("0x"+n(b,4))),!0):Xa(2,b,c)}
Ua.prototype.K=function(a){return this.b[(a&this.f)>>>this.c].Na(a&this.l,a)};function Za(a,b){return a.b[(b&a.f)>>>a.c].cb(b&a.l,b)}function $a(a,b){var c=b&a.l,d=(b&a.f)>>>a.c;return c!=a.l?a.b[d].jd(c,b):a.b[d++].Na(c,b)|a.b[d&a.u].Na(0,b+1)<<8}Ua.prototype.W=function(a,b){this.b[(a&this.f)>>>this.c].Oa(a&this.l,b&255,a)};function ab(a,b,c){a.b[(b&a.f)>>>a.c].$b(b&a.l,c&255,b)} Ua.prototype.K=function(a){return this.b[(a&this.f)>>>this.c].Na(a&this.l,a)};function Za(a,b){return a.b[(b&a.f)>>>a.c].cb(b&a.l,b)}function $a(a,b){var c=b&a.l,d=(b&a.f)>>>a.c;return c!=a.l?a.b[d].jd(c,b):a.b[d++].Na(c,b)|a.b[d&a.u].Na(0,b+1)<<8}Ua.prototype.W=function(a,b){this.b[(a&this.f)>>>this.c].Oa(a&this.l,b&255,a)};function ab(a,b,c){a.b[(b&a.f)>>>a.c].$b(b&a.l,c&255,b)}
function bb(a,b,c){var d=b&a.l,e=(b&a.f)>>>a.c;d!=a.l?a.b[e].kd(d,c&65535,b):(a.b[e++].Oa(d,c&255,b),a.b[e&a.u].Oa(0,c>>8&255,b+1))}function cb(a,b,c,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]?q("Input port 0x"+n(k,4)+" already registered"):f.o[k]=[g,!1]}} function bb(a,b,c){var d=b&a.l,e=(b&a.f)>>>a.c;d!=a.l?a.b[e].kd(d,c&65535,b):(a.b[e++].Oa(d,c&255,b),a.b[e&a.u].Oa(0,c>>8&255,b+1))}function cb(a,b,c,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]?q("Input port 0x"+n(k,4)+" already registered"):f.o[k]=[g,!1]}}
function db(a,b,c,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]?q("Output port 0x"+n(k,4)+" already registered"):f.s[k]=[g,!1]}}function Xa(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var eb;if(Qa){var fb=new ArrayBuffer(2);(new DataView(fb)).setUint16(0,256,!0);eb=256===(new Uint16Array(fb))[0]}else eb=!1;var hb=eb; function db(a,b,c,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]?q("Output port 0x"+n(k,4)+" already registered"):f.s[k]=[g,!1]}}function Xa(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var eb;if(Qa){var fb=new ArrayBuffer(2);(new DataView(fb)).setUint16(0,256,!0);eb=256===(new Uint16Array(fb))[0]}else eb=!1;var hb=eb;
function F(a,b,c,d){this.id=ib+=2;this.a=null;this.Ea=a;this.fb=b;this.size=c||0;this.type=d||jb;this.B=d==kb;Va(this);this.ja=this.Nb=!1;if(c)if(Qa)this.c=new ArrayBuffer(c),this.m=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.h=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),lb(this,hb?mb:nb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;lb(this,ob)}else lb(this)}var jb=0,kb=2,Ya=["NONE","RAM","ROM","VID","H/W"],ib=0; function F(a,b,c,d){this.id=ib+=2;this.a=null;this.Ea=a;this.eb=b;this.size=c||0;this.type=d||jb;this.B=d==kb;Va(this);this.ja=this.Nb=!1;if(c)if(Qa)this.c=new ArrayBuffer(c),this.m=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.h=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),lb(this,hb?mb:nb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;lb(this,ob)}else lb(this)}var jb=0,kb=2,Ya=["NONE","RAM","ROM","VID","H/W"],ib=0;
F.prototype={constructor:F,parent:null,save:function(){var a,b;if(Qa)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(Qa)for(b=0;b<a.length;b++)this.m.setInt32(b<<2,a[b],!0);else this.a=a;return this.ja=!0}return!1},i:function(){return 255},s:function(){},o:function(a,b){return this.Na(a++,b++)|this.Na(a,b)<<8},u:function(a,b,c){this.Oa(a++,b&255,c++);this.Oa(a,b>>8,c)},C:function(a){return this.a[a>> F.prototype={constructor:F,parent:null,save:function(){var a,b;if(Qa)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(Qa)for(b=0;b<a.length;b++)this.m.setInt32(b<<2,a[b],!0);else this.a=a;return this.ja=!0}return!1},i:function(){return 255},s:function(){},o:function(a,b){return this.Na(a++,b++)|this.Na(a,b)<<8},u:function(a,b,c){this.Oa(a++,b&255,c++);this.Oa(a,b>>8,c)},C:function(a){return this.a[a>>
2]>>>((a&3)<<3)&255},I:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},U:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.ja=!0},ma: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.ja=!0},w:function(a,b){return this.cb(a,b)},H:function(a,b){return this.Yb(a,b)},O:function(a,b,c){this.B||this.$b(a,b,c)},$:function(a, 2]>>>((a&3)<<3)&255},I:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},U:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.ja=!0},ma: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.ja=!0},w:function(a,b){return this.cb(a,b)},H:function(a,b){return this.Yb(a,b)},O:function(a,b,c){this.B||this.$b(a,b,c)},$:function(a,
b,c){this.B||this.aa(a,b,c)},v:function(a){return this.b[a]},A:function(a){return this.b[a]},G:function(a){return this.m.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.h[a>>1]},J:function(a,b){this.b[a]=b;this.ja=!0},T:function(a,b){this.b[a]=b;this.ja=!0},Z:function(a,b){this.m.setUint16(a,b,!0);this.ja=!0},da:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.h[a>>1]=b;this.ja=!0}}; b,c){this.B||this.aa(a,b,c)},v:function(a){return this.b[a]},A:function(a){return this.b[a]},G:function(a){return this.m.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.h[a>>1]},J:function(a,b){this.b[a]=b;this.ja=!0},T:function(a,b){this.b[a]=b;this.ja=!0},Z:function(a,b){this.m.setUint16(a,b,!0);this.ja=!0},da:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.h[a>>1]=b;this.ja=!0}};
function Va(a,b,c){a.N=b;a.l=a.f=0;c&&((a.l=c.l)&&pb(a,qb,!1),(a.f=c.f)&&rb(a,qb,!1))}function rb(a,b,c){c&&a.f||(a.Oa=!a.B&&b[2]||a.s,a.kd=!a.B&&b[3]||a.u);if(c||void 0===c)a.$b=b[2]||a.s,a.aa=b[3]||a.u}function pb(a,b,c){c&&a.l||(a.Na=b[0]||a.i,a.jd=b[1]||a.o);if(c||void 0===c)a.cb=b[0]||a.i,a.Yb=b[1]||a.o}function lb(a,b){b||(b=sb);pb(a,b,void 0);rb(a,b,void 0)}var sb=[],ob=[F.prototype.C,F.prototype.I,F.prototype.U,F.prototype.ma],qb=[F.prototype.w,F.prototype.H,F.prototype.O,F.prototype.$]; function Va(a,b,c){a.N=b;a.l=a.f=0;c&&((a.l=c.l)&&pb(a,qb,!1),(a.f=c.f)&&rb(a,qb,!1))}function rb(a,b,c){c&&a.f||(a.Oa=!a.B&&b[2]||a.s,a.kd=!a.B&&b[3]||a.u);if(c||void 0===c)a.$b=b[2]||a.s,a.aa=b[3]||a.u}function pb(a,b,c){c&&a.l||(a.Na=b[0]||a.i,a.jd=b[1]||a.o);if(c||void 0===c)a.cb=b[0]||a.i,a.Yb=b[1]||a.o}function lb(a,b){b||(b=sb);pb(a,b,void 0);rb(a,b,void 0)}var sb=[],ob=[F.prototype.C,F.prototype.I,F.prototype.U,F.prototype.ma],qb=[F.prototype.w,F.prototype.H,F.prototype.O,F.prototype.$];
if(Qa)var nb=[F.prototype.v,F.prototype.G,F.prototype.J,F.prototype.Z],mb=[F.prototype.A,F.prototype.L,F.prototype.T,F.prototype.da]; if(Qa)var nb=[F.prototype.v,F.prototype.G,F.prototype.J,F.prototype.Z],mb=[F.prototype.A,F.prototype.L,F.prototype.T,F.prototype.da];
function tb(a,b){r.call(this,"CPU",a,tb);var c=a.cycles||b,d=a.multiplier||1;this.b={};this.b.va=c;this.b.$a=0;this.b.ua=d;this.b.pb=Math.round(this.b.va/1E4)/100;this.b.za=this.b.pb*this.b.ua;this.j.ka=!1;this.j.Pb=!1;this.j.Mb=a.autoStart;this.j.Ob=!1;this.j.Ua=!1;this.b.Ya=this.b.Ba=0;this.b.Za=a.csStart;this.b.Ga=a.csInterval;this.b.Ha=a.csStop;this.H=[];this.ma=this.ub.bind(this);D(this)}y(tb);var ub=["power","reset"];l=tb.prototype; function tb(a,b){r.call(this,"CPU",a,tb);var c=a.cycles||b,d=a.multiplier||1;this.b={};this.b.va=c;this.b.$a=0;this.b.ua=d;this.b.ob=Math.round(this.b.va/1E4)/100;this.b.za=this.b.ob*this.b.ua;this.j.ka=!1;this.j.Pb=!1;this.j.Mb=a.autoStart;this.j.Ob=!1;this.j.Ua=!1;this.b.Ya=this.b.Ba=0;this.b.Za=a.csStart;this.b.Ga=a.csInterval;this.b.Ha=a.csStop;this.H=[];this.ma=this.ub.bind(this);D(this)}y(tb);var ub=["power","reset"];l=tb.prototype;
l.la=function(a,b,c,d){this.l=a;this.m=b;this.N=d;for(b=0;b<ub.length;b++)(c=this.B[ub[b]])&&this.l.S(null,ub[b],c);this.U=(b=E(a,"Video"))&&Math.max(b.Tc,b.mb)||60;this.L=E(a,"ChipSet");a=vb(a,"autoStart");null!=a&&(this.j.Mb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){this.b.$a=0};l.save=function(){return null};l.restore=function(){return!1}; l.la=function(a,b,c,d){this.l=a;this.m=b;this.N=d;for(b=0;b<ub.length;b++)(c=this.B[ub[b]])&&this.l.S(null,ub[b],c);this.U=(b=E(a,"Video"))&&Math.max(b.Tc,b.lb)||60;this.L=E(a,"ChipSet");a=vb(a,"autoStart");null!=a&&(this.j.Mb="true"==a?!0:"false"==a?!1:!!a);D(this)};l.reset=function(){this.b.$a=0};l.save=function(){return null};l.restore=function(){return!1};
l.ca=function(a,b){if(!b){if(a&&this.restore){wb(this);if(!this.restore(a))return!1;xb(this)}else this.reset();this.ba("No debugger detected")}yb(this);return!0};l.ga=function(a){return a?this.save():!0};function zb(a){(a.j.Mb||void 0===a.B.run)&&a.ub(!0)}l.Sb=function(){return 0};function xb(a){void 0===a.b.Za&&(a.b.Za=0);void 0===a.b.Ga&&(a.b.Ga=-1);void 0===a.b.Ha&&(a.b.Ha=-1);a.j.Ua=0<=a.b.Za&&0<a.b.Ga;a.j.Ua&&(a.b.Ya=0,a.b.Ba=a.b.Za-a.O)} l.ca=function(a,b){if(!b){if(a&&this.restore){wb(this);if(!this.restore(a))return!1;xb(this)}else this.reset();this.ba("No debugger detected")}yb(this);return!0};l.ga=function(a){return a?this.save():!0};function zb(a){(a.j.Mb||void 0===a.B.run)&&a.ub(!0)}l.Sb=function(){return 0};function xb(a){void 0===a.b.Za&&(a.b.Za=0);void 0===a.b.Ga&&(a.b.Ga=-1);void 0===a.b.Ha&&(a.b.Ha=-1);a.j.Ua=0<=a.b.Za&&0<a.b.Ga;a.j.Ua&&(a.b.Ya=0,a.b.Ba=a.b.Za-a.O)}
l.S=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.B[b]=c;a=!0;break;case "run":this.B[b]=c;c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.j.V)a=!0;else{var b=null,c,g=Ka(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.j.fa);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.j.V);c++);c==g.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.j.fa?"powered yet":"ready yet"+(b.Wa?" (waiting for notification)":""))+".");a=!1}a&&(d.j.ka?Ab(d,!0):d.ub(!0))};a=!0; l.S=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.B[b]=c;a=!0;break;case "run":this.B[b]=c;c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.j.V)a=!0;else{var b=null,c,g=Ka(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.j.fa);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.j.V);c++);c==g.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.j.fa?"powered yet":"ready yet"+(b.Wa?" (waiting for notification)":""))+".");a=!1}a&&(d.j.ka?Ab(d,!0):d.ub(!0))};a=!0;
break;case "speed":this.B[b]=c;a=!0;break;case "setSpeed":this.B[b]=c,c.onclick=function(){Bb(d,d.b.ua<<1,!0)},c.textContent=this.b.za.toFixed(2)+"Mhz",a=!0}return a};function Cb(a,b,c){a.O+=b;c&&(a.J=a.a=0)} break;case "speed":this.B[b]=c;a=!0;break;case "setSpeed":this.B[b]=c,c.onclick=function(){Bb(d,d.b.ua<<1,!0)},c.textContent=this.b.za.toFixed(2)+"Mhz",a=!0}return a};function Cb(a,b,c){a.O+=b;c&&(a.J=a.a=0)}
function Db(a,b){var c=30;c<a.U&&(c=a.U);2>c&&(c=2);var d=1;b&&1<a.b.ua&&a.b.sa&&(d=a.b.sa/a.b.pb);a.b.Ub=Math.round(1E3/30);a.b.Uc=Math.floor(a.b.va/c*d);a.b.rb=Math.floor(a.b.va/30*d);a.b.Wb=Math.floor(a.b.va/a.U*d);a.b.Vb=Math.floor(a.b.va/2*d);b||(a.b.Ka=a.b.rb,a.b.Ja=a.b.Wb,a.b.Ia=a.b.Vb);a.b.sb=0}function Eb(a){return a.O+a.I+a.J-a.a}function wb(a){a.b.sa=0;a.O=a.I=a.J=a.a=0;xb(a);Bb(a,1)} function Db(a,b){var c=30;c<a.U&&(c=a.U);2>c&&(c=2);var d=1;b&&1<a.b.ua&&a.b.sa&&(d=a.b.sa/a.b.ob);a.b.Ub=Math.round(1E3/30);a.b.Uc=Math.floor(a.b.va/c*d);a.b.qb=Math.floor(a.b.va/30*d);a.b.Wb=Math.floor(a.b.va/a.U*d);a.b.Vb=Math.floor(a.b.va/2*d);b||(a.b.Ka=a.b.qb,a.b.Ja=a.b.Wb,a.b.Ia=a.b.Vb);a.b.rb=0}function Eb(a){return a.O+a.I+a.J-a.a}function wb(a){a.b.sa=0;a.O=a.I=a.J=a.a=0;xb(a);Bb(a,1)}
function Bb(a,b,c){if(void 0!==b){.8>a.b.sa/a.b.za&&(b=1);a.b.ua=b;b=a.b.pb*a.b.ua;if(a.b.za!=b){a.b.za=b;b=a.b.za.toFixed(2)+"Mhz";var d=a.B.setSpeed;d&&(d.textContent=b);a.ba("target speed: "+b)}c&&a.l&&Fb(a.l)}Cb(a,a.I);a.I=0;a.b.Aa=ia();a.b.ta=0;Db(a)}function Gb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function Hb(a,b,c){var d=-1;0<=b&&b<a.H.length&&(d=a.b.va*a.b.ua/1E3*c,a.H[b][0]=d)} function Bb(a,b,c){if(void 0!==b){.8>a.b.sa/a.b.za&&(b=1);a.b.ua=b;b=a.b.ob*a.b.ua;if(a.b.za!=b){a.b.za=b;b=a.b.za.toFixed(2)+"Mhz";var d=a.B.setSpeed;d&&(d.textContent=b);a.ba("target speed: "+b)}c&&a.l&&Fb(a.l)}Cb(a,a.I);a.I=0;a.b.Aa=ia();a.b.ta=0;Db(a)}function Gb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function Hb(a,b,c){var d=-1;0<=b&&b<a.H.length&&(d=a.b.va*a.b.ua/1E3*c,a.H[b][0]=d)}
l.ub=function(a){if(Oa(this,!0)){if(!this.j.ka){Bb(this);this.l&&this.l.start(this.b.Aa,Eb(this));this.j.ka=!0;this.j.Pb=!0;this.L&&this.L.start();var b=this.B.run;b&&(b.textContent="Halt");this.l&&(this.l.wa(!0),a&&Fb(this.l,!0))}this.b.sb>=this.b.va&&Db(this,!0);this.b.La=0;this.b.Xa=ia();this.b.ta&&(a=this.b.Xa-this.b.ta,a>this.b.Ub&&(this.b.Aa+=a,this.b.Aa>this.b.Xa&&(this.b.Aa=this.b.Xa)));try{do{var c=this.j.Ua?1:this.b.Uc;a=c;for(b=0;b<this.H.length;b++){var d=this.H[b];0>d[0]||a>d[0]&&(a= l.ub=function(a){if(Oa(this,!0)){if(!this.j.ka){Bb(this);this.l&&this.l.start(this.b.Aa,Eb(this));this.j.ka=!0;this.j.Pb=!0;this.L&&this.L.start();var b=this.B.run;b&&(b.textContent="Halt");this.l&&(this.l.wa(!0),a&&Fb(this.l,!0))}this.b.rb>=this.b.va&&Db(this,!0);this.b.La=0;this.b.Xa=ia();this.b.ta&&(a=this.b.Xa-this.b.ta,a>this.b.Ub&&(this.b.Aa+=a,this.b.Aa>this.b.Xa&&(this.b.Aa=this.b.Xa)));try{do{var c=this.j.Ua?1:this.b.Uc;a=c;for(b=0;b<this.H.length;b++){var d=this.H[b];0>d[0]||a>d[0]&&(a=
d[0])}c=a;this.Zb(c);var e=this.J-this.a;a=e;for(b=0;b<this.H.length;b++){var f=this.H[b];0>f[0]||(f[0]-=a,0>=f[0]&&(f[0]=-1,f[1]()))}this.b.La+=e;this.I+=e;Cb(this,0,!0);a=e;this.j.Ua&&(b=!1,this.b.Ya=this.b.Ya+this.Sb()|0,this.b.Ba-=a,0>=this.b.Ba&&(this.b.Ba+=this.b.Ga,b=!0),0<=this.b.Ha&&this.b.Ha<=Eb(this)&&(this.b.Ga=this.b.Ha=-1,xb(this),Ab(this),b=!0),b&&this.ba(Eb(this)+" cycles: checksum="+n(this.b.Ya)));this.b.Ja-=e;0>=this.b.Ja&&(this.b.Ja+=this.b.Wb,this.l&&Ib(this.l,this.b.$a++),this.b.$a> d[0])}c=a;this.Zb(c);var e=this.J-this.a;a=e;for(b=0;b<this.H.length;b++){var f=this.H[b];0>f[0]||(f[0]-=a,0>=f[0]&&(f[0]=-1,f[1]()))}this.b.La+=e;this.I+=e;Cb(this,0,!0);a=e;this.j.Ua&&(b=!1,this.b.Ya=this.b.Ya+this.Sb()|0,this.b.Ba-=a,0>=this.b.Ba&&(this.b.Ba+=this.b.Ga,b=!0),0<=this.b.Ha&&this.b.Ha<=Eb(this)&&(this.b.Ga=this.b.Ha=-1,xb(this),Ab(this),b=!0),b&&this.ba(Eb(this)+" cycles: checksum="+n(this.b.Ya)));this.b.Ja-=e;0>=this.b.Ja&&(this.b.Ja+=this.b.Wb,this.l&&Ib(this.l,this.b.$a++),this.b.$a>
this.U&&(this.b.$a=0));this.b.Ia-=e;0>=this.b.Ia&&(this.b.Ia+=this.b.Vb,this.l&&this.l.wa());this.b.Ka-=e;if(0>=this.b.Ka){this.b.Ka+=this.b.rb;break}}while(this.j.ka)}catch(h){Ab(this);yb(this);this.l&&this.l.stop(ia(),Eb(this));Oa(this,!1);c=h.stack||h.message;this.j.ra=!0;this.M(c);return}c=setTimeout;d=this.ma;this.b.ta=ia();e=this.b.Ub;this.b.La&&(e=Math.round(e*this.b.La/this.b.rb));e-=this.b.ta-this.b.Xa;if(f=this.b.ta-this.b.Aa)this.b.sa=Math.round(this.I/(10*f))/100,864E5<=f&&(this.O=0,Bb(this)); this.U&&(this.b.$a=0));this.b.Ia-=e;0>=this.b.Ia&&(this.b.Ia+=this.b.Vb,this.l&&this.l.wa());this.b.Ka-=e;if(0>=this.b.Ka){this.b.Ka+=this.b.qb;break}}while(this.j.ka)}catch(h){Ab(this);yb(this);this.l&&this.l.stop(ia(),Eb(this));Oa(this,!1);c=h.stack||h.message;this.j.ra=!0;this.M(c);return}c=setTimeout;d=this.ma;this.b.ta=ia();e=this.b.Ub;this.b.La&&(e=Math.round(e*this.b.La/this.b.qb));e-=this.b.ta-this.b.Xa;if(f=this.b.ta-this.b.Aa)this.b.sa=Math.round(this.I/(10*f))/100,864E5<=f&&(this.O=0,Bb(this));
if(0>e||this.b.sa<this.b.za)e=0;this.b.sb+=this.b.La;this.b.ta+=e;c(d,e)}else yb(this),this.l&&this.l.stop(ia(),Eb(this))};l.Zb=function(){return 0};function Ab(a,b){a.j.Fa&&(a.j.nb=!0);a.J-=a.a;a.a=0;Cb(a,a.I);a.I=0;if(a.j.ka){a.j.ka=!1;a.L&&a.L.stop();var c=a.B.run;c&&(c.textContent="Run")}a.j.Va=b}function yb(a){a.l&&(Ib(a.l,-1),a.l.wa(void 0))}function Kb(a){this.da=+a.model||8080;tb.call(this,a,1E6);this.Z=Lb;wb(this);this.j.Va=this.j.Gc=!1;this.aa=0;this.T=[];this.$=0;Mb(this)}y(Kb,tb); if(0>e||this.b.sa<this.b.za)e=0;this.b.rb+=this.b.La;this.b.ta+=e;c(d,e)}else yb(this),this.l&&this.l.stop(ia(),Eb(this))};l.Zb=function(){return 0};function Ab(a,b){a.j.Fa&&(a.j.mb=!0);a.J-=a.a;a.a=0;Cb(a,a.I);a.I=0;if(a.j.ka){a.j.ka=!1;a.L&&a.L.stop();var c=a.B.run;c&&(c.textContent="Run")}a.j.Va=b}function yb(a){a.l&&(Ib(a.l,-1),a.l.wa(void 0))}function Kb(a){this.da=+a.model||8080;tb.call(this,a,1E6);this.Z=Lb;wb(this);this.j.Va=this.j.Gc=!1;this.aa=0;this.T=[];this.$=0;Mb(this)}y(Kb,tb);
function Nb(a,b){a.T.push(b)}l=Kb.prototype;l.reset=function(){this.j.ka&&Ab(this);Mb(this);wb(this);this.j.ra=!1;this.parent.reset.call(this)};function Mb(a){a.c=0;a.f=0;a.D=0;a.h=0;a.F=0;a.i=0;a.o=0;a.w=0;G(a,a.$);Ob(a,0);a.C=0}function Pb(a,b){a.$=b;G(a,b)}l.Sb=function(){var a=this.c+this.f+this.D+this.h+this.F+this.i+this.o|0;return a=a+this.w+this.u+Qb(this)|0}; function Nb(a,b){a.T.push(b)}l=Kb.prototype;l.reset=function(){this.j.ka&&Ab(this);Mb(this);wb(this);this.j.ra=!1;this.parent.reset.call(this)};function Mb(a){a.c=0;a.f=0;a.D=0;a.h=0;a.F=0;a.i=0;a.o=0;a.w=0;G(a,a.$);Ob(a,0);a.C=0}function Pb(a,b){a.$=b;G(a,b)}l.Sb=function(){var a=this.c+this.f+this.D+this.h+this.F+this.i+this.o|0;return a=a+this.w+this.u+Qb(this)|0};
l.save=function(){var a=new I(this);J(a,0,[this.c,this.f,this.D,this.h,this.F,this.i,this.o,this.w,this.u,Qb(this)]);J(a,1,[this.C,this.O,this.b.ua]);for(var b=this.m,c=0,d=[],e=0;e<b.i;e++){var f=b.b[e];if(f.ja||f.Nb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,m=[];g<f.length;){for(var v=f[g],u=g+1;u<f.length&&f[u]===v;)u++;m[k++]=u-g;m[k++]=v;g=u}if(m.length<f.length){f=m;break a}}d[h]=f}}J(a,2,d);return a.data()}; l.save=function(){var a=new I(this);J(a,0,[this.c,this.f,this.D,this.h,this.F,this.i,this.o,this.w,this.u,Qb(this)]);J(a,1,[this.C,this.O,this.b.ua]);for(var b=this.m,c=0,d=[],e=0;e<b.i;e++){var f=b.b[e];if(f.ja||f.Nb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,m=[];g<f.length;){for(var v=f[g],u=g+1;u<f.length&&f[u]===v;)u++;m[k++]=u-g;m[k++]=v;g=u}if(m.length<f.length){f=m;break a}}d[h]=f}}J(a,2,d);return a.data()};
l.restore=function(a){var b=a[0];this.c=b[0];this.f=b[1];this.D=b[2];this.h=b[3];this.F=b[4];this.i=b[5];this.o=b[6];this.w=b[7]&65535;G(this,b[8]);Ob(this,b[9]);b=a[1];this.C=b[0];this.O=b[1];Bb(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++],m=e[g++];k--;)h[f++]=m;e=h}f=b.b[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; l.restore=function(a){var b=a[0];this.c=b[0];this.f=b[1];this.D=b[2];this.h=b[3];this.F=b[4];this.i=b[5];this.o=b[6];this.w=b[7]&65535;G(this,b[8]);Ob(this,b[9]);b=a[1];this.C=b[0];this.O=b[1];Bb(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++],m=e[g++];k--;)h[f++]=m;e=h}f=b.b[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
@ -83,12 +83,12 @@ l=W.prototype;l.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.M
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.X){case X.X:return this.$=b[0],this.h=b[1],this.aa=b[2],this.C=b[3],this.L=b[4],this.U=b[5],this.Z=b[6],!0;case Y.X:return this.J=b[0],this.v=b[1],b=a[1],this.s=b[0],this.u=b[1],b=a[2],this.f=b[0],this.G=b[1],this.T=b[2],this.O=b[3],b=a[3],this.A=b[0],this.b=b[1],this.w=b[2],this.H=b[3],this.i=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Lc=function(){return this.$};l.Mc=function(){return this.h};l.Nc=function(){return this.aa}; l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.X){case X.X:return this.$=b[0],this.h=b[1],this.aa=b[2],this.C=b[3],this.L=b[4],this.U=b[5],this.Z=b[6],!0;case Y.X:return this.J=b[0],this.v=b[1],b=a[1],this.s=b[0],this.u=b[1],b=a[2],this.f=b[0],this.G=b[1],this.T=b[2],this.O=b[3],b=a[3],this.A=b[0],this.b=b[1],this.w=b[2],this.H=b[3],this.i=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Lc=function(){return this.$};l.Mc=function(){return this.h};l.Nc=function(){return this.aa};
l.Kc=function(){return this.C>>8-this.L&255};l.Zc=function(a,b){this.L=b};l.ad=function(a,b){this.U=b};l.$c=function(a,b){this.C=b<<8|this.C>>8};l.bd=function(a,b){this.Z=b};l.cd=function(){};function jc(a){var b=0,c=0,d=~a.A;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} l.Kc=function(){return this.C>>8-this.L&255};l.Zc=function(a,b){this.L=b};l.ad=function(a,b){this.U=b};l.$c=function(a,b){this.C=b<<8|this.C>>8};l.bd=function(a,b){this.Z=b};l.cd=function(){};function jc(a){var b=0,c=0,d=~a.A;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
l.Oc=function(){var a=this.v,a=a&~Y.ha.Cb;if((Eb(this.a)&64)<<1&&(a|=Y.ha.Cb,a!=this.v)){var b,c;b=this.w&1;switch(this.w>>1&7){case Y.ia.xa.ac:this.A=this.A<<1|b;break;case Y.ia.xa.fc:b=jc(this);this.i[b]=Y.ia.Sa;break;case Y.ia.xa.bc:this.b=this.b<<1|b;break;case Y.ia.xa.Fc:b=jc(this);c=this.b&Y.ia.Sa;this.i[b]=c;break;case Y.ia.xa.Ac:b=jc(this);c=this.i[b];null==c&&(c=Y.ia.Sa);this.b=c;break;case Y.ia.xa.Bc:this.b<<=1,this.H=this.b&Y.ia.Sa+1}}a&=~Y.ha.Db;this.H&&(a|=Y.ha.Db);a&=~Y.ha.zb;this.o&& l.Oc=function(){var a=this.v,a=a&~Y.ha.Cb;if((Eb(this.a)&64)<<1&&(a|=Y.ha.Cb,a!=this.v)){var b,c;b=this.w&1;switch(this.w>>1&7){case Y.ia.xa.ac:this.A=this.A<<1|b;break;case Y.ia.xa.fc:b=jc(this);this.i[b]=Y.ia.Sa;break;case Y.ia.xa.bc:this.b=this.b<<1|b;break;case Y.ia.xa.Fc:b=jc(this);c=this.b&Y.ia.Sa;this.i[b]=c;break;case Y.ia.xa.Ac:b=jc(this);c=this.i[b];null==c&&(c=Y.ia.Sa);this.b=c;break;case Y.ia.xa.Bc:this.b<<=1,this.H=this.b&Y.ia.Sa+1}}a&=~Y.ha.Db;this.H&&(a|=Y.ha.Db);a&=~Y.ha.zb;this.o&&
this.o.ob()&&(a|=Y.ha.zb);a&=~Y.ha.Fb;this.da&&this.da.ob()&&(a|=Y.ha.Fb);return this.v=a};l.dd=function(a,b){this.J=b};l.gd=function(a,b){this.w=b};l.fd=function(a,b){var c=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|c;break;case 1:this.f=this.f&-13|c<<2;if(this.video){var c=this.video,d=this.f;c.gb!==d&&((c.gb=d)?kc(c,-1):c.ib=!0)}break;case 2:switch(c){case 0:this.G=~this.G;break;case 2:case 3:this.T=3-c}break;case 3:this.O=c}}; this.o.nb()&&(a|=Y.ha.zb);a&=~Y.ha.Fb;this.da&&this.da.nb()&&(a|=Y.ha.Fb);return this.v=a};l.dd=function(a,b){this.J=b};l.gd=function(a,b){this.w=b};l.fd=function(a,b){var c=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|c;break;case 1:this.f=this.f&-13|c<<2;if(this.video){var c=this.video,d=this.f;c.fb!==d&&((c.fb=d)?kc(c,-1):c.hb=!0)}break;case 2:switch(c){case 0:this.G=~this.G;break;case 2:case 3:this.T=3-c}break;case 3:this.O=c}};
l.ed=function(a,b){if(b&Y.oa.zc)b&=Y.oa.Eb,this.u!=b&&(this.u=b,this.video&&(this.video.tb=this.u==Y.oa.Eb?50:60));else if(b&=Y.oa.yb,this.s!=b&&(this.s=b,this.video)){var c=this.video,d=this.s==Y.oa.yb?132:80;c.H=d;c.R=c.Gb;80<d&&c.R--;lc(c)&&mc(c)}};X.ab={0:W.prototype.Lc,1:W.prototype.Mc,2:W.prototype.Nc,3:W.prototype.Kc};X.bb={2:W.prototype.Zc,3:W.prototype.ad,4:W.prototype.$c,5:W.prototype.bd,6:W.prototype.cd};Y.ab={66:W.prototype.Oc}; l.ed=function(a,b){if(b&Y.oa.zc)b&=Y.oa.Eb,this.u!=b&&(this.u=b,this.video&&(this.video.sb=this.u==Y.oa.Eb?50:60));else if(b&=Y.oa.yb,this.s!=b&&(this.s=b,this.video)){var c=this.video,d=this.s==Y.oa.yb?132:80;c.H=d;c.R=c.Gb;80<d&&c.R--;lc(c)&&mc(c)}};X.ab={0:W.prototype.Lc,1:W.prototype.Mc,2:W.prototype.Nc,3:W.prototype.Kc};X.bb={2:W.prototype.Zc,3:W.prototype.ad,4:W.prototype.$c,5:W.prototype.bd,6:W.prototype.cd};Y.ab={66:W.prototype.Oc};
Y.bb={66:W.prototype.dd,98:W.prototype.gd,162:W.prototype.fd,194:W.prototype.ed};wa(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);Na(d,c)}}); Y.bb={66:W.prototype.dd,98:W.prototype.gd,162:W.prototype.fd,194:W.prototype.ed};wa(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);Na(d,c)}});
function nc(a){r.call(this,"ROM",a,nc);this.b=null;this.i=a.addr;this.c=a.size;this.o=a.writable;this.l=a.alias;this.f=a.file;this.s=ba(this.f);if(this.f){a=this.f;var b=ca(this.s);"json"!=b&&"hex"!=b&&(a=ka()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){oc(c,a,b,f)})}}y(nc);var pc=[0,5];nc.prototype.la=function(a,b,c,d){this.m=b;this.a=c;this.N=d;qc(this)}; function nc(a){r.call(this,"ROM",a,nc);this.b=null;this.i=a.addr;this.c=a.size;this.o=a.writable;this.l=a.alias;this.f=a.file;this.s=ba(this.f);if(this.f){a=this.f;var b=ca(this.s);"json"!=b&&"hex"!=b&&(a=ka()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){oc(c,a,b,f)})}}y(nc);var pc=[0,5];nc.prototype.la=function(a,b,c,d){this.m=b;this.a=c;this.N=d;qc(this)};
nc.prototype.ca=function(){this.h&&(this.N&&this.N.a(this.id,this.i,this.c,this.h),delete this.h);return!0};nc.prototype.ga=function(){return!0}; nc.prototype.ca=function(){this.h&&(this.N&&this.N.a(this.id,this.i,this.c,this.h),delete this.h);return!0};nc.prototype.ga=function(){return!0};
function oc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ja(a.kb,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.h=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(g){a.M("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function oc(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Ja(a.jb,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.h=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(g){a.M("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]);qc(a)}} " ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);qc(a)}}
function qc(a){if(!Pa(a))if(!a.f)D(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.j.ra=!0;a.M(b)}else if(rc(a,a.i)){b=[];"number"==typeof a.l?b.push(a.l):null!=a.l&&a.l.length&&(b=a.l);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.m,h=d.c,g=[],k=d.i>>>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}D(a)}} function qc(a){if(!Pa(a))if(!a.f)D(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.j.ra=!0;a.M(b)}else if(rc(a,a.i)){b=[];"number"==typeof a.l?b.push(a.l):null!=a.l&&a.l.length&&(b=a.l);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.m,h=d.c,g=[],k=d.i>>>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}D(a)}}
function rc(a,b){if(Wa(a.m,b,a.c,a.o?1:kb)){var c;for(c=0;c<a.b.length;c++)ab(a.m,b+c,a.b[c]);if(a.o&&256==b){for(c=0;c<pc.length;c++)ab(a.m,pc[c],118);Nb(a.a,function(a){return function(b){if(0<=pc.indexOf(b)){var c=!1,h=a.a,g=a.N;if(5==b)switch(c=!0,h.D){case 2:sc(a,String.fromCharCode(h.F));break;case 9:for(var k=Tb(h),m="",v=255;v--;){var u=a.a.K(k++);if(36==u)break;m+=String.fromCharCode(u)}sc(a,m);break;default:c=!1}c?gc.call(h):g&&(a.ba("\nCP/M vector 0x"+n(b,4)),G(h,b),Ab(g));b=!0}else b= function rc(a,b){if(Wa(a.m,b,a.c,a.o?1:kb)){var c;for(c=0;c<a.b.length;c++)ab(a.m,b+c,a.b[c]);if(a.o&&256==b){for(c=0;c<pc.length;c++)ab(a.m,pc[c],118);Nb(a.a,function(a){return function(b){if(0<=pc.indexOf(b)){var c=!1,h=a.a,g=a.N;if(5==b)switch(c=!0,h.D){case 2:sc(a,String.fromCharCode(h.F));break;case 9:for(var k=Tb(h),m="",v=255;v--;){var u=a.a.K(k++);if(36==u)break;m+=String.fromCharCode(u)}sc(a,m);break;default:c=!1}c?gc.call(h):g&&(a.ba("\nCP/M vector 0x"+n(b,4)),G(h,b),Ab(g));b=!0}else b=
@ -101,42 +101,42 @@ uc.prototype.S=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.B[e]){if("l
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};uc.prototype.la=function(a,b,c,d){this.l=a;this.a=c;this.N=d;this.L=E(a,"ChipSet");cb(b,this,this.b.ab);db(b,this,this.b.bb)};uc.prototype.ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};uc.prototype.ga=function(a){return a?this.save():!0};Z.INIT=[[Z.ea.INIT,Z.cc.INIT,-1]];l=uc.prototype;l.reset=function(){this.c=[];this.b.INIT&&!this.restore(this.b.INIT)&&this.M("reset error")}; b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};uc.prototype.la=function(a,b,c,d){this.l=a;this.a=c;this.N=d;this.L=E(a,"ChipSet");cb(b,this,this.b.ab);db(b,this,this.b.bb)};uc.prototype.ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};uc.prototype.ga=function(a){return a?this.save():!0};Z.INIT=[[Z.ea.INIT,Z.cc.INIT,-1]];l=uc.prototype;l.reset=function(){this.c=[];this.b.INIT&&!this.restore(this.b.INIT)&&this.M("reset error")};
l.save=function(){var a=new I(this);switch(this.b.X){case Z.X:J(a,0,[this.h,this.f,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.X){case wc.X:return!0;case Z.X:return this.h=b[0],zc(this,this.h&Z.ea.Ab),this.f=b[1],this.m=b[2],!0}return!1};function zc(a,b){for(var c in a.b.Da){var d=a.B["led-"+c];if(d){var e=a.b.Da[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}} l.save=function(){var a=new I(this);switch(this.b.X){case Z.X:J(a,0,[this.h,this.f,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.X){case wc.X:return!0;case Z.X:return this.h=b[0],zc(this,this.h&Z.ea.Ab),this.f=b[1],this.m=b[2],!0}return!1};function zc(a,b){for(var c in a.b.Da){var d=a.B["led-"+c];if(d){var e=a.b.Da[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
function xc(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.b.xb[e]||e,!a.b.g[e]){for(var f in a.b.pa)if(a.b.pa[f]===e){e=f;break a}e=null}e&&(d=yc(a,e,c),b.preventDefault());return d} function xc(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.b.xb[e]||e,!a.b.g[e]){for(var f in a.b.pa)if(a.b.pa[f]===e){e=f;break a}e=null}e&&(d=yc(a,e,c),b.preventDefault());return d}
function yc(a,b,c){var d;a:{for(d=0;d<a.c.length;d++)if(a.c[d].vb==b)break a;d=-1}if(c)0>d?a.c.push({vb:b,qb:Date.now(),Ta:!1}):(a.c[d].qb=Date.now(),a.c[d].Ta=!1);else if(0<=d){if(!a.c[d].Ta){var e=a.c[d].qb;if(e&&100>Date.now()-e)return a.c[d].Ta=!0,Bc(a),!0}a.c.splice(d,1)}if(a.L){d=0;switch(b){case "1p":d=X.qa.uc;break;case "2p":d=X.qa.yc;break;case "coin":d=X.qa.ec;break;case "left":d=X.qa.wc;break;case "right":d=X.qa.xc;break;case "fire":d=X.qa.vc}d&&(a=a.L,b=d,a.h&=~b,c&&(a.h|=b))}return!0} function yc(a,b,c){var d;a:{for(d=0;d<a.c.length;d++)if(a.c[d].vb==b)break a;d=-1}if(c)0>d?a.c.push({vb:b,pb:Date.now(),Ta:!1}):(a.c[d].pb=Date.now(),a.c[d].Ta=!1);else if(0<=d){if(!a.c[d].Ta){var e=a.c[d].pb;if(e&&100>Date.now()-e)return a.c[d].Ta=!0,Ac(a),!0}a.c.splice(d,1)}if(a.L){d=0;switch(b){case "1p":d=X.qa.uc;break;case "2p":d=X.qa.yc;break;case "coin":d=X.qa.ec;break;case "left":d=X.qa.wc;break;case "right":d=X.qa.xc;break;case "fire":d=X.qa.vc}d&&(a=a.L,b=d,a.h&=~b,c&&(a.h|=b))}return!0}
function Bc(a){for(var b=0,c=-1;b<a.c.length;){if(a.c[b].Ta){var d=a.c[b].vb,e=100-(Date.now()-a.c[b].qb);if(0<e){if(0>c||c>e)c=e}else{yc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Bc(a)},c)}l.ob=function(){return!0};l.Pc=function(){var a=this.f;0<=this.m&&(this.m<this.c.length?(a=this.c[this.m],this.m++,a=Z.g[a.vb],a&128&&(a&=127)):(this.m=-1,a=Z.mc),this.f=a,dc(this.a,1));return a};l.hd=function(a,b){this.h=b;zc(this,b&Z.ea.Ab);b&Z.ea.Cc&&(this.m=0,dc(this.a,1))};Z.ab={130:uc.prototype.Pc}; function Ac(a){for(var b=0,c=-1;b<a.c.length;){if(a.c[b].Ta){var d=a.c[b].vb,e=100-(Date.now()-a.c[b].pb);if(0<e){if(0>c||c>e)c=e}else{yc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Ac(a)},c)}l.nb=function(){return!0};l.Pc=function(){var a=this.f;0<=this.m&&(this.m<this.c.length?(a=this.c[this.m],this.m++,a=Z.g[a.vb],a&128&&(a&=127)):(this.m=-1,a=Z.mc),this.f=a,dc(this.a,1));return a};l.hd=function(a,b){this.h=b;zc(this,b&Z.ea.Ab);b&Z.ea.Cc&&(this.m=0,dc(this.a,1))};Z.ab={130:uc.prototype.Pc};
Z.bb={130:uc.prototype.hd};wa(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new uc(d);Na(d,c)}}); Z.bb={130:uc.prototype.hd};wa(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new uc(d);Na(d,c)}});
function Cc(a,b,c,d,e){var f=this;this.Lb=ra("Gecko/");var h=["","moz","ms","webkit"];r.call(this,"Video",a,Cc);this.C=a.screenWidth;this.w=a.screenHeight;this.U=a.bufferAddr;this.Rc=a.bufferRAM;var g=a.bufferFormat;this.L=g&&Dc[g.toUpperCase()]||Ec;this.H=a.bufferCols;this.I=a.bufferRows;this.Gb=this.R=a.cellWidth||1;this.P=a.cellHeight||1;this.da=null;this.Jb=!1;this.Ra=a.bufferBits||1;this.Sc=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.M("unsupported buffer rotation: "+ function Cc(a,b,c,d,e){var f=this;this.Lb=ra("Gecko/");var h=["","moz","ms","webkit"];r.call(this,"Video",a,Cc);this.C=a.screenWidth;this.w=a.screenHeight;this.U=a.bufferAddr;this.Rc=a.bufferRAM;var g=a.bufferFormat;this.L=g&&Dc[g.toUpperCase()]||Ec;this.H=a.bufferCols;this.I=a.bufferRows;this.Gb=this.R=a.cellWidth||1;this.P=a.cellHeight||1;this.da=null;this.Jb=!1;this.Ra=a.bufferBits||1;this.Sc=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.M("unsupported buffer rotation: "+
this.c),this.c=0);this.mb=a.interruptRate;this.Tc=a.refreshRate||60;this.v=b;this.f=c;this.$=(this.Vc=d)||b||null;this.Hc=this.C;this.Qc=this.w;this.Hb=this.C/this.H|0;this.Ib=this.w/this.I|0;1<this.P&&(this.I++,this.gb=0,this.ib=!1);b=a.smoothing;(c=Ca.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.M("unsupported screen rotation: "+ this.c),this.c=0);this.lb=a.interruptRate;this.Tc=a.refreshRate||60;this.v=b;this.f=c;this.$=(this.Vc=d)||b||null;this.Hc=this.C;this.Qc=this.w;this.Hb=this.C/this.H|0;this.Ib=this.w/this.I|0;1<this.P&&(this.I++,this.fb=0,this.hb=!1);b=a.smoothing;(c=Ca.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.M("unsupported screen rotation: "+
this.h),this.h=0):(this.f.translate(0,this.w),this.f.rotate(this.h*Math.PI/180),this.f.scale(this.w/this.C,this.C/this.w));if(this.b=e)if(this.b.ya=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.ya){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Fc(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1); this.h),this.h=0):(this.f.translate(0,this.w),this.f.rotate(this.h*Math.PI/180),this.f.scale(this.w/this.C,this.C/this.w));if(this.b=e)if(this.b.ya=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.ya){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Fc(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(){Fc(f,null)},!1);break}}if(this.J=a.fontROM)"json"!=ca(this.J)&&(this.J=ka()+"/api/v1/dump?file="+this.J+"&format=bytes"),p(this.J,null,!0,function(a,b,c){Gc(f,a,b,c)});this.lb={}}y(Cc);var Ec=0,Dc={SI1978:1,VT100:2}; break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Fc(f,null)},!1);break}}if(this.J=a.fontROM)"json"!=ca(this.J)&&(this.J=ka()+"/api/v1/dump?file="+this.J+"&format=bytes"),p(this.J,null,!0,function(a,b,c){Gc(f,a,b,c)});this.kb={}}y(Cc);var Ec=0,Dc={SI1978:1,VT100:2};
function lc(a){a.s=a.H*a.R;a.G=a.I*a.P;var b=a.s,c=a.G;a.c&&(b=a.G,c=a.s);a.A=0;if(!a.Rc&&(a.A=(a.s*a.Ra>>3)*a.G,!Wa(a.m,a.U,a.A,3)))return!1;a.A?(a.Qb=a.f.createImageData(b,c),a.Tb=16/a.Ra|0,Hc(a,a.A>>1)):Hc(a,(a.H+1)*a.I);a.u=document.createElement("canvas");a.u.width=b;a.u.height=c;a.hb=a.u.getContext("2d");a.O={};a.aa=1<<a.Ra;a.T=Array(a.aa+2);a.T[0]=[0,0,0,255];a.T[1]=[255,255,255,255];1==a.L&&(a.T[a.aa+0]=[255,255,0,255],a.T[a.aa+1]=[0,255,0,255]);2==a.L&&(a.tb=60,a.jb=!1,a.ma=Array(a.H));return!0} function lc(a){a.s=a.H*a.R;a.G=a.I*a.P;var b=a.s,c=a.G;a.c&&(b=a.G,c=a.s);a.A=0;if(!a.Rc&&(a.A=(a.s*a.Ra>>3)*a.G,!Wa(a.m,a.U,a.A,3)))return!1;a.A?(a.Qb=a.f.createImageData(b,c),a.Tb=16/a.Ra|0,Hc(a,a.A>>1)):Hc(a,(a.H+1)*a.I);a.u=document.createElement("canvas");a.u.width=b;a.u.height=c;a.gb=a.u.getContext("2d");a.O={};a.aa=1<<a.Ra;a.T=Array(a.aa+2);a.T[0]=[0,0,0,255];a.T[1]=[255,255,255,255];1==a.L&&(a.T[a.aa+0]=[255,255,0,255],a.T[a.aa+1]=[0,255,0,255]);2==a.L&&(a.sb=60,a.ib=!1,a.ma=Array(a.H));return!0}
Cc.prototype.la=function(a,b,c,d){this.l=a;this.m=b;this.a=c;this.N=d;lc(this);if(this.o=E(a,"Keyboard")){for(var e in this.lb)this.o.S("led",e,this.lb[e]);this.v&&this.o.S(this.Vc?"textarea":"canvas","kbd",this.$)}this.J||D(this)}; Cc.prototype.la=function(a,b,c,d){this.l=a;this.m=b;this.a=c;this.N=d;lc(this);if(this.o=E(a,"Keyboard")){for(var e in this.kb)this.o.S("led",e,this.kb[e]);this.v&&this.o.S(this.Vc?"textarea":"canvas","kbd",this.$)}this.J||D(this)};
function Gc(a,b,c,d){if(d)a.M("Unable to load font ROM (error "+d+": "+b+")");else{Ja(a.kb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){q("Empty font ROM: "+b);return}if(1==f.length){q(f[0]);return}if(2048==f.length)a.da=f,mc(a);else{a.M("Unrecognized font data length ("+f.length+")");return}}catch(h){a.M("Font ROM data error: "+h.message);return}(a.f||a.N)&&D(a)}} function Gc(a,b,c,d){if(d)a.M("Unable to load font ROM (error "+d+": "+b+")");else{Ja(a.jb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){q("Empty font ROM: "+b);return}if(1==f.length){q(f[0]);return}if(2048==f.length)a.da=f,mc(a);else{a.M("Unrecognized font data length ("+f.length+")");return}}catch(h){a.M("Font ROM data error: "+h.message);return}(a.f||a.N)&&D(a)}}
function mc(a){a.da&&(a.Jb=2==a.L,a.O[96]=[Ic(a,a.R,a.P),Ic(a,a.R,a.P,a.jb)],a.O[64]=[Ic(a,2*a.R,a.P),Ic(a,2*a.R,a.P,a.jb)],a.O[32]=a.O[0]=[Ic(a,2*a.R,2*a.P),Ic(a,2*a.R,2*a.P,a.jb)])} function mc(a){a.da&&(a.Jb=2==a.L,a.O[96]=[Ic(a,a.R,a.P),Ic(a,a.R,a.P,a.ib)],a.O[64]=[Ic(a,2*a.R,a.P),Ic(a,2*a.R,a.P,a.ib)],a.O[32]=a.O[0]=[Ic(a,2*a.R,2*a.P),Ic(a,2*a.R,2*a.P,a.ib)])}
function Ic(a,b,c,d){var e=8>=a.Gb?8:16,f=8<e?15:0,h=a.da.length/e,g=!1===d,k={R:b,P: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 m=k.context.createImageData(b,c),v=0;v<h;v++){for(var u=0,x=u;u<a.P;u++)for(var B=v*e+(f+u&e-1),B=d&&8==u?255:a.da[B],t=0;t<c/a.P;t++){for(var C=0,H=0,V=H;H<a.R;H++){for(var Q=B&128>>(7<H?7:H),C=a.Jb&&!Q&&C?C:Q,la=0;la<b/a.R;la++)g&&(C=!C),Jc(a,m,V,x,C?1:0),V++;C=Q}x++}k.context.putImageData(m, function Ic(a,b,c,d){var e=8>=a.Gb?8:16,f=8<e?15:0,h=a.da.length/e,g=!1===d,k={R:b,P: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 m=k.context.createImageData(b,c),v=0;v<h;v++){for(var u=0,x=u;u<a.P;u++)for(var B=v*e+(f+u&e-1),B=d&&8==u?255:a.da[B],t=0;t<c/a.P;t++){for(var C=0,H=0,V=H;H<a.R;H++){for(var Q=B&128>>(7<H?7:H),C=a.Jb&&!Q&&C?C:Q,la=0;la<b/a.R;la++)g&&(C=!C),Jc(a,m,V,x,C?1:0),V++;C=Q}x++}k.context.putImageData(m,
(v&15)*b,(v>>4)*c)}return k} (v&15)*b,(v>>4)*c)}return k}
Cc.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.U,c=-1,d=-1,e,f=-(60==this.tb?2:5);f<this.I;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.m,b++,e);ab(this.m,b++,c&255); Cc.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.U,c=-1,d=-1,e,f=-(60==this.sb?2:5);f<this.I;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.m,b++,e);ab(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++)ab(this.m,b++,g.charCodeAt(k)|c);c^=128}ab(this.m,b++,127);c=b}Kc(this)}return!0};Cc.prototype.S=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.lb[b]=c,!0;switch(b){case "fullScreen":return this.B[b]=c,this.b&&this.b.ya?c.onclick=function(){d.ya()}: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++)ab(this.m,b++,g.charCodeAt(k)|c);c^=128}ab(this.m,b++,127);c=b}Kc(this)}return!0};Cc.prototype.S=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.kb[b]=c,!0;switch(b){case "fullScreen":return this.B[b]=c,this.b&&this.b.ya?c.onclick=function(){d.ya()}:c.parentNode.removeChild(c),!0}return!1};
Cc.prototype.ya=function(){var a=!1;if(this.b){if(this.b.ya){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.w;b>c&&(a=Math.round(c/b*100)+"%")}this.Lb?(this.v.style.width=a,this.v.style.width=a,this.v.style.display="block",this.v.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.ya();a=!0}this.$&&this.$.focus()}return a}; Cc.prototype.ya=function(){var a=!1;if(this.b){if(this.b.ya){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.w;b>c&&(a=Math.round(c/b*100)+"%")}this.Lb?(this.v.style.width=a,this.v.style.width=a,this.v.style.display="block",this.v.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.ya();a=!0}this.$&&this.$.focus()}return a};
function Fc(a,b){!b&&a.b&&(a.Lb?a.v.style.width=a.v.style.height="":a.b.style.width=a.b.style.height="")}function Hc(a,b){a.Rb=b;a.Z=!1;if(void 0===a.i||a.i.length!=a.Rb)a.i=Array(a.Rb)}function Jc(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.aa+0:28<=c&&72>c&&(e=a.aa+1));a=a.T[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 Fc(a,b){!b&&a.b&&(a.Lb?a.v.style.width=a.v.style.height="":a.b.style.width=a.b.style.height="")}function Hc(a,b){a.Rb=b;a.Z=!1;if(void 0===a.i||a.i.length!=a.Rb)a.i=Array(a.Rb)}function Jc(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.aa+0:28<=c&&72>c&&(e=a.aa+1));a=a.T[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 Kc(a,b){for(var c=a.U,d=-1,e=0,f=60==a.tb?2:5,h=0,g=0,k=-1;e<a.I;){var m=0,v=c,u=d,x=a.H;for(96!=u&&(x>>=1);;){var B=Za(a.m,v++);if(127==(B&127)){var t=Za(a.m,v++),d=t&96,c=(t&15)<<8|Za(a.m,v),c=c+(t&16?8192:16384);break}if(m<x)a.ma[m++]=B;else break}if(f)f--;else{for(;m<a.ma.length;)a.ma[m++]=0;if(0<=u)for(v=a.Z&&a.i[h]==x,a.i[h++]=x,x=0;x<m;x++){B=a.ma[x];if(!v||B!==a.i[h]){a.i[k=h]=B;var t=a,C=a.hb,H=B&127;if(B=t.O[u][B&128?1:0]){var V=(H&15)*B.R,H=(H>>4)*B.P,Q=void 0,la=void 0,Da=void 0, function Kc(a,b){for(var c=a.U,d=-1,e=0,f=60==a.sb?2:5,h=0,g=0,k=-1;e<a.I;){var m=0,v=c,u=d,x=a.H;for(96!=u&&(x>>=1);;){var B=Za(a.m,v++);if(127==(B&127)){var t=Za(a.m,v++),d=t&96,c=(t&15)<<8|Za(a.m,v),c=c+(t&16?8192:16384);break}if(m<x)a.ma[m++]=B;else break}if(f)f--;else{for(;m<a.ma.length;)a.ma[m++]=0;if(0<=u)for(v=a.Z&&a.i[h]==x,a.i[h++]=x,x=0;x<m;x++){B=a.ma[x];if(!v||B!==a.i[h]){a.i[k=h]=B;var t=a,C=a.gb,H=B&127;if(B=t.O[u][B&128?1:0]){var V=(H&15)*B.R,H=(H>>4)*B.P,Q=void 0,la=void 0,Da=void 0,
gb=void 0,Ac=B.R,Jb=B.P;C?(Q=x*t.R,la=e*t.P,Da=t.R,gb=t.P):(Q=x*t.Hb,la=e*t.Ib,Da=t.Hb,gb=t.Ib);B.R>t.R&&(Q*=2,Da*=2);B.P>t.P&&(0==u&&(H+=t.P),Jb=t.P);C?C.drawImage(B.canvas,V,H,Ac,Jb,Q,la,Da,gb):(Q+=0,la+=0,t.f.drawImage(B.canvas,V,H,Ac,Jb,Q,la,Da,gb))}g++}h++}e++}}a.Z=!0;!b&&a.ib&&1==g&&(a.i[k]=-1,g=0);a.ib=!1;(g||b)&&a.hb&&a.f.drawImage(a.u,0,a.gb,a.s,a.G-a.P,0,0,a.Hc,a.Qc)} gb=void 0,Bc=B.R,Jb=B.P;C?(Q=x*t.R,la=e*t.P,Da=t.R,gb=t.P):(Q=x*t.Hb,la=e*t.Ib,Da=t.Hb,gb=t.Ib);B.R>t.R&&(Q*=2,Da*=2);B.P>t.P&&(0==u&&(H+=t.P),Jb=t.P);C?C.drawImage(B.canvas,V,H,Bc,Jb,Q,la,Da,gb):(Q+=0,la+=0,t.f.drawImage(B.canvas,V,H,Bc,Jb,Q,la,Da,gb))}g++}h++}e++}}a.Z=!0;!b&&a.hb&&1==g&&(a.i[k]=-1,g=0);a.hb=!1;(g||b)&&a.gb&&a.f.drawImage(a.u,0,a.fb,a.s,a.G-a.P,0,0,a.Hc,a.Qc)}
function kc(a,b){var c=!0,d=!0;if(0<=b){d=!1;a.mb&&(120==a.mb?b&1?(dc(a.a,2),c=!1):dc(a.a,1):dc(a.a,4));var e;if(e=c&&a.Z&&a.A){e=a.m;for(var f=a.A,h=!0,g=a.U>>>e.c;0<f&&g<e.b.length;)e.b[g].ja&&(e.b[g].ja=h=!1,e.b[g].Nb=!0),f-=e.m,g++;e=h}e&&(c=!1)}if(c)if(1<a.R)switch(a.L){case 2:Kc(a,d)}else{var f=a.U,h=f+a.A,k=g=0,m=0,c=a.s,v=0,d=a.G,u=e=0,x=a.Ra,B=(1<<x)-1;a.Sc&&(x=-x,u=16+x);for(;f<h;){var t;t=a.m;var C=f,H=C&t.l,V=(C&t.f)>>>t.c;t=H!=t.l?t.b[V].Yb(H,C):t.b[V++].cb(H,C)|t.b[V&t.u].cb(0,C+1)<< function kc(a,b){var c=!0,d=!0;if(0<=b){d=!1;a.lb&&(120==a.lb?b&1?(dc(a.a,2),c=!1):dc(a.a,1):dc(a.a,4));var e;if(e=c&&a.Z&&a.A){e=a.m;for(var f=a.A,h=!0,g=a.U>>>e.c;0<f&&g<e.b.length;)e.b[g].ja&&(e.b[g].ja=h=!1,e.b[g].Nb=!0),f-=e.m,g++;e=h}e&&(c=!1)}if(c)if(1<a.R)switch(a.L){case 2:Kc(a,d)}else{var f=a.U,h=f+a.A,k=g=0,m=0,c=a.s,v=0,d=a.G,u=e=0,x=a.Ra,B=(1<<x)-1;a.Sc&&(x=-x,u=16+x);for(;f<h;){var t;t=a.m;var C=f,H=C&t.l,V=(C&t.f)>>>t.c;t=H!=t.l?t.b[V].Yb(H,C):t.b[V++].cb(H,C)|t.b[V&t.u].cb(0,C+1)<<
8;if(a.Z&&t===a.i[g])k+=a.Tb;else{a.i[g]=t;(C=u)&&(t=t>>8|(t&255)<<8);k<c&&(c=k);for(H=a.Tb;H--;)V=t>>C&B,Jc(a,a.Qb,k++,m,V),C+=x;k>v&&(v=k);m<d&&(d=m);m>=e&&(e=m+1)}f+=2;g++;if(k>=a.s&&(k=0,m++,m>a.G))break}a.Z=!0;c<a.s&&(f=v-c,e-=d,a.c&&(h=c,g=f,c=d,f=e,d=a.s-(h+g),e=g),a.hb.putImageData(a.Qb,0,0,c,d,f,e),a.f.drawImage(a.u,0,0,a.u.width,a.u.height,0,0,a.C,a.w))}} 8;if(a.Z&&t===a.i[g])k+=a.Tb;else{a.i[g]=t;(C=u)&&(t=t>>8|(t&255)<<8);k<c&&(c=k);for(H=a.Tb;H--;)V=t>>C&B,Jc(a,a.Qb,k++,m,V),C+=x;k>v&&(v=k);m<d&&(d=m);m>=e&&(e=m+1)}f+=2;g++;if(k>=a.s&&(k=0,m++,m>a.G))break}a.Z=!0;c<a.s&&(f=v-c,e-=d,a.c&&(h=c,g=f,c=d,f=e,d=a.s-(h+g),e=g),a.gb.putImageData(a.Qb,0,0,c,d,f,e),a.f.drawImage(a.u,0,0,a.u.width,a.u.height,0,0,a.C,a.w))}}
wa(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<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a, wa(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<=(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||Ca.aspect);f&&.3<=f&&3.33>=f&&(va("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");ra("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Cc(d,e,h,f,c);Na(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||Ca.aspect);f&&.3<=f&&3.33>=f&&(va("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");ra("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Cc(d,e,h,f,c);Na(d,c)}});
function Lc(a){this.H=+a.adapter;switch(this.H){case 0:this.I=0;this.O=2;break;default:q("Unrecognized serial adapter #"+this.H);return}this.c=this.f=null;this.J=a.tabSize;this.G=a.charBOL;this.h=0;r.call(this,"SerialPort",a,Lc);var b=a.binding;if("console"==b)this.f="";else{var c;a=Mc;b&&(void 0===c&&(c="Panel"),(c=Ma(c,this.id))&&(b=c.B[b])&&this.S(null,a,b))}this.s=this.A=null;this.exports={receiveByte:this.eb}}y(Lc); function Lc(a){this.H=+a.adapter;switch(this.H){case 0:this.I=0;this.O=2;break;default:q("Unrecognized serial adapter #"+this.H);return}this.c=this.f=null;this.J=a.tabSize;this.G=a.charBOL;this.h=0;r.call(this,"SerialPort",a,Lc);var b=a.binding;if("console"==b)this.f="";else{var c;a=Mc;b&&(void 0===c&&(c="Panel"),(c=Ma(c,this.id))&&(b=c.B[b])&&this.S(null,a,b))}this.i="";this.s=this.A=null;this.exports={receiveData:this.tb}}y(Lc);
var Nc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Oc=[!1,0,0,133,142,39,238],Mc="buffer";l=Lc.prototype; var Nc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Oc=[!1,0,0,133,142,39,238],Mc="buffer";l=Lc.prototype;
l.S=function(a,b,c,d){var e=this;switch(b){case Mc:return this.B[b]=this.c=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),e.eb(b);return!0},c.onkeypress=function(a){a=a||window.event;e.eb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.B[b]=c,d=d.replace(/\\n/g,"\n").replace(/\\r/g,"\r"),c.onclick=function(){e.o=d;Pc(e);e.l&& l.S=function(a,b,c,d){var e=this;switch(b){case Mc:return this.B[b]=this.c=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),Pc(e,b);return!0},c.onkeypress=function(a){a=a||window.event;Pc(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.B[b]=c,d=d.replace(/\\n/g,"\n").replace(/\\r/g,"\r"),c.onclick=function(){e.tb(d);e.l&&Fb(e.l);
Fb(e.l);return!0},!0}return!1};l.la=function(a,b,c,d){this.l=a;this.m=b;this.a=c;this.N=d;var e=this;this.T=Gb(this.a,function(){Pc(e)});this.U=Gb(this.a,function(){e.b|=5});this.L=E(a,"ChipSet");cb(b,this,Qc,this.I);db(b,this,Rc,this.I);Sc(this);D(this)};function Sc(a){var b=vb(a.l,"connection");if(b){var c=b.split("=");2==c.length&&(b=ga(c[0]),c=ga(c[1]),b==a.Qa&&(a.s=La(c),a.s&&(b=a.s.exports)))&&(a.A=b.receiveByte)}} return!0},!0}return!1};l.la=function(a,b,c,d){this.l=a;this.m=b;this.a=c;this.N=d;var e=this;this.T=Gb(this.a,function(){e.tb()});this.U=Gb(this.a,function(){e.b|=5});this.L=E(a,"ChipSet");cb(b,this,Qc,this.I);db(b,this,Rc,this.I);Sc(this);D(this)};function Sc(a){var b=vb(a.l,"connection");if(b){var c=b.split("=");2==c.length&&(b=ga(c[0]),c=ga(c[1]),b==a.Qa&&(a.s=La(c),a.s&&(b=a.s.exports)))&&(a.A=b.receiveData)}}
l.ca=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.reset=function(){Tc(this)};l.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.fa;c[b++]=this.w;c[b++]=this.C;c[b++]=this.b;c[b++]=this.i;c[b++]=this.v;c[b]=this.u;J(a,0,c);return a.data()};l.restore=function(a){return Tc(this,a[0])}; l.ca=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.reset=function(){Tc(this)};l.save=function(){var a=new I(this),b=0,c=[];c[b++]=this.fa;c[b++]=this.w;c[b++]=this.C;c[b++]=this.b;c[b++]=this.o;c[b++]=this.v;c[b]=this.u;J(a,0,c);return a.data()};l.restore=function(a){return Tc(this,a[0])};
function Tc(a,b){var c=0;void 0===b&&(b=Oc);a.fa=b[c++];a.w=b[c++];a.C=b[c++];a.b=b[c++];a.i=b[c++];a.v=b[c++];a.u=b[c];return!0}function Uc(a,b){var c=a.u&b;b&15||(c>>=4);var c=Nc[c],d=((a.i&12)>>2)+6;a.i&16&&d++;d+=((a.i&192)>>6)+1>>1;return 1E3/Math.round(c/d)}l.eb=function(a){return this.b&2?!1:(this.w=a,this.b|=2,dc(this.a,this.O),!0)};function Pc(a){a.o&&(a.eb(a.o.charCodeAt(0))&&(a.o=a.o.substr(1)),a.o&&a.a&&Hb(a.a,a.T,Uc(a,15)))}l.ob=function(){return!!(this.b&1)}; function Tc(a,b){var c=0;void 0===b&&(b=Oc);a.fa=b[c++];a.w=b[c++];a.C=b[c++];a.b=b[c++];a.o=b[c++];a.v=b[c++];a.u=b[c];return!0}function Uc(a,b){var c=a.u&b;b&15||(c>>=4);var c=Nc[c],d=((a.o&12)>>2)+6;a.o&16&&d++;d+=((a.o&192)>>6)+1>>1;return 1E3/Math.round(c/d)}function Pc(a,b){return a.b&2?!1:(a.w=b,a.b|=2,dc(a.a,a.O),!0)}
l.Jc=function(){var a=this.w;this.b&=-3;return a};l.Ic=function(){return this.b}; l.tb=function(a){null!=a&&(this.i="number"!=typeof a?a:this.i+String.fromCharCode(a));this.i&&(Pc(this,this.i.charCodeAt(0))&&(this.i=this.i.substr(1)),this.i&&this.a&&Hb(this.a,this.T,Uc(this,15)))};l.nb=function(){return!!(this.b&1)};l.Jc=function(){var a=this.w;this.b&=-3;return a};l.Ic=function(){return this.b};
l.Yc=function(a,b){this.C=b;this.b&=-6;this.A&&this.A.call(this.s,b);if(this.c)if(8==b)this.c.value=this.c.value.slice(0,-1),0<this.h&&this.h--;else{var c;c=(c=ha[b])?"<"+c+">":String.fromCharCode(b);var d=c.length;9==b?(d=this.J||8,d=d-this.h%d,this.J&&(c=" ".slice(0,d))):13==b&&(this.h=d=0,c="\n");this.G&&!this.h&&d&&(c=String.fromCharCode(this.G)+c);this.c.value+=c;this.c.scrollTop=this.c.scrollHeight;this.h+=d}else if(null!=this.f){if(10==b||1024<=this.f.length)this.ba(this.f), l.Yc=function(a,b){this.C=b;this.b&=-6;this.A&&this.A.call(this.s,b);if(this.c)if(8==b)this.c.value=this.c.value.slice(0,-1),0<this.h&&this.h--;else{var c;c=(c=ha[b])?"<"+c+">":String.fromCharCode(b);var d=c.length;9==b?(d=this.J||8,d=d-this.h%d,this.J&&(c=" ".slice(0,d))):13==b&&(this.h=d=0,c="\n");this.G&&!this.h&&d&&(c=String.fromCharCode(this.G)+c);this.c.value+=c;this.c.scrollTop=this.c.scrollHeight;this.h+=d}else if(null!=this.f){if(10==b||1024<=this.f.length)this.ba(this.f),
this.f="";10!=b&&(this.f+=String.fromCharCode(b))}this.a&&Hb(this.a,this.U,Uc(this,240))};l.Xc=function(a,b){this.fa?(this.v=b,this.v&64&&(this.fa=!1)):(this.i=b,this.fa=!0)};l.Wc=function(a,b){this.u=b};var Qc={0:Lc.prototype.Jc,1:Lc.prototype.Ic},Rc={0:Lc.prototype.Yc,1:Lc.prototype.Xc,2:Lc.prototype.Wc};wa(function(){for(var a=A(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Lc(d);Na(d,c)}});function I(a,b,c){this.id=a.id;this.key=Vc(a,b,c);this.N=a.N;Wc(this,a.Xb)} this.f="";10!=b&&(this.f+=String.fromCharCode(b))}this.a&&Hb(this.a,this.U,Uc(this,240))};l.Xc=function(a,b){this.fa?(this.v=b,this.v&64&&(this.fa=!1)):(this.o=b,this.fa=!0)};l.Wc=function(a,b){this.u=b};var Qc={0:Lc.prototype.Jc,1:Lc.prototype.Ic},Rc={0:Lc.prototype.Yc,1:Lc.prototype.Xc,2:Lc.prototype.Wc};wa(function(){for(var a=A(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Lc(d);Na(d,c)}});function I(a,b,c){this.id=a.id;this.key=Vc(a,b,c);this.N=a.N;Wc(this,a.Xb)}
function Vc(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 Vc(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){Wc(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}}}; 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){Wc(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 Wc(a,b){a[a.id]={};b&&J(a,"parms",b);a.a=!1}function Xc(a){var b=!0;if(oa()){var c=JSON.stringify(a[a.id]);qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Yc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function Zc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:oa()&&(b=pa(a.key))?(a[a.id]=b,a.a=!0):!1}function $c(a,b){return a[a.id][b]||null}function J(a,b,c){try{a[a.id][b]=c}catch(d){}} function Wc(a,b){a[a.id]={};b&&J(a,"parms",b);a.a=!1}function Xc(a){var b=!0;if(oa()){var c=JSON.stringify(a[a.id]);qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Yc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function Zc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:oa()&&(b=pa(a.key))?(a[a.id]=b,a.a=!0):!1}function $c(a,b){return a[a.id][b]||null}function J(a,b,c){try{a[a.id][b]=c}catch(d){}}
function ad(a,b,c){r.call(this,"Computer",a,ad);this.j.V=!1;bd(this,b);this.A=vb(this,"autoPower",a);this.l=0;this.L=a.busWidth||a.buswidth;this.b=cd;this.v=null;this.o=this.H=!1;this.I=vb(this,"url")||"";(Math.random()+.1).toString(36);this.c=dd(this);if(this.a=Ma("CPU",this.id)){this.N=Ma("Debugger",this.id);this.i=[];for(b=null;b=E(this,"Video",b);)this.i.push(b);this.m=new Ua({id:this.kb+".bus",busWidth:this.L},this.a,this.N);var d,e=Ka(this.id);if((this.f=Ma("Panel",this.id))&&this.f.na)for(b= function ad(a,b,c){r.call(this,"Computer",a,ad);this.j.V=!1;bd(this,b);this.A=vb(this,"autoPower",a);this.l=0;this.L=a.busWidth||a.buswidth;this.b=cd;this.v=null;this.o=this.H=!1;this.I=vb(this,"url")||"";(Math.random()+.1).toString(36);this.c=dd(this);if(this.a=Ma("CPU",this.id)){this.N=Ma("Debugger",this.id);this.i=[];for(b=null;b=E(this,"Video",b);)this.i.push(b);this.m=new Ua({id:this.jb+".bus",busWidth:this.L},this.a,this.N);var d,e=Ka(this.id);if((this.f=Ma("Panel",this.id))&&this.f.na)for(b=
0;b<e.length;b++)d=e[b],d.M=this.f.M,d.ba=this.f.ba,d.na=this.f.na;this.ba("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.la&&d.la(this,this.m,this.a,this.N);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.u=d:this.b=parseInt(d,10));var f;if(a=vb(this,"state")||(f=!0,a.state))b=this.C=a,f||(this.o=!0,this.b=cd),this.b&&(this.w=new I(this,"1.23.3"),Zc(this.w)?b=null:delete this.w); 0;b<e.length;b++)d=e[b],d.M=this.f.M,d.ba=this.f.ba,d.na=this.f.na;this.ba("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.la&&d.la(this,this.m,this.a,this.N);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.u=d:this.b=parseInt(d,10));var f;if(a=vb(this,"state")||(f=!0,a.state))b=this.C=a,f||(this.o=!0,this.b=cd),this.b&&(this.w=new I(this,"1.23.3"),Zc(this.w)?b=null:delete this.w);
!b&&this.b&&(b=ed(this))&&(this.o=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.u=null,h.o=!1,h.M("Unable to load machine state from server (error "+c+(b?": "+ga(b):"")+")")):(h.v=b,h.H=!0);D(h)})}else D(this);this.B.power||(this.A=!0);!c&&this.A&&fd(this,this.Ma)}else q("Unable to find CPU component")}y(ad);var cd=0;function bd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.s=b} !b&&this.b&&(b=ed(this))&&(this.o=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.u=null,h.o=!1,h.M("Unable to load machine state from server (error "+c+(b?": "+ga(b):"")+")")):(h.v=b,h.H=!0);D(h)})}else D(this);this.B.power||(this.A=!0);!c&&this.A&&fd(this,this.Ma)}else q("Unable to find CPU component")}y(ad);var cd=0;function bd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.s=b}
function vb(a,b,c){var d=b.toLowerCase(),d=Ca[b]||Ca[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 fd(a,b,c){for(var d=Ka(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Pa(f)){Pa(f,function(){fd(a,b,c)});return}}b.call(a,c)} function vb(a,b,c){var d=b.toLowerCase(),d=Ca[b]||Ca[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 fd(a,b,c){for(var d=Ka(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Pa(f)){Pa(f,function(){fd(a,b,c)});return}}b.call(a,c)}